summaryrefslogtreecommitdiffstats
path: root/ONAP-PDP
diff options
context:
space:
mode:
Diffstat (limited to 'ONAP-PDP')
-rw-r--r--ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/std/functions/FunctionDefinitionCustomRegexpMatchTest.java48
1 files changed, 44 insertions, 4 deletions
diff --git a/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/std/functions/FunctionDefinitionCustomRegexpMatchTest.java b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/std/functions/FunctionDefinitionCustomRegexpMatchTest.java
index da1759a22..08a01c879 100644
--- a/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/std/functions/FunctionDefinitionCustomRegexpMatchTest.java
+++ b/ONAP-PDP/src/test/java/org/onap/policy/xacml/pdp/std/functions/FunctionDefinitionCustomRegexpMatchTest.java
@@ -26,6 +26,7 @@ import com.att.research.xacml.api.Identifier;
import com.att.research.xacml.api.XACML;
import com.att.research.xacml.std.IdentifierImpl;
import com.att.research.xacml.std.StdAttributeValue;
+import com.att.research.xacml.std.StdStatusCode;
import com.att.research.xacml.std.datatypes.DataTypes;
import com.att.research.xacmlatt.pdp.policy.ExpressionResult;
import com.att.research.xacmlatt.pdp.policy.FunctionArgument;
@@ -40,7 +41,7 @@ public class FunctionDefinitionCustomRegexpMatchTest {
@Test
public final void testRegexp() {
// Setup
- final String testVal = "testVal";
+ final String testVal = "testVal,testVal2";
final String testId = "function:testId";
final IdentifierImpl testFnId = new IdentifierImpl(testId);
final Identifier identifier = XACML.ID_DATATYPE_STRING;
@@ -49,11 +50,50 @@ public class FunctionDefinitionCustomRegexpMatchTest {
final List<FunctionArgument> listFa = new ArrayList<FunctionArgument>();
listFa.add(fArg);
listFa.add(fArg);
-
- // Try a match
final FunctionDefinitionCustomRegexpMatch<String> regexpMatch =
new FunctionDefinitionCustomRegexpMatch<String>(testFnId, DataTypes.DT_STRING);
+
+ // Try a match
final ExpressionResult result = regexpMatch.evaluate(null, listFa);
- assertEquals(result.getStatus().isOk(), true);
+ assertEquals(true, result.getValue().getValue());
+
+ // Try error case 1
+ assertEquals(StdStatusCode.STATUS_CODE_PROCESSING_ERROR,
+ regexpMatch.evaluate(null, null).getStatus().getStatusCode());
+
+ // Try error case 2
+ final Identifier identifier2 = XACML.ID_DATATYPE_BOOLEAN;
+ final StdAttributeValue<String> attValue2 = new StdAttributeValue<String>(identifier2, testVal);
+ final FunctionArgument fArg2 = new FunctionArgumentAttributeValue(attValue2);
+ final List<FunctionArgument> listFa2 = new ArrayList<FunctionArgument>();
+ listFa2.add(fArg2);
+ listFa2.add(fArg2);
+ assertEquals(StdStatusCode.STATUS_CODE_PROCESSING_ERROR,
+ regexpMatch.evaluate(null, listFa2).getStatus().getStatusCode());
+
+ // Try error case 3
+ final List<FunctionArgument> listFa3 = new ArrayList<FunctionArgument>();
+ listFa3.add(fArg);
+ listFa3.add(fArg2);
+ assertEquals(StdStatusCode.STATUS_CODE_PROCESSING_ERROR,
+ regexpMatch.evaluate(null, listFa3).getStatus().getStatusCode());
+
+ // Try a mismatch
+ final String testVal4 = "testVal3";
+ final StdAttributeValue<String> attValue4 = new StdAttributeValue<String>(identifier, testVal4);
+ final FunctionArgument fArg4 = new FunctionArgumentAttributeValue(attValue4);
+ final List<FunctionArgument> listFa4 = new ArrayList<FunctionArgument>();
+ listFa4.add(fArg);
+ listFa4.add(fArg4);
+ assertEquals(false, regexpMatch.evaluate(null, listFa4).getValue().getValue());
+
+ // Try a comma match
+ final String testVal5 = "testVal2";
+ final StdAttributeValue<String> attValue5 = new StdAttributeValue<String>(identifier, testVal5);
+ final FunctionArgument fArg5 = new FunctionArgumentAttributeValue(attValue5);
+ final List<FunctionArgument> listFa5 = new ArrayList<FunctionArgument>();
+ listFa5.add(fArg);
+ listFa5.add(fArg5);
+ assertEquals(true, regexpMatch.evaluate(null, listFa5).getValue().getValue());
}
}