summaryrefslogtreecommitdiffstats
path: root/applications/guard
diff options
context:
space:
mode:
Diffstat (limited to 'applications/guard')
-rw-r--r--applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslator.java9
-rw-r--r--applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslatorTest.java12
-rw-r--r--applications/guard/src/test/resources/test-bad-policies.yaml11
3 files changed, 28 insertions, 4 deletions
diff --git a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslator.java b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslator.java
index b3ee36bc..2b713740 100644
--- a/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslator.java
+++ b/applications/guard/src/main/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslator.java
@@ -3,6 +3,7 @@
* ONAP
* ================================================================================
* Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -129,6 +130,12 @@ public class GuardTranslator implements ToscaPolicyTranslator {
//
this.fillMetadataSection(newPolicyType, toscaPolicy.getMetadata());
//
+ // There should be properties metadata section
+ //
+ if (toscaPolicy.getProperties() == null) {
+ throw new ToscaPolicyConversionException("no properties specified on guard policy: " + policyName);
+ }
+ //
// Generate the TargetType - add true if not blacklist
//
newPolicyType.setTarget(this.generateTargetType(toscaPolicy.getProperties(),
@@ -694,4 +701,4 @@ public class GuardTranslator implements ToscaPolicyTranslator {
return rule;
}
-} \ No newline at end of file
+}
diff --git a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslatorTest.java b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslatorTest.java
index 7e5e3ed5..e4c958b9 100644
--- a/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslatorTest.java
+++ b/applications/guard/src/test/java/org/onap/policy/xacml/pdp/application/guard/GuardTranslatorTest.java
@@ -3,6 +3,7 @@
* ONAP
* ================================================================================
* Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2020 Nordix Foundation.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -35,6 +36,7 @@ import com.att.research.xacml.std.StdStatusCode;
import com.att.research.xacml.util.XACMLPolicyWriter;
import java.io.ByteArrayOutputStream;
import java.util.HashMap;
+import java.util.LinkedHashMap;
import java.util.Map;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
@@ -204,6 +206,16 @@ public class GuardTranslatorTest {
}
}
}
+
+ ToscaPolicy testPol = completedJtst.getToscaTopologyTemplate().getPolicies().get(0).values().iterator().next();
+
+ testPol.setProperties(new LinkedHashMap<>());
+ assertThatExceptionOfType(ToscaPolicyConversionException.class)
+ .isThrownBy(() -> translator.convertPolicy(testPol));
+
+ testPol.setProperties(null);
+ assertThatExceptionOfType(ToscaPolicyConversionException.class)
+ .isThrownBy(() -> translator.convertPolicy(testPol));
}
private void validateCommon(ToscaPolicy policy, PolicyType xacmlPolicy) {
diff --git a/applications/guard/src/test/resources/test-bad-policies.yaml b/applications/guard/src/test/resources/test-bad-policies.yaml
index 07040c54..eb39aded 100644
--- a/applications/guard/src/test/resources/test-bad-policies.yaml
+++ b/applications/guard/src/test/resources/test-bad-policies.yaml
@@ -5,6 +5,8 @@ topology_template:
type: onap.policies.controlloop.guard.common.FrequencyLimiter
type_version: 1.0.0
version: 1.0.0
+ properties:
+ badProperty: badValue
- frequency-timewindow:
type: onap.policies.controlloop.guard.common.FrequencyLimiter
type_version: 1.0.0
@@ -16,7 +18,8 @@ topology_template:
type: onap.policies.controlloop.guard.common.MinMax
type_version: 1.0.0
version: 1.0.0
- properties: null
+ properties:
+ badProperty: badValue
- minmax-nominmax:
type: onap.policies.controlloop.guard.common.MinMax
type_version: 1.0.0
@@ -27,12 +30,14 @@ topology_template:
type: onap.policies.controlloop.guard.common.Blacklist
type_version: 1.0.0
version: 1.0.0
- properties: null
+ properties:
+ badProperty: badValue
- filter-noalgorithm:
type: onap.policies.controlloop.guard.common.Filter
type_version: 1.0.0
version: 1.0.0
- properties: null
+ properties:
+ badProperty: badValue
- filter-badalgorithm:
type: onap.policies.controlloop.guard.common.Filter
type_version: 1.0.0