public void TestCreate() { // Arrange var containerApi = MockContainerApi().Object; var dockerRunspaceProvider = new DockerRunspaceProvider( new RunspaceContainerCreateSpec() { ImageName = TEST_IMAGE_NAME, NetworkName = TEST_NETWORK_NAME }, TEST_DOCKER_ADDRESS, containerApi, false); // Act var actual = dockerRunspaceProvider.StartCreate(); actual = dockerRunspaceProvider.WaitCreateCompletion(actual); // Assert Assert.AreEqual(TEST_RUNSPACE_ID, actual.Id); Assert.AreEqual(TEST_IP_ADDRESS, actual.Endpoint.Address.ToString()); Assert.AreEqual(TEST_NETWORK_PORT, actual.Endpoint.Port); }
public void TestDockerExceptionHandledOnCreate() { // Arrange var containerApiMock = new Mock <IContainerApi>(); // Mock ContainerCreate API containerApiMock.Setup(m => m.ContainerCreate(It.IsAny <ContainerConfig>(), null)) .Throws(new ApiException()); var containerApi = containerApiMock.Object; var dockerRunspaceProvider = new DockerRunspaceProvider( new RunspaceContainerCreateSpec() { ImageName = TEST_IMAGE_NAME, NetworkName = TEST_NETWORK_NAME }, TEST_DOCKER_ADDRESS, containerApi, false); // Act var actual = dockerRunspaceProvider.StartCreate(); actual = dockerRunspaceProvider.WaitCreateCompletion(actual); // Assert Assert.AreEqual(RunspaceCreationState.Error, actual.CreationState); Assert.NotNull(actual.CreationError); Assert.AreEqual("Docker Engine ContainerCreate API failed", actual.CreationError.Message); }
public void TestDockerExceptionHandledOnKill() { // Arrange var containerApiMock = new Mock <IContainerApi>(); // Mock ContainerInspect API containerApiMock.Setup(m => m.ContainerKill(TEST_RUNSPACE_ID, null)) .Throws(new ApiException()); var containerApi = containerApiMock.Object; var dockerRunspaceProvider = new DockerRunspaceProvider( new RunspaceContainerCreateSpec() { ImageName = TEST_IMAGE_NAME, NetworkName = TEST_NETWORK_NAME }, TEST_DOCKER_ADDRESS, containerApi, false); // Act && Assert Assert.Throws <RunspaceProviderException>( () => dockerRunspaceProvider.Kill(TEST_RUNSPACE_ID), "Docker Engine ContainerKill API failed"); }
public void Setup() { _containerApi = new ContainerApi(DOCKER_ENGINE_ENDPOINT_BASE_PATH); _runspaceProvider = new DockerRunspaceProvider( new RunspaceContainerCreateSpec { ImageName = IMAGE_NAME, NetworkName = NETWORK_NAME }, DOCKER_ENGINE_ENDPOINT_BASE_PATH, _containerApi, false); }
public void TestKill() { // Arrange var containerApiMock = new Mock <IContainerApi>(); containerApiMock.Setup(m => m.ContainerKill(TEST_RUNSPACE_ID, null)); var dockerRunspaceProvider = new DockerRunspaceProvider( new RunspaceContainerCreateSpec() { ImageName = TEST_IMAGE_NAME, NetworkName = TEST_NETWORK_NAME }, TEST_DOCKER_ADDRESS, containerApiMock.Object, false); // Act & Assert Assert.DoesNotThrow(() => dockerRunspaceProvider.Kill(TEST_RUNSPACE_ID)); }