1616import org .mockito .Mock ;
1717import org .mockito .MockitoAnnotations ;
1818
19- import static org .junit .jupiter .api .Assertions .*;
19+ import static org .junit .jupiter .api .Assertions .assertFalse ;
20+ import static org .junit .jupiter .api .Assertions .assertTrue ;
2021import static org .mockito .ArgumentMatchers .any ;
2122import static org .mockito .Mockito .*;
2223
@@ -71,7 +72,7 @@ void shouldStartLasService() {
7172 .thenReturn (DockerRunResponse .builder ().finalStatus (DockerRunFinalStatus .SUCCESS ).build ());
7273 when (sgxService .getSgxDriverMode ()).thenReturn (SgxDriverMode .LEGACY );
7374
74- Assertions . assertThat (lasService .start ()). isTrue ( );
75+ assertTrue (lasService .start ());
7576 verify (dockerService ).run (dockerRunRequestArgumentCaptor .capture ());
7677 DockerRunRequest dockerRunRequest = dockerRunRequestArgumentCaptor .getValue ();
7778 Assertions .assertThat (dockerRunRequest ).isEqualTo (
@@ -85,6 +86,20 @@ void shouldStartLasService() {
8586 assertTrue (lasService .isStarted ());
8687 }
8788
89+ @ Test
90+ void shouldStartLasServiceOnlyOnce () throws Exception {
91+ when (dockerClientInstanceMock .pullImage (IMAGE_URI )).thenReturn (true );
92+ when (dockerService .run (any ()))
93+ .thenReturn (DockerRunResponse .builder ().finalStatus (DockerRunFinalStatus .SUCCESS ).build ());
94+ when (sgxService .getSgxDriverMode ()).thenReturn (SgxDriverMode .LEGACY );
95+
96+ assertTrue (lasService .start ());
97+ assertTrue (lasService .start ());
98+ assertTrue (lasService .isStarted ());
99+ verify (dockerService ).getClient (REGISTRY_NAME , REGISTRY_USERNAME , REGISTRY_PASSWORD );
100+ verify (dockerService ).run (any ());
101+ }
102+
88103 @ Test
89104 void shouldNotStartLasServiceSinceUnknownRegistry () {
90105 LasService lasService = new LasService (
@@ -95,12 +110,8 @@ void shouldNotStartLasServiceSinceUnknownRegistry() {
95110 sgxService ,
96111 dockerService
97112 );
98- Exception exception = assertThrows (
99- RuntimeException .class ,
100- lasService ::start
101- );
102113
103- Assertions . assertThat ( exception . getMessage ()). contains ( "not from a known registry" );
114+ assertFalse ( lasService . start () );
104115 assertFalse (lasService .isStarted ());
105116 }
106117
@@ -109,15 +120,24 @@ void shouldNotStartLasServiceSinceClientError() throws Exception {
109120 when (dockerService .getClient (REGISTRY_NAME , REGISTRY_USERNAME , REGISTRY_PASSWORD ))
110121 .thenReturn (null );
111122
112- Assertions .assertThat (lasService .start ()).isFalse ();
123+ assertFalse (lasService .start ());
124+ assertFalse (lasService .isStarted ());
125+ }
126+
127+ @ Test
128+ void shouldNotStartLasServiceSinceClientException () throws Exception {
129+ when (dockerService .getClient (REGISTRY_NAME , REGISTRY_USERNAME , REGISTRY_PASSWORD ))
130+ .thenThrow (Exception .class );
131+
132+ assertFalse (lasService .start ());
113133 assertFalse (lasService .isStarted ());
114134 }
115135
116136 @ Test
117137 void shouldNotStartLasServiceSinceCannotPullImage () {
118138 when (dockerClientInstanceMock .pullImage (IMAGE_URI )).thenReturn (false );
119139
120- Assertions . assertThat (lasService .start ()). isFalse ( );
140+ assertFalse (lasService .start ());
121141 assertFalse (lasService .isStarted ());
122142 }
123143
@@ -127,7 +147,7 @@ void shouldNotStartLasServiceSinceCannotRunDockerContainer() {
127147 when (dockerService .run (any ()))
128148 .thenReturn (DockerRunResponse .builder ().finalStatus (DockerRunFinalStatus .FAILED ).build ());
129149
130- Assertions . assertThat (lasService .start ()). isFalse ( );
150+ assertFalse (lasService .start ());
131151 assertFalse (lasService .isStarted ());
132152 }
133153 // endregion
0 commit comments