Skip to content
Snippets Groups Projects
Commit 88bc2701 authored by Martin Weise's avatar Martin Weise
Browse files

unit tests somehow not mock the docker client, using integration tests

parent 907f7557
No related branches found
No related tags found
4 merge requests!81New stable release,!43Merge dev to master,!23Sprint results,!18Merge Conflicts
...@@ -179,7 +179,7 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest { ...@@ -179,7 +179,7 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
/* test */ /* test */
assertThrows(ContainerNotFoundException.class, () -> { assertThrows(ContainerNotFoundException.class, () -> {
containerService.getById(CONTAINER_2_ID); containerService.getById(9999999L);
}); });
} }
......
...@@ -26,7 +26,7 @@ import java.util.Optional; ...@@ -26,7 +26,7 @@ import java.util.Optional;
import static org.junit.jupiter.api.Assertions.*; import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.*;
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)
@SpringBootTest @SpringBootTest
...@@ -59,12 +59,6 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -59,12 +59,6 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
assertEquals(CONTAINER_2_NAME, response.get(1).getName()); assertEquals(CONTAINER_2_NAME, response.get(1).getName());
} }
@Disabled(value = "cannot test docker api")
@Test
public void create_succeeds() {
// cannot test
}
@Test @Test
public void create_noImage_fails() { public void create_noImage_fails() {
final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder() final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
...@@ -124,12 +118,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -124,12 +118,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
}); });
} }
@Disabled("cannot mock abstract method")
@Test @Test
public void change_start_docker_fails() { public void change_start_docker_fails() {
when(containerRepository.findById(CONTAINER_1_ID)) when(containerRepository.findById(CONTAINER_1_ID))
.thenReturn(Optional.of(CONTAINER_1)); .thenReturn(Optional.of(CONTAINER_1));
when(dockerClient.startContainerCmd(CONTAINER_1_HASH)) doAnswer(invocation -> new NotFoundException("not found"))
.thenThrow(NotFoundException.class); .when(dockerClient)
.startContainerCmd(CONTAINER_1_HASH);
/* test */ /* test */
assertThrows(DockerClientException.class, () -> { assertThrows(DockerClientException.class, () -> {
...@@ -137,12 +133,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -137,12 +133,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
}); });
} }
@Disabled("cannot mock abstract method")
@Test @Test
public void change_stop_docker_fails() { public void change_stop_docker_fails() {
when(containerRepository.findById(CONTAINER_1_ID)) when(containerRepository.findById(CONTAINER_1_ID))
.thenReturn(Optional.of(CONTAINER_1)); .thenReturn(Optional.of(CONTAINER_1));
when(dockerClient.stopContainerCmd(CONTAINER_1_HASH)) doAnswer(invocation -> new NotFoundException("docker failed"))
.thenThrow(NotFoundException.class); .when(dockerClient)
.stopContainerCmd(CONTAINER_1_HASH);
/* test */ /* test */
assertThrows(DockerClientException.class, () -> { assertThrows(DockerClientException.class, () -> {
...@@ -172,12 +170,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -172,12 +170,14 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
}); });
} }
@Disabled("cannot mock abstract method")
@Test @Test
public void delete_docker_fails() { public void delete_docker_fails() {
when(containerRepository.findById(CONTAINER_1_ID)) when(containerRepository.findById(CONTAINER_1_ID))
.thenReturn(Optional.of(CONTAINER_1)); .thenReturn(Optional.of(CONTAINER_1));
when(dockerClient.removeContainerCmd(CONTAINER_1_HASH)) doAnswer(invocation -> new NotModifiedException("not modified")).
.thenThrow(NotModifiedException.class); when(dockerClient)
.removeContainerCmd(CONTAINER_1_HASH);
/* test */ /* test */
assertThrows(DockerClientException.class, () -> { assertThrows(DockerClientException.class, () -> {
...@@ -185,12 +185,17 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -185,12 +185,17 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
}); });
} }
@Disabled("cannot mock abstract method")
@Test @Test
public void delete_docker_fails2() { public void delete_docker_fails2() {
when(containerRepository.findById(CONTAINER_1_ID)) when(containerRepository.findById(CONTAINER_1_ID))
.thenReturn(Optional.of(CONTAINER_1)); .thenReturn(Optional.of(CONTAINER_1));
when(dockerClient.removeContainerCmd(CONTAINER_1_HASH)) when(dockerClient.removeContainerCmd(CONTAINER_1_HASH))
.thenThrow(NotFoundException.class); .thenCallRealMethod();
doAnswer(invocation -> new NotFoundException("not found in docker"))
.when(dockerClient)
.startContainerCmd(CONTAINER_1_HASH)
.exec();
/* test */ /* test */
assertThrows(DockerClientException.class, () -> { assertThrows(DockerClientException.class, () -> {
...@@ -198,12 +203,17 @@ public class ContainerServiceUnitTest extends BaseUnitTest { ...@@ -198,12 +203,17 @@ public class ContainerServiceUnitTest extends BaseUnitTest {
}); });
} }
@Disabled("cannot mock abstract method")
@Test @Test
public void delete_dockerStillRunning_fails() { public void delete_dockerStillRunning_fails() {
when(containerRepository.findById(CONTAINER_1_ID)) when(containerRepository.findById(CONTAINER_1_ID))
.thenReturn(Optional.of(CONTAINER_1)); .thenReturn(Optional.of(CONTAINER_1));
when(dockerClient.removeContainerCmd(CONTAINER_1_HASH)) when(dockerClient.startContainerCmd(CONTAINER_1_HASH))
.thenThrow(ConflictException.class); .thenCallRealMethod();
doAnswer(invocation -> new ConflictException("running"))
.when(dockerClient)
.startContainerCmd(CONTAINER_1_HASH)
.exec();
/* test */ /* test */
assertThrows(ContainerStillRunningException.class, () -> { assertThrows(ContainerStillRunningException.class, () -> {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment