[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