1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.artifact.deployer;
20
21 import java.io.File;
22
23 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
24 import org.apache.maven.artifact.Artifact;
25 import org.apache.maven.artifact.repository.ArtifactRepository;
26 import org.apache.maven.execution.MavenSession;
27 import org.apache.maven.session.scope.internal.SessionScope;
28 import org.codehaus.plexus.util.FileUtils;
29
30 import static org.mockito.Mockito.mock;
31
32
33
34
35 public class ArtifactDeployerTest extends AbstractArtifactComponentTestCase {
36 private ArtifactDeployer artifactDeployer;
37
38 private SessionScope sessionScope;
39
40 protected void setUp() throws Exception {
41 super.setUp();
42
43 artifactDeployer = (ArtifactDeployer) lookup(ArtifactDeployer.ROLE);
44
45 sessionScope = lookup(SessionScope.class);
46 }
47
48 protected String component() {
49 return "deployer";
50 }
51
52 public void testArtifactInstallation() throws Exception {
53 sessionScope.enter();
54 try {
55 sessionScope.seed(MavenSession.class, mock(MavenSession.class));
56
57 String artifactBasedir = new File(getBasedir(), "src/test/resources/artifact-install").getAbsolutePath();
58
59 Artifact artifact = createArtifact("artifact", "1.0");
60
61 File file = new File(artifactBasedir, "artifact-1.0.jar");
62 assertEquals("dummy", FileUtils.fileRead(file, "UTF-8").trim());
63
64 artifactDeployer.deploy(file, artifact, remoteRepository(), localRepository());
65
66 ArtifactRepository remoteRepository = remoteRepository();
67 File deployedFile = new File(remoteRepository.getBasedir(), remoteRepository.pathOf(artifact));
68 assertTrue(deployedFile.exists());
69 assertEquals("dummy", FileUtils.fileRead(deployedFile, "UTF-8").trim());
70 } finally {
71 sessionScope.exit();
72 }
73 }
74 }