/* * IronJacamar, a Java EE Connector Architecture implementation * Copyright 2016, Red Hat Inc, and individual contributors * as indicated by the @author tags. See the copyright.txt file 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 Eclipse Public License 1.0 as * published by the Free Software Foundation. * * 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 Eclipse * Public License for more details. * * You should have received a copy of the Eclipse 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.ironjacamar.deployers; import org.ironjacamar.embedded.Embedded; import org.ironjacamar.embedded.EmbeddedFactory; import org.ironjacamar.embedded.dsl.resourceadapters20.api.ResourceAdaptersDescriptor; import org.ironjacamar.rars.ResourceAdapterFactory; import org.ironjacamar.validator.ValidatorException; import java.net.URL; import org.jboss.shrinkwrap.api.spec.ResourceAdapterArchive; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.fail; /** * Basic Validator on Workmanager test case * @author <a href="mailto:stefano.maestri@ironjacamar.org">Stefano Maestri</a> */ public class ValidatorTestCase { private static Embedded embedded = null; /** * Lifecycle start, before the suite is executed * @throws Throwable throwable exception */ @BeforeClass public static void beforeClass() throws Throwable { // Create and set an embedded JCA instance embedded = EmbeddedFactory.create(false); // Startup embedded.startup(); // Deploy URL stdio = ValidatorTestCase.class.getClassLoader().getResource("stdio.xml"); URL naming = ValidatorTestCase.class.getClassLoader().getResource("naming.xml"); URL transaction = ValidatorTestCase.class.getClassLoader().getResource("noop-transaction.xml"); URL jca = ValidatorTestCase.class.getClassLoader().getResource("jca.xml"); embedded.deploy(stdio); embedded.deploy(naming); embedded.deploy(transaction); embedded.deploy(jca); } /** * Lifecycle stop, after the suite is executed * @throws Throwable throwable exception */ @AfterClass public static void afterClass() throws Throwable { // Undeploy URL stdio = ValidatorTestCase.class.getClassLoader().getResource("stdio.xml"); URL naming = ValidatorTestCase.class.getClassLoader().getResource("naming.xml"); URL transaction = ValidatorTestCase.class.getClassLoader().getResource("noop-transaction.xml"); URL jca = ValidatorTestCase.class.getClassLoader().getResource("jca.xml"); embedded.undeploy(jca); embedded.undeploy(transaction); embedded.undeploy(naming); embedded.undeploy(stdio); // Shutdown embedded embedded.shutdown(); // Set embedded to null embedded = null; } /** * Deployment * @throws Throwable In case of an error */ @Test public void testDeployment() throws Throwable { ResourceAdapterArchive rar = ResourceAdapterFactory.createWorkRarMCFNoHashCode(); ResourceAdaptersDescriptor raxml = ResourceAdapterFactory.createWorkDeploymentMCFNoHashCode(null); try { embedded.deploy(rar); embedded.deploy(raxml); fail(); } catch (Throwable t) { if (!t.getCause().getCause().getClass().equals(ValidatorException.class)) fail(); } finally { embedded.undeploy(raxml); embedded.undeploy(rar); } } }