/** * Copyright (c) 2006-2011 Floggy Open Source Group. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package net.sourceforge.floggy.persistence.fr2886470; import java.io.File; import java.io.FileInputStream; import com.thoughtworks.xstream.XStream; import junit.framework.TestCase; import net.sourceforge.floggy.persistence.Configuration; import net.sourceforge.floggy.persistence.FloggyException; import net.sourceforge.floggy.persistence.Weaver; import net.sourceforge.floggy.persistence.fr2937635.FR2937635; import net.sourceforge.floggy.persistence.impl.PersistableMetadata; /** * DOCUMENT ME! * * @author <a href="mailto:thiago.moreira@floggy.org">Thiago Moreira</a> * @version $Revision$ */ public class FR2886470Test extends TestCase { /** * DOCUMENT ME! */ public void testDoesNotExistSuiteNameAttribute() { File file = new File( "target/test-classes/fr2886470/valid-vendor-name-missing-suite-name.xml"); assertTrue(file.exists()); Weaver weaver = new Weaver(); String className = FR2937635.class.getName(); String[] fieldNames = new String[] { "name" }; Configuration c1 = new Configuration(); PersistableMetadata metadata = new PersistableMetadata(false, className, null, fieldNames, null, null, null, null, 0, null); c1.addPersistableMetadata(metadata); XStream stream = weaver.getXStream(); try { Configuration c2 = (Configuration) stream.fromXML(new FileInputStream(file)); weaver.mergeConfigurations(c1, c2); fail("It should throw a exception"); } catch (Exception e) { assertEquals(FloggyException.class, e.getClass()); } } /** * DOCUMENT ME! */ public void testDoesNotExistVendorNameAttribute() { File file = new File( "target/test-classes/fr2886470/valid-suite-name-missing-vendor-name.xml"); assertTrue(file.exists()); Weaver weaver = new Weaver(); String className = FR2937635.class.getName(); String[] fieldNames = new String[] { "name" }; Configuration c1 = new Configuration(); PersistableMetadata metadata = new PersistableMetadata(false, className, null, fieldNames, null, null, null, null, 0, null); c1.addPersistableMetadata(metadata); XStream stream = weaver.getXStream(); try { Configuration c2 = (Configuration) stream.fromXML(new FileInputStream(file)); weaver.mergeConfigurations(c1, c2); fail("It should throw a exception"); } catch (Exception e) { assertEquals(FloggyException.class, e.getClass()); } } /** * DOCUMENT ME! */ public void testValidSuiteNameAndVendorNameAttribute() { File file = new File( "target/test-classes/fr2886470/valid-vendor-name-and-suite-name.xml"); assertTrue(file.exists()); Weaver weaver = new Weaver(); String className = FR2937635.class.getName(); String[] fieldNames = new String[] { "name" }; Configuration c1 = new Configuration(); PersistableMetadata metadata = new PersistableMetadata(false, className, null, fieldNames, null, null, null, null, 0, null); c1.addPersistableMetadata(metadata); XStream stream = weaver.getXStream(); try { Configuration c2 = (Configuration) stream.fromXML(new FileInputStream(file)); weaver.mergeConfigurations(c1, c2); } catch (Exception e) { fail(e.getMessage()); } } }