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")