AT&T 2.0.19 Code drop, stage 4
[aaf/authz.git] / authz-service / src / test / java / org / onap / aaf / authz / service / validation / JU_Validator.java
index 1277b97..e0b49d4 100644 (file)
  ******************************************************************************/\r
 package org.onap.aaf.authz.service.validation;\r
 \r
-import static org.junit.Assert.assertEquals;\r
 import static org.junit.Assert.assertFalse;\r
 import static org.junit.Assert.assertTrue;\r
 \r
+import java.util.HashSet;\r
+import java.util.Set;\r
+\r
 import org.junit.Before;\r
 import org.junit.Test;\r
-import org.onap.aaf.authz.cadi.DirectAAFLur.PermPermission;\r
-import org.onap.aaf.authz.env.AuthzTrans;\r
 import org.onap.aaf.authz.layer.Result;\r
-import org.onap.aaf.authz.org.Organization;\r
-import org.onap.aaf.authz.service.validation.Validator;\r
-import org.onap.aaf.dao.aaf.cass.CredDAO;\r
-import org.onap.aaf.dao.aaf.cass.DelegateDAO;\r
-import org.onap.aaf.dao.aaf.cass.Namespace;\r
 import org.onap.aaf.dao.aaf.cass.PermDAO;\r
 import org.onap.aaf.dao.aaf.cass.RoleDAO;\r
-import org.onap.aaf.dao.aaf.cass.UserRoleDAO;\r
 \r
 public class JU_Validator {\r
-       \r
+\r
+       Validator validator;\r
+\r
        @Before\r
-       public void setUp(){\r
-               Validator validator = new Validator();\r
+       public void setUp() {\r
+               validator = new Validator();\r
        }\r
 \r
-\r
        @Test\r
        public void test() {\r
                assertTrue(Validator.ACTION_CHARS.matcher("HowdyDoody").matches());\r
@@ -57,14 +52,14 @@ public class JU_Validator {
                assertFalse(Validator.INST_CHARS.matcher("Howd?yDoody").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("_HowdyDoody").matches());\r
 \r
-               //              \r
+               //\r
                assertTrue(Validator.ACTION_CHARS.matcher("*").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("*").matches());\r
                assertFalse(Validator.ACTION_CHARS.matcher(":*").matches());\r
                assertTrue(Validator.INST_CHARS.matcher(":*").matches());\r
                assertFalse(Validator.ACTION_CHARS.matcher(":*:*").matches());\r
                assertTrue(Validator.INST_CHARS.matcher(":*:*").matches());\r
-               \r
+\r
                assertFalse(Validator.ACTION_CHARS.matcher(":hello").matches());\r
                assertTrue(Validator.INST_CHARS.matcher(":hello").matches());\r
                assertFalse(Validator.INST_CHARS.matcher("hello:").matches());\r
@@ -91,7 +86,6 @@ public class JU_Validator {
                assertFalse(Validator.INST_CHARS.matcher(":h:*:*h").matches());\r
                assertTrue(Validator.INST_CHARS.matcher(":com.test.*:ns:*").matches());\r
 \r
-               \r
                assertFalse(Validator.ACTION_CHARS.matcher("1234+235gd").matches());\r
                assertTrue(Validator.ACTION_CHARS.matcher("1234-235gd").matches());\r
                assertTrue(Validator.ACTION_CHARS.matcher("1234-23_5gd").matches());\r
@@ -105,7 +99,7 @@ public class JU_Validator {
                assertFalse(Validator.ACTION_CHARS.matcher("").matches());\r
                assertFalse(Validator.ACTION_CHARS.matcher(" ").matches());\r
 \r
-               // Allow % and =   (Needed for Escaping & Base64 usages) jg \r
+               // Allow % and = (Needed for Escaping & Base64 usages) jg\r
                assertTrue(Validator.ACTION_CHARS.matcher("1234%235g=d").matches());\r
                assertFalse(Validator.ACTION_CHARS.matcher(":1234%235g=d").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("1234%235g=d").matches());\r
@@ -116,7 +110,7 @@ public class JU_Validator {
                assertTrue(Validator.INST_CHARS.matcher(":1234%235g=d:==%20:*").matches());\r
                assertTrue(Validator.INST_CHARS.matcher(":*:==%20:*").matches());\r
 \r
-               // Allow / instead of :  (more natural instance expression) jg \r
+               // Allow / instead of : (more natural instance expression) jg\r
                assertFalse(Validator.INST_CHARS.matcher("1234/a").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("/1234/a").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("/1234/*/a/").matches());\r
@@ -125,7 +119,6 @@ public class JU_Validator {
                assertFalse(Validator.ACTION_CHARS.matcher("/1234/*/a/").matches());\r
                assertFalse(Validator.ACTION_CHARS.matcher("1234//a").matches());\r
 \r
-\r
                assertFalse(Validator.INST_CHARS.matcher("1234+235gd").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("1234-235gd").matches());\r
                assertTrue(Validator.INST_CHARS.matcher("1234-23_5gd").matches());\r
@@ -136,40 +129,91 @@ public class JU_Validator {
                assertFalse(Validator.INST_CHARS.matcher("123#4-23@5g:d").matches());\r
                assertFalse(Validator.INST_CHARS.matcher("").matches());\r
 \r
-               \r
-               for( char c=0x20;c<0x7F;++c) {\r
+               for (char c = 0x20; c < 0x7F; ++c) {\r
                        boolean b;\r
-                       switch(c) {\r
-                               case '?':\r
-                               case '|':\r
-                               case '*':\r
-                                       continue; // test separately\r
-                               case '~':\r
-                               case ',':\r
-                                       b = false;\r
-                                       break;\r
-                               default:\r
-                                       b=true;\r
+                       switch (c) {\r
+                       case '?':\r
+                       case '|':\r
+                       case '*':\r
+                               continue; // test separately\r
+                       case '~':\r
+                       case ',':\r
+                               b = false;\r
+                               break;\r
+                       default:\r
+                               b = true;\r
                        }\r
                }\r
-               \r
+\r
                assertFalse(Validator.ID_CHARS.matcher("abc").matches());\r
                assertFalse(Validator.ID_CHARS.matcher("").matches());\r
                assertTrue(Validator.ID_CHARS.matcher("abc@att.com").matches());\r
                assertTrue(Validator.ID_CHARS.matcher("ab-me@att.com").matches());\r
                assertTrue(Validator.ID_CHARS.matcher("ab-me_.x@att._-com").matches());\r
-               \r
+\r
                assertFalse(Validator.NAME_CHARS.matcher("ab-me_.x@att._-com").matches());\r
                assertTrue(Validator.NAME_CHARS.matcher("ab-me").matches());\r
                assertTrue(Validator.NAME_CHARS.matcher("ab-me_.xatt._-com").matches());\r
 \r
-               \r
                // 7/22/2016\r
-               assertTrue(Validator.INST_CHARS.matcher(\r
-                               "/!com.att.*/role/write").matches());\r
-               assertTrue(Validator.INST_CHARS.matcher(\r
-                               ":!com.att.*:role:write").matches());\r
+               assertTrue(Validator.INST_CHARS.matcher("/!com.att.*/role/write").matches());\r
+               assertTrue(Validator.INST_CHARS.matcher(":!com.att.*:role:write").matches());\r
+\r
+       }\r
+\r
+       @Test\r
+       public void permNotOk() {\r
+\r
+               Result<PermDAO.Data> rpd = Result.err(1, "ERR_Security");\r
+\r
+               validator.perm(rpd);\r
+               assertTrue(validator.errs().equals("ERR_Security\n"));\r
+\r
+       }\r
+\r
+       @Test\r
+       public void permOkNull() {\r
+\r
+               Result rpd = Result.ok();\r
+\r
+               validator.perm(rpd);\r
+               assertTrue(validator.errs().equals("Perm Data is null.\n"));\r
+\r
+       }\r
+\r
+       @Test\r
+       public void roleOkNull() {\r
+\r
+               Result rrd = Result.ok();\r
+\r
+               validator.role(rrd);\r
+               assertTrue(validator.errs().equals("Role Data is null.\n"));\r
+       }\r
+\r
+       @Test\r
+       public void roleOk() {\r
+               RoleDAO.Data to = new RoleDAO.Data();\r
+               to.ns = "namespace";\r
+               to.name = "name";\r
+               to.description = "description";\r
+               Set<String> permissions = new HashSet<String>();\r
+               permissions.add("perm1");\r
+               to.perms = permissions;\r
+\r
+               Result<RoleDAO.Data> rrd = Result.ok(to);\r
+\r
+               validator.role(rrd);\r
+               assertTrue(\r
+                               validator.errs().equals("Perm [perm1] in Role [namespace.name] is not correctly separated with '|'\n"));\r
+       }\r
+\r
+       @Test\r
+       public void roleNotOk() {\r
+\r
+               Result rrd = Result.err(1, "ERR_Security");\r
 \r
+               validator.role(rrd);\r
+               assertTrue(validator.errs().equals("ERR_Security\n"));\r
        }\r
 \r
 }\r