ContainerDescription containerDesc = createContainerDescription(); containerDesc.documentSelfLink = mockContainerDescriptionLink; containerDesc = doPost(containerDesc, ContainerDescriptionService.FACTORY_LINK); containerState = createContainerState(mockContainerDescriptionLink); host.log("creating container : " + Utils.toJson(containerState)); containerState = doPost(containerState, ContainerFactoryService.SELF_LINK); host.log("container = " + Utils.toJson(containerState)); ContainerStats updatedStats = patchStats(containerStats); assertEquals(true, updatedStats.healthCheckSuccess); waitFor( String.format("Waiting '%s' with status = %s", containerLink, ContainerState.CONTAINER_RUNNING_STATUS), () -> { ContainerState containerRunning = getDocument(ContainerState.class, containerLink); host.log("container running = " + Utils.toJson(containerRunning)); patchStats(patchHealth); waitFor( String.format("Waiting '%s' with status = %s", containerLink, ContainerState.CONTAINER_DEGRADED_STATUS), () -> { ContainerState containerWithError = getDocument(ContainerState.class, containerLink); return containerWithError.status
private ContainerDescription createContainerDescription() { ContainerDescription containerDesc = new ContainerDescription(); containerDesc.image = "image:latest"; containerDesc.healthConfig = createHealthConfig(); return containerDesc; }
@Before public void setUp() throws Throwable { waitForServiceAvailability(ContainerDescriptionService.FACTORY_LINK); waitForServiceAvailability(CompositeDescriptionFactoryService.SELF_LINK); waitForServiceAvailability(ContainerFactoryService.SELF_LINK); containerState = new ContainerState(); containerState.image = "test-image"; containerState = doPost(containerState, ContainerFactoryService.SELF_LINK); containerStats = new ContainerStats(); }
MockAdapterService mockAdapterService = new MockAdapterService(); try { stopService(mockAdapterService); waitForServiceAvailability(ManagementUriParts.ADAPTER_DOCKER); ContainerDescription containerDesc = createContainerDescription(); containerDesc.documentSelfLink = mockContainerDescriptionLink; containerDesc = doPost(containerDesc, ContainerDescriptionService.FACTORY_LINK); containerState = createContainerState(mockContainerDescriptionLink); host.log("creating container : " + Utils.toJson(containerState)); containerState = doPost(containerState, ContainerFactoryService.SELF_LINK); host.log("container = " + Utils.toJson(containerState)); assertFalse(mockAdapterService.isInspectInvokedForResource(containerLink)); } finally { stopService(mockAdapterService);
@Test public void testPostAndCalculate() throws Throwable { String statsJson = buildContainerStatsJson(); containerStats = patchStats(ContainerStatsEvaluator.calculateStatsValues(statsJson)); assertEquals(29.92d, containerStats.cpuUsage, 0); assertEquals(34887, containerStats.networkIn); assertEquals(579367, containerStats.networkOut); assertEquals(3042080, containerStats.memUsage); assertEquals(5000000, containerStats.memLimit); }
@Test public void testPatchHealthStatusHealthConfigNotSet() throws Throwable { containerStats = patchStats(containerStats); ContainerStats patchState = new ContainerStats(); patchState.healthCheckSuccess = true; ContainerStats stats = patchStats(patchState); assertEquals(true, stats.healthCheckSuccess); }
private ContainerStats patchStats(ContainerStats patchState) throws Throwable { URI uri = UriUtils.buildUri(host, containerState.documentSelfLink); host.testStart(1); host.sendRequest(Operation.createPatch(uri) .setBody(patchState) .setReferer(host.getUri()) .setCompletion(host.getCompletion())); host.testWait(); ServiceStats serviceStats = getDocument(ServiceStats.class, containerState.documentSelfLink + ServiceHost.SERVICE_URI_SUFFIX_STATS); assertNotNull(serviceStats); return ContainerStats.transform(serviceStats); }