1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567 |
- package org.apache.archiva.repository.maven.content;
-
- /*
- * 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.archiva.common.filelock.FileLockManager;
- import org.apache.archiva.common.utils.VersionComparator;
- import org.apache.archiva.configuration.ArchivaConfiguration;
- import org.apache.archiva.configuration.FileType;
- import org.apache.archiva.configuration.FileTypes;
- import org.apache.archiva.model.ArtifactReference;
- import org.apache.archiva.model.ProjectReference;
- import org.apache.archiva.model.VersionedReference;
- import org.apache.archiva.repository.EditableManagedRepository;
- import org.apache.archiva.repository.LayoutException;
- import org.apache.archiva.repository.ManagedRepository;
- import org.apache.archiva.repository.ManagedRepositoryContent;
- import org.apache.archiva.repository.RepositoryContent;
- import org.apache.archiva.repository.content.Artifact;
- import org.apache.archiva.repository.content.BaseArtifactTypes;
- import org.apache.archiva.repository.content.ContentItem;
- import org.apache.archiva.repository.content.ItemNotFoundException;
- import org.apache.archiva.repository.content.ItemSelector;
- import org.apache.archiva.repository.content.Namespace;
- import org.apache.archiva.repository.content.Project;
- import org.apache.archiva.repository.content.Version;
- import org.apache.archiva.repository.content.base.ArchivaItemSelector;
- import org.apache.archiva.repository.maven.MavenManagedRepository;
- import org.apache.archiva.repository.maven.metadata.storage.ArtifactMappingProvider;
- import org.apache.archiva.repository.storage.StorageAsset;
- import org.apache.commons.io.FileUtils;
- import org.junit.Before;
- import org.junit.Test;
-
- import javax.inject.Inject;
- import javax.inject.Named;
- import java.io.IOException;
- import java.io.OutputStream;
- import java.io.Reader;
- import java.net.URISyntaxException;
- import java.nio.charset.Charset;
- import java.nio.file.Files;
- import java.nio.file.Path;
- import java.nio.file.Paths;
- import java.nio.file.attribute.FileTime;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- import java.util.stream.Stream;
-
- import static org.junit.Assert.*;
-
- /**
- * ManagedDefaultRepositoryContentTest
- */
- public class ManagedDefaultRepositoryContentTest
- extends AbstractManagedRepositoryContentTest
- {
- private ManagedDefaultRepositoryContent repoContent;
-
- @Inject
- FileTypes fileTypes;
-
- @Inject
- @Named ( "archivaConfiguration#default" )
- ArchivaConfiguration archivaConfiguration;
-
- @Inject
- List<? extends ArtifactMappingProvider> artifactMappingProviders;
-
- @Inject
- MavenContentHelper contentHelper;
-
- @Inject
- FileLockManager fileLockManager;
-
- private Path getRepositoryPath(String repoName) {
- try
- {
- return Paths.get( Thread.currentThread( ).getContextClassLoader( ).getResource( "repositories/" + repoName ).toURI( ) );
- }
- catch ( URISyntaxException e )
- {
- throw new RuntimeException( "Could not resolve repository path " + e.getMessage( ), e );
- }
- }
-
- @Before
- public void setUp()
- throws Exception
- {
- Path repoDir = getRepositoryPath( "default-repository" );
-
- MavenManagedRepository repository = createRepository( "testRepo", "Unit Test Repo", repoDir );
-
- FileType fileType = archivaConfiguration.getConfiguration().getRepositoryScanning().getFileTypes().get( 0 );
- fileType.addPattern( "**/*.xml" );
- assertEquals( FileTypes.ARTIFACTS, fileType.getId() );
-
- fileTypes.afterConfigurationChange( null, "fileType", null );
-
- repoContent = new ManagedDefaultRepositoryContent(repository, artifactMappingProviders, fileTypes, fileLockManager);
- repoContent.setMavenContentHelper( contentHelper );
-
- //repoContent = (ManagedRepositoryContent) lookup( ManagedRepositoryContent.class, "default" );
- }
-
- @Test
- public void testGetVersionsSnapshotA()
- throws Exception
- {
- assertVersions( "snap_shots_a", "1.0-alpha-11-SNAPSHOT",
- new String[]{ "1.0-alpha-11-SNAPSHOT", "1.0-alpha-11-20070221.194724-2",
- "1.0-alpha-11-20070302.212723-3", "1.0-alpha-11-20070303.152828-4",
- "1.0-alpha-11-20070305.215149-5", "1.0-alpha-11-20070307.170909-6",
- "1.0-alpha-11-20070314.211405-9", "1.0-alpha-11-20070316.175232-11" } );
- }
-
- @Test
- public void testToMetadataPathFromProjectReference()
- {
- ProjectReference reference = new ProjectReference();
- reference.setGroupId( "com.foo" );
- reference.setArtifactId( "foo-tool" );
-
- assertEquals( "com/foo/foo-tool/maven-metadata.xml", repoContent.toMetadataPath( reference ) );
- }
-
- @Test
- public void testToMetadataPathFromVersionReference()
- {
- VersionedReference reference = new VersionedReference();
- reference.setGroupId( "com.foo" );
- reference.setArtifactId( "foo-tool" );
- reference.setVersion( "1.0" );
-
- assertEquals( "com/foo/foo-tool/1.0/maven-metadata.xml", repoContent.toMetadataPath( reference ) );
- }
-
- @Test
- @Override
- public void testToPathOnNullArtifactReference()
- {
- try
- {
- ArtifactReference reference = null;
- repoContent.toPath( reference );
- fail( "Should have failed due to null artifact reference." );
- }
- catch ( IllegalArgumentException e )
- {
- /* expected path */
- }
- }
-
- @Test
- public void testExcludeMetadataFile()
- throws Exception
- {
- assertVersions( "include_xml", "1.0", new String[]{ "1.0" } );
- }
-
-
- private void assertVersions( String artifactId, String version, String[] expectedVersions )
- throws Exception
- {
- VersionedReference reference = new VersionedReference();
- reference.setGroupId( "org.apache.archiva.metadata.tests" );
- reference.setArtifactId( artifactId );
- reference.setVersion( version );
-
- // Use the test metadata-repository, which is already setup for
- // These kind of version tests.
- Path repoDir = getRepositoryPath( "metadata-repository" );
- ((EditableManagedRepository)repoContent.getRepository()).setLocation( repoDir.toAbsolutePath().toUri() );
-
- // Request the versions.
- Set<String> testedVersionSet = repoContent.getVersions( reference );
-
- // Sort the list (for asserts later)
- final VersionComparator comparator = new VersionComparator( );
- List<String> testedVersions = new ArrayList<>();
- testedVersions.addAll( testedVersionSet );
- Collections.sort( testedVersions, comparator );
-
- // Test the expected array of versions, to the actual tested versions
- assertEquals( "Assert Versions: length/size", expectedVersions.length, testedVersions.size() );
-
- for ( int i = 0; i < expectedVersions.length; i++ )
- {
- String actualVersion = testedVersions.get( i );
- assertEquals( "Versions[" + i + "]", expectedVersions[i], actualVersion );
- }
-
-
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.archiva.metadata.tests" )
- .withProjectId( artifactId )
- .withVersion( version )
- .build( );
- List<String> versions = repoContent.getVersions( selector ).stream()
- .map(v -> v.getVersion()).sorted( comparator ).collect( Collectors.toList());
- assertArrayEquals( expectedVersions, versions.toArray( ) );
-
-
- }
-
- @Test
- public void getTestGetProjectWithIllegalArgs() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache" )
- .withVersion( "1.0" )
- .build();
- try
- {
- repoContent.getProject( selector );
- assertFalse( "Should throw IllegalArgumentException if no project id is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Project id must be set" ) );
- }
- }
-
- @Test
- public void getTestGetVersionWithIllegalArgs() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withVersion( "1.0" )
- .build();
- try
- {
- repoContent.getVersion( selector );
- assertFalse( "Should throw IllegalArgumentException if no project id is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Project id must be set" ) );
- }
-
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "shared" )
- .build();
- try
- {
- repoContent.getVersion( selector );
- assertFalse( "Should throw IllegalArgumentException if no version is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Version must be set" ) );
- }
- }
-
- @Test
- public void getTestGetArtifactWithIllegalArgs() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withVersion( "1.0" )
- .withArtifactId( "shared" )
- .withArtifactVersion("1.0")
- .build();
- try
- {
- repoContent.getArtifact( selector );
- assertFalse( "Should throw IllegalArgumentException if no project id is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Project id must be set" ) );
- }
-
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "shared" )
- .withArtifactId( "shared" )
- .withArtifactVersion("1.0")
- .build();
- try
- {
- repoContent.getArtifact( selector );
- assertFalse( "Should throw IllegalArgumentException if no version is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Version must be set" ) );
- }
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "shared" )
- .withVersion("1.0")
- .withArtifactVersion("1.0")
- .build();
- try
- {
- repoContent.getArtifact( selector );
- assertFalse( "Should throw IllegalArgumentException if no artifact id is given", true );
- } catch (IllegalArgumentException e) {
- // Everything fine
- assertTrue( e.getMessage( ).contains( "Artifact id must be set" ) );
- }
-
-
- }
-
- @Test
- public void testGetProjects() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" ).build();
- Namespace ns = repoContent.getNamespace( selector );
- assertNotNull( ns );
- List<? extends Project> projects = repoContent.getProjects( ns );
- assertEquals( 12, projects.size( ) );
- String[] expected = new String[]{
- "A", "B", "C", "archiva", "discovery", "maven-parent", "samplejar", "shared", "some-ejb", "test",
- "testing", "update"
- };
- Object[] actual = projects.stream( ).map( p -> p.getId( ) ).sorted( ).toArray( );
- assertArrayEquals( expected, actual);
- }
-
- @Test
- public void testGetProjectsWithSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" ).build();
- List<? extends Project> projects = repoContent.getProjects( selector );
- assertEquals( 12, projects.size( ) );
- String[] expected = new String[]{
- "A", "B", "C", "archiva", "discovery", "maven-parent", "samplejar", "shared", "some-ejb", "test",
- "testing", "update"
- };
- Object[] actual = projects.stream( ).map( p -> p.getId( ) ).sorted( ).toArray( );
- assertArrayEquals( expected, actual);
- }
-
- @Test
- public void testGetVersionsWithIllegalSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" ).build();
- try
- {
- List<? extends Version> versions = repoContent.getVersions( selector );
- assertFalse( "IllegalArgumentException expected, when project id not set", true );
- } catch (IllegalArgumentException e) {
- assertEquals( "Project id not set, while retrieving versions.", e.getMessage( ) );
- }
- }
-
- @Test
- public void testGetVersionsWithSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" ).build();
- List<? extends Version> versions = repoContent.getVersions( selector );
- assertNotNull( versions );
- assertEquals( 2, versions.size( ) );
- }
-
-
- @Override
- protected ArtifactReference toArtifactReference( String path )
- throws LayoutException
- {
- return repoContent.toArtifactReference( path );
- }
-
- @Override
- protected ItemSelector toItemSelector( String path ) throws LayoutException
- {
- return repoContent.toItemSelector( path );
- }
-
- @Override
- protected String toPath( ArtifactReference reference )
- {
- return repoContent.toPath( reference );
- }
-
- @Override
- protected String toPath( ItemSelector selector ) {
- return repoContent.toPath( selector );
- }
-
- @Override
- protected ManagedRepositoryContent getManaged( )
- {
- return repoContent;
- }
-
- @Override
- protected RepositoryContent getContent( )
- {
- return repoContent;
- }
-
- private Path setupRepoCopy( String source, String target) throws IOException
- {
- Path defaultRepo = getRepositoryPath( source );
- Path newRepo = defaultRepo.getParent( ).resolve( target );
- FileUtils.copyDirectory( defaultRepo.toFile( ), newRepo.toFile( ) );
-
- MavenManagedRepository repository = createRepository( "testRepo", "Unit Test Repo", newRepo );
-
- FileType fileType = archivaConfiguration.getConfiguration().getRepositoryScanning().getFileTypes().get( 0 );
- fileType.addPattern( "**/*.xml" );
- assertEquals( FileTypes.ARTIFACTS, fileType.getId() );
-
- fileTypes.afterConfigurationChange( null, "fileType", null );
-
- repoContent = new ManagedDefaultRepositoryContent(repository, artifactMappingProviders, fileTypes, fileLockManager);
- return newRepo;
-
- }
-
- @Test
- public void testDeleteArtifactWithType() throws IOException, org.apache.archiva.repository.ContentNotFoundException, org.apache.archiva.repository.ContentAccessException
- {
- Path deleteRepo = setupRepoCopy( "delete-repository", "delete-repository-2" );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- ArtifactReference ref = new ArtifactReference( );
- ref.setGroupId( "org.apache.maven" );
- ref.setArtifactId( "samplejar" );
- ref.setVersion( "1.0" );
- ref.setType( "jar" );
-
- repoContent.deleteArtifact( ref );
-
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertFalse( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
-
- }
-
-
- @Test
- public void testDeleteArtifactWithClassifier() throws IOException, org.apache.archiva.repository.ContentNotFoundException, org.apache.archiva.repository.ContentAccessException
- {
- Path deleteRepo = setupRepoCopy( "default-repository", "default-repository-2" );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- ArtifactReference ref = new ArtifactReference( );
- ref.setGroupId( "org.apache.maven" );
- ref.setArtifactId( "samplejar" );
- ref.setVersion( "1.0" );
- ref.setClassifier( "source" );
- ref.setType( "jar" );
-
- repoContent.deleteArtifact( ref );
-
- assertFalse( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- }
-
- @Test
- public void testDeleteArtifactWithoutType() throws IOException, org.apache.archiva.repository.ContentNotFoundException, org.apache.archiva.repository.ContentAccessException
- {
- Path deleteRepo = setupRepoCopy( "default-repository", "default-repository-2" );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- ArtifactReference ref = new ArtifactReference( );
- ref.setGroupId( "org.apache.maven" );
- ref.setArtifactId( "samplejar" );
- ref.setVersion( "1.0" );
-
- repoContent.deleteArtifact( ref );
-
- assertFalse( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar" ) ) );
-
- }
-
-
- @Test
- public void testDeleteVersion() throws IOException, org.apache.archiva.repository.ContentNotFoundException, org.apache.archiva.repository.ContentAccessException
- {
- Path deleteRepo = setupRepoCopy( "delete-repository", "delete-repository-2" );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- VersionedReference ref = new VersionedReference( ).groupId( "org.apache.maven" ).artifactId( "samplejar" ).version( "1.0" );
-
- repoContent.deleteVersion( ref );
-
- assertFalse( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0" ) ) );
-
- }
-
- @Test
- public void testDeleteProject() throws IOException, org.apache.archiva.repository.ContentNotFoundException, org.apache.archiva.repository.ContentAccessException
- {
- Path deleteRepo = setupRepoCopy( "delete-repository", "delete-repository-2" );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0-source.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.md5" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.jar.sha1" ) ) );
- assertTrue( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0/samplejar-1.0.pom" ) ) );
-
- ProjectReference ref = new ProjectReference( ).groupId( "org.apache.maven" ).artifactId( "samplejar" );
-
- repoContent.deleteProject( ref );
-
- assertFalse( Files.exists( deleteRepo.resolve( "org/apache/maven/samplejar/1.0" ) ) );
-
- }
-
- @Test
- public void testGetArtifactStreamWithVersionSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "javax.sql" )
- .withProjectId( "jdbc" )
- .withVersion( "2.0" ).build();
- try(Stream<? extends Artifact> stream = repoContent.newArtifactStream( selector ))
- {
- assertNotNull( stream );
- List<? extends Artifact> results = stream.collect( Collectors.toList( ) );
- checkArtifactListWithVersionSelector1( results );
- }
- }
-
- @Test
- public void testGetArtifactListWithVersionSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "javax.sql" )
- .withProjectId( "jdbc" )
- .withVersion( "2.0" ).build();
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- checkArtifactListWithVersionSelector1( results );
- }
-
- private void checkArtifactListWithVersionSelector1( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 2, results.size( ) );
- Artifact mainArtifact = results.stream( ).filter( a -> a.getFileName( ).equals( "jdbc-2.0.jar" ) ).findFirst( ).get( );
- assertNotNull( mainArtifact );
- assertEquals( BaseArtifactTypes.MAIN, mainArtifact.getArtifactType( ) );
- Artifact metaArtifact = results.stream( ).filter( a -> a.getFileName( ).equals( "maven-metadata-repository.xml" ) ).findFirst( ).get( );
- assertNotNull( metaArtifact );
- assertEquals( MavenTypes.REPOSITORY_METADATA, metaArtifact.getArtifactType( ) );
- }
-
- @Test
- public void testGetArtifactStreamWithVersionSelector2() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" ).build();
- try(Stream<? extends Artifact> stream = repoContent.newArtifactStream( selector ))
- {
- assertNotNull( stream );
- List<? extends Artifact> results = stream.collect( Collectors.toList( ) );
- checkArtifactListWithVersionSelector2( results );
- }
- }
-
- @Test
- public void testGetArtifactListWithVersionSelector2() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" ).build();
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- checkArtifactListWithVersionSelector2( results );
- }
-
- private void checkArtifactListWithVersionSelector2( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 39, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equals( "axis2-1.3-20070725.210059-1.pom" ) )
- .findFirst( ).get( );
-
- assertNotNull( artifact );
- assertEquals( "pom", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.MAIN, artifact.getArtifactType( ) );
- assertEquals( "1.3-SNAPSHOT", artifact.getVersion( ).getVersion( ) );
- assertEquals( "1.3-20070725.210059-1", artifact.getArtifactVersion( ) );
- assertEquals( ".pom", artifact.getRemainder( ) );
- assertEquals( "axis2", artifact.getId( ) );
- assertEquals( "axis2", artifact.getVersion( ).getProject( ).getId( ) );
- assertEquals( "org.apache.axis2", artifact.getVersion( ).getProject( ).getNamespace( ).getNamespace( ) );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "pom", artifact.getType( ) );
-
- artifact = null;
- artifact = results.stream( ).filter( a -> a.getFileName( ).equals( "axis2-1.3-20070725.210059-1.pom.md5" ) )
- .findFirst( ).get( );
-
- assertNotNull( artifact );
- assertEquals( "md5", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.RELATED, artifact.getArtifactType( ) );
- assertEquals( "1.3-SNAPSHOT", artifact.getVersion( ).getVersion( ) );
- assertEquals( "1.3-20070725.210059-1", artifact.getArtifactVersion( ) );
- assertEquals( ".pom.md5", artifact.getRemainder( ) );
- assertEquals( "axis2", artifact.getId( ) );
- assertEquals( "axis2", artifact.getVersion( ).getProject( ).getId( ) );
- assertEquals( "org.apache.axis2", artifact.getVersion( ).getProject( ).getNamespace( ).getNamespace( ) );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "md5", artifact.getType( ) );
-
-
- artifact = null;
- artifact = results.stream( ).filter( a -> a.getFileName( ).equals( "maven-metadata.xml" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.METADATA, artifact.getArtifactType( ) );
- assertEquals( "1.3-SNAPSHOT", artifact.getVersion( ).getVersion( ) );
- assertEquals( "xml", artifact.getExtension( ) );
- }
-
- @Test
- public void testGetArtifactListWithArtifactSelector1() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" )
- .withArtifactVersion( "1.3-20070731.113304-21" )
- .withExtension( "pom" )
- .build( );
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- checkArtifactListWithArtifactSelector1( results );
- }
-
- @Test
- public void testGetArtifactStreamWithArtifactSelector1() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" )
- .withArtifactVersion( "1.3-20070731.113304-21" )
- .withExtension( "pom" )
- .build( );
- try(Stream<? extends Artifact> results = repoContent.newArtifactStream( selector ))
- {
- checkArtifactListWithArtifactSelector1( results.collect( Collectors.toList()) );
- }
- }
-
- private void checkArtifactListWithArtifactSelector1( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 1, results.size( ) );
- Artifact artifact = results.get( 0 );
- assertEquals( "pom", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.MAIN, artifact.getArtifactType( ) );
- }
-
- @Test
- public void testGetArtifactListWithArtifactSelector2() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" )
- .withArtifactVersion( "1.3-20070731.113304-21" )
- .withExtension( "pom" )
- .includeRelatedArtifacts()
- .build( );
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- checkArtifactListWithArtifactSelector2( results );
-
- }
-
- @Test
- public void testGetArtifactStreamWithArtifactSelector2() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.axis2" )
- .withProjectId( "axis2" )
- .withVersion( "1.3-SNAPSHOT" )
- .withArtifactVersion( "1.3-20070731.113304-21" )
- .withExtension( "pom" )
- .includeRelatedArtifacts()
- .build( );
- try(Stream<? extends Artifact> results = repoContent.newArtifactStream( selector ))
- {
- checkArtifactListWithArtifactSelector2( results.collect( Collectors.toList()) );
- }
- }
-
- private void checkArtifactListWithArtifactSelector2( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 3, results.size( ) );
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "axis2-1.3-20070731.113304-21.pom" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( "pom", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.MAIN, artifact.getArtifactType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "axis2-1.3-20070731.113304-21.pom.sha1" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( "sha1", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.RELATED, artifact.getArtifactType( ) );
- }
-
-
- @Test
- public void testArtifactListWithProjectSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .build( );
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- checkArtifactListWithProjectSelector( results );
-
- }
-
- @Test
- public void testArtifactStreamWithProjectSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .build( );
- Stream<? extends Artifact> results = repoContent.newArtifactStream( selector );
- checkArtifactListWithProjectSelector( results.collect( Collectors.toList()) );
-
- }
-
- private void checkArtifactListWithProjectSelector( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 27, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "maven-metadata.xml" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( "xml", artifact.getExtension( ) );
- assertEquals( BaseArtifactTypes.METADATA, artifact.getArtifactType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "maven-downloader-1.0-sources.jar" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.MAIN, artifact.getArtifactType( ) );
- assertEquals( "sources", artifact.getClassifier( ) );
- assertEquals( "java-source", artifact.getType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "maven-downloader-1.0-sources.jar.sha1" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.RELATED, artifact.getArtifactType( ) );
- assertEquals( "sources", artifact.getClassifier( ) );
- assertEquals( "sha1", artifact.getType( ) );
- assertEquals( ".jar.sha1", artifact.getRemainder( ) );
- }
-
- @Test
- public void testArtifactListWithNamespaceSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.multilevel" )
- .build( );
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- assertNotNull( results );
- assertEquals( 3, results.size( ) );
- assertTrue( results.get( 0 ).getFileName( ).startsWith( "testproj1" ) );
- }
-
- @Test
- public void testArtifactListWithNamespaceSelectorRecursive() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.multilevel" )
- .recurse()
- .build( );
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
- checkArtifactListWithNamespaceSelectorRecursive( results );
- }
-
- @Test
- public void testArtifactStreamWithNamespaceSelectorRecursive() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.multilevel" )
- .recurse()
- .build( );
- Stream<? extends Artifact> results = repoContent.newArtifactStream( selector );
- checkArtifactListWithNamespaceSelectorRecursive( results.collect( Collectors.toList()) );
- }
-
- private void checkArtifactListWithNamespaceSelectorRecursive( List<? extends Artifact> results )
- {
- assertNotNull( results );
- assertEquals( 6, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "testproj2-1.0.pom" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( 6, artifact.getAsset( ).getParent( ).getPath( ).split( "/" ).length );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "testproj1-1.0.pom" ) )
- .findFirst( ).get( );
- assertNotNull( artifact );
- assertEquals( 5, artifact.getAsset( ).getParent( ).getPath( ).split( "/" ).length );
- }
-
-
- @Test
- public void testArtifactListWithArtifactSelector1() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withArtifactId( "test" )
- .withArtifactVersion( "1.0-20050611.112233-1" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 1, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.112233-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "", artifact.getClassifier( ) );
- }
-
- @Test
- public void testArtifactListWithArtifactSelector2() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withClassifier( "*" )
- .withArtifactId( "test" )
- .withArtifactVersion( "1.0-20050611.112233-1" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 2, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.112233-1-javadoc.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "javadoc", artifact.getClassifier( ) );
- assertEquals( "javadoc", artifact.getType( ) );
- }
-
- @Test
- public void testArtifactListWithArtifactSelector3() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withClassifier( "*" )
- .withArtifactVersion( "1.0-20050611.112233-1" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 3, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.112233-1-javadoc.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "javadoc", artifact.getClassifier( ) );
- assertEquals( "javadoc", artifact.getType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "wrong-artifactId-1.0-20050611.112233-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "wrong-artifactId", artifact.getId( ) );
- }
-
- @Test
- public void testArtifactListWithArtifactSelector4() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withClassifier( "" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 5, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.112233-1-javadoc.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "javadoc", artifact.getClassifier( ) );
- assertEquals( "javadoc", artifact.getType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "wrong-artifactId-1.0-20050611.112233-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "wrong-artifactId", artifact.getId( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "wrong-artifactId-1.0-20050611.1122x-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "wrong-artifactId", artifact.getId( ) );
- assertEquals( "", artifact.getArtifactVersion( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.1122x-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "", artifact.getClassifier( ) );
- assertEquals( "test", artifact.getId( ) );
- assertEquals( "1.0-20050611.1122x-1", artifact.getArtifactVersion( ) );
-
- }
-
- @Test
- public void testArtifactListWithArtifactSelectorWithClassifier() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withArtifactId( "test" )
- .withClassifier( "javadoc" )
- .withArtifactVersion( "1.0-20050611.112233-1" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 1, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "test-1.0-20050611.112233-1-javadoc.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( "javadoc", artifact.getClassifier( ) );
- assertEquals( "javadoc", artifact.getType( ) );
- }
-
- @Test
- public void testArtifactListWithArtifactSelectorWrongArtifact() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withArtifactId( "wrong-artifactId" )
- .withArtifactVersion( "1.0-20050611.112233-1" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 1, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "wrong-artifactId-1.0-20050611.112233-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- }
-
- @Test
- public void testArtifactListWithArtifactSelectorVersionPattern() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "test" )
- .withVersion( "1.0-SNAPSHOT" )
- .withArtifactVersion( "1.0-*" )
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 5, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "wrong-artifactId-1.0-20050611.112233-1.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- }
-
- @Test
- public void testGetArtifactFromContentItem() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" ).build();
- Namespace ns = repoContent.getNamespace( selector );
- List<? extends Artifact> artifacts = repoContent.getArtifacts( ns );
- assertNotNull( artifacts );
- assertEquals( 39, artifacts.size( ) );
- List<? extends Artifact> artifacts2 = repoContent.getArtifacts( (ContentItem)ns );
- assertArrayEquals( artifacts.toArray(), artifacts2.toArray() );
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .build();
- Project project = repoContent.getProject( selector );
- artifacts = repoContent.getArtifacts( project );
- assertNotNull( artifacts );
- assertEquals( 27, artifacts.size( ) );
- artifacts2 = repoContent.getArtifacts( (ContentItem)project );
- assertArrayEquals( artifacts.toArray(), artifacts2.toArray() );
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .withVersion( "1.1" )
- .build( );
- Version version = repoContent.getVersion( selector );
- artifacts = repoContent.getArtifacts( version );
- assertNotNull( artifacts );
- assertEquals( 12, artifacts.size( ) );
- artifacts2 = repoContent.getArtifacts( (ContentItem)version );
- assertArrayEquals( artifacts.toArray(), artifacts2.toArray() );
-
- }
-
- @Test
- public void testGetRelatedArtifactsFromArtifact() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .withVersion( "1.1" )
- .withExtension( "jar" )
- .withArtifactId( "maven-downloader" ).build( );
-
- Artifact artifact = repoContent.getArtifact( selector );
- assertNotNull( artifact );
- List<? extends Artifact> artifacts = repoContent.getArtifacts( artifact );
- assertNotNull( artifacts );
- assertEquals( 2, artifacts.size( ) );
-
- }
-
- @Test
- public void testToItemFromPath() throws LayoutException
- {
- String path = "/org/apache/maven/shared";
- ContentItem item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Namespace );
-
- path = "/org/apache/maven/shared/maven-downloader";
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Project );
-
- path = "/org/apache/maven/shared/maven-downloader/1.1";
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Version );
-
- path = "/org/apache/maven/shared/maven-downloader/1.1/maven-downloader-1.1.jar";
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Artifact );
-
- }
-
- @Test
- public void testToItemFromAssetPath() throws LayoutException
- {
- StorageAsset path = repoContent.getRepository().getAsset("/org/apache/maven/shared");
- ContentItem item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Namespace );
-
- path = repoContent.getRepository( ).getAsset( "/org/apache/maven/shared/maven-downloader" );
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Project );
-
- path = repoContent.getRepository( ).getAsset( "/org/apache/maven/shared/maven-downloader/1.1" );
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Version );
-
- path = repoContent.getRepository( ).getAsset( "/org/apache/maven/shared/maven-downloader/1.1/maven-downloader-1.1.jar" );
- item = repoContent.toItem( path );
- assertNotNull( item );
- assertTrue( item instanceof Artifact );
-
- }
-
- @Test
- public void testHasContent() throws LayoutException
- {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .withVersion( "1.1" )
- .withArtifactId( "maven-downloader" )
- .withExtension( "jar" )
- .build();
-
- assertTrue( repoContent.hasContent( selector ) );
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven.shared" )
- .withProjectId( "maven-downloader" )
- .withVersion( "1.1" )
- .withArtifactId( "maven-downloader" )
- .withExtension( "zip" )
- .build();
-
- assertFalse( repoContent.hasContent( selector ) );
-
- }
-
- @Test
- public void testGetItemWithNamespaceSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .build( );
- ContentItem item = repoContent.getItem( selector );
- assertNotNull( item );
- assertTrue( item instanceof Namespace );
- }
-
- @Test
- public void testGetItemWithProjectSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "shared" )
- .build( );
- ContentItem item = repoContent.getItem( selector );
- assertNotNull( item );
- assertTrue( item instanceof Project );
- }
-
- @Test
- public void testGetItemWithVersionSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" )
- .withVersion("2.0")
- .build( );
- ContentItem item = repoContent.getItem( selector );
- assertNotNull( item );
- assertTrue( item instanceof Version );
- }
-
- @Test
- public void testGetItemWithArtifactSelector() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" )
- .withVersion("2.0")
- .withArtifactId( "samplejar" )
- .build( );
- ContentItem item = repoContent.getItem( selector );
- assertNotNull( item );
- assertTrue( item instanceof Artifact );
- }
-
- @Test
- public void testGetNamespaceFromPath() {
- StorageAsset path = repoContent.getRepository( ).getAsset( "/org/apache/axis2" );
- Namespace ns = repoContent.getNamespaceFromPath( path );
- assertNotNull( ns );
- assertEquals( "org.apache.axis2", ns.getNamespace( ) );
-
- }
-
- @Test
- public void testArtifactListWithArtifactSelectorAndRelated() {
- ItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" )
- .withVersion( "1.0" )
- .withArtifactVersion( "1.0" )
- .withArtifactId( "samplejar" )
- .withExtension( "jar" )
- .includeRelatedArtifacts()
- .build( );
-
- List<? extends Artifact> results = repoContent.getArtifacts( selector );
-
- assertNotNull( results );
- assertEquals( 3, results.size( ) );
-
- Artifact artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "samplejar-1.0.jar" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.MAIN, artifact.getArtifactType( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "samplejar-1.0.jar.md5" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.RELATED, artifact.getArtifactType( ) );
- assertEquals( "md5", artifact.getExtension( ) );
-
- artifact = results.stream( ).filter( a -> a.getFileName( ).equalsIgnoreCase( "samplejar-1.0.jar.sha1" ) )
- .findFirst().get();
- assertNotNull( artifact );
- assertEquals( BaseArtifactTypes.RELATED, artifact.getArtifactType( ) );
- assertEquals( "sha1", artifact.getExtension( ) );
-
- }
-
- private Path copyRepository(String repoName) throws IOException, URISyntaxException
- {
- Path tempDir = Files.createTempDirectory( "archiva-repocontent" );
- Path repoSource = Paths.get( Thread.currentThread( ).getContextClassLoader( ).getResource( "repositories/" + repoName ).toURI( ) );
- assertTrue( Files.exists( repoSource ) );
- FileUtils.copyDirectory( repoSource.toFile( ), tempDir.toFile() );
- return tempDir;
- }
-
- private ManagedRepository createManagedRepoWithContent(String sourceRepoName) throws IOException, URISyntaxException
- {
- Path repoDir = copyRepository( sourceRepoName );
- MavenManagedRepository repo = createRepository( sourceRepoName, sourceRepoName, repoDir );
- ManagedDefaultRepositoryContent deleteRepoContent = new ManagedDefaultRepositoryContent( repo, artifactMappingProviders, fileTypes, fileLockManager );
- deleteRepoContent.setMavenContentHelper( contentHelper );
- return repo;
- }
-
- @Test
- public void deleteNamespaceItem() throws IOException, URISyntaxException, ItemNotFoundException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven" )) );
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" ).build();
- ContentItem item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Namespace );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/maven" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache" )) );
-
- // Sub namespaces are deleted too
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar" )) );
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" ).build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Namespace );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar" )) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar" )) );
- }
-
- @Test
- public void deleteProjectItem() throws IOException, URISyntaxException, ItemNotFoundException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A" )) );
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "A" ).build();
- ContentItem item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Project );
- myRepoContent.deleteItem( item );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven" )) );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/1.0" ) ) );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/2.0" ) ) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/maven/A" )) );
-
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar" )) );
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" ).build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Project );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar" )) );
- }
-
- @Test
- public void deleteVersionItem() throws IOException, URISyntaxException, ItemNotFoundException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0" )) );
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "A" )
- .withVersion( "1.0" ).build();
- ContentItem item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Version );
- myRepoContent.deleteItem( item );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A" )) );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/1.0" ) ) );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/2.0" ) ) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0" )) );
-
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar" )) );
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion( "2.0" ).build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Version );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/2.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/1.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/2.0" )) );
- }
-
- @Test
- public void deleteArtifactItem() throws IOException, URISyntaxException, ItemNotFoundException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0/A-1.0.pom" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0/A-1.0.war" )) );
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "A" )
- .withVersion( "1.0" )
- .withArtifactId( "A" )
- .withArtifactVersion( "1.0" )
- .withExtension( "pom" )
- .build();
- ContentItem item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Artifact );
- myRepoContent.deleteItem( item );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/1.0" ) ) );
- assertTrue( Files.exists( repoRoot.resolve( "org/apache/maven/samplejar/2.0" ) ) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0/A-1.0.pom" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/maven/A/1.0/A-1.0.war" )) );
-
-
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.md5" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.pom" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar" )) );
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion( "1.0" )
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "1.0" )
- .withExtension( "jar" )
- .build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Artifact );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.md5" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.pom" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/2.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/1.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/2.0" )) );
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion( "1.0" )
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "1.0" )
- .withClassifier( "source" )
- .withExtension( "jar" )
- .build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Artifact );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.md5" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.pom" )) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/2.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/1.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/2.0" )) );
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion( "1.0" )
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "1.0" )
- .withExtension( "jar.md5" )
- .build();
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Artifact );
- myRepoContent.deleteItem( item );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar" )) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.md5" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0.pom" )) );
- assertFalse( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/1.0/samplejar-1.0-source.jar.sha1" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/samplejar/2.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/1.0" )) );
- assertTrue( Files.exists(repoRoot.resolve( "org/apache/test/sub/samplejar/2.0" )) );
-
-
- }
-
- @Test
- public void deleteItemNotFound() throws IOException, URISyntaxException, ItemNotFoundException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
-
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test2" )
- .build( );
-
- ContentItem item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Namespace );
- try
- {
- myRepoContent.deleteItem( item );
- assertTrue( "ItemNotFoundException expected for non existing namespace", false );
- } catch ( ItemNotFoundException e) {
- }
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar2" )
- .build( );
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Project );
- try
- {
- myRepoContent.deleteItem( item );
- assertTrue( "ItemNotFoundException expected for non existing project", false );
- } catch ( ItemNotFoundException e) {
- }
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion("1.1")
- .build( );
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Version );
- try
- {
- myRepoContent.deleteItem( item );
- assertTrue( "ItemNotFoundException expected for non existing version", false );
- } catch ( ItemNotFoundException e) {
- }
-
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.test" )
- .withProjectId( "samplejar" )
- .withVersion("1.0")
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "1.0" )
- .withExtension( "jax" )
- .build( );
- item = myRepoContent.getItem( selector );
- assertTrue( item instanceof Artifact );
- try
- {
- myRepoContent.deleteItem( item );
- assertTrue( "ItemNotFoundException expected for non existing artifact", false );
- } catch ( ItemNotFoundException e) {
- }
-
- }
-
-
- @Test
- public void testAddArtifact() throws IOException, URISyntaxException
- {
- ManagedRepository repo = createManagedRepoWithContent( "delete-repository" );
- ManagedRepositoryContent myRepoContent = repo.getContent( );
- Path repoRoot = repo.getAsset( "" ).getFilePath( );
-
- Path tmpFile = Files.createTempFile( "archiva-mvn-repotest", "jar" );
- try( OutputStream outputStream = Files.newOutputStream( tmpFile ))
- {
- for ( int i = 0; i < 255; i++ )
- {
- outputStream.write( "test.test.test\n".getBytes( Charset.forName( "UTF-8" ) ) );
- }
- }
-
- Path file = repoRoot.resolve( "org/apache/maven/samplejar/2.0/samplejar-2.0.jar" );
- FileTime lmt = Files.getLastModifiedTime( file );
- ArchivaItemSelector selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" )
- .withVersion( "2.0" )
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "2.0" )
- .withExtension( "jar" )
- .build( );
- Artifact artifact = myRepoContent.getArtifact( selector );
- myRepoContent.addArtifact( tmpFile, artifact );
- FileTime lmtAfter = Files.getLastModifiedTime( file );
- assertNotEquals( lmtAfter, lmt );
- Reader ln = Files.newBufferedReader( file, Charset.forName( "UTF-8" ) );
- char[] content = new char[50];
- ln.read( content );
- assertTrue( new String( content ).startsWith( "test.test.test" ) );
-
- tmpFile = Files.createTempFile( "archiva-mvn-repotest", "jar" );
- try( OutputStream outputStream = Files.newOutputStream( tmpFile ))
- {
- for ( int i = 0; i < 255; i++ )
- {
- outputStream.write( "test.test.test\n".getBytes( Charset.forName( "UTF-8" ) ) );
- }
- }
- file = repoRoot.resolve( "org/apache/maven/samplejar/2.0/samplejar-2.0.test" );
- assertFalse( Files.exists( file ) );
- assertTrue( Files.exists( tmpFile ) );
- selector = ArchivaItemSelector.builder( )
- .withNamespace( "org.apache.maven" )
- .withProjectId( "samplejar" )
- .withVersion( "2.0" )
- .withArtifactId( "samplejar" )
- .withArtifactVersion( "2.0" )
- .withExtension( "test" )
- .build( );
- artifact = myRepoContent.getArtifact( selector );
- myRepoContent.addArtifact( tmpFile, artifact );
- ln = Files.newBufferedReader( file, Charset.forName( "UTF-8" ) );
- ln.read( content );
- assertTrue( new String( content ).startsWith( "test.test.test" ) );
- }
-
- }
|