Skip to content

Commit

Permalink
Update test packages
Browse files Browse the repository at this point in the history
Signed-off-by: Arjan Tijms <arjan.tijms@omnifish.ee>
  • Loading branch information
arjantijms committed Oct 20, 2023
1 parent 9927fe0 commit 7a0605e
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 74 deletions.
Expand Up @@ -26,64 +26,63 @@

import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;

import com.sun.enterprise.security.ee.auth.login.ProgrammaticLogin;
import com.sun.enterprise.security.ee.authentication.ProgrammaticLogin;

public class Client {

private static SimpleReporterAdapter stat =
new SimpleReporterAdapter("appserv-tests");
private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");

private static String appName;
private static String principal;

@EJB static Hello hello;
@EJB
static Hello hello;

@Resource
static FooManagedBean2 fooMb2;

@Resource(lookup="java:module/FooManagedBean")
@Resource(lookup = "java:module/FooManagedBean")
static FooManagedBean fooMb;

@Resource(lookup="java:comp/env/com.acme.Client/fooMb2")
@Resource(lookup = "java:comp/env/com.acme.Client/fooMb2")
static FooManagedBean2 fooMb3;

@Resource(lookup="java:module/ModuleName")
@Resource(lookup = "java:module/ModuleName")
static String moduleName;

@Resource(lookup="java:app/AppName")
@Resource(lookup = "java:app/AppName")
static String appNameL;


@EJB(lookup="java:app/env/forappclient")
@EJB(lookup = "java:app/env/forappclient")
static Hello hello3;

@EJB(mappedName="java:app/ejb-ejb31-security-simple-ejb/SingletonBean!com.acme.Hello")
@EJB(mappedName = "java:app/ejb-ejb31-security-simple-ejb/SingletonBean!com.acme.Hello")
static Hello hello4;

@EJB(name="java:app/env/appclientdefinedejbref1")
@EJB(name = "java:app/env/appclientdefinedejbref1")
static Hello hello5;

@EJB(name="java:app/appclientdefinedejbref2")
@EJB(name = "java:app/appclientdefinedejbref2")
static Hello hello6;

@EJB(name="java:global/appclientdefinedejbref3")
@EJB(name = "java:global/appclientdefinedejbref3")
static Hello hello7;

@Resource(name="java:app/env/enventry1")
@Resource(name = "java:app/env/enventry1")
static String envEntry1;

@Resource(name="java:global/enventry2")
@Resource(name = "java:global/enventry2")
static String envEntry2;

@Resource(name="envEntry3")
@Resource(name = "envEntry3")
static Integer envEntry3;

@Resource(name="envEntry4", lookup="java:app/env/value1")
@Resource(name = "envEntry4", lookup = "java:app/env/value1")
static Integer envEntry4;

private static boolean appClient = false;

@PostConstruct
@PostConstruct
public static void init() {
try {
System.out.println("In init()");
Expand All @@ -97,29 +96,28 @@ public static void init() {
fooMb2.hello();
fooMb3.hello();

Integer envEntry = (Integer)
new InitialContext().lookup("java:app/env/value1");
Integer envEntry = (Integer) new InitialContext().lookup("java:app/env/value1");
System.out.println("java:app/env/value1 = " + envEntry);

System.out.println("java:app/env/enventry1 = " + envEntry1);
System.out.println("java:global/enventry2 = " + envEntry2);
System.out.println("java:global/enventry3 = " + envEntry3);
if( (envEntry3 == null) || envEntry3.intValue() != 18338 ) {
if ((envEntry3 == null) || envEntry3.intValue() != 18338) {
throw new RuntimeException("invalid enventry3 value");
}

System.out.println("java:global/enventry4 = " + envEntry4);
if( (envEntry4 == null) || envEntry4.intValue() != 18338 ) {
if ((envEntry4 == null) || envEntry4.intValue() != 18338) {
throw new RuntimeException("invalid enventry4 value");
}

FooManagedBean fmbl = (FooManagedBean) new InitialContext().lookup("java:module/FooManagedBean");
fmbl.hello();

FooManagedBean fmbl2 = (FooManagedBean) new InitialContext().lookup("java:app/ejb-ejb31-security-simple-client/FooManagedBean");
FooManagedBean fmbl2 = (FooManagedBean) new InitialContext().lookup("java:app/ejb-ejb31-security-simple-client/FooManagedBean");
fmbl2.hello();

} catch(NamingException e) {
} catch (NamingException e) {
throw new RuntimeException(e);
}
}
Expand All @@ -136,37 +134,25 @@ public static void main(String args[]) {
stat.printSummary(appName + "ID");
}

public Client(String[] args) {}
public Client(String[] args) {
}

public void doTest() {

System.out.println("Executing test with user principal " + principal);
boolean havePermission = principal.equals("bob");
if( havePermission ) {
if (havePermission) {
System.out.println("Expecting permission to access protected methods");
} else {
System.out.println("NOT expecting permission to access protected methods");
}


String results;

try {

/**
if( !appClient ) {
System.out.println("In SE client. Using programmatic login");
ProgrammaticLogin pm = new ProgrammaticLogin();
pm.login("mary", "mob", "default", true);
System.out.println("Programmatic login succeeded");
}
*/

// ProgrammaticLogin login = new com.sun.appserv.security.api.ProgrammaticLogin();

if( hello == null ) {
hello = (Hello) new InitialContext().lookup("java:global/ejb-ejb31-security-simpleApp/ejb-ejb31-security-simple-ejb/SingletonBean!com.acme.Hello");
if (hello == null) {
hello = (Hello) new InitialContext()
.lookup("java:global/ejb-ejb31-security-simpleApp/ejb-ejb31-security-simple-ejb/SingletonBean!com.acme.Hello");
} else {
// In an appclient.
Hello hello2 = (Hello) new InitialContext().lookup("java:app/env/forappclient");
Expand All @@ -185,112 +171,97 @@ public void doTest() {
try {
hello.protectedSyncRemote();
pass = havePermission;
} catch(EJBAccessException e) {
} catch (EJBAccessException e) {
pass = !havePermission;
}


System.out.println("pass = " + pass);

try {
hello.unprotectedSyncRemote();
pass = true;
} catch(EJBAccessException e) {
} catch (EJBAccessException e) {
pass = false;
}


System.out.println("pass = " + pass);

try {
Future<Object> future = hello.protectedAsyncRemote();
Object obj = future.get();
pass = havePermission;

} catch(ExecutionException ee) {
if( ee.getCause() instanceof EJBAccessException ) {
} catch (ExecutionException ee) {
if (ee.getCause() instanceof EJBAccessException) {
pass = !havePermission;
} else {
pass = false;
}
}


System.out.println("pass = " + pass);


try {
Future<Object> future = hello.unprotectedAsyncRemote();
Object obj = future.get();
pass = true;
} catch(ExecutionException ee) {
} catch (ExecutionException ee) {
pass = false;
}



System.out.println("pass = " + pass);


try {
hello.testProtectedSyncLocal();
pass = havePermission;
} catch(EJBAccessException e) {
} catch (EJBAccessException e) {
pass = !havePermission;
}



System.out.println("pass = " + pass);


try {
hello.testUnprotectedSyncLocal();
pass = true;
} catch(Exception e) {
} catch (Exception e) {
pass = false;
}


System.out.println("pass = " + pass);


try {
hello.testProtectedAsyncLocal();
pass = havePermission;
} catch(EJBAccessException e) {
} catch (EJBAccessException e) {
pass = !havePermission;
}



System.out.println("pass = " + pass);

try {
hello.testUnprotectedAsyncLocal();
pass = true;
} catch(Exception e) {
} catch (Exception e) {
pass = false;
}

System.out.println("pass = " + pass);

stat.addStatus("local main", stat.PASS);

} catch(NamingException ne) {
} catch (NamingException ne) {

if( appClient ) {
if (appClient) {
stat.addStatus("local main", stat.FAIL);
} else {
System.out.println("Got expected security failure during lookup for non-authenticated SE client");
stat.addStatus("local main", stat.PASS);
}

} catch(Exception e) {
} catch (Exception e) {
stat.addStatus("local main", stat.FAIL);
e.printStackTrace();
}
}


}
Expand Up @@ -21,13 +21,11 @@
import jakarta.servlet.*;
import jakarta.servlet.http.*;

import com.sun.enterprise.security.ee.auth.login.ProgrammaticLogin;
import com.sun.enterprise.security.ee.authentication.ProgrammaticLogin;

public class ServletTest extends HttpServlet {

public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String user = request.getParameter("user");
String password = request.getParameter("password");
System.out.println("[user] " + user + " [password] " + password);
Expand Down

0 comments on commit 7a0605e

Please sign in to comment.