Skip to content

Commit 31a9fe7

Browse files
committed
Move tests needing server to IntegrationTests.
Closes #1472.
1 parent b83986e commit 31a9fe7

File tree

3 files changed

+68
-101
lines changed

3 files changed

+68
-101
lines changed

src/test/java/org/springframework/data/couchbase/domain/FluxTest.java renamed to src/test/java/org/springframework/data/couchbase/domain/FluxTestIntegrationTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,17 +66,17 @@
6666
/**
6767
* @author Michael Reiche
6868
*/
69-
@SpringJUnitConfig(FluxTest.Config.class)
69+
@SpringJUnitConfig(FluxTestIntegrationTests.Config.class)
7070
@IgnoreWhen(clusterTypes = ClusterType.MOCKED)
71-
public class FluxTest extends JavaIntegrationTests {
71+
public class FluxTestIntegrationTests extends JavaIntegrationTests {
7272

7373
@BeforeAll
7474
public static void beforeEverything() {
7575
/**
7676
* The couchbaseTemplate inherited from JavaIntegrationTests uses org.springframework.data.couchbase.domain.Config
7777
* It has typeName = 't' (instead of _class). Don't use it.
7878
*/
79-
ApplicationContext ac = new AnnotationConfigApplicationContext(FluxTest.Config.class);
79+
ApplicationContext ac = new AnnotationConfigApplicationContext(FluxTestIntegrationTests.Config.class);
8080
couchbaseTemplate = (CouchbaseTemplate) ac.getBean(BeanNames.COUCHBASE_TEMPLATE);
8181
reactiveCouchbaseTemplate = (ReactiveCouchbaseTemplate) ac.getBean(BeanNames.REACTIVE_COUCHBASE_TEMPLATE);
8282
collection = couchbaseTemplate.getCouchbaseClientFactory().getBucket().defaultCollection();

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

Lines changed: 64 additions & 0 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;
@@ -149,6 +151,68 @@ queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContext
149151
}
150152
}
151153

154+
155+
@Test
156+
void createsQueryCorrectly() throws Exception {
157+
String input = "getByFirstnameAndLastname";
158+
Method method = UserRepository.class.getMethod(input, String.class, String.class);
159+
160+
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
161+
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
162+
converter.getMappingContext());
163+
164+
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
165+
queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
166+
167+
Query query = creator.createQuery();
168+
assertEquals(
169+
"SELECT `_class`, META(`" + bucketName()
170+
+ "`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`"
171+
+ bucketName() + "`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `" + bucketName()
172+
+ "` where `_class` = \"abstractuser\" and firstname = $1 and lastname = $2",
173+
query.toN1qlSelectString(couchbaseTemplate.reactive(), null, null, User.class, User.class, false, null, null));
174+
}
175+
176+
@Test
177+
void createsQueryCorrectly2() throws Exception {
178+
String input = "getByFirstnameOrLastname";
179+
Method method = UserRepository.class.getMethod(input, String.class, String.class);
180+
181+
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
182+
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
183+
converter.getMappingContext());
184+
185+
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
186+
queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
187+
188+
Query query = creator.createQuery();
189+
assertEquals(
190+
"SELECT `_class`, META(`" + bucketName()
191+
+ "`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`"
192+
+ bucketName() + "`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `" + bucketName()
193+
+ "` where `_class` = \"abstractuser\" and (firstname = $first or lastname = $last)",
194+
query.toN1qlSelectString(couchbaseTemplate.reactive(), null, null, User.class, User.class, false, null, null));
195+
}
196+
197+
@Test
198+
void spelTests() throws Exception {
199+
String input = "spelTests";
200+
Method method = UserRepository.class.getMethod(input);
201+
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
202+
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
203+
converter.getMappingContext());
204+
205+
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method)), queryMethod,
206+
converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
207+
208+
Query query = creator.createQuery();
209+
210+
String s = query.toN1qlSelectString(couchbaseTemplate.reactive(), "myScope", "myCollection", User.class, null,
211+
false, null, null);
212+
System.out.println("query: " + s);
213+
214+
}
215+
152216
private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values) {
153217
return new ParametersParameterAccessor(params, values);
154218
}

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

Lines changed: 1 addition & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -59,61 +59,16 @@
5959
* @author Michael Nitschinger
6060
* @author Michael Reiche
6161
*/
62-
class StringN1qlQueryCreatorMockedTests extends ClusterAwareIntegrationTests {
62+
class StringN1qlQueryCreatorMockedTests {
6363

6464
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
6565
CouchbaseConverter converter;
66-
CouchbaseTemplate couchbaseTemplate;
6766
static NamedQueries namedQueries = new PropertiesBasedNamedQueries(new Properties());
6867

6968
@BeforeEach
7069
public void beforeEach() {
7170
context = new CouchbaseMappingContext();
7271
converter = new MappingCouchbaseConverter(context);
73-
ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class);
74-
couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE);
75-
}
76-
77-
@Test
78-
void createsQueryCorrectly() throws Exception {
79-
String input = "getByFirstnameAndLastname";
80-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
81-
82-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
83-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
84-
converter.getMappingContext());
85-
86-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
87-
queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
88-
89-
Query query = creator.createQuery();
90-
assertEquals(
91-
"SELECT `_class`, META(`" + bucketName()
92-
+ "`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`"
93-
+ bucketName() + "`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `" + bucketName()
94-
+ "` where `_class` = \"abstractuser\" and firstname = $1 and lastname = $2",
95-
query.toN1qlSelectString(couchbaseTemplate.reactive(), null, null, User.class, User.class, false, null, null));
96-
}
97-
98-
@Test
99-
void createsQueryCorrectly2() throws Exception {
100-
String input = "getByFirstnameOrLastname";
101-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
102-
103-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
104-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
105-
converter.getMappingContext());
106-
107-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
108-
queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
109-
110-
Query query = creator.createQuery();
111-
assertEquals(
112-
"SELECT `_class`, META(`" + bucketName()
113-
+ "`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`"
114-
+ bucketName() + "`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `" + bucketName()
115-
+ "` where `_class` = \"abstractuser\" and (firstname = $first or lastname = $last)",
116-
query.toN1qlSelectString(couchbaseTemplate.reactive(), null, null, User.class, User.class, false, null, null));
11772
}
11873

11974
@Test
@@ -153,25 +108,6 @@ queryMethod, converter, new SpelExpressionParser(), QueryMethodEvaluationContext
153108
fail("should have failed with IllegalArgumentException: query has no inline Query or named Query not found");
154109
}
155110

156-
@Test
157-
void spelTests() throws Exception {
158-
String input = "spelTests";
159-
Method method = UserRepository.class.getMethod(input);
160-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
161-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
162-
converter.getMappingContext());
163-
164-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method)), queryMethod,
165-
converter, new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
166-
167-
Query query = creator.createQuery();
168-
169-
String s = query.toN1qlSelectString(couchbaseTemplate.reactive(), "myScope", "myCollection", User.class, null,
170-
false, null, null);
171-
System.out.println("query: " + s);
172-
173-
}
174-
175111
private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values) {
176112
return new ParametersParameterAccessor(params, values);
177113
}
@@ -180,37 +116,4 @@ private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values)
180116
return new DefaultParameters(method);
181117
}
182118

183-
@Configuration
184-
@EnableCouchbaseRepositories("org.springframework.data.couchbase")
185-
static class Config extends AbstractCouchbaseConfiguration {
186-
187-
@Override
188-
public String getConnectionString() {
189-
return connectionString();
190-
}
191-
192-
@Override
193-
public String getUserName() {
194-
return config().adminUsername();
195-
}
196-
197-
@Override
198-
public String getPassword() {
199-
return config().adminPassword();
200-
}
201-
202-
@Override
203-
public String getBucketName() {
204-
return bucketName();
205-
}
206-
207-
@Override
208-
protected void configureEnvironment(ClusterEnvironment.Builder builder) {
209-
if (config().isUsingCloud()) {
210-
builder.securityConfig(
211-
SecurityConfig.builder().trustManagerFactory(InsecureTrustManagerFactory.INSTANCE).enableTls(true));
212-
}
213-
}
214-
215-
}
216119
}

0 commit comments

Comments
 (0)