Skip to content

Commit 23ab98d

Browse files
committed
Move tests needing server to IntegrationTests.
Closes #1472.
1 parent 1644db0 commit 23ab98d

File tree

2 files changed

+43
-70
lines changed

2 files changed

+43
-70
lines changed

src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorTests.java renamed to src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java

Lines changed: 42 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import org.springframework.data.couchbase.core.query.Query;
4040
import org.springframework.data.couchbase.domain.Airline;
4141
import org.springframework.data.couchbase.domain.AirlineRepository;
42+
import org.springframework.data.couchbase.domain.User;
43+
import org.springframework.data.couchbase.domain.UserRepository;
4244
import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories;
4345
import org.springframework.data.couchbase.util.Capabilities;
4446
import org.springframework.data.couchbase.util.ClusterAwareIntegrationTests;
@@ -61,9 +63,9 @@
6163
* @author Michael Nitschinger
6264
* @author Michael Reiche
6365
*/
64-
@SpringJUnitConfig(StringN1qlQueryCreatorTests.Config.class)
66+
@SpringJUnitConfig(StringN1qlQueryCreatorIntegrationTests.Config.class)
6567
@IgnoreWhen(clusterTypes = ClusterType.MOCKED)
66-
class StringN1qlQueryCreatorTests extends ClusterAwareIntegrationTests {
68+
class StringN1qlQueryCreatorIntegrationTests extends ClusterAwareIntegrationTests {
6769

6870
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
6971
CouchbaseConverter converter;
@@ -114,6 +116,44 @@ queryMethod, converter, config().bucketname(), new SpelExpressionParser(),
114116
}
115117
}
116118

119+
@Test
120+
void createsQueryCorrectly() throws Exception {
121+
String input = "getByFirstnameAndLastname";
122+
Method method = UserRepository.class.getMethod(input, String.class, String.class);
123+
124+
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
125+
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
126+
converter.getMappingContext());
127+
128+
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
129+
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
130+
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
131+
132+
Query query = creator.createQuery();
133+
assertEquals(
134+
"SELECT META(`travel-sample`).id AS __id, META(`travel-sample`).cas AS __cas, `travel-sample`.* FROM `travel-sample` where `_class` = \"org.springframework.data.couchbase.domain.User\" and firstname = $1 and lastname = $2",
135+
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
136+
}
137+
138+
@Test
139+
void createsQueryCorrectly2() throws Exception {
140+
String input = "getByFirstnameOrLastname";
141+
Method method = UserRepository.class.getMethod(input, String.class, String.class);
142+
143+
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
144+
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
145+
converter.getMappingContext());
146+
147+
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
148+
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
149+
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
150+
151+
Query query = creator.createQuery();
152+
assertEquals(
153+
"SELECT META(`travel-sample`).id AS __id, META(`travel-sample`).cas AS __cas, `travel-sample`.* FROM `travel-sample` where `_class` = \"org.springframework.data.couchbase.domain.User\" and (firstname = $first or lastname = $last)",
154+
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
155+
}
156+
117157
private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values) {
118158
return new ParametersParameterAccessor(params, values);
119159
}

src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorMockedTests.java

Lines changed: 1 addition & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2929
import org.springframework.context.annotation.Configuration;
3030
import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
31-
import org.springframework.data.couchbase.core.CouchbaseTemplate;
3231
import org.springframework.data.couchbase.core.convert.CouchbaseConverter;
3332
import org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter;
3433
import org.springframework.data.couchbase.core.mapping.CouchbaseMappingContext;
@@ -55,57 +54,16 @@
5554
* @author Michael Nitschinger
5655
* @author Michael Reiche
5756
*/
58-
class StringN1qlQueryCreatorMockedTests extends ClusterAwareIntegrationTests {
57+
class StringN1qlQueryCreatorMockedTests {
5958

6059
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
6160
CouchbaseConverter converter;
62-
CouchbaseTemplate couchbaseTemplate;
6361
static NamedQueries namedQueries = new PropertiesBasedNamedQueries(new Properties());
6462

6563
@BeforeEach
6664
public void beforeEach() {
6765
context = new CouchbaseMappingContext();
6866
converter = new MappingCouchbaseConverter(context);
69-
ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class);
70-
couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE);
71-
}
72-
73-
@Test
74-
void createsQueryCorrectly() throws Exception {
75-
String input = "getByFirstnameAndLastname";
76-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
77-
78-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
79-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
80-
converter.getMappingContext());
81-
82-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
83-
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
84-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
85-
86-
Query query = creator.createQuery();
87-
assertEquals(
88-
"SELECT META(`travel-sample`).id AS __id, META(`travel-sample`).cas AS __cas, `travel-sample`.* FROM `travel-sample` where `_class` = \"org.springframework.data.couchbase.domain.User\" and firstname = $1 and lastname = $2",
89-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
90-
}
91-
92-
@Test
93-
void createsQueryCorrectly2() throws Exception {
94-
String input = "getByFirstnameOrLastname";
95-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
96-
97-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
98-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
99-
converter.getMappingContext());
100-
101-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
102-
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
103-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
104-
105-
Query query = creator.createQuery();
106-
assertEquals(
107-
"SELECT META(`travel-sample`).id AS __id, META(`travel-sample`).cas AS __cas, `travel-sample`.* FROM `travel-sample` where `_class` = \"org.springframework.data.couchbase.domain.User\" and (firstname = $first or lastname = $last)",
108-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
10967
}
11068

11169
@Test
@@ -153,29 +111,4 @@ private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values)
153111
return new DefaultParameters(method);
154112
}
155113

156-
@Configuration
157-
@EnableCouchbaseRepositories("org.springframework.data.couchbase")
158-
static class Config extends AbstractCouchbaseConfiguration {
159-
160-
@Override
161-
public String getConnectionString() {
162-
return connectionString();
163-
}
164-
165-
@Override
166-
public String getUserName() {
167-
return config().adminUsername();
168-
}
169-
170-
@Override
171-
public String getPassword() {
172-
return config().adminPassword();
173-
}
174-
175-
@Override
176-
public String getBucketName() {
177-
return bucketName();
178-
}
179-
180-
}
181114
}

0 commit comments

Comments
 (0)