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:
Simon Baslé
2015-09-21 16:46:51 +02:00
parent f661bad73b
commit 7654af7608
12 changed files with 126 additions and 134 deletions

View File

@@ -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));
}
}