diff options
author | ITSERVICES\rb7147 <rb7147@att.com> | 2017-04-25 11:46:00 -0400 |
---|---|---|
committer | ITSERVICES\rb7147 <rb7147@att.com> | 2017-05-03 09:58:17 -0400 |
commit | e0addf5b588a1244f9679becd90999dfcb4c3a94 (patch) | |
tree | 1212772d6366730266ff0e093c874b07aa716c29 /ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java | |
parent | 39fb0f30472777e4b60d6a7ac8aa4eb9773961ff (diff) |
Policy 1707 commit to LF
Change-Id: Ibe6f01d92f9a434c040abb05d5386e89d675ae65
Signed-off-by: ITSERVICES\rb7147 <rb7147@att.com>
Diffstat (limited to 'ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java')
-rw-r--r-- | ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java b/ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java deleted file mode 100644 index 8e98793b9..000000000 --- a/ECOMP-TEST/src/test/java/org/openecomp/policy/pdp/test/std/functions/FunctionDefinitionHomogeneousSimpleTest.java +++ /dev/null @@ -1,150 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * ECOMP-TEST - * ================================================================================ - * Copyright (C) 2017 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. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.openecomp.policy.pdp.test.std.functions; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.util.ArrayList; -import java.util.List; - -import org.junit.Test; - -import com.att.research.xacml.api.Status; -import com.att.research.xacml.api.XACML3; -import com.att.research.xacml.std.datatypes.DataTypes; -import com.att.research.xacmlatt.pdp.policy.Bag; -import com.att.research.xacmlatt.pdp.policy.FunctionArgument; -import com.att.research.xacmlatt.pdp.policy.FunctionArgumentAttributeValue; -import com.att.research.xacmlatt.pdp.policy.FunctionArgumentBag; -import com.att.research.xacmlatt.pdp.std.functions.FunctionDefinitionEquality; - -/** - * FunctionDefinitionHomogeneousSimple is an abstract class, so we have to test it by creating a sub-class. - * The constructor is tested by default when an instance of the sub-class is created for other tests. - * - * Each of these functions needs to be tested for each type of function to be sure the values are correct, - * so this is just a simple test to see that the mechanism works. - * - * TO RUN - use jUnit - * In Eclipse select this file or the enclosing directory, right-click and select Run As/JUnit Test - * - * - */ -public class FunctionDefinitionHomogeneousSimpleTest { - - - - @Test - public void testGetDataTypeArgs() { - - // test a simple instance using the Equality class - FunctionDefinitionEquality<String> fd = new FunctionDefinitionEquality<String>(XACML3.ID_FUNCTION_STRING_EQUAL, DataTypes.DT_STRING); - assertEquals(DataTypes.DT_STRING.getId(), fd.getDataTypeArgs().getId()); - } - - @Test - public void testGetNumArgs() { - // test a simple instance using the Equality class - FunctionDefinitionEquality<String> fd = new FunctionDefinitionEquality<String>(XACML3.ID_FUNCTION_STRING_EQUAL, DataTypes.DT_STRING); - assertEquals(new Integer(2), fd.getNumArgs()); - } - - @Test - public void testValidateArguments() { - // create some arguments to use later - FunctionArgumentAttributeValue stringAttr1 = null; - FunctionArgumentAttributeValue stringAttr2 = null; - FunctionArgumentAttributeValue stringAttr3 = null; - FunctionArgumentAttributeValue intAttr = null; - try { - stringAttr1 = new FunctionArgumentAttributeValue(DataTypes.DT_STRING.createAttributeValue("abc")); - stringAttr2 = new FunctionArgumentAttributeValue(DataTypes.DT_STRING.createAttributeValue("def")); - stringAttr3 = new FunctionArgumentAttributeValue(DataTypes.DT_STRING.createAttributeValue("ghi")); - intAttr = new FunctionArgumentAttributeValue(DataTypes.DT_INTEGER.createAttributeValue(1)); - } catch (Exception e) { - fail("creating attribute e="+ e); - } - - FunctionDefinitionEquality<String> fd = new FunctionDefinitionEquality<String>(XACML3.ID_FUNCTION_STRING_EQUAL, DataTypes.DT_STRING); - List<String> convertedValues = new ArrayList<String>(); - List<FunctionArgument> listFunctionArguments = new ArrayList<FunctionArgument>(); - - // test correct # of args, both of them strings - listFunctionArguments.add(stringAttr1); - listFunctionArguments.add(stringAttr2); - Status status = fd.validateArguments(listFunctionArguments, convertedValues); - assertTrue(status.isOk()); - assertEquals(convertedValues.size(),2); - - // test too few args - listFunctionArguments.remove(1); - status = fd.validateArguments(listFunctionArguments, convertedValues); - assertFalse(status.isOk()); - assertEquals("Expected 2 arguments, got 1", status.getStatusMessage()); - assertEquals("urn:oasis:names:tc:xacml:1.0:status:processing-error", status.getStatusCode().getStatusCodeValue().stringValue()); - - // test too many args - listFunctionArguments.add(stringAttr2); - listFunctionArguments.add(stringAttr3); - status = fd.validateArguments(listFunctionArguments, convertedValues); - assertFalse(status.isOk()); - assertEquals("Expected 2 arguments, got 3", status.getStatusMessage()); - assertEquals("urn:oasis:names:tc:xacml:1.0:status:processing-error", status.getStatusCode().getStatusCodeValue().stringValue()); - - // test with null arg - listFunctionArguments.clear(); - listFunctionArguments.add(null); - listFunctionArguments.add(stringAttr1); - status = fd.validateArguments(listFunctionArguments, convertedValues); - assertFalse(status.isOk()); - assertEquals("Got null argument at arg index 0", status.getStatusMessage()); - assertEquals("urn:oasis:names:tc:xacml:1.0:status:processing-error", status.getStatusCode().getStatusCodeValue().stringValue()); - - // test function that takes 0 args -//TODO test with func that specifies 0 args? ASSUME for now that there are no such functions since a function needs to operate on something -// fail("need to test function with 0 args and various inputs - see validateArguments code"); - - - // test with one is a bag - listFunctionArguments.clear(); - listFunctionArguments.add(stringAttr1); - Bag bag = new Bag(); - FunctionArgument bagArg = new FunctionArgumentBag(bag); - listFunctionArguments.add(bagArg); - status = fd.validateArguments(listFunctionArguments, convertedValues); - assertFalse(status.isOk()); - assertEquals("Expected a simple value, saw a bag at arg index 1", status.getStatusMessage()); - assertEquals("urn:oasis:names:tc:xacml:1.0:status:processing-error", status.getStatusCode().getStatusCodeValue().stringValue()); - - // test with string and int - listFunctionArguments.clear(); - listFunctionArguments.add(stringAttr1); - listFunctionArguments.add(intAttr); - status = fd.validateArguments(listFunctionArguments, convertedValues); - assertFalse(status.isOk()); - assertEquals("Expected data type 'string' saw 'integer' at arg index 1", status.getStatusMessage()); - assertEquals("urn:oasis:names:tc:xacml:1.0:status:processing-error", status.getStatusCode().getStatusCodeValue().stringValue()); - } - -} |