Search in sources :

Example 31 with Schema

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()));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Example 32 with Schema

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()));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Example 33 with Schema

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()));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Example 34 with Schema

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));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Example 35 with Schema

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));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Aggregations

Schema (com.yahoo.rdl.Schema)51 Test (org.testng.annotations.Test)49 Validator (com.yahoo.rdl.Validator)45 Result (com.yahoo.rdl.Validator.Result)45 ArrayList (java.util.ArrayList)3 Struct (com.yahoo.rdl.Struct)1