From 1b0b1ec65729a2e018df1334b70b851714995e9e Mon Sep 17 00:00:00 2001 From: Phil Estes Date: Mon, 15 Sep 2014 19:35:07 -0400 Subject: [PATCH] Proper JSON handling of strings that could be represented as other types Addresses #6830 Docker-DCO-1.1-Signed-off-by: Phil Estes (github: estesp) --- builtins/builtins.go | 2 +- daemon/inspect.go | 2 +- integration-cli/docker_api_inspect_test.go | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/builtins/builtins.go b/builtins/builtins.go index 0aa2f43c16..f952d728b2 100644 --- a/builtins/builtins.go +++ b/builtins/builtins.go @@ -61,7 +61,7 @@ func dockerVersion(job *engine.Job) engine.Status { v := &engine.Env{} v.SetJson("Version", dockerversion.VERSION) v.SetJson("ApiVersion", api.APIVERSION) - v.Set("GitCommit", dockerversion.GITCOMMIT) + v.SetJson("GitCommit", dockerversion.GITCOMMIT) v.Set("GoVersion", runtime.Version()) v.Set("Os", runtime.GOOS) v.Set("Arch", runtime.GOARCH) diff --git a/daemon/inspect.go b/daemon/inspect.go index 373b43b8b6..396ca0227f 100644 --- a/daemon/inspect.go +++ b/daemon/inspect.go @@ -31,7 +31,7 @@ func (daemon *Daemon) ContainerInspect(job *engine.Job) engine.Status { out := &engine.Env{} out.Set("Id", container.ID) out.SetAuto("Created", container.Created) - out.Set("Path", container.Path) + out.SetJson("Path", container.Path) out.SetList("Args", container.Args) out.SetJson("Config", container.Config) out.SetJson("State", container.State) diff --git a/integration-cli/docker_api_inspect_test.go b/integration-cli/docker_api_inspect_test.go index 6902cd4b6f..6187c0620e 100644 --- a/integration-cli/docker_api_inspect_test.go +++ b/integration-cli/docker_api_inspect_test.go @@ -46,6 +46,10 @@ func TestInspectContainerResponse(t *testing.T) { t.Fatalf("%s does not exist in reponse for %s version", key, testVersion) } } + //Issue #6830: type not properly converted to JSON/back + if _, ok := inspect_json["Path"].(bool); ok { + t.Fatalf("Path of `true` should not be converted to boolean `true` via JSON marshalling") + } } deleteAllContainers()