From 16f5fc705fa75c145b6a2997247cfe60bf7aa5b6 Mon Sep 17 00:00:00 2001 From: Raj Date: Fri, 15 May 2026 00:59:28 -0700 Subject: [PATCH] Fix inconsistent volume createdAt JSON encoding (#1556) - Closes #1533 - This PR aligns `volume list --format json` date encoding with volume inspect by using ISO-8601 instead of the default numeric reference-date format. --- Sources/ContainerCommands/Volume/VolumeList.swift | 3 ++- .../Subcommands/Volumes/TestCLIAnonymousVolumes.swift | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Sources/ContainerCommands/Volume/VolumeList.swift b/Sources/ContainerCommands/Volume/VolumeList.swift index ccc0f4b9..124205b6 100644 --- a/Sources/ContainerCommands/Volume/VolumeList.swift +++ b/Sources/ContainerCommands/Volume/VolumeList.swift @@ -43,7 +43,8 @@ extension Application.VolumeCommand { let volumes = try await ClientVolume.list() if format == .json { - try Output.emit(Output.renderJSON(volumes)) + let options = JSONOptions(dateEncodingStrategy: .iso8601) + try Output.emit(Output.renderJSON(volumes, options: options)) return } diff --git a/Tests/CLITests/Subcommands/Volumes/TestCLIAnonymousVolumes.swift b/Tests/CLITests/Subcommands/Volumes/TestCLIAnonymousVolumes.swift index a9001512..1cd3295b 100644 --- a/Tests/CLITests/Subcommands/Volumes/TestCLIAnonymousVolumes.swift +++ b/Tests/CLITests/Subcommands/Volumes/TestCLIAnonymousVolumes.swift @@ -319,7 +319,9 @@ class TestCLIAnonymousVolumes: CLITest { // Parse JSON to verify metadata let data = output.data(using: .utf8)! - let volumes = try JSONDecoder().decode([Volume].self, from: data) + let decoder = JSONDecoder() + decoder.dateDecodingStrategy = .iso8601 + let volumes = try decoder.decode([Volume].self, from: data) let anonVolume = volumes.first { $0.name == volumeName } #expect(anonVolume != nil, "should find anonymous volume in list")