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.eclipse.aether.DefaultRepositorySystemSession;
28 import org.eclipse.aether.RepositorySystem;
29 import org.eclipse.aether.RepositorySystemSession;
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 import static org.mockito.Mockito.mock;
35
36 public class DefaultSessionTest {
37
38 @Test
39 void testRootDirectoryWithNull() {
40 RepositorySystemSession rss = new DefaultRepositorySystemSession(h -> false);
41 DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest();
42 MavenSession ms = new MavenSession(null, rss, mer, null);
43 DefaultSession session =
44 new DefaultSession(ms, mock(RepositorySystem.class), Collections.emptyList(), null, null, null);
45
46 assertEquals(
47 RootLocator.UNABLE_TO_FIND_ROOT_PROJECT_MESSAGE,
48 assertThrows(IllegalStateException.class, session::getRootDirectory)
49 .getMessage());
50 }
51
52 @Test
53 void testRootDirectory() {
54 RepositorySystemSession rss = new DefaultRepositorySystemSession(h -> false);
55 DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest();
56 MavenSession ms = new MavenSession(null, rss, mer, null);
57 ms.getRequest().setRootDirectory(Paths.get("myRootDirectory"));
58 DefaultSession session =
59 new DefaultSession(ms, mock(RepositorySystem.class), Collections.emptyList(), null, null, null);
60
61 assertEquals(Paths.get("myRootDirectory"), session.getRootDirectory());
62 }
63 }