code improvements-sonar fixes
[cli.git] / profiles / http / src / test / java / org / onap / cli / fw / http / utils / OnapCommandUtilsTest.java
index 13b2db4..89504fb 100644 (file)
@@ -49,6 +49,13 @@ import org.onap.cli.fw.input.OnapCommandParameter;
 import org.onap.cli.fw.schema.OnapCommandSchema;
 import org.onap.cli.fw.schema.OnapCommandSchemaLoader;
 import org.onap.cli.fw.utils.OnapCommandUtils;
+import java.util.List;
+import org.onap.cli.fw.error.OnapCommandResultMapProcessingFailed;
+import org.onap.cli.fw.error.OnapCommandResultEmpty;
+import static org.junit.Assert.assertFalse;
+import org.onap.cli.fw.http.connect.HttpInput;
+import org.onap.cli.fw.http.connect.HttpInput.Part;
+import static org.junit.Assert.assertNotNull;
 
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
 public class OnapCommandUtilsTest {
@@ -61,7 +68,7 @@ public class OnapCommandUtilsTest {
     @Test
     public void oclipCommandUtilsInputStreamNotNullTest() throws OnapCommandException {
         Map<String, ?> map = OnapCommandSchemaLoader.validateSchemaVersion("sample-test1-schema-http.yaml", "1.0");
-        assertTrue(map != null);
+        assertNotNull(map);
     }
 
     @Test
@@ -70,7 +77,7 @@ public class OnapCommandUtilsTest {
         cmd.setName("sample-create-http");
         try {
             OnapCommandSchemaHttpLoader.loadHttpSchema(cmd, "sample-test-schema-http.yaml", true, true);
-            assertTrue(cmd.getSuccessStatusCodes().size() == 2);
+            assertEquals(2, cmd.getSuccessStatusCodes().size());
         } catch (OnapCommandParameterNameConflict | OnapCommandParameterOptionConflict
                 | OnapCommandInvalidParameterType | OnapCommandInvalidPrintDirection
                 | OnapCommandInvalidResultAttributeScope | OnapCommandSchemaNotFound | OnapCommandInvalidSchema
@@ -91,17 +98,21 @@ public class OnapCommandUtilsTest {
             }
         };
         OnapCommandSchemaLoader.loadSchema(cmd, "sample-test-schema-auth-required.yaml", true, false);
-        assertTrue("sample-test".equals(cmd.getName()));
+        assertEquals("sample-test", cmd.getName());
 
         Map<String, OnapCommandParameter> map = OnapCommandUtils.getInputMap(cmd.getParameters());
-        assertTrue(map.size() == 9);
+        assertEquals(9, map.size());
     }
 
     @Test(expected = OnapCommandHttpHeaderNotFound.class)
     public void populateOutputsTest() throws OnapCommandException {
         HttpResult output = new HttpResult();
         output.setBody(
-                "{\"serviceName\":\"test\",\"version\":\"v1\",\"url\":\"/api/test/v1\",\"protocol\":\"REST\",\"visualRange\":\"1\",\"lb_policy\":\"hash\",\"nodes\":[{\"ip\":\"127.0.0.1\",\"port\":\"8012\",\"ttl\":0,\"nodeId\":\"test_127.0.0.1_8012\",\"expiration\":\"2017-02-10T05:33:25Z\",\"created_at\":\"2017-02-10T05:33:25Z\",\"updated_at\":\"2017-02-10T05:33:25Z\"}],\"status\":\"1\"}");
+                "{\"serviceName\":\"test\",\"version\":\"v1\",\"url\":\"/api/test/v1\",\"protocol\":\"REST\","
+                + "\"visualRange\":\"1\",\"lb_policy\":\"hash\",\"nodes\":[{\"ip\":\"127.0.0.1\",\"port\":\"8012\","
+                + "\"ttl\":0,\"nodeId\":\"test_127.0.0.1_8012\",\"expiration\":\"2017-02-10T05:33:25Z\","
+                + "\"created_at\":\"2017-02-10T05:33:25Z\",\"updated_at\":\"2017-02-10T05:33:25Z\"}],"
+                + "\"status\":\"1\"}");
         Map<String, String> mapHead = new HashMap<>();
         mapHead.put("head1", "value1");
         output.setRespHeaders(mapHead);
@@ -112,7 +123,7 @@ public class OnapCommandUtilsTest {
         params.put("body", "$b{$.serviceName}");
         params.put("key", "value");
 
-        Map<String, ArrayList<String>> input1 = OnapCommandHttpUtils.populateOutputs(params, output);
+        Map<String, List<String>> input1 = OnapCommandHttpUtils.populateOutputs(params, output);
         assertEquals("{head=[value1], body=[test], key=[value]}", input1.toString());
 
         params.put("body", "$b{{$.serviceName}");
@@ -120,7 +131,8 @@ public class OnapCommandUtilsTest {
             input1 = OnapCommandHttpUtils.populateOutputs(params, output);
         } catch (OnapCommandHttpInvalidResponseBody e) {
             assertEquals(
-                    "0x3004::Http response body does not have json entry {$.serviceName, Missing property in path $['{$']",
+                    "0x3004::Http response body does not have json entry {$.serviceName, "
+                    + "Missing property in path $['{$']",
                     e.getMessage());
         }
         output.setBody("{}");
@@ -130,6 +142,31 @@ public class OnapCommandUtilsTest {
         input1 = OnapCommandHttpUtils.populateOutputs(params, output);
     }
 
+    @Test
+    public void replaceLineFromOutputResultsTest() throws OnapCommandHttpHeaderNotFound, OnapCommandHttpInvalidResponseBody, OnapCommandResultMapProcessingFailed, OnapCommandResultEmpty {
+        HttpResult output = new HttpResult();
+
+        Map<String, String> mapHead = new HashMap<>();
+        mapHead.put("head1", "value1");
+        output.setRespHeaders(mapHead);
+        output.setStatus(0);
+        List<String> actualResult = OnapCommandHttpUtils.replaceLineFromOutputResults("", output);
+        assertTrue(actualResult.get(0).isEmpty());
+        output.setBody("");
+        actualResult = OnapCommandHttpUtils.replaceLineFromOutputResults("$h{head1}$b{$.serviceName}", output);
+        assertTrue(actualResult.isEmpty());
+//        assertTrue(actualResult.size() > 0);
+        output.setBody(
+                "{\"serviceName\":\"test\",\"version\":\"v1\",\"url\":\"/api/test/v1\",\"protocol\":\"REST\","
+                        + "\"visualRange\":\"1\",\"lb_policy\":\"hash\",\"nodes\":[{\"ip\":\"127.0.0.1\",\"port\":\"8012\","
+                        + "\"ttl\":0,\"nodeId\":\"test_127.0.0.1_8012\",\"expiration\":\"2017-02-10T05:33:25Z\","
+                        + "\"created_at\":\"2017-02-10T05:33:25Z\",\"updated_at\":\"2017-02-10T05:33:25Z\"}],"
+                        + "\"status\":\"1\"}");
+        actualResult = OnapCommandHttpUtils.replaceLineFromOutputResults("$h{head1}${$.serviceName}", output);
+        assertTrue(actualResult.size()>0);
+        actualResult = OnapCommandHttpUtils.replaceLineFromOutputResults("$h{head1}$b{$.serviceName}", output);
+        assertFalse(actualResult.get(0).isEmpty());
+    }
     @OnapCommandSchema(schema = "sample-test-schema-http.yaml")
     class OnapHttpCommandSample extends OnapHttpCommand {
 
@@ -140,8 +177,53 @@ public class OnapCommandUtilsTest {
 
     @Test
     public void testJsonEmptyCheck() throws OnapCommandHttpInvalidRequestBody {
-        String sample = "{\"request\":{\"method\":\"\",\"uri\":\"/onboarding-api/v1.0/vendor-license-models/cf2d907d998e44698ce3b4cded5f66a7/versions/2.0/license-agreements\",\"headers\":{\"Authorization\":\"Basic Y3MwMDA4OmRlbW8xMjM0NTYh\",\"X-FromAppId\":\"onap-cli\",\"Accept\":\"application/json\",\"USER_ID\":\"cs0008\",\"X-TransactionId\":\"req-66a37478-d840-44f8-b436-56f4a3b6f640\",\"Content-Type\":\"application/json\"},\"json\":null},\"response\":{\"status\":200,\"json\":{\"listCount\":2,\"results\":[{\"name\":\"sf\",\"description\":\"sdfgdf\",\"licenseTerm\":{\"choice\":\"Fixed_Term\",\"other\":null},\"id\":\"1e2edfccaca847f896070d0fac26667a\",\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]},{\"name\":\"kanag-cli-la\",\"description\":\"kanag cli la\",\"licenseTerm\":{\"choice\":\"Fixed_Term\",\"other\":\"\"},\"id\":\"77e151d0503b45ecb7e40f5f5f1a887e\",\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]}]}}}";
-        String result = "{\"request\":{\"uri\":\"/onboarding-api/v1.0/vendor-license-models/cf2d907d998e44698ce3b4cded5f66a7/versions/2.0/license-agreements\",\"headers\":{\"Authorization\":\"Basic Y3MwMDA4OmRlbW8xMjM0NTYh\",\"X-FromAppId\":\"onap-cli\",\"Accept\":\"application/json\",\"USER_ID\":\"cs0008\",\"X-TransactionId\":\"req-66a37478-d840-44f8-b436-56f4a3b6f640\",\"Content-Type\":\"application/json\"}},\"response\":{\"status\":200,\"json\":{\"listCount\":2,\"results\":[{\"name\":\"sf\",\"description\":\"sdfgdf\",\"licenseTerm\":{\"choice\":\"Fixed_Term\"},\"id\":\"1e2edfccaca847f896070d0fac26667a\",\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]},{\"name\":\"kanag-cli-la\",\"description\":\"kanag cli la\",\"licenseTerm\":{\"choice\":\"Fixed_Term\"},\"id\":\"77e151d0503b45ecb7e40f5f5f1a887e\",\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]}]}}}";
+        String sample = "{\"request\":{\"method\":\"\",\"uri\":\"/onboarding-api/v1.0/"
+                + "vendor-license-models/cf2d907d998e44698ce3b4cded5f66a7/versions/2.0/license-agreements\","
+                + "\"headers\":{\"Authorization\":\"Basic Y3MwMDA4OmRlbW8xMjM0NTYh\",\"X-FromAppId\":\"onap-cli\","
+                + "\"Accept\":\"application/json\",\"USER_ID\":\"cs0008\","
+                + "\"X-TransactionId\":\"req-66a37478-d840-44f8-b436-56f4a3b6f640\","
+                + "\"Content-Type\":\"application/json\"},\"json\":null},"
+                + "\"response\":{\"status\":200,\"json\":{\"listCount\":2,"
+                + "\"results\":[{\"name\":\"sf\",\"description\":\"sdfgdf\","
+                + "\"licenseTerm\":{\"choice\":\"Fixed_Term\",\"other\":null},"
+                + "\"id\":\"1e2edfccaca847f896070d0fac26667a\","
+                + "\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]},"
+                + "{\"name\":\"kanag-cli-la\",\"description\":\"kanag cli la\","
+                + "\"licenseTerm\":{\"choice\":\"Fixed_Term\",\"other\":\"\"},"
+                + "\"id\":\"77e151d0503b45ecb7e40f5f5f1a887e\","
+                + "\"featureGroupsIds\":[\"3a2fb75b52a54e9c8093e7c154210f9e\"]}]}}}";
+        String result = "{\"request\":{\"uri\":"
+                + "\"/onboarding-api/v1.0/vendor-license-models/cf2d907d998e44698ce3b4cded5f66a7/"
+                + "versions/2.0/license-agreements\",\"headers\":"
+                + "{\"Authorization\":\"Basic Y3MwMDA4OmRlbW8xMjM0NTYh\","
+                + "\"X-FromAppId\":\"onap-cli\",\"Accept\":\"application/json\","
+                + "\"USER_ID\":\"cs0008\",\"X-TransactionId\":\"req-66a37478-d840-44f8-b436-56f4a3b6f640\","
+                + "\"Content-Type\":\"application/json\"}},\"response\":{\"status\":200,"
+                + "\"json\":{\"listCount\":2,\"results\":[{\"name\":\"sf\","
+                + "\"description\":\"sdfgdf\",\"licenseTerm\":{\"choice\":\"Fixed_Term\"},"
+                + "\"id\":\"1e2edfccaca847f896070d0fac26667a\",\"featureGroupsIds\":"
+                + "[\"3a2fb75b52a54e9c8093e7c154210f9e\"]},{\"name\":\"kanag-cli-la\","
+                + "\"description\":\"kanag cli la\",\"licenseTerm\":{\"choice\":\"Fixed_Term\"},"
+                + "\"id\":\"77e151d0503b45ecb7e40f5f5f1a887e\",\"featureGroupsIds\":"
+                + "[\"3a2fb75b52a54e9c8093e7c154210f9e\"]}]}}}";
         assertEquals(result, OnapCommandHttpUtils.normalizeJson(sample));
     }
+
+    @Test
+    public void testPopulateParameters() throws OnapCommandException {
+        List <Part> multiparts = new ArrayList <HttpInput.Part> ();
+        Part part = new Part();
+        part.setContent("content");
+        multiparts.add(part);
+        Map <String, OnapCommandParameter> params = new HashMap <String, OnapCommandParameter> ();
+        OnapCommandParameter onapCommandParameter = new OnapCommandParameter();
+        onapCommandParameter.setName("CMD");
+        onapCommandParameter.setRawDefaultValue("value");
+        params.put("key", onapCommandParameter);
+        HttpInput httpInput = new HttpInput();
+        httpInput.setMultiparts(multiparts);
+        HttpInput input = OnapCommandHttpUtils.populateParameters(params, httpInput);
+        assertNotNull(input);
+    }
+
 }