Merge "update certificate"
authorGervais-Martial Ngueko <gervais-martial.ngueko@intl.att.com>
Tue, 9 Apr 2019 12:40:41 +0000 (12:40 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 9 Apr 2019 12:40:41 +0000 (12:40 +0000)
src/main/java/org/onap/clamp/policy/operational/OperationalPolicy.java
src/main/resources/clds/camel/rest/clamp-api-v2.xml
src/main/resources/clds/camel/routes/flexible-flow.xml
src/test/java/org/onap/clamp/policy/microservice/OperationalPolicyPayloadTest.java
src/test/resources/example/sdc/service-Vloadbalancerms-csar.csar
src/test/resources/tosca/operational-policy-no-guard-properties.json [new file with mode: 0644]

index 1859a4d..1e35ad6 100644 (file)
@@ -183,18 +183,20 @@ public class OperationalPolicy implements Serializable, Policy {
 
     /**
      * Return a map containing all Guard policies indexed by Guard policy Name.
-     * 
+     *
      * @return The Guards map
      */
     public Map<String, String> createGuardPolicyPayloads() {
         Map<String, String> result = new HashMap<>();
 
-        JsonObject guard = new JsonObject();
         JsonElement guardsList = this.getConfigurationsJson().get("guard_policies");
-        for (Entry<String, JsonElement> guardElem : guardsList.getAsJsonObject().entrySet()) {
-            guard.addProperty("policy-id", guardElem.getKey());
-            guard.add("contents", guardElem.getValue());
-            result.put(guardElem.getKey(), new GsonBuilder().create().toJson(guard));
+        if (guardsList != null) {
+            for (Entry<String, JsonElement> guardElem : guardsList.getAsJsonObject().entrySet()) {
+                JsonObject guard = new JsonObject();
+                guard.addProperty("policy-id", guardElem.getKey());
+                guard.add("contents", guardElem.getValue());
+                result.put(guardElem.getKey(), new GsonBuilder().create().toJson(guard));
+            }
         }
         return result;
     }
index 76f4588..810c9d2 100644 (file)
                                <to
                                        uri="bean:org.onap.clamp.authorization.AuthorizationController?method=authorize(*,'cl','','update')" />
                                <to uri="direct:load-loop" />
+                               <to
+                                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Receive SUBMIT request','INFO',${header.LoopObject})" />
                                <log
                                        loggingLevel="INFO"
                                        message="Processing all MICRO-SERVICES policies defined in loop ${header.LoopObject.getName()}" />
index 15a247b..33419c2 100644 (file)
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to create microservice policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('MicroService policy created successfully','INFO',${header.LoopObject})" />
        </route>
        <route id="delete-micro-service-policy">
                <from uri="direct:delete-micro-service-policy" />
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for microservice: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to delete microservice policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('MicroService policy deleted successfully','INFO',${header.LoopObject})" />
        </route>
 
        <route id="create-operational-policy">
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for operational ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to create operational policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational policy created successfully','INFO',${header.LoopObject})" />
        </route>
        <route id="delete-operational-policy">
                <from uri="direct:delete-operational-policy" />
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for operational: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to delete operational policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
-
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Operational policy deleted successfully','INFO',${header.LoopObject})" />
        </route>
 
        <route id="create-guard-policy">
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for operational ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to create guard policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Guard policy created successfully','INFO',${header.LoopObject})" />
        </route>
        <route id="delete-guard-policy">
                <from uri="direct:delete-guard-policy" />
                </setHeader>
                <log
                        loggingLevel="INFO"
-                       message="Policy Endpoint for operational: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
+                       message="Endpoint to delete guard policy: ${header.CamelHttpMethod} ${header.CamelHttpUri}"></log>
                <toD
                        uri="http4://policyhost:8085?throwExceptionOnFailure=${header.HttpQueryExceptionFlag}&amp;deleteWithBody=false&amp;mapHttpMessageBody=false&amp;mapHttpMessageFormUrlEncodedBody=false" />
+               <to
+                       uri="bean:org.onap.clamp.loop.log.LoopLogService?method=addLog('Guard policy deleted successfully','INFO',${header.LoopObject})" />
        </route>
 
 </routes>
\ No newline at end of file
index 739708c..76e29c3 100644 (file)
@@ -47,18 +47,29 @@ public class OperationalPolicyPayloadTest {
             .isEqualTo(ResourceFileUtil.getResourceAsString("tosca/operational-policy-payload.yaml"));
     }
 
+    @Test
+    public void testGuardPolicyEmptyPayloadConstruction() throws IOException {
+        JsonObject jsonConfig = new GsonBuilder().create().fromJson(
+            ResourceFileUtil.getResourceAsString("tosca/operational-policy-no-guard-properties.json"),
+            JsonObject.class);
+        OperationalPolicy policy = new OperationalPolicy("testPolicy", null, jsonConfig);
+        Map<String, String> guardsMap = policy.createGuardPolicyPayloads();
+        assertThat(guardsMap).isEmpty();
+        assertThat(guardsMap.entrySet()).isEmpty();
+    }
+
     @Test
     public void testGuardPolicyPayloadConstruction() throws IOException {
         JsonObject jsonConfig = new GsonBuilder().create().fromJson(
             ResourceFileUtil.getResourceAsString("tosca/operational-policy-properties.json"), JsonObject.class);
         OperationalPolicy policy = new OperationalPolicy("testPolicy", null, jsonConfig);
 
-        Map<String, String> guardsList = policy.createGuardPolicyPayloads();
+        Map<String, String> guardsMap = policy.createGuardPolicyPayloads();
 
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/guard1-policy-payload.json"),
-            guardsList.get("guard1"), false);
+            guardsMap.get("guard1"), false);
 
         JSONAssert.assertEquals(ResourceFileUtil.getResourceAsString("tosca/guard2-policy-payload.json"),
-            guardsList.get("guard2"), false);
+            guardsMap.get("guard2"), false);
     }
 }
index b3479ba..b5fe39d 100755 (executable)
Binary files a/src/test/resources/example/sdc/service-Vloadbalancerms-csar.csar and b/src/test/resources/example/sdc/service-Vloadbalancerms-csar.csar differ
diff --git a/src/test/resources/tosca/operational-policy-no-guard-properties.json b/src/test/resources/tosca/operational-policy-no-guard-properties.json
new file mode 100644 (file)
index 0000000..30c0440
--- /dev/null
@@ -0,0 +1,35 @@
+{
+       "operational_policy": {
+               "controlLoop": {
+                       "trigger_policy": "new",
+                       "timeout": "0",
+                       "abatement": "on",
+                       "controlLoopName": "LOOP_iYTIP_v1_0_ResourceInstanceName1_tca"
+               },
+               "policies": [
+                       {
+                               "id": "new",
+                               "recipe": "Restart",
+                               "retry": "10",
+                               "timeout": "10",
+                               "actor": "SO",
+                               "payload": "",
+                               "success": "",
+                               "failure": "",
+                               "failure_timeout": "",
+                               "failure_retries": "",
+                               "failure_exception": "",
+                               "failure_guard": "",
+                               "target": {
+                                       "type": "VM",
+                                       "resourceId": "",
+                                       "modelInvariantId": "",
+                                       "modelVersionId": "",
+                                       "modelName": "",
+                                       "modelVersion": "",
+                                       "modelCustomizationId": ""
+                               }
+                       }
+               ]
+       }
+}
\ No newline at end of file