integration test for N1QL query, prepare one for find

This commit is contained in:
Simon Baslé
2015-06-29 17:00:08 +02:00
parent 0afeb0bf87
commit 7ead531f4a

View File

@@ -16,6 +16,8 @@
package org.springframework.data.couchbase.core;
import static com.couchbase.client.java.query.Select.select;
import static com.couchbase.client.java.query.dsl.Expression.x;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.*;
@@ -30,12 +32,16 @@ import java.util.Map;
import com.couchbase.client.java.Bucket;
import com.couchbase.client.java.document.RawJsonDocument;
import com.couchbase.client.java.error.DocumentDoesNotExistException;
import com.couchbase.client.java.query.Query;
import com.couchbase.client.java.query.QueryResult;
import com.couchbase.client.java.query.dsl.Expression;
import com.couchbase.client.java.view.Stale;
import com.couchbase.client.java.view.ViewQuery;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.OptimisticLockingFailureException;
@@ -211,6 +217,28 @@ public class CouchbaseTemplateTests {
}
}
@Test
public void shouldQueryRaw() {
Query query = Query.simple(select("name").from(Expression.i(client.name()))
.where(x("name").isNotMissing()));
QueryResult queryResult = template.queryN1QL(query);
assertNotNull(queryResult);
assertTrue(queryResult.errors().toString(), queryResult.finalSuccess());
assertFalse(queryResult.allRows().isEmpty());
}
@Test(expected = NotImplementedException.class) //TODO remove when implemented
public void shouldQueryWithMapping() {
Query query = Query.simple(select("name").from(Expression.i(client.name()))
.where(x("name").isNotMissing()));
List<BeerFragment> fragments = template.findByN1QL(query, BeerFragment.class);
assertNotNull(fragments);
assertFalse(fragments.isEmpty());
//TODO assert the content of the fragments, etc...
}
@Test
public void shouldDeserialiseLongs() {
final long time = new Date().getTime();
@@ -552,4 +580,15 @@ public class CouchbaseTemplateTests {
}
}
static class BeerFragment {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
}