Search in sources :

Example 6 with CouchbaseException

use of com.couchbase.client.core.CouchbaseException in project nifi by apache.

the class TestGetCouchbaseKey method testCouchbaseInvalidInputError.

@Test
public void testCouchbaseInvalidInputError() throws Exception {
    String docIdExp = "doc-c";
    Bucket bucket = mock(Bucket.class);
    CouchbaseException exception = new RequestTooBigException();
    when(bucket.get(docIdExp, RawJsonDocument.class)).thenThrow(exception);
    setupMockBucket(bucket);
    testRunner.setProperty(DOC_ID, docIdExp);
    String inputFileDataStr = "input FlowFile data";
    byte[] inFileData = inputFileDataStr.getBytes(StandardCharsets.UTF_8);
    testRunner.enqueue(inFileData);
    testRunner.run();
    testRunner.assertTransferCount(REL_SUCCESS, 0);
    testRunner.assertTransferCount(REL_ORIGINAL, 0);
    testRunner.assertTransferCount(REL_RETRY, 0);
    testRunner.assertTransferCount(REL_FAILURE, 1);
    MockFlowFile orgFile = testRunner.getFlowFilesForRelationship(REL_FAILURE).get(0);
    orgFile.assertContentEquals(inputFileDataStr);
    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) RequestTooBigException(com.couchbase.client.java.error.RequestTooBigException) Matchers.anyString(org.mockito.Matchers.anyString) Test(org.junit.Test)

Example 7 with CouchbaseException

use of com.couchbase.client.core.CouchbaseException in project nifi by apache.

the class TestGetCouchbaseKey method testCouchbaseTempFlowFileError.

@Test
public void testCouchbaseTempFlowFileError() throws Exception {
    String docIdExp = "doc-c";
    Bucket bucket = mock(Bucket.class);
    // There is no suitable CouchbaseException for temp flowfile error, currently.
    CouchbaseException exception = new DurabilityException();
    when(bucket.get(docIdExp, RawJsonDocument.class)).thenThrow(exception);
    setupMockBucket(bucket);
    testRunner.setProperty(DOC_ID, docIdExp);
    String inputFileDataStr = "input FlowFile data";
    byte[] inFileData = inputFileDataStr.getBytes(StandardCharsets.UTF_8);
    testRunner.enqueue(inFileData);
    testRunner.run();
    testRunner.assertTransferCount(REL_SUCCESS, 0);
    testRunner.assertTransferCount(REL_ORIGINAL, 0);
    testRunner.assertTransferCount(REL_RETRY, 1);
    testRunner.assertTransferCount(REL_FAILURE, 0);
    MockFlowFile orgFile = testRunner.getFlowFilesForRelationship(REL_RETRY).get(0);
    orgFile.assertContentEquals(inputFileDataStr);
    orgFile.assertAttributeEquals(Exception.key(), exception.getClass().getName());
    Assert.assertEquals(true, orgFile.isPenalized());
}
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) Test(org.junit.Test)

Example 8 with CouchbaseException

use of com.couchbase.client.core.CouchbaseException 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)

Aggregations

CouchbaseException (com.couchbase.client.core.CouchbaseException)8 Bucket (com.couchbase.client.java.Bucket)6 MockFlowFile (org.apache.nifi.util.MockFlowFile)5 Test (org.junit.Test)5 Matchers.anyString (org.mockito.Matchers.anyString)5 RawJsonDocument (com.couchbase.client.java.document.RawJsonDocument)2 DurabilityException (com.couchbase.client.java.error.DurabilityException)2 IOException (java.io.IOException)2 InputStream (java.io.InputStream)2 HashMap (java.util.HashMap)2 FlowFile (org.apache.nifi.flowfile.FlowFile)2 ComponentLog (org.apache.nifi.logging.ComponentLog)2 InputStreamCallback (org.apache.nifi.processor.io.InputStreamCallback)2 BackpressureException (com.couchbase.client.core.BackpressureException)1 NotConnectedException (com.couchbase.client.core.state.NotConnectedException)1 ByteBuf (com.couchbase.client.deps.io.netty.buffer.ByteBuf)1 PersistTo (com.couchbase.client.java.PersistTo)1 ReplicateTo (com.couchbase.client.java.ReplicateTo)1 BinaryDocument (com.couchbase.client.java.document.BinaryDocument)1 RequestTooBigException (com.couchbase.client.java.error.RequestTooBigException)1