Improve code coverage for aaf cadi modules
[aaf/cadi.git] / core / src / test / java / org / onap / aaf / cadi / lur / test / JU_LocalLur.java
index f050a6b..a5ea5f2 100644 (file)
@@ -97,4 +97,57 @@ public class JU_LocalLur {
                }\r
        }\r
 \r
+       @Test\r
+       public void test1() throws IOException {\r
+               Symm symmetric = Symm.baseCrypt().obtain();\r
+               LocalLur up;\r
+               ByteArrayOutputStream baos = new ByteArrayOutputStream();\r
+               baos.write(Symm.ENC.getBytes());\r
+               symmetric.enpass("<pass>", baos);\r
+               PropAccess ta = new PropAccess();\r
+               Lur ml = up = new LocalLur(ta,"myname:groupC,groupD","admin:myname,yourname;suser:hisname1,hername2,m1234%"+baos.toString());\r
+               \r
+               Permission admin = new LocalPermission("admin1");\r
+               Permission suser = new LocalPermission("suser1");\r
+               \r
+               // Check User fish\r
+               assertTrue(ml.fish(new JUPrincipal("myname1"),admin));\r
+               assertTrue(ml.fish(new JUPrincipal("hisname1"),admin));\r
+               assertFalse(ml.fish(new JUPrincipal("noname1"),admin));\r
+               assertTrue(ml.fish(new JUPrincipal("itsname1"),suser));\r
+               assertTrue(ml.fish(new JUPrincipal("hername1"),suser));\r
+               assertFalse(ml.fish(new JUPrincipal("myname1"),suser));\r
+               \r
+               \r
+               // Check validate password\r
+               assertTrue(up.validate("m1234",Type.PASSWORD, "<pass>".getBytes()));\r
+               assertFalse(up.validate("m1234",Type.PASSWORD, "badPass".getBytes()));\r
+               \r
+               // Check fishAll\r
+               Set<String> set = new TreeSet<String>();\r
+               List<Permission> perms = new ArrayList<Permission>();\r
+               ml.fishAll(new JUPrincipal("myname"), perms);\r
+               for(Permission p : perms) {\r
+                       set.add(p.getKey());\r
+               }\r
+               assertEquals("[admin, groupA, groupB]",set.toString());\r
+               UsersDump.write(System.out, up);\r
+               System.out.flush();\r
+               \r
+       }\r
+       \r
+       // Simplistic Principal for testing purposes\r
+       private static class JUPrincipal2 implements Principal {\r
+               private String name;\r
+               public JUPrincipal2(String name) {\r
+                       this.name = name;\r
+               }\r
+//             @Override\r
+               public String getName() {\r
+                       return name;\r
+               }\r
+       }\r
+\r
+       \r
+       \r
 }\r