aboutsummaryrefslogtreecommitdiffstats
path: root/blueprints-processor/adaptors/data-adaptor-provider/src/test/java
diff options
context:
space:
mode:
authorSingal, Kapil (ks220y) <ks220y@att.com>2018-09-04 13:19:51 -0400
committerSingal, Kapil (ks220y) <ks220y@att.com>2018-09-04 13:19:51 -0400
commit7dc239c5f08a2fb1425054cc85d7868400aecf06 (patch)
treeeb05dbc47e742512196a8e6f31aa3e4f65969d4d /blueprints-processor/adaptors/data-adaptor-provider/src/test/java
parentc5abb16c82343925fe3ae7d350e9ef0fbfa7f89c (diff)
SDN Controller Blueprints Data Adaptor
Creating SDN Controller Blueprints Data Adaptor Junit Tests Change-Id: Icc825e46b5b128049ddcd4adc3fdc1037d0bee55 Issue-ID: CCSDK-511 Signed-off-by: Singal, Kapil (ks220y) <ks220y@att.com>
Diffstat (limited to 'blueprints-processor/adaptors/data-adaptor-provider/src/test/java')
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigPropertyMapDaoTest.java48
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoTest.java122
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigTransactionLogDaoTest.java76
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/QueryExecutorDaoTest.java78
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceNodeTest.java83
-rw-r--r--blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceServiceTest.java189
6 files changed, 596 insertions, 0 deletions
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigPropertyMapDaoTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigPropertyMapDaoTest.java
new file mode 100644
index 000000000..487bcd932
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigPropertyMapDaoTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.dao;
+
+import org.junit.Assert;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class ConfigPropertyMapDaoTest {
+
+ @Autowired
+ private ConfigPropertyMapDao configPropertyMapDao;
+
+ @Autowired
+ private QueryExecutorDao queryExecutorDao;
+
+ @Test
+ public void testConfigResourcesData() throws Exception {
+ String sql = "INSERT INTO CONFIG_PROPERTY_MAP (reference_key, reference_value) VALUES ( ?, ?)";
+ Object[] data = new Object[] {"dummy123", "username123"};
+ int result = queryExecutorDao.update(sql, data);
+ Assert.assertNotNull("Failed to get Query Result", result);
+
+ String propKeyValye = configPropertyMapDao.getConfigPropertyByKey("org.onap.ccsdk.config.rest.adaptors.test");
+ Assert.assertNull("propKeyValue is null", propKeyValye);
+ }
+
+}
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoTest.java
new file mode 100644
index 000000000..ae493e692
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigResourceDaoTest.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.dao;
+
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.config.data.adaptor.domain.ConfigResource;
+import org.onap.ccsdk.config.data.adaptor.domain.ResourceAssignmentData;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class ConfigResourceDaoTest {
+
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigResourceDaoTest.class);
+
+ @Autowired
+ private ConfigResourceDao configResourceDao;
+
+ @Before
+ public void initialise() {
+
+ }
+
+ @Test
+ public void testAssignmentResourceData() throws Exception {
+ ConfigResource configResource = new ConfigResource();
+ String resourceData = IOUtils.toString(
+ ConfigResourceDaoTest.class.getClassLoader().getResourceAsStream("reference/resource_data.json"),
+ Charset.defaultCharset());
+
+ logger.trace("resourceData = " + resourceData);
+ configResource.setResourceData(resourceData);
+ configResource.setServiceTemplateName("sample-name");
+ configResource.setServiceTemplateVersion("1.0.0");
+ configResource.setResourceId("123456");
+ configResource.setResourceType("vUSP - vDBE-IPX HUB");
+ configResource.setRequestId("123456");
+ configResource.setRecipeName("activate-action");
+ configResource.setTemplateName("vrr-service-template");
+ configResource.setMaskData(null);
+ configResource.setStatus("success");
+ configResource.setCreatedDate(new Date(System.currentTimeMillis()));
+ configResource.setUpdatedBy("an188a");
+
+ List<ResourceAssignmentData> resourceAssignments = new ArrayList<>();
+ ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();
+ resourceAssignmentData.setDataType("string");
+ resourceAssignmentData.setStatus("success");
+ resourceAssignmentData.setMessage("success");
+ resourceAssignmentData.setTemplateKeyName("sample");
+ resourceAssignmentData.setResourceName("sample");
+ // resourceAssignmentData.setResourceValue("sample123");
+ resourceAssignmentData.setSource("input");
+ resourceAssignments.add(resourceAssignmentData);
+ configResource.setResourceAssignments(resourceAssignments);
+
+ ConfigResource dbConfigResource = configResourceDao.save(configResource);
+ logger.info("Saved sucessfully : " + dbConfigResource.toString());
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,
+ dbConfigResource.getResourceAssignments().size() > 0);
+ }
+
+ @Test
+ public void testConfigResourcesData() throws Exception {
+ ConfigResource configResourceInput = new ConfigResource();
+ configResourceInput.setResourceId("123456");
+ List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);
+ Assert.assertNotNull("ConfigResources is null", dbConfigResources);
+ Assert.assertEquals("ConfigResources size missmatch", true, dbConfigResources.size() > 0);
+
+ for (ConfigResource configResource : dbConfigResources) {
+ Assert.assertNotNull("ConfigResources Assignments is null", configResource.getResourceAssignments());
+ Assert.assertTrue("ConfigResources Assignments size miss mathch ",
+ configResource.getResourceAssignments().size() > 0);
+ logger.trace("ResourceAssignments = " + configResource.getResourceAssignments());
+ }
+ }
+
+ @Test
+ public void testDeleteByConfigResource() throws Exception {
+ ConfigResource configResourceInput = new ConfigResource();
+ configResourceInput.setResourceId("123456");
+
+ List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);
+ Assert.assertTrue("ConfigResources is null", !dbConfigResources.isEmpty());
+
+ configResourceInput.setConfigResourceId(dbConfigResources.get(0).getConfigResourceId());
+ configResourceDao.deleteByConfigResource(configResourceInput);
+
+ dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);
+ Assert.assertTrue("ConfigResources is not null", dbConfigResources.isEmpty());
+ }
+}
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigTransactionLogDaoTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigTransactionLogDaoTest.java
new file mode 100644
index 000000000..1fceccebf
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/ConfigTransactionLogDaoTest.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.dao;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.onap.ccsdk.config.data.adaptor.DataAdaptorConstants;
+import org.onap.ccsdk.config.data.adaptor.domain.TransactionLog;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class ConfigTransactionLogDaoTest {
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigTransactionLogDaoTest.class);
+
+ @Autowired
+ private TransactionLogDao transactionLogDao;
+
+ @Autowired
+ private NamedQueryExecutorDao namedQueryExecutorDao;
+
+ @Before
+ public void initialise() {
+
+ }
+
+ @Test
+ public void testQueryExecution() throws Exception {
+ String requestId = "12345";
+
+ transactionLogDao
+ .save(new TransactionLog(requestId, DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG, "Received Request"));
+
+ List<TransactionLog> result = transactionLogDao.getTransactionsByRequestId(requestId);
+ logger.info("DB ArtifactReference :" + result);
+ Assert.assertNotNull("Failed to get Query Result", result);
+
+ List<TransactionLog> result2 =
+ transactionLogDao.getTransactionsByRequestId(requestId, DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG);
+ logger.info("DB ArtifactReference :" + result2);
+ Assert.assertNotNull("Failed to get Query Result", result2);
+
+ String namedsql = "SELECT * FROM CONFIG_TRANSACTION_LOG WHERE request_id = :request_id";
+ Map<String, Object> parameters = new HashMap<>();
+ parameters.put("request_id", "12345");
+ List<Map<String, Object>> namedresult = namedQueryExecutorDao.query(namedsql, parameters);
+ logger.info("DB ArtifactReference :" + namedresult);
+ Assert.assertNotNull("Failed to get Query Result", namedresult);
+
+ }
+
+}
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/QueryExecutorDaoTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/QueryExecutorDaoTest.java
new file mode 100644
index 000000000..ce3e95224
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/dao/QueryExecutorDaoTest.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.dao;
+
+import java.util.Date;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.FixMethodOrder;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.MethodSorters;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+public class QueryExecutorDaoTest {
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(QueryExecutorDaoTest.class);
+
+ @Autowired
+ private QueryExecutorDao queryExecutorDao;
+
+ @Before
+ public void initialise() {
+
+ }
+
+ @Test
+ public void testInsertQueryExecution() throws Exception {
+
+ String sql = "INSERT INTO CONFIG_RESOURCE"
+ + "(config_resource_id, resource_id, resource_type, template_name, recipe_name, request_id, resource_data, mask_data, created_date, updated_by) "
+ + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
+ Object[] data =
+ new Object[] {"12345", "vUSP - vDBE-IPX HUB", "1234567", "activate-action", "vrr-service-template",
+ "resource-data", "mask-data", null, new Date(System.currentTimeMillis()), "ab1234"};
+ int result = queryExecutorDao.update(sql, data);
+ logger.info("Updated successfully rows :" + result);
+ Assert.assertNotNull("Failed to get Query Result", result);
+ }
+
+ @Test
+ public void testUpdateQueryExecution() throws Exception {
+
+ String sql = "UPDATE CONFIG_RESOURCE set recipe_name=? where config_resource_id=?";
+ Object[] data = new Object[] {"vce-service-template", "12345"};
+ int result = queryExecutorDao.update(sql, data);
+ logger.info("Updated successfully rows :" + result);
+ Assert.assertNotNull("Failed to get Query Result", result);
+ }
+
+ @Test
+ public void testDeleteQueryExecution() throws Exception {
+
+ String sql = "DELETE FROM CONFIG_RESOURCE where config_resource_id=?";
+ Object[] data = new Object[] {"12345"};
+ int result = queryExecutorDao.update(sql, data);
+ logger.info("Updated successfully rows :" + result);
+ Assert.assertNotNull("Failed to get Query Result", result);
+ }
+
+}
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceNodeTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceNodeTest.java
new file mode 100644
index 000000000..847d5ed42
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceNodeTest.java
@@ -0,0 +1,83 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.service;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.ccsdk.config.data.adaptor.DataAdaptorConstants;
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDao;
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDao;
+import org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDao;
+import org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDao;
+import org.onap.ccsdk.config.data.adaptor.dao.TransactionLogDao;
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+public class ConfigResourceNodeTest {
+
+ ConfigResourceNode configResourceNode;
+
+ ConfigResourceService configResourceService;
+
+ @Autowired
+ TransactionLogDao transactionLogDao;
+
+ @Autowired
+ ConfigResourceDao configResourceDao;
+
+ @Autowired
+ QueryExecutorDao queryExecutorDao;
+
+ @Autowired
+ NamedQueryExecutorDao namedQueryExecutorDao;
+
+ @Autowired
+ ConfigPropertyMapDao configPropertyMapDao;
+
+ @Before
+ public void before() {
+ configResourceService = new ConfigResourceServiceImpl(transactionLogDao, configResourceDao, queryExecutorDao,
+ namedQueryExecutorDao, configPropertyMapDao);
+ configResourceNode = new ConfigResourceNode(configResourceService);
+ }
+
+ @Test
+ public void testSaveConfigTransactionLog() throws Exception {
+ Map<String, String> inParams = new HashMap<>();
+ inParams.put(DataAdaptorConstants.INPUT_PARAM_MESSAGE_TYPE, "messageType");
+ inParams.put(DataAdaptorConstants.INPUT_PARAM_MESSAGE, "message");
+ SvcLogicContext ctx = new SvcLogicContext();
+ ctx.setAttribute("request-id", "requestId12345");
+
+ configResourceNode.saveConfigTransactionLog(inParams, ctx);
+
+ Assert.assertTrue(!transactionLogDao.getTransactionsByRequestId("requestId12345").isEmpty());
+ }
+
+ @Test(expected = SvcLogicException.class)
+ public void testSaveConfigTransactionLogException() throws Exception {
+ configResourceNode = new ConfigResourceNode(null);
+ configResourceNode.saveConfigTransactionLog(new HashMap<>(), new SvcLogicContext());
+ }
+}
diff --git a/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceServiceTest.java b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceServiceTest.java
new file mode 100644
index 000000000..1240ca237
--- /dev/null
+++ b/blueprints-processor/adaptors/data-adaptor-provider/src/test/java/org/onap/ccsdk/config/data/adaptor/service/ConfigResourceServiceTest.java
@@ -0,0 +1,189 @@
+/*
+ * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
+ * 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.
+ */
+
+package org.onap.ccsdk.config.data.adaptor.service;
+
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import org.apache.commons.io.IOUtils;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDao;
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDao;
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDaoTest;
+import org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDao;
+import org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDao;
+import org.onap.ccsdk.config.data.adaptor.dao.TransactionLogDao;
+import org.onap.ccsdk.config.data.adaptor.domain.ConfigResource;
+import org.onap.ccsdk.config.data.adaptor.domain.ResourceAssignmentData;
+import org.onap.ccsdk.config.data.adaptor.domain.TransactionLog;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})
+public class ConfigResourceServiceTest {
+
+ ConfigResourceService configResourceService;
+
+ @Autowired
+ TransactionLogDao transactionLogDao;
+
+ @Autowired
+ ConfigResourceDao configResourceDao;
+
+ @Autowired
+ QueryExecutorDao queryExecutorDao;
+
+ @Autowired
+ NamedQueryExecutorDao namedQueryExecutorDao;
+
+ @Autowired
+ ConfigPropertyMapDao configPropertyMapDao;
+
+ @Before
+ public void before() {
+ configResourceService = new ConfigResourceServiceImpl(transactionLogDao, configResourceDao, queryExecutorDao,
+ namedQueryExecutorDao, configPropertyMapDao);
+ }
+
+ @Test
+ public void testUpdate() throws Exception {
+ String sql = "INSERT INTO CONFIG_RESOURCE"
+ + "(config_resource_id, resource_id, resource_type, template_name, recipe_name, request_id, resource_data, mask_data, created_date, updated_by) "
+ + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";
+ Object[] data =
+ new Object[] {"54321", "vUSP - vDBE-IPX HUB", "1234567", "activate-action", "vrr-service-template",
+ "resource-data", "mask-data", null, new Date(System.currentTimeMillis()), "ab1234"};
+ int result = configResourceService.update(sql, data);
+ Assert.assertTrue(result == 1);
+
+ sql = "SELECT * FROM CONFIG_RESOURCE WHERE config_resource_id = ?";
+ data = new Object[] {"54321"};
+ List<Map<String, Object>> queryResult = configResourceService.query(sql, data);
+ Assert.assertTrue(queryResult.size() == 1);
+ }
+
+ @Test
+ public void testSaveAndGetConfigResource() throws Exception {
+ ConfigResource configResource = new ConfigResource();
+ String resourceData = IOUtils.toString(
+ ConfigResourceDaoTest.class.getClassLoader().getResourceAsStream("reference/resource_data.json"),
+ Charset.defaultCharset());
+
+ configResource.setResourceData(resourceData);
+ configResource.setServiceTemplateName("sample-name");
+ configResource.setServiceTemplateVersion("1.0.0");
+ configResource.setResourceId("123456");
+ configResource.setResourceType("vUSP - vDBE-IPX HUB");
+ configResource.setRequestId("123456");
+ configResource.setRecipeName("activate-action");
+ configResource.setTemplateName("vrr-service-template");
+ configResource.setMaskData(null);
+ configResource.setStatus("success");
+ configResource.setCreatedDate(new Date(System.currentTimeMillis()));
+ configResource.setUpdatedBy("an188a");
+
+ List<ResourceAssignmentData> resourceAssignments = new ArrayList<>();
+ ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();
+ resourceAssignmentData.setDataType("string");
+ resourceAssignmentData.setStatus("success");
+ resourceAssignmentData.setMessage("success");
+ resourceAssignmentData.setTemplateKeyName("sample");
+ resourceAssignmentData.setResourceName("sample");
+ // resourceAssignmentData.setResourceValue("sample123");
+ resourceAssignmentData.setSource("input");
+ resourceAssignments.add(resourceAssignmentData);
+ configResource.setResourceAssignments(resourceAssignments);
+
+ // save
+ ConfigResource dbConfigResource = configResourceService.saveConfigResource(configResource);
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,
+ dbConfigResource.getResourceAssignments().size() > 0);
+ Assert.assertEquals(configResource.getServiceTemplateVersion(), dbConfigResource.getServiceTemplateVersion());
+
+ // update
+ configResource.setServiceTemplateVersion("1.0.1");
+ dbConfigResource = configResourceService.saveConfigResource(configResource);
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,
+ dbConfigResource.getResourceAssignments().size() > 0);
+ Assert.assertEquals(configResource.getServiceTemplateVersion(), dbConfigResource.getServiceTemplateVersion());
+
+ // find
+ ConfigResource configResourceInput = new ConfigResource();
+ configResourceInput.setResourceId(configResource.getResourceId());
+ configResourceInput.setTemplateName(configResource.getTemplateName());
+ configResourceInput.setServiceTemplateName(configResource.getServiceTemplateName());
+ configResourceInput.setServiceTemplateVersion(configResource.getServiceTemplateVersion());
+ configResourceInput.setRequestId(configResource.getRequestId());
+ configResourceInput.setRecipeName(configResource.getRecipeName());
+ configResourceInput.setResourceType(configResource.getResourceType());
+ List<ConfigResource> dbConfigResources = configResourceService.getConfigResource(configResourceInput);
+ Assert.assertNotNull("ConfigResources is null", dbConfigResources);
+ Assert.assertEquals("ConfigResources size missmatch", true, dbConfigResources.size() > 0);
+
+ for (ConfigResource dbConfigResouce : dbConfigResources) {
+ Assert.assertNotNull("ConfigResources Assignments is null", dbConfigResouce.getResourceAssignments());
+ Assert.assertTrue("ConfigResources Assignments size miss mathch ",
+ dbConfigResouce.getResourceAssignments().size() > 0);
+ }
+ }
+
+ @Test
+ public void testSaveAndGetTransactionLog() throws Exception {
+ TransactionLog transactionLog = new TransactionLog();
+ transactionLog.setMessage("message");
+ transactionLog.setMessageType("messageType");
+ transactionLog.setRequestId("requestId");
+
+ configResourceService.save(transactionLog);
+
+ List<TransactionLog> transactions =
+ configResourceService.getTransactionsByRequestId(transactionLog.getRequestId());
+ Assert.assertTrue(transactions.size() == 1);
+ transactions = configResourceService.getTransactionsByRequestId(transactionLog.getRequestId(),
+ transactionLog.getMessageType());
+ Assert.assertTrue(transactions.size() == 1);
+ }
+
+ @Test
+ public void testNamedQueryExecutorUpdateNQuery() throws Exception {
+ Map<String, Object> parameters = new HashMap<>();
+ parameters.put("config_transaction_log_id", UUID.randomUUID().toString());
+ parameters.put("request_id", "requestId123");
+ parameters.put("message_type", "messageType");
+ parameters.put("message", "message");
+ configResourceService.update(
+ "INSERT INTO CONFIG_TRANSACTION_LOG ( config_transaction_log_id, request_id, message_type, message ) VALUES (:config_transaction_log_id, :request_id, :message_type, :message) ",
+ parameters);
+
+ List<Map<String, Object>> result = configResourceService
+ .query("SELECT * FROM CONFIG_TRANSACTION_LOG WHERE request_id = :request_id", parameters);
+
+ Assert.assertTrue(!result.isEmpty());
+ Assert.assertNotNull(configResourceService.getNamedParameterJdbcTemplate());
+ }
+}