[jbosstools-commits] JBoss Tools SVN: r42504 - trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Wed Jul 11 04:59:03 EDT 2012
Author: rob.stryker at jboss.com
Date: 2012-07-11 04:59:00 -0400 (Wed, 11 Jul 2012)
New Revision: 42504
Added:
trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTModuleDeployFoldersTest.java
Log:
missing file
Added: trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTModuleDeployFoldersTest.java
===================================================================
--- trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTModuleDeployFoldersTest.java (rev 0)
+++ trunk/as/tests/org.jboss.ide.eclipse.as.test/src/org/jboss/ide/eclipse/as/test/publishing/v2/JSTModuleDeployFoldersTest.java 2012-07-11 08:59:00 UTC (rev 42504)
@@ -0,0 +1,135 @@
+/*******************************************************************************
+ * Copyright (c) 2010 - 2011 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.ide.eclipse.as.test.publishing.v2;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
+import org.eclipse.wst.server.core.IModule;
+import org.eclipse.wst.server.core.IServerWorkingCopy;
+import org.eclipse.wst.server.core.ServerUtil;
+import org.jboss.ide.eclipse.as.core.publishers.LocalPublishMethod;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentModulePrefs;
+import org.jboss.ide.eclipse.as.core.util.DeploymentPreferenceLoader.DeploymentPreferences;
+import org.jboss.ide.eclipse.as.test.publishing.AbstractDeploymentTest;
+import org.jboss.ide.eclipse.as.test.util.ServerRuntimeUtils;
+import org.jboss.ide.eclipse.as.test.util.wtp.JavaEEFacetConstants;
+import org.jboss.ide.eclipse.as.test.util.wtp.OperationTestCase;
+import org.jboss.ide.eclipse.as.test.util.wtp.ProjectCreationUtil;
+
+public class JSTModuleDeployFoldersTest extends AbstractJSTDeploymentTester {
+ protected String getModuleName() {
+ return super.getModuleName() + "JSTModuleDeployFoldersTest";
+ }
+ public void tearDown() throws Exception {
+ super.tearDown();
+ MockPublishMethod.reset();
+ }
+
+ @Override
+ protected IProject createProject() throws Exception {
+ IDataModel dm = ProjectCreationUtil.getWebDataModel(getModuleName(), null, null, null, null, JavaEEFacetConstants.WEB_24, false);
+ OperationTestCase.runAndVerify(dm);
+ IProject p = ResourcesPlugin.getWorkspace().getRoot().getProject(getModuleName());
+ assertTrue(p.exists());
+ File srcFile = AbstractDeploymentTest.getFileLocation("projectPieces/EJB3NoDescriptor.jar");
+ String proj = p.getLocation().toOSString();
+ p.getFolder("WebContent").getFolder("WEB-INF")
+ .getFolder("lib").getFile("test.jar").create(
+ new FileInputStream(srcFile), true, new NullProgressMonitor());
+ p.refreshLocal(0, new NullProgressMonitor());
+ return p;
+ }
+
+
+ public void testStandardDeployAndTempFolders() throws CoreException, IOException {
+ server = ServerRuntimeUtils.createMockJBoss7Server();
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.reset();
+
+ IModule mod = ServerUtil.getModule(project);
+ IModule[] module = new IModule[] { mod };
+ server = ServerRuntimeUtils.addModule(server, mod);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(9,MockPublishMethod.getChanged().length);
+
+ IPath[] temps = MockPublishMethod.getTempPaths();
+ assertEquals(4, temps.length);
+ for( int i = 0; i < temps.length; i++ ) {
+ if( temps[i].lastSegment().equals("MANIFEST.MF"))
+ assertTrue(temps[i].segment(0).equals("mockTempRoot"));
+ if( temps[i].lastSegment().equals("web.xml"))
+ assertTrue(temps[i].segment(0).equals("mockTempRoot"));
+ if( temps[i].lastSegment().equals("test.jar"))
+ assertTrue(temps[i].segment(0).equals("mockTempRoot"));
+
+ // Markers don't need to be copied over in this way via a temp folder
+ if( temps[i].lastSegment().endsWith(".dodeploy"))
+ assertTrue(temps[i].segment(0).equals("mockRoot"));
+ }
+ MockPublishMethod.reset();
+ }
+
+
+ public void testPerModuleDeployAndTempFolders() throws CoreException, IOException {
+ server = ServerRuntimeUtils.createMockJBoss7Server();
+ server = ServerRuntimeUtils.useMockPublishMethod(server);
+ MockPublishMethod.reset();
+
+ // THIS NEEDS A REAL API. THIS IS HORRIBLE
+ IModule mod = ServerUtil.getModule(project);
+ DeploymentPreferences prefs = DeploymentPreferenceLoader.loadPreferencesFromServer(server);
+ DeploymentModulePrefs p = prefs.getOrCreatePreferences(LocalPublishMethod.LOCAL_PUBLISH_METHOD)
+ .getOrCreateModulePrefs(mod);
+ p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_LOC, "/newRoot");
+ p.setProperty(IJBossToolingConstants.LOCAL_DEPLOYMENT_TEMP_LOC, "/newTempRoot");
+ IServerWorkingCopy wc = server.createWorkingCopy();
+ DeploymentPreferenceLoader.savePreferencesToServerWorkingCopy(wc, prefs);
+ server = wc.save(true, null);
+
+
+ MockPublishMethod.reset();
+ MockPublishMethod.setExpectedRoot("/newRoot");
+ MockPublishMethod.setExpectedTempRoot("/newTempRoot");
+
+ IModule[] module = new IModule[] { mod };
+ server = ServerRuntimeUtils.addModule(server, mod);
+ ServerRuntimeUtils.publish(server);
+ assertEquals(9,MockPublishMethod.getChanged().length);
+
+ IPath[] temps = MockPublishMethod.getTempPaths();
+ assertEquals(4, temps.length);
+ for( int i = 0; i < temps.length; i++ ) {
+ if( temps[i].lastSegment().equals("MANIFEST.MF"))
+ assertTrue(temps[i].segment(0).equals("newTempRoot"));
+ if( temps[i].lastSegment().equals("web.xml"))
+ assertTrue(temps[i].segment(0).equals("newTempRoot"));
+ if( temps[i].lastSegment().equals("test.jar"))
+ assertTrue(temps[i].segment(0).equals("newTempRoot"));
+
+ // Markers don't need to be copied over in this way via a temp folder
+ if( temps[i].lastSegment().endsWith(".dodeploy"))
+ assertTrue(temps[i].segment(0).equals("newRoot"));
+ }
+ MockPublishMethod.reset();
+ }
+
+}
More information about the jbosstools-commits
mailing list