diff --git a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletProtectedEJB.java b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletProtectedEJB.java index 4065f3837..1607b6fe0 100644 --- a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletProtectedEJB.java +++ b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletProtectedEJB.java @@ -1,6 +1,9 @@ package org.javaee7.jaspic.ejbpropagation.servlet; +import static java.util.logging.Level.SEVERE; + import java.io.IOException; +import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; @@ -20,6 +23,7 @@ public class ProtectedServletProtectedEJB extends HttpServlet { private static final long serialVersionUID = 1L; + private final static Logger logger = Logger.getLogger(ProtectedServletProtectedEJB.class.getName()); @EJB private ProtectedEJB protectedEJB; @@ -32,12 +36,23 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro webName = request.getUserPrincipal().getName(); } - String ejbName = protectedEJB.getUserName(); + String ejbName = ""; + try { + ejbName = protectedEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); boolean webHasRole = request.isUserInRole("architect"); - boolean ejbHasRole = protectedEJB.isUserArchitect(); + + boolean ejbHasRole = false; + try { + ejbHasRole = protectedEJB.isUserArchitect(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write( "web user has role \"architect\": " + webHasRole + "\n" + "EJB user has role \"architect\": " + ejbHasRole diff --git a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletPublicEJB.java b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletPublicEJB.java index 890f2b679..44fa661d1 100644 --- a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletPublicEJB.java +++ b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/ProtectedServletPublicEJB.java @@ -1,6 +1,9 @@ package org.javaee7.jaspic.ejbpropagation.servlet; +import static java.util.logging.Level.SEVERE; + import java.io.IOException; +import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; @@ -20,6 +23,7 @@ public class ProtectedServletPublicEJB extends HttpServlet { private static final long serialVersionUID = 1L; + private final static Logger logger = Logger.getLogger(ProtectedServletPublicEJB.class.getName()); @EJB private PublicEJB publicEJB; @@ -33,6 +37,11 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro } String ejbName = publicEJB.getUserName(); + try { + ejbName = publicEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); diff --git a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletProtectedEJB.java b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletProtectedEJB.java index b2c9d79dc..9069dc044 100644 --- a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletProtectedEJB.java +++ b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletProtectedEJB.java @@ -1,6 +1,9 @@ package org.javaee7.jaspic.ejbpropagation.servlet; +import static java.util.logging.Level.SEVERE; + import java.io.IOException; +import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; @@ -20,6 +23,7 @@ public class PublicServletProtectedEJB extends HttpServlet { private static final long serialVersionUID = 1L; + private final static Logger logger = Logger.getLogger(PublicServletProtectedEJB.class.getName()); @EJB private ProtectedEJB protectedEJB; @@ -32,12 +36,23 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro webName = request.getUserPrincipal().getName(); } - String ejbName = protectedEJB.getUserName(); + String ejbName = ""; + try { + ejbName = protectedEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); boolean webHasRole = request.isUserInRole("architect"); - boolean ejbHasRole = protectedEJB.isUserArchitect(); + + boolean ejbHasRole = false; + try { + ejbHasRole = protectedEJB.isUserArchitect(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write( "web user has role \"architect\": " + webHasRole + "\n" + "EJB user has role \"architect\": " + ejbHasRole diff --git a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJB.java b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJB.java index 90f79f8d3..7b944bcec 100644 --- a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJB.java +++ b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJB.java @@ -1,6 +1,9 @@ package org.javaee7.jaspic.ejbpropagation.servlet; +import static java.util.logging.Level.SEVERE; + import java.io.IOException; +import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; @@ -20,6 +23,7 @@ public class PublicServletPublicEJB extends HttpServlet { private static final long serialVersionUID = 1L; + private final static Logger logger = Logger.getLogger(PublicServletPublicEJB.class.getName()); @EJB private PublicEJB publicEJB; @@ -32,7 +36,12 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro webName = request.getUserPrincipal().getName(); } - String ejbName = publicEJB.getUserName(); + String ejbName = ""; + try { + ejbName = publicEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); diff --git a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJBLogout.java b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJBLogout.java index 77e566493..453d094f2 100644 --- a/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJBLogout.java +++ b/jaspic/ejb-propagation/src/main/java/org/javaee7/jaspic/ejbpropagation/servlet/PublicServletPublicEJBLogout.java @@ -1,6 +1,9 @@ package org.javaee7.jaspic.ejbpropagation.servlet; +import static java.util.logging.Level.SEVERE; + import java.io.IOException; +import java.util.logging.Logger; import javax.ejb.EJB; import javax.servlet.ServletException; @@ -21,6 +24,7 @@ public class PublicServletPublicEJBLogout extends HttpServlet { private static final long serialVersionUID = 1L; + private final static Logger logger = Logger.getLogger(PublicServletPublicEJBLogout.class.getName()); @EJB private PublicEJB publicEJB; @@ -32,8 +36,13 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro if (request.getUserPrincipal() != null) { webName = request.getUserPrincipal().getName(); } - - String ejbName = publicEJB.getUserName(); + + String ejbName = ""; + try { + ejbName = publicEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } request.logout(); HttpSession session = request.getSession(false); @@ -46,7 +55,12 @@ public void doGet(HttpServletRequest request, HttpServletResponse response) thro webNameAfterLogout = request.getUserPrincipal().getName(); } - String ejbNameAfterLogout = publicEJB.getUserName(); + String ejbNameAfterLogout = ""; + try { + ejbNameAfterLogout = publicEJB.getUserName(); + } catch (Exception e) { + logger.log(SEVERE, "", e); + } response.getWriter().write("web username: " + webName + "\n" + "EJB username: " + ejbName + "\n"); response.getWriter().write("web username after logout: " + webNameAfterLogout + "\n" + "EJB username after logout: " + ejbNameAfterLogout + "\n"); diff --git a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/ProtectedEJBPropagationTest.java b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/ProtectedEJBPropagationTest.java index 6fa96367b..ea2501fb7 100644 --- a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/ProtectedEJBPropagationTest.java +++ b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/ProtectedEJBPropagationTest.java @@ -28,14 +28,21 @@ public static Archive createDeployment() { } @Test - public void testProtectedServletWithLoginCallingEJB() throws IOException, SAXException { + public void protectedServletCallingProtectedEJB() throws IOException, SAXException { String response = getFromServerPath("protected/servlet-protected-ejb?doLogin=true"); // Both the web (HttpServletRequest) and EJB (EJBContext) should see the same // user name. - assertTrue(response.contains("web username: test")); - assertTrue("Web has user principal set, but EJB not.", response.contains("EJB username: test")); + assertTrue( + "User should have been authenticated in the web layer and given name \"test\", " + + " but does not appear to have this name", + response.contains("web username: test") + ); + assertTrue( + "Web has user principal set, but EJB not.", + response.contains("EJB username: test") + ); // Both the web (HttpServletRequest) and EJB (EJBContext) should see that the // user has the role "architect". @@ -50,14 +57,21 @@ public void testProtectedServletWithLoginCallingEJB() throws IOException, SAXExc * */ @Test - public void testPublicServletWithLoginCallingEJB() throws IOException, SAXException { + public void publicServletCallingProtectedEJB() throws IOException, SAXException { String response = getFromServerPath("public/servlet-protected-ejb?doLogin=true"); // Both the web (HttpServletRequest) and EJB (EJBContext) should see the same // user name. - assertTrue(response.contains("web username: test")); - assertTrue("Web has user principal set, but EJB not.", response.contains("EJB username: test")); + assertTrue( + "User should have been authenticated in the web layer and given name \"test\", " + + " but does not appear to have this name", + response.contains("web username: test") + ); + assertTrue( + "Web has user principal set, but EJB not.", + response.contains("EJB username: test") + ); // Both the web (HttpServletRequest) and EJB (EJBContext) should see that the // user has the role "architect". diff --git a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationLogoutTest.java b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationLogoutTest.java index a3571d6a5..dbe451b60 100644 --- a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationLogoutTest.java +++ b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationLogoutTest.java @@ -3,15 +3,12 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.io.IOException; - import org.javaee7.jaspic.common.ArquillianBase; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; import org.junit.Test; import org.junit.runner.RunWith; -import org.xml.sax.SAXException; /** * This tests that the established authenticated identity propagates correctly @@ -31,18 +28,24 @@ public static Archive createDeployment() { } @Test - public void testProtectedServletWithLoginCallingEJB() throws IOException, SAXException { + public void publicServletCallingPublicEJBThenLogout() { String response = getFromServerPath("public/servlet-public-ejb-logout?doLogin=true"); System.out.println(response); // Both the web (HttpServletRequest) and EJB (EJBContext) should see the - // same - // user name. + // same user name. - assertTrue(response.contains("web username: test")); - assertTrue("Web has user principal set, but EJB not.", response.contains("EJB username: test")); + assertTrue( + "User should have been authenticated in the web layer and given name \"test\", " + + " but does not appear to have this name", + response.contains("web username: test") + ); + assertTrue( + "Web has user principal set, but EJB not.", + response.contains("EJB username: test") + ); // After logging out, both the web and EJB should no longer see the user diff --git a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationTest.java b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationTest.java index f7dfb406b..0868f06a3 100644 --- a/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationTest.java +++ b/jaspic/ejb-propagation/src/test/java/org/javaee7/jaspic/ejbpropagation/PublicEJBPropagationTest.java @@ -2,15 +2,12 @@ import static org.junit.Assert.assertTrue; -import java.io.IOException; - import org.javaee7.jaspic.common.ArquillianBase; import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.Archive; import org.junit.Test; import org.junit.runner.RunWith; -import org.xml.sax.SAXException; /** * This tests that the established authenticated identity propagates correctly from the web layer to a "public" EJB (an EJB @@ -28,14 +25,21 @@ public static Archive createDeployment() { } @Test - public void testProtectedServletWithLoginCallingEJB() throws IOException, SAXException { + public void protectedServletCallingPublicEJB() { String response = getFromServerPath("protected/servlet-public-ejb?doLogin=true"); // Both the web (HttpServletRequest) and EJB (EJBContext) should see the same // user name. - assertTrue(response.contains("web username: test")); - assertTrue("Web has user principal set, but EJB not.", response.contains("EJB username: test")); + assertTrue( + "User should have been authenticated in the web layer and given name \"test\", " + + " but does not appear to have this name", + response.contains("web username: test") + ); + assertTrue( + "Web has user principal set, but EJB not.", + response.contains("EJB username: test") + ); } } \ No newline at end of file diff --git a/jaspic/lifecycle/src/test/java/org/javaee7/jaspic/lifecycle/AuthModuleMethodInvocationTest.java b/jaspic/lifecycle/src/test/java/org/javaee7/jaspic/lifecycle/AuthModuleMethodInvocationTest.java index 59ee4ad85..5ac15e96c 100644 --- a/jaspic/lifecycle/src/test/java/org/javaee7/jaspic/lifecycle/AuthModuleMethodInvocationTest.java +++ b/jaspic/lifecycle/src/test/java/org/javaee7/jaspic/lifecycle/AuthModuleMethodInvocationTest.java @@ -73,7 +73,7 @@ public void testLogout() throws IOException, SAXException { // Note that we don't explicitly log-in; the test SAM uses for this test does that automatically before the resource // (servlet) // is invoked. Once we reach the Servlet we should be logged-in and can proceed to logout. - String response = getFromServerPath("protected/servlet?doLogout"); + String response = getFromServerPath("protected/servlet?doLogout=true"); assertTrue("SAM method cleanSubject not called, but should have been.", response.contains("cleanSubject invoked")); diff --git a/jaspic/register-session/src/test/java/org/javaee7/jaspic/registersession/RegisterSessionTest.java b/jaspic/register-session/src/test/java/org/javaee7/jaspic/registersession/RegisterSessionTest.java index 22329adee..62f3bc989 100644 --- a/jaspic/register-session/src/test/java/org/javaee7/jaspic/registersession/RegisterSessionTest.java +++ b/jaspic/register-session/src/test/java/org/javaee7/jaspic/registersession/RegisterSessionTest.java @@ -50,7 +50,7 @@ public void testRemembersSession() throws IOException, SAXException { // JASPIC is normally stateless, but for this test the SAM uses the register session feature so now // we should be logged-in when doing a call without explicitly logging in again. - response = getFromServerPath("protected/servlet?continueSession"); + response = getFromServerPath("protected/servlet?continueSession=true"); // Logged-in thus should be accessible. assertTrue( @@ -72,7 +72,7 @@ public void testRemembersSession() throws IOException, SAXException { // The session should also be remembered for other resources, including public ones - response = getFromServerPath("public/servlet?continueSession"); + response = getFromServerPath("public/servlet?continueSession=true"); // This test almost can't fail, but include for clarity assertTrue(response.contains("This is a public servlet")); @@ -105,7 +105,7 @@ public void testJoinSessionIsOptional() throws IOException, SAXException { // JASPIC is normally stateless, but for this test the SAM uses the register session feature so now // we should be logged-in when doing a call without explicitly logging in again. - response = getFromServerPath("protected/servlet?continueSession"); + response = getFromServerPath("protected/servlet?continueSession=true"); // Logged-in thus should be accessible. assertTrue(