diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java index 79658ded7b85ad530158df1cd141017838dbf8c2..b987cad39532ffccf1e47be1faeaebb137930357 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java @@ -131,14 +131,14 @@ public abstract class BaseUnitTest { public final static Long CONTAINER_2_ID = 2L; public final static String CONTAINER_2_HASH = "0ff1ce"; public final static ContainerImage CONTAINER_2_IMAGE = IMAGE_2; - public final static String CONTAINER_2_NAME = "t01"; - public final static String CONTAINER_2_INTERNALNAME = "t01"; + public final static String CONTAINER_2_NAME = "fda-userdb-t01"; + public final static String CONTAINER_2_INTERNALNAME = "fda-userdb-t01"; public final static String CONTAINER_2_DATABASE = "tuw"; - public final static String CONTAINER_2_IP = "233.145.99.83"; + public final static String CONTAINER_2_IP = "172.28.0.8"; public final static Instant CONTAINER_2_CREATED = Instant.now().minus(1, HOURS); public final static Container CONTAINER_1 = Container.builder() - .id(1L) + .id(CONTAINER_1_ID) .name(CONTAINER_1_NAME) .internalName(CONTAINER_1_INTERNALNAME) .image(CONTAINER_1_IMAGE) @@ -147,7 +147,7 @@ public abstract class BaseUnitTest { .build(); public final static Container CONTAINER_2 = Container.builder() - .id(2L) + .id(CONTAINER_2_ID) .name(CONTAINER_2_NAME) .internalName(CONTAINER_2_INTERNALNAME) .image(CONTAINER_2_IMAGE) diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java index a49855d577597eb296fd5d3a024a63681689acb0..817e4ad0a2e5abe2cc05152c94c5412bcf9b637d 100644 --- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java +++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ContainerServiceIntegrationTest.java @@ -2,8 +2,11 @@ package at.tuwien.service; import at.tuwien.BaseUnitTest; import at.tuwien.api.container.ContainerCreateRequestDto; +import at.tuwien.api.container.ContainerStateDto; import at.tuwien.api.container.image.ImageCreateDto; +import at.tuwien.entities.container.Container; import at.tuwien.entities.container.image.ContainerImage; +import at.tuwien.exception.ContainerNotFoundException; import at.tuwien.exception.ContainerNotRunningException; import at.tuwien.exception.DockerClientException; import at.tuwien.repository.ContainerRepository; @@ -119,53 +122,80 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest { @Test public void findIpAddress_notRunning_fails() { - dockerClient.startContainerCmd(CONTAINER_1.getHash()); + dockerClient.stopContainerCmd(CONTAINER_1.getHash()).exec(); /* test */ - assertThrows(DockerClientException.class, () -> { + assertThrows(ContainerNotRunningException.class, () -> { containerService.findIpAddresses(CONTAINER_1.getHash()); }); } @Test public void findIpAddress_notFound_fails() { + dockerClient.stopContainerCmd(CONTAINER_1.getHash()).exec(); + dockerClient.removeContainerCmd(CONTAINER_1.getHash()).exec(); + /* test */ + assertThrows(ContainerNotFoundException.class, () -> { + containerService.findIpAddresses(CONTAINER_1.getHash()); + }); } @Test public void getContainerState_succeeds() { + /* test */ + final ContainerStateDto response = containerService.getContainerState(CONTAINER_1.getHash()); + assertEquals(ContainerStateDto.RUNNING, response); } @Test public void getContainerState_notFound_fails() { + dockerClient.stopContainerCmd(CONTAINER_1.getHash()).exec(); + dockerClient.removeContainerCmd(CONTAINER_1.getHash()).exec(); + /* test */ + assertThrows(DockerClientException.class, () -> { + containerService.getContainerState(CONTAINER_1.getHash()); + }); } @Test public void create_succeeds() { - final ImageCreateDto request = ImageCreateDto.builder() + final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder() .repository(IMAGE_1_REPOSITORY) .tag(IMAGE_1_TAG) - .defaultPort(IMAGE_1_PORT) - .environment(IMAGE_1_ENV_DTO) + .name(CONTAINER_1_NAME) .build(); + + /* test */ + final Container container = containerService.create(request); + assertEquals(CONTAINER_1_NAME, container.getName()); } @Test public void findById_docker_fails() { - // cannot test + + /* test */ + assertThrows(ContainerNotFoundException.class, () -> { + containerService.getById(CONTAINER_2_ID); + }); } @Test public void change_start_succeeds() { - // cannot test + dockerClient.stopContainerCmd(CONTAINER_1.getHash()).exec(); + + /* test */ + containerService.start(CONTAINER_1_ID); } @Test public void change_stop_succeeds() { - // cannot test + + /* test */ + containerService.stop(CONTAINER_1_ID); } } diff --git a/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java b/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java index 0d00658267adbfd02d551a996305d39c29afcb87..37457532869b8221c959604aedfb18ca08dd1d45 100644 --- a/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java +++ b/fda-container-service/services/src/main/java/at/tuwien/mapper/ContainerMapper.java @@ -33,7 +33,7 @@ public interface ContainerMapper { @Mappings({ @Mapping(source = "state", target = "state", qualifiedByName = "containerStateDto"), @Mapping(source = "id", target = "hash"), -// @Mapping(target = "id", ignore = true) + @Mapping(target = "id", ignore = true) }) ContainerDto inspectContainerResponseToContainerDto(InspectContainerResponse data);