From fdaa1934bc4229e5fe390f5c5876271670b2cef9 Mon Sep 17 00:00:00 2001 From: Niklas Gehlen Date: Thu, 6 Jun 2024 16:29:51 +0200 Subject: [PATCH 1/3] Consider already existing images as successful pulls. --- .../com/github/dockerjava/api/model/PullResponseItem.java | 5 ++++- .../github/dockerjava/api/model/PullResponseItemTest.java | 8 ++++++++ .../dockerjava/api/model/PullResponseJSONSamples.java | 4 +++- .../api/model/pullImageResponse_alreadyExists.json | 1 + 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index 66a559934..cc19d5c43 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -19,6 +19,8 @@ public class PullResponseItem extends ResponseItem { private static final String DOWNLOADED_SWARM = ": downloaded"; + private static final String ALREADY_EXISTS = "Already exists"; + /** * Returns whether the status indicates a successful pull operation * @@ -34,7 +36,8 @@ public boolean isPullSuccessIndicated() { getStatus().contains(IMAGE_UP_TO_DATE) || getStatus().contains(DOWNLOADED_NEWER_IMAGE) || getStatus().contains(LEGACY_REGISTRY) || - getStatus().contains(DOWNLOADED_SWARM) + getStatus().contains(DOWNLOADED_SWARM)|| + getStatus().contains(ALREADY_EXISTS) ); } } diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseItemTest.java b/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseItemTest.java index 486badd55..f73036864 100644 --- a/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseItemTest.java +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseItemTest.java @@ -29,6 +29,14 @@ * @author Zach Marshall */ public class PullResponseItemTest { + @Test + public void imageAlreadyExists() throws IOException { + PullResponseItem response = testRoundTrip(PullResponseJSONSamples.pullImageResponse_alreadyExists, + PullResponseItem.class); + assertTrue(response.isPullSuccessIndicated()); + assertFalse(response.isErrorIndicated()); + } + @Test public void pullNewerImage() throws IOException { PullResponseItem response = testRoundTrip(PullResponseJSONSamples.pullImageResponse_newerImage, diff --git a/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseJSONSamples.java b/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseJSONSamples.java index 31cdf0f3b..4997a390a 100644 --- a/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseJSONSamples.java +++ b/docker-java/src/test/java/com/github/dockerjava/api/model/PullResponseJSONSamples.java @@ -23,7 +23,9 @@ * @author Zach Marshall */ public enum PullResponseJSONSamples implements JSONResourceRef { - pullImageResponse_legacy, pullImageResponse_error, pullImageResponse_newerImage, pullImageResponse_upToDate; + pullImageResponse_legacy, pullImageResponse_error, + pullImageResponse_newerImage, pullImageResponse_upToDate, + pullImageResponse_alreadyExists; @Override public String getFileName() { diff --git a/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json b/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json new file mode 100644 index 000000000..e5046c8b1 --- /dev/null +++ b/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json @@ -0,0 +1 @@ +{"status":"Downloaded newer image for docker.com/xxxxcv/ccccxx"} From ee529c931d58b4da39868c0145a5646581a6b931 Mon Sep 17 00:00:00 2001 From: Niklas Gehlen Date: Thu, 6 Jun 2024 16:32:46 +0200 Subject: [PATCH 2/3] update golden file --- .../dockerjava/api/model/pullImageResponse_alreadyExists.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json b/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json index e5046c8b1..ae318e29d 100644 --- a/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json +++ b/docker-java/src/test/resources/com/github/dockerjava/api/model/pullImageResponse_alreadyExists.json @@ -1 +1 @@ -{"status":"Downloaded newer image for docker.com/xxxxcv/ccccxx"} +{"status":"Already exists"} From 2e41176ac6fa867f749658ecbb97508fe667f838 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez=20Gonzales?= Date: Tue, 9 Jul 2024 14:43:36 -0500 Subject: [PATCH 3/3] Apply suggestions from code review --- .../java/com/github/dockerjava/api/model/PullResponseItem.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java index cc19d5c43..1d3f33c8e 100644 --- a/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java +++ b/docker-java-api/src/main/java/com/github/dockerjava/api/model/PullResponseItem.java @@ -36,7 +36,7 @@ public boolean isPullSuccessIndicated() { getStatus().contains(IMAGE_UP_TO_DATE) || getStatus().contains(DOWNLOADED_NEWER_IMAGE) || getStatus().contains(LEGACY_REGISTRY) || - getStatus().contains(DOWNLOADED_SWARM)|| + getStatus().contains(DOWNLOADED_SWARM) || getStatus().contains(ALREADY_EXISTS) ); }