Author: jmcconnell
Date: Wed Oct  1 14:45:06 2008
New Revision: 700940

URL: http://svn.apache.org/viewvc?rev=700940&view=rev
Log:
adding in the start of some unit tests for this plugin

Added:
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/AlterByXPathMojoTest.java
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/PomProjectStub.java
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/
    maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/alter-by-xpath-pom.xml
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml
Modified:
    maven/sandbox/trunk/plugins/maven-pom-plugin/pom.xml
    
maven/sandbox/trunk/plugins/maven-pom-plugin/src/main/java/org/apache/maven/plugins/pom/AlterByXPathMojo.java

Modified: maven/sandbox/trunk/plugins/maven-pom-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/pom.xml?rev=700940&r1=700939&r2=700940&view=diff
==============================================================================
--- maven/sandbox/trunk/plugins/maven-pom-plugin/pom.xml (original)
+++ maven/sandbox/trunk/plugins/maven-pom-plugin/pom.xml Wed Oct  1 14:45:06 
2008
@@ -67,5 +67,12 @@
       <version>3.8.1</version>
       <scope>test</scope>
     </dependency>
+    <!-- Test -->
+    <dependency>
+      <groupId>org.apache.maven.shared</groupId>
+      <artifactId>maven-plugin-testing-harness</artifactId>
+      <version>1.1</version>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 </project>

Modified: 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/main/java/org/apache/maven/plugins/pom/AlterByXPathMojo.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/src/main/java/org/apache/maven/plugins/pom/AlterByXPathMojo.java?rev=700940&r1=700939&r2=700940&view=diff
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/main/java/org/apache/maven/plugins/pom/AlterByXPathMojo.java
 (original)
+++ 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/main/java/org/apache/maven/plugins/pom/AlterByXPathMojo.java
 Wed Oct  1 14:45:06 2008
@@ -63,7 +63,7 @@
     
     public void execute() throws MojoExecutionException, MojoFailureException
     {
-        if ( xpath == null || newValue == null )
+        if ( xpath == null || newValue == null || projectFile == null )
         {
             getLog().info( "missing required information" );
             return;

Added: 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/AlterByXPathMojoTest.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/AlterByXPathMojoTest.java?rev=700940&view=auto
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/AlterByXPathMojoTest.java
 (added)
+++ 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/AlterByXPathMojoTest.java
 Wed Oct  1 14:45:06 2008
@@ -0,0 +1,80 @@
+package org.apache.maven.plugins.pom;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.io.RandomAccessFile;
+import java.nio.channels.FileChannel;
+import java.nio.channels.FileLock;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.testing.AbstractMojoTestCase;
+import org.codehaus.plexus.util.FileUtils;
+import org.apache.maven.plugins.pom.AlterByXPathMojo;
+import org.apache.maven.plugins.pom.util.XMLTool;
+
+/**
+ * Test a pom mojo.
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Jesse McConnell</a>
+ * @version $Id:$
+ */
+public class AlterByXPathMojoTest
+    extends AbstractMojoTestCase
+{
+    /** [EMAIL PROTECTED] */
+    protected void setUp()
+        throws Exception
+    {
+        super.setUp();
+    }
+
+    /** [EMAIL PROTECTED] */
+    protected void tearDown()
+        throws Exception
+    {
+        super.tearDown();
+    }
+
+    /**
+     * Tests a pom alteration by xpath
+     *
+     * @throws Exception
+     */
+    public void testAlterByXPath()
+        throws Exception
+    {
+        String pluginPom = getBasedir() + 
"/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml";
+
+        // safety
+        FileUtils.copyDirectory( new File( getBasedir(), 
"src/test/resources/unit/alter-by-xpath-test" ),
+                                 new File( getBasedir(), 
"target/test-files/unit/alter-by-xpath-test" ), null, "**/.svn,**/.svn/**" );
+
+        AlterByXPathMojo mojo = (AlterByXPathMojo) lookupMojo( 
"alter-by-xpath", pluginPom );
+        
+        assertNotNull( mojo );
+
+        mojo.execute();
+        
+        XMLTool xmlTool = new XMLTool( "project", new File( getBasedir() + 
"/target/test-files/unit/alter-by-xpath-test/alter-by-xpath-pom.xml" ) );
+        
+        assertEquals( "1.1-SNAPSHOT", 
xmlTool.getElement("/project/dependencies/dependency[artifactId[.='commons-collections']]/version").getText());
+    } 
+}

Added: 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/PomProjectStub.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/PomProjectStub.java?rev=700940&view=auto
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/PomProjectStub.java
 (added)
+++ 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/java/org/apache/maven/plugins/pom/stubs/PomProjectStub.java
 Wed Oct  1 14:45:06 2008
@@ -0,0 +1,32 @@
+package org.apache.maven.plugin.pom.stubs;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.plugin.testing.stubs.MavenProjectStub;
+
+/**
+ * @author <a href="mailto:[EMAIL PROTECTED]">Jesse McConnell</a>
+ * @version $Id:$
+ */
+public class PomProjectStub
+    extends MavenProjectStub
+{
+    // nop
+}

Added: 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/alter-by-xpath-pom.xml
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/alter-by-xpath-pom.xml?rev=700940&view=auto
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/alter-by-xpath-pom.xml
 (added)
+++ 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/alter-by-xpath-pom.xml
 Wed Oct  1 14:45:06 2008
@@ -0,0 +1,25 @@
+<project>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>dom4j</groupId>
+      <artifactId>dom4j</artifactId>
+      <version>1.6.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>xom</groupId>
+          <artifactId>xom</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2</version>
+    </dependency>
+  </dependencies>
+</project>

Added: 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml?rev=700940&view=auto
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml
 (added)
+++ 
maven/sandbox/trunk/plugins/maven-pom-plugin/src/test/resources/unit/alter-by-xpath-test/plugin-pom.xml
 Wed Oct  1 14:45:06 2008
@@ -0,0 +1,34 @@
+<!--
+    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.
+-->
+
+<project>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-pom-plugin</artifactId>
+        <configuration>
+          
<xpath>/project/dependencies/dependency[artifactId[.='commons-collections']]/version</xpath>
+          <newValue>1.1-SNAPSHOT</newValue>
+          
<projectFile>${basedir}/target/test-files/unit/alter-by-xpath-test/alter-by-xpath-pom.xml</projectFile>
+          <failFast>true</failFast>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+</project>


Reply via email to