Accept Docker progress on numbers >2GB

Update `ProgressUpdateEvent` to support images of a file size
>2GB without provoking build failures.

See gh-43328
This commit is contained in:
Wolfgang Kronberg
2024-11-29 14:14:53 +01:00
committed by Phillip Webb
parent 86b7fe44d9
commit d8565185e8
2 changed files with 18 additions and 9 deletions

View File

@@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.assertThat;
* @param <E> The event type
* @author Phillip Webb
* @author Scott Frederick
* @author Wolfgang Kronberg
*/
abstract class ProgressUpdateEventTests<E extends ProgressUpdateEvent> {
@@ -44,6 +45,13 @@ abstract class ProgressUpdateEventTests<E extends ProgressUpdateEvent> {
assertThat(event.getProgressDetail().getTotal()).isEqualTo(2);
}
@Test
void getProgressDetailsReturnsProgressDetailsForLongNumbers() {
ProgressUpdateEvent event = createEvent("status", new ProgressDetail(4000000000L, 8000000000L), "progress");
assertThat(event.getProgressDetail().getCurrent()).isEqualTo(4000000000L);
assertThat(event.getProgressDetail().getTotal()).isEqualTo(8000000000L);
}
@Test
void getProgressReturnsProgress() {
ProgressUpdateEvent event = createEvent();
@@ -52,24 +60,24 @@ abstract class ProgressUpdateEventTests<E extends ProgressUpdateEvent> {
@Test
void progressDetailIsEmptyWhenCurrentIsNullReturnsTrue() {
ProgressDetail detail = new ProgressDetail(null, 2);
ProgressDetail detail = new ProgressDetail(null, 2L);
assertThat(ProgressDetail.isEmpty(detail)).isTrue();
}
@Test
void progressDetailIsEmptyWhenTotalIsNullReturnsTrue() {
ProgressDetail detail = new ProgressDetail(1, null);
ProgressDetail detail = new ProgressDetail(1L, null);
assertThat(ProgressDetail.isEmpty(detail)).isTrue();
}
@Test
void progressDetailIsEmptyWhenTotalAndCurrentAreNotNullReturnsFalse() {
ProgressDetail detail = new ProgressDetail(1, 2);
ProgressDetail detail = new ProgressDetail(1L, 2L);
assertThat(ProgressDetail.isEmpty(detail)).isFalse();
}
protected E createEvent() {
return createEvent("status", new ProgressDetail(1, 2), "progress");
return createEvent("status", new ProgressDetail(1L, 2L), "progress");
}
protected abstract E createEvent(String status, ProgressDetail progressDetail, String progress);