Search in sources :

Example 66 with Bucket

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

the class TestCouchbaseBucketRegistry method testOpenSameBucketNameFromDifferentClusters.

/**
 * This unit test uses CouchbaseBucketRegistry to register two mocked buckets with same name but in different clusters.
 * Calling registry.getBucket with same bucketName but different clusterNodes should return different Bucket instances.
 */
@Test
public void testOpenSameBucketNameFromDifferentClusters() {
    String bucketName = "bucket";
    List<String> clusterNodes1 = Arrays.asList("cluster1");
    List<String> clusterNodes2 = Arrays.asList("cluster2");
    CouchbaseEnvironmentConfigs configs = new CouchbaseEnvironmentConfigs();
    CouchbaseCluster cluster1 = mock(CouchbaseCluster.class);
    CouchbaseCluster cluster2 = mock(CouchbaseCluster.class);
    when(cluster1.openBucket(bucketName)).thenReturn(mock(Bucket.class));
    when(cluster2.openBucket(bucketName)).thenReturn(mock(Bucket.class));
    mockStatic(CouchbaseCluster.class);
    when(CouchbaseCluster.create(any(CouchbaseEnvironment.class), eq(clusterNodes1))).thenReturn(cluster1);
    when(CouchbaseCluster.create(any(CouchbaseEnvironment.class), eq(clusterNodes2))).thenReturn(cluster2);
    CouchbaseBucketRegistry registry = new CouchbaseBucketRegistry();
    Bucket bucketInCluster1 = registry.getBucket(bucketName, clusterNodes1, configs);
    Bucket bucketInCluster2 = registry.getBucket(bucketName, clusterNodes2, configs);
    assertNotEquals(bucketInCluster1, bucketInCluster2);
}
Also used : Bucket(com.couchbase.client.java.Bucket) CouchbaseCluster(com.couchbase.client.java.CouchbaseCluster) CouchbaseEnvironment(com.couchbase.client.java.env.CouchbaseEnvironment) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 67 with Bucket

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

the class TestCouchbaseBucketRegistry method testOpenBuckets.

/**
 * This unit test uses CouchbaseBucketRegistry to register two mocked buckets. It tests:
 * 1. Calling registry.getBucket with same bucketName and clusterNodes should return same Bucket instance
 * 2. Calling registry.getBucket with different bucketNames should return different Bucket instances
 */
@Test
public void testOpenBuckets() {
    String bucketName1 = "bucket1";
    String bucketName2 = "bucket2";
    List<String> clusterNodes = Arrays.asList("cluster");
    CouchbaseEnvironmentConfigs configs = new CouchbaseEnvironmentConfigs();
    CouchbaseCluster cluster = mock(CouchbaseCluster.class);
    when(cluster.openBucket(bucketName1)).thenReturn(mock(Bucket.class));
    when(cluster.openBucket(bucketName2)).thenReturn(mock(Bucket.class));
    mockStatic(CouchbaseCluster.class);
    when(CouchbaseCluster.create(any(CouchbaseEnvironment.class), anyListOf(String.class))).thenReturn(cluster);
    CouchbaseBucketRegistry registry = new CouchbaseBucketRegistry();
    Bucket bucket1 = registry.getBucket(bucketName1, clusterNodes, configs);
    Bucket bucket1Copy = registry.getBucket(bucketName1, clusterNodes, configs);
    Bucket bucket2 = registry.getBucket(bucketName2, clusterNodes, configs);
    assertEquals(bucket1, bucket1Copy);
    assertNotEquals(bucket1, bucket2);
}
Also used : Bucket(com.couchbase.client.java.Bucket) CouchbaseCluster(com.couchbase.client.java.CouchbaseCluster) CouchbaseEnvironment(com.couchbase.client.java.env.CouchbaseEnvironment) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Example 68 with Bucket

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

the class TestCouchbaseTableWriteFunction method testDeleteAsyncException.

@Test
public void testDeleteAsyncException() {
    String key = "throwExceptionKey";
    Bucket bucket = mock(Bucket.class);
    AsyncBucket asyncBucket = mock(AsyncBucket.class);
    CouchbaseTableWriteFunction<JsonObject> writeFunction = createAndInit(bucket, asyncBucket);
    when(asyncBucket.remove(eq(key), anyLong(), any(TimeUnit.class))).thenReturn(Observable.error(new CouchbaseException()));
    assertTrue(writeFunction.deleteAsync(key).isCompletedExceptionally());
}
Also used : CouchbaseException(com.couchbase.client.core.CouchbaseException) AsyncBucket(com.couchbase.client.java.AsyncBucket) Bucket(com.couchbase.client.java.Bucket) AsyncBucket(com.couchbase.client.java.AsyncBucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) TimeUnit(java.util.concurrent.TimeUnit) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 69 with Bucket

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

the class TestCouchbaseTableWriteFunction method testPutAsyncException.

@Test
public void testPutAsyncException() {
    String key = "throwExceptionKey";
    JsonObject value = JsonObject.create();
    Bucket bucket = mock(Bucket.class);
    AsyncBucket asyncBucket = mock(AsyncBucket.class);
    CouchbaseTableWriteFunction<JsonObject> writeFunction = createAndInit(bucket, asyncBucket);
    when(asyncBucket.upsert(any(Document.class), anyLong(), any(TimeUnit.class))).thenReturn(Observable.error(new CouchbaseException()));
    assertTrue(writeFunction.putAsync(key, value).isCompletedExceptionally());
}
Also used : CouchbaseException(com.couchbase.client.core.CouchbaseException) AsyncBucket(com.couchbase.client.java.AsyncBucket) Bucket(com.couchbase.client.java.Bucket) AsyncBucket(com.couchbase.client.java.AsyncBucket) JsonObject(com.couchbase.client.java.document.json.JsonObject) TimeUnit(java.util.concurrent.TimeUnit) Document(com.couchbase.client.java.document.Document) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

Example 70 with Bucket

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

the class TestCouchbaseTableReadFunction method testGetAsyncException.

@Test
public void testGetAsyncException() {
    String key = "throwExceptionKey";
    Bucket bucket = mock(Bucket.class);
    AsyncBucket asyncBucket = mock(AsyncBucket.class);
    CouchbaseTableReadFunction readFunction = createAndInit(bucket, asyncBucket);
    when(asyncBucket.get(eq(key), anyObject(), anyLong(), any(TimeUnit.class))).thenReturn(Observable.error(new CouchbaseException()));
    assertTrue(readFunction.getAsync(key).isCompletedExceptionally());
}
Also used : CouchbaseException(com.couchbase.client.core.CouchbaseException) AsyncBucket(com.couchbase.client.java.AsyncBucket) Bucket(com.couchbase.client.java.Bucket) AsyncBucket(com.couchbase.client.java.AsyncBucket) TimeUnit(java.util.concurrent.TimeUnit) Test(org.junit.Test) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest)

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