summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java111
-rw-r--r--appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/db/TestConfigResourceNode.java91
-rw-r--r--appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/ConfigResourceNodeTest.java188
-rw-r--r--appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/MockDbServiceBuilder.java36
4 files changed, 294 insertions, 132 deletions
diff --git a/appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java b/appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java
index e22567336..8b9b8ddfa 100644
--- a/appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java
+++ b/appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java
@@ -23,6 +23,10 @@
*/
package org.onap.appc.data.services.node;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -35,49 +39,65 @@ import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;
import org.onap.ccsdk.sli.core.sli.SvcLogicResource.QueryStatus;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
public class ConfigResourceNode implements SvcLogicJavaPlugin {
+ static final String DEVICE_CONF_PREFIX = "configfilereference-deviceconfig";
+ static final String DEVICE_CONF_FILE_TYPE = "device_configuration";
+
+ static final String SUCCESS_PREFIX = "configfilereference-success";
+ static final String SUCCESS_FILE_TYPE = "configuration_success";
+
+ static final String FAILURE_PREFIX = "configfilereference-failure";
+ static final String FAILURE_FILE_TYPE = "configuration_error";
+
+ static final String LOG_PREFIX = "configfilereference-log";
+ static final String LOG_FILE_TYPE = "log";
+
private static final EELFLogger log = EELFManager.getInstance().getLogger(ConfigResourceNode.class);
+ private final DGGeneralDBService db;
+
+ /**
+ * Constructor which provide default DB service
+ */
+ public ConfigResourceNode() {
+ db = DGGeneralDBService.initialise();
+ }
+
+ /**
+ * Constructor which allow to provide custom DB service, prefer to use no-arg constructor
+ */
+ public ConfigResourceNode(DGGeneralDBService dbService) {
+ db = dbService;
+ }
public void getConfigFileReference(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
log.info("Received getConfigFiles call with params : " + inParams);
-
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
try {
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
- QueryStatus status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, "configfilereference-deviceconfig",
- "device_configuration");
+ QueryStatus status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, DEVICE_CONF_PREFIX, DEVICE_CONF_FILE_TYPE);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to Read ConfigFileReference:device-configuration");
- status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, "configfilereference-success",
- "configuration_success");
+ status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, SUCCESS_PREFIX, SUCCESS_FILE_TYPE);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to Read ConfigFileReference:configuration_success");
- status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, "configfilereference-failure",
- "configuration_error");
+ status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, FAILURE_PREFIX, FAILURE_FILE_TYPE);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to Read ConfigFileReference:configuration_error");
- status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, "configfilereference-log", "log");
+ status = db.getConfigFileReferenceByFileTypeNVnfType(ctx, LOG_PREFIX, LOG_FILE_TYPE);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to Read ConfigFileReference:configuration_log");
-
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
log.info("GetConfigFileReference Successful ");
@@ -94,14 +114,10 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
public void getCommonConfigInfo(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
log.info("Received getDeviceInfo call with params : " + inParams);
-
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
try {
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
QueryStatus status = db.getDeviceProtocolByVnfType(ctx, "tmp.deviceinterfaceprotocol");
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
@@ -118,8 +134,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
throw new Exception("Unable to Read configure_action_dg");
}
-
-
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
log.info("getCommonConfigInfo Successful ");
@@ -139,7 +153,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
log.info("Received getTemplate call with params : " + inParams);
-
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
String fileCategory = inParams.get(AppcDataServiceConstant.INPUT_PARAM_FILE_CATEGORY);
String templateName = ctx.getAttribute("template-name");
@@ -152,13 +165,10 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
log.info("RESPONSEPREFIX : " + responsePrefix);
log.info("RESPONSEPREFIX1 : " + responsePrefix1);
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
if (StringUtils.isBlank(templateName)) {
// if ( !StringUtils.isBlank(ctx.getAttribute("vnfc-type"))) {
-
status = db.getTemplate(ctx, responsePrefix, fileCategory);
if (status == QueryStatus.FAILURE)
throw new Exception("Unable to Read " + fileCategory);
@@ -188,7 +198,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
throw new Exception("Unable to Read " + fileCategory + " template");
}
-
ctx.setAttribute(responsePrefix1 + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
log.info("GetTemplate Successful ");
@@ -211,7 +220,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
try {
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
QueryStatus status = db.saveConfigFiles(ctx, "tmp.configFiles");
if (status == QueryStatus.FAILURE)
@@ -249,7 +257,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
try {
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
ctx.setAttribute("tmp.escaped.devicerunningconfig",
EscapeUtils.escapeSql(ctx.getAttribute("device-running-config")));
@@ -292,7 +299,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
try {
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
QueryStatus status = db.savePrepareRelationship(ctx, "tmp.preparerel", fileId, sdcArtifactInd);
if (status == QueryStatus.FAILURE)
@@ -318,10 +324,8 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
try {
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
ctx.setAttribute("tmp.convertconfig.escapeData", EscapeUtils.escapeSql(ctx.getAttribute("configuration")));
- DGGeneralDBService db = DGGeneralDBService.initialise();
if (StringUtils.isBlank(ctx.getAttribute("configuration-params"))) {
saveDeviceConfiguration(inParams, ctx, "Request", ctx.getAttribute("tmp.convertconfig.escapeData"),
@@ -358,9 +362,7 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
try {
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
if (StringUtils.isBlank(ctx.getAttribute("configuration-params"))) {
@@ -397,11 +399,8 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
}
}
-
-
public void saveStyleSheetConfig(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
-
log.info("Received saveStyleSheet call with params : " + inParams);
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
@@ -414,7 +413,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
saveDeviceConfiguration(inParams, ctx, "StyleSheet", ctx.getAttribute("tmp.convertconfig.escapeData"),
ctx.getAttribute("tmp.merge.mergedData"));
-
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
log.info("saveStyleSheet Successful ");
@@ -428,10 +426,8 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
}
}
-
public void getSmmChainKeyFiles(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
-
log.info("Received saveStyleSheet call with params : " + inParams);
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
@@ -441,32 +437,24 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
try {
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
-
status = db.getTemplateByArtifactType(ctx, "smm", "smm", siteLocation);
if (status == QueryStatus.FAILURE)
throw new Exception("Unable to Read smm file");
-
status = db.getTemplateByArtifactType(ctx, "intermediate-ca-chain", "intermediate_ca_chain", siteLocation);
if (status == QueryStatus.FAILURE)
throw new Exception("Unable to Read intermediate_ca_chain file");
-
-
status = db.getTemplateByArtifactType(ctx, "server-certificate-and-key", "server_certificate_and_key",
siteLocation);
if (status == QueryStatus.FAILURE)
throw new Exception("Unable to Read server_certificate_and_key file");
-
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
log.info("saveStyleSheet Successful ");
@@ -480,7 +468,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
}
}
-
public void saveDeviceConfiguration(Map<String, String> inParams, SvcLogicContext ctx, String dataSource,
String fileContent, String deviceConfig) throws SvcLogicException {
ctx.setAttribute("data-source", dataSource);
@@ -505,7 +492,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
saveConfigFiles(inParams, ctx);
}
-
public void getConfigFilesByVnfVmNCategory(Map<String, String> inParams, SvcLogicContext ctx)
throws SvcLogicException {
@@ -516,16 +502,11 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
String vnfId = inParams.get(AppcDataServiceConstant.INPUT_PARAM_VNF_ID);
String vmName = inParams.get(AppcDataServiceConstant.INPUT_PARAM_VM_NAME);
try {
-
-
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
QueryStatus status = db.getConfigFilesByVnfVmNCategory(ctx, responsePrefix, fileCategory, vnfId, vmName);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to get " + ctx.getAttribute("fileCategory") + " from configfiles");
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
@@ -541,7 +522,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
}
}
-
public void getDownloadConfigTemplateByVnf(Map<String, String> inParams, SvcLogicContext ctx)
throws SvcLogicException {
@@ -549,14 +529,11 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
try {
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
QueryStatus status = db.getDownloadConfigTemplateByVnf(ctx, responsePrefix);
if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
throw new Exception("Unable to get download config template.");
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS);
@@ -572,11 +549,8 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
}
}
-
public void saveConfigTransactionLog(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
-
-
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
String messageType = inParams.get(AppcDataServiceConstant.INPUT_PARAM_MESSAGE_TYPE);
@@ -585,17 +559,13 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
try {
SvcLogicContext logctx = new SvcLogicContext();
-
String escapedMessage = EscapeUtils.escapeSql(message);
-
logctx.setAttribute("request-id", ctx.getAttribute("request-id"));
logctx.setAttribute("log-message-type", messageType);
logctx.setAttribute("log-message", escapedMessage);
-
responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";
- DGGeneralDBService db = DGGeneralDBService.initialise();
QueryStatus status = db.saveConfigTransactionLog(logctx, responsePrefix);
logctx.setAttribute("log-message", null);
@@ -603,33 +573,23 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
if (status == QueryStatus.FAILURE)
throw new Exception("Unable to insert into config_transaction_log");
-
} catch (Exception e) {
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_STATUS,
AppcDataServiceConstant.OUTPUT_STATUS_FAILURE);
ctx.setAttribute(responsePrefix + AppcDataServiceConstant.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());
-
throw new SvcLogicException(e.getMessage());
}
}
-
-
public void getVnfcReference(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {
log.info("Received getVnfcReference call with params : " + inParams);
String responsePrefix = inParams.get(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX);
-
-
QueryStatus status = null;
try {
-
-
- DGGeneralDBService db = DGGeneralDBService.initialise();
-
if (!StringUtils.isBlank(ctx.getAttribute("vnfc-type"))) {
status = db.getVnfcReferenceByVnfcTypeNAction(ctx, responsePrefix);
@@ -672,7 +632,6 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
return;
}
try {
- DGGeneralDBService db = DGGeneralDBService.initialise();
String cap = db.getCapability(ctx, inParams.get("vnf-type"));
log.info("getCapability::returned from DB::+cap");
if (StringUtils.isBlank(cap)) {
diff --git a/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/db/TestConfigResourceNode.java b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/db/TestConfigResourceNode.java
index 76ddbdcdf..e264ed5ad 100644
--- a/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/db/TestConfigResourceNode.java
+++ b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/db/TestConfigResourceNode.java
@@ -24,9 +24,12 @@
package org.onap.appc.data.services.db;
-import java.util.ArrayList;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import java.util.HashMap;
import java.util.Map;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import org.junit.Ignore;
import org.junit.Test;
@@ -35,25 +38,21 @@ import org.onap.appc.data.services.node.ConfigResourceNode;
import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
import org.onap.ccsdk.sli.core.sli.SvcLogicException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-
+@Deprecated // class must be rewritten
public class TestConfigResourceNode {
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetConfigFileReferenc() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
dbService.getConfigFileReference(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetTemplate() throws SvcLogicException {
@@ -63,75 +62,81 @@ public class TestConfigResourceNode {
ctx.setAttribute(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "tmp.test");
ctx.setAttribute("template-name", "test.json");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
dbService.getTemplate(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetVnfcReference() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
map.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "tmp.test");
dbService.getVnfcReference(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetSmmChainKeyFiles() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
ctx.setAttribute("site-location","test/location");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
map.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "tmp.test");
dbService.getSmmChainKeyFiles(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetDownloadConfigTemplateByVnf() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
map.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "tmp.test");
dbService.getDownloadConfigTemplateByVnf(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetCommonConfigInfo() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
dbService.getCommonConfigInfo(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testupdateUploadConfigss() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
ctx.setAttribute("test", "test");
- ConfigResourceNode dbService = new ConfigResourceNode();
- Map<String, String> map = new HashMap<String, String>();
+ ConfigResourceNode dbService = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> map = new HashMap<>();
dbService.updateUploadConfig(map, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testgetConfigFilesByVnfVmNCategory() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
- ConfigResourceNode node = new ConfigResourceNode();
- Map<String, String> inParams = new HashMap<String, String>();
+ ConfigResourceNode node = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> inParams = new HashMap<>();
inParams.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "response-prefix");
inParams.put(AppcDataServiceConstant.INPUT_PARAM_FILE_CATEGORY, "config_template");
inParams.put((String) AppcDataServiceConstant.INPUT_PARAM_VNF_ID, "test");
@@ -139,12 +144,13 @@ public class TestConfigResourceNode {
node.getConfigFilesByVnfVmNCategory(inParams, ctx);
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testsaveConfigTransactionLog() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
- ConfigResourceNode node = new ConfigResourceNode();
- Map<String, String> inParams = new HashMap<String, String>();
+ ConfigResourceNode node = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> inParams = new HashMap<>();
inParams.put(AppcDataServiceConstant.INPUT_PARAM_MESSAGE, "testMessage");
inParams.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "response-prefix");
inParams.put(AppcDataServiceConstant.INPUT_PARAM_MESSAGE_TYPE, "testmessage");
@@ -153,12 +159,13 @@ public class TestConfigResourceNode {
}
+ @Deprecated // timeout due NPE
@Ignore("Test is taking 60 seconds")
@Test(expected = Exception.class)
public void testsaveConfigBlock() throws SvcLogicException {
SvcLogicContext ctx = new SvcLogicContext();
- ConfigResourceNode node = new ConfigResourceNode();
- Map<String, String> inParams = new HashMap<String, String>();
+ ConfigResourceNode node = new ConfigResourceNode(DGGeneralDBService.initialise());
+ Map<String, String> inParams = new HashMap<>();
inParams.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "tmp");
ctx.setAttribute("configuration", "test");
ctx.setAttribute("tmp.convertconfig.escapeData", "test");
@@ -166,32 +173,4 @@ public class TestConfigResourceNode {
node.saveConfigBlock(inParams, ctx);
}
- @Test
- public void testProcessCapabilitiesForVMLevel () throws Exception {
- //{"capabilities":{"vnfc":[],"vm":[{"ConfigureTest":["SSC","MMSC"]}],"vf-module":[],"vnf":["ConfigModify","HealthCheck"]}}
- SvcLogicContext ctx = new SvcLogicContext();
- ConfigResourceNode node = new ConfigResourceNode();
- String findCapability="Restart";
- JsonNode subCapabilities = JsonNodeFactory.instance.objectNode();
- String subCaps= "[{\"Restart\":[\"SSC\",\"MMC\"]},{\"Rebuild\":[\"SSC\"]},{\"Migrate\":[\"SSC\"]},{\"Snapshot\":[\"SSC\"]},{\"Start\":[\"SSC\"]},{\"Stop\":[\"SSC\"]}]";
- ObjectMapper m = new ObjectMapper();
- subCapabilities = m.readTree(subCaps);
- String vServerId="testServer";
- ctx.setAttribute("tmp.vnfInfo.vm.vnfc.vnfc-function-code", "MMC");
- ctx.setAttribute("tmp.vnfInfo.vm.vnfc.vnfc-name","testVnfc") ;
- node.processCapabilitiesForVMLevel( vServerId, ctx,
- findCapability, subCapabilities);
- String result=ctx.getAttribute("capabilities");
- assertEquals(result,"Supported");
- }
-
- @Test
- public void testcheckIfCapabilityCheckNeeded () throws Exception {
- ConfigResourceNode node = new ConfigResourceNode();
- String findCapability="Start";
- String capLevel="vnf";
- boolean result=node.checkIfCapabilityCheckNeeded(capLevel,findCapability);
- assertFalse(result);
- }
-
}
diff --git a/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/ConfigResourceNodeTest.java b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/ConfigResourceNodeTest.java
new file mode 100644
index 000000000..6ee7a9da7
--- /dev/null
+++ b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/ConfigResourceNodeTest.java
@@ -0,0 +1,188 @@
+package org.onap.appc.data.services.node;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.JsonNodeFactory;
+import java.util.HashMap;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import static org.mockito.Mockito.mock;
+import org.onap.appc.data.services.db.DGGeneralDBService;
+import static org.onap.appc.data.services.node.ConfigResourceNode.DEVICE_CONF_FILE_TYPE;
+import static org.onap.appc.data.services.node.ConfigResourceNode.DEVICE_CONF_PREFIX;
+import static org.onap.appc.data.services.node.ConfigResourceNode.FAILURE_FILE_TYPE;
+import static org.onap.appc.data.services.node.ConfigResourceNode.FAILURE_PREFIX;
+import static org.onap.appc.data.services.node.ConfigResourceNode.LOG_FILE_TYPE;
+import static org.onap.appc.data.services.node.ConfigResourceNode.LOG_PREFIX;
+import static org.onap.appc.data.services.node.ConfigResourceNode.SUCCESS_FILE_TYPE;
+import static org.onap.appc.data.services.node.ConfigResourceNode.SUCCESS_PREFIX;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
+
+public class ConfigResourceNodeTest {
+
+ private HashMap<String, String> inParams;
+ private SvcLogicContext contextMock;
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Before
+ public void setUp() {
+ contextMock = mock(SvcLogicContext.class);
+ inParams = new HashMap<>();
+ }
+
+ /**
+ * Example data:
+ *
+ * {"capabilities":{"vnfc":[],"vm":[{"ConfigureTest":["SSC","MMSC"]}],"vf-module":[],"vnf":["ConfigModify","HealthCheck"]}}
+ *
+ */
+ @Test
+ public void shouldProcessCapabilitiesForVMLevel() throws Exception {
+ SvcLogicContext ctx = new SvcLogicContext();
+ ConfigResourceNode node = new ConfigResourceNode(DGGeneralDBService.initialise());
+ String findCapability = "Restart";
+ JsonNodeFactory.instance.objectNode();
+ String subCaps = "[{\"Restart\":[\"SSC\",\"MMC\"]},{\"Rebuild\":[\"SSC\"]},{\"Migrate\":[\"SSC\"]},{\"Snapshot\":[\"SSC\"]},{\"Start\":[\"SSC\"]},{\"Stop\":[\"SSC\"]}]";
+ ObjectMapper m = new ObjectMapper();
+ JsonNode subCapabilities = m.readTree(subCaps);
+ String vServerId = "testServer";
+ ctx.setAttribute("tmp.vnfInfo.vm.vnfc.vnfc-function-code", "MMC");
+ ctx.setAttribute("tmp.vnfInfo.vm.vnfc.vnfc-name", "testVnfc");
+ node.processCapabilitiesForVMLevel(vServerId, ctx, findCapability, subCapabilities);
+ String result = ctx.getAttribute("capabilities");
+ assertEquals(result, "Supported");
+ }
+
+ @Test
+ public void shouldCheckIfCapabilityCheckNeeded() {
+ ConfigResourceNode node = new ConfigResourceNode(DGGeneralDBService.initialise());
+ String findCapability = "Start";
+ String capLevel = "vnf";
+ boolean result = node.checkIfCapabilityCheckNeeded(capLevel, findCapability);
+ assertFalse(result);
+ }
+
+ @Test
+ public void should_not_throw_if_all_db_params_return_success() throws SvcLogicException {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder().build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_device_config_missing() throws Exception {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(DEVICE_CONF_PREFIX, DEVICE_CONF_FILE_TYPE, SvcLogicResource.QueryStatus.NOT_FOUND)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:device-configuration");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_device_config_failure() throws Exception {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(DEVICE_CONF_PREFIX, DEVICE_CONF_FILE_TYPE, SvcLogicResource.QueryStatus.FAILURE)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:device-configuration");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_success_param_missing() throws Exception {
+
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(SUCCESS_PREFIX, SUCCESS_FILE_TYPE, SvcLogicResource.QueryStatus.NOT_FOUND)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_success");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_success_param_failure() throws Exception {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(SUCCESS_PREFIX, SUCCESS_FILE_TYPE, SvcLogicResource.QueryStatus.FAILURE)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_success");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_failure_param_missing() throws Exception {
+
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(FAILURE_PREFIX, FAILURE_FILE_TYPE, SvcLogicResource.QueryStatus.NOT_FOUND)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_error");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_failure_param_failure() throws Exception {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(FAILURE_PREFIX, FAILURE_FILE_TYPE, SvcLogicResource.QueryStatus.FAILURE)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_error");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_log_param_missing() throws Exception {
+
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(LOG_PREFIX, LOG_FILE_TYPE, SvcLogicResource.QueryStatus.NOT_FOUND)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_log");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+ @Test
+ public void should_throw_exception_on_log_param_failure() throws Exception {
+ DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+ .configFileReference(LOG_PREFIX, LOG_FILE_TYPE, SvcLogicResource.QueryStatus.FAILURE)
+ .build();
+
+ ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+ expectedException.expect(SvcLogicException.class);
+ expectedException.expectMessage("Unable to Read ConfigFileReference:configuration_log");
+ configResourceNode.getConfigFileReference(inParams, contextMock);
+ }
+
+} \ No newline at end of file
diff --git a/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/MockDbServiceBuilder.java b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/MockDbServiceBuilder.java
new file mode 100644
index 000000000..04379e5dc
--- /dev/null
+++ b/appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/MockDbServiceBuilder.java
@@ -0,0 +1,36 @@
+package org.onap.appc.data.services.node;
+
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import org.onap.appc.data.services.db.DGGeneralDBService;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.onap.ccsdk.sli.core.sli.SvcLogicResource;
+
+class MockDbServiceBuilder {
+
+ private final DGGeneralDBService dbServiceMock;
+
+ MockDbServiceBuilder() throws SvcLogicException {
+ dbServiceMock = mock(DGGeneralDBService.class);
+
+ doReturn(SvcLogicResource.QueryStatus.SUCCESS)
+ .when(dbServiceMock)
+ .getConfigFileReferenceByFileTypeNVnfType(any(SvcLogicContext.class), anyString(), anyString());
+ }
+
+ MockDbServiceBuilder configFileReference(String prefix, String fileType, SvcLogicResource.QueryStatus status) throws SvcLogicException {
+ doReturn(status)
+ .when(dbServiceMock)
+ .getConfigFileReferenceByFileTypeNVnfType(any(SvcLogicContext.class), eq(prefix), eq(fileType));
+
+ return this;
+ }
+
+ DGGeneralDBService build() {
+ return dbServiceMock;
+ }
+}