1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.internal.impl;
20
21 import java.nio.file.Paths;
22 import java.util.Collections;
23
24 import org.apache.maven.execution.DefaultMavenExecutionRequest;
25 import org.apache.maven.execution.MavenSession;
26 import org.apache.maven.model.root.RootLocator;
27 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
28 import org.eclipse.aether.RepositorySystemSession;
29 import org.eclipse.aether.internal.impl.DefaultRepositorySystem;
30 import org.junit.jupiter.api.Test;
31
32 import static org.junit.jupiter.api.Assertions.assertEquals;
33 import static org.junit.jupiter.api.Assertions.assertThrows;
34
35 public class DefaultSessionTest {
36
37 @Test
38 void testRootDirectoryWithNull() {
39 RepositorySystemSession rss = MavenRepositorySystemUtils.newSession();
40 DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest();
41 MavenSession ms = new MavenSession(null, rss, mer, null);
42 DefaultSession session =
43 new DefaultSession(ms, new DefaultRepositorySystem(), Collections.emptyList(), null, null, null);
44
45 assertEquals(
46 RootLocator.UNABLE_TO_FIND_ROOT_PROJECT_MESSAGE,
47 assertThrows(IllegalStateException.class, session::getRootDirectory)
48 .getMessage());
49 }
50
51 @Test
52 void testRootDirectory() {
53 RepositorySystemSession rss = MavenRepositorySystemUtils.newSession();
54 DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest();
55 MavenSession ms = new MavenSession(null, rss, mer, null);
56 ms.getRequest().setRootDirectory(Paths.get("myRootDirectory"));
57 DefaultSession session =
58 new DefaultSession(ms, new DefaultRepositorySystem(), Collections.emptyList(), null, null, null);
59
60 assertEquals(Paths.get("myRootDirectory"), session.getRootDirectory());
61 }
62 }