You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by oc...@apache.org on 2010/11/05 12:22:06 UTC
svn commit: r1031518 - in
/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src:
main/java/org/apache/maven/archiva/web/action/
test/java/org/apache/maven/archiva/web/action/ test/resources/test-repo/
test/resources/test-repo/org/ test/resource...
Author: oching
Date: Fri Nov 5 11:22:06 2010
New Revision: 1031518
URL: http://svn.apache.org/viewvc?rev=1031518&view=rev
Log:
[MRM-1303] fixed npe in delete artifact + unit test
Added:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar (with props)
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java?rev=1031518&r1=1031517&r2=1031518&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java Fri Nov 5 11:22:06 2010
@@ -339,7 +339,7 @@ public class DeleteArtifactAction
if ( !VersionUtil.isSnapshot( version ) )
{
- if ( metadata.getReleasedVersion().equals( version ) )
+ if ( metadata.getReleasedVersion() != null && metadata.getReleasedVersion().equals( version ) )
{
metadata.setReleasedVersion( latestVersion );
}
@@ -404,4 +404,19 @@ public class DeleteArtifactAction
{
return listeners;
}
+
+ public void setRepositoryFactory( RepositoryContentFactory repositoryFactory )
+ {
+ this.repositoryFactory = repositoryFactory;
+ }
+
+ public void setConfiguration( ArchivaConfiguration configuration )
+ {
+ this.configuration = configuration;
+ }
+
+ public void setMetadataRepository( MetadataRepository metadataRepository )
+ {
+ this.metadataRepository = metadataRepository;
+ }
}
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java?rev=1031518&r1=1031517&r2=1031518&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java Fri Nov 5 11:22:06 2010
@@ -20,17 +20,137 @@ package org.apache.maven.archiva.web.act
*/
import com.opensymphony.xwork2.Action;
+import org.apache.archiva.metadata.model.ArtifactMetadata;
+import org.apache.archiva.metadata.repository.MetadataRepository;
+import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.Configuration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
+import org.apache.maven.archiva.repository.ManagedRepositoryContent;
+import org.apache.maven.archiva.repository.RepositoryContentFactory;
+import org.apache.maven.archiva.repository.content.ManagedDefaultRepositoryContent;
import org.codehaus.plexus.spring.PlexusInSpringTestCase;
+import org.easymock.MockControl;
+import org.easymock.classextension.MockClassControl;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collection;
public class DeleteArtifactActionTest
extends PlexusInSpringTestCase
{
- public void testGetListeners()
+ private DeleteArtifactAction action;
+
+ private ArchivaConfiguration configuration;
+
+ private MockControl configurationControl;
+
+ private RepositoryContentFactory repositoryFactory;
+
+ private MockControl repositoryFactoryControl;
+
+ private MetadataRepository metadataRepository;
+
+ private MockControl metadataRepositoryControl;
+
+ private static final String REPOSITORY_ID = "test-repo";
+
+ private static final String GROUP_ID = "org.apache.archiva";
+
+ private static final String ARTIFACT_ID = "npe-metadata";
+
+ private static final String VERSION = "1.0";
+
+ private static final String REPO_LOCATION = getBasedir() + "/target/test-classes/test-repo";
+
+ @Override
+ protected void setUp()
throws Exception
{
- DeleteArtifactAction action = (DeleteArtifactAction) lookup( Action.class.getName(), "deleteArtifactAction" );
+ super.setUp();
+
+ action = (DeleteArtifactAction) lookup( Action.class.getName(), "deleteArtifactAction" );
assertNotNull( action );
+
+ configurationControl = MockControl.createControl( ArchivaConfiguration.class );
+ configuration = ( ArchivaConfiguration ) configurationControl.getMock();
+
+ repositoryFactoryControl = MockClassControl.createControl( RepositoryContentFactory.class );
+ repositoryFactory = ( RepositoryContentFactory ) repositoryFactoryControl.getMock();
+
+ metadataRepositoryControl = MockControl.createControl( MetadataRepository.class );
+ metadataRepository = ( MetadataRepository ) metadataRepositoryControl.getMock();
+
+ action.setConfiguration( configuration );
+ action.setRepositoryFactory( repositoryFactory );
+ action.setMetadataRepository( metadataRepository );
+ }
+
+ @Override
+ protected void tearDown()
+ throws Exception
+ {
+ action = null;
+
+ super.tearDown();
+ }
+
+ public void testGetListeners()
+ throws Exception
+ {
assertNotNull( action.getListeners() );
assertFalse( action.getListeners().isEmpty() );
}
+
+ public void testNPEInDeleteArtifact()
+ throws Exception
+ {
+ action.setGroupId( GROUP_ID );
+ action.setArtifactId( ARTIFACT_ID );
+ action.setVersion( VERSION );
+ action.setRepositoryId( REPOSITORY_ID );
+
+ Configuration config = createConfiguration();
+
+ ManagedRepositoryContent repoContent = new ManagedDefaultRepositoryContent();
+ repoContent.setRepository( config.findManagedRepositoryById( REPOSITORY_ID ) );
+
+ configurationControl.expectAndReturn( configuration.getConfiguration(), config );
+ repositoryFactoryControl.expectAndReturn( repositoryFactory.getManagedRepositoryContent( REPOSITORY_ID ), repoContent );
+ metadataRepositoryControl.expectAndReturn( metadataRepository.getArtifacts( REPOSITORY_ID, GROUP_ID, ARTIFACT_ID, VERSION ),
+ new ArrayList<ArtifactMetadata>() );
+
+ configurationControl.replay();
+ repositoryFactoryControl.replay();
+ metadataRepositoryControl.replay();
+
+ action.doDelete();
+
+ String artifactPath = REPO_LOCATION + "/" + StringUtils.replace( GROUP_ID, ".", "/" ) + "/" +
+ StringUtils.replace( ARTIFACT_ID, ".", "/" ) + "/" + VERSION + "/" + ARTIFACT_ID + "-" + VERSION;
+
+ assertFalse( new File( artifactPath + ".jar" ).exists() );
+ assertFalse( new File( artifactPath + ".jar.sha1" ).exists() );
+ assertFalse( new File( artifactPath + ".jar.md5" ).exists() );
+
+ assertFalse( new File( artifactPath + ".pom" ).exists() );
+ assertFalse( new File( artifactPath + ".pom.sha1" ).exists() );
+ assertFalse( new File( artifactPath + ".pom.md5" ).exists() );
+ }
+
+ private Configuration createConfiguration()
+ {
+ ManagedRepositoryConfiguration managedRepo = new ManagedRepositoryConfiguration();
+ managedRepo.setId( REPOSITORY_ID );
+ managedRepo.setName( "Test Repository" );
+
+ managedRepo.setLocation( REPO_LOCATION );
+ managedRepo.setReleases( true );
+
+ Configuration config = new Configuration();
+ config.addManagedRepository( managedRepo );
+
+ return config;
+ }
}
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar?rev=1031518&view=auto
==============================================================================
Binary file - no diff available.
Propchange: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+5b0e72a002c047e2f200855f6d904a7e
\ No newline at end of file
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+9b3ed9b1a8f1639bcc6a6986930d71a2996ba2fe
\ No newline at end of file
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom Fri Nov 5 11:22:06 2010
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>npe-metadata</artifactId>
+ <version>1.0</version>
+</project>
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+30124c5194a639f12a2fb01e7aa5a952
\ No newline at end of file
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+83bee18c83a6f4964026587cc4ccffe653c45d0c
\ No newline at end of file
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml Fri Nov 5 11:22:06 2010
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>org.apache.archiva</groupId>
+ <artifactId>npe-metadata</artifactId>
+ <version>1.0</version>
+ <versioning>
+ <versions>
+ <version>1.0</version>
+ </versions>
+ <lastUpdated>20101105071933</lastUpdated>
+ </versioning>
+</metadata>
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+6b4a71798c8fcb45ee0411cc9cf68064
\ No newline at end of file
Added: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1?rev=1031518&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 (added)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 Fri Nov 5 11:22:06 2010
@@ -0,0 +1 @@
+33c6dbdfdb263c394082d56e349d36e893ead06f
\ No newline at end of file