I guess I messed up the commit with my new windows/intellij install line feed config. :/
On Tue, Nov 17, 2015 at 6:38 PM, <[email protected]> wrote: > Repository: tomee > Updated Branches: > refs/heads/master 2c1d25150 -> 878269772 > > > it wasn't working on windows > > > Project: http://git-wip-us.apache.org/repos/asf/tomee/repo > Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/87826977 > Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/87826977 > Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/87826977 > > Branch: refs/heads/master > Commit: 878269772e6754beb3a74ce361e651992774b9a8 > Parents: 2c1d251 > Author: Thiago Veronezi <[email protected]> > Authored: Tue Nov 17 18:34:17 2015 -0500 > Committer: Thiago Veronezi <[email protected]> > Committed: Tue Nov 17 18:34:17 2015 -0500 > > ---------------------------------------------------------------------- > .../openejb/assembler/DeployerEjbTest.java | 678 +++++++++---------- > 1 file changed, 339 insertions(+), 339 deletions(-) > ---------------------------------------------------------------------- > > > > http://git-wip-us.apache.org/repos/asf/tomee/blob/87826977/container/openejb-core/src/test/java/org/apache/openejb/assembler/DeployerEjbTest.java > ---------------------------------------------------------------------- > diff --git > a/container/openejb-core/src/test/java/org/apache/openejb/assembler/DeployerEjbTest.java > b/container/openejb-core/src/test/java/org/apache/openejb/assembler/DeployerEjbTest.java > index b477ed0..1cb0052 100644 > --- > a/container/openejb-core/src/test/java/org/apache/openejb/assembler/DeployerEjbTest.java > +++ > b/container/openejb-core/src/test/java/org/apache/openejb/assembler/DeployerEjbTest.java > @@ -1,340 +1,340 @@ > -/** > - * Licensed to the Apache Software Foundation (ASF) under one or more > - * contributor license agreements. See the NOTICE file distributed with > - * this work for additional information regarding copyright ownership. > - * The ASF licenses this file to You 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 org.apache.openejb.assembler; > - > -import org.apache.openejb.OpenEJB; > -import org.apache.openejb.OpenEJBException; > -import org.apache.openejb.assembler.classic.AppInfo; > -import org.apache.openejb.config.sys.AdditionalDeployments; > -import org.apache.openejb.config.sys.Deployments; > -import org.apache.openejb.config.sys.JaxbOpenejb; > -import org.apache.openejb.jee.WebApp; > -import org.apache.openejb.junit.ApplicationComposer; > -import org.apache.openejb.loader.FileUtils; > -import org.apache.openejb.loader.Files; > -import org.apache.openejb.loader.IO; > -import org.apache.openejb.loader.SystemInstance; > -import org.apache.openejb.testing.AppResource; > -import org.apache.openejb.testing.Classes; > -import org.apache.openejb.testing.Module; > -import org.apache.openejb.util.WebArchives; > -import org.junit.After; > -import org.junit.AfterClass; > -import org.junit.Assert; > -import org.junit.Before; > -import org.junit.BeforeClass; > -import org.junit.Test; > -import org.junit.runner.RunWith; > - > -import java.io.File; > -import java.io.FileInputStream; > -import java.io.FileOutputStream; > -import java.io.FileWriter; > -import java.io.FilterOutputStream; > -import java.io.IOException; > -import java.lang.reflect.Method; > -import java.util.ArrayList; > -import java.util.Collection; > -import java.util.Properties; > -import java.util.concurrent.atomic.AtomicReference; > -import javax.naming.Context; > -import javax.naming.NamingException; > - > -import static > org.apache.openejb.config.ConfigurationFactory.ADDITIONAL_DEPLOYMENTS; > -import static org.junit.Assert.assertEquals; > - > -@RunWith(ApplicationComposer.class) > -public class DeployerEjbTest { > - > - private static final AtomicReference<String> property = new > AtomicReference<String>(null); > - private static final AtomicReference<File> warArchive = new > AtomicReference<File>(null); > - private static final String OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS = > "openejb.deployer.save-deployments"; > - > - @BeforeClass > - public static void beforeClass() throws Exception { > - > - final FileUtils base = SystemInstance.get().getBase(); > - final File conf = base.getDirectory("conf", false); > - Files.delete(conf); > - > - final File apps = base.getDirectory("apps", true); > - Files.delete(apps); > - > - base.getDirectory("apps", true); > - base.getDirectory("conf", true); > - > - > property.set(System.getProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS)); > - System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.TRUE.toString()); > - warArchive.set(WebArchives.warArchive(TestClass.class)); > - } > - > - @AfterClass > - public static void afterClass() { > - > - final String s = property.get(); > - if (null != s) { > - System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, "true"); > - } else { > - System.clearProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS); > - } > - > - final File file = warArchive.get(); > - if (file != null && file.exists()) { > - if (!file.delete()) { > - file.deleteOnExit(); > - } > - } > - > - try { // will make other tests failling otherwise since it would > leak config > - > Files.delete(SystemInstance.get().getBase().getDirectory("conf", false)); > - > Files.delete(SystemInstance.get().getBase().getDirectory("apps", false)); > - } catch (final IOException e) { > - // no-op > - } > - } > - > - @Module > - @Classes(value = {DeployerEjb.class}) > - public WebApp war() { > - return new WebApp().contextRoot("/initial"); > - } > - > - @AppResource > - private Context context; > - > - @Before > - public void before() throws Exception { > - removeDeployments(); > - System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.TRUE.toString()); > - } > - > - private void removeDeployments() throws IOException { > - final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > - if (deployments.exists()) { > - System.out.println(IO.slurp(deployments)); > - Files.delete(deployments); > - } > - } > - > - @After > - public void after() throws Exception { > - System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > - OpenEJB.destroy(); > - removeDeployments(); > - } > - > - private Deployer getDeployer() throws NamingException { > - return (Deployer) context.lookup("openejb/DeployerRemote"); > - } > - > - @Test > - public void testGetUniqueFile() throws Exception { > - > - final String uniqueFile = getDeployer().getUniqueFile(); > - Assert.assertTrue(new File(uniqueFile).exists()); > - } > - > - @Test > - public void testGetDeployedApps() throws Exception { > - getAppInfos(); > - } > - > - private Collection<AppInfo> getAppInfos() throws Exception { > - final Deployer deployer = getDeployer(); > - Collection<AppInfo> deployedApps = deployer.getDeployedApps(); > - > - if (null == deployedApps) { > - deployedApps = new ArrayList<AppInfo>(); > - } > - > - if (deployedApps.size() < 1) { > - getAppInfo(); > - deployedApps.addAll(deployer.getDeployedApps()); > - } > - > - Assert.assertTrue("Found no deployed apps", deployedApps.size() > > 0); > - return deployedApps; > - } > - > - @Test > - public void testDeployWarSave() throws Exception { > - > - final Collection<AppInfo> deployedApps = > getDeployer().getDeployedApps(); > - Assert.assertTrue("Found more than one app", deployedApps.size() > < 2); > - > - final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > - Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > - > - getAppInfo(); > - > - Assert.assertTrue("Failed to find: " + > deployments.getAbsolutePath(), deployments.exists()); > - } > - > - @Test > - public void removeDeploymentsLogic() throws Exception { > - final File dir1 = Files.mkdirs(new > File("target/DeployerEjbTest/removeDeploymentsLogic/app1/")); > - > - final File file = > SystemInstance.get().getBase().getFile(ADDITIONAL_DEPLOYMENTS, false); > - final Method save = > DeployerEjb.class.getDeclaredMethod("saveDeployment", File.class, > boolean.class); > - save.setAccessible(true); > - > - { > - final AdditionalDeployments deployments = new > AdditionalDeployments(); > - > - final Deployments d1 = new Deployments(); > - d1.setDir(dir1.getCanonicalPath()); > - deployments.getDeployments().add(d1); > - > - final Deployments d12 = new Deployments(); > - d12.setDir(dir1.getCanonicalPath()); > - deployments.getDeployments().add(d12); > - > - final Deployments d2 = new Deployments(); > - d2.setFile("/foo/bar/app.war"); > - deployments.getDeployments().add(d2); > - > - try (final FileOutputStream fos = new FileOutputStream(file)) > { > - JaxbOpenejb.marshal(AdditionalDeployments.class, > deployments, fos); > - } > - assertDeployementsSize(file, 3); > - } > - { > - save.invoke(new DeployerEjb(), dir1, false); > - assertDeployementsSize(file, 2); > - } > - { > - save.invoke(new DeployerEjb(), new File(dir1.getParentFile(), > dir1.getName() + ".war"), false); > - assertDeployementsSize(file, 1); > - } > - { > - save.invoke(new DeployerEjb(), new File("/foo/bar/app.war"), > false); > - assertDeployementsSize(file, 0); > - } > - } > - > - private void assertDeployementsSize(final File file, final int i) > throws Exception { > - try (final FileInputStream fis = new FileInputStream(file)) { > - assertEquals(i, > JaxbOpenejb.unmarshal(AdditionalDeployments.class, > fis).getDeployments().size()); > - } > - } > - > - private AppInfo getAppInfo() throws IOException, NamingException, > OpenEJBException { > - return getAppInfo(null); > - } > - > - private AppInfo getAppInfo(final Properties p) throws IOException, > NamingException, OpenEJBException { > - > - final Deployer deployer = getDeployer(); > - > - final File war = warArchive.get(); > - if (!war.exists()) { > - Assert.fail("War file does not exist: " + > war.getAbsolutePath()); > - } > - > - return (null != p ? deployer.deploy(war.getAbsolutePath(), p) : > deployer.deploy(war.getAbsolutePath())); > - } > - > - @Test > - public void testDeployWarNoSave() throws Exception { > - final Collection<AppInfo> deployedApps = > getDeployer().getDeployedApps(); > - Assert.assertTrue("Found more than one app", deployedApps.size() > < 2); > - > - final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > - if (deployments.exists()) { > - Files.delete(deployments); > - } > - > - Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > - > - final Properties p = new Properties(); > - p.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > - getAppInfo(p); > - > - Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > - } > - > - @Test > - public void testDeployProperties() throws Exception { > - final Properties p = new Properties(); > - final String path = warArchive.get().getAbsolutePath(); > - > - p.setProperty(Deployer.FILENAME, path); > - p.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > - > - final Deployer deployer = getDeployer(); > - final AppInfo appInfo = deployer.deploy(p); > - Assert.assertTrue("Paths do not match: " + path + " - " + > appInfo.path, path.equals(appInfo.path)); > - } > - > - @Test > - public void testUndeploy() throws Exception { > - final AppInfo appInfo = getDeployedApp(); > - > - Assert.assertNotNull("Failed to deploy app", appInfo); > - > - final Deployer deployer = getDeployer(); > - deployer.undeploy(appInfo.path); > - > - final Collection<AppInfo> appInfos = getAppInfos(); > - Assert.assertTrue("Failed to undeploy app", appInfos.size() < 2); > - } > - > - private AppInfo getDeployedApp() throws Exception { > - final Collection<AppInfo> appInfos = getAppInfos(); > - > - AppInfo appInfo = null; > - final File file = warArchive.get(); > - > - if (appInfos.size() < 2) { > - appInfo = getAppInfo(); > - } else { > - > - final String name = file.getName().toLowerCase(); > - > - for (final AppInfo info : appInfos) { > - if (name.contains(info.appId.toLowerCase())) { > - appInfo = info; > - } > - } > - } > - return appInfo; > - } > - > - @Test > - public void testReload() throws Exception { > - > - final AppInfo appInfo = getDeployedApp(); > - > - final Deployer deployer = getDeployer(); > - deployer.reload(appInfo.path); > - > - final Collection<AppInfo> deployedApps = > deployer.getDeployedApps(); > - boolean found = false; > - for (final AppInfo app : deployedApps) { > - if (app.path.equals(appInfo.path)) { > - found = true; > - } > - } > - > - Assert.assertTrue("Failed to find app after redeploy", found); > - } > - > - public static class TestClass { > - public TestClass() { > - } > - } > +/** > + * Licensed to the Apache Software Foundation (ASF) under one or more > + * contributor license agreements. See the NOTICE file distributed with > + * this work for additional information regarding copyright ownership. > + * The ASF licenses this file to You 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 org.apache.openejb.assembler; > + > +import org.apache.openejb.OpenEJB; > +import org.apache.openejb.OpenEJBException; > +import org.apache.openejb.assembler.classic.AppInfo; > +import org.apache.openejb.config.sys.AdditionalDeployments; > +import org.apache.openejb.config.sys.Deployments; > +import org.apache.openejb.config.sys.JaxbOpenejb; > +import org.apache.openejb.jee.WebApp; > +import org.apache.openejb.junit.ApplicationComposer; > +import org.apache.openejb.loader.FileUtils; > +import org.apache.openejb.loader.Files; > +import org.apache.openejb.loader.IO; > +import org.apache.openejb.loader.SystemInstance; > +import org.apache.openejb.testing.AppResource; > +import org.apache.openejb.testing.Classes; > +import org.apache.openejb.testing.Module; > +import org.apache.openejb.util.WebArchives; > +import org.junit.After; > +import org.junit.AfterClass; > +import org.junit.Assert; > +import org.junit.Before; > +import org.junit.BeforeClass; > +import org.junit.Test; > +import org.junit.runner.RunWith; > + > +import java.io.File; > +import java.io.FileInputStream; > +import java.io.FileOutputStream; > +import java.io.FileWriter; > +import java.io.FilterOutputStream; > +import java.io.IOException; > +import java.lang.reflect.Method; > +import java.util.ArrayList; > +import java.util.Collection; > +import java.util.Properties; > +import java.util.concurrent.atomic.AtomicReference; > +import javax.naming.Context; > +import javax.naming.NamingException; > + > +import static > org.apache.openejb.config.ConfigurationFactory.ADDITIONAL_DEPLOYMENTS; > +import static org.junit.Assert.assertEquals; > + > +@RunWith(ApplicationComposer.class) > +public class DeployerEjbTest { > + > + private static final AtomicReference<String> property = new > AtomicReference<String>(null); > + private static final AtomicReference<File> warArchive = new > AtomicReference<File>(null); > + private static final String OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS = > "openejb.deployer.save-deployments"; > + > + @BeforeClass > + public static void beforeClass() throws Exception { > + > + final FileUtils base = SystemInstance.get().getBase(); > + final File conf = base.getDirectory("conf", false); > + Files.delete(conf); > + > + final File apps = base.getDirectory("apps", true); > + Files.delete(apps); > + > + base.getDirectory("apps", true); > + base.getDirectory("conf", true); > + > + > property.set(System.getProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS)); > + System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.TRUE.toString()); > + warArchive.set(WebArchives.warArchive(TestClass.class)); > + } > + > + @AfterClass > + public static void afterClass() { > + > + final String s = property.get(); > + if (null != s) { > + System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, "true"); > + } else { > + System.clearProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS); > + } > + > + final File file = warArchive.get(); > + if (file != null && file.exists()) { > + if (!file.delete()) { > + file.deleteOnExit(); > + } > + } > + > + try { // will make other tests failling otherwise since it would > leak config > + > Files.delete(SystemInstance.get().getBase().getDirectory("conf", false)); > + > Files.delete(SystemInstance.get().getBase().getDirectory("apps", false)); > + } catch (final IOException e) { > + // no-op > + } > + } > + > + @Module > + @Classes(value = {DeployerEjb.class}) > + public WebApp war() { > + return new WebApp().contextRoot("/initial"); > + } > + > + @AppResource > + private Context context; > + > + @Before > + public void before() throws Exception { > + removeDeployments(); > + System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.TRUE.toString()); > + } > + > + private void removeDeployments() throws IOException { > + final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > + if (deployments.exists()) { > + System.out.println(IO.slurp(deployments)); > + Files.delete(deployments); > + } > + } > + > + @After > + public void after() throws Exception { > + System.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > + OpenEJB.destroy(); > + removeDeployments(); > + } > + > + private Deployer getDeployer() throws NamingException { > + return (Deployer) context.lookup("openejb/DeployerRemote"); > + } > + > + @Test > + public void testGetUniqueFile() throws Exception { > + > + final String uniqueFile = getDeployer().getUniqueFile(); > + Assert.assertTrue(new File(uniqueFile).exists()); > + } > + > + @Test > + public void testGetDeployedApps() throws Exception { > + getAppInfos(); > + } > + > + private Collection<AppInfo> getAppInfos() throws Exception { > + final Deployer deployer = getDeployer(); > + Collection<AppInfo> deployedApps = deployer.getDeployedApps(); > + > + if (null == deployedApps) { > + deployedApps = new ArrayList<AppInfo>(); > + } > + > + if (deployedApps.size() < 1) { > + getAppInfo(); > + deployedApps.addAll(deployer.getDeployedApps()); > + } > + > + Assert.assertTrue("Found no deployed apps", deployedApps.size() > > 0); > + return deployedApps; > + } > + > + @Test > + public void testDeployWarSave() throws Exception { > + > + final Collection<AppInfo> deployedApps = > getDeployer().getDeployedApps(); > + Assert.assertTrue("Found more than one app", deployedApps.size() > < 2); > + > + final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > + Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > + > + getAppInfo(); > + > + Assert.assertTrue("Failed to find: " + > deployments.getAbsolutePath(), deployments.exists()); > + } > + > + @Test > + public void removeDeploymentsLogic() throws Exception { > + final File dir1 = Files.mkdirs(new > File("target/DeployerEjbTest/removeDeploymentsLogic/app1/")); > + > + final File file = > SystemInstance.get().getBase().getFile(ADDITIONAL_DEPLOYMENTS, false); > + final Method save = > DeployerEjb.class.getDeclaredMethod("saveDeployment", File.class, > boolean.class); > + save.setAccessible(true); > + > + { > + final AdditionalDeployments deployments = new > AdditionalDeployments(); > + > + final Deployments d1 = new Deployments(); > + d1.setDir(dir1.getCanonicalPath()); > + deployments.getDeployments().add(d1); > + > + final Deployments d12 = new Deployments(); > + d12.setDir(dir1.getCanonicalPath()); > + deployments.getDeployments().add(d12); > + > + final Deployments d2 = new Deployments(); > + d2.setFile(new File(File.listRoots()[0], > "/foo/bar/app.war").getAbsolutePath()); > + deployments.getDeployments().add(d2); > + > + try (final FileOutputStream fos = new FileOutputStream(file)) > { > + JaxbOpenejb.marshal(AdditionalDeployments.class, > deployments, fos); > + } > + assertDeployementsSize(file, 3); > + } > + { > + save.invoke(new DeployerEjb(), dir1, false); > + assertDeployementsSize(file, 2); > + } > + { > + save.invoke(new DeployerEjb(), new File(dir1.getParentFile(), > dir1.getName() + ".war"), false); > + assertDeployementsSize(file, 1); > + } > + { > + save.invoke(new DeployerEjb(), new File(File.listRoots()[0], > "/foo/bar/app.war"), false); > + assertDeployementsSize(file, 0); > + } > + } > + > + private void assertDeployementsSize(final File file, final int i) > throws Exception { > + try (final FileInputStream fis = new FileInputStream(file)) { > + assertEquals(i, > JaxbOpenejb.unmarshal(AdditionalDeployments.class, > fis).getDeployments().size()); > + } > + } > + > + private AppInfo getAppInfo() throws IOException, NamingException, > OpenEJBException { > + return getAppInfo(null); > + } > + > + private AppInfo getAppInfo(final Properties p) throws IOException, > NamingException, OpenEJBException { > + > + final Deployer deployer = getDeployer(); > + > + final File war = warArchive.get(); > + if (!war.exists()) { > + Assert.fail("War file does not exist: " + > war.getAbsolutePath()); > + } > + > + return (null != p ? deployer.deploy(war.getAbsolutePath(), p) : > deployer.deploy(war.getAbsolutePath())); > + } > + > + @Test > + public void testDeployWarNoSave() throws Exception { > + final Collection<AppInfo> deployedApps = > getDeployer().getDeployedApps(); > + Assert.assertTrue("Found more than one app", deployedApps.size() > < 2); > + > + final File deployments = new > File(SystemInstance.get().getBase().getDirectory("conf", false), > "deployments.xml"); > + if (deployments.exists()) { > + Files.delete(deployments); > + } > + > + Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > + > + final Properties p = new Properties(); > + p.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > + getAppInfo(p); > + > + Assert.assertFalse("Found existing: " + > deployments.getAbsolutePath(), deployments.exists()); > + } > + > + @Test > + public void testDeployProperties() throws Exception { > + final Properties p = new Properties(); > + final String path = warArchive.get().getAbsolutePath(); > + > + p.setProperty(Deployer.FILENAME, path); > + p.setProperty(OPENEJB_DEPLOYER_SAVE_DEPLOYMENTS, > Boolean.FALSE.toString()); > + > + final Deployer deployer = getDeployer(); > + final AppInfo appInfo = deployer.deploy(p); > + Assert.assertTrue("Paths do not match: " + path + " - " + > appInfo.path, path.equals(appInfo.path)); > + } > + > + @Test > + public void testUndeploy() throws Exception { > + final AppInfo appInfo = getDeployedApp(); > + > + Assert.assertNotNull("Failed to deploy app", appInfo); > + > + final Deployer deployer = getDeployer(); > + deployer.undeploy(appInfo.path); > + > + final Collection<AppInfo> appInfos = getAppInfos(); > + Assert.assertTrue("Failed to undeploy app", appInfos.size() < 2); > + } > + > + private AppInfo getDeployedApp() throws Exception { > + final Collection<AppInfo> appInfos = getAppInfos(); > + > + AppInfo appInfo = null; > + final File file = warArchive.get(); > + > + if (appInfos.size() < 2) { > + appInfo = getAppInfo(); > + } else { > + > + final String name = file.getName().toLowerCase(); > + > + for (final AppInfo info : appInfos) { > + if (name.contains(info.appId.toLowerCase())) { > + appInfo = info; > + } > + } > + } > + return appInfo; > + } > + > + @Test > + public void testReload() throws Exception { > + > + final AppInfo appInfo = getDeployedApp(); > + > + final Deployer deployer = getDeployer(); > + deployer.reload(appInfo.path); > + > + final Collection<AppInfo> deployedApps = > deployer.getDeployedApps(); > + boolean found = false; > + for (final AppInfo app : deployedApps) { > + if (app.path.equals(appInfo.path)) { > + found = true; > + } > + } > + > + Assert.assertTrue("Failed to find app after redeploy", found); > + } > + > + public static class TestClass { > + public TestClass() { > + } > + } > } > \ No newline at end of file > >
