use of org.springframework.boot.buildpack.platform.docker.type.ImageReference in project spring-boot by spring-projects.
the class LifecycleTests method getTestRequest.
private BuildRequest getTestRequest() {
TarArchive content = mock(TarArchive.class);
ImageReference name = ImageReference.of("my-application");
return BuildRequest.of(name, (owner) -> content).withRunImage(ImageReference.of("cloudfoundry/run"));
}
use of org.springframework.boot.buildpack.platform.docker.type.ImageReference in project spring-boot by spring-projects.
the class ImageBuildpackTests method resolveWhenUnqualifiedReferenceReturnsBuilder.
@Test
void resolveWhenUnqualifiedReferenceReturnsBuilder() throws Exception {
Image image = Image.of(getContent("buildpack-image.json"));
ImageReference imageReference = ImageReference.of("example/buildpack1:1.0.0");
BuildpackResolverContext resolverContext = mock(BuildpackResolverContext.class);
given(resolverContext.fetchImage(eq(imageReference), eq(ImageType.BUILDPACK))).willReturn(image);
willAnswer(this::withMockLayers).given(resolverContext).exportImageLayers(eq(imageReference), any());
BuildpackReference reference = BuildpackReference.of("example/buildpack1:1.0.0");
Buildpack buildpack = ImageBuildpack.resolve(resolverContext, reference);
assertThat(buildpack.getCoordinates()).hasToString("example/hello-universe@0.0.1");
assertHasExpectedLayers(buildpack);
}
use of org.springframework.boot.buildpack.platform.docker.type.ImageReference in project spring-boot by spring-projects.
the class ImageBuildpackTests method resolveReferenceWithoutTagUsesLatestTag.
@Test
void resolveReferenceWithoutTagUsesLatestTag() throws Exception {
Image image = Image.of(getContent("buildpack-image.json"));
ImageReference imageReference = ImageReference.of("example/buildpack1:latest");
BuildpackResolverContext resolverContext = mock(BuildpackResolverContext.class);
given(resolverContext.fetchImage(eq(imageReference), eq(ImageType.BUILDPACK))).willReturn(image);
willAnswer(this::withMockLayers).given(resolverContext).exportImageLayers(eq(imageReference), any());
BuildpackReference reference = BuildpackReference.of("example/buildpack1");
Buildpack buildpack = ImageBuildpack.resolve(resolverContext, reference);
assertThat(buildpack.getCoordinates()).hasToString("example/hello-universe@0.0.1");
assertHasExpectedLayers(buildpack);
}
use of org.springframework.boot.buildpack.platform.docker.type.ImageReference in project spring-boot by spring-projects.
the class PrintStreamBuildLogTests method printsExpectedOutput.
@Test
void printsExpectedOutput() throws Exception {
TestPrintStream out = new TestPrintStream();
PrintStreamBuildLog log = new PrintStreamBuildLog(out);
BuildRequest request = mock(BuildRequest.class);
ImageReference name = ImageReference.of("my-app:latest");
ImageReference builderImageReference = ImageReference.of("cnb/builder");
Image builderImage = mock(Image.class);
given(builderImage.getDigests()).willReturn(Collections.singletonList("00000001"));
ImageReference runImageReference = ImageReference.of("cnb/runner");
Image runImage = mock(Image.class);
given(runImage.getDigests()).willReturn(Collections.singletonList("00000002"));
given(request.getName()).willReturn(name);
ImageReference tag = ImageReference.of("my-app:1.0");
given(request.getTags()).willReturn(Collections.singletonList(tag));
log.start(request);
Consumer<TotalProgressEvent> pullBuildImageConsumer = log.pullingImage(builderImageReference, ImageType.BUILDER);
pullBuildImageConsumer.accept(new TotalProgressEvent(100));
log.pulledImage(builderImage, ImageType.BUILDER);
Consumer<TotalProgressEvent> pullRunImageConsumer = log.pullingImage(runImageReference, ImageType.RUNNER);
pullRunImageConsumer.accept(new TotalProgressEvent(100));
log.pulledImage(runImage, ImageType.RUNNER);
log.executingLifecycle(request, LifecycleVersion.parse("0.5"), VolumeName.of("pack-abc.cache"));
Consumer<LogUpdateEvent> phase1Consumer = log.runningPhase(request, "alphabet");
phase1Consumer.accept(mockLogEvent("one"));
phase1Consumer.accept(mockLogEvent("two"));
phase1Consumer.accept(mockLogEvent("three"));
Consumer<LogUpdateEvent> phase2Consumer = log.runningPhase(request, "basket");
phase2Consumer.accept(mockLogEvent("spring"));
phase2Consumer.accept(mockLogEvent("boot"));
log.executedLifecycle(request);
log.taggedImage(tag);
String expected = FileCopyUtils.copyToString(new InputStreamReader(getClass().getResourceAsStream("print-stream-build-log.txt"), StandardCharsets.UTF_8));
assertThat(out.toString()).isEqualToIgnoringNewLines(expected);
}
use of org.springframework.boot.buildpack.platform.docker.type.ImageReference in project spring-boot by spring-projects.
the class BuilderTests method getTestRequest.
private BuildRequest getTestRequest() {
TarArchive content = mock(TarArchive.class);
ImageReference name = ImageReference.of("my-application");
return BuildRequest.of(name, (owner) -> content);
}
Aggregations