Search in sources :

Example 11 with Schema

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

the class ZMSCoreTest method testTenantRolesMethod.

@Test
public void testTenantRolesMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    // TenantRoleAction test
    TenantRoleAction tra = new TenantRoleAction().setRole("testrole").setAction("add");
    Result result = validator.validate(tra, "TenantRoleAction");
    assertTrue(result.valid);
    assertEquals(tra.getRole(), "testrole");
    assertEquals(tra.getAction(), "add");
    TenantRoleAction tra2 = new TenantRoleAction().setRole("testrole");
    assertTrue(tra.equals(tra));
    tra2.setAction(null);
    assertFalse(tra2.equals(tra));
    tra2.setRole(null);
    assertFalse(tra2.equals(tra));
    assertFalse(tra.equals(new String()));
    // TenantRoles test
    List<TenantRoleAction> tral = Arrays.asList(tra);
    TenantRoles tr = new TenantRoles().setDomain("test.provider.domain").setService("testservice").setTenant("test.tenant").setRoles(tral);
    result = validator.validate(tr, "TenantRoles");
    assertTrue(result.valid);
    assertEquals(tr.getDomain(), "test.provider.domain");
    assertEquals(tr.getService(), "testservice");
    assertEquals(tr.getTenant(), "test.tenant");
    assertEquals(tr.getRoles(), tral);
    TenantRoles tr2 = new TenantRoles().setDomain("test.provider.domain").setService("testservice").setTenant("test.tenant");
    assertTrue(tr.equals(tr));
    tr2.setRoles(null);
    assertFalse(tr2.equals(tr));
    tr2.setTenant(null);
    assertFalse(tr2.equals(tr));
    tr2.setService(null);
    assertFalse(tr2.equals(tr));
    tr2.setDomain(null);
    assertFalse(tr2.equals(tr));
    assertFalse(tr2.equals(null));
    assertFalse(tr.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 12 with Schema

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

Example 13 with Schema

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

Example 14 with Schema

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

Example 15 with Schema

use of com.yahoo.rdl.Schema 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));
}
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