Author: brett
Date: Thu Jan 26 21:51:51 2006
New Revision: 372754

URL: http://svn.apache.org/viewcvs?rev=372754&view=rev
Log:
[MRM-9] more tests

Added:
    
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/jars/modified-artifact-1.0.0.jar
    
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
   (with props)
    
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/
    
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/
    
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.jar
    
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
   (with props)
Modified:
    
maven/repository-manager/trunk/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java
    
maven/repository-manager/trunk/maven-repository-converter/src/main/resources/org/apache/maven/repository/converter/DefaultRepositoryConverter.properties
    
maven/repository-manager/trunk/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java

Modified: 
maven/repository-manager/trunk/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java?rev=372754&r1=372753&r2=372754&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/main/java/org/apache/maven/repository/converter/DefaultRepositoryConverter.java
 Thu Jan 26 21:51:51 2006
@@ -339,19 +339,27 @@
             if ( !force && targetFile.exists() )
             {
                 matching = FileUtils.contentEquals( sourceFile, targetFile );
+                if ( !matching )
+                {
+                    reporter.addFailure( artifact, getI18NString( 
"failure.target.already.exists" ) );
+                    result = false;
+                }
             }
-            if ( force || !matching )
+            if ( result )
             {
-                if ( testChecksums( artifact, sourceFile, reporter ) )
+                if ( force || !matching )
                 {
-                    if ( !dryrun )
+                    if ( testChecksums( artifact, sourceFile, reporter ) )
                     {
-                        FileUtils.copyFile( sourceFile, targetFile );
+                        if ( !dryrun )
+                        {
+                            FileUtils.copyFile( sourceFile, targetFile );
+                        }
+                    }
+                    else
+                    {
+                        result = false;
                     }
-                }
-                else
-                {
-                    result = false;
                 }
             }
         }

Modified: 
maven/repository-manager/trunk/maven-repository-converter/src/main/resources/org/apache/maven/repository/converter/DefaultRepositoryConverter.properties
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/main/resources/org/apache/maven/repository/converter/DefaultRepositoryConverter.properties?rev=372754&r1=372753&r2=372754&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/main/resources/org/apache/maven/repository/converter/DefaultRepositoryConverter.properties
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/main/resources/org/apache/maven/repository/converter/DefaultRepositoryConverter.properties
 Thu Jan 26 21:51:51 2006
@@ -16,4 +16,5 @@
 
 failure.incorrect.md5=The MD5 checksum value was incorrect.
 failure.incorrect.sha1=The SHA1 checksum value was incorrect.
-warning.missing.pom=The artifact had no POM in the source repository
\ No newline at end of file
+warning.missing.pom=The artifact had no POM in the source repository.
+failure.target.already.exists=The artifact could not be converted because it 
already exists.
\ No newline at end of file

Modified: 
maven/repository-manager/trunk/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java?rev=372754&r1=372753&r2=372754&view=diff
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java
 (original)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/test/java/org/apache/maven/repository/converter/RepositoryConverterTest.java
 Thu Jan 26 21:51:51 2006
@@ -482,11 +482,43 @@
     }
 
     public void testModifedArtifactFails()
+        throws InterruptedException, RepositoryConversionException, IOException
     {
         // test that it fails when the source artifact has changed and is 
different to the existing artifact in the
         // target repository
 
-        // TODO
+        Artifact artifact = createArtifact( "test", "modified-artifact", 
"1.0.0" );
+        Artifact pomArtifact = createPomArtifact( artifact );
+
+        File sourceFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( artifact ) );
+        File sourcePomFile = new File( sourceRepository.getBasedir(), 
sourceRepository.pathOf( pomArtifact ) );
+        File targetFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( artifact ) );
+        File targetPomFile = new File( targetRepository.getBasedir(), 
targetRepository.pathOf( pomArtifact ) );
+
+        assertTrue( "Check target file exists", targetFile.exists() );
+        assertTrue( "Check target POM exists", targetPomFile.exists() );
+
+        sourceFile.setLastModified( System.currentTimeMillis() );
+        sourcePomFile.setLastModified( System.currentTimeMillis() );
+
+        long origTime = targetFile.lastModified();
+        long origPomTime = targetPomFile.lastModified();
+
+        // Need to guarantee last modified is not equal
+        Thread.sleep( SLEEP_MILLIS );
+
+        repositoryConverter.convert( artifact, targetRepository, reporter );
+        checkFailure();
+        assertEquals( "Check failure message", getI18nString( 
"failure.target.already.exists" ),
+                      getFailure().getReason() );
+
+        assertEquals( "Check unmodified", origTime, targetFile.lastModified() 
);
+        assertEquals( "Check unmodified", origPomTime, 
targetPomFile.lastModified() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile =
+            new File( targetRepository.getBasedir(), 
targetRepository.pathOfRemoteRepositoryMetadata( metadata ) );
+        assertFalse( "Check metadata not created", metadataFile.exists() );
     }
 
     public void testForcedUnmodifiedArtifact()
@@ -521,6 +553,11 @@
 
         assertFalse( "Check modified", origTime == targetFile.lastModified() );
         assertFalse( "Check modified", origPomTime == 
targetPomFile.lastModified() );
+
+        ArtifactRepositoryMetadata metadata = new ArtifactRepositoryMetadata( 
artifact );
+        File metadataFile =
+            new File( targetRepository.getBasedir(), 
targetRepository.pathOfRemoteRepositoryMetadata( metadata ) );
+        assertTrue( "Check metadata created", metadataFile.exists() );
     }
 
     public void testDryRunSuccess()

Added: 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/jars/modified-artifact-1.0.0.jar
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/jars/modified-artifact-1.0.0.jar?rev=372754&view=auto
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/jars/modified-artifact-1.0.0.jar
 (added)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/jars/modified-artifact-1.0.0.jar
 Thu Jan 26 21:51:51 2006
@@ -0,0 +1 @@
+modified

Added: 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom?rev=372754&view=auto
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
 (added)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
 Thu Jan 26 21:51:51 2006
@@ -0,0 +1,22 @@
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed 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>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>modified-artifact</artifactId>
+  <groupId>test</groupId>
+  <currentVersion>1.0.0</currentVersion>
+</project>

Propchange: 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/repository-manager/trunk/maven-repository-converter/src/test/source-repository/test/poms/modified-artifact-1.0.0.pom
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.jar
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.jar?rev=372754&view=auto
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.jar
 (added)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.jar
 Thu Jan 26 21:51:51 2006
@@ -0,0 +1 @@
+unmodified

Added: 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
URL: 
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom?rev=372754&view=auto
==============================================================================
--- 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
 (added)
+++ 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
 Thu Jan 26 21:51:51 2006
@@ -0,0 +1,22 @@
+<!--
+  ~ Copyright 2005-2006 The Apache Software Foundation.
+  ~
+  ~ Licensed 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>
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>modified-artifact</artifactId>
+  <groupId>test</groupId>
+  <currentVersion>1.0.0</currentVersion>
+</project>

Propchange: 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
maven/repository-manager/trunk/maven-repository-converter/src/test/target-repository/test/modified-artifact/1.0.0/modified-artifact-1.0.0.pom
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision


Reply via email to