[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