use of com.yahoo.rdl.Validator.Result in project athenz by yahoo.
the class ZMSCoreTest method testRoles.
@Test
public void testRoles() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> members = Arrays.asList("user.boynton");
Role r = new Role().setName("sys.auth:role.admin").setMembers(members);
Result result = validator.validate(r, "Role");
assertTrue(result.valid);
// new
members = Arrays.asList("user.boynton");
r = new Role().setName("sys.auth:role.admin").setMembers(members);
result = validator.validate(r, "Role");
assertTrue(result.valid);
// new
members = Arrays.asList("user:doe");
r = new Role().setName("sys.auth:role.admin").setMembers(members);
result = validator.validate(r, "Role");
assertFalse(result.valid);
// not a valid principal
members = Arrays.asList("someuser@somecompany.com");
r = new Role().setName("sys.auth:role.admin").setMembers(members);
result = validator.validate(r, "Role");
assertFalse(result.valid);
}
use of com.yahoo.rdl.Validator.Result in project athenz by yahoo.
the class ZMSCoreTest method testDomainMetaMethod.
@Test
public void testDomainMetaMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
DomainMeta dm = new DomainMeta().init();
dm.setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test").setYpmId(10);
Result result = validator.validate(dm, "DomainMeta");
assertTrue(result.valid);
assertEquals(dm.getDescription(), "domain desc");
assertEquals(dm.getOrg(), "org:test");
assertTrue(dm.getEnabled());
assertFalse(dm.getAuditEnabled());
assertEquals(dm.getAccount(), "user.test");
assertEquals((int) dm.getYpmId(), 10);
DomainMeta dm2 = new DomainMeta().setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test");
assertTrue(dm.equals(dm));
dm2.setYpmId(null);
assertFalse(dm2.equals(dm));
dm2.setAccount(null);
assertFalse(dm2.equals(dm));
dm2.setAuditEnabled(null);
assertFalse(dm2.equals(dm));
dm2.setEnabled(null);
assertFalse(dm2.equals(dm));
dm2.setOrg(null);
assertFalse(dm2.equals(dm));
dm2.setDescription(null);
assertFalse(dm2.equals(dm));
assertFalse(dm2.equals(null));
assertFalse(dm.equals(new String()));
}
use of com.yahoo.rdl.Validator.Result in project athenz by yahoo.
the class ZMSCoreTest method testMembershipMethod.
@Test
public void testMembershipMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
Membership ms = new Membership().init();
ms.setMemberName("test.member").setIsMember(false).setRoleName("test.role");
Result result = validator.validate(ms, "Membership");
assertTrue(result.valid);
assertEquals(ms.getMemberName(), "test.member");
assertFalse(ms.getIsMember());
assertEquals(ms.getRoleName(), "test.role");
Membership ms2 = new Membership().setMemberName("test.member").setIsMember(false);
assertTrue(ms.equals(ms));
ms2.setRoleName(null);
assertFalse(ms2.equals(ms));
ms2.setIsMember(null);
assertFalse(ms2.equals(ms));
ms2.setMemberName(null);
assertFalse(ms2.equals(ms));
assertFalse(ms2.equals(null));
assertFalse(ms.equals(new String()));
}
use of com.yahoo.rdl.Validator.Result in project athenz by yahoo.
the class ZMSCoreTest method testSubDomainMethod.
@Test
public void testSubDomainMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> admins = Arrays.asList("test.admin1");
SubDomain sd = new SubDomain().setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test").setYpmId(10).setName("testdomain").setAdminUsers(admins).setTemplates(new DomainTemplateList().setTemplateNames(Arrays.asList("vipng"))).setParent("domain.parent");
Result result = validator.validate(sd, "SubDomain");
assertTrue(result.valid, result.error);
assertEquals(sd.getDescription(), "domain desc");
assertEquals(sd.getOrg(), "org:test");
assertTrue(sd.getEnabled());
assertFalse(sd.getAuditEnabled());
assertEquals(sd.getAccount(), "user.test");
assertEquals((int) sd.getYpmId(), 10);
assertEquals(sd.getName(), "testdomain");
assertEquals(sd.getAdminUsers(), admins);
assertNotNull(sd.getTemplates());
assertEquals(sd.getParent(), "domain.parent");
SubDomain sd2 = new SubDomain().setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test").setYpmId(10).setName("testdomain").setAdminUsers(admins).setTemplates(new DomainTemplateList().setTemplateNames(Arrays.asList("test.template"))).setParent("domain.parent2");
assertTrue(sd.equals(sd));
sd2.setParent(null);
assertFalse(sd2.equals(sd));
sd2.setTemplates(null);
assertFalse(sd2.equals(sd));
sd2.setAdminUsers(null);
assertFalse(sd2.equals(sd));
sd2.setName(null);
assertFalse(sd2.equals(sd));
sd2.setYpmId(null);
assertFalse(sd2.equals(sd));
sd2.setAccount(null);
assertFalse(sd2.equals(sd));
sd2.setAuditEnabled(null);
assertFalse(sd2.equals(sd));
sd2.setEnabled(null);
assertFalse(sd2.equals(sd));
sd2.setOrg(null);
assertFalse(sd2.equals(sd));
sd2.setDescription(null);
assertFalse(sd2.equals(sd));
assertFalse(sd2.equals(null));
}
use of com.yahoo.rdl.Validator.Result in project athenz by yahoo.
the class ZMSCoreTest method testMemberNames.
@Test
public void testMemberNames() {
String[] goodMemberNames = { "user.joe", "user.*", "athenz.storage.*", "athenz.storage.test-test", "user.3sets", "athenz.great-service", "athenz.great-service*", "test.joe*", "*" };
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
for (String s : goodMemberNames) {
Result result = validator.validate(s, "MemberName");
assertTrue(result.valid, s);
}
String[] badMemberNames = { "user.*joe", "*test", "user.joe*test", "test.joe**" };
for (String s : badMemberNames) {
Result result = validator.validate(s, "MemberName");
assertFalse(result.valid, s);
}
}