diff --git a/components/engine/daemon/cluster/convert/network.go b/components/engine/daemon/cluster/convert/network.go index 6f8b7938ce..ab9c694c38 100644 --- a/components/engine/daemon/cluster/convert/network.go +++ b/components/engine/daemon/cluster/convert/network.go @@ -168,6 +168,7 @@ func BasicNetworkFromGRPC(n swarmapi.Network) basictypes.NetworkResource { Ingress: IsIngressNetwork(&n), Labels: n.Spec.Annotations.Labels, } + nr.Created, _ = gogotypes.TimestampFromProto(n.Meta.CreatedAt) if n.Spec.GetNetwork() != "" { nr.ConfigFrom = networktypes.ConfigReference{ diff --git a/components/engine/daemon/cluster/convert/network_test.go b/components/engine/daemon/cluster/convert/network_test.go new file mode 100644 index 0000000000..1603b38d41 --- /dev/null +++ b/components/engine/daemon/cluster/convert/network_test.go @@ -0,0 +1,34 @@ +package convert + +import ( + "testing" + "time" + + swarmapi "github.com/docker/swarmkit/api" + gogotypes "github.com/gogo/protobuf/types" +) + +func TestNetworkConvertBasicNetworkFromGRPCCreatedAt(t *testing.T) { + expected, err := time.Parse("Jan 2, 2006 at 3:04pm (MST)", "Jan 10, 2018 at 7:54pm (PST)") + if err != nil { + t.Fatal(err) + } + createdAt, err := gogotypes.TimestampProto(expected) + if err != nil { + t.Fatal(err) + } + + nw := swarmapi.Network{ + Meta: swarmapi.Meta{ + Version: swarmapi.Version{ + Index: 1, + }, + CreatedAt: createdAt, + }, + } + + n := BasicNetworkFromGRPC(nw) + if !n.Created.Equal(expected) { + t.Fatalf("expected time %s; received %s", expected, n.Created) + } +}