Improved test coverage. 07/86707/4
authorJames Guistwite <jguistwite@iconectiv.com>
Wed, 1 May 2019 13:24:06 +0000 (09:24 -0400)
committerOren Kleks <orenkle@amdocs.com>
Wed, 29 May 2019 07:13:15 +0000 (07:13 +0000)
Reorganized some of the tests due to comments

Issue-ID: SDC-2238

Change-Id: I6b3bcc674c792f3c5c06e851a2cfe2d92eead07c
Signed-off-by: James Guistwite <jguistwite@iconectiv.com>
openecomp-be/api/openecomp-sdc-rest-webapp/externaltesting-rest/externaltesting-rest-services/src/test/java/org/openecomp/sdcrests/externaltesting/rest/services/ApiTest.java [moved from openecomp-be/api/openecomp-sdc-rest-webapp/externaltesting-rest/externaltesting-rest-services/src/test/java/org/openecomp/sdcrests/externaltesting/rest/services/ApiTests.java with 52% similarity]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/failedexecution.json [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ConfigurationTest.java [moved from openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/ConfigurationTests.java with 59% similarity]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ErrorBodyTest.java [moved from openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ErrorBodyTests.java with 97% similarity]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExecutionRequestTest.java [moved from openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExecutionRequestTests.java with 88% similarity]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/java/org/openecomp/core/externaltesting/api/ExternalTestingApiTests.java
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/ExternalTestingManagerImplTest.java [moved from openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/ExternalTestingManagerImplTests.java with 99% similarity]
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/ExternalTestingTestSuite.java
openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/TestingAccessConfigTest.java [new file with mode: 0644]

@@ -23,10 +23,12 @@ import org.mockito.MockitoAnnotations;
 import org.openecomp.core.externaltesting.api.*;
 import org.openecomp.core.externaltesting.errors.ExternalTestingException;
 
+import javax.ws.rs.core.Response;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
-public class ApiTests {
+public class ApiTest {
 
   private static final String EP = "ep";
   private static final String EXEC = "exec";
@@ -60,6 +62,13 @@ public class ApiTests {
     List<VtpTestExecutionRequest> requests =
         Arrays.asList(new VtpTestExecutionRequest(), new VtpTestExecutionRequest());
     Assert.assertNotNull(testing.execute(requests, "requestId"));
+
+
+    ClientConfiguration cc = new ClientConfiguration();
+    Assert.assertNotNull(testing.setConfig(cc));
+
+    ArrayList<RemoteTestingEndpointDefinition> lst = new ArrayList<>();
+    Assert.assertNotNull(testing.setEndpoints(lst));
   }
 
   class ApiTestExternalTestingManager implements ExternalTestingManager {
@@ -120,88 +129,132 @@ public class ApiTests {
   }
 
   /**
-   * Test the exception handler logic for the cases when the
-   * testing manager throws an exception.
+   * Test the exception handler logic for configuration get/set.
    */
-  @Test
-  public void testExceptions() {
+  @Test()
+  public void testConfigExceptions() {
     MockitoAnnotations.initMocks(this);
 
     ExternalTestingManager m = new ApiTestExternalTestingManager();
     ExternalTestingImpl testingF = new ExternalTestingImpl(m);
 
-    try {
-      testingF.getConfig();
-    }
-    catch (Exception ex) {
-      // expected.
-    }
+    Response getResponse = testingF.getConfig();
+    Assert.assertEquals(500, getResponse.getStatus());
 
+    Response setResponse = testingF.setConfig(new ClientConfiguration());
+    Assert.assertEquals(500, setResponse.getStatus());
+  }
 
-    try {
-      testingF.getEndpoints();
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+  /**
+   * Test the exception handler logic for endpoint get/set.
+   */
+  @Test()
+  public void testEndpointExceptions() {
+    MockitoAnnotations.initMocks(this);
 
-    try {
-      testingF.getExecution(EP, EXEC);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
-    try {
-      testingF.getScenarios(EP);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
 
-    try {
-      testingF.getTestcase(EP, SC, TS, TC);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+    Response getResponse = testingF.getEndpoints();
+    Assert.assertEquals(500, getResponse.getStatus());
 
-    try {
-      testingF.getTestcases(EP, SC);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+    Response setResponse = testingF.setEndpoints(new ArrayList<>());
+    Assert.assertEquals(500, setResponse.getStatus());
+  }
 
-    try {
-      testingF.getTestsuites(EP, SC);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+  /**
+   * Test the exception handler logic for executions (invocation and query).
+   */
+  @Test()
+  public void testExecutionExceptions() {
+    MockitoAnnotations.initMocks(this);
 
-    try {
-      testingF.getTestCasesAsTree();
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
 
-    List<VtpTestExecutionRequest> requestsF =
+    List<VtpTestExecutionRequest> requests =
         Arrays.asList(new VtpTestExecutionRequest(), new VtpTestExecutionRequest());
 
-    try {
-      testingF.execute(requestsF, null);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+    Response invokeResponse = testingF.execute(requests, null);
+    Assert.assertEquals(500, invokeResponse.getStatus());
 
+    Response getResponse = testingF.getExecution(EP, EXEC);
+    Assert.assertEquals(500, getResponse.getStatus());
+  }
 
-    try {
-      testingF.execute(requestsF, null);
-    }
-    catch (ExternalTestingException e) {
-      // expected.
-    }
+
+  /**
+   * Test the exception handler logic for the cases when the
+   * testing manager throws an accessing the scenarios.
+   */
+  @Test()
+  public void testScenarioExceptions() {
+    MockitoAnnotations.initMocks(this);
+
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
+
+    Response response = testingF.getScenarios(EP);
+    Assert.assertEquals(500, response.getStatus());
+  }
+
+  /**
+   * Test the exception handler logic for the cases when the
+   * testing manager throws an accessing a test case.
+   */
+  @Test()
+  public void testTestCaseExceptions() {
+    MockitoAnnotations.initMocks(this);
+
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
+
+    Response response = testingF.getTestcase(EP, SC, TS, TC);
+    Assert.assertEquals(500, response.getStatus());
+  }
+
+  /**
+   * Test the exception handler logic for the cases when the
+   * testing manager throws an accessing the test cases.
+   */
+  @Test()
+  public void testTestCasesExceptions() {
+    MockitoAnnotations.initMocks(this);
+
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
+
+    Response response = testingF.getTestcases(EP, SC);
+    Assert.assertEquals(500, response.getStatus());
+  }
+
+  /**
+   * Test the exception handler logic for the cases when the
+   * testing manager throws an accessing the test suites.
+   */
+  @Test()
+  public void testTestSuitesExceptions() {
+    MockitoAnnotations.initMocks(this);
+
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
+
+    Response response = testingF.getTestsuites(EP, SC);
+    Assert.assertEquals(500, response.getStatus());
+  }
+
+  /**
+   * Test the exception handler logic for the cases when the
+   * testing manager throws an accessing the test tree.
+   */
+  @Test()
+  public void testTreeExceptions() {
+    MockitoAnnotations.initMocks(this);
+
+    ExternalTestingManager m = new ApiTestExternalTestingManager();
+    ExternalTestingImpl testingF = new ExternalTestingImpl(m);
+
+    Response response = testingF.getTestCasesAsTree();
+    Assert.assertEquals(500, response.getStatus());
   }
 }
diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/failedexecution.json b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-api/src/test/data/failedexecution.json
new file mode 100644 (file)
index 0000000..089c3c1
--- /dev/null
@@ -0,0 +1,6 @@
+{
+  "code": "F-1131",
+  "message": "Failure reason",
+  "httpStatus": 500,
+  "status": "FAILED"
+}
  * limitations under the License.
  */
 
-package org.openecomp.core.externaltesting.impl;
+package org.openecomp.core.externaltesting.api;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import org.junit.Assert;
 import org.junit.Test;
 import org.onap.sdc.tosca.services.YamlUtil;
-import org.openecomp.core.externaltesting.api.ClientConfiguration;
-import org.openecomp.core.externaltesting.api.RemoteTestingEndpointDefinition;
 
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
 
-public class ConfigurationTests {
+public class ConfigurationTest {
 
   @Test
   public void testClientConfig() {
@@ -40,16 +38,6 @@ public class ConfigurationTests {
     Assert.assertFalse("client configuration setter", cc.isEnabled());
   }
 
-  @Test
-  public void testConfig() throws Exception {
-    try (InputStream fileInput = new FileInputStream(new File("src/test/data/externaltesting-configuration.yaml"))) {
-      YamlUtil yamlUtil = new YamlUtil();
-      Object raw = yamlUtil.yamlToMap(fileInput);
-      TestingAccessConfig accessConfig = new ObjectMapper().convertValue(raw, TestingAccessConfig.class);
-      Assert.assertNotNull("client config available", accessConfig.getClient());
-    }
-  }
-
   @Test
   public void testEndpointDefinition() {
     RemoteTestingEndpointDefinition def = new RemoteTestingEndpointDefinition();
@@ -59,19 +47,17 @@ public class ConfigurationTests {
     def.setApiKey("FOOBARBAZ");
     def.setUrl("http://example.com/vtptesting");
     def.setScenarioFilter("c.*");
-
-    RemoteTestingEndpointDefinition def2 = new RemoteTestingEndpointDefinition();
-    def2.setId("vtp");
-    def2.setEnabled(true);
-    def2.setTitle("VTP");
-    def2.setUrl("http://example.com/vtptesting");
-    def2.setApiKey("FOOBARBAZ");
-    def2.setScenarioFilter("c.*");
+    def.setConfig("vtp,VTP,true,http://example.com/vtptesting,c.*,FOO");
 
     Assert.assertEquals("code", "VTP", def.getTitle());
-    Assert.assertEquals("API keys equals", def.getApiKey(), def2.getApiKey());
-    Assert.assertEquals("code equals", def.getTitle(), def2.getTitle());
-    Assert.assertEquals("url equals", def.getUrl(), def2.getUrl());
+    Assert.assertEquals("API keys equals", "FOOBARBAZ", def.getApiKey());
+    Assert.assertEquals("code equals", "VTP", def.getTitle());
+    Assert.assertEquals("url equals", "http://example.com/vtptesting", def.getUrl());
+    Assert.assertEquals("filter equals", "c.*", def.getScenarioFilter());
+    Assert.assertTrue("enabled", def.isEnabled());
+    Assert.assertEquals("id equals", "vtp", def.getId());
+    Assert.assertNotNull("config has val", def.getConfig());
+
 
     boolean matches = def.getScenarioFilterPattern().matcher("certification").matches();
     Assert.assertTrue("pattern", matches);
@@ -25,7 +25,7 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.UUID;
 
-public class ExecutionRequestTests {
+public class ExecutionRequestTest {
 
   @Test
   public void testTestCase() throws Exception {
@@ -89,6 +89,19 @@ public class ExecutionRequestTests {
     Assert.assertEquals("COMPLETED", rsp.getStatus());
     Assert.assertNotNull(rsp.getStartTime());
     Assert.assertNotNull(rsp.getEndTime());
+
+    rsp = mapper.readValue(new File("src/test/data/failedexecution.json"), VtpTestExecutionResponse.class);
+    Assert.assertEquals("F-1131", rsp.getCode());
+    Assert.assertEquals("Failure reason", rsp.getMessage());
+    Assert.assertEquals(500, rsp.getHttpStatus().intValue());
+  }
+
+  @Test
+  public void testTreeConstructor() {
+    // test constructor.
+    TestTreeNode tree = new TestTreeNode("root", "Root");
+    Assert.assertEquals("root", tree.getName());
+    Assert.assertEquals("Root", tree.getDescription());
   }
 
   @Test
diff --git a/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/TestingAccessConfigTest.java b/openecomp-be/lib/openecomp-sdc-externaltesting-lib/openecomp-sdc-externaltesting-impl/src/test/java/org/openecomp/core/externaltesting/impl/TestingAccessConfigTest.java
new file mode 100644 (file)
index 0000000..698133b
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright © 2019 iconectiv
+ *
+ * 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.openecomp.core.externaltesting.impl;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Assert;
+import org.junit.Test;
+import org.onap.sdc.tosca.services.YamlUtil;
+import org.openecomp.core.externaltesting.api.ClientConfiguration;
+import org.openecomp.core.externaltesting.api.RemoteTestingEndpointDefinition;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+
+public class TestingAccessConfigTest {
+
+  @Test
+  public void testConfig() throws Exception {
+    try (InputStream fileInput = new FileInputStream(new File("src/test/data/externaltesting-configuration.yaml"))) {
+      YamlUtil yamlUtil = new YamlUtil();
+      Object raw = yamlUtil.yamlToMap(fileInput);
+      TestingAccessConfig accessConfig = new ObjectMapper().convertValue(raw, TestingAccessConfig.class);
+      Assert.assertNotNull("client config available", accessConfig.getClient());
+    }
+  }
+
+}