Search in sources :

Example 56 with Bucket

use of com.couchbase.client.java.Bucket in project nifi by apache.

the class TestPutCouchbaseKey method testCouchbaseTempFlowFileError.

@Test
public void testCouchbaseTempFlowFileError() throws Exception {
    String docId = "doc-a";
    String inFileData = "{\"key\":\"value\"}";
    byte[] inFileDataBytes = inFileData.getBytes(StandardCharsets.UTF_8);
    Bucket bucket = mock(Bucket.class);
    CouchbaseException exception = new DurabilityException();
    when(bucket.upsert(any(RawJsonDocument.class), eq(PersistTo.NONE), eq(ReplicateTo.ONE))).thenThrow(exception);
    setupMockBucket(bucket);
    testRunner.enqueue(inFileDataBytes);
    testRunner.setProperty(DOC_ID, docId);
    testRunner.setProperty(PutCouchbaseKey.REPLICATE_TO, ReplicateTo.ONE.toString());
    testRunner.run();
    verify(bucket, times(1)).upsert(any(RawJsonDocument.class), eq(PersistTo.NONE), eq(ReplicateTo.ONE));
    testRunner.assertTransferCount(REL_SUCCESS, 0);
    testRunner.assertTransferCount(REL_RETRY, 1);
    testRunner.assertTransferCount(REL_FAILURE, 0);
    MockFlowFile orgFile = testRunner.getFlowFilesForRelationship(REL_RETRY).get(0);
    orgFile.assertContentEquals(inFileData);
    orgFile.assertAttributeEquals(Exception.key(), exception.getClass().getName());
}
Also used : MockFlowFile(org.apache.nifi.util.MockFlowFile) CouchbaseException(com.couchbase.client.core.CouchbaseException) Bucket(com.couchbase.client.java.Bucket) Matchers.anyString(org.mockito.Matchers.anyString) DurabilityException(com.couchbase.client.java.error.DurabilityException) RawJsonDocument(com.couchbase.client.java.document.RawJsonDocument) Test(org.junit.Test)

Example 57 with Bucket

use of com.couchbase.client.java.Bucket in project tutorials by eugenp.

the class N1QLIntegrationTest method givenDocument_whenInsert_thenResult.

@Test
public void givenDocument_whenInsert_thenResult() {
    Bucket bucket = bucketFactory.getTestBucket();
    JsonObject personObj = JsonObject.create().put("name", "John").put("email", "john@doe.com").put("interests", JsonArray.from("Java", "Nigerian Jollof"));
    String id = UUID.randomUUID().toString();
    JsonDocument doc = JsonDocument.create(id, personObj);
    bucket.insert(doc);
    assertNotNull(bucket.get(id));
}
Also used : Bucket(com.couchbase.client.java.Bucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) JsonDocument(com.couchbase.client.java.document.JsonDocument) Test(org.junit.Test)

Example 58 with Bucket

use of com.couchbase.client.java.Bucket in project tutorials by eugenp.

the class N1QLIntegrationTest method givenUnestUpdateStatement_whenQuery_thenResult.

@Test
public void givenUnestUpdateStatement_whenQuery_thenResult() {
    Bucket bucket = bucketFactory.getTravelSampleBucket();
    String query3 = "UPDATE `travel-sample` USE KEYS \"cust_2\" " + "UNSET name RETURNING *";
    N1qlQueryResult result1 = bucket.query(N1qlQuery.simple(query3));
    result1.forEach(System.out::println);
}
Also used : Bucket(com.couchbase.client.java.Bucket) N1qlQueryResult(com.couchbase.client.java.query.N1qlQueryResult) Test(org.junit.Test)

Example 59 with Bucket

use of com.couchbase.client.java.Bucket in project tutorials by eugenp.

the class N1QLIntegrationTest method givenSelectStatement2_whenQuery_thenResult.

@Test
public void givenSelectStatement2_whenQuery_thenResult() {
    Bucket bucket = bucketFactory.getTravelSampleBucket();
    JsonObject pVal = JsonObject.create().put("type", "airport");
    String query = "SELECT * FROM `travel-sample` " + "WHERE type = $type LIMIT 100";
    N1qlQueryResult r2 = bucket.query(N1qlQuery.parameterized(query, pVal));
    System.out.println(r2.allRows());
    List<JsonNode> list = extractJsonResult(r2);
    System.out.println(list.get(0).get("travel-sample").get("airportname").asText());
}
Also used : Bucket(com.couchbase.client.java.Bucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) N1qlQueryResult(com.couchbase.client.java.query.N1qlQueryResult) JsonNode(com.fasterxml.jackson.databind.JsonNode) Test(org.junit.Test)

Example 60 with Bucket

use of com.couchbase.client.java.Bucket in project tutorials by eugenp.

the class N1QLIntegrationTest method givenDocument_whenUpsert_thenUpdate.

@Test
public void givenDocument_whenUpsert_thenUpdate() {
    Bucket bucket = bucketFactory.getTravelSampleBucket();
    JsonObject o2 = JsonObject.create().put("name", "Sample Airline Updated");
    bucket.upsert(JsonDocument.create("cust_1", o2));
}
Also used : Bucket(com.couchbase.client.java.Bucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) Test(org.junit.Test)

Aggregations

Bucket (com.couchbase.client.java.Bucket)72 Test (org.junit.Test)53 Matchers.anyString (org.mockito.Matchers.anyString)21 JsonObject (com.couchbase.client.java.document.json.JsonObject)18 PrepareForTest (org.powermock.core.classloader.annotations.PrepareForTest)16 N1qlQueryResult (com.couchbase.client.java.query.N1qlQueryResult)15 MockFlowFile (org.apache.nifi.util.MockFlowFile)15 AsyncBucket (com.couchbase.client.java.AsyncBucket)13 TimeUnit (java.util.concurrent.TimeUnit)12 CouchbaseCluster (com.couchbase.client.java.CouchbaseCluster)11 CouchbaseException (com.couchbase.client.core.CouchbaseException)9 Cluster (com.couchbase.client.java.Cluster)8 RawJsonDocument (com.couchbase.client.java.document.RawJsonDocument)8 JsonDocument (com.couchbase.client.java.document.JsonDocument)7 CouchbaseEnvironment (com.couchbase.client.java.env.CouchbaseEnvironment)7 StringSerde (org.apache.samza.serializers.StringSerde)7 HashMap (java.util.HashMap)6 JsonNode (com.fasterxml.jackson.databind.JsonNode)5 N1qlQuery (com.couchbase.client.java.query.N1qlQuery)4 N1qlQueryRow (com.couchbase.client.java.query.N1qlQueryRow)4