You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@tomee.apache.org by bu...@apache.org on 2014/02/14 14:38:18 UTC
svn commit: r897902 - in /websites/staging/tomee/trunk: cgi-bin/ content/
content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/
Author: buildbot
Date: Fri Feb 14 13:38:18 2014
New Revision: 897902
Log:
Staging update by buildbot for tomee
Added:
websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/UserInfo.java
Modified:
websites/staging/tomee/trunk/cgi-bin/ (props changed)
websites/staging/tomee/trunk/content/ (props changed)
websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/MovieTest.java
Propchange: websites/staging/tomee/trunk/cgi-bin/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Feb 14 13:38:18 2014
@@ -1 +1 @@
-1567505
+1568281
Propchange: websites/staging/tomee/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Fri Feb 14 13:38:18 2014
@@ -1 +1 @@
-1567505
+1568281
Modified: websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/MovieTest.java
==============================================================================
--- websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/MovieTest.java (original)
+++ websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/MovieTest.java Fri Feb 14 13:38:18 2014
@@ -21,8 +21,10 @@ import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
+import javax.annotation.Resource;
import javax.ejb.EJB;
import javax.ejb.EJBAccessException;
+import javax.ejb.SessionContext;
import javax.ejb.embeddable.EJBContainer;
import javax.naming.Context;
import javax.naming.InitialContext;
@@ -33,6 +35,9 @@ import java.util.Properties;
public class MovieTest {
@EJB
+ private UserInfo userInfo;
+
+ @EJB
private Movies movies;
private EJBContainer container;
@@ -64,6 +69,9 @@ public class MovieTest {
p.put(Context.SECURITY_CREDENTIALS, "waterfall");
InitialContext context = new InitialContext(p);
+ Assert.assertEquals("Wrong user", "jane", userInfo.getUserName());
+ Assert.assertTrue("jane is supposed to be a Manager", userInfo.isCallerInRole("Manager"));
+ Assert.assertTrue("jane is supposed to be an Employee", userInfo.isCallerInRole("Employee"));
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -91,6 +99,9 @@ public class MovieTest {
p.put(Context.SECURITY_CREDENTIALS, "cool");
InitialContext context = new InitialContext(p);
+ Assert.assertEquals("Wrong user", "joe", userInfo.getUserName());
+ Assert.assertTrue("joe is supposed to be an Employee", userInfo.isCallerInRole("Employee"));
+
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
@@ -120,7 +131,7 @@ public class MovieTest {
public void testUnauthenticated() throws Exception {
try {
movies.addMovie(new Movie("Quentin Tarantino", "Reservoir Dogs", 1992));
- Assert.fail("Unauthenticated users should not be able to add movies");
+ Assert.fail("Unauthenticated users should not be able to add movies. User: " + userInfo.getUserName());
} catch (EJBAccessException e) {
// Good, guests cannot add things
}
Added: websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/UserInfo.java
==============================================================================
--- websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/UserInfo.java (added)
+++ websites/staging/tomee/trunk/content/examples-trunk/testing-security-2/src/test/java/org/superbiz/injection/secure/UserInfo.java Fri Feb 14 13:38:18 2014
@@ -0,0 +1,19 @@
+package org.superbiz.injection.secure;
+
+import javax.annotation.Resource;
+import javax.ejb.SessionContext;
+import javax.ejb.Stateless;
+
+@Stateless
+public class UserInfo {
+ @Resource
+ private SessionContext sessionContext;
+
+ public String getUserName() {
+ return sessionContext.getCallerPrincipal().getName();
+ }
+
+ public boolean isCallerInRole(String role) {
+ return sessionContext.isCallerInRole(role);
+ }
+}