testManager );
RoleBasedPermissionResolver resolver = new RoleBasedPermissionResolver();
resolver.setEnableRoleBasedAuthorization( true );
assertFalse( resolver.hasPermission( new CategoryPathType( "category1" ),
null ) );
assertFalse( resolver.hasPermission( new CategoryPathType( "category2" ),
null ) );
assertFalse( resolver.hasPermission( new CategoryPathType( "category1" ),
RoleTypes.ANALYST_READ ) );
assertFalse( resolver.hasPermission( new CategoryPathType( "category2/sub1" ),
RoleTypes.ANALYST_READ ) );
assertFalse( resolver.hasPermission( new CategoryPathType( "category1" ),
RoleTypes.ANALYST ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category1/sub1" ),
RoleTypes.ANALYST_READ ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category2/sub1/sub2" ),
RoleTypes.ANALYST ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category2/sub1/sub2" ),
null ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category4" ),
"navigate" ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category1" ),
"navigate" ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category2" ),
"navigate" ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category1/sub1" ),
"navigate" ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category2/sub1" ),
"navigate" ) );
assertTrue( resolver.hasPermission( new CategoryPathType( "category1/sub1/sub2" ),
"navigate" ) );
assertFalse( resolver.hasPermission( new CategoryPathType( "category3" ),
"navigate" ) );
Lifecycle.endApplication();
}