diff options
Diffstat (limited to 'applications/common/src/test')
-rw-r--r-- | applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/ToscaPolicyTranslatorUtilsTest.java | 46 |
1 files changed, 44 insertions, 2 deletions
diff --git a/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/ToscaPolicyTranslatorUtilsTest.java b/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/ToscaPolicyTranslatorUtilsTest.java index 5d451e2c..99627f67 100644 --- a/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/ToscaPolicyTranslatorUtilsTest.java +++ b/applications/common/src/test/java/org/onap/policy/pdp/xacml/application/common/ToscaPolicyTranslatorUtilsTest.java @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP * ================================================================================ - * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,15 +25,23 @@ package org.onap.policy.pdp.xacml.application.common; import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertTrue; +import com.att.research.xacml.api.XACML3; import java.lang.reflect.Constructor; import java.lang.reflect.Modifier; import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType; import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.ApplyType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.ConditionType; import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObjectFactory; import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableReferenceType; import org.junit.Test; public class ToscaPolicyTranslatorUtilsTest { + private static final ObjectFactory factory = new ObjectFactory(); @Test public void test() throws NoSuchMethodException, SecurityException { @@ -45,7 +53,9 @@ public class ToscaPolicyTranslatorUtilsTest { @Test public void testTimeInRange() { - assertThat(ToscaPolicyTranslatorUtils.generateTimeInRange("T00:00:00Z", "T08:00:00Z")).isNotNull(); + ApplyType apply = ToscaPolicyTranslatorUtils.generateTimeInRange("00:00:00Z", "08:00:00Z", true); + assertThat(apply).isNotNull(); + assertThat(apply.getExpression()).hasSize(3); } @Test @@ -68,4 +78,36 @@ public class ToscaPolicyTranslatorUtilsTest { assertThat(ToscaPolicyTranslatorUtils.parseInteger("1")).isEqualTo(1); assertThat(ToscaPolicyTranslatorUtils.parseInteger("1.0")).isEqualTo(1); } + + @Test + public void testAddingVariables() { + ApplyType applyType = new ApplyType(); + applyType.setFunctionId(XACML3.ID_FUNCTION_STRING_EQUAL.stringValue()); + + AttributeValueType value = new AttributeValueType(); + value.setDataType(XACML3.ID_DATATYPE_STRING.stringValue()); + value.getContent().add("1"); + applyType.getExpression().add(factory.createAttributeValue(value)); + + AttributeDesignatorType designator = new AttributeDesignatorType(); + designator.setAttributeId(XACML3.ID_RESOURCE.stringValue()); + designator.setCategory(XACML3.ID_ATTRIBUTE_CATEGORY_RESOURCE.stringValue()); + designator.setDataType(XACML3.ID_DATATYPE_STRING.stringValue()); + applyType.getExpression().add(factory.createAttributeDesignator(designator)); + + ConditionType condition = new ConditionType(); + condition.setExpression(factory.createApply(applyType)); + + VariableReferenceType variable = new VariableReferenceType(); + + variable.setVariableId("my-variable-id"); + + ConditionType newCondition = ToscaPolicyTranslatorUtils.addVariableToCondition(condition, variable, + XACML3.ID_FUNCTION_AND); + + assertThat(newCondition.getExpression().getValue()).isInstanceOf(ApplyType.class); + Object obj = newCondition.getExpression().getValue(); + assertThat(((ApplyType) obj).getFunctionId()).isEqualTo(XACML3.ID_FUNCTION_AND.stringValue()); + assertThat(((ApplyType) obj).getExpression()).hasSize(2); + } } |