Search in sources :

Example 36 with Result

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

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

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

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

Example 40 with Result

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

the class ZMSCoreTest method testSignedTokens.

@Test
public void testSignedTokens() {
    String[] signedTokens = { "v=R1;d=domain;s=test;i=127.0.0.1;h=someserver1.somecompany.com;r=role1,role2;s=signature", "v=R1;d=domai_-.test;s=test---test;i=2001:db8:85a3:8d3:1319:8a2e:370:7348;h=hostname;r=role1,role2s=signature" };
    Schema schema = ZMSSchema.instance();
    Validator validator = new Validator(schema);
    for (String s : signedTokens) {
        Result result = validator.validate(s, "SignedToken");
        assertTrue(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)

Aggregations

Schema (com.yahoo.rdl.Schema)45 Validator (com.yahoo.rdl.Validator)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