Unable to start embedded Google App Engine Server for Integration Tests

19 views
Skip to first unread message

user859955 via StackOverflow

unread,
Nov 12, 2012, 3:22:52 AM11/12/12
to google-appengin...@googlegroups.com

I am trying to start an embedded Google App Engine Development Server (sdk 1.7.3) inside a @BeforeClass of a test suite run by the maven failsafe plugin. The code that should start it looks like this:

private static final String HOST = "0.0.0.0";
private static final int PORT = 8887;
private static DevAppServer devAppServer;


@BeforeClass
public static void setup() throws Exception {
    log.debug("Starting development server");
    File appRootDir = new File("target/visualize-1.0.war");
    DevAppServerFactory devAppServerFactory = new DevAppServerFactory();
    devAppServer = devAppServerFactory.createDevAppServer(appRootDir, HOST, PORT); 
    devAppServer.start();
}

However during the call to createDevAppServer, I get a security exception:

java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.Thread.setContextClassLoader(Thread.java:1394)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:366)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)

What am I doing wrong?



Please DO NOT REPLY directly to this email but go to StackOverflow:
http://stackoverflow.com/questions/13340303/unable-to-start-embedded-google-app-engine-server-for-integration-tests

user859955 via StackOverflow

unread,
Nov 12, 2012, 6:33:14 AM11/12/12
to google-appengin...@googlegroups.com

I am trying to start an embedded Google App Engine Development Server (sdk 1.7.3) inside a @BeforeClass of a test suite run by the maven failsafe plugin. The code that should start it looks like this:

private static final String HOST = "0.0.0.0";
private static final int PORT = 8887;
private static DevAppServer devAppServer;


@BeforeClass
public static void setup() throws Exception {
    log.debug("Starting development server");
    File appRootDir = new File("target/visualize-1.0.war");
    DevAppServerFactory devAppServerFactory = new DevAppServerFactory();
    devAppServer = devAppServerFactory.createDevAppServer(appRootDir, HOST, PORT); 
    devAppServer.start();
}

However during the call to createDevAppServer, I get a security exception:

java.security.AccessControlException: access denied (java.lang.RuntimePermission setContextClassLoader)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.Thread.setContextClassLoader(Thread.java:1394)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:366)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)

debugging the security exception with -Djava.security.debug=access,failure I see:

  access: access allowed (java.io.FilePermission    /home/me/.m2/repository/com/google/appengine/appengine-tools-sdk/1.7.3/appengine-tools-sdk-1.7.3.jar read)
 access: access denied (java.security.SecurityPermission getPolicy)
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:1249)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:364)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.security.Policy.getPolicy(Policy.java:133)
at com.google.apphosting.utils.security.SecurityManagerInstaller.install(SecurityManagerInstaller.java:81)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:152)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:69)
at com.google.appengine.tools.development.DevAppServerFactory.createDevAppServer(DevAppServerFactory.java:53)
Reply all
Reply to author
Forward
0 new messages