1 package org.apache.archiva.rest.services;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.archiva.rest.api.model.ArtifactTransferRequest;
22 import org.apache.archiva.rest.api.services.RepositoriesService;
23 import org.assertj.core.api.Assertions;
24 import org.junit.Ignore;
25 import org.junit.Test;
26
27 import javax.ws.rs.InternalServerErrorException;
28 import java.io.File;
29
30
31
32
33 public class CopyArtifactTest
34 extends AbstractArchivaRestTest
35 {
36
37
38 @Test
39 public void copyToAnEmptyRepo()
40 throws Exception
41 {
42 try
43 {
44 initSourceTargetRepo();
45
46
47
48
49 ArtifactTransferRequest artifactTransferRequest = new ArtifactTransferRequest();
50 artifactTransferRequest.setGroupId( "org.apache.karaf.features" );
51 artifactTransferRequest.setArtifactId( "org.apache.karaf.features.core" );
52 artifactTransferRequest.setVersion( "2.2.2" );
53 artifactTransferRequest.setRepositoryId( SOURCE_REPO_ID );
54 artifactTransferRequest.setTargetRepositoryId( TARGET_REPO_ID );
55
56 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
57
58 Boolean res = repositoriesService.copyArtifact( artifactTransferRequest );
59
60 assertTrue( res );
61
62 String targetRepoPath = getManagedRepositoriesService( authorizationHeader ).getManagedRepository(
63 TARGET_REPO_ID ).getLocation();
64
65 File artifact = new File( targetRepoPath,
66 "/org/apache/karaf/features/org.apache.karaf.features.core/2.2.2/org.apache.karaf.features.core-2.2.2.jar" );
67 assertTrue( artifact.exists() );
68 File pom = new File( targetRepoPath,
69 "/org/apache/karaf/features/org.apache.karaf.features.core/2.2.2/org.apache.karaf.features.core-2.2.2.pom" );
70
71 assertTrue( "not exists " + pom.getPath(), pom.exists() );
72
73 }
74 finally
75 {
76 cleanRepos();
77 }
78 }
79
80 @Test( expected = InternalServerErrorException.class )
81 public void copyNonExistingArtifact()
82 throws Throwable
83 {
84 try
85 {
86 initSourceTargetRepo();
87
88 ArtifactTransferRequest artifactTransferRequest = new ArtifactTransferRequest();
89 artifactTransferRequest.setGroupId( "org.apache.karaf.features" );
90 artifactTransferRequest.setArtifactId( "org.apache.karaf.features.core" );
91 artifactTransferRequest.setVersion( "3.0.6552" );
92 artifactTransferRequest.setRepositoryId( SOURCE_REPO_ID );
93 artifactTransferRequest.setTargetRepositoryId( TARGET_REPO_ID );
94 RepositoriesService repositoriesService = getRepositoriesService( authorizationHeader );
95
96 repositoriesService.copyArtifact( artifactTransferRequest );
97 }
98 catch ( InternalServerErrorException e )
99 {
100
101
102
103
104
105
106
107 throw e;
108 }
109 finally
110 {
111 cleanRepos();
112 }
113
114 }
115
116 @Ignore
117 public void copyToAnExistingRepo()
118 throws Exception
119 {
120 initSourceTargetRepo();
121 cleanRepos();
122 }
123 }