summaryrefslogtreecommitdiffstats
path: root/components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java')
-rw-r--r--[-rwxr-xr-x]components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java241
1 files changed, 133 insertions, 108 deletions
diff --git a/components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java b/components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java
index 2a7745b4..0abee7fc 100755..100644
--- a/components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java
+++ b/components/datalake-handler/feeder/src/test/java/org/onap/datalake/feeder/service/db/CouchbaseServiceTest.java
@@ -3,6 +3,7 @@
* ONAP : DATALAKE
* ================================================================================
* Copyright (C) 2018-2019 Huawei. All rights reserved.
+ * Copyright (C) 2022 Wipro Limited.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -20,8 +21,12 @@
package org.onap.datalake.feeder.service.db;
+import static org.mockito.Mockito.when;
+
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
import org.jetbrains.annotations.NotNull;
import org.json.JSONObject;
@@ -29,6 +34,8 @@ import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import org.onap.datalake.feeder.config.ApplicationConfiguration;
import org.onap.datalake.feeder.domain.Db;
@@ -46,111 +53,129 @@ import com.couchbase.mock.client.MockClient;
@RunWith(MockitoJUnitRunner.class)
public class CouchbaseServiceTest {
- protected final BucketConfiguration bucketConfiguration = new BucketConfiguration();
- protected MockClient mockClient;
- protected CouchbaseMock couchbaseMock;
- protected Cluster cluster;
- protected com.couchbase.client.java.Bucket bucket;
- protected int carrierPort;
- protected int httpPort;
-
- protected void getPortInfo(String bucket) throws Exception {
- httpPort = couchbaseMock.getHttpPort();
- carrierPort = couchbaseMock.getCarrierPort(bucket);
- }
-
- protected void createMock(@NotNull String name, @NotNull String password) throws Exception {
- bucketConfiguration.numNodes = 1;
- bucketConfiguration.numReplicas = 1;
- bucketConfiguration.numVBuckets = 1024;
- bucketConfiguration.name = name;
- bucketConfiguration.type = Bucket.BucketType.COUCHBASE;
- bucketConfiguration.password = password;
- ArrayList<BucketConfiguration> configList = new ArrayList<BucketConfiguration>();
- configList.add(bucketConfiguration);
- couchbaseMock = new CouchbaseMock(0, configList);
- couchbaseMock.start();
- couchbaseMock.waitForStartup();
- }
-
- protected void createClient() {
- cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().bootstrapCarrierDirectPort(carrierPort).bootstrapHttpDirectPort(httpPort).build(), "couchbase://127.0.0.1");
- bucket = cluster.openBucket("default");
- }
-
- @Before
- public void setUp() throws Exception {
- createMock("default", "");
- getPortInfo("default");
- createClient();
- }
-
- @After
- public void tearDown() {
- if (cluster != null) {
- cluster.disconnect();
- }
- if (couchbaseMock != null) {
- couchbaseMock.stop();
- }
- if (mockClient != null) {
- mockClient.shutdown();
- }
- }
-
- @Test
- public void testSaveJsonsWithTopicId() {
- ApplicationConfiguration appConfig = new ApplicationConfiguration();
- appConfig.setTimestampLabel("datalake_ts_");
-
- String text = "{ data: { data2 : { value : 'hello'}}}";
-
- JSONObject json = new JSONObject(text);
-
- Topic topic = TestUtil.newTopic("test getMessageId");
- topic.setMessageIdPath("/data/data2/value");
- List<JSONObject> jsons = new ArrayList<>();
- json.put(appConfig.getTimestampLabel(), 1234);
- jsons.add(json);
- CouchbaseService couchbaseService = new CouchbaseService(new Db());
- couchbaseService.bucket = bucket;
- couchbaseService.config = appConfig;
-
- couchbaseService.init();
- EffectiveTopic effectiveTopic = new EffectiveTopic(topic, "test");
- couchbaseService.saveJsons(effectiveTopic, jsons);
-
- }
-
- @Test
- public void testSaveJsonsWithOutTopicId() {
- ApplicationConfiguration appConfig = new ApplicationConfiguration();
- appConfig.setTimestampLabel("datalake_ts_");
-
- String text = "{ data: { data2 : { value : 'hello'}}}";
-
- JSONObject json = new JSONObject(text);
-
- Topic topic = TestUtil.newTopic("test getMessageId");
- List<JSONObject> jsons = new ArrayList<>();
- json.put(appConfig.getTimestampLabel(), 1234);
- jsons.add(json);
- CouchbaseService couchbaseService = new CouchbaseService(new Db());
- couchbaseService.bucket = bucket;
- couchbaseService.config = appConfig;
-
- couchbaseService.init();
- EffectiveTopic effectiveTopic = new EffectiveTopic(topic, "test");
- couchbaseService.saveJsons(effectiveTopic, jsons);
- }
-
- @Test
- public void testCleanupBucket() {
- // CouchbaseService couchbaseService = new CouchbaseService(new Db());
- // couchbaseService.bucket = bucket;
- // ApplicationConfiguration appConfig = new ApplicationConfiguration();
- // couchbaseService.config = appConfig;
- // couchbaseService.cleanUp();
- }
-
-} \ No newline at end of file
+ protected final BucketConfiguration bucketConfiguration = new BucketConfiguration();
+ protected MockClient mockClient;
+ protected CouchbaseMock couchbaseMock;
+ protected Cluster cluster;
+ protected com.couchbase.client.java.Bucket bucket;
+ protected int carrierPort;
+ protected int httpPort;
+
+ @InjectMocks
+ private CouchbaseService couchbaseService;
+
+ @Mock
+ private ApplicationConfiguration config;
+
+ @Before
+ public void init() throws NoSuchFieldException, IllegalAccessException {
+ Db db = TestUtil.newDb("Couchbasedb");
+ db.setDatabase("database");
+ db.setLogin("login");
+ couchbaseService = new CouchbaseService(db);
+
+ Field configField = CouchbaseService.class.getDeclaredField("config");
+ configField.setAccessible(true);
+ configField.set(couchbaseService, config);
+ couchbaseService.bucket = bucket;
+ couchbaseService.init();
+ }
+
+ protected void getPortInfo(String bucket) throws Exception {
+ httpPort = couchbaseMock.getHttpPort();
+ carrierPort = couchbaseMock.getCarrierPort(bucket);
+ }
+
+ protected void createMock(@NotNull String name, @NotNull String password) throws Exception {
+ bucketConfiguration.numNodes = 1;
+ bucketConfiguration.numReplicas = 1;
+ bucketConfiguration.numVBuckets = 1024;
+ bucketConfiguration.name = name;
+ bucketConfiguration.type = Bucket.BucketType.COUCHBASE;
+ bucketConfiguration.password = password;
+ ArrayList < BucketConfiguration > configList = new ArrayList < BucketConfiguration > ();
+ configList.add(bucketConfiguration);
+ couchbaseMock = new CouchbaseMock(0, configList);
+ couchbaseMock.start();
+ couchbaseMock.waitForStartup();
+ }
+
+ protected void createClient() {
+ cluster = CouchbaseCluster.create(DefaultCouchbaseEnvironment.builder().bootstrapCarrierDirectPort(carrierPort)
+ .bootstrapHttpDirectPort(httpPort).build(), "couchbase://127.0.0.1");
+ bucket = cluster.openBucket("default");
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ createMock("default", "");
+ getPortInfo("default");
+ createClient();
+ }
+
+ @After
+ public void tearDown() {
+ if (cluster != null) {
+ cluster.disconnect();
+ }
+ if (couchbaseMock != null) {
+ couchbaseMock.stop();
+ }
+ if (mockClient != null) {
+ mockClient.shutdown();
+ }
+ }
+
+ @Test
+ public void testSaveJsonsWithTopicId() {
+ ApplicationConfiguration appConfig = new ApplicationConfiguration();
+ appConfig.setTimestampLabel("datalake_ts_");
+
+ String text = "{ data: { data2 : { value : 'hello'}}}";
+
+ JSONObject json = new JSONObject(text);
+
+ Topic topic = TestUtil.newTopic("test getMessageId");
+ topic.setMessageIdPath("/data/data2/value");
+ List < JSONObject > jsons = new ArrayList < > ();
+ json.put(appConfig.getTimestampLabel(), 1234);
+ jsons.add(json);
+ CouchbaseService couchbaseService = new CouchbaseService(new Db());
+ couchbaseService.bucket = bucket;
+ couchbaseService.config = appConfig;
+
+ couchbaseService.init();
+ EffectiveTopic effectiveTopic = new EffectiveTopic(topic, "test");
+ couchbaseService.saveJsons(effectiveTopic, jsons);
+
+ }
+
+ @Test
+ public void testSaveJsonsWithOutTopicId() {
+ ApplicationConfiguration appConfig = new ApplicationConfiguration();
+ appConfig.setTimestampLabel("datalake_ts_");
+
+ String text = "{ data: { data2 : { value : 'hello'}}}";
+
+ JSONObject json = new JSONObject(text);
+
+ Topic topic = TestUtil.newTopic("test getMessageId");
+ List < JSONObject > jsons = new ArrayList < > ();
+ json.put(appConfig.getTimestampLabel(), 1234);
+ jsons.add(json);
+ CouchbaseService couchbaseService = new CouchbaseService(new Db());
+ couchbaseService.bucket = bucket;
+ couchbaseService.config = appConfig;
+
+ couchbaseService.init();
+ EffectiveTopic effectiveTopic = new EffectiveTopic(topic, "test");
+ couchbaseService.saveJsons(effectiveTopic, jsons);
+ }
+
+ @Test
+ public void testCleanupBucket() {
+ when(config.getShutdownLock()).thenReturn(new ReentrantReadWriteLock());
+ couchbaseService.cleanUp();
+ }
+
+}