[jboss-svn-commits] JBL Code SVN: r28234 - in labs/jbossrules/trunk/drools-guvnor/src: test/java/org/drools/guvnor/server/files and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 20 03:17:03 EDT 2009


Author: michael.neale at jboss.com
Date: 2009-07-20 03:17:03 -0400 (Mon, 20 Jul 2009)
New Revision: 28234

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/PackageDeploymentServletTest.java
   labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/RestAPIServletTest.java
Log:
yak shaving to get tests to run from maven with later versions of JR

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java	2009-07-20 07:09:15 UTC (rev 28233)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/util/TestEnvironmentSessionHelper.java	2009-07-20 07:17:03 UTC (rev 28234)
@@ -28,6 +28,7 @@
 import org.drools.repository.JackrabbitRepositoryConfigurator;
 import org.drools.repository.RepositorySessionUtil;
 import org.drools.repository.RulesRepositoryAdministrator;
+import org.apache.jackrabbit.core.TransientRepository;
 
 /**
  * This is only to be used for testing, eg in hosted mode, or unit tests.
@@ -36,47 +37,62 @@
  */
 public class TestEnvironmentSessionHelper {
 
-
     public static Repository repository;
+    public static Session lastSession;
 
-
     public static Session getSession() throws Exception {
         return getSession(true);
     }
 
+    /** Don't use this one unless you plan to close the session yourself in tests... */
+    public static Session getSessionKeepOpen() {
+        return getRepo(true);
+    }
+
+
     public static synchronized Session getSession(boolean erase) {
-    	try {
-	        if (repository == null) {
+        if (lastSession != null) {
+            lastSession.logout();
+        }
+        lastSession = getRepo(erase);
+        return lastSession;
+    }
 
-	            if (erase) {
-	                File repoDir = new File("repository");
-	                System.out.println("DELETE test repo dir: " + repoDir.getAbsolutePath());
-	                RepositorySessionUtil.deleteDir( repoDir );
-	                System.out.println("TEST repo dir deleted.");
-	            }
 
-	            JCRRepositoryConfigurator config = new JackrabbitRepositoryConfigurator();
+
+
+    private static Session getRepo(boolean erase) {
+        try {
+
+            if (repository == null) {
+                if (erase) {
+                    File repoDir = new File("repository");
+                    System.out.println("DELETE test repo dir: " + repoDir.getAbsolutePath());
+                    RepositorySessionUtil.deleteDir( repoDir );
+                    System.out.println("TEST repo dir deleted.");
+                }
+
+                JCRRepositoryConfigurator config = new JackrabbitRepositoryConfigurator();
                 String home = System.getProperty("guvnor.repository.dir");
-	            repository = config.getJCRRepository(home);
+                repository = config.getJCRRepository(home);
 
-	            Session testSession = repository.login(
-	                                                                     new SimpleCredentials("alan_parsons", "password".toCharArray()));
+                Session testSession = repository.login(
+                                                                         new SimpleCredentials("alan_parsons", "password".toCharArray()));
 
-	            RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(testSession);
-	            if (erase && admin.isRepositoryInitialized()) {
+                RulesRepositoryAdministrator admin = new RulesRepositoryAdministrator(testSession);
+                if (erase && admin.isRepositoryInitialized()) {
 
-	                admin.clearRulesRepository( );
-	            }
-	            config.setupRulesRepository( testSession );
-	            return testSession;
-	        } else {
-	            return repository.login(
-	                             new SimpleCredentials("alan_parsons", "password".toCharArray()));
-	        }
-    	} catch (RepositoryException e) {
-    		throw new IllegalStateException(e);
-    	}
+                    admin.clearRulesRepository( );
+                }
+                config.setupRulesRepository( testSession );
 
+                return testSession;
+            } else {
+                return repository.login(new SimpleCredentials("alan_parsons", "password".toCharArray()));
+            }
+        } catch (RepositoryException e) {
+            throw new IllegalStateException(e);
+        }
     }
 
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/PackageDeploymentServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/PackageDeploymentServletTest.java	2009-07-20 07:09:15 UTC (rev 28233)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/PackageDeploymentServletTest.java	2009-07-20 07:17:03 UTC (rev 28234)
@@ -27,6 +27,8 @@
 import org.apache.commons.httpclient.Header;
 import org.apache.commons.httpclient.methods.HeadMethod;
 
+import javax.jcr.Session;
+
 public class PackageDeploymentServletTest extends TestCase {
 
 
@@ -34,7 +36,7 @@
 
 
 	public void testLoadingRules() throws Exception {
-		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSession( true ) );
+		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSessionKeepOpen() );
 
 		ServiceImplementation impl = new ServiceImplementation();
 		impl.repository = repo;
@@ -250,8 +252,10 @@
         server.stop();
 
 
+        repo.logout();
 
 
+
 	}
 
 	public void testScenarios() throws Exception {

Modified: labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/RestAPIServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/RestAPIServletTest.java	2009-07-20 07:09:15 UTC (rev 28233)
+++ labs/jbossrules/trunk/drools-guvnor/src/test/java/org/drools/guvnor/server/files/RestAPIServletTest.java	2009-07-20 07:17:03 UTC (rev 28234)
@@ -6,6 +6,7 @@
 import java.util.Map;
 
 import javax.servlet.http.HttpServletResponse;
+import javax.jcr.Session;
 
 import junit.framework.TestCase;
 
@@ -115,7 +116,7 @@
 	}
 
 	public void testPost() throws Exception {
-		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSession( true ) );
+		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSessionKeepOpen() );
 		PackageItem pkg = repo.createPackage("testPostRestServlet", "");
 
 		HashMap<String, String> headers = new HashMap<String, String>() {
@@ -155,10 +156,13 @@
 		String out = new String(ass2.getBinaryContentAsBytes());
 		assertEquals("more content", out);
 
+        repo.logout();
+
 	}
 
 	public void testPut() throws Exception {
-		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSession( true ) );
+
+		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSessionKeepOpen() );
 		PackageItem pkg = repo.createPackage("testPutRestServlet", "");
 		AssetItem ass = pkg.addAsset("asset1", "abc");
 		ass.updateFormat("drl");
@@ -186,11 +190,13 @@
 		assertEquals("some new content", ass.getContent());
 		assertEquals(ver + 1, ass.getVersionNumber());
 		assertEquals("hey ho", ass.getCheckinComment());
+
+        repo.logout();
 	}
 
 
 	public void testDelete() throws Exception {
-		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSession( true ) );
+		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSessionKeepOpen() );
 		PackageItem pkg = repo.createPackage("testDeleteRestServlet", "");
 		AssetItem ass = pkg.addAsset("asset1", "abc");
 		ass.updateFormat("drl");
@@ -216,6 +222,7 @@
 		pkg = repo.loadPackage("testDeleteRestServlet");
 		assertFalse(pkg.listAssetsByFormat(new String[] {"drl"}).hasNext());
 
+        repo.logout();
 
 	}
 }



More information about the jboss-svn-commits mailing list