Skip to content

Commit 13cd747

Browse files
committed
Move tests needing server to IntegrationTests.
Closes #1472.
1 parent f6ca7c7 commit 13cd747

File tree

2 files changed

+66
-80
lines changed

2 files changed

+66
-80
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: 52 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@
3737
import org.springframework.data.couchbase.core.mapping.CouchbasePersistentEntity;
3838
import org.springframework.data.couchbase.core.mapping.CouchbasePersistentProperty;
3939
import org.springframework.data.couchbase.core.query.Query;
40-
import org.springframework.data.couchbase.domain.*;
40+
import org.springframework.data.couchbase.domain.Airline;
41+
import org.springframework.data.couchbase.domain.AirlineRepository;
42+
import org.springframework.data.couchbase.domain.User;
43+
import org.springframework.data.couchbase.domain.UserRepository;
4144
import org.springframework.data.couchbase.repository.config.EnableCouchbaseRepositories;
4245
import org.springframework.data.couchbase.util.Capabilities;
4346
import org.springframework.data.couchbase.util.ClusterAwareIntegrationTests;
@@ -48,16 +51,21 @@
4851
import org.springframework.data.repository.core.NamedQueries;
4952
import org.springframework.data.repository.core.support.DefaultRepositoryMetadata;
5053
import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries;
51-
import org.springframework.data.repository.query.*;
54+
import org.springframework.data.repository.query.DefaultParameters;
55+
import org.springframework.data.repository.query.ParameterAccessor;
56+
import org.springframework.data.repository.query.Parameters;
57+
import org.springframework.data.repository.query.ParametersParameterAccessor;
58+
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
59+
import org.springframework.expression.spel.standard.SpelExpressionParser;
5260
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
5361

5462
/**
5563
* @author Michael Nitschinger
5664
* @author Michael Reiche
5765
*/
58-
@SpringJUnitConfig(StringN1qlQueryCreatorTests.Config.class)
66+
@SpringJUnitConfig(StringN1qlQueryCreatorIntegrationTests.Config.class)
5967
@IgnoreWhen(clusterTypes = ClusterType.MOCKED)
60-
class StringN1qlQueryCreatorTests extends ClusterAwareIntegrationTests {
68+
class StringN1qlQueryCreatorIntegrationTests extends ClusterAwareIntegrationTests {
6169

6270
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
6371
CouchbaseConverter converter;
@@ -87,10 +95,10 @@ void findUsingStringNq1l() throws Exception {
8795
converter.getMappingContext());
8896

8997
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Continental"),
90-
queryMethod, converter, config().bucketname(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
98+
queryMethod, converter, config().bucketname(),
99+
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
91100

92101
Query query = creator.createQuery();
93-
System.out.println(query.toN1qlSelectString(couchbaseTemplate.reactive(), Airline.class, false));
94102

95103
try {
96104
Thread.sleep(3000);
@@ -108,6 +116,44 @@ void findUsingStringNq1l() throws Exception {
108116
}
109117
}
110118

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",
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",
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+
111157
private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values) {
112158
return new ParametersParameterAccessor(params, values);
113159
}

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

Lines changed: 14 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,19 @@
1515
*/
1616
package org.springframework.data.couchbase.repository.query;
1717

18+
import static org.junit.jupiter.api.Assertions.assertEquals;
19+
import static org.junit.jupiter.api.Assertions.fail;
20+
import static org.springframework.data.couchbase.config.BeanNames.COUCHBASE_TEMPLATE;
21+
22+
import java.lang.reflect.Method;
23+
import java.util.Properties;
24+
1825
import org.junit.jupiter.api.BeforeEach;
1926
import org.junit.jupiter.api.Test;
2027
import org.springframework.context.ApplicationContext;
2128
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
2229
import org.springframework.context.annotation.Configuration;
2330
import org.springframework.data.couchbase.config.AbstractCouchbaseConfiguration;
24-
import org.springframework.data.couchbase.core.CouchbaseTemplate;
2531
import org.springframework.data.couchbase.core.convert.CouchbaseConverter;
2632
import org.springframework.data.couchbase.core.convert.MappingCouchbaseConverter;
2733
import org.springframework.data.couchbase.core.mapping.CouchbaseMappingContext;
@@ -37,68 +43,27 @@
3743
import org.springframework.data.repository.core.NamedQueries;
3844
import org.springframework.data.repository.core.support.DefaultRepositoryMetadata;
3945
import org.springframework.data.repository.core.support.PropertiesBasedNamedQueries;
40-
import org.springframework.data.repository.query.*;
41-
42-
import java.lang.reflect.Method;
43-
import java.util.Properties;
44-
45-
import static org.junit.jupiter.api.Assertions.assertEquals;
46-
import static org.junit.jupiter.api.Assertions.fail;
47-
import static org.springframework.data.couchbase.config.BeanNames.COUCHBASE_TEMPLATE;
46+
import org.springframework.data.repository.query.DefaultParameters;
47+
import org.springframework.data.repository.query.ParameterAccessor;
48+
import org.springframework.data.repository.query.Parameters;
49+
import org.springframework.data.repository.query.ParametersParameterAccessor;
50+
import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider;
51+
import org.springframework.expression.spel.standard.SpelExpressionParser;
4852

4953
/**
5054
* @author Michael Nitschinger
5155
* @author Michael Reiche
5256
*/
53-
class StringN1qlQueryCreatorMockedTests extends ClusterAwareIntegrationTests {
57+
class StringN1qlQueryCreatorMockedTests {
5458

5559
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
5660
CouchbaseConverter converter;
57-
CouchbaseTemplate couchbaseTemplate;
5861
static NamedQueries namedQueries = new PropertiesBasedNamedQueries(new Properties());
5962

6063
@BeforeEach
6164
public void beforeEach() {
6265
context = new CouchbaseMappingContext();
6366
converter = new MappingCouchbaseConverter(context);
64-
ApplicationContext ac = new AnnotationConfigApplicationContext(Config.class);
65-
couchbaseTemplate = (CouchbaseTemplate) ac.getBean(COUCHBASE_TEMPLATE);
66-
}
67-
68-
@Test
69-
void createsQueryCorrectly() throws Exception {
70-
String input = "getByFirstnameAndLastname";
71-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
72-
73-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
74-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
75-
converter.getMappingContext());
76-
77-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
78-
queryMethod, converter, "travel-sample", QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
79-
80-
Query query = creator.createQuery();
81-
assertEquals(
82-
"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",
83-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
84-
}
85-
86-
@Test
87-
void createsQueryCorrectly2() throws Exception {
88-
String input = "getByFirstnameOrLastname";
89-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
90-
91-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
92-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
93-
converter.getMappingContext());
94-
95-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
96-
queryMethod, converter, "travel-sample", QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
97-
98-
Query query = creator.createQuery();
99-
assertEquals(
100-
"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)",
101-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
10267
}
10368

10469
@Test
@@ -144,29 +109,4 @@ private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values)
144109
return new DefaultParameters(method);
145110
}
146111

147-
@Configuration
148-
@EnableCouchbaseRepositories("org.springframework.data.couchbase")
149-
static class Config extends AbstractCouchbaseConfiguration {
150-
151-
@Override
152-
public String getConnectionString() {
153-
return connectionString();
154-
}
155-
156-
@Override
157-
public String getUserName() {
158-
return config().adminUsername();
159-
}
160-
161-
@Override
162-
public String getPassword() {
163-
return config().adminPassword();
164-
}
165-
166-
@Override
167-
public String getBucketName() {
168-
return bucketName();
169-
}
170-
171-
}
172112
}

0 commit comments

Comments
 (0)