I used manul way to process login progress in my applciation, it worked well. but in the JSF test case, It can not detect the ROLE.
@Test @InitialPage("/login.jsf") public void testLoginPage(JSFServerSession server, JSFClientSession client) throws IOException { Assert.assertEquals("/login.xhtml", server.getCurrentViewID()); client.setValue("loginForm:username", "user"); client.setValue("loginForm:password", "user"); client.click("loginForm:loginButton"); Assert.assertEquals("/admin/unconfirmed.xhtml", server.getCurrentViewID()); Assert.assertEquals("user", server.getFacesContext() .getExternalContext().getRemoteUser()); //Assert.assertTrue(server.getFacesContext() // .getExternalContext().isUserInRoles("ROLE_VIEWER"); log.info("server.getFacesContext().getExternalContext().getUserPrincipal()@" + server.getFacesContext().getExternalContext() .getUserPrincipal()); client.click("logoutForm:logoutButton"); Assert.assertEquals("/login.xhtml", server.getCurrentViewID()); Assert.assertNull(server.getFacesContext().getExternalContext() .getRemoteUser()); }
//Assert.assertTrue(server.getFacesContext()
//.getExternalContext().isUserInRoles("ROLE_VIEWER");
This will cause test failed...any help here?