Set omitempty for IP and PublicPort to conform w/ API 1.18
Signed-off-by: Darren Shepherd <darren@rancher.com>
This commit is contained in:
parent
00b8fec75f
commit
09de92b891
|
@ -94,9 +94,9 @@ type ImageInspect struct {
|
||||||
|
|
||||||
// GET "/containers/json"
|
// GET "/containers/json"
|
||||||
type Port struct {
|
type Port struct {
|
||||||
IP string
|
IP string `json:",omitempty"`
|
||||||
PrivatePort int
|
PrivatePort int
|
||||||
PublicPort int
|
PublicPort int `json:",omitempty"`
|
||||||
Type string
|
Type string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,7 @@ import (
|
||||||
"net/http/httputil"
|
"net/http/httputil"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -84,6 +85,45 @@ func (s *DockerSuite) TestContainerApiGetJSONNoFieldsOmitted(c *check.C) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type containerPs struct {
|
||||||
|
Names []string
|
||||||
|
Ports []map[string]interface{}
|
||||||
|
}
|
||||||
|
|
||||||
|
// regression test for non-empty fields from #13901
|
||||||
|
func (s *DockerSuite) TestContainerPsOmitFields(c *check.C) {
|
||||||
|
name := "pstest"
|
||||||
|
port := 80
|
||||||
|
runCmd := exec.Command(dockerBinary, "run", "-d", "--name", name, "--expose", strconv.Itoa(port), "busybox", "sleep", "5")
|
||||||
|
_, err := runCommand(runCmd)
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
|
status, body, err := sockRequest("GET", "/containers/json?all=1", nil)
|
||||||
|
c.Assert(status, check.Equals, http.StatusOK)
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
|
var resp []containerPs
|
||||||
|
err = json.Unmarshal(body, &resp)
|
||||||
|
c.Assert(err, check.IsNil)
|
||||||
|
|
||||||
|
var foundContainer *containerPs
|
||||||
|
for _, container := range resp {
|
||||||
|
for _, testName := range container.Names {
|
||||||
|
if "/"+name == testName {
|
||||||
|
foundContainer = &container
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
c.Assert(len(foundContainer.Ports), check.Equals, 1)
|
||||||
|
c.Assert(foundContainer.Ports[0]["PrivatePort"], check.Equals, float64(port))
|
||||||
|
_, ok := foundContainer.Ports[0]["PublicPort"]
|
||||||
|
c.Assert(ok, check.Not(check.Equals), true)
|
||||||
|
_, ok = foundContainer.Ports[0]["IP"]
|
||||||
|
c.Assert(ok, check.Not(check.Equals), true)
|
||||||
|
}
|
||||||
|
|
||||||
func (s *DockerSuite) TestContainerApiGetExport(c *check.C) {
|
func (s *DockerSuite) TestContainerApiGetExport(c *check.C) {
|
||||||
name := "exportcontainer"
|
name := "exportcontainer"
|
||||||
runCmd := exec.Command(dockerBinary, "run", "--name", name, "busybox", "touch", "/test")
|
runCmd := exec.Command(dockerBinary, "run", "--name", name, "busybox", "touch", "/test")
|
||||||
|
|
Loading…
Reference in New Issue