* * 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.
@Test
public void testNS() throws IOException {
-
+
// Normal
NsDAO.Data ns = new NsDAO.Data();
ns.name = "org.osaaf.<pass>";
ns.type = NsType.APP.type;
ByteBuffer bb = ns.bytify();
-
+
NsDAO.Data nsr = new NsDAO.Data();
nsr.reconstitute(bb);
check(ns,nsr);
-
+
// Empty admin
// ns.admin(true).clear();
bb = ns.bytify();
nsr = new NsDAO.Data();
nsr.reconstitute(bb);
check(ns,nsr);
-
+
// Empty responsible
// ns.responsible(true).clear();
bb = ns.bytify();
nsr.reconstitute(bb);
check(ns,nsr);
}
-
+
private void check(NsDAO.Data a, NsDAO.Data b) {
assertEquals(a.name,b.name);
assertEquals(a.type,b.type);
// assertEquals(a.admin.size(),b.admin.size());
-
+
// for (String s: a.admin) {
// assertTrue(b.admin.contains(s));
// }
-//
+//
// assertEquals(a.responsible.size(),b.responsible.size());
// for (String s: a.responsible) {
// assertTrue(b.responsible.contains(s));
RoleDAO.Data rd2 = new RoleDAO.Data();
rd2.reconstitute(bb);
check(rd1,rd2);
-
+
// Overshoot Buffer
StringBuilder sb = new StringBuilder(300);
sb.append("role|instance|veryLongAction...");
rd2 = new RoleDAO.Data();
rd2.reconstitute(bb);
check(rd1,rd2);
-
+
// No Perms
rd1.perms.clear();
-
+
bb = rd1.bytify();
rd2 = new RoleDAO.Data();
rd2.reconstitute(bb);
check(rd1,rd2);
-
+
// 1000 Perms
for (int i=0;i<1000;++i) {
rd1.perms(true).add("com|inst|action"+ i);
check(rd1,rd2);
}
-
+
private void check(RoleDAO.Data a, RoleDAO.Data b) {
assertEquals(a.ns,b.ns);
assertEquals(a.name,b.name);
-
+
assertEquals(a.perms.size(),b.perms.size());
for (String s: a.perms) {
assertTrue(b.perms.contains(s));
PermDAO.Data rd2 = new PermDAO.Data();
rd2.reconstitute(bb);
check(pd1,rd2);
-
+
// No Perms
pd1.roles.clear();
-
+
bb = pd1.bytify();
rd2 = new PermDAO.Data();
rd2.reconstitute(bb);
check(pd1,rd2);
-
+
// 1000 Perms
for (int i=0;i<1000;++i) {
pd1.roles(true).add("org.osaaf.<pass>.my.Role"+ i);
check(pd1,rd2);
}
-
+
private void check(PermDAO.Data a, PermDAO.Data b) {
assertEquals(a.ns,b.ns);
assertEquals(a.type,b.type);
assertEquals(a.instance,b.instance);
assertEquals(a.action,b.action);
-
+
assertEquals(a.roles.size(),b.roles.size());
for (String s: a.roles) {
assertTrue(b.roles.contains(s));
UserRoleDAO.Data urd2 = new UserRoleDAO.Data();
urd2.reconstitute(bb);
check(urd1,urd2);
-
+
// A null
- urd1.expires = null;
+ urd1.expires = null;
urd1.role = null;
-
+
bb = urd1.bytify();
urd2 = new UserRoleDAO.Data();
urd2.reconstitute(bb);
assertEquals(a.expires,b.expires);
}
-
+
@Test
public void testCred() throws IOException {
CredDAO.Data cd = new CredDAO.Data();
CredDAO.Data cd2 = new CredDAO.Data();
cd2.reconstitute(bb);
check(cd,cd2);
-
+
// nulls
cd.expires = null;
cd.cred = null;
-
+
bb = cd.bytify();
cd2 = new CredDAO.Data();
cd2.reconstitute(bb);
assertEquals(a.ns,b.ns);
assertEquals(a.type,b.type);
if (a.cred==null) {
- assertEquals(a.cred,b.cred);
+ assertEquals(a.cred,b.cred);
} else {
int l = a.cred.limit();
assertEquals(l,b.cred.limit());