DATACOUCH-164 - Use stable Couchbase SDK
Make modifications due to name changing in 2.2.0, the latest stable release of the Couchbase SDK.
This commit is contained in:
@@ -9,10 +9,10 @@ import java.util.List;
|
||||
|
||||
import com.couchbase.client.java.document.json.JsonArray;
|
||||
import com.couchbase.client.java.document.json.JsonObject;
|
||||
import com.couchbase.client.java.query.ParameterizedQuery;
|
||||
import com.couchbase.client.java.query.Query;
|
||||
import com.couchbase.client.java.query.QueryParams;
|
||||
import com.couchbase.client.java.query.SimpleQuery;
|
||||
import com.couchbase.client.java.query.ParameterizedN1qlQuery;
|
||||
import com.couchbase.client.java.query.N1qlQuery;
|
||||
import com.couchbase.client.java.query.N1qlParams;
|
||||
import com.couchbase.client.java.query.SimpleN1qlQuery;
|
||||
import com.couchbase.client.java.query.Statement;
|
||||
import com.couchbase.client.java.query.consistency.ScanConsistency;
|
||||
import org.junit.Test;
|
||||
@@ -24,14 +24,14 @@ import org.springframework.data.repository.query.QueryMethod;
|
||||
public class AbstractN1qlBasedQueryTest {
|
||||
|
||||
@Test
|
||||
public void testEmptyArgumentsShouldProduceSimpleQuery() throws Exception {
|
||||
public void testEmptyArgumentsShouldProduceSimpleN1qlQuery() throws Exception {
|
||||
Statement st = select("*");
|
||||
Query query = AbstractN1qlBasedQuery.buildQuery(st, JsonArray.empty(), ScanConsistency.NOT_BOUNDED);
|
||||
N1qlQuery query = AbstractN1qlBasedQuery.buildQuery(st, JsonArray.empty(), ScanConsistency.NOT_BOUNDED);
|
||||
JsonObject queryObject = query.n1ql();
|
||||
|
||||
assertTrue(query instanceof SimpleQuery);
|
||||
assertTrue(query instanceof SimpleN1qlQuery);
|
||||
assertEquals(st.toString(), query.statement().toString());
|
||||
assertEquals(QueryParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertEquals(N1qlParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertFalse(queryObject.containsKey("args"));
|
||||
}
|
||||
|
||||
@@ -41,12 +41,12 @@ public class AbstractN1qlBasedQueryTest {
|
||||
List<Object> params = new ArrayList<Object>(2);
|
||||
params.add("test");
|
||||
JsonArray placeholderValues = JsonArray.from(params);
|
||||
Query query = AbstractN1qlBasedQuery.buildQuery(st, placeholderValues, ScanConsistency.NOT_BOUNDED);
|
||||
N1qlQuery query = AbstractN1qlBasedQuery.buildQuery(st, placeholderValues, ScanConsistency.NOT_BOUNDED);
|
||||
JsonObject queryObject = query.n1ql();
|
||||
|
||||
assertTrue(query instanceof ParameterizedQuery);
|
||||
assertTrue(query instanceof ParameterizedN1qlQuery);
|
||||
assertEquals(st.toString(), query.statement().toString());
|
||||
assertEquals(QueryParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertEquals(N1qlParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertTrue(queryObject.containsKey("args"));
|
||||
JsonArray args = queryObject.getArray("args");
|
||||
assertEquals(1, args.size());
|
||||
@@ -60,12 +60,12 @@ public class AbstractN1qlBasedQueryTest {
|
||||
params.add(123L);
|
||||
params.add("test");
|
||||
JsonArray placeholderValues = JsonArray.from(params);
|
||||
Query query = AbstractN1qlBasedQuery.buildQuery(st, placeholderValues, ScanConsistency.NOT_BOUNDED);
|
||||
N1qlQuery query = AbstractN1qlBasedQuery.buildQuery(st, placeholderValues, ScanConsistency.NOT_BOUNDED);
|
||||
JsonObject queryObject = query.n1ql();
|
||||
|
||||
assertTrue(query instanceof ParameterizedQuery);
|
||||
assertTrue(query instanceof ParameterizedN1qlQuery);
|
||||
assertEquals(st.toString(), query.statement().toString());
|
||||
assertEquals(QueryParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertEquals(N1qlParams.build().consistency(ScanConsistency.NOT_BOUNDED), query.params());
|
||||
assertTrue(queryObject.containsKey("args"));
|
||||
JsonArray args = queryObject.getArray("args");
|
||||
assertEquals(2, args.size());
|
||||
@@ -76,112 +76,112 @@ public class AbstractN1qlBasedQueryTest {
|
||||
@Test
|
||||
public void shouldChooseCollectionExecutionWhenCollectionType() {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
when(queryMethod.isCollectionQuery()).thenReturn(true);
|
||||
|
||||
mock.executeDependingOnType(query, query, queryMethod, pageable, false, false, false);
|
||||
verify(mock).executeCollection(any(Query.class));
|
||||
verify(mock, never()).executeEntity(any(Query.class));
|
||||
verify(mock, never()).executeStream(any(Query.class));
|
||||
verify(mock, never()).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeStream(any(N1qlQuery.class));
|
||||
verify(mock, never()).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldChooseEntityExecutionWhenEntityType() {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
when(queryMethod.isQueryForEntity()).thenReturn(true);
|
||||
|
||||
mock.executeDependingOnType(query, query, queryMethod, pageable, false, false, false);
|
||||
verify(mock, never()).executeCollection(any(Query.class));
|
||||
verify(mock).executeEntity(any(Query.class));
|
||||
verify(mock, never()).executeStream(any(Query.class));
|
||||
verify(mock, never()).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeStream(any(N1qlQuery.class));
|
||||
verify(mock, never()).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldChooseStreamExecutionWhenStreamType() {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
when(queryMethod.isStreamQuery()).thenReturn(true);
|
||||
|
||||
mock.executeDependingOnType(query, query, queryMethod, pageable, false, false, false);
|
||||
verify(mock, never()).executeCollection(any(Query.class));
|
||||
verify(mock, never()).executeEntity(any(Query.class));
|
||||
verify(mock).executeStream(any(Query.class));
|
||||
verify(mock, never()).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock).executeStream(any(N1qlQuery.class));
|
||||
verify(mock, never()).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldChoosePagedExecutionWhenPageType() {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
|
||||
mock.executeDependingOnType(query, query, queryMethod, pageable, true, false, false);
|
||||
verify(mock, never()).executeCollection(any(Query.class));
|
||||
verify(mock, never()).executeEntity(any(Query.class));
|
||||
verify(mock, never()).executeStream(any(Query.class));
|
||||
verify(mock).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeStream(any(N1qlQuery.class));
|
||||
verify(mock).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldChooseSlicedExecutionWhenSliceType() {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
when(queryMethod.isSliceQuery()).thenReturn(true);
|
||||
|
||||
mock.executeDependingOnType(query, query, queryMethod, pageable, false, true, false);
|
||||
verify(mock, never()).executeCollection(any(Query.class));
|
||||
verify(mock, never()).executeEntity(any(Query.class));
|
||||
verify(mock, never()).executeStream(any(Query.class));
|
||||
verify(mock, never()).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeStream(any(N1qlQuery.class));
|
||||
verify(mock, never()).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldThrowWhenUnsupportedType() throws NoSuchMethodException {
|
||||
CouchbaseQueryMethod queryMethod = Mockito.mock(CouchbaseQueryMethod.class);
|
||||
Query query = Mockito.mock(Query.class);
|
||||
N1qlQuery query = Mockito.mock(N1qlQuery.class);
|
||||
Pageable pageable = Mockito.mock(Pageable.class);
|
||||
AbstractN1qlBasedQuery mock = mock(AbstractN1qlBasedQuery.class);
|
||||
when(mock.executeDependingOnType(any(Query.class), any(Query.class), any(QueryMethod.class), any(Pageable.class),
|
||||
when(mock.executeDependingOnType(any(N1qlQuery.class), any(N1qlQuery.class), any(QueryMethod.class), any(Pageable.class),
|
||||
anyBoolean(), anyBoolean(), anyBoolean()))
|
||||
.thenCallRealMethod();
|
||||
|
||||
try { mock.executeDependingOnType(query, query, queryMethod, pageable, false, false, true); fail(); } catch (UnsupportedOperationException e) { }
|
||||
verify(mock, never()).executeCollection(any(Query.class));
|
||||
verify(mock, never()).executeEntity(any(Query.class));
|
||||
verify(mock, never()).executeStream(any(Query.class));
|
||||
verify(mock, never()).executePaged(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(Query.class), any(Query.class), any(Pageable.class));
|
||||
verify(mock, never()).executeCollection(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeEntity(any(N1qlQuery.class));
|
||||
verify(mock, never()).executeStream(any(N1qlQuery.class));
|
||||
verify(mock, never()).executePaged(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
verify(mock, never()).executeSliced(any(N1qlQuery.class), any(N1qlQuery.class), any(Pageable.class));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user