mirror of https://github.com/docker/cli.git
Merge pull request #29900 from yongtang/29226-network-format-created-at
Add `.CreatedAt` placeholder for `docker network ls --format`
This commit is contained in:
commit
0afeb93de4
|
@ -115,3 +115,8 @@ func (c *networkContext) Label(name string) string {
|
||||||
}
|
}
|
||||||
return c.n.Labels[name]
|
return c.n.Labels[name]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *networkContext) CreatedAt() string {
|
||||||
|
c.AddHeader(createdAtHeader)
|
||||||
|
return c.n.Created.String()
|
||||||
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types"
|
||||||
"github.com/docker/docker/pkg/stringid"
|
"github.com/docker/docker/pkg/stringid"
|
||||||
|
@ -142,14 +143,24 @@ network_id: networkID2
|
||||||
Context{Format: NewNetworkFormat("{{.Name}}", false)},
|
Context{Format: NewNetworkFormat("{{.Name}}", false)},
|
||||||
`foobar_baz
|
`foobar_baz
|
||||||
foobar_bar
|
foobar_bar
|
||||||
|
`,
|
||||||
|
},
|
||||||
|
// Custom Format with CreatedAt
|
||||||
|
{
|
||||||
|
Context{Format: NewNetworkFormat("{{.Name}} {{.CreatedAt}}", false)},
|
||||||
|
`foobar_baz 2016-01-01 00:00:00 +0000 UTC
|
||||||
|
foobar_bar 2017-01-01 00:00:00 +0000 UTC
|
||||||
`,
|
`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
timestamp1, _ := time.Parse("2006-01-02", "2016-01-01")
|
||||||
|
timestamp2, _ := time.Parse("2006-01-02", "2017-01-01")
|
||||||
|
|
||||||
for _, testcase := range cases {
|
for _, testcase := range cases {
|
||||||
networks := []types.NetworkResource{
|
networks := []types.NetworkResource{
|
||||||
{ID: "networkID1", Name: "foobar_baz", Driver: "foo", Scope: "local"},
|
{ID: "networkID1", Name: "foobar_baz", Driver: "foo", Scope: "local", Created: timestamp1},
|
||||||
{ID: "networkID2", Name: "foobar_bar", Driver: "bar", Scope: "local"},
|
{ID: "networkID2", Name: "foobar_bar", Driver: "bar", Scope: "local", Created: timestamp2},
|
||||||
}
|
}
|
||||||
out := bytes.NewBufferString("")
|
out := bytes.NewBufferString("")
|
||||||
testcase.context.Output = out
|
testcase.context.Output = out
|
||||||
|
@ -168,8 +179,8 @@ func TestNetworkContextWriteJSON(t *testing.T) {
|
||||||
{ID: "networkID2", Name: "foobar_bar"},
|
{ID: "networkID2", Name: "foobar_bar"},
|
||||||
}
|
}
|
||||||
expectedJSONs := []map[string]interface{}{
|
expectedJSONs := []map[string]interface{}{
|
||||||
{"Driver": "", "ID": "networkID1", "IPv6": "false", "Internal": "false", "Labels": "", "Name": "foobar_baz", "Scope": ""},
|
{"Driver": "", "ID": "networkID1", "IPv6": "false", "Internal": "false", "Labels": "", "Name": "foobar_baz", "Scope": "", "CreatedAt": "0001-01-01 00:00:00 +0000 UTC"},
|
||||||
{"Driver": "", "ID": "networkID2", "IPv6": "false", "Internal": "false", "Labels": "", "Name": "foobar_bar", "Scope": ""},
|
{"Driver": "", "ID": "networkID2", "IPv6": "false", "Internal": "false", "Labels": "", "Name": "foobar_bar", "Scope": "", "CreatedAt": "0001-01-01 00:00:00 +0000 UTC"},
|
||||||
}
|
}
|
||||||
|
|
||||||
out := bytes.NewBufferString("")
|
out := bytes.NewBufferString("")
|
||||||
|
|
Loading…
Reference in New Issue