--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.dao;\r
+\r
+import org.junit.Assert;\r
+import org.junit.FixMethodOrder;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.junit.runners.MethodSorters;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
+public class ConfigPropertyMapDaoTest {\r
+ \r
+ @Autowired\r
+ private ConfigPropertyMapDao configPropertyMapDao;\r
+ \r
+ @Autowired\r
+ private QueryExecutorDao queryExecutorDao;\r
+ \r
+ @Test\r
+ public void testConfigResourcesData() throws Exception {\r
+ String sql = "INSERT INTO CONFIG_PROPERTY_MAP (reference_key, reference_value) VALUES ( ?, ?)";\r
+ Object[] data = new Object[] {"dummy123", "username123"};\r
+ int result = queryExecutorDao.update(sql, data);\r
+ Assert.assertNotNull("Failed to get Query Result", result);\r
+ \r
+ String propKeyValye = configPropertyMapDao.getConfigPropertyByKey("org.onap.ccsdk.config.rest.adaptors.test");\r
+ Assert.assertNull("propKeyValue is null", propKeyValye);\r
+ }\r
+ \r
+}\r
--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.dao;\r
+\r
+import java.nio.charset.Charset;\r
+import java.util.ArrayList;\r
+import java.util.Date;\r
+import java.util.List;\r
+import org.apache.commons.io.IOUtils;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.FixMethodOrder;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.junit.runners.MethodSorters;\r
+import org.onap.ccsdk.config.data.adaptor.domain.ConfigResource;\r
+import org.onap.ccsdk.config.data.adaptor.domain.ResourceAssignmentData;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
+public class ConfigResourceDaoTest {\r
+ \r
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigResourceDaoTest.class);\r
+ \r
+ @Autowired\r
+ private ConfigResourceDao configResourceDao;\r
+ \r
+ @Before\r
+ public void initialise() {\r
+ \r
+ }\r
+ \r
+ @Test\r
+ public void testAssignmentResourceData() throws Exception {\r
+ ConfigResource configResource = new ConfigResource();\r
+ String resourceData = IOUtils.toString(\r
+ ConfigResourceDaoTest.class.getClassLoader().getResourceAsStream("reference/resource_data.json"),\r
+ Charset.defaultCharset());\r
+ \r
+ logger.trace("resourceData = " + resourceData);\r
+ configResource.setResourceData(resourceData);\r
+ configResource.setServiceTemplateName("sample-name");\r
+ configResource.setServiceTemplateVersion("1.0.0");\r
+ configResource.setResourceId("123456");\r
+ configResource.setResourceType("vUSP - vDBE-IPX HUB");\r
+ configResource.setRequestId("123456");\r
+ configResource.setRecipeName("activate-action");\r
+ configResource.setTemplateName("vrr-service-template");\r
+ configResource.setMaskData(null);\r
+ configResource.setStatus("success");\r
+ configResource.setCreatedDate(new Date(System.currentTimeMillis()));\r
+ configResource.setUpdatedBy("an188a");\r
+ \r
+ List<ResourceAssignmentData> resourceAssignments = new ArrayList<>();\r
+ ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();\r
+ resourceAssignmentData.setDataType("string");\r
+ resourceAssignmentData.setStatus("success");\r
+ resourceAssignmentData.setMessage("success");\r
+ resourceAssignmentData.setTemplateKeyName("sample");\r
+ resourceAssignmentData.setResourceName("sample");\r
+ // resourceAssignmentData.setResourceValue("sample123");\r
+ resourceAssignmentData.setSource("input");\r
+ resourceAssignments.add(resourceAssignmentData);\r
+ configResource.setResourceAssignments(resourceAssignments);\r
+ \r
+ ConfigResource dbConfigResource = configResourceDao.save(configResource);\r
+ logger.info("Saved sucessfully : " + dbConfigResource.toString());\r
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);\r
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());\r
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,\r
+ dbConfigResource.getResourceAssignments().size() > 0);\r
+ }\r
+ \r
+ @Test\r
+ public void testConfigResourcesData() throws Exception {\r
+ ConfigResource configResourceInput = new ConfigResource();\r
+ configResourceInput.setResourceId("123456");\r
+ List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
+ Assert.assertNotNull("ConfigResources is null", dbConfigResources);\r
+ Assert.assertEquals("ConfigResources size missmatch", true, dbConfigResources.size() > 0);\r
+ \r
+ for (ConfigResource configResource : dbConfigResources) {\r
+ Assert.assertNotNull("ConfigResources Assignments is null", configResource.getResourceAssignments());\r
+ Assert.assertTrue("ConfigResources Assignments size miss mathch ",\r
+ configResource.getResourceAssignments().size() > 0);\r
+ logger.trace("ResourceAssignments = " + configResource.getResourceAssignments());\r
+ }\r
+ }\r
+ \r
+ @Test\r
+ public void testDeleteByConfigResource() throws Exception {\r
+ ConfigResource configResourceInput = new ConfigResource();\r
+ configResourceInput.setResourceId("123456");\r
+ \r
+ List<ConfigResource> dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
+ Assert.assertTrue("ConfigResources is null", !dbConfigResources.isEmpty());\r
+ \r
+ configResourceInput.setConfigResourceId(dbConfigResources.get(0).getConfigResourceId());\r
+ configResourceDao.deleteByConfigResource(configResourceInput);\r
+ \r
+ dbConfigResources = configResourceDao.findByConfigResource(configResourceInput);\r
+ Assert.assertTrue("ConfigResources is not null", dbConfigResources.isEmpty());\r
+ }\r
+}\r
--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.dao;\r
+\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.FixMethodOrder;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.junit.runners.MethodSorters;\r
+import org.onap.ccsdk.config.data.adaptor.DataAdaptorConstants;\r
+import org.onap.ccsdk.config.data.adaptor.domain.TransactionLog;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
+public class ConfigTransactionLogDaoTest {\r
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(ConfigTransactionLogDaoTest.class);\r
+ \r
+ @Autowired\r
+ private TransactionLogDao transactionLogDao;\r
+ \r
+ @Autowired\r
+ private NamedQueryExecutorDao namedQueryExecutorDao;\r
+ \r
+ @Before\r
+ public void initialise() {\r
+ \r
+ }\r
+ \r
+ @Test\r
+ public void testQueryExecution() throws Exception {\r
+ String requestId = "12345";\r
+ \r
+ transactionLogDao\r
+ .save(new TransactionLog(requestId, DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG, "Received Request"));\r
+ \r
+ List<TransactionLog> result = transactionLogDao.getTransactionsByRequestId(requestId);\r
+ logger.info("DB ArtifactReference :" + result);\r
+ Assert.assertNotNull("Failed to get Query Result", result);\r
+ \r
+ List<TransactionLog> result2 =\r
+ transactionLogDao.getTransactionsByRequestId(requestId, DataAdaptorConstants.LOG_MESSAGE_TYPE_LOG);\r
+ logger.info("DB ArtifactReference :" + result2);\r
+ Assert.assertNotNull("Failed to get Query Result", result2);\r
+ \r
+ String namedsql = "SELECT * FROM CONFIG_TRANSACTION_LOG WHERE request_id = :request_id";\r
+ Map<String, Object> parameters = new HashMap<>();\r
+ parameters.put("request_id", "12345");\r
+ List<Map<String, Object>> namedresult = namedQueryExecutorDao.query(namedsql, parameters);\r
+ logger.info("DB ArtifactReference :" + namedresult);\r
+ Assert.assertNotNull("Failed to get Query Result", namedresult);\r
+ \r
+ }\r
+ \r
+}\r
--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.dao;\r
+\r
+import java.util.Date;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.FixMethodOrder;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.junit.runners.MethodSorters;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+import com.att.eelf.configuration.EELFLogger;\r
+import com.att.eelf.configuration.EELFManager;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+@FixMethodOrder(MethodSorters.NAME_ASCENDING)\r
+public class QueryExecutorDaoTest {\r
+ private static EELFLogger logger = EELFManager.getInstance().getLogger(QueryExecutorDaoTest.class);\r
+ \r
+ @Autowired\r
+ private QueryExecutorDao queryExecutorDao;\r
+ \r
+ @Before\r
+ public void initialise() {\r
+ \r
+ }\r
+ \r
+ @Test\r
+ public void testInsertQueryExecution() throws Exception {\r
+ \r
+ String sql = "INSERT INTO CONFIG_RESOURCE"\r
+ + "(config_resource_id, resource_id, resource_type, template_name, recipe_name, request_id, resource_data, mask_data, created_date, updated_by) "\r
+ + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";\r
+ Object[] data =\r
+ new Object[] {"12345", "vUSP - vDBE-IPX HUB", "1234567", "activate-action", "vrr-service-template",\r
+ "resource-data", "mask-data", null, new Date(System.currentTimeMillis()), "ab1234"};\r
+ int result = queryExecutorDao.update(sql, data);\r
+ logger.info("Updated successfully rows :" + result);\r
+ Assert.assertNotNull("Failed to get Query Result", result);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdateQueryExecution() throws Exception {\r
+ \r
+ String sql = "UPDATE CONFIG_RESOURCE set recipe_name=? where config_resource_id=?";\r
+ Object[] data = new Object[] {"vce-service-template", "12345"};\r
+ int result = queryExecutorDao.update(sql, data);\r
+ logger.info("Updated successfully rows :" + result);\r
+ Assert.assertNotNull("Failed to get Query Result", result);\r
+ }\r
+ \r
+ @Test\r
+ public void testDeleteQueryExecution() throws Exception {\r
+ \r
+ String sql = "DELETE FROM CONFIG_RESOURCE where config_resource_id=?";\r
+ Object[] data = new Object[] {"12345"};\r
+ int result = queryExecutorDao.update(sql, data);\r
+ logger.info("Updated successfully rows :" + result);\r
+ Assert.assertNotNull("Failed to get Query Result", result);\r
+ }\r
+ \r
+}\r
--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.service;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.onap.ccsdk.config.data.adaptor.DataAdaptorConstants;\r
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.TransactionLogDao;\r
+import org.onap.ccsdk.sli.core.sli.SvcLogicContext;\r
+import org.onap.ccsdk.sli.core.sli.SvcLogicException;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+public class ConfigResourceNodeTest {\r
+ \r
+ ConfigResourceNode configResourceNode;\r
+ \r
+ ConfigResourceService configResourceService;\r
+ \r
+ @Autowired\r
+ TransactionLogDao transactionLogDao;\r
+ \r
+ @Autowired\r
+ ConfigResourceDao configResourceDao;\r
+ \r
+ @Autowired\r
+ QueryExecutorDao queryExecutorDao;\r
+ \r
+ @Autowired\r
+ NamedQueryExecutorDao namedQueryExecutorDao;\r
+ \r
+ @Autowired\r
+ ConfigPropertyMapDao configPropertyMapDao;\r
+ \r
+ @Before\r
+ public void before() {\r
+ configResourceService = new ConfigResourceServiceImpl(transactionLogDao, configResourceDao, queryExecutorDao,\r
+ namedQueryExecutorDao, configPropertyMapDao);\r
+ configResourceNode = new ConfigResourceNode(configResourceService);\r
+ }\r
+ \r
+ @Test\r
+ public void testSaveConfigTransactionLog() throws Exception {\r
+ Map<String, String> inParams = new HashMap<>();\r
+ inParams.put(DataAdaptorConstants.INPUT_PARAM_MESSAGE_TYPE, "messageType");\r
+ inParams.put(DataAdaptorConstants.INPUT_PARAM_MESSAGE, "message");\r
+ SvcLogicContext ctx = new SvcLogicContext();\r
+ ctx.setAttribute("request-id", "requestId12345");\r
+ \r
+ configResourceNode.saveConfigTransactionLog(inParams, ctx);\r
+ \r
+ Assert.assertTrue(!transactionLogDao.getTransactionsByRequestId("requestId12345").isEmpty());\r
+ }\r
+ \r
+ @Test(expected = SvcLogicException.class)\r
+ public void testSaveConfigTransactionLogException() throws Exception {\r
+ configResourceNode = new ConfigResourceNode(null);\r
+ configResourceNode.saveConfigTransactionLog(new HashMap<>(), new SvcLogicContext());\r
+ }\r
+}\r
--- /dev/null
+/*\r
+ * Copyright © 2017-2018 AT&T Intellectual Property.\r
+ * \r
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except\r
+ * in compliance with the License. You may obtain a copy of the License at\r
+ * \r
+ * http://www.apache.org/licenses/LICENSE-2.0\r
+ * \r
+ * Unless required by applicable law or agreed to in writing, software distributed under the License\r
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express\r
+ * or implied. See the License for the specific language governing permissions and limitations under\r
+ * the License.\r
+ */\r
+\r
+package org.onap.ccsdk.config.data.adaptor.service;\r
+\r
+import java.nio.charset.Charset;\r
+import java.util.ArrayList;\r
+import java.util.Date;\r
+import java.util.HashMap;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.UUID;\r
+import org.apache.commons.io.IOUtils;\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.junit.runner.RunWith;\r
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDaoTest;\r
+import org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDao;\r
+import org.onap.ccsdk.config.data.adaptor.dao.TransactionLogDao;\r
+import org.onap.ccsdk.config.data.adaptor.domain.ConfigResource;\r
+import org.onap.ccsdk.config.data.adaptor.domain.ResourceAssignmentData;\r
+import org.onap.ccsdk.config.data.adaptor.domain.TransactionLog;\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.test.context.ContextConfiguration;\r
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;\r
+\r
+@RunWith(SpringJUnit4ClassRunner.class)\r
+@ContextConfiguration(locations = {"classpath:test-context-h2db.xml"})\r
+public class ConfigResourceServiceTest {\r
+ \r
+ ConfigResourceService configResourceService;\r
+ \r
+ @Autowired\r
+ TransactionLogDao transactionLogDao;\r
+ \r
+ @Autowired\r
+ ConfigResourceDao configResourceDao;\r
+ \r
+ @Autowired\r
+ QueryExecutorDao queryExecutorDao;\r
+ \r
+ @Autowired\r
+ NamedQueryExecutorDao namedQueryExecutorDao;\r
+ \r
+ @Autowired\r
+ ConfigPropertyMapDao configPropertyMapDao;\r
+ \r
+ @Before\r
+ public void before() {\r
+ configResourceService = new ConfigResourceServiceImpl(transactionLogDao, configResourceDao, queryExecutorDao,\r
+ namedQueryExecutorDao, configPropertyMapDao);\r
+ }\r
+ \r
+ @Test\r
+ public void testUpdate() throws Exception {\r
+ String sql = "INSERT INTO CONFIG_RESOURCE"\r
+ + "(config_resource_id, resource_id, resource_type, template_name, recipe_name, request_id, resource_data, mask_data, created_date, updated_by) "\r
+ + "VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )";\r
+ Object[] data =\r
+ new Object[] {"54321", "vUSP - vDBE-IPX HUB", "1234567", "activate-action", "vrr-service-template",\r
+ "resource-data", "mask-data", null, new Date(System.currentTimeMillis()), "ab1234"};\r
+ int result = configResourceService.update(sql, data);\r
+ Assert.assertTrue(result == 1);\r
+ \r
+ sql = "SELECT * FROM CONFIG_RESOURCE WHERE config_resource_id = ?";\r
+ data = new Object[] {"54321"};\r
+ List<Map<String, Object>> queryResult = configResourceService.query(sql, data);\r
+ Assert.assertTrue(queryResult.size() == 1);\r
+ }\r
+ \r
+ @Test\r
+ public void testSaveAndGetConfigResource() throws Exception {\r
+ ConfigResource configResource = new ConfigResource();\r
+ String resourceData = IOUtils.toString(\r
+ ConfigResourceDaoTest.class.getClassLoader().getResourceAsStream("reference/resource_data.json"),\r
+ Charset.defaultCharset());\r
+ \r
+ configResource.setResourceData(resourceData);\r
+ configResource.setServiceTemplateName("sample-name");\r
+ configResource.setServiceTemplateVersion("1.0.0");\r
+ configResource.setResourceId("123456");\r
+ configResource.setResourceType("vUSP - vDBE-IPX HUB");\r
+ configResource.setRequestId("123456");\r
+ configResource.setRecipeName("activate-action");\r
+ configResource.setTemplateName("vrr-service-template");\r
+ configResource.setMaskData(null);\r
+ configResource.setStatus("success");\r
+ configResource.setCreatedDate(new Date(System.currentTimeMillis()));\r
+ configResource.setUpdatedBy("an188a");\r
+ \r
+ List<ResourceAssignmentData> resourceAssignments = new ArrayList<>();\r
+ ResourceAssignmentData resourceAssignmentData = new ResourceAssignmentData();\r
+ resourceAssignmentData.setDataType("string");\r
+ resourceAssignmentData.setStatus("success");\r
+ resourceAssignmentData.setMessage("success");\r
+ resourceAssignmentData.setTemplateKeyName("sample");\r
+ resourceAssignmentData.setResourceName("sample");\r
+ // resourceAssignmentData.setResourceValue("sample123");\r
+ resourceAssignmentData.setSource("input");\r
+ resourceAssignments.add(resourceAssignmentData);\r
+ configResource.setResourceAssignments(resourceAssignments);\r
+ \r
+ // save\r
+ ConfigResource dbConfigResource = configResourceService.saveConfigResource(configResource);\r
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);\r
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());\r
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,\r
+ dbConfigResource.getResourceAssignments().size() > 0);\r
+ Assert.assertEquals(configResource.getServiceTemplateVersion(), dbConfigResource.getServiceTemplateVersion());\r
+ \r
+ // update\r
+ configResource.setServiceTemplateVersion("1.0.1");\r
+ dbConfigResource = configResourceService.saveConfigResource(configResource);\r
+ Assert.assertNotNull("ConfigResource is null", dbConfigResource);\r
+ Assert.assertNotNull("Resource Assignment Data is null", dbConfigResource.getResourceAssignments());\r
+ Assert.assertEquals("Resource Assignment Data count missmatch", true,\r
+ dbConfigResource.getResourceAssignments().size() > 0);\r
+ Assert.assertEquals(configResource.getServiceTemplateVersion(), dbConfigResource.getServiceTemplateVersion());\r
+ \r
+ // find\r
+ ConfigResource configResourceInput = new ConfigResource();\r
+ configResourceInput.setResourceId(configResource.getResourceId());\r
+ configResourceInput.setTemplateName(configResource.getTemplateName());\r
+ configResourceInput.setServiceTemplateName(configResource.getServiceTemplateName());\r
+ configResourceInput.setServiceTemplateVersion(configResource.getServiceTemplateVersion());\r
+ configResourceInput.setRequestId(configResource.getRequestId());\r
+ configResourceInput.setRecipeName(configResource.getRecipeName());\r
+ configResourceInput.setResourceType(configResource.getResourceType());\r
+ List<ConfigResource> dbConfigResources = configResourceService.getConfigResource(configResourceInput);\r
+ Assert.assertNotNull("ConfigResources is null", dbConfigResources);\r
+ Assert.assertEquals("ConfigResources size missmatch", true, dbConfigResources.size() > 0);\r
+ \r
+ for (ConfigResource dbConfigResouce : dbConfigResources) {\r
+ Assert.assertNotNull("ConfigResources Assignments is null", dbConfigResouce.getResourceAssignments());\r
+ Assert.assertTrue("ConfigResources Assignments size miss mathch ",\r
+ dbConfigResouce.getResourceAssignments().size() > 0);\r
+ }\r
+ }\r
+ \r
+ @Test\r
+ public void testSaveAndGetTransactionLog() throws Exception {\r
+ TransactionLog transactionLog = new TransactionLog();\r
+ transactionLog.setMessage("message");\r
+ transactionLog.setMessageType("messageType");\r
+ transactionLog.setRequestId("requestId");\r
+ \r
+ configResourceService.save(transactionLog);\r
+ \r
+ List<TransactionLog> transactions =\r
+ configResourceService.getTransactionsByRequestId(transactionLog.getRequestId());\r
+ Assert.assertTrue(transactions.size() == 1);\r
+ transactions = configResourceService.getTransactionsByRequestId(transactionLog.getRequestId(),\r
+ transactionLog.getMessageType());\r
+ Assert.assertTrue(transactions.size() == 1);\r
+ }\r
+ \r
+ @Test\r
+ public void testNamedQueryExecutorUpdateNQuery() throws Exception {\r
+ Map<String, Object> parameters = new HashMap<>();\r
+ parameters.put("config_transaction_log_id", UUID.randomUUID().toString());\r
+ parameters.put("request_id", "requestId123");\r
+ parameters.put("message_type", "messageType");\r
+ parameters.put("message", "message");\r
+ configResourceService.update(\r
+ "INSERT INTO CONFIG_TRANSACTION_LOG ( config_transaction_log_id, request_id, message_type, message ) VALUES (:config_transaction_log_id, :request_id, :message_type, :message) ",\r
+ parameters);\r
+ \r
+ List<Map<String, Object>> result = configResourceService\r
+ .query("SELECT * FROM CONFIG_TRANSACTION_LOG WHERE request_id = :request_id", parameters);\r
+ \r
+ Assert.assertTrue(!result.isEmpty());\r
+ Assert.assertNotNull(configResourceService.getNamedParameterJdbcTemplate());\r
+ }\r
+}\r
--- /dev/null
+log4j.rootLogger=INFO, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %5p %t %X{UUID} %c{3}:%L - %m%n
+log4j.logger.org.hibernate=INFO
--- /dev/null
+{\r
+ "resource": {\r
+ "name": "bundle-mac",\r
+ "searchCriteriaDefintion": {\r
+ "sourceSystemResourceResolution": {\r
+ "searchCriteriaValue": "$ptnni_equip_name",\r
+ "searchCriteriaType": "equipment"\r
+ }\r
+ }\r
+ }\r
+} \r
--- /dev/null
+{\r
+ "group-name": "AG_AUTORP_NOOVERRIDE"\r
+}\r
--- /dev/null
+
+CREATE TABLE IF NOT EXISTS CONFIG_RESOURCE (
+ config_resource_id VARCHAR(50) PRIMARY KEY,
+ resource_id VARCHAR(50) NOT NULL,
+ resource_type VARCHAR(50) NOT NULL,
+ service_template_name VARCHAR(50) NULL DEFAULT NULL,
+ service_template_version VARCHAR(50) NULL DEFAULT NULL,
+ template_name VARCHAR(50) NOT NULL,
+ recipe_name VARCHAR(50) NOT NULL,
+ request_id VARCHAR(50) NOT NULL,
+ resource_data LONGTEXT NULL DEFAULT NULL,
+ mask_data LONGTEXT NULL DEFAULT NULL,
+ created_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ status VARCHAR(20) NOT NULL,
+ updated_by VARCHAR(50) NOT NULL
+);
+
+CREATE TABLE IF NOT EXISTS CONFIG_RESOURCE_ASSIGNMENT_DATA (
+ config_resource_assignment_data_id VARCHAR(50) PRIMARY KEY,
+ config_resource_id VARCHAR(50) NOT NULL,
+ version INT(11) NOT NULL,
+ updated_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ updated_by VARCHAR(50) NOT NULL,
+ template_key_name VARCHAR(50) NOT NULL,
+ resource_name VARCHAR(50) NOT NULL,
+ data_type VARCHAR(100) NOT NULL,
+ entry_schema VARCHAR(100) NULL DEFAULT NULL,
+ resource_value LONGTEXT NOT NULL,
+ source VARCHAR(50) NOT NULL,
+ status VARCHAR(50) NOT NULL,
+ message LONGTEXT NOT NULL
+);
+
+CREATE TABLE IF NOT EXISTS CONFIG_TRANSACTION_LOG (
+ config_transaction_log_id VARCHAR(50) PRIMARY KEY,
+ request_id VARCHAR(50) NULL DEFAULT NULL,
+ message_type VARCHAR(100) NULL DEFAULT NULL,
+ creation_date DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
+ message LONGTEXT NULL DEFAULT NULL
+);
+
+CREATE TABLE IF NOT EXISTS CONFIG_PROPERTY_MAP (
+ reference_key VARCHAR(100) NOT NULL,
+ reference_value VARCHAR(250) NOT NULL
+);
+
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+ Copyright © 2017-2018 AT&T Intellectual Property.\r
+ \r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+ \r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+ \r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+-->\r
+\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xmlns:jdbc="http://www.springframework.org/schema/jdbc"\r
+ xmlns:context="http://www.springframework.org/schema/context"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans\r
+ http://www.springframework.org/schema/beans/spring-beans-3.1.xsd\r
+ http://www.springframework.org/schema/jdbc\r
+ http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd\r
+ http://www.springframework.org/schema/context\r
+ http://www.springframework.org/schema/context/spring-context-3.1.xsd">\r
+\r
+ <context:annotation-config />\r
+\r
+ <bean id="test.dataSource"\r
+ class="org.springframework.jdbc.datasource.DriverManagerDataSource"\r
+ lazy-init="false">\r
+ <property name="driverClassName" value="org.h2.Driver" />\r
+ <property name="url"\r
+ value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" />\r
+ </bean>\r
+\r
+ <jdbc:initialize-database\r
+ data-source="test.dataSource">\r
+ <jdbc:script location="sql/schema.sql" />\r
+ </jdbc:initialize-database>\r
+\r
+ <bean id="jdbcTemplate"\r
+ class="org.springframework.jdbc.core.JdbcTemplate">\r
+ <property name="dataSource" ref="test.dataSource" />\r
+ </bean>\r
+\r
+ <bean id="namedParameterJdbcTemplate"\r
+ class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">\r
+ <constructor-arg ref="test.dataSource" />\r
+ </bean>\r
+\r
+ <bean id="configResourceDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="configPropertyMapDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="queryExecutorDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="namedQueryExecutorDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDaoImpl">\r
+ <constructor-arg ref="namedParameterJdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="transactionLogDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.TransactionLogDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <context:component-scan\r
+ base-package="org.onap.ccsdk.config.data.adaptor" />\r
+\r
+</beans>\r
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>\r
+<!--\r
+ Copyright © 2017-2018 AT&T Intellectual Property.\r
+ \r
+ Licensed under the Apache License, Version 2.0 (the "License");\r
+ you may not use this file except in compliance with the License.\r
+ You may obtain a copy of the License at\r
+ \r
+ http://www.apache.org/licenses/LICENSE-2.0\r
+ \r
+ Unless required by applicable law or agreed to in writing, software\r
+ distributed under the License is distributed on an "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ See the License for the specific language governing permissions and\r
+ limitations under the License.\r
+-->\r
+\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xmlns:jdbc="http://www.springframework.org/schema/jdbc"\r
+ xmlns:context="http://www.springframework.org/schema/context"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans\r
+ http://www.springframework.org/schema/beans/spring-beans-3.1.xsd\r
+ http://www.springframework.org/schema/jdbc\r
+ http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd\r
+ http://www.springframework.org/schema/context\r
+ http://www.springframework.org/schema/context/spring-context-3.1.xsd\r
+ ">\r
+\r
+ <context:annotation-config />\r
+\r
+ <bean id="test.dataSource"\r
+ class="org.springframework.jdbc.datasource.DriverManagerDataSource"\r
+ lazy-init="false">\r
+ <property name="driverClassName"\r
+ value="org.mariadb.jdbc.Driver" />\r
+ <property name="url"\r
+ value="jdbc:mysql://localhost:3306/sdnctl" />\r
+ <property name="username" value="sdnctl" />\r
+ <property name="password" value="sdnctl" />\r
+ </bean>\r
+\r
+\r
+ <!-- <bean id="test.dataSource" -->\r
+ <!-- class="org.springframework.jdbc.datasource.DriverManagerDataSource" -->\r
+ <!-- lazy-init="false"> -->\r
+ <!-- <property name="driverClassName" value="org.h2.Driver" /> -->\r
+ <!-- <property name="url" -->\r
+ <!-- value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" /> -->\r
+ <!-- </bean> -->\r
+ <!-- <jdbc:initialize-database data-source="test.dataSource"> -->\r
+ <!-- <jdbc:script location="sql/schema.sql" /> -->\r
+ <!-- </jdbc:initialize-database> -->\r
+ <!-- <bean id="dataSetup" -->\r
+ <!-- class="org.onap.ccsdk.config.data.adaptor.db.utils.DataSetup"> -->\r
+ <!-- <property name="testDb" ref="testDb" /> -->\r
+ <!-- </bean> -->\r
+ <!-- <bean id="testDb" class="org.onap.ccsdk.config.data.adaptor.db.utils.TestDb"> -->\r
+ <!-- <property name="jdbcTemplate" ref="jdbcTemplate" /> -->\r
+ <!-- </bean> -->\r
+\r
+ <bean id="jdbcTemplate"\r
+ class="org.springframework.jdbc.core.JdbcTemplate">\r
+ <property name="dataSource" ref="test.dataSource" />\r
+ </bean>\r
+\r
+ <bean id="namedParameterJdbcTemplate"\r
+ class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">\r
+ <constructor-arg ref="test.dataSource" />\r
+ </bean>\r
+\r
+ <bean id="configResourcelDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.ConfigResourceDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="ConfigPropertyMapDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.ConfigPropertyMapDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="queryExecutorDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.QueryExecutorDaoImpl">\r
+ <constructor-arg ref="jdbcTemplate" />\r
+ </bean>\r
+\r
+ <bean id="namedQueryExecutorDao"\r
+ class="org.onap.ccsdk.config.data.adaptor.dao.NamedQueryExecutorDaoImpl">\r
+ <constructor-arg ref="namedParameterJdbcTemplate" />\r
+ </bean>\r
+\r
+ <context:component-scan\r
+ base-package="org.onap.ccsdk.config.data.adaptor" />\r
+\r
+</beans>\r