1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.artifact.resolver;
20
21 import java.util.Arrays;
22 import java.util.List;
23
24 import org.junit.jupiter.api.Test;
25
26 import static org.junit.jupiter.api.Assertions.assertEquals;
27
28
29
30
31
32 class ArtifactResolutionExceptionTest {
33 private static final String LS = System.lineSeparator();
34
35 @Test
36 void testMissingArtifactMessageFormat() {
37 String message = "Missing artifact";
38 String indentation = " ";
39 String groupId = "aGroupId";
40 String artifactId = "anArtifactId";
41 String version = "aVersion";
42 String type = "jar";
43 String classifier = "aClassifier";
44 String downloadUrl = "http://somewhere.com/download";
45 List<String> path = Arrays.asList("dependency1", "dependency2");
46 String expected = "Missing artifact" + LS + LS + " Try downloading the file manually from: " + LS
47 + " http://somewhere.com/download" + LS + LS + " Then, install it using the command: " + LS
48 + " mvn install:install-file -DgroupId=aGroupId -DartifactId=anArtifactId -Dversion=aVersion "
49 + "-Dclassifier=aClassifier -Dpackaging=jar -Dfile=/path/to/file" + LS + LS
50 + " Alternatively, if you host your own repository you can deploy the file there: " + LS
51 + " mvn deploy:deploy-file -DgroupId=aGroupId -DartifactId=anArtifactId"
52 + " -Dversion=aVersion -Dclassifier=aClassifier -Dpackaging=jar -Dfile=/path/to/file"
53 + " -Durl=[url] -DrepositoryId=[id]" + LS + LS + " Path to dependency: " + LS + " \t1) dependency1"
54 + LS + " \t2) dependency2" + LS + LS;
55 String actual = AbstractArtifactResolutionException.constructMissingArtifactMessage(
56 message, indentation, groupId, artifactId, version, type, classifier, downloadUrl, path);
57 assertEquals(expected, actual);
58 }
59 }