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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jun 17 02:17:34 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-06-17 02:17:34 -0400 (Tue, 17 Jun 2008)
New Revision: 20548

Added:
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/PackageDeploymentServletTest.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
Log:
improved test coverage and fixed some bugs on the way

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java	2008-06-17 01:55:57 UTC (rev 20547)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/server/files/PackageDeploymentServlet.java	2008-06-17 06:17:34 UTC (rev 20548)
@@ -94,14 +94,17 @@
         System.out.println( "PackageName: " + helper.getPackageName() );
         System.out.println( "PackageVersion: " + helper.getVersion() );
         System.out.println( "PackageIsLatest: " + helper.isLatest() );
+        System.out.println( "PackageIsSource: " + helper.isSource() );
 
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         FileManagerUtils fm = getFileManager();
-        String fileName = (helper.isSource()) ? fm.loadBinaryPackage( helper.getPackageName(),
-                                        helper.getVersion(), helper.isLatest(), out )
-                                        :
-                                        fm.loadSourcePackage(helper.getPackageName(),
-                                        helper.getVersion(), helper.isLatest(), out );
+        String fileName = null;
+        if (helper.isSource()) {
+            fileName = fm.loadSourcePackage(helper.getPackageName(), helper.getVersion(), helper.isLatest(), out );
+        } else {
+        	fileName = fm.loadBinaryPackage( helper.getPackageName(), helper.getVersion(), helper.isLatest(), out );
+        }
+
         response.setContentType( "application/x-download" );
         response.setHeader( "Content-Disposition",
                        "attachment; filename=" + fileName + ";");

Added: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/PackageDeploymentServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/PackageDeploymentServletTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/PackageDeploymentServletTest.java	2008-06-17 06:17:34 UTC (rev 20548)
@@ -0,0 +1,100 @@
+package org.drools.brms.server.files;
+
+import java.io.ByteArrayOutputStream;
+
+import org.drools.brms.client.common.AssetFormats;
+import org.drools.brms.server.ServiceImplementation;
+import org.drools.brms.server.util.TestEnvironmentSessionHelper;
+import org.drools.repository.AssetItem;
+import org.drools.repository.PackageItem;
+import org.drools.repository.RulesRepository;
+
+import junit.framework.TestCase;
+
+public class PackageDeploymentServletTest extends TestCase {
+
+
+	public void testDoGetPackage() throws Exception {
+		RulesRepository repo = new RulesRepository( TestEnvironmentSessionHelper.getSession( true ) );
+
+		ServiceImplementation impl = new ServiceImplementation();
+		impl.repository = repo;
+
+		PackageItem pkg = repo.createPackage("testPDSGetPackage", "");
+		AssetItem header  = pkg.addAsset("drools", "");
+		header.updateFormat("package");
+		header.updateContent("import org.drools.SampleFact");
+		header.checkin("");
+
+
+		AssetItem asset = pkg.addAsset("someRule", "");
+		asset.updateContent("when \n SampleFact() \n then \n System.err.println(42);");
+		asset.updateFormat(AssetFormats.DRL);
+		asset.checkin("");
+
+		assertNull(impl.buildPackage(pkg.getUUID(), null, true));
+
+
+
+		//check source
+		PackageDeploymentServlet serv = new PackageDeploymentServlet();
+		MockHTTPRequest req = new MockHTTPRequest("/package/testPDSGetPackage/LATEST.drl", null);
+		ByteArrayOutputStream out = new ByteArrayOutputStream();
+		MockHTTPResponse res = new MockHTTPResponse(out);
+		serv.doGet(req, res);
+
+		assertNotNull(out.toByteArray());
+		String drl = new String(out.toByteArray());
+		assertTrue(drl.indexOf("rule") > -1);
+
+
+		//now binary
+		serv = new PackageDeploymentServlet();
+		req = new MockHTTPRequest("/package/testPDSGetPackage/LATEST", null);
+		out = new ByteArrayOutputStream();
+		res = new MockHTTPResponse(out);
+		serv.doGet(req, res);
+
+		assertNotNull(out.toByteArray());
+		byte[] bin = out.toByteArray();
+		byte[] bin_ = pkg.getCompiledPackageBytes();
+		assertEquals(bin_.length, bin.length);
+
+		assertSameArray(bin_, bin);
+
+		//now some snapshots
+		impl.createPackageSnapshot("testPDSGetPackage", "SNAP1", false, "hey");
+
+		serv = new PackageDeploymentServlet();
+		req = new MockHTTPRequest("/package/testPDSGetPackage/SNAP1.drl", null);
+		out = new ByteArrayOutputStream();
+		res = new MockHTTPResponse(out);
+		serv.doGet(req, res);
+
+		assertNotNull(out.toByteArray());
+		drl = new String(out.toByteArray());
+		assertTrue(drl.indexOf("rule") > -1);
+
+		//now binary
+		serv = new PackageDeploymentServlet();
+		req = new MockHTTPRequest("/package/testPDSGetPackage/SNAP1", null);
+		out = new ByteArrayOutputStream();
+		res = new MockHTTPResponse(out);
+		serv.doGet(req, res);
+
+		assertNotNull(out.toByteArray());
+		bin = out.toByteArray();
+		bin_ = pkg.getCompiledPackageBytes();
+		assertEquals(bin_.length, bin.length);
+
+
+	}
+
+	private void assertSameArray(byte[] bin_, byte[] bin) {
+		for (int i = 0; i < bin.length; i++) {
+			assertEquals(bin_[i], bin[i]);
+		}
+
+	}
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/server/files/PackageDeploymentServletTest.java
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list