use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testPoliciesMethod.
@Test
public void testPoliciesMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
Assertion a = new Assertion().setRole("test.role.*").setResource("test.resource.*").setAction("test-action").setEffect(AssertionEffect.ALLOW).setId(0L);
List<Policy> plist = Arrays.asList(new Policy().setName("test").setAssertions(Arrays.asList(a)));
Policies ps = new Policies().setList(plist);
Result result = validator.validate(ps, "Policies");
assertTrue(result.valid);
assertEquals(ps.getList(), plist);
Policies ps2 = new Policies();
assertTrue(ps.equals(ps));
assertFalse(ps.equals(ps2));
assertFalse(ps.equals(new String()));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testTopLevelDomainMethod.
@Test
public void testTopLevelDomainMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> admins = Arrays.asList("test.admin1");
// DomainTemplateList test
List<String> templateNames = Arrays.asList("test");
DomainTemplateList dtl = new DomainTemplateList().setTemplateNames(templateNames);
Result result = validator.validate(dtl, "DomainTemplateList");
assertTrue(result.valid);
assertEquals(dtl.getTemplateNames(), templateNames);
assertTrue(dtl.equals(dtl));
assertFalse(dtl.equals(new DomainTemplateList()));
// TopLevelDomain test
TopLevelDomain tld = new TopLevelDomain().setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test").setYpmId(10).setName("testdomain").setAdminUsers(admins).setTemplates(dtl);
result = validator.validate(tld, "TopLevelDomain");
assertTrue(result.valid);
assertEquals(tld.getDescription(), "domain desc");
assertEquals(tld.getOrg(), "org:test");
assertTrue(tld.getEnabled());
assertFalse(tld.getAuditEnabled());
assertEquals(tld.getAccount(), "user.test");
assertEquals((int) tld.getYpmId(), 10);
assertEquals(tld.getName(), "testdomain");
assertEquals(tld.getAdminUsers(), admins);
assertNotNull(tld.getTemplates());
TopLevelDomain tld2 = new TopLevelDomain().setDescription("domain desc").setOrg("org:test").setEnabled(true).setAuditEnabled(false).setAccount("user.test").setYpmId(10).setName("testdomain").setAdminUsers(admins);
assertTrue(tld.equals(tld));
tld2.setTemplates(null);
assertFalse(tld2.equals(tld));
tld2.setAdminUsers(null);
assertFalse(tld2.equals(tld));
tld2.setName(null);
assertFalse(tld2.equals(tld));
tld2.setYpmId(null);
assertFalse(tld2.equals(tld));
tld2.setAccount(null);
assertFalse(tld2.equals(tld));
tld2.setAuditEnabled(null);
assertFalse(tld2.equals(tld));
tld2.setEnabled(null);
assertFalse(tld2.equals(tld));
tld2.setOrg(null);
assertFalse(tld2.equals(tld));
tld2.setDescription(null);
assertFalse(tld2.equals(tld));
assertFalse(tld2.equals(null));
assertFalse(tld.equals(new String()));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testServicePrincipalMethod.
@Test
public void testServicePrincipalMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
ServicePrincipal sp = new ServicePrincipal().setDomain("test.domain").setService("test-service").setToken("test-token");
Result result = validator.validate(sp, "ServicePrincipal");
assertTrue(result.valid);
assertEquals(sp.getDomain(), "test.domain");
assertEquals(sp.getService(), "test-service");
assertEquals(sp.getToken(), "test-token");
ServicePrincipal sp2 = new ServicePrincipal().setDomain("test.domain").setService("test-service");
assertTrue(sp.equals(sp));
sp2.setToken(null);
assertFalse(sp2.equals(sp));
sp2.setService(null);
assertFalse(sp2.equals(sp));
sp2.setDomain(null);
assertFalse(sp2.equals(sp));
assertFalse(sp2.equals(null));
assertFalse(sp.equals(new String()));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testQuotaObject.
@Test
public void testQuotaObject() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
Quota quota = new Quota().setName("athenz").setAssertion(10).setEntity(11).setPolicy(12).setPublicKey(13).setRole(14).setRoleMember(15).setService(16).setServiceHost(17).setSubdomain(18);
Result result = validator.validate(quota, "Quota");
assertTrue(result.valid);
assertEquals(quota.getName(), "athenz");
assertEquals(quota.getAssertion(), 10);
assertEquals(quota.getEntity(), 11);
assertEquals(quota.getPolicy(), 12);
assertEquals(quota.getPublicKey(), 13);
assertEquals(quota.getRole(), 14);
assertEquals(quota.getRoleMember(), 15);
assertEquals(quota.getService(), 16);
assertEquals(quota.getServiceHost(), 17);
assertEquals(quota.getSubdomain(), 18);
Quota quota2 = new Quota().setName("athenz").setAssertion(10).setEntity(11).setPolicy(12).setPublicKey(13).setRole(14).setRoleMember(15).setService(16).setServiceHost(17).setSubdomain(18);
assertTrue(quota.equals(quota2));
quota2.setPolicy(101);
assertFalse(quota.equals(quota2));
quota2.setPolicy(12);
assertTrue(quota.equals(quota2));
quota2.setRole(102);
assertFalse(quota.equals(quota2));
quota2.setRole(14);
assertTrue(quota.equals(quota2));
quota2.setService(103);
assertFalse(quota.equals(quota2));
quota2.setService(16);
assertTrue(quota.equals(quota2));
}
use of com.yahoo.rdl.Schema in project athenz by yahoo.
the class ZMSCoreTest method testDomainDataCheckMethod.
@Test
public void testDomainDataCheckMethod() {
Schema schema = ZMSSchema.instance();
Validator validator = new Validator(schema);
List<String> dlrl = Arrays.asList("test.role");
// DanglingPolicy test
DanglingPolicy dlp = new DanglingPolicy().setPolicyName("test.policy").setRoleName("test.role");
Result result = validator.validate(dlp, "DanglingPolicy");
assertTrue(result.valid);
assertEquals(dlp.getPolicyName(), "test.policy");
assertEquals(dlp.getRoleName(), "test.role");
DanglingPolicy dlp2 = new DanglingPolicy().setPolicyName("test.policy");
assertTrue(dlp.equals(dlp));
dlp2.setRoleName(null);
assertFalse(dlp2.equals(dlp));
dlp2.setPolicyName(null);
assertFalse(dlp2.equals(dlp));
List<DanglingPolicy> dlpl = Arrays.asList(dlp);
List<String> pwt = Arrays.asList("provider.without.trust");
List<String> twar = Arrays.asList("tenants.without.assume.role");
DomainDataCheck ddc = new DomainDataCheck().setDanglingRoles(dlrl).setDanglingPolicies(dlpl).setPolicyCount(10).setAssertionCount(10).setRoleWildCardCount(10).setProvidersWithoutTrust(pwt).setTenantsWithoutAssumeRole(twar);
result = validator.validate(ddc, "DomainDataCheck");
assertTrue(result.valid);
assertEquals(ddc.getDanglingRoles(), dlrl);
assertEquals(ddc.getDanglingPolicies(), dlpl);
assertEquals(ddc.getPolicyCount(), 10);
assertEquals(ddc.getProvidersWithoutTrust(), pwt);
assertEquals(ddc.getTenantsWithoutAssumeRole(), twar);
assertEquals(ddc.getAssertionCount(), 10);
assertEquals(ddc.getRoleWildCardCount(), 10);
DomainDataCheck ddc2 = new DomainDataCheck().setDanglingRoles(dlrl).setDanglingPolicies(dlpl).setPolicyCount(10).setAssertionCount(10).setRoleWildCardCount(10).setProvidersWithoutTrust(pwt);
assertTrue(ddc.equals(ddc));
ddc2.setTenantsWithoutAssumeRole(null);
assertFalse(ddc2.equals(ddc));
ddc2.setProvidersWithoutTrust(null);
assertFalse(ddc2.equals(ddc));
ddc2.setRoleWildCardCount(11);
assertFalse(ddc2.equals(ddc));
ddc2.setAssertionCount(11);
assertFalse(ddc2.equals(ddc));
ddc2.setPolicyCount(11);
assertFalse(ddc2.equals(ddc));
ddc2.setDanglingPolicies(null);
assertFalse(ddc2.equals(ddc));
ddc2.setDanglingRoles(null);
assertFalse(ddc2.equals(ddc));
assertFalse(ddc2.equals(null));
}