Skip to content

Commit

Permalink
fixup! CHE-8265: Add Workspace.Next objects applier for k8s recipe
Browse files Browse the repository at this point in the history
  • Loading branch information
Oleksandr Garagatyi committed Jun 5, 2018
1 parent 963ae6e commit 2caf07a
Showing 1 changed file with 14 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@
import static java.util.Collections.emptyMap;
import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyZeroInteractions;
import static org.mockito.Mockito.when;
import static org.testng.Assert.assertEquals;
Expand All @@ -28,7 +26,9 @@
import io.fabric8.kubernetes.api.model.Pod;
import io.fabric8.kubernetes.api.model.PodSpec;
import io.fabric8.kubernetes.api.model.Quantity;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.che.api.workspace.server.spi.InfrastructureException;
Expand All @@ -38,8 +38,6 @@
import org.eclipse.che.api.workspace.server.wsnext.model.EnvVar;
import org.eclipse.che.api.workspace.server.wsnext.model.ResourceRequirements;
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.testng.MockitoTestNGListener;
import org.testng.annotations.BeforeMethod;
Expand All @@ -61,17 +59,17 @@ public class KubernetesWorkspaceNextApplierTest {
@Mock Pod pod;
@Mock PodSpec podSpec;
@Mock ObjectMeta meta;
@Mock List<Container> containers;
@Mock KubernetesEnvironment internalEnvironment;
@Mock Map<String, InternalMachineConfig> machines;
@Captor ArgumentCaptor<Container> containerCaptor;
@Captor ArgumentCaptor<InternalMachineConfig> machineCaptor;

KubernetesWorkspaceNextApplier applier;
List<Container> containers;
Map<String, InternalMachineConfig> machines;

@BeforeMethod
public void setUp() {
applier = new KubernetesWorkspaceNextApplier(200);
machines = new HashMap<>();
containers = new ArrayList<>();

when(internalEnvironment.getPods()).thenReturn(of(POD_NAME, pod));
when(pod.getSpec()).thenReturn(podSpec);
Expand Down Expand Up @@ -103,34 +101,28 @@ public void throwsExceptionWhenTheNumberOfPodsIsNot1() throws Exception {
public void addToolingContainerToAPod() throws Exception {
applier.apply(internalEnvironment, singletonList(testService()));

verify(containers).add(containerCaptor.capture());
List<Container> capturedToolingContainers = containerCaptor.getAllValues();
assertEquals(capturedToolingContainers.size(), 1);
Container toolingContainer = capturedToolingContainers.get(0);
assertEquals(containers.size(), 1);
Container toolingContainer = containers.get(0);
verifyContainer(toolingContainer);
}

@Test
public void canAddMultipleToolingContainersToAPodFromOneService() throws Exception {
applier.apply(internalEnvironment, singletonList(testServiceWith2Containers()));

verify(containers, times(2)).add(containerCaptor.capture());
List<Container> capturedToolingContainers = containerCaptor.getAllValues();
assertEquals(capturedToolingContainers.size(), 2);
for (Container capturedToolingContainer : capturedToolingContainers) {
verifyContainer(capturedToolingContainer);
assertEquals(containers.size(), 2);
for (Container container : containers) {
verifyContainer(container);
}
}

@Test
public void canAddMultipleToolingContainersToAPodFromSeveralServices() throws Exception {
applier.apply(internalEnvironment, ImmutableList.of(testService(), testService()));

verify(containers, times(2)).add(containerCaptor.capture());
List<Container> capturedToolingContainers = containerCaptor.getAllValues();
assertEquals(capturedToolingContainers.size(), 2);
for (Container capturedToolingContainer : capturedToolingContainers) {
verifyContainer(capturedToolingContainer);
assertEquals(containers.size(), 2);
for (Container container : containers) {
verifyContainer(container);
}
}

Expand Down

0 comments on commit 2caf07a

Please sign in to comment.