4
4
import com .github .dockerjava .api .DockerClient ;
5
5
import com .github .dockerjava .api .command .VersionCmd ;
6
6
import com .github .dockerjava .api .model .Version ;
7
+ import com .github .dockerjava .core .DockerClientBuilder ;
8
+ import com .github .dockerjava .core .DockerClientConfig ;
7
9
import org .apache .maven .model .Build ;
8
10
import org .apache .maven .project .MavenProject ;
9
- import org .mockito .Mockito ;
10
11
import org .powermock .api .mockito .PowerMockito ;
12
+ import org .powermock .core .classloader .annotations .PrepareForTest ;
11
13
import org .powermock .reflect .Whitebox ;
12
14
15
+ import java .io .File ;
13
16
import java .util .Properties ;
14
17
18
+ import static org .mockito .Matchers .any ;
15
19
import static org .mockito .Mockito .mock ;
16
20
import static org .mockito .Mockito .when ;
21
+ import static org .powermock .api .mockito .PowerMockito .mockStatic ;
17
22
23
+ @ PrepareForTest (DockerClientBuilder .class )
18
24
public class MojoTestSupport {
19
25
20
26
protected static final String PROJECT_GROUP_ID = "id.group" ;
@@ -27,10 +33,18 @@ public class MojoTestSupport {
27
33
28
34
protected static final String PROJECT_DESCRIPTION = "Project Description" ;
29
35
30
- protected static final String BUILD_DIRECTORY = "/build/directory " ;
36
+ protected static final String BUILD_DIR = "/build/dir " ;
31
37
32
38
protected static final String BUILD_FINAL_NAME = "buildFinalName" ;
33
39
40
+ protected static final String BASE_DIR = "src" ;
41
+
42
+ protected static final String SRC = "main" ;
43
+
44
+ protected static final String PREFIX = "prefix" ;
45
+
46
+ protected static final String USERNAME = "username" ;
47
+
34
48
35
49
protected void prepareMojo (
36
50
AbstractDockerMojo dockerMojo ,
@@ -39,13 +53,20 @@ protected void prepareMojo(
39
53
40
54
MavenProject mavenProject = createMavenProject ();
41
55
Whitebox .setInternalState (dockerMojo , "project" , mavenProject );
56
+ Whitebox .setInternalState (dockerMojo , "prefix" , PREFIX );
57
+ Whitebox .setInternalState (dockerMojo , "src" , SRC );
58
+ Whitebox .setInternalState (dockerMojo , "username" , USERNAME );
42
59
43
60
// prepare docker client
44
61
if (mockDockerClient != null ) {
45
62
VersionCmd mockVersionCmd = mock (VersionCmd .class );
46
63
Version mockVersion = mock (Version .class );
47
64
48
- PowerMockito .doReturn (mockDockerClient ).when (dockerMojo , "dockerClient" );
65
+ DockerClientBuilder mockDockerClientBuilder = mock (DockerClientBuilder .class );
66
+ when (mockDockerClientBuilder .build ()).thenReturn (mockDockerClient );
67
+
68
+ mockStatic (DockerClientBuilder .class );
69
+ when (DockerClientBuilder .getInstance (any (DockerClientConfig .class ))).thenReturn (mockDockerClientBuilder );
49
70
50
71
when (mockDockerClient .versionCmd ()).thenReturn (mockVersionCmd );
51
72
when (mockVersionCmd .exec ()).thenReturn (mockVersion );
@@ -56,8 +77,8 @@ protected void prepareMojo(
56
77
if (mockDockerOrchestrator != null ) {
57
78
PowerMockito .doReturn (mockDockerOrchestrator )
58
79
.when (dockerMojo , "dockerOrchestrator" ,
59
- Mockito . any (Properties .class ),
60
- Mockito . any (DockerClient .class )
80
+ any (Properties .class ),
81
+ any (DockerClient .class )
61
82
);
62
83
}
63
84
}
@@ -72,17 +93,18 @@ protected MavenProject createMavenProject() {
72
93
mavenProject .setDescription (PROJECT_DESCRIPTION );
73
94
mavenProject .setBuild (createBuild ());
74
95
96
+ mavenProject .setFile (new File (new File (BASE_DIR ), "file" ));
97
+
75
98
return mavenProject ;
76
99
}
77
100
78
101
protected Build createBuild () {
79
102
80
103
Build build = new Build ();
81
104
82
- build .setDirectory (BUILD_DIRECTORY );
105
+ build .setDirectory (BUILD_DIR );
83
106
build .setFinalName (BUILD_FINAL_NAME );
84
107
85
108
return build ;
86
109
}
87
-
88
110
}
0 commit comments