******************************************************************************/\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
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
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
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
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
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
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