@Test public void shouldSkipGeneratingResourcesWhenTheImageIsBeingUpdated() { givenAConnection(); givenTheImageStreamExistsTo("myimagename"); givenTheDeploymentConfigExistFor("myimagename", "v0", NAMESPACE, ResourceKind.IMAGE_STREAM_TAG); doReturn(DOCKER_TAG).when(job).getSourceImage(); assertThat(job.doRun(monitor)).isEqualTo(Status.OK_STATUS); verify(connection, times(0)).createResource(any()); }
@Test public void shouldUpdateImageTagIfItDifferesFromExisting() { givenAConnection(); givenTheImageStreamExistsTo("myimagename"); givenTheDeploymentConfigExistFor("myimagename", "v0", NAMESPACE, ResourceKind.IMAGE_STREAM_TAG); doReturn(DOCKER_NEW_TAG).when(job).getSourceImage(); IResource resource = connection.getResource( ResourceKind.DEPLOYMENT_CONFIG, project.getName(), parameters.getResourceName()); IDeploymentImageChangeTrigger trigger = (IDeploymentImageChangeTrigger) ((IDeploymentConfig) resource).getTriggers().toArray()[0]; assertThat(job.doRun(monitor)).isEqualTo(Status.OK_STATUS); verify(trigger, times(1)).setFrom(new DockerImageURI(null, null, "myimagename", "v1")); }