- String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
- LegacyGuardPolicyInput policyToCreate = standardCoder.decode(policyString, LegacyGuardPolicyInput.class);
- Map<String, LegacyGuardPolicyOutput> createdPolicy = guardPolicyProvider.createGuardPolicy(policyToCreate);
- assertNotNull(createdPolicy);
- assertFalse(createdPolicy.isEmpty());
- assertTrue(createdPolicy.containsKey("guard.frequency.scaleout"));
- assertEquals("onap.policies.controlloop.guard.FrequencyLimiter",
- createdPolicy.get("guard.frequency.scaleout").getType());
- assertEquals("1.0.0", createdPolicy.get("guard.frequency.scaleout").getVersion());
- }).doesNotThrowAnyException();
+ String policyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ LegacyGuardPolicyInput policyToCreate = standardCoder.decode(policyString, LegacyGuardPolicyInput.class);
+ Map<String, LegacyGuardPolicyOutput> createdPolicy = guardPolicyProvider.createGuardPolicy(policyToCreate);
+ assertNotNull(createdPolicy);
+ assertFalse(createdPolicy.isEmpty());
+ assertTrue(createdPolicy.containsKey("guard.frequency.scaleout"));
+ assertEquals("onap.policies.controlloop.guard.FrequencyLimiter",
+ createdPolicy.get("guard.frequency.scaleout").getType());
+ assertEquals("1.0.0", createdPolicy.get("guard.frequency.scaleout").getVersion());
+
+ assertThatThrownBy(() -> {
+ String badPolicyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE_WITH_NO_VERSION);
+ LegacyGuardPolicyInput badPolicyToCreate =
+ standardCoder.decode(badPolicyString, LegacyGuardPolicyInput.class);
+ guardPolicyProvider.createGuardPolicy(badPolicyToCreate);
+ }).hasMessage("mandatory field 'policy-version' is missing in the policy: guard.frequency.scaleout");
+
+ assertThatThrownBy(() -> {
+ String duplicatePolicyString = ResourceUtils.getResourceAsString(POLICY_RESOURCE);
+ LegacyGuardPolicyInput duplicatePolicyToCreate =
+ standardCoder.decode(duplicatePolicyString, LegacyGuardPolicyInput.class);
+ guardPolicyProvider.createGuardPolicy(duplicatePolicyToCreate);
+ }).hasMessage("guard policy guard.frequency.scaleout:1 already exists; its latest version is 1");