use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testUserListMethod.
@Test
public void testUserListMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
ArrayList<String> users1 = new ArrayList<>();
users1.add("joe");
users1.add("jane");
UserList userList1 = new UserList().setNames(users1);
Result result = validator.validate(userList1, "UserList");
assertTrue(result.valid);
assertEquals(userList1.getNames().size(), 2);
ArrayList<String> users2 = new ArrayList<>();
users2.add("test.joe");
UserList userList2 = new UserList().setNames(users2);
result = validator.validate(userList2, "UserList");
assertFalse(result.valid);
UserList userList3 = new UserList().setNames(users1);
assertTrue(userList1.equals(userList3));
assertFalse(userList1.equals(userList2));
assertFalse(userList1.equals(null));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testTemplateMethod.
@Test
public void testTemplateMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<Role> rl = Arrays.asList(new Role().setName("sys.auth:role.admin").setMembers(Arrays.asList("user.test")));
Assertion a = new Assertion().setRole("test.role").setResource("test.resource.*").setAction("test-action").setEffect(AssertionEffect.ALLOW).setId(0L);
List<Assertion> assertions = new ArrayList<>();
assertions.add(a);
List<Policy> pl = Arrays.asList(new Policy().setName("sys.auth:policy.test-policy").setAssertions(assertions).setModified(Timestamp.fromMillis(123456789123L)));
Template t = new Template().setRoles(rl).setPolicies(pl);
Result result = validator.validate(t, "Template");
assertTrue(result.valid, result.error);
assertEquals(t.getPolicies(), pl);
assertEquals(t.getRoles(), rl);
Template t2 = new Template().setRoles(rl);
assertTrue(t.equals(t));
t2.setRoles(null);
assertFalse(t2.equals(t));
t2.setPolicies(null);
assertFalse(t2.equals(t));
assertFalse(t2.equals(null));
assertFalse(t.equals(new String()));
// test for service
List<ServiceIdentity> services = Arrays.asList(new ServiceIdentity().setName("test.service").setDescription("Test Description"));
Template t3 = new Template().setRoles(rl).setPolicies(pl).setServices(services);
Result result3 = validator.validate(t3, "Template");
assertTrue(result3.valid, result3.error);
assertEquals(t3.getServices(), services);
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testSignedTokens.
@Test
public void testSignedTokens() {
String[] signedTokens = { "v=R1;d=domain;s=test;i=127.0.0.1;h=someserver1.somecompany.com;r=role1,role2;s=signature", "v=R1;d=domai_-.test;s=test---test;i=2001:db8:85a3:8d3:1319:8a2e:370:7348;h=hostname;r=role1,role2s=signature" };
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
for (String s : signedTokens) {
Result result = validator.validate(s, "SignedToken");
assertTrue(result.valid);
}
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testDefaultAdminsMethod.
@Test
public void testDefaultAdminsMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> dal = Arrays.asList("user.admin1");
DefaultAdmins da = new DefaultAdmins().setAdmins(dal);
Result result = validator.validate(da, "DefaultAdmins");
assertTrue(result.valid);
assertEquals(da.getAdmins(), dal);
DefaultAdmins da2 = new DefaultAdmins();
assertTrue(da.equals(da));
assertFalse(da.equals(da2));
assertFalse(da.equals(null));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testServiceIdentityListMethod.
@Test
public void testServiceIdentityListMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> slist = Arrays.asList("test.service");
ServiceIdentityList sil = new ServiceIdentityList().setNames(slist).setNext("next");
Result result = validator.validate(sil, "ServiceIdentityList");
assertTrue(result.valid);
assertEquals(sil.getNames(), slist);
assertEquals(sil.getNext(), "next");
ServiceIdentityList sil2 = new ServiceIdentityList().setNames(slist);
assertTrue(sil.equals(sil));
sil2.setNext(null);
assertFalse(sil2.equals(sil));
sil2.setNames(null);
assertFalse(sil2.equals(sil));
assertFalse(sil2.equals(null));
assertFalse(sil.equals(new String()));
}