Add coverage for ConfigResourceNode-4 13/30613/1
authorkurczews <krzysztof.kurczewski@nokia.com>
Tue, 30 Jan 2018 13:39:46 +0000 (14:39 +0100)
committerkurczews <krzysztof.kurczewski@nokia.com>
Wed, 7 Feb 2018 07:26:25 +0000 (08:26 +0100)
Change-Id: I14f4afe16cb8b475f39927c1ee8d79594a01d5bc
Issue-ID: APPC-441
Signed-off-by: kurczews <krzysztof.kurczewski@nokia.com>
appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java
appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/ConfigResourceNodeTest.java
appc-config/appc-data-services/provider/src/test/java/org/onap/appc/data/services/node/MockDbServiceBuilder.java

index 40a8f5e..887f561 100644 (file)
@@ -59,10 +59,13 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
 
     static final String CONFIG_FILES_PREFIX = "tmp.configFiles";
     static final String MAX_CONF_FILE_PREFIX = "tmp.configfilesmax";
+    static final String UPLOAD_CONFIG_PREFIX = "tmp.uploadConfig";
+    static final String UPLOAD_CONFIG_INFO_PREFIX = "tmp.uploadConfigInfo";
 
     static final String PREPARE_RELATIONSHIP_PARAM = "tmp.preparerel";
     static final String CONFIG_FILE_ID_PARAM = "tmp.configfilesmax.configfileid";
     static final String FILE_CATEGORY_PARAM = "file-category";
+    static final String UPLOAD_CONFIG_ID_PARAM = "tmp.uploadConfigInfo.UPLOAD-CONFIG-ID";
 
     static final String SDC_IND = "N";
 
@@ -274,18 +277,18 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
             ctx.setAttribute("tmp.escaped.devicerunningconfig",
                     EscapeUtils.escapeSql(ctx.getAttribute("device-running-config")));
 
-            QueryStatus status = db.saveUploadConfig(ctx, "tmp.uploadConfig");
+            QueryStatus status = db.saveUploadConfig(ctx, UPLOAD_CONFIG_PREFIX);
 
             if (status == QueryStatus.FAILURE)
                 throw new Exception("Unable to Save configuration in upload_config");
 
-            status = db.getUploadConfigInfo(ctx, "tmp.uploadConfigInfo");
+            status = db.getUploadConfigInfo(ctx, UPLOAD_CONFIG_INFO_PREFIX);
 
             if (status == QueryStatus.NOT_FOUND || status == QueryStatus.FAILURE)
                 throw new Exception("Unable to get record from upload_config");
 
-            status = db.updateUploadConfig(ctx, "tmp.uploadConfig",
-                    Integer.parseInt(ctx.getAttribute("tmp.uploadConfigInfo.UPLOAD-CONFIG-ID")));
+            status = db.updateUploadConfig(ctx, UPLOAD_CONFIG_PREFIX,
+                    Integer.parseInt(ctx.getAttribute(UPLOAD_CONFIG_ID_PARAM)));
             if (status == QueryStatus.FAILURE)
                 throw new Exception("Unable to upload upload_config");
 
@@ -482,7 +485,7 @@ public class ConfigResourceNode implements SvcLogicJavaPlugin {
     }
 
     public void saveDeviceConfiguration(Map<String, String> inParams, SvcLogicContext ctx, String dataSource,
-            String fileContent, String deviceConfig) throws SvcLogicException {
+                                        String fileContent, String deviceConfig) throws SvcLogicException {
         ctx.setAttribute("data-source", dataSource);
         ctx.setAttribute("file-content", fileContent);
         ctx.setAttribute(FILE_CATEGORY_PARAM, "device_configuration");
index 694ee0c..6ecc1ed 100644 (file)
@@ -14,6 +14,7 @@ import static org.mockito.Matchers.anyString;
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 import org.onap.appc.data.services.AppcDataServiceConstant;
 import org.onap.appc.data.services.db.DGGeneralDBService;
 import static org.onap.appc.data.services.node.ConfigResourceNode.CONFIG_FILE_ID_PARAM;
@@ -32,6 +33,9 @@ import static org.onap.appc.data.services.node.ConfigResourceNode.SDC_IND;
 import static org.onap.appc.data.services.node.ConfigResourceNode.SUCCESS_FILE_TYPE;
 import static org.onap.appc.data.services.node.ConfigResourceNode.SUCCESS_PREFIX;
 import static org.onap.appc.data.services.node.ConfigResourceNode.CONFIG_FILES_PREFIX;
+import static org.onap.appc.data.services.node.ConfigResourceNode.UPLOAD_CONFIG_ID_PARAM;
+import static org.onap.appc.data.services.node.ConfigResourceNode.UPLOAD_CONFIG_INFO_PREFIX;
+import static org.onap.appc.data.services.node.ConfigResourceNode.UPLOAD_CONFIG_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;
@@ -121,6 +125,18 @@ public class ConfigResourceNodeTest {
         verify(contextMock).setAttribute(anyString(), eq(AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS));
     }
 
+    @Test
+    public void should_add_attribute_with_success_if_update_upload_config_succeed() throws SvcLogicException {
+        when(contextMock.getAttribute(UPLOAD_CONFIG_ID_PARAM)).thenReturn("1234");
+
+        DGGeneralDBService dbServiceMock = new MockDbServiceBuilder().build();
+
+        ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+        configResourceNode.updateUploadConfig(inParams, contextMock);
+
+        verify(contextMock).setAttribute(anyString(), eq(AppcDataServiceConstant.OUTPUT_STATUS_SUCCESS));
+    }
+
     @Test
     public void should_throw_exception_on_device_config_missing() throws Exception {
         DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
@@ -344,7 +360,7 @@ public class ConfigResourceNodeTest {
         expectedException.expectMessage("Unable to Read some file category");
         configResourceNode.getTemplate(inParams, contextMock);
     }
-    
+
     @Test
     public void should_throw_exception_on_db_template_by_name_missing() throws SvcLogicException {
         inParams.put(AppcDataServiceConstant.INPUT_PARAM_RESPONSE_PREFIX, "some prefix");
@@ -432,4 +448,58 @@ public class ConfigResourceNodeTest {
         configResourceNode.saveConfigFiles(inParams, context);
     }
 
+    @Test
+    public void should_throw_exception_on_save_upload_config_failure() throws SvcLogicException {
+        DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+            .saveUploadConfig(UPLOAD_CONFIG_PREFIX, SvcLogicResource.QueryStatus.FAILURE)
+            .build();
+
+        ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+        expectedException.expect(SvcLogicException.class);
+        expectedException.expectMessage("Unable to Save configuration in upload_config");
+        configResourceNode.updateUploadConfig(inParams, contextMock);
+    }
+
+    @Test
+    public void should_throw_exception_on_get_upload_config_failure() throws SvcLogicException {
+        DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+            .getUploadConfigInfo(UPLOAD_CONFIG_INFO_PREFIX, SvcLogicResource.QueryStatus.FAILURE)
+            .build();
+
+        ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+        expectedException.expect(SvcLogicException.class);
+        expectedException.expectMessage("Unable to get record from upload_config");
+        configResourceNode.updateUploadConfig(inParams, contextMock);
+    }
+
+    @Test
+    public void should_throw_exception_on_get_upload_config_missing() throws SvcLogicException {
+        DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+            .getUploadConfigInfo(UPLOAD_CONFIG_INFO_PREFIX, SvcLogicResource.QueryStatus.NOT_FOUND)
+            .build();
+
+        ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+        expectedException.expect(SvcLogicException.class);
+        expectedException.expectMessage("Unable to get record from upload_config");
+        configResourceNode.updateUploadConfig(inParams, contextMock);
+    }
+
+    @Test
+    public void should_throw_exception_on_update_upload_config_failure() throws SvcLogicException {
+        when(contextMock.getAttribute(UPLOAD_CONFIG_ID_PARAM)).thenReturn("1234");
+
+        DGGeneralDBService dbServiceMock = new MockDbServiceBuilder()
+            .updateUploadConfig(UPLOAD_CONFIG_PREFIX, 1234, SvcLogicResource.QueryStatus.FAILURE)
+            .build();
+
+        ConfigResourceNode configResourceNode = new ConfigResourceNode(dbServiceMock);
+
+        expectedException.expect(SvcLogicException.class);
+        expectedException.expectMessage("Unable to upload upload_config");
+        configResourceNode.updateUploadConfig(inParams, contextMock);
+    }
+
 }
\ No newline at end of file
index e7198b2..40bf697 100644 (file)
@@ -1,7 +1,6 @@
 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;
@@ -16,10 +15,6 @@ class MockDbServiceBuilder {
 
     MockDbServiceBuilder() throws SvcLogicException {
         dbServiceMock = mock(DGGeneralDBService.class);
-
-        doReturn(SvcLogicResource.QueryStatus.SUCCESS)
-            .when(dbServiceMock)
-            .getConfigFileReferenceByFileTypeNVnfType(any(SvcLogicContext.class), anyString(), anyString());
     }
 
     MockDbServiceBuilder getConfigFileReferenceByFileTypeNVnfType(String prefix, String fileType, SvcLogicResource.QueryStatus status) throws SvcLogicException {
@@ -102,6 +97,30 @@ class MockDbServiceBuilder {
         return this;
     }
 
+    public MockDbServiceBuilder saveUploadConfig(String prefix, SvcLogicResource.QueryStatus status) throws SvcLogicException {
+        doReturn(status)
+            .when(dbServiceMock)
+            .saveUploadConfig(any(SvcLogicContext.class), eq(prefix));
+
+        return this;
+    }
+
+    public MockDbServiceBuilder getUploadConfigInfo(String prefix, SvcLogicResource.QueryStatus status) throws SvcLogicException {
+        doReturn(status)
+            .when(dbServiceMock)
+            .getUploadConfigInfo(any(SvcLogicContext.class), eq(prefix));
+
+        return this;
+    }
+
+    public MockDbServiceBuilder updateUploadConfig(String prefix, int maxId, SvcLogicResource.QueryStatus status) throws SvcLogicException {
+        doReturn(status)
+            .when(dbServiceMock)
+            .updateUploadConfig(any(SvcLogicContext.class), eq(prefix), eq(maxId));
+
+        return this;
+    }
+
     DGGeneralDBService build() {
         return dbServiceMock;
     }