[jbosstools-commits] JBoss Tools SVN: r6727 - in trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test: xb and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Mar 6 14:32:07 EST 2008


Author: rob.stryker at jboss.com
Date: 2008-03-06 14:32:07 -0500 (Thu, 06 Mar 2008)
New Revision: 6727

Added:
   trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/UnmarshallTest.java
Removed:
   trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallUnmarshallTest.java
   trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/ValidationTest.java
Modified:
   trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/ArchivesTestSuite.java
   trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallTest.java
Log:
More tests

Modified: trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/ArchivesTestSuite.java
===================================================================
--- trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/ArchivesTestSuite.java	2008-03-06 19:30:44 UTC (rev 6726)
+++ trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/ArchivesTestSuite.java	2008-03-06 19:32:07 UTC (rev 6727)
@@ -6,16 +6,14 @@
 import org.jboss.ide.eclipse.archives.test.core.ArchivesCoreTest;
 import org.jboss.ide.eclipse.archives.test.util.TruezipUtilTest;
 import org.jboss.ide.eclipse.archives.test.xb.MarshallTest;
-import org.jboss.ide.eclipse.archives.test.xb.MarshallUnmarshallTest;
-import org.jboss.ide.eclipse.archives.test.xb.ValidationTest;
+import org.jboss.ide.eclipse.archives.test.xb.UnmarshallTest;
 
 public class ArchivesTestSuite extends TestSuite {
     public static Test suite() { 
         TestSuite suite = new TestSuite("Archives Tests");
         suite.addTestSuite(ArchivesCoreTest.class);
         suite.addTestSuite(MarshallTest.class);
-        suite.addTestSuite(MarshallUnmarshallTest.class);
-        suite.addTestSuite(ValidationTest.class);
+        suite.addTestSuite(UnmarshallTest.class);
         suite.addTestSuite(TruezipUtilTest.class);
         suite.addTestSuite(ModelUtilTest.class);
 

Modified: trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallTest.java
===================================================================
--- trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallTest.java	2008-03-06 19:30:44 UTC (rev 6726)
+++ trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallTest.java	2008-03-06 19:32:07 UTC (rev 6727)
@@ -4,7 +4,7 @@
  * by the @authors tag. See the copyright.txt in the distribution for a
  * full listing of individual contributors.
  *
-* This is free software; you can redistribute it and/or modify it
+ * This is free software; you can redistribute it and/or modify it
  * under the terms of the GNU Lesser General Public License as
  * published by the Free Software Foundation; either version 2.1 of
  * the License, or (at your option) any later version.
@@ -32,8 +32,12 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.Path;
 import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbAction;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFileSet;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFolder;
 import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackage;
 import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackages;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbProperty;
 import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
 import org.jboss.ide.eclipse.archives.test.ArchivesTest;
 import org.jboss.ide.eclipse.archives.test.util.FileIOUtil;
@@ -41,7 +45,7 @@
 
 /**
  * @author rob.stryker <rob.stryker at redhat.com>
- *
+ * 
  */
 public class MarshallTest extends TestCase {
 	private Bundle bundle;
@@ -97,11 +101,8 @@
 		}
 	}
 	
-	public void testWriteFailingPackage() {
+	protected void write(XbPackages packs, boolean shouldPass) {
 		XbException e = null;
-		XbPackages packs = new XbPackages();
-		XbPackage pack = new XbPackage();
-		packs.addChild(pack);
 		try {
 			IPath out = outputs.append("test.xml");
 			XMLBinding.marshallToFile(packs, out, new NullProgressMonitor());
@@ -110,9 +111,137 @@
 		}catch( XbException xbe ) {
 			e = xbe;
 		} finally {
-			if( e == null ) {
+			if( e == null && !shouldPass) {
 				fail("Incomplete Model saved when it should not have been.");
 			}
+			if( e != null && shouldPass) {
+				fail("Model failed to save when it should have saved. " + e.getMessage());
+			}
 		}
 	}
+	
+	protected void writePackage(String name, String toDir, boolean shouldPass) {
+		XbException e = null;
+		XbPackages packs = new XbPackages();
+		XbPackage pack = new XbPackage();
+		pack.setName(name);
+		pack.setToDir(toDir);
+		packs.addChild(pack);
+		write(packs, shouldPass);
+	}
+	
+	public void testWritePackageSuccess() {
+		writePackage("someName", "someFile.jar", true);
+	}
+	public void testWritePackageMissingName() {
+		writePackage(null, "someFile.jar", false);
+	}
+
+	public void testWritePackageMissingDir() {
+		writePackage("someName", null, false);
+	}
+
+	protected void writeProperties(String name, String value, boolean shouldPass) {
+		XbPackages packs = new XbPackages();
+		XbPackage pack = new XbPackage();
+		pack.setName("test");
+		pack.setToDir("test2");
+		XbProperty property = new XbProperty();
+
+		try {
+			property.setName(name);
+			property.setValue(value);
+			pack.getProperties().addProperty(property);
+		} catch( NullPointerException npe ) {
+			if( shouldPass ) 
+				fail("Model failed to save when it should have saved. - " + npe.getMessage());
+			return; // success
+		}
+		
+		packs.addChild(pack);
+		write(packs, shouldPass);
+	}
+
+	public void testWritePropertiesSuccess() {
+		writeProperties("name", "val", true); 
+	}
+	
+	public void testWritePropertiesMissingName() {
+		writeProperties(null, "val", false);
+	}
+	
+	public void testWritePropertiesMissingValue() {
+		writeProperties("name", null, false);
+	}
+	
+	public void writeFolder(String name, boolean shouldPass) {
+		XbPackages packs = new XbPackages();
+		XbPackage pack = new XbPackage();
+		pack.setName("name");
+		pack.setToDir("todir");
+		packs.addChild(pack);
+		XbFolder folder = new XbFolder();
+		folder.setName(name);
+		pack.addChild(folder);
+		write(packs, shouldPass);
+	}
+	
+	public void testWriteFolderSuccess() {
+		writeFolder("someFolder", true);
+	}
+		
+	public void testWriteFolderMissingName() {
+		writeFolder(null, false);
+	}
+		
+	public void writeFileset(String dir, String includes, boolean shouldSucceed) {
+		XbPackages packs = new XbPackages();
+		XbPackage pack = new XbPackage();
+		pack.setName("name");
+		pack.setToDir("todir");
+		packs.addChild(pack);
+		XbFileSet fs = new XbFileSet();
+		fs.setDir(dir);
+		fs.setIncludes(includes);
+		pack.addChild(fs);
+		write(packs, shouldSucceed);
+	}
+	
+	public void testWriteFilesetSuccess() {
+		writeFileset("folder", "includes", true);
+	}
+	
+	public void testWriteFilesetMissingFolder() {
+		writeFileset(null, "includes", false);
+	}
+	
+	public void testWriteFilesetMissingIncludes() {
+		writeFileset("path", null, false);
+	}
+	
+	
+	protected void writeAction(String time, String type, boolean shouldSucceed) {
+		XbPackages packs = new XbPackages();
+		XbPackage pack = new XbPackage();
+		pack.setName("name");
+		pack.setToDir("todir");
+		packs.addChild(pack);
+		XbAction act = new XbAction();
+		act.setTime(time);
+		act.setType(type);
+		pack.addChild(act);
+		write(packs, shouldSucceed);
+	}
+	
+	public void testWriteActionSuccess() {
+		writeAction("preBuild", "ant", true);
+	}
+	
+	public void testWriteActionMissingTime() {
+		writeAction(null, "ant", false);
+	}
+	
+	public void testWriteActionMissingType() {
+		writeAction("preBuild", null, false);
+	}
 }

Deleted: trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallUnmarshallTest.java
===================================================================
--- trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallUnmarshallTest.java	2008-03-06 19:30:44 UTC (rev 6726)
+++ trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/MarshallUnmarshallTest.java	2008-03-06 19:32:07 UTC (rev 6727)
@@ -1,174 +0,0 @@
-package org.jboss.ide.eclipse.archives.test.xb;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStreamWriter;
-import java.net.URL;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFileSet;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFolder;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackage;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackages;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
-import org.jboss.ide.eclipse.archives.test.ArchivesTest;
-import org.jboss.ide.eclipse.archives.test.util.FileIOUtil;
-import org.osgi.framework.Bundle;
-
-public class MarshallUnmarshallTest extends TestCase {
-	private Bundle bundle;
-	private IPath bundlePath;
-	private IPath archiveDescriptors;
-	protected void setUp() {
-		if( bundlePath == null ) {
-			try {
-				bundle = ArchivesTest.getDefault().getBundle();
-				URL bundleURL = FileLocator.toFileURL(bundle.getEntry(""));
-				bundlePath = new Path(bundleURL.getFile());
-				archiveDescriptors = bundlePath.append("inputs").append("archiveDescriptors");
-			} catch( IOException ioe) {}
-		}
-	}
-
-	
-	public void tearDown() {
-		FileIOUtil.clearFolder(bundlePath.append("tmp").toFile().listFiles());
-	}
-	
-	public void testUnmarshall() {
-		FileInputStream fis = null;
-		try {
-			// unmarshall from file
-			fis = new FileInputStream(archiveDescriptors.append("descriptor1.xml").toFile());
-			XbPackages packs = XMLBinding.unmarshal(fis, new NullProgressMonitor());
-			assertDescriptor1Accurate(packs);
-
-			// unmarshall from string
-			String content = fileAsString(archiveDescriptors.append("descriptor1.xml").toFile());
-			packs = XMLBinding.unmarshal(content, new NullProgressMonitor());
-			assertDescriptor1Accurate(packs);
-
-		} catch( Exception e ) {
-			fail(e.getMessage());
-		}
-	}
-	
-	public String fileAsString(File f) throws Exception {
-		FileInputStream fis = new FileInputStream(f);
-		int x= fis.available();
-		byte b[]= new byte[x];
-		fis.read(b);
-		return new String(b);
-	}
-	
-	public void testMarshall() {
-		IPath tmpFolder = bundlePath.append("tmp");
-		
-		XbPackages packs = new XbPackages();
-		XbPackage pack1 = new XbPackage();
-		pack1.setName("TestProject.jar");
-		pack1.setPackageType("jar");
-		pack1.setToDir("/some/external/path");
-		pack1.setExploded(false);
-		pack1.setInWorkspace(false);
-		packs.addChild(pack1);
-
-		XbPackage pack2 = new XbPackage();
-		pack2.setName("TestProject2.jar");
-		pack2.setPackageType("jar");
-		pack2.setToDir("/SomeProject");
-		pack2.setExploded(true);
-		pack2.setInWorkspace(true);
-		packs.addChild(pack2);
-
-		XbFolder folder1 = new XbFolder();
-		folder1.setName("folder");
-		pack1.addChild(folder1);
-		
-		XbFolder folder2 = new XbFolder();
-		folder2.setName("folder2");
-		pack1.addChild(folder2);
-		
-		XbFolder inner1 = new XbFolder();
-		inner1.setName("inner1");
-		folder2.addChild(inner1);
-		
-		XbFileSet fs = new XbFileSet();
-		fs.setDir("/some/global/path");
-		fs.setIncludes("**/*.xml");
-		fs.setInWorkspace(false);
-		inner1.addChild(fs);
-		
-		assertDescriptor1Accurate(packs);
-
-		try {
-			String packsAsString = XMLBinding.serializePackages(packs, new NullProgressMonitor());
-			XbPackages packsFromString = XMLBinding.unmarshal(packsAsString, new NullProgressMonitor());
-			assertDescriptor1Accurate(packsFromString);
-
-			OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFolder.append("marshallTest.xml").toFile()));
-			XMLBinding.marshall(packs, writer, new NullProgressMonitor());
-			writer.close();
-			
-			XbPackages packsFromFile = XMLBinding.unmarshal(new FileInputStream(tmpFolder.append("marshallTest.xml").toFile()), new NullProgressMonitor());
-			assertDescriptor1Accurate(packsFromFile);
-		} catch(XbException e) {
-			fail(e.getMessage());
-		} catch( IOException ioe ) {
-			fail(ioe.getMessage());
-		}
-	}
-	
-	void assertDescriptor1Accurate(XbPackages packs) {
-		assertEquals(2, packs.getAllChildren().size());
-		assertEquals(2, packs.getChildren(XbPackage.class).size());
-		
-		XbPackage pack1 = (XbPackage)packs.getAllChildren().get(0);
-		XbPackage pack2 = (XbPackage)packs.getAllChildren().get(1);
-		
-		// pack 1
-		assertEquals("TestProject.jar", pack1.getName());
-		assertEquals("/some/external/path", pack1.getToDir());
-		assertEquals("jar", pack1.getPackageType());
-		assertFalse(pack1.isExploded());
-		assertFalse(pack1.isInWorkspace());
-		assertEquals(2, pack1.getAllChildren().size());
-		assertEquals(2, pack1.getChildren(XbFolder.class).size());
-		
-		XbFolder folder1 = (XbFolder)pack1.getAllChildren().get(0);
-		XbFolder folder2 = (XbFolder)pack1.getAllChildren().get(1);
-		
-		assertEquals(0, folder1.getAllChildren().size());
-		assertEquals("folder", folder1.getName());
-		
-		assertEquals(1, folder2.getAllChildren().size());
-		assertEquals(1, folder2.getChildren(XbFolder.class).size());
-		assertEquals("folder2", folder2.getName());
-		
-		XbFolder innerFolder = (XbFolder)folder2.getAllChildren().get(0);
-		assertEquals("inner1", innerFolder.getName());
-		assertEquals(1, innerFolder.getAllChildren().size());
-		assertEquals(1, innerFolder.getChildren(XbFileSet.class).size());
-		
-		XbFileSet fs = (XbFileSet)innerFolder.getAllChildren().get(0);
-		assertEquals(fs.getIncludes(), "**/*.xml");
-		assertEquals(fs.getDir(), "/some/global/path");
-		assertFalse(fs.isInWorkspace());
-
-		// pack 2
-		assertEquals(0, pack2.getAllChildren().size());
-		assertEquals("TestProject2.jar", pack2.getName());
-		assertEquals("/SomeProject", pack2.getToDir());
-		assertEquals("jar", pack2.getPackageType());
-		assertTrue(pack2.isExploded());
-		assertTrue(pack2.isInWorkspace());
-	}
-}

Copied: trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/UnmarshallTest.java (from rev 6614, trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/ValidationTest.java)
===================================================================
--- trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/UnmarshallTest.java	                        (rev 0)
+++ trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/UnmarshallTest.java	2008-03-06 19:32:07 UTC (rev 6727)
@@ -0,0 +1,225 @@
+/**
+ * JBoss, a Division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.archives.test.xb;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFileSet;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackage;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackages;
+import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
+import org.jboss.ide.eclipse.archives.test.ArchivesTest;
+import org.jboss.ide.eclipse.archives.test.util.FileIOUtil;
+import org.osgi.framework.Bundle;
+
+/**
+ * Tests whether the xml files can be validated
+ * 
+ * @author rob.stryker <rob.stryker at redhat.com>
+ *
+ */
+public class UnmarshallTest extends TestCase {
+	private Bundle bundle;
+	private IPath bundlePath;
+	private IPath archiveDescriptors;
+	protected void setUp() {
+		if( bundlePath == null ) {
+			try {
+				bundle = ArchivesTest.getDefault().getBundle();
+				URL bundleURL = FileLocator.toFileURL(bundle.getEntry(""));
+				bundlePath = new Path(bundleURL.getFile());
+				archiveDescriptors = bundlePath.append("inputs").append("archiveDescriptors").append("validation");
+			} catch( IOException ioe) {
+				fail("Failed to set up " + getClass().getName());
+			}
+		}
+	}
+
+	public void tearDown() {
+		FileIOUtil.clearFolder(bundlePath.append("tmp").toFile().listFiles());
+	}
+	
+	/*
+	 * The tests
+	 */
+	
+	public void testAbsoluteSchemaFailure() {
+		parse("AbsoluteSchemaFailure.xml", false, "Broken schema successfully parsed.");
+	}
+	
+	public void testAttributeSchemaFailure() {
+		parse("AttributeSchemaFailure.xml", false, "Schema with random attribute successfully parsed.");
+	}
+	
+	
+	public void testCorrectPackage() {
+		parse("CorrectPackage.xml", true, shouldParse("CorrectPackage.xml"));
+	}
+
+	public void testPackageMissingPackageName() {
+		parse("MissingPackageName.xml", false, failedMissingRequiredAtt("name"));
+	}
+
+	public void testPackageMissingDirectory() {
+		parse("MissingPackageDir.xml", false, failedMissingRequiredAtt("todir"));
+	}
+	
+	public void testPackageMissingOptionalType() {
+		parse("MissingPackageType.xml", true, failedFalsePositiveRequiredAtt("type"));
+	}
+	
+	public void testPackageMissingOptionalExploded() {
+		XbPackages packs = parse("MissingPackageExploded.xml", true, failedFalsePositiveRequiredAtt("exploded"));
+		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
+		assertFalse(pack.isExploded());
+	}
+	
+	public void testPackageMissingOptionalInWorkspace() {
+		XbPackages packs = parse("MissingPackageInWorkspace.xml", true, failedFalsePositiveRequiredAtt("inWorkspace"));
+		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
+		assertTrue(pack.isInWorkspace());
+	}
+	
+	public void testPackageMissingOptionalId() {
+		XbPackages packs = parse("MissingPackageID.xml", true, failedMissingRequiredAtt("id"));
+		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
+		assertNull(pack.getId());
+	}
+	
+	public void testCorrectFolder() {
+		parse("CorrectFolder.xml", true, shouldParse("CorrectFolder.xml"));
+	}
+	
+	public void testFolderMissingName() {
+		parse("MissingFolderName.xml", false, failedMissingRequiredAtt("name"));
+	}
+	
+	public void testCorrectProperties() {
+		parse("CorrectProperties.xml", true, shouldParse("CorrectProperties.xml"));
+	}
+	
+	public void testPropertiesMissingKey() {
+		parse("MissingPropertiesName.xml", false, failedMissingRequiredAtt("name"));
+	}
+	
+	public void testPropertiesMissingValue() {
+		parse("MissingPropertiesValue.xml", false, failedMissingRequiredAtt("value"));
+	}
+	
+	
+	public void testCorrectFileset() {
+		parse("CorrectFileset.xml", true, shouldParse("CorrectFileset.xml"));
+	}
+	
+	public void testFilesetMissingDir() {
+		parse("MissingFilesetDir.xml", false, failedMissingRequiredAtt("todir"));
+	}
+
+	public void testFilesetMissingIncludes() {
+		parse("MissingFilesetIncludes.xml", false, failedMissingRequiredAtt("includes"));
+	}
+	
+	public void testFilesetMissingOptionalExcludes() {
+		parse("MissingFilesetExcludes.xml", true, failedFalsePositiveRequiredAtt("excludes"));
+		// no default
+	}
+	
+	public void testFilesetMissingOptionalInWorkspace() {
+		XbPackages packs = parse("MissingFilesetInWorkspace.xml", true, failedFalsePositiveRequiredAtt("inWorkspace"));
+		// no default
+		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
+		List l = pack.getChildren(XbFileSet.class);
+		assertNotNull(l);
+		assertEquals(1, l.size());
+		XbFileSet fs = (XbFileSet)l.get(0);
+		assertTrue(fs.isInWorkspace());
+	}
+
+	public void testFilesetMissingOptionalFlattened() {
+		XbPackages packs = parse("MissingFilesetFlattened.xml", true, failedFalsePositiveRequiredAtt("flattened"));
+		// no default
+		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
+		List l = pack.getChildren(XbFileSet.class);
+		assertNotNull(l);
+		assertEquals(1, l.size());
+		XbFileSet fs = (XbFileSet)l.get(0);
+		assertFalse(fs.isFlattened());
+	}
+
+	
+	public void testCorrectAction() {
+		parse("CorrectAction.xml", true, shouldParse("CorrectAction.xml"));
+	}
+	
+	public void testActionMissingTime() {
+		parse("MissingActionTime.xml", false, failedMissingRequiredAtt("time"));
+	}
+	
+	public void testActionMissingType() {
+		parse("MissingActionType.xml", false, failedMissingRequiredAtt("type"));
+	}
+	
+	
+	/*
+	 * Utility
+	 */
+	
+	protected XbPackages parse(String file, boolean shouldSucceed, String failMsg) {
+		FileInputStream fis = null;
+		XbPackages packs = null;
+		try {
+			fis = new FileInputStream(archiveDescriptors.append(file).toFile());
+			packs = XMLBinding.unmarshal(fis, new NullProgressMonitor());
+		} catch( IOException ioe ) {
+			fail(ioe.getMessage());
+		} catch( XbException e ) {
+			if( shouldSucceed )
+				fail(failMsg + " - " + e.getMessage());
+			return packs;
+		}
+		if( !shouldSucceed )
+			fail(failMsg);
+		return packs;
+	}
+	
+	protected String failedMissingRequiredAtt(String att) {
+		return "File parsed while missing a required attribute: " + att;
+	}
+	
+	protected String failedFalsePositiveRequiredAtt(String attribute) {
+		return "File failed to parse even though \"" + attribute + "\" is not required";
+	}
+	
+	protected String shouldParse(String file) {
+		return file + " should parse correctly.";
+	}
+}

Deleted: trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/ValidationTest.java
===================================================================
--- trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/ValidationTest.java	2008-03-06 19:30:44 UTC (rev 6726)
+++ trunk/core/tests/org.jboss.ide.eclipse.archives.test/src/org/jboss/ide/eclipse/archives/test/xb/ValidationTest.java	2008-03-06 19:32:07 UTC (rev 6727)
@@ -1,225 +0,0 @@
-/**
- * JBoss, a Division of Red Hat
- * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
-* This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ide.eclipse.archives.test.xb;
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbFileSet;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackage;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XbPackages;
-import org.jboss.ide.eclipse.archives.core.model.internal.xb.XMLBinding.XbException;
-import org.jboss.ide.eclipse.archives.test.ArchivesTest;
-import org.jboss.ide.eclipse.archives.test.util.FileIOUtil;
-import org.osgi.framework.Bundle;
-
-/**
- * Tests whether the xml files can be validated
- * 
- * @author rob.stryker <rob.stryker at redhat.com>
- *
- */
-public class ValidationTest extends TestCase {
-	private Bundle bundle;
-	private IPath bundlePath;
-	private IPath archiveDescriptors;
-	protected void setUp() {
-		if( bundlePath == null ) {
-			try {
-				bundle = ArchivesTest.getDefault().getBundle();
-				URL bundleURL = FileLocator.toFileURL(bundle.getEntry(""));
-				bundlePath = new Path(bundleURL.getFile());
-				archiveDescriptors = bundlePath.append("inputs").append("archiveDescriptors").append("validation");
-			} catch( IOException ioe) {
-				fail("Failed to set up " + getClass().getName());
-			}
-		}
-	}
-
-	public void tearDown() {
-		FileIOUtil.clearFolder(bundlePath.append("tmp").toFile().listFiles());
-	}
-	
-	/*
-	 * The tests
-	 */
-	
-	public void testAbsoluteSchemaFailure() {
-		parse("AbsoluteSchemaFailure.xml", false, "Broken schema successfully parsed.");
-	}
-	
-	public void testAttributeSchemaFailure() {
-		parse("AttributeSchemaFailure.xml", false, "Schema with random attribute successfully parsed.");
-	}
-	
-	
-	public void testCorrectPackage() {
-		parse("CorrectPackage.xml", true, shouldParse("CorrectPackage.xml"));
-	}
-
-	public void testPackageMissingPackageName() {
-		parse("MissingPackageName.xml", false, failedMissingRequiredAtt("name"));
-	}
-
-	public void testPackageMissingDirectory() {
-		parse("MissingPackageDir.xml", false, failedMissingRequiredAtt("todir"));
-	}
-	
-	public void testPackageMissingOptionalType() {
-		parse("MissingPackageType.xml", true, failedFalsePositiveRequiredAtt("type"));
-	}
-	
-	public void testPackageMissingOptionalExploded() {
-		XbPackages packs = parse("MissingPackageExploded.xml", true, failedFalsePositiveRequiredAtt("exploded"));
-		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
-		assertFalse(pack.isExploded());
-	}
-	
-	public void testPackageMissingOptionalInWorkspace() {
-		XbPackages packs = parse("MissingPackageInWorkspace.xml", true, failedFalsePositiveRequiredAtt("inWorkspace"));
-		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
-		assertTrue(pack.isInWorkspace());
-	}
-	
-	public void testPackageMissingOptionalId() {
-		XbPackages packs = parse("MissingPackageID.xml", true, failedMissingRequiredAtt("id"));
-		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
-		assertNull(pack.getId());
-	}
-	
-	public void testCorrectFolder() {
-		parse("CorrectFolder.xml", true, shouldParse("CorrectFolder.xml"));
-	}
-	
-	public void testFolderMissingName() {
-		parse("MissingFolderName.xml", false, failedMissingRequiredAtt("name"));
-	}
-	
-	public void testCorrectProperties() {
-		parse("CorrectProperties.xml", true, shouldParse("CorrectProperties.xml"));
-	}
-	
-	public void testPropertiesMissingKey() {
-		parse("MissingPropertiesName.xml", false, failedMissingRequiredAtt("name"));
-	}
-	
-	public void testPropertiesMissingValue() {
-		parse("MissingPropertiesValue.xml", false, failedMissingRequiredAtt("value"));
-	}
-	
-	
-	public void testCorrectFileset() {
-		parse("CorrectFileset.xml", true, shouldParse("CorrectFileset.xml"));
-	}
-	
-	public void testFilesetMissingDir() {
-		parse("MissingFilesetDir.xml", false, failedMissingRequiredAtt("todir"));
-	}
-
-	public void testFilesetMissingIncludes() {
-		parse("MissingFilesetIncludes.xml", false, failedMissingRequiredAtt("includes"));
-	}
-	
-	public void testFilesetMissingOptionalExcludes() {
-		parse("MissingFilesetExcludes.xml", true, failedFalsePositiveRequiredAtt("excludes"));
-		// no default
-	}
-	
-	public void testFilesetMissingOptionalInWorkspace() {
-		XbPackages packs = parse("MissingFilesetInWorkspace.xml", true, failedFalsePositiveRequiredAtt("inWorkspace"));
-		// no default
-		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
-		List l = pack.getChildren(XbFileSet.class);
-		assertNotNull(l);
-		assertEquals(1, l.size());
-		XbFileSet fs = (XbFileSet)l.get(0);
-		assertTrue(fs.isInWorkspace());
-	}
-
-	public void testFilesetMissingOptionalFlattened() {
-		XbPackages packs = parse("MissingFilesetFlattened.xml", true, failedFalsePositiveRequiredAtt("flattened"));
-		// no default
-		XbPackage pack = (XbPackage)packs.getAllChildren().get(0);
-		List l = pack.getChildren(XbFileSet.class);
-		assertNotNull(l);
-		assertEquals(1, l.size());
-		XbFileSet fs = (XbFileSet)l.get(0);
-		assertFalse(fs.isFlattened());
-	}
-
-	
-	public void testCorrectAction() {
-		parse("CorrectAction.xml", true, shouldParse("CorrectAction.xml"));
-	}
-	
-	public void testActionMissingTime() {
-		parse("MissingActionTime.xml", false, failedMissingRequiredAtt("time"));
-	}
-	
-	public void testActionMissingType() {
-		parse("MissingActionType.xml", false, failedMissingRequiredAtt("type"));
-	}
-	
-	
-	/*
-	 * Utility
-	 */
-	
-	protected XbPackages parse(String file, boolean shouldSucceed, String failMsg) {
-		FileInputStream fis = null;
-		XbPackages packs = null;
-		try {
-			fis = new FileInputStream(archiveDescriptors.append(file).toFile());
-			packs = XMLBinding.unmarshal(fis, new NullProgressMonitor());
-		} catch( IOException ioe ) {
-			fail(ioe.getMessage());
-		} catch( XbException e ) {
-			if( shouldSucceed )
-				fail(failMsg + " - " + e.getMessage());
-			return packs;
-		}
-		if( !shouldSucceed )
-			fail(failMsg);
-		return packs;
-	}
-	
-	protected String failedMissingRequiredAtt(String att) {
-		return "File parsed while missing a required attribute: " + att;
-	}
-	
-	protected String failedFalsePositiveRequiredAtt(String attribute) {
-		return "File failed to parse even though \"" + attribute + "\" is not required";
-	}
-	
-	protected String shouldParse(String file) {
-		return file + " should parse correctly.";
-	}
-}




More information about the jbosstools-commits mailing list