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 ca676c7f5a34b135a408b2bbb040c176024c29e8..2ff41cab900c69834f7438bf6d06f3ce034ef7ed 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
@@ -5,8 +5,10 @@ import at.tuwien.api.container.ContainerCreateRequestDto;
 import at.tuwien.config.DockerUtil;
 import at.tuwien.config.ReadyConfig;
 import at.tuwien.entities.container.Container;
-import at.tuwien.exception.*;
-import at.tuwien.repository.jpa.ContainerImageEnvironmentItemRepository;
+import at.tuwien.exception.ContainerAlreadyExistsException;
+import at.tuwien.exception.DockerClientException;
+import at.tuwien.exception.ImageNotFoundException;
+import at.tuwien.exception.UserNotFoundException;
 import at.tuwien.repository.jpa.ContainerRepository;
 import at.tuwien.repository.jpa.ImageRepository;
 import at.tuwien.repository.jpa.UserRepository;
@@ -26,7 +28,6 @@ import org.springframework.test.annotation.DirtiesContext;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
 
 import java.security.Principal;
-import java.util.List;
 import java.util.Optional;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -43,17 +44,14 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
     @MockBean
     private ReadyConfig readyConfig;
 
-    @MockBean
+    @Autowired
     private ContainerRepository containerRepository;
 
     @Autowired
     private ImageRepository imageRepository;
 
     @Autowired
-    private ContainerImageEnvironmentItemRepository containerImageEnvironmentItemRepository;
-
-    @Autowired
-    private DockerClient dockerClient;
+    private UserRepository userRepository;
 
     @Autowired
     private ContainerService containerService;
@@ -62,7 +60,7 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
     private DockerUtil dockerUtil;
 
     @Autowired
-    private UserRepository userRepository;
+    private DockerClient dockerClient;
 
     @BeforeEach
     public void beforeEach() {
@@ -86,9 +84,6 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
         /* mock data */
         userRepository.save(USER_1);
         imageRepository.save(IMAGE_1);
-        containerImageEnvironmentItemRepository.saveAll(IMAGE_1_ENV);
-        IMAGE_1.setEnvironment(IMAGE_1_ENV);
-        containerImageEnvironmentItemRepository.saveAll(IMAGE_1_ENV);
     }
 
     @AfterEach
@@ -130,291 +125,10 @@ public class ContainerServiceIntegrationTest extends BaseUnitTest {
         final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
 
         /* mock */
-        when(containerRepository.findByInternalName(CONTAINER_1_INTERNALNAME))
-                .thenReturn(Optional.empty());
-        when(containerRepository.save(any(Container.class)))
-                .thenReturn(CONTAINER_1);
 
         /* test */
         final Container container = containerService.create(request, principal);
         assertEquals(CONTAINER_1_NAME, container.getName());
         assertEquals(1, userRepository.findAll().size());
     }
-
-    @Test
-    public void create_conflictingNames_fails() {
-        final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
-                .repository(IMAGE_1_REPOSITORY)
-                .tag(IMAGE_1_TAG)
-                .name(CONTAINER_1_NAME)
-                .build();
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-
-        /* mock */
-        when(containerRepository.findByInternalName(CONTAINER_1_INTERNALNAME))
-                .thenReturn(Optional.of(CONTAINER_1));
-
-        /* test */
-        assertThrows(ContainerAlreadyExistsException.class, () -> {
-            containerService.create(request, principal);
-        });
-    }
-
-    @Test
-    public void remove_alreadyRemoved_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.empty());
-
-        /* test */
-        assertThrows(ContainerNotFoundException.class, () -> {
-            containerService.remove(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void create_notFound_fails() {
-        final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
-                .repository(IMAGE_2_REPOSITORY)
-                .tag(IMAGE_2_TAG)
-                .name(CONTAINER_3_NAME)
-                .build();
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-
-        /* mock */
-
-        /* test */
-        assertThrows(ImageNotFoundException.class, () -> {
-            containerService.create(request, principal);
-        });
-    }
-
-
-    @Test
-    public void findById_notFound_fails() {
-
-        /* mock */
-
-        /* test */
-        assertThrows(ContainerNotFoundException.class, () -> {
-            containerService.find(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_start_succeeds() throws DockerClientException, ContainerNotFoundException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-
-        /* test */
-        containerService.start(CONTAINER_1_ID);
-    }
-
-    @Test
-    public void change_stop_succeeds() throws DockerClientException, InterruptedException, ContainerNotFoundException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.startContainer(CONTAINER_1);
-
-        /* test */
-        containerService.stop(CONTAINER_1_ID);
-    }
-
-    @Test
-    public void change_startSavedButNotFound_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.start(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_removeSavedButNotFound_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.remove(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void getAll_succeeds() {
-
-        /* mock */
-        when(containerRepository.findAll())
-                .thenReturn(List.of(CONTAINER_1, CONTAINER_2));
-
-        /* test */
-        final List<Container> response = containerService.getAll();
-        assertEquals(2, response.size());
-    }
-
-    @Test
-    public void remove_succeeds() throws DockerClientException, ContainerStillRunningException, ContainerNotFoundException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.stopContainer(CONTAINER_1);
-
-        /* test */
-        containerService.remove(CONTAINER_1_ID);
-    }
-
-    @Test
-    public void remove_notFound_fails() {
-
-        /* test */
-        assertThrows(ContainerNotFoundException.class, () -> {
-            containerService.remove(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void remove_stillRunning_fails() throws InterruptedException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.startContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(ContainerStillRunningException.class, () -> {
-            containerService.remove(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_alreadyRunning_fails() throws InterruptedException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.startContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.start(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_startNotFound_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.empty());
-        dockerUtil.createContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(ContainerNotFoundException.class, () -> {
-            containerService.start(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_alreadyStopped_fails() throws InterruptedException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.startContainer(CONTAINER_1);
-        dockerUtil.stopContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.stop(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_stopNeverStarted_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.stop(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void change_stopSavedButNotFound_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-
-        /* test */
-        assertThrows(DockerClientException.class, () -> {
-            containerService.stop(CONTAINER_1_ID);
-        });
-    }
-
-    @Test
-    public void inspect_succeeds() throws InterruptedException, DockerClientException, ContainerNotFoundException,
-            ContainerNotRunningException {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-        dockerUtil.startContainer(CONTAINER_1);
-
-        /* test */
-        final Container response = containerService.inspect(CONTAINER_1_ID);
-        assertEquals(CONTAINER_1_ID, response.getId());
-        assertEquals(CONTAINER_1_NAME, response.getName());
-        assertEquals(CONTAINER_1_INTERNALNAME, response.getInternalName());
-        assertEquals(CONTAINER_1_IP, response.getIpAddress());
-    }
-
-    @Test
-    public void inspect_notFound_fails() {
-
-        /* mock */
-
-        /* test */
-        assertThrows(ContainerNotFoundException.class, () -> {
-            containerService.inspect(CONTAINER_2_ID);
-        });
-    }
-
-    @Test
-    public void inspect_notRunning_fails() {
-
-        /* mock */
-        when(containerRepository.findById(CONTAINER_1_ID))
-                .thenReturn(Optional.of(CONTAINER_1));
-        dockerUtil.createContainer(CONTAINER_1);
-
-        /* test */
-        assertThrows(ContainerNotRunningException.class, () -> {
-            containerService.inspect(CONTAINER_1_ID);
-        });
-    }
-
 }
diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
index c1646f96efd2a463771e98eb1dfbfac4240fe3a9..2d8be88ad788e185db64c6e91ccfd7ad31f83b38 100644
--- a/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
+++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/ImageServiceUnitTest.java
@@ -22,8 +22,7 @@ import java.security.Principal;
 import java.util.List;
 import java.util.Optional;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.*;
 
@@ -180,4 +179,22 @@ public class ImageServiceUnitTest extends BaseUnitTest {
             imageService.delete(IMAGE_1_ID);
         });
     }
+
+    @Test
+    public void toString_omitSecrets_succeeds() {
+
+        /* test */
+        final String response = IMAGE_1.toString();
+        assertFalse(response.contains("MARIADB_PASSWORD"));
+        assertFalse(response.contains("MARIADB_ROOT_PASSWORD"));
+    }
+
+    @Test
+    public void toString_omitSecrets2_succeeds() {
+
+        /* test */
+        final String response = CONTAINER_1.toString();
+        assertFalse(response.contains("MARIADB_PASSWORD"));
+        assertFalse(response.contains("MARIADB_ROOT_PASSWORD"));
+    }
 }
diff --git a/fda-container-service/rest-service/src/test/java/at/tuwien/service/Old.java b/fda-container-service/rest-service/src/test/java/at/tuwien/service/Old.java
new file mode 100644
index 0000000000000000000000000000000000000000..557fda530f58705fce94016eafb0d68b6a419d92
--- /dev/null
+++ b/fda-container-service/rest-service/src/test/java/at/tuwien/service/Old.java
@@ -0,0 +1,420 @@
+package at.tuwien.service;
+
+import at.tuwien.BaseUnitTest;
+import at.tuwien.api.container.ContainerCreateRequestDto;
+import at.tuwien.config.DockerUtil;
+import at.tuwien.config.ReadyConfig;
+import at.tuwien.entities.container.Container;
+import at.tuwien.exception.*;
+import at.tuwien.repository.jpa.ContainerImageEnvironmentItemRepository;
+import at.tuwien.repository.jpa.ContainerRepository;
+import at.tuwien.repository.jpa.ImageRepository;
+import at.tuwien.repository.jpa.UserRepository;
+import com.github.dockerjava.api.DockerClient;
+import com.github.dockerjava.api.exception.NotModifiedException;
+import com.github.dockerjava.api.model.Network;
+import lombok.extern.log4j.Log4j2;
+import org.apache.http.auth.BasicUserPrincipal;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
+import org.springframework.test.annotation.DirtiesContext;
+import org.springframework.test.context.junit.jupiter.SpringExtension;
+
+import java.security.Principal;
+import java.util.List;
+import java.util.Optional;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+@Log4j2
+@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
+@SpringBootTest
+@ExtendWith(SpringExtension.class)
+public class Old extends BaseUnitTest {
+
+    @MockBean
+    private ReadyConfig readyConfig;
+
+    @MockBean
+    private ContainerRepository containerRepository;
+
+    @Autowired
+    private ImageRepository imageRepository;
+
+    @Autowired
+    private ContainerImageEnvironmentItemRepository containerImageEnvironmentItemRepository;
+
+    @Autowired
+    private DockerClient dockerClient;
+
+    @Autowired
+    private ContainerService containerService;
+
+    @Autowired
+    private DockerUtil dockerUtil;
+
+    @Autowired
+    private UserRepository userRepository;
+
+    @BeforeEach
+    public void beforeEach() {
+        afterEach();
+        /* create networks */
+        dockerClient.createNetworkCmd()
+                .withName("fda-userdb")
+                .withIpam(new Network.Ipam()
+                        .withConfig(new Network.Ipam.Config()
+                                .withSubnet("172.28.0.0/16")))
+                .withEnableIpv6(false)
+                .exec();
+        dockerClient.createNetworkCmd()
+                .withName("fda-public")
+                .withIpam(new Network.Ipam()
+                        .withConfig(new Network.Ipam.Config()
+                                .withSubnet("172.29.0.0/16")))
+                .withEnableIpv6(false)
+                .exec();
+
+        /* mock data */
+        userRepository.save(USER_1);
+        imageRepository.save(IMAGE_1);
+        containerImageEnvironmentItemRepository.saveAll(IMAGE_1_ENV);
+        IMAGE_1.setEnvironment(IMAGE_1_ENV);
+        containerImageEnvironmentItemRepository.saveAll(IMAGE_1_ENV);
+    }
+
+    @AfterEach
+    public void afterEach() {
+        /* stop containers and remove them */
+        dockerClient.listContainersCmd()
+                .withShowAll(true)
+                .exec()
+                .forEach(container -> {
+                    log.info("Delete container {}", container.getNames()[0]);
+                    try {
+                        dockerClient.stopContainerCmd(container.getId()).exec();
+                    } catch (NotModifiedException e) {
+                        // ignore
+                    }
+                    dockerClient.removeContainerCmd(container.getId()).exec();
+                });
+
+        /* remove networks */
+        dockerClient.listNetworksCmd()
+                .exec()
+                .stream()
+                .filter(n -> n.getName().startsWith("fda"))
+                .forEach(network -> {
+                    log.info("Delete network {}", network.getName());
+                    dockerClient.removeNetworkCmd(network.getId()).exec();
+                });
+    }
+
+    
+    public void create_succeeds()
+            throws DockerClientException, ImageNotFoundException, ContainerAlreadyExistsException,
+            UserNotFoundException {
+        final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
+                .repository(IMAGE_1_REPOSITORY)
+                .tag(IMAGE_1_TAG)
+                .name(CONTAINER_1_NAME)
+                .build();
+        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
+
+        /* mock */
+        when(containerRepository.findByInternalName(CONTAINER_1_INTERNALNAME))
+                .thenReturn(Optional.empty());
+        when(containerRepository.save(any(Container.class)))
+                .thenReturn(CONTAINER_1);
+
+        /* test */
+        final Container container = containerService.create(request, principal);
+        assertEquals(CONTAINER_1_NAME, container.getName());
+        assertEquals(1, userRepository.findAll().size());
+    }
+
+    
+    public void create_conflictingNames_fails() {
+        final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
+                .repository(IMAGE_1_REPOSITORY)
+                .tag(IMAGE_1_TAG)
+                .name(CONTAINER_1_NAME)
+                .build();
+        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
+
+        /* mock */
+        when(containerRepository.findByInternalName(CONTAINER_1_INTERNALNAME))
+                .thenReturn(Optional.of(CONTAINER_1));
+
+        /* test */
+        assertThrows(ContainerAlreadyExistsException.class, () -> {
+            containerService.create(request, principal);
+        });
+    }
+
+    
+    public void remove_alreadyRemoved_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.empty());
+
+        /* test */
+        assertThrows(ContainerNotFoundException.class, () -> {
+            containerService.remove(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void create_notFound_fails() {
+        final ContainerCreateRequestDto request = ContainerCreateRequestDto.builder()
+                .repository(IMAGE_2_REPOSITORY)
+                .tag(IMAGE_2_TAG)
+                .name(CONTAINER_3_NAME)
+                .build();
+        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
+
+        /* mock */
+
+        /* test */
+        assertThrows(ImageNotFoundException.class, () -> {
+            containerService.create(request, principal);
+        });
+    }
+
+
+    
+    public void findById_notFound_fails() {
+
+        /* mock */
+
+        /* test */
+        assertThrows(ContainerNotFoundException.class, () -> {
+            containerService.find(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_start_succeeds() throws DockerClientException, ContainerNotFoundException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+
+        /* test */
+        containerService.start(CONTAINER_1_ID);
+    }
+
+    
+    public void change_stop_succeeds() throws DockerClientException, InterruptedException, ContainerNotFoundException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.startContainer(CONTAINER_1);
+
+        /* test */
+        containerService.stop(CONTAINER_1_ID);
+    }
+
+    
+    public void change_startSavedButNotFound_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.start(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_removeSavedButNotFound_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.remove(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void getAll_succeeds() {
+
+        /* mock */
+        when(containerRepository.findAll())
+                .thenReturn(List.of(CONTAINER_1, CONTAINER_2));
+
+        /* test */
+        final List<Container> response = containerService.getAll();
+        assertEquals(2, response.size());
+    }
+
+    
+    public void remove_succeeds() throws DockerClientException, ContainerStillRunningException, ContainerNotFoundException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.stopContainer(CONTAINER_1);
+
+        /* test */
+        containerService.remove(CONTAINER_1_ID);
+    }
+
+    
+    public void remove_notFound_fails() {
+
+        /* test */
+        assertThrows(ContainerNotFoundException.class, () -> {
+            containerService.remove(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void remove_stillRunning_fails() throws InterruptedException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.startContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(ContainerStillRunningException.class, () -> {
+            containerService.remove(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_alreadyRunning_fails() throws InterruptedException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.startContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.start(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_startNotFound_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.empty());
+        dockerUtil.createContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(ContainerNotFoundException.class, () -> {
+            containerService.start(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_alreadyStopped_fails() throws InterruptedException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.startContainer(CONTAINER_1);
+        dockerUtil.stopContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.stop(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_stopNeverStarted_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.stop(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void change_stopSavedButNotFound_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+
+        /* test */
+        assertThrows(DockerClientException.class, () -> {
+            containerService.stop(CONTAINER_1_ID);
+        });
+    }
+
+    
+    public void inspect_succeeds() throws InterruptedException, DockerClientException, ContainerNotFoundException,
+            ContainerNotRunningException {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+        dockerUtil.startContainer(CONTAINER_1);
+
+        /* test */
+        final Container response = containerService.inspect(CONTAINER_1_ID);
+        assertEquals(CONTAINER_1_ID, response.getId());
+        assertEquals(CONTAINER_1_NAME, response.getName());
+        assertEquals(CONTAINER_1_INTERNALNAME, response.getInternalName());
+        assertEquals(CONTAINER_1_IP, response.getIpAddress());
+    }
+
+    
+    public void inspect_notFound_fails() {
+
+        /* mock */
+
+        /* test */
+        assertThrows(ContainerNotFoundException.class, () -> {
+            containerService.inspect(CONTAINER_2_ID);
+        });
+    }
+
+    
+    public void inspect_notRunning_fails() {
+
+        /* mock */
+        when(containerRepository.findById(CONTAINER_1_ID))
+                .thenReturn(Optional.of(CONTAINER_1));
+        dockerUtil.createContainer(CONTAINER_1);
+
+        /* test */
+        assertThrows(ContainerNotRunningException.class, () -> {
+            containerService.inspect(CONTAINER_1_ID);
+        });
+    }
+
+}