+ @Test
+ public void testToscaCompliantOpDroolsPolicies() throws Exception {
+ Response rawResponse =
+ createResource(POLICYTYPES, TOSCA_POLICYTYPE_OP_RESOURCE);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = readResource(POLICYTYPES_DROOLS_VERSION, APP_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = createResource(POLICIES, TOSCA_POLICY_OP_DROOLS_VCPE_RESOURSE_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = createResource(POLICIES, TOSCA_POLICY_OP_DROOLS_VCPE_RESOURSE_YAML);
+ assertEquals(Response.Status.NOT_ACCEPTABLE.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = readResource(POLICYTYPES_DROOLS_POLICIES_VCPE_VERSION, APP_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = deleteResource(POLICYTYPES_DROOLS_POLICIES_VCPE_VERSION, APP_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = createResource(POLICIES, TOSCA_POLICY_OP_DROOLS_VCPE_RESOURSE_YAML);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = readResource(POLICYTYPES_DROOLS_POLICIES_VCPE_VERSION, APP_JSON);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ rawResponse = readResource(POLICYTYPES_DROOLS_POLICIES_VCPE_VERSION, APP_YAML);
+ assertEquals(Response.Status.OK.getStatusCode(), rawResponse.getStatus());
+
+ ToscaServiceTemplate toscaVcpeSt = rawResponse.readEntity(ToscaServiceTemplate.class);
+ assertEquals(1, toscaVcpeSt.getToscaTopologyTemplate().getPolicies().size());
+ assertEquals(OP_POLICY_NAME_VCPE,
+ toscaVcpeSt.getToscaTopologyTemplate().getPolicies().get(0).get(OP_POLICY_NAME_VCPE).getName());
+
+ Map<String, Object> props =
+ toscaVcpeSt.getToscaTopologyTemplate().getPolicies().get(0).get(OP_POLICY_NAME_VCPE).getProperties();
+ assertNotNull(props);
+
+ List<Object> operations = (List<Object>) props.get("operations");
+ assertEquals(1, operations.size());
+ assertEquals(props.get("trigger"), ((Map<String, Object>) operations.get(0)).get("id"));
+
+ Map<String, Object> operation =
+ (Map<String, Object>) ((Map<String, Object>) operations.get(0)).get("operation");
+ assertEquals("APPC", operation.get("actor"));
+ assertEquals("Restart", operation.get("recipe"));
+ }
+