Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

test cases for bug 350414 #4

Closed
wants to merge 1 commit into from

2 participants

Andrew Eisenberg Fred Bricon
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on May 22, 2012
  1. Andrew Eisenberg

    test cases for bug 350414

    aeisenberg authored
This page is out of date. Refresh to see the latest.
2  org.eclipse.m2e.tests/src/org/eclipse/m2e/tests/lifecycle/LifecycleMappingMetadataPrioritiesTest.java
View
@@ -17,6 +17,7 @@
public class LifecycleMappingMetadataPrioritiesTest extends AbstractLifecycleMappingTest {
+
// Tests lifecycle mapping declared in default lifecycle mapping metadata
public void testDefaultMetadataSource() throws Exception {
LifecycleMappingMetadataSource defaultMetadata = loadLifecycleMappingMetadataSource("projects/lifecyclemapping/lifecycleMappingMetadata/LifecycleMappingMetadataPrioritiesTest/defaultMetadata.xml");
@@ -133,4 +134,5 @@ public void testParent() throws Exception {
WorkspaceHelpers.assertLifecycleIdErrorMarkerAttributes(marker,
"no such lifecycle mapping for test-packaging-a - override");
}
+
}
153 org.eclipse.m2e.tests/src/org/eclipse/m2e/tests/lifecycle/PluginExecutionMetadataPrioritiesTest.java
View
@@ -19,6 +19,12 @@
@SuppressWarnings("restriction")
public class PluginExecutionMetadataPrioritiesTest extends AbstractLifecycleMappingTest {
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ // ensure there is no workspace lifecycle mapping
+ setWorkspaceLifecycleMappingMetadataSource("");
+ }
+
public void testDefaultMetadataSource() throws Exception {
LifecycleMappingMetadataSource defaultMetadata = loadLifecycleMappingMetadataSource("projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest/defaultMetadata.xml");
LifecycleMappingFactory.setDefaultLifecycleMappingMetadataSource(defaultMetadata);
@@ -159,4 +165,151 @@ public void testParent() throws Exception {
WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID, expectedErrorMessage,
null /*lineNumber*/, project);
}
+
+ // Workspace mappings override plugin mappings
+ public void testWorkspace() throws Exception {
+
+ // now set the lifecycle mapping in the workspace.
+ setWorkspaceLifecycleMappingMetadataSource(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<lifecycleMappingMetadata>\n" +
+ " <pluginExecutions>\n" +
+ " <pluginExecution>\n" +
+ " <pluginExecutionFilter>\n" +
+ " <groupId>org.eclipse.m2e.test.lifecyclemapping</groupId>\n" +
+ " <artifactId>test-lifecyclemapping-plugin</artifactId>\n" +
+ " <versionRange>[1.0.0,)</versionRange>\n" +
+ " <goals>\n" +
+ " <goal>test-goal-for-eclipse-extension2</goal>\n" +
+ " </goals>\n" +
+ " </pluginExecutionFilter>\n" +
+ " <action>\n" +
+ " <ignore/>\n" +
+ " </action>\n" +
+ " </pluginExecution>\n" +
+ " </pluginExecutions>\n" +
+ "</lifecycleMappingMetadata>");
+
+ LifecycleMappingMetadataSource defaultMetadata = loadLifecycleMappingMetadataSource("projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest/defaultMetadata.xml");
+ LifecycleMappingFactory.setDefaultLifecycleMappingMetadataSource(defaultMetadata);
+
+ IMavenProjectFacade facade = importMavenProject(
+ "projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest",
+ "testDefaultMetadataSource/pom.xml");
+ assertNotNull("Expected not null MavenProjectFacade", facade);
+ IProject project = facade.getProject();
+ List<IMarker> errorMarkers = WorkspaceHelpers.findErrorMarkers(project);
+ assertNotNull(errorMarkers);
+ assertEquals(WorkspaceHelpers.toString(errorMarkers), 2, errorMarkers.size());
+
+ // should still have lifecycle errors
+ String expectedErrorMessage = "Plugin execution not covered by lifecycle configuration: org.eclipse.m2e.test.lifecyclemapping:test-lifecyclemapping-plugin:1.0.0:test-goal-1 (execution: default-test-goal-1, phase: process-resources)";
+ WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID, expectedErrorMessage,
+ 11 /*lineNumber*/, project);
+
+ // should not have any plugin execution errors
+ expectedErrorMessage = "Project configurator \"missing default project configurator id for test-lifecyclemapping-plugin:test-goal-1\" is not available. To enable full functionality, install the project configurator and run Maven->Update Project Configuration.";
+ WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID,
+ expectedErrorMessage, null /*lineNumber*/, project);
+ }
+ // Embedded metadata should override Workspace mappings
+ public void testPomOverridesWorkspace() throws Exception {
+
+ // now set the lifecycle mapping in the workspace.
+ setWorkspaceLifecycleMappingMetadataSource(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<lifecycleMappingMetadata>\n" +
+ " <pluginExecutions>\n" +
+ " <pluginExecution>\n" +
+ " <pluginExecutionFilter>\n" +
+ " <groupId>org.eclipse.m2e.test.lifecyclemapping</groupId>\n" +
+ " <artifactId>test-lifecyclemapping-plugin</artifactId>\n" +
+ " <versionRange>[1.0.0,)</versionRange>\n" +
+ " <goals>\n" +
+ " <goal>test-goal-for-eclipse-extension2</goal>\n" +
+ " </goals>\n" +
+ " </pluginExecutionFilter>\n" +
+ " <action>\n" +
+ " <configurator>\n" +
+ " <id>no such project configurator id for test-lifecyclemapping-plugin:test-goal-for-eclipse-extension2 - embedded from pom</id>\n" +
+ " </configurator>\n" +
+ " </action>\n" +
+ " </pluginExecution>\n" +
+ " </pluginExecutions>\n" +
+ "</lifecycleMappingMetadata>");
+
+ IMavenProjectFacade parentFacade = importMavenProject(
+ "projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest",
+ "testParent/pom.xml");
+ assertNotNull("Expected not null MavenProjectFacade", parentFacade);
+ IProject project = parentFacade.getProject();
+ WorkspaceHelpers.assertNoErrors(project);
+
+ // parent pom should have no errors even though bad metadata is in the workspace mappings
+ IMavenProjectFacade facade = importMavenProject(
+ "projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest",
+ "testParent/useParent/pom.xml");
+ assertNotNull("Expected not null MavenProjectFacade", facade);
+ project = facade.getProject();
+ List<IMarker> errorMarkers = WorkspaceHelpers.findErrorMarkers(project);
+ assertNotNull(errorMarkers);
+ assertEquals(WorkspaceHelpers.toString(errorMarkers), 2, errorMarkers.size());
+ String expectedErrorMessage = "Plugin execution not covered by lifecycle configuration: org.eclipse.m2e.test.lifecyclemapping:test-lifecyclemapping-plugin:1.0.0:test-goal-1 (execution: default-test-goal-1, phase: process-resources)";
+ IMarker marker = WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID,
+ expectedErrorMessage, null /*lineNumber*/, project);
+ SourceLocation causeLocation = new SourceLocation(parentFacade.getMavenProject().getFile().getAbsolutePath(),
+ WorkspaceHelpers.getModelId(parentFacade.getMavenProject()), 11, 7, 14);
+ WorkspaceHelpers.assertMarkerLocation(new SourceLocation(5, 3, 10, causeLocation), marker);
+ expectedErrorMessage = "Project configurator \"no such project configurator id for test-lifecyclemapping-plugin:test-goal-1 - parent\" is not available. To enable full functionality, install the project configurator and run Maven->Update Project Configuration.";
+ marker = WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID, expectedErrorMessage,
+ null /*lineNumber*/, project);
+ WorkspaceHelpers.assertMarkerLocation(new SourceLocation(5, 3, 10, causeLocation), marker);
+ }
+
+ // metadata from workspace should override eclipse extension metadata
+ public void testWorkspaceOverridesEclipseExtensions() throws Exception {
+ // now set the lifecycle mapping in the workspace.
+ setWorkspaceLifecycleMappingMetadataSource(
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
+ "<lifecycleMappingMetadata>\n" +
+ " <pluginExecutions>\n" +
+ " <pluginExecution>\n" +
+ " <pluginExecutionFilter>\n" +
+ " <groupId>org.eclipse.m2e.test.lifecyclemapping</groupId>\n" +
+ " <artifactId>test-lifecyclemapping-plugin</artifactId>\n" +
+ " <versionRange>[1.0.0,)</versionRange>\n" +
+ " <goals>\n" +
+ " <goal>test-goal-for-eclipse-extension2</goal>\n" +
+ " </goals>\n" +
+ " </pluginExecutionFilter>\n" +
+ " <action>\n" +
+ " <configurator>\n" +
+ " <id>no such project configurator id for test-lifecyclemapping-plugin:test-goal-for-eclipse-extension2 - workspace</id>\n" +
+ " </configurator>\n" +
+ " </action>\n" +
+ " </pluginExecution>\n" +
+ " </pluginExecutions>\n" +
+ "</lifecycleMappingMetadata>");
+ LifecycleMappingMetadataSource defaultMetadata = loadLifecycleMappingMetadataSource("projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest/defaultMetadata.xml");
+ LifecycleMappingFactory.setDefaultLifecycleMappingMetadataSource(defaultMetadata);
+
+ IMavenProjectFacade facade = importMavenProject(
+ "projects/lifecyclemapping/lifecycleMappingMetadata/PluginExecutionMetadataPrioritiesTest",
+ "testEclipseExtension/pom.xml");
+ assertNotNull("Expected not null MavenProjectFacade", facade);
+ IProject project = facade.getProject();
+
+ // should have an error since workspace overrides with bad lifecycle data
+ String expectedErrorMessage = "Plugin execution not covered by lifecycle configuration: org.eclipse.m2e.test.lifecyclemapping:test-lifecyclemapping-plugin:1.0.0:test-goal-for-eclipse-extension2 (execution: default-test-goal-for-eclipse-extension2, phase: compile)";
+ WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID, expectedErrorMessage,
+ 11 /*lineNumber*/, project);
+
+ expectedErrorMessage = "Project configurator \"no such project configurator id for test-lifecyclemapping-plugin:test-goal-for-eclipse-extension2 - workspace\" is not available. To enable full functionality, install the project configurator and run Maven->Update Project Configuration.";
+ IMarker marker = WorkspaceHelpers.assertErrorMarker(IMavenConstants.MARKER_LIFECYCLEMAPPING_ID,
+ expectedErrorMessage, 11 /*lineNumber*/, project);
+ WorkspaceHelpers
+ .assertConfiguratorErrorMarkerAttributes(
+ marker,
+ "no such project configurator id for test-lifecyclemapping-plugin:test-goal-for-eclipse-extension2 - workspace");
+ }
}
57 org.eclipse.m2e.tests/src/org/eclipse/m2e/tests/lifecycle/WorkspaceMappingsFileTest.java
View
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2012 VMware, Inc
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * Andrew Eisenberg - Work on Bug 350414
+ *******************************************************************************/
+
+package org.eclipse.m2e.tests.lifecycle;
+
+import org.eclipse.m2e.tests.common.AbstractLifecycleMappingTest;
+
+
+/**
+ * Tests for changing the workspace lifecycle mappings file
+ * WorkspaceMappingsFileTest
+ *
+ * @author andrew
+ */
+public class WorkspaceMappingsFileTest extends AbstractLifecycleMappingTest {
+
+ protected void tearDown() throws Exception {
+ mavenConfiguration.setWorkspaceMappingsFile(null);
+ super.tearDown();
+ }
+
+ public void testIsDefault() throws Exception {
+ assertEquals(mavenConfiguration.getDefaultWorkspaceMappingsFile(),
+ mavenConfiguration.getWorkspaceMappingsFile());
+ }
+
+ public void testChangeFromDefault() throws Exception {
+ String newFile = "foo";
+ mavenConfiguration.setWorkspaceMappingsFile(newFile);
+ assertEquals(newFile,
+ mavenConfiguration.getWorkspaceMappingsFile());
+ }
+ public void testChangeToDefault() throws Exception {
+ String newFile = "foo";
+ mavenConfiguration.setWorkspaceMappingsFile(newFile);
+ mavenConfiguration.setWorkspaceMappingsFile(null);
+ assertEquals(mavenConfiguration.getDefaultWorkspaceMappingsFile(),
+ mavenConfiguration.getWorkspaceMappingsFile());
+ }
+
+ public void testChangeText() throws Exception {
+ String origText = mavenConfiguration.getWorkspaceMappings();
+ String newText = "blah!";
+ mavenConfiguration.setWorkspaceMappings(newText);
+ assertEquals(newText, mavenConfiguration.getWorkspaceMappings());
+ mavenConfiguration.setWorkspaceMappings(origText);
+ assertEquals(origText, mavenConfiguration.getWorkspaceMappings());
+ }
+}
Something went wrong with that request. Please try again.