+
+ @Test
+ @Transactional
+ public void testAddAndRemoveOperationalPolicies() {
+ saveTestLoopToDb();
+ PolicyModel policyModel = new PolicyModel("testPolicyModel",
+ "tosca_definitions_version: tosca_simple_yaml_1_0_0","1.0.0");
+ policyModelsService.saveOrUpdatePolicyModel(policyModel);
+
+ loopController.addOperationalPolicy(EXAMPLE_LOOP_NAME, "testPolicyModel", "1.0.0");
+
+ Loop newLoop = loopController.getLoop(EXAMPLE_LOOP_NAME);
+ Set<OperationalPolicy> opPolicyList = newLoop.getOperationalPolicies();
+ assertThat(opPolicyList.size()).isEqualTo(1);
+ for(OperationalPolicy policy : opPolicyList) {
+ assertThat(policy.getName().contains("OPERATIONAL_serviceName")).isTrue();
+ assertThat(policy.getPolicyModel().getPolicyModelType()).isEqualTo("testPolicyModel");
+ assertThat(policy.getPolicyModel().getVersion()).isEqualTo("1.0.0");
+ }
+
+ loopController.removeOperationalPolicy(EXAMPLE_LOOP_NAME, "testPolicyModel", "1.0.0");
+ Loop newLoop2 = loopController.getLoop(EXAMPLE_LOOP_NAME);
+ assertThat(newLoop2.getOperationalPolicies().size()).isEqualTo(0);
+ }