Search in sources :

Example 31 with Validator

use of com.yahoo.rdl.Validator 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 32 with Validator

use of com.yahoo.rdl.Validator 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 33 with Validator

use of com.yahoo.rdl.Validator 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)

Example 34 with Validator

use of com.yahoo.rdl.Validator in project athenz by yahoo.

the class ZMSCoreTest method testPolicyListMethod.

@Test
public void testPolicyListMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    List<String> plist = Arrays.asList("test.policy");
    PolicyList pl = new PolicyList().setNames(plist).setNext("next");
    Result result = validator.validate(pl, "PolicyList");
    assertTrue(result.valid);
    assertEquals(pl.getNames(), plist);
    assertEquals(pl.getNext(), "next");
    PolicyList pl2 = new PolicyList().setNames(plist);
    assertTrue(pl.equals(pl));
    pl2.setNext(null);
    assertFalse(pl2.equals(pl));
    pl2.setNames(null);
    assertFalse(pl2.equals(pl));
    assertFalse(pl2.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)

Example 35 with Validator

use of com.yahoo.rdl.Validator in project athenz by yahoo.

the class ZMSCoreTest method testDomainModifiedListMethod.

@Test
public void testDomainModifiedListMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    // DomainModified test
    DomainModified dm = new DomainModified().setName("test.domain").setModified(123456789123L);
    Result result = validator.validate(dm, "DomainModified");
    assertTrue(result.valid);
    assertEquals(dm.getName(), "test.domain");
    assertEquals(dm.getModified(), 123456789123L);
    DomainModified dm2 = new DomainModified().setName("test.domain");
    assertTrue(dm.equals(dm));
    dm2.setModified(123456789124L);
    assertFalse(dm2.equals(dm));
    dm2.setName(null);
    assertFalse(dm2.equals(dm));
    assertFalse(dm2.equals(null));
    // DomainModifiedList test
    List<DomainModified> dml = Arrays.asList(dm);
    DomainModifiedList dmlist = new DomainModifiedList().setNameModList(dml);
    result = validator.validate(dmlist, "DomainModifiedList");
    assertTrue(result.valid);
    assertEquals(dmlist.getNameModList(), dml);
    assertTrue(dmlist.equals(dmlist));
    assertFalse(dmlist.equals(new DomainModifiedList()));
}
Also used : Schema(com.yahoo.rdl.Schema) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Aggregations

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