Search in sources :

Example 36 with Validator

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

the class ZMSCoreTest method testProviderResourceGroupRolesMethod.

@Test
public void testProviderResourceGroupRolesMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    TenantRoleAction tra = new TenantRoleAction().setRole("testrole").setAction("add");
    List<TenantRoleAction> tral = Arrays.asList(tra);
    ProviderResourceGroupRoles prgr = new ProviderResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.tenant").setRoles(tral).setResourceGroup("test-group");
    Result result = validator.validate(prgr, "ProviderResourceGroupRoles");
    assertTrue(result.valid);
    assertEquals(prgr.getDomain(), "test.domain");
    assertEquals(prgr.getService(), "test-service");
    assertEquals(prgr.getTenant(), "test.tenant");
    assertEquals(prgr.getRoles(), tral);
    assertEquals(prgr.getResourceGroup(), "test-group");
    ProviderResourceGroupRoles prgr2 = new ProviderResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.tenant").setRoles(tral);
    assertTrue(prgr.equals(prgr));
    prgr2.setResourceGroup(null);
    assertFalse(prgr2.equals(prgr));
    prgr2.setRoles(null);
    assertFalse(prgr2.equals(prgr));
    prgr2.setTenant(null);
    assertFalse(prgr2.equals(prgr));
    prgr2.setService(null);
    assertFalse(prgr2.equals(prgr));
    prgr2.setDomain(null);
    assertFalse(prgr2.equals(prgr));
    assertFalse(prgr2.equals(null));
    assertFalse(prgr.equals(new String()));
    // TenantResourceGroupRoles test
    TenantResourceGroupRoles trgr = new TenantResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.domain").setRoles(tral).setResourceGroup("test.tenant");
    result = validator.validate(trgr, "TenantResourceGroupRoles");
    assertTrue(result.valid);
    assertEquals(trgr.getDomain(), "test.domain");
    assertEquals(trgr.getService(), "test-service");
    assertEquals(trgr.getTenant(), "test.domain");
    assertEquals(trgr.getRoles(), tral);
    assertEquals(trgr.getResourceGroup(), "test.tenant");
    TenantResourceGroupRoles trgr2 = new TenantResourceGroupRoles().setDomain("test.domain").setService("test-service").setTenant("test.domain").setRoles(tral);
    assertTrue(trgr.equals(trgr));
    trgr2.setResourceGroup(null);
    assertFalse(trgr2.equals(trgr));
    trgr2.setRoles(null);
    assertFalse(trgr2.equals(trgr));
    trgr2.setTenant(null);
    assertFalse(trgr2.equals(trgr));
    trgr2.setService(null);
    assertFalse(trgr2.equals(trgr));
    trgr2.setDomain(null);
    assertFalse(trgr2.equals(trgr));
    assertFalse(trgr.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 37 with Validator

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

the class ZMSCoreTest method testUserMethod.

@Test
public void testUserMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    User user1 = new User().setName("joe");
    Result result = validator.validate(user1, "User");
    assertTrue(result.valid);
    assertEquals(user1.getName(), "joe");
    User user2 = new User().setName("test.joe");
    result = validator.validate(user2, "User");
    assertFalse(result.valid);
    User user3 = new User().setName("joe");
    User user4 = new User();
    assertTrue(user1.equals(user3));
    assertFalse(user1.equals(user2));
    assertFalse(user1.equals(user4));
    assertFalse(user1.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 38 with Validator

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

the class ZMSCoreTest method testDomainList.

@Test
public void testDomainList() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    List<String> domainnames = Arrays.asList("test.domain");
    DomainList dl = new DomainList().setNames(domainnames).setNext("next");
    Result result = validator.validate(dl, "DomainList");
    assertTrue(result.valid);
    assertEquals(dl.getNames(), domainnames);
    assertEquals(dl.getNext(), "next");
    DomainList dl2 = new DomainList().setNames(domainnames);
    assertTrue(dl.equals(dl));
    dl2.setNext(null);
    assertFalse(dl2.equals(dl));
    dl2.setNames(null);
    assertFalse(dl2.equals(dl));
    assertFalse(dl2.equals(null));
    assertFalse(dl.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 39 with Validator

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

the class ZMSCoreTest method testUserListMethod.

@Test
public void testUserListMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    ArrayList<String> users1 = new ArrayList<>();
    users1.add("joe");
    users1.add("jane");
    UserList userList1 = new UserList().setNames(users1);
    Result result = validator.validate(userList1, "UserList");
    assertTrue(result.valid);
    assertEquals(userList1.getNames().size(), 2);
    ArrayList<String> users2 = new ArrayList<>();
    users2.add("test.joe");
    UserList userList2 = new UserList().setNames(users2);
    result = validator.validate(userList2, "UserList");
    assertFalse(result.valid);
    UserList userList3 = new UserList().setNames(users1);
    assertTrue(userList1.equals(userList3));
    assertFalse(userList1.equals(userList2));
    assertFalse(userList1.equals(null));
}
Also used : Schema(com.yahoo.rdl.Schema) ArrayList(java.util.ArrayList) Validator(com.yahoo.rdl.Validator) Result(com.yahoo.rdl.Validator.Result) Test(org.testng.annotations.Test)

Example 40 with Validator

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

the class ZMSCoreTest method testTemplateMethod.

@Test
public void testTemplateMethod() {
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    List<Role> rl = Arrays.asList(new Role().setName("sys.auth:role.admin").setMembers(Arrays.asList("user.test")));
    Assertion a = new Assertion().setRole("test.role").setResource("test.resource.*").setAction("test-action").setEffect(AssertionEffect.ALLOW).setId(0L);
    List<Assertion> assertions = new ArrayList<>();
    assertions.add(a);
    List<Policy> pl = Arrays.asList(new Policy().setName("sys.auth:policy.test-policy").setAssertions(assertions).setModified(Timestamp.fromMillis(123456789123L)));
    Template t = new Template().setRoles(rl).setPolicies(pl);
    Result result = validator.validate(t, "Template");
    assertTrue(result.valid, result.error);
    assertEquals(t.getPolicies(), pl);
    assertEquals(t.getRoles(), rl);
    Template t2 = new Template().setRoles(rl);
    assertTrue(t.equals(t));
    t2.setRoles(null);
    assertFalse(t2.equals(t));
    t2.setPolicies(null);
    assertFalse(t2.equals(t));
    assertFalse(t2.equals(null));
    assertFalse(t.equals(new String()));
    // test for service
    List<ServiceIdentity> services = Arrays.asList(new ServiceIdentity().setName("test.service").setDescription("Test Description"));
    Template t3 = new Template().setRoles(rl).setPolicies(pl).setServices(services);
    Result result3 = validator.validate(t3, "Template");
    assertTrue(result3.valid, result3.error);
    assertEquals(t3.getServices(), services);
}
Also used : Schema(com.yahoo.rdl.Schema) ArrayList(java.util.ArrayList) Result(com.yahoo.rdl.Validator.Result) Validator(com.yahoo.rdl.Validator) 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