diff options
author | Brett Porter <brett@apache.org> | 2010-12-21 10:16:04 +0000 |
---|---|---|
committer | Brett Porter <brett@apache.org> | 2010-12-21 10:16:04 +0000 |
commit | 2a6a4e570f3f9a1eb7e92687e5ed68b98ff48c50 (patch) | |
tree | bce4096b2aad5ae7ae5f3e303c78d8d99f807247 /archiva-modules/metadata | |
parent | c82a0e6bc1c0d9c54f6147bf06a8d831c9eaa92e (diff) | |
download | archiva-2a6a4e570f3f9a1eb7e92687e5ed68b98ff48c50.tar.gz archiva-2a6a4e570f3f9a1eb7e92687e5ed68b98ff48c50.zip |
[MRM-1327] remove unnecessary facet node for project versions, and ensure artifact facet properties are correctly removed
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1051444 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules/metadata')
-rw-r--r-- | archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java b/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java index afd34b363..e96c00d01 100644 --- a/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java +++ b/archiva-modules/metadata/metadata-repository-api/src/test/java/org/apache/archiva/metadata/repository/AbstractMetadataRepositoryTest.java @@ -432,6 +432,41 @@ public abstract class AbstractMetadataRepositoryTest assertFalse( testFacet.toProperties().containsKey( "deleteKey" ) ); } + public void testUpdateArtifactMetadataWithExistingFacetsFacetPropertyWasRemoved() + throws MetadataResolutionException + { + ArtifactMetadata metadata = createArtifact(); + + Map<String, String> additionalProps = new HashMap<String, String>(); + additionalProps.put( "deleteKey", "deleteValue" ); + + MetadataFacet facet = new TestMetadataFacet( TEST_FACET_ID, "baz", additionalProps ); + metadata.addFacet( facet ); + repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, metadata ); + + metadata = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, + TEST_PROJECT_VERSION ).iterator().next(); + assertEquals( Collections.singleton( TEST_FACET_ID ), metadata.getFacetIds() ); + + TestMetadataFacet testFacet = (TestMetadataFacet) metadata.getFacet( TEST_FACET_ID ); + Map<String, String> facetProperties = testFacet.toProperties(); + + assertEquals( "deleteValue", facetProperties.get( "deleteKey" ) ); + + facetProperties.remove( "deleteKey" ); + + TestMetadataFacet newTestFacet = new TestMetadataFacet( TEST_FACET_ID, testFacet.getValue(), facetProperties ); + metadata.addFacet( newTestFacet ); + + repository.updateArtifact( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, TEST_PROJECT_VERSION, metadata ); + + metadata = repository.getArtifacts( TEST_REPO_ID, TEST_NAMESPACE, TEST_PROJECT, + TEST_PROJECT_VERSION ).iterator().next(); + assertEquals( Collections.singleton( TEST_FACET_ID ), metadata.getFacetIds() ); + testFacet = (TestMetadataFacet) metadata.getFacet( TEST_FACET_ID ); + assertFalse( testFacet.toProperties().containsKey( "deleteKey" ) ); + } + public void testUpdateArtifactMetadataWithExistingFacets() { ArtifactMetadata metadata = createArtifact(); |