From 031f607b735abf81e5415fbbdf6b55e01c2e368b Mon Sep 17 00:00:00 2001 From: "Maria Odea B. Ching" Date: Fri, 5 Nov 2010 11:22:06 +0000 Subject: [PATCH] [MRM-1303] fixed npe in delete artifact + unit test git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1031518 13f79535-47bb-0310-9956-ffa450edef68 --- .../web/action/DeleteArtifactAction.java | 17 ++- .../web/action/DeleteArtifactActionTest.java | 124 +++++++++++++++++- .../npe-metadata/1.0/npe-metadata-1.0.jar | Bin 0 -> 16289 bytes .../npe-metadata/1.0/npe-metadata-1.0.jar.md5 | 1 + .../1.0/npe-metadata-1.0.jar.sha1 | 1 + .../npe-metadata/1.0/npe-metadata-1.0.pom | 8 ++ .../npe-metadata/1.0/npe-metadata-1.0.pom.md5 | 1 + .../1.0/npe-metadata-1.0.pom.sha1 | 1 + .../archiva/npe-metadata/maven-metadata.xml | 12 ++ .../npe-metadata/maven-metadata.xml.md5 | 1 + .../npe-metadata/maven-metadata.xml.sha1 | 1 + 11 files changed, 164 insertions(+), 3 deletions(-) create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 create mode 100644 archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java index c91dae1f7..83ff863b3 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/DeleteArtifactAction.java @@ -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; + } } diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java index 45446707b..cc478358e 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/DeleteArtifactActionTest.java @@ -20,17 +20,137 @@ package org.apache.maven.archiva.web.action; */ 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() ); + + 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; + } } diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..0464407c2feb2d4cc9a6b6c19a137e9676908b74 GIT binary patch literal 16289 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 R)VIIlxBT$t8#(~M{{tw3K^Xu5 literal 0 HcmV?d00001 diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 new file mode 100644 index 000000000..29ab7cbb5 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.md5 @@ -0,0 +1 @@ +5b0e72a002c047e2f200855f6d904a7e \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 new file mode 100644 index 000000000..898bb7519 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.jar.sha1 @@ -0,0 +1 @@ +9b3ed9b1a8f1639bcc6a6986930d71a2996ba2fe \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom new file mode 100644 index 000000000..143bd719d --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom @@ -0,0 +1,8 @@ + + + 4.0.0 + org.apache.archiva + npe-metadata + 1.0 + diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 new file mode 100644 index 000000000..c835b0b76 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.md5 @@ -0,0 +1 @@ +30124c5194a639f12a2fb01e7aa5a952 \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 new file mode 100644 index 000000000..274871d24 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/1.0/npe-metadata-1.0.pom.sha1 @@ -0,0 +1 @@ +83bee18c83a6f4964026587cc4ccffe653c45d0c \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml new file mode 100644 index 000000000..c999862ff --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml @@ -0,0 +1,12 @@ + + + org.apache.archiva + npe-metadata + 1.0 + + + 1.0 + + 20101105071933 + + diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 new file mode 100644 index 000000000..c73f5bc10 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.md5 @@ -0,0 +1 @@ +6b4a71798c8fcb45ee0411cc9cf68064 \ No newline at end of file diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 new file mode 100644 index 000000000..76091f5fa --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/resources/test-repo/org/apache/archiva/npe-metadata/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +33c6dbdfdb263c394082d56e349d36e893ead06f \ No newline at end of file -- 2.39.5