@Test public void testQuotedUserName() { database.open("admin", "admin"); OSecurity security = database.getMetadata().getSecurity(); ORole adminRole = security.getRole("admin"); OUser newUser = security.createUser("user'quoted", "foobar", adminRole); database.close(); database.open("user'quoted", "foobar"); database.close(); database.open("admin", "admin"); security = database.getMetadata().getSecurity(); OUser user = security.getUser("user'quoted"); Assert.assertNotNull(user); security.dropUser(user.getName()); database.close(); try { database.open("user'quoted", "foobar"); Assert.fail(); } catch (Exception e) { } }
public void testParentRole() { database.open("admin", "admin"); final OSecurity security = database.getMetadata().getSecurity(); ORole writer = security.getRole("writer"); ORole writerChild = security.createRole("writerChild", writer, OSecurityRole.ALLOW_MODES.ALLOW_ALL_BUT); writerChild.save(); ORole writerGrandChild = security.createRole( "writerGrandChild", writerChild, OSecurityRole.ALLOW_MODES.ALLOW_ALL_BUT); writerGrandChild.save(); OUser child = security.createUser("writerChild", "writerChild", writerGrandChild); child.save(); Assert.assertTrue(child.hasRole("writer", true)); Assert.assertFalse(child.hasRole("wrter", true)); database.close(); if (!(database.getStorage() instanceof OStorageProxy)) { database.open("writerChild", "writerChild"); OSecurityUser user = database.getUser(); Assert.assertTrue(user.hasRole("writer", true)); Assert.assertFalse(user.hasRole("wrter", true)); database.close(); } }