aboutsummaryrefslogtreecommitdiffstats
path: root/datarouter-node/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'datarouter-node/src/test')
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTaskTest.java21
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/LogbackFilterTest.java3
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java14
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java99
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServerTest.java119
-rw-r--r--datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java8
-rw-r--r--datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props2
-rw-r--r--datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.trust.jksbin0 -> 1413 bytes
-rw-r--r--datarouter-node/src/test/resources/prov_data.json129
9 files changed, 371 insertions, 24 deletions
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTaskTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTaskTest.java
index 0123c315..596d56a7 100644
--- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTaskTest.java
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/DeliveryTaskTest.java
@@ -23,6 +23,9 @@ package org.onap.dmaap.datarouter.node;
import java.io.ByteArrayOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -42,6 +45,8 @@ public class DeliveryTaskTest {
@Mock
private DeliveryQueue deliveryQueue;
+ private ExecutorService executorService;
+
@Before
public void setUp() throws Exception {
DestInfo destInfo = getPrivDestInfo();
@@ -86,15 +91,23 @@ public class DeliveryTaskTest {
}
@Test
- public void Validate_Delivery_Tasks_Success_For_Standard_File() {
+ public void Validate_Delivery_Tasks_Success_For_Standard_File() throws InterruptedException {
DeliveryTask task = new DeliveryTask(deliveryQueue, "123456789.test-dr-node");
- task.run();
+ executorService = Executors.newSingleThreadExecutor();
+ executorService.execute(task);
+
+ executorService.shutdown();
+ executorService.awaitTermination(2, TimeUnit.SECONDS);
}
@Test
- public void Validate_Delivery_Tasks_Success_For_Compressed_File() {
+ public void Validate_Delivery_Tasks_Success_For_Compressed_File() throws InterruptedException {
DeliveryTask task = new DeliveryTask(deliveryQueue, "123456789.test-dr-node.gz");
- task.run();
+ executorService = Executors.newSingleThreadExecutor();
+ executorService.execute(task);
+
+ executorService.shutdown();
+ executorService.awaitTermination(2, TimeUnit.SECONDS);
}
private DestInfo getPrivDestInfo() {
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/LogbackFilterTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/LogbackFilterTest.java
index c18528ea..fe9b43c2 100644
--- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/LogbackFilterTest.java
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/LogbackFilterTest.java
@@ -309,10 +309,9 @@ public class LogbackFilterTest {
}
-
@Test
public void Given_call_to_EelfMsgs_return_the_correct_enum(){
- assertEquals(MESSAGE_WITH_BEHALF.toString(), "MESSAGE_WITH_BEHALF");
+ assertEquals("MESSAGE_WITH_BEHALF", MESSAGE_WITH_BEHALF.toString());
}
}
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java
index aa5368b5..927b8bef 100644
--- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeAafPropsUtilsTest.java
@@ -22,18 +22,20 @@ package org.onap.dmaap.datarouter.node;
import java.io.File;
import java.io.IOException;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
public class NodeAafPropsUtilsTest {
+ private NodeAafPropsUtils nodeAafPropsUtils;
+
+ @Before
+ public void setUp() throws IOException {
+ nodeAafPropsUtils = new NodeAafPropsUtils(new File("src/test/resources/aaf/org.onap.dmaap-dr.props"));
+ }
+
@Test
public void Veirfy_Aaf_Pass_Decryp_Successful() {
- NodeAafPropsUtils nodeAafPropsUtils = null;
- try {
- nodeAafPropsUtils = new NodeAafPropsUtils(new File("src/test/resources/aaf/org.onap.dmaap-dr.props"));
- } catch (IOException e) {
- e.printStackTrace();
- }
Assert.assertEquals("tVac2#@Stx%tIOE^x[c&2fgZ", nodeAafPropsUtils.getDecryptedPass("cadi_keystore_password"));
}
}
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java
index 578053aa..9c945725 100644
--- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeConfigManagerTest.java
@@ -20,30 +20,69 @@
package org.onap.dmaap.datarouter.node;
+import static org.mockito.BDDMockito.given;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
+import java.io.InputStream;
import java.net.InetAddress;
import java.net.URL;
+import java.net.URLStreamHandler;
+import java.net.URLStreamHandlerFactory;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.HashMap;
+import java.util.Map;
import org.apache.commons.io.FileUtils;
+import org.junit.After;
import org.junit.AfterClass;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.mockito.Mock;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
+import sun.net.www.URLConnection;
-@RunWith(PowerMockRunner.class)
@PowerMockIgnore({"javax.net.ssl.*", "javax.security.auth.x500.X500Principal", "javax.crypto.*"})
-@PrepareForTest({InetAddress.class, URL.class})
+@PrepareForTest({InetAddress.class})
public class NodeConfigManagerTest {
- private NodeConfigManager nodeConfigManager = NodeConfigManager.getInstance();
+ private static HttpUrlStreamHandler httpUrlStreamHandler;
+
+ @Mock
+ InputStream inputStream;
+
+ @Mock
+ NodeConfig nodeConfig;
@BeforeClass
public static void init() {
System.setProperty("org.onap.dmaap.datarouter.node.properties", "src/test/resources/node_test.properties");
+ // Allows for mocking URL connections
+ URLStreamHandlerFactory urlStreamHandlerFactory = mock(URLStreamHandlerFactory.class);
+ URL.setURLStreamHandlerFactory(urlStreamHandlerFactory);
+ httpUrlStreamHandler = new HttpUrlStreamHandler();
+ given(urlStreamHandlerFactory.createURLStreamHandler("https")).willReturn(httpUrlStreamHandler);
+ }
+
+ @Before
+ public void reset() throws IOException {
+ String href = "https://dmaap-dr-prov:8443/internal/prov";
+ URLConnection urlConnection = mock(URLConnection.class);
+ httpUrlStreamHandler.addConnection(new URL(href), urlConnection);
+ //File prov = new File("src/test/resources/prov_data.json");
+ InputStream anyInputStream = new ByteArrayInputStream(Files.readAllBytes(Paths.get("src/test/resources/prov_data.json")));
+ when(urlConnection.getInputStream()).thenReturn(anyInputStream);
+ }
+
+ @After
+ public void resetHandler() {
+ httpUrlStreamHandler.resetConnections();
}
@AfterClass
@@ -54,6 +93,7 @@ public class NodeConfigManagerTest {
@Test
public void Verify_NodeConfigMan_Getters() {
+ NodeConfigManager nodeConfigManager = NodeConfigManager.getInstance();
Assert.assertEquals("legacy", nodeConfigManager.getAafInstance());
Assert.assertEquals("src/test/resources/spool/f", nodeConfigManager.getSpoolDir());
Assert.assertEquals("src/test/resources/spool", nodeConfigManager.getSpoolBase());
@@ -70,10 +110,55 @@ public class NodeConfigManagerTest {
Assert.assertEquals(new String[] {"TLSv1.1", "TLSv1.2"}, nodeConfigManager.getEnabledprotocols());
Assert.assertEquals("org.onap.dmaap-dr.feed", nodeConfigManager.getAafType());
Assert.assertEquals("publish", nodeConfigManager.getAafAction());
- Assert.assertEquals("https://aaf-locate:8095", nodeConfigManager.getAafURL());
Assert.assertFalse(nodeConfigManager.getCadiEnabled());
Assert.assertFalse(nodeConfigManager.isShutdown());
- Assert.assertFalse(nodeConfigManager.isConfigured());
+ Assert.assertTrue(nodeConfigManager.isConfigured());
+ Assert.assertEquals("legacy", nodeConfigManager.getAafInstance("1"));
+ Assert.assertNotNull(nodeConfigManager.getPublishId());
+ Assert.assertNotNull(nodeConfigManager.getAllDests());
+ Assert.assertEquals(10000, nodeConfigManager.getInitFailureTimer());
+ Assert.assertEquals(600000, nodeConfigManager.getWaitForFileProcessFailureTimer());
+ Assert.assertEquals(3600000, nodeConfigManager.getMaxFailureTimer());
+ Assert.assertEquals(2.0, nodeConfigManager.getFailureBackoff(),0.0);
+ Assert.assertEquals(86400000, nodeConfigManager.getExpirationTimer());
+ Assert.assertEquals(100, nodeConfigManager.getFairFileLimit());
+ Assert.assertEquals(60000, nodeConfigManager.getFairTimeLimit());
+ Assert.assertNotNull(nodeConfigManager.getTargets("1"));
+ Assert.assertEquals("src/test/resources/spool/f", nodeConfigManager.getSpoolDir());
+ Assert.assertEquals("src/test/resources/aaf/org.onap.dmaap-dr.p12", nodeConfigManager.getKSFile());
+ Assert.assertEquals("jks", nodeConfigManager.getTstype());
+ Assert.assertEquals("src/test/resources/aaf/org.onap.dmaap-dr.trust.jks", nodeConfigManager.getTsfile());
+ Assert.assertEquals(40, nodeConfigManager.getDeliveryThreads());
+ Assert.assertEquals("30", nodeConfigManager.getEventLogInterval());
+ Assert.assertFalse(nodeConfigManager.isFollowRedirects());
+ Assert.assertNotNull(nodeConfigManager.getTimer());
+ Assert.assertEquals("1", nodeConfigManager.getFeedId("1"));
+ Assert.assertEquals("Basic ZG1hYXAtZHItbm9kZTpsaEFUNHY2N3F3blY3QVFxV3ByMm84WXNuVjg9", nodeConfigManager.getMyAuth());
+ Assert.assertEquals(0.05, nodeConfigManager.getFreeDiskStart(), 0.0);
+ Assert.assertEquals(0.2, nodeConfigManager.getFreeDiskStop(), 0.0);
+ Assert.assertEquals("org.onap.dmaap-dr.feed|legacy|publish", nodeConfigManager.getPermission("legacy"));
}
+ /**
+ * {@link URLStreamHandler} that allows us to control the {@link URLConnection URLConnections} that are returned
+ * by {@link URL URLs} in the code under test.
+ */
+ public static class HttpUrlStreamHandler extends URLStreamHandler {
+
+ private Map<URL, URLConnection> connections = new HashMap();
+
+ @Override
+ protected URLConnection openConnection(URL url) {
+ return connections.get(url);
+ }
+
+ void resetConnections() {
+ connections = new HashMap();
+ }
+
+ HttpUrlStreamHandler addConnection(URL url, URLConnection urlConnection) {
+ connections.put(url, urlConnection);
+ return this;
+ }
+ }
} \ No newline at end of file
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServerTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServerTest.java
new file mode 100644
index 00000000..f72e581d
--- /dev/null
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServerTest.java
@@ -0,0 +1,119 @@
+/*
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2019 Nordix Foundation.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.dmaap.datarouter.node;
+
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+import java.io.IOException;
+import org.apache.commons.lang3.reflect.FieldUtils;
+import org.junit.AfterClass;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.powermock.api.mockito.PowerMockito;
+import org.powermock.core.classloader.annotations.SuppressStaticInitializationFor;
+import org.powermock.modules.junit4.PowerMockRunner;
+
+@RunWith(PowerMockRunner.class)
+@SuppressStaticInitializationFor("org.onap.dmaap.datarouter.node.NodeConfigManager")
+public class NodeServerTest {
+
+ private NodeConfigManager config = mock(NodeConfigManager.class);
+ @Before
+ public void setUp() throws Exception {
+ setUpConfig();
+ setUpNodeMainDelivery();
+ createFilesAndDirectories();
+ mock(Delivery.class);
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ deleteCreatedDirectories();
+ }
+
+ @Test
+ public void Verify_Node_Server_Is_Configured_Correctly() {
+ Assert.assertNotNull(NodeServer.getServerInstance());
+ }
+
+ private void setUpConfig() throws IllegalAccessException {
+ PowerMockito.mockStatic(NodeConfigManager.class);
+ when(config.isShutdown()).thenReturn(false);
+ when(config.isConfigured()).thenReturn(true);
+ when(config.getSpoolDir()).thenReturn("spool/f");
+ when(config.getSpoolBase()).thenReturn("spool");
+ when(config.getLogDir()).thenReturn("log/dir");
+ when(config.getPublishId()).thenReturn("User1");
+ when(config.isAnotherNode(anyString(), anyString())).thenReturn(true);
+ when(config.getEventLogInterval()).thenReturn("40");
+ when(config.isDeletePermitted("1")).thenReturn(true);
+ when(config.getAllDests()).thenReturn(new DestInfo[0]);
+ when(config.getKSType()).thenReturn("PKCS12");
+ when(config.getKSFile()).thenReturn("src/test/resources/aaf/org.onap.dmaap-dr.p12");
+ when(config.getKSPass()).thenReturn("tVac2#@Stx%tIOE^x[c&2fgZ");
+ when(config.getTstype()).thenReturn("jks");
+ when(config.getTsfile()).thenReturn("src/test/resources/aaf/org.onap.dmaap-dr.trust.jks");
+ when(config.getTspass()).thenReturn("XHX$2Vl?Lk*2CB.i1+ZFAhZd");
+ FieldUtils.writeDeclaredStaticField(NodeServlet.class, "config", config, true);
+ FieldUtils.writeDeclaredStaticField(NodeRunner.class, "nodeConfigManager", config, true);
+ PowerMockito.when(NodeConfigManager.getInstance()).thenReturn(config);
+ }
+
+ private void setUpNodeMainDelivery() throws IllegalAccessException{
+ Delivery delivery = mock(Delivery.class);
+ doNothing().when(delivery).resetQueue(anyObject());
+ FieldUtils.writeDeclaredStaticField(NodeServer.class, "delivery", delivery, true);
+ }
+
+ private void createFilesAndDirectories() throws IOException {
+ File nodeDir = new File("spool/n/172.0.0.1");
+ File spoolDir = new File("spool/s/0/1");
+ File dataFile = new File("spool/s/0/1/dmaap-dr-node.1234567");
+ File metaDataFile = new File("spool/s/0/1/dmaap-dr-node.1234567.M");
+ nodeDir.mkdirs();
+ spoolDir.mkdirs();
+ dataFile.createNewFile();
+ metaDataFile.createNewFile();
+ }
+
+ private static void deleteCreatedDirectories() {
+ File spoolDir = new File("spool");
+ delete(spoolDir);
+ }
+
+ private static void delete(File file) {
+ if (file.isDirectory()) {
+ for (File f: file.listFiles()) {
+ delete(f);
+ }
+ }
+ if (!file.delete()) {
+ System.out.println("Failed to delete: " + file);
+ }
+ }
+
+}
diff --git a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java
index b3db3201..136e21d4 100644
--- a/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java
+++ b/datarouter-node/src/test/java/org/onap/dmaap/datarouter/node/NodeServletTest.java
@@ -307,7 +307,7 @@ public class NodeServletTest {
when(config.isDeletePermitted("1")).thenReturn(true);
when(config.getAllDests()).thenReturn(new DestInfo[0]);
FieldUtils.writeDeclaredStaticField(NodeServlet.class, "config", config, true);
- FieldUtils.writeDeclaredStaticField(NodeMain.class, "nodeConfigManager", config, true);
+ FieldUtils.writeDeclaredStaticField(NodeRunner.class, "nodeConfigManager", config, true);
PowerMockito.when(NodeConfigManager.getInstance()).thenReturn(config);
}
@@ -318,7 +318,7 @@ public class NodeServletTest {
when(config.isConfigured()).thenReturn(true);
when(config.isDeletePermitted("1")).thenReturn(false);
FieldUtils.writeDeclaredStaticField(NodeServlet.class, "config", config, true);
- FieldUtils.writeDeclaredStaticField(NodeMain.class, "nodeConfigManager", config, true);
+ FieldUtils.writeDeclaredStaticField(NodeRunner.class, "nodeConfigManager", config, true);
PowerMockito.when(NodeConfigManager.getInstance()).thenReturn(config);
}
@@ -329,14 +329,14 @@ public class NodeServletTest {
when(config.isConfigured()).thenReturn(true);
when(config.isDeletePermitted("1")).thenThrow(new NullPointerException());
FieldUtils.writeDeclaredStaticField(NodeServlet.class, "config", config, true);
- FieldUtils.writeDeclaredStaticField(NodeMain.class, "nodeConfigManager", config, true);
+ FieldUtils.writeDeclaredStaticField(NodeRunner.class, "nodeConfigManager", config, true);
PowerMockito.when(NodeConfigManager.getInstance()).thenReturn(config);
}
private void setUpNodeMainDelivery() throws IllegalAccessException{
Delivery delivery = mock(Delivery.class);
doNothing().when(delivery).resetQueue(anyObject());
- FieldUtils.writeDeclaredStaticField(NodeMain.class, "delivery", delivery, true);
+ FieldUtils.writeDeclaredStaticField(NodeServer.class, "delivery", delivery, true);
}
private void setNodeConfigManagerIsConfiguredToReturnFalse() throws IllegalAccessException{
diff --git a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props
index 3f081b5d..70d01908 100644
--- a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props
+++ b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.cred.props
@@ -12,6 +12,6 @@ cadi_keystore=src/test/resources/aaf/org.onap.dmaap-dr.p12
cadi_keystore_password=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF
cadi_keystore_password_jks=enc:McsNbnuHb5tgoa_UMgdTdHqWEG4bt6VcPsc_NTzS277aDcrNRutDSBDYyyLD5no2
cadi_keystore_password_p12=enc:NwhywpJzc4rlcpwkPRs4GWkOliMQDb8d7kmKKK2QwtwQu4Q7i_psLw0baQ-NY3mF
-cadi_truststore=/opt/app/osaaf/local/org.onap.dmaap-dr.trust.jks
+cadi_truststore=src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
cadi_truststore_password=enc:xWbQBg4WdbHbQgvKGrol0ns16g9jgFYteR3nQkwTl65BtvtWf_ZKhSVP8w_Z0VHU
cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
diff --git a/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
new file mode 100644
index 00000000..c837fa05
--- /dev/null
+++ b/datarouter-node/src/test/resources/aaf/org.onap.dmaap-dr.trust.jks
Binary files differ
diff --git a/datarouter-node/src/test/resources/prov_data.json b/datarouter-node/src/test/resources/prov_data.json
new file mode 100644
index 00000000..cf455c71
--- /dev/null
+++ b/datarouter-node/src/test/resources/prov_data.json
@@ -0,0 +1,129 @@
+{
+ "feeds": [
+ {
+ "suspend": false,
+ "groupid": 0,
+ "description": "Default feed provisioned for PM File collector",
+ "version": "m1.0",
+ "authorization": {
+ "endpoint_addrs": [
+
+ ],
+ "classification": "unclassified",
+ "endpoint_ids": [
+ {
+ "password": "dradmin",
+ "id": "dradmin"
+ }
+ ]
+ },
+ "last_mod": 1560871903000,
+ "deleted": false,
+ "feedid": 1,
+ "name": "Default PM Feed",
+ "business_description": "Default Feed",
+ "aaf_instance": "legacy",
+ "publisher": "dradmin",
+ "links": {
+ "subscribe": "https://dmaap-dr-prov/subscribe/1",
+ "log": "https://dmaap-dr-prov/feedlog/1",
+ "publish": "https://dmaap-dr-prov/publish/1",
+ "self": "https://dmaap-dr-prov/feed/1"
+ },
+ "created_date": 1560871903000
+ }
+ ],
+ "groups": [
+ {
+ "authid": "GROUP-0000-c2754bb7-92ef-4869-9c6b-1bc1283be4c0",
+ "name": "Test Group",
+ "description": "Test Description of Group .",
+ "classification": "publisher/subscriber",
+ "members": "{id=attuid, name=User1}, {id=attuid, name=User 2]"
+ }
+ ],
+ "subscriptions": [
+ {
+ "suspend": false,
+ "delivery": {
+ "use100": true,
+ "password": "PASSWORD",
+ "user": "LOGIN",
+ "url": "https://dcae-pm-mapper:8443/delivery"
+ },
+ "subscriber": "dradmin",
+ "groupid": 0,
+ "metadataOnly": false,
+ "privilegedSubscriber": true,
+ "subid": 1,
+ "last_mod": 1560872889000,
+ "feedid": 1,
+ "follow_redirect": false,
+ "decompress": true,
+ "aaf_instance": "legacy",
+ "links": {
+ "feed": "https://dmaap-dr-prov/feed/1",
+ "log": "https://dmaap-dr-prov/sublog/1",
+ "self": "https://dmaap-dr-prov/subs/1"
+ },
+ "created_date": 1560872889000
+ }
+ ],
+ "parameters": {
+ "ACTIVE_POD": "dmaap-dr-prov",
+ "DELIVERY_FILE_PROCESS_INTERVAL": 600,
+ "DELIVERY_INIT_RETRY_INTERVAL": 10,
+ "DELIVERY_MAX_AGE": 86400,
+ "DELIVERY_MAX_RETRY_INTERVAL": 3600,
+ "DELIVERY_RETRY_RATIO": 2,
+ "LOGROLL_INTERVAL": 30,
+ "NODES": [
+ "dmaap-dr-node"
+ ],
+ "PROV_ACTIVE_NAME": "dmaap-dr-prov",
+ "PROV_AUTH_ADDRESSES": [
+ "dmaap-dr-prov",
+ "dmaap-dr-node"
+ ],
+ "PROV_AUTH_SUBJECTS": [
+ ""
+ ],
+ "PROV_DOMAIN": "",
+ "PROV_MAXFEED_COUNT": 10000,
+ "PROV_MAXSUB_COUNT": 100000,
+ "PROV_NAME": "dmaap-dr-prov",
+ "PROV_REQUIRE_CERT": "false",
+ "PROV_REQUIRE_SECURE": "true",
+ "STANDBY_POD": "",
+ "_INT_VALUES": [
+ "LOGROLL_INTERVAL",
+ "PROV_MAXFEED_COUNT",
+ "PROV_MAXSUB_COUNT",
+ "DELIVERY_INIT_RETRY_INTERVAL",
+ "DELIVERY_MAX_RETRY_INTERVAL",
+ "DELIVERY_RETRY_RATIO",
+ "DELIVERY_MAX_AGE",
+ "DELIVERY_FILE_PROCESS_INTERVAL"
+ ]
+ },
+ "ingress": [
+ {
+ "feedid": 1,
+ "subnet": "",
+ "user": "",
+ "node": [
+ "stub_from."
+ ]
+ }
+ ],
+ "egress": {
+ "1": "stub_to."
+ },
+ "routing": [
+ {
+ "from": 1,
+ "to": 3,
+ "via": 2
+ }
+ ]
+} \ No newline at end of file