{
assertNotNull("profiler service is null", profiler);
System.out.println("START: running test user role fallback...");
// make sure rule is set correctly
ProfilingRule rule = profiler.getRule("user-role-fallback");
assertNotNull("rule is null ", rule);
Iterator c = rule.getRuleCriteria().iterator();
int ix = 0;
while (c.hasNext())
{
RuleCriterion rc = (RuleCriterion)c.next();
assertTrue("criterion type check " + rc.getType(), rc.getType().equals(URF_CRITERIA[ix]));
System.out.println(rc.getType());
ix++;
}
// test applying it
RequestContext context = new MockRequestContext();
Subject subject = createSubject();
context.setPath("/homepage.psml");
context.setSubject(subject);
ProfileLocator locator = rule.apply(context, profiler);
System.out.println("locator = " + locator);
assertTrue("locator string " + locator.toString(), locator.toString().equals("/homepage.psml:user:david:navigation:/:role:ATP:role:NB:role:ATP-NB:page:/homepage.psml"));
System.out.println("COMPLETED: running test user role fallback.");
}