1 package org.apache.maven.shared.transfer.repository.internal;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.io.File;
23
24 import org.apache.maven.project.DefaultProjectBuildingRequest;
25 import org.apache.maven.project.ProjectBuildingRequest;
26 import org.apache.maven.repository.internal.MavenRepositorySystemSession;
27 import org.apache.maven.shared.transfer.repository.RepositoryManager;
28 import org.apache.maven.shared.transfer.repository.internal.Maven30RepositoryManager;
29 import org.codehaus.plexus.PlexusTestCase;
30 import org.sonatype.aether.impl.internal.EnhancedLocalRepositoryManager;
31 import org.sonatype.aether.impl.internal.SimpleLocalRepositoryManager;
32
33 public class Maven30RepositoryManagerTest extends PlexusTestCase
34 {
35
36 private final File localRepo = new File( "target/tests/local-repo" );
37
38 private Maven30RepositoryManager repositoryManager;
39
40 @Override
41 public void setUp() throws Exception
42 {
43 super.setUp();
44 repositoryManager = (Maven30RepositoryManager) super.lookup( RepositoryManager.class, "maven3" );
45 }
46
47 public void testSetLocalRepositoryBasedirSimple() throws Exception
48 {
49 DefaultProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
50 MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
51 repositorySession.setLocalRepositoryManager( new SimpleLocalRepositoryManager( localRepo ) );
52 buildingRequest.setRepositorySession( repositorySession );
53
54 File basedir = new File( "NEW/LOCAL/REPO" );
55
56 ProjectBuildingRequest newBuildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, basedir );
57
58 assertEquals( basedir.getAbsoluteFile(), newBuildingRequest.getRepositorySession().getLocalRepository().getBasedir() );
59
60 }
61
62 public void testSetLocalRepositoryBasedirEnhanced() throws Exception
63 {
64 DefaultProjectBuildingRequest buildingRequest = new DefaultProjectBuildingRequest();
65 MavenRepositorySystemSession repositorySession = new MavenRepositorySystemSession();
66 repositorySession.setLocalRepositoryManager( new EnhancedLocalRepositoryManager( localRepo ) );
67 buildingRequest.setRepositorySession( repositorySession );
68
69 File basedir = new File( "NEW/LOCAL/REPO" );
70
71 ProjectBuildingRequest newBuildingRequest = repositoryManager.setLocalRepositoryBasedir( buildingRequest, basedir );
72
73 assertEquals( basedir.getAbsoluteFile(), newBuildingRequest.getRepositorySession().getLocalRepository().getBasedir() );
74
75 }
76
77 }