Skip to content

Commit ec9081e

Browse files
committed
Move tests needing server to IntegrationTests.
Closes #1472.
1 parent a01dfe1 commit ec9081e

File tree

3 files changed

+74
-84
lines changed

3 files changed

+74
-84
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/StringN1qlQueryCreatorTests.java renamed to src/test/java/org/springframework/data/couchbase/repository/query/StringN1qlQueryCreatorIntegrationTests.java

Lines changed: 66 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;
@@ -66,9 +68,9 @@
6668
* @author Michael Nitschinger
6769
* @author Michael Reiche
6870
*/
69-
@SpringJUnitConfig(StringN1qlQueryCreatorTests.Config.class)
71+
@SpringJUnitConfig(StringN1qlQueryCreatorIntegrationTests.Config.class)
7072
@IgnoreWhen(clusterTypes = ClusterType.MOCKED)
71-
class StringN1qlQueryCreatorTests extends ClusterAwareIntegrationTests {
73+
class StringN1qlQueryCreatorIntegrationTests extends ClusterAwareIntegrationTests {
7274

7375
MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> context;
7476
CouchbaseConverter converter;
@@ -149,6 +151,68 @@ queryMethod, converter, config().bucketname(), new SpelExpressionParser(),
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, config().bucketname(), 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, 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, config().bucketname(), 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, 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, config().bucketname(), new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
207+
208+
Query query = creator.createQuery();
209+
210+
String s = query.toN1qlSelectString(couchbaseTemplate.reactive(), "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: 5 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -59,57 +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, "travel-sample", new SpelExpressionParser(),
88-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
89-
90-
Query query = creator.createQuery();
91-
assertEquals(
92-
"SELECT `_class`, META(`travel-sample`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`travel-sample`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `travel-sample` where `_class` = \"abstractuser\" and firstname = $1 and lastname = $2",
93-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
94-
}
95-
96-
@Test
97-
void createsQueryCorrectly2() throws Exception {
98-
String input = "getByFirstnameOrLastname";
99-
Method method = UserRepository.class.getMethod(input, String.class, String.class);
100-
101-
CouchbaseQueryMethod queryMethod = new CouchbaseQueryMethod(method,
102-
new DefaultRepositoryMetadata(UserRepository.class), new SpelAwareProxyProjectionFactory(),
103-
converter.getMappingContext());
104-
105-
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver", "Twist"),
106-
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
107-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
108-
109-
Query query = creator.createQuery();
110-
assertEquals(
111-
"SELECT `_class`, META(`travel-sample`).`cas` AS __cas, `createdBy`, `createdDate`, `lastModifiedBy`, `lastModifiedDate`, META(`travel-sample`).`id` AS __id, `firstname`, `lastname`, `subtype` FROM `travel-sample` where `_class` = \"abstractuser\" and (firstname = $first or lastname = $last)",
112-
query.toN1qlSelectString(couchbaseTemplate.reactive(), User.class, false));
11372
}
11473

11574
@Test
@@ -123,8 +82,8 @@ void wrongNumberArgs() throws Exception {
12382

12483
try {
12584
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver"),
126-
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
127-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
85+
queryMethod, converter, "travel-sample", new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT,
86+
namedQueries);
12887
} catch (IllegalArgumentException e) {
12988
return;
13089
}
@@ -141,8 +100,8 @@ void doesNotHaveAnnotation() throws Exception {
141100

142101
try {
143102
StringN1qlQueryCreator creator = new StringN1qlQueryCreator(getAccessor(getParameters(method), "Oliver"),
144-
queryMethod, converter, "travel-sample", new SpelExpressionParser(),
145-
QueryMethodEvaluationContextProvider.DEFAULT, namedQueries);
103+
queryMethod, converter, "travel-sample", new SpelExpressionParser(), QueryMethodEvaluationContextProvider.DEFAULT,
104+
namedQueries);
146105
} catch (IllegalArgumentException e) {
147106
return;
148107
}
@@ -157,37 +116,4 @@ private ParameterAccessor getAccessor(Parameters<?, ?> params, Object... values)
157116
return new DefaultParameters(method);
158117
}
159118

160-
@Configuration
161-
@EnableCouchbaseRepositories("org.springframework.data.couchbase")
162-
static class Config extends AbstractCouchbaseConfiguration {
163-
164-
@Override
165-
public String getConnectionString() {
166-
return connectionString();
167-
}
168-
169-
@Override
170-
public String getUserName() {
171-
return config().adminUsername();
172-
}
173-
174-
@Override
175-
public String getPassword() {
176-
return config().adminPassword();
177-
}
178-
179-
@Override
180-
public String getBucketName() {
181-
return bucketName();
182-
}
183-
184-
@Override
185-
protected void configureEnvironment(ClusterEnvironment.Builder builder) {
186-
if (config().isUsingCloud()) {
187-
builder.securityConfig(
188-
SecurityConfig.builder().trustManagerFactory(InsecureTrustManagerFactory.INSTANCE).enableTls(true));
189-
}
190-
}
191-
192-
}
193119
}

0 commit comments

Comments
 (0)