use of com.yahoo.rdl.Validator in project athenz by yahoo.
the class ZMSCoreTest method testProviderResourceGroupRolesMethod.
@Test
public void testProviderResourceGroupRolesMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
TenantRoleAction tra = new TenantRoleAction().setRole("testrole").setAction("add");
List<TenantRoleAction> tral = Arrays.asList(tra);
ProviderResourceGroupRoles prgr = new ProviderResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.tenant").setRoles(tral).setResourceGroup("test-group");
Result result = validator.validate(prgr, "ProviderResourceGroupRoles");
assertTrue(result.valid);
assertEquals(prgr.getDomain(), "test.domain");
assertEquals(prgr.getService(), "test-service");
assertEquals(prgr.getTenant(), "test.tenant");
assertEquals(prgr.getRoles(), tral);
assertEquals(prgr.getResourceGroup(), "test-group");
ProviderResourceGroupRoles prgr2 = new ProviderResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.tenant").setRoles(tral);
assertTrue(prgr.equals(prgr));
prgr2.setResourceGroup(null);
assertFalse(prgr2.equals(prgr));
prgr2.setRoles(null);
assertFalse(prgr2.equals(prgr));
prgr2.setTenant(null);
assertFalse(prgr2.equals(prgr));
prgr2.setService(null);
assertFalse(prgr2.equals(prgr));
prgr2.setDomain(null);
assertFalse(prgr2.equals(prgr));
assertFalse(prgr2.equals(null));
assertFalse(prgr.equals(new String()));
// TenantResourceGroupRoles test
TenantResourceGroupRoles trgr = new TenantResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.domain").setRoles(tral).setResourceGroup("test.tenant");
result = validator.validate(trgr, "TenantResourceGroupRoles");
assertTrue(result.valid);
assertEquals(trgr.getDomain(), "test.domain");
assertEquals(trgr.getService(), "test-service");
assertEquals(trgr.getTenant(), "test.domain");
assertEquals(trgr.getRoles(), tral);
assertEquals(trgr.getResourceGroup(), "test.tenant");
TenantResourceGroupRoles trgr2 = new TenantResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.domain").setRoles(tral);
assertTrue(trgr.equals(trgr));
trgr2.setResourceGroup(null);
assertFalse(trgr2.equals(trgr));
trgr2.setRoles(null);
assertFalse(trgr2.equals(trgr));
trgr2.setTenant(null);
assertFalse(trgr2.equals(trgr));
trgr2.setService(null);
assertFalse(trgr2.equals(trgr));
trgr2.setDomain(null);
assertFalse(trgr2.equals(trgr));
assertFalse(trgr.equals(new String()));
}
use of com.yahoo.rdl.Validator in project athenz by yahoo.
the class ZMSCoreTest method testUserMethod.
@Test
public void testUserMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
User user1 = new User().setName("joe");
Result result = validator.validate(user1, "User");
assertTrue(result.valid);
assertEquals(user1.getName(), "joe");
User user2 = new User().setName("test.joe");
result = validator.validate(user2, "User");
assertFalse(result.valid);
User user3 = new User().setName("joe");
User user4 = new User();
assertTrue(user1.equals(user3));
assertFalse(user1.equals(user2));
assertFalse(user1.equals(user4));
assertFalse(user1.equals(null));
}
use of com.yahoo.rdl.Validator in project athenz by yahoo.
the class ZMSCoreTest method testDomainList.
@Test
public void testDomainList() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> domainnames = Arrays.asList("test.domain");
DomainList dl = new DomainList().setNames(domainnames).setNext("next");
Result result = validator.validate(dl, "DomainList");
assertTrue(result.valid);
assertEquals(dl.getNames(), domainnames);
assertEquals(dl.getNext(), "next");
DomainList dl2 = new DomainList().setNames(domainnames);
assertTrue(dl.equals(dl));
dl2.setNext(null);
assertFalse(dl2.equals(dl));
dl2.setNames(null);
assertFalse(dl2.equals(dl));
assertFalse(dl2.equals(null));
assertFalse(dl.equals(new String()));
}
use of com.yahoo.rdl.Validator 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.Validator 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);
}