|
1 | 1 | package system |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "bytes" |
4 | 5 | "context" |
5 | 6 | "errors" |
6 | 7 | "io" |
@@ -45,89 +46,89 @@ func TestVersionFormat(t *testing.T) { |
45 | 46 | BuildTime: "Wed May 30 22:21:05 2018", |
46 | 47 | Context: "my-context", |
47 | 48 | }, |
48 | | - Server: &types.Version{}, |
| 49 | + Server: &types.Version{ |
| 50 | + Platform: struct{ Name string }{Name: "Docker Enterprise Edition (EE) 2.0"}, |
| 51 | + Components: []types.ComponentVersion{ |
| 52 | + { |
| 53 | + Name: "Engine", |
| 54 | + Version: "17.06.2-ee-15", |
| 55 | + Details: map[string]string{ |
| 56 | + "ApiVersion": "1.30", |
| 57 | + "MinAPIVersion": "1.12", |
| 58 | + "GitCommit": "64ddfa6", |
| 59 | + "GoVersion": "go1.8.7", |
| 60 | + "Os": "linux", |
| 61 | + "Arch": "amd64", |
| 62 | + "BuildTime": "Mon Jul 9 23:38:38 2018", |
| 63 | + "Experimental": "false", |
| 64 | + }, |
| 65 | + }, |
| 66 | + { |
| 67 | + Name: "Universal Control Plane", |
| 68 | + Version: "17.06.2-ee-15", |
| 69 | + Details: map[string]string{ |
| 70 | + "Version": "3.0.3-tp2", |
| 71 | + "ApiVersion": "1.30", |
| 72 | + "Arch": "amd64", |
| 73 | + "BuildTime": "Mon Jul 2 21:24:07 UTC 2018", |
| 74 | + "GitCommit": "4513922", |
| 75 | + "GoVersion": "go1.9.4", |
| 76 | + "MinApiVersion": "1.20", |
| 77 | + "Os": "linux", |
| 78 | + }, |
| 79 | + }, |
| 80 | + { |
| 81 | + Name: "Kubernetes", |
| 82 | + Version: "1.8+", |
| 83 | + Details: map[string]string{ |
| 84 | + "buildDate": "2018-04-26T16:51:21Z", |
| 85 | + "compiler": "gc", |
| 86 | + "gitCommit": "8d637aedf46b9c21dde723e29c645b9f27106fa5", |
| 87 | + "gitTreeState": "clean", |
| 88 | + "gitVersion": "v1.8.11-docker-8d637ae", |
| 89 | + "goVersion": "go1.8.3", |
| 90 | + "major": "1", |
| 91 | + "minor": "8+", |
| 92 | + "platform": "linux/amd64", |
| 93 | + }, |
| 94 | + }, |
| 95 | + { |
| 96 | + Name: "Calico", |
| 97 | + Version: "v3.0.8", |
| 98 | + Details: map[string]string{ |
| 99 | + "cni": "v2.0.6", |
| 100 | + "kube-controllers": "v2.0.5", |
| 101 | + "node": "v3.0.8", |
| 102 | + }, |
| 103 | + }, |
| 104 | + }, |
| 105 | + }, |
49 | 106 | } |
50 | 107 |
|
51 | | - vi.Server.Platform.Name = "Docker Enterprise Edition (EE) 2.0" |
52 | | - |
53 | | - vi.Server.Components = append(vi.Server.Components, types.ComponentVersion{ |
54 | | - Name: "Engine", |
55 | | - Version: "17.06.2-ee-15", |
56 | | - Details: map[string]string{ |
57 | | - "ApiVersion": "1.30", |
58 | | - "MinAPIVersion": "1.12", |
59 | | - "GitCommit": "64ddfa6", |
60 | | - "GoVersion": "go1.8.7", |
61 | | - "Os": "linux", |
62 | | - "Arch": "amd64", |
63 | | - "BuildTime": "Mon Jul 9 23:38:38 2018", |
64 | | - "Experimental": "false", |
| 108 | + tests := []struct { |
| 109 | + name string |
| 110 | + format string |
| 111 | + }{ |
| 112 | + { |
| 113 | + name: "default", |
65 | 114 | }, |
66 | | - }) |
67 | | - |
68 | | - vi.Server.Components = append(vi.Server.Components, types.ComponentVersion{ |
69 | | - Name: "Universal Control Plane", |
70 | | - Version: "17.06.2-ee-15", |
71 | | - Details: map[string]string{ |
72 | | - "Version": "3.0.3-tp2", |
73 | | - "ApiVersion": "1.30", |
74 | | - "Arch": "amd64", |
75 | | - "BuildTime": "Mon Jul 2 21:24:07 UTC 2018", |
76 | | - "GitCommit": "4513922", |
77 | | - "GoVersion": "go1.9.4", |
78 | | - "MinApiVersion": "1.20", |
79 | | - "Os": "linux", |
| 115 | + { |
| 116 | + name: "json", |
| 117 | + format: "json", |
80 | 118 | }, |
81 | | - }) |
82 | | - |
83 | | - vi.Server.Components = append(vi.Server.Components, types.ComponentVersion{ |
84 | | - Name: "Kubernetes", |
85 | | - Version: "1.8+", |
86 | | - Details: map[string]string{ |
87 | | - "buildDate": "2018-04-26T16:51:21Z", |
88 | | - "compiler": "gc", |
89 | | - "gitCommit": "8d637aedf46b9c21dde723e29c645b9f27106fa5", |
90 | | - "gitTreeState": "clean", |
91 | | - "gitVersion": "v1.8.11-docker-8d637ae", |
92 | | - "goVersion": "go1.8.3", |
93 | | - "major": "1", |
94 | | - "minor": "8+", |
95 | | - "platform": "linux/amd64", |
| 119 | + { |
| 120 | + name: "json template", |
| 121 | + format: "json", |
96 | 122 | }, |
97 | | - }) |
98 | | - |
99 | | - vi.Server.Components = append(vi.Server.Components, types.ComponentVersion{ |
100 | | - Name: "Calico", |
101 | | - Version: "v3.0.8", |
102 | | - Details: map[string]string{ |
103 | | - "cni": "v2.0.6", |
104 | | - "kube-controllers": "v2.0.5", |
105 | | - "node": "v3.0.8", |
106 | | - }, |
107 | | - }) |
| 123 | + } |
| 124 | + for _, tc := range tests { |
| 125 | + t.Run(tc.name, func(t *testing.T) { |
| 126 | + tmpl, err := newVersionTemplate(tc.format) |
| 127 | + assert.NilError(t, err) |
108 | 128 |
|
109 | | - t.Run("default", func(t *testing.T) { |
110 | | - cli := test.NewFakeCli(&fakeClient{}) |
111 | | - tmpl, err := newVersionTemplate("") |
112 | | - assert.NilError(t, err) |
113 | | - assert.NilError(t, prettyPrintVersion(cli, vi, tmpl)) |
114 | | - assert.Check(t, golden.String(cli.OutBuffer().String(), "docker-client-version.golden")) |
115 | | - assert.Check(t, is.Equal("", cli.ErrBuffer().String())) |
116 | | - }) |
117 | | - t.Run("json", func(t *testing.T) { |
118 | | - cli := test.NewFakeCli(&fakeClient{}) |
119 | | - tmpl, err := newVersionTemplate("json") |
120 | | - assert.NilError(t, err) |
121 | | - assert.NilError(t, prettyPrintVersion(cli, vi, tmpl)) |
122 | | - assert.Check(t, golden.String(cli.OutBuffer().String(), "docker-client-version.json.golden")) |
123 | | - assert.Check(t, is.Equal("", cli.ErrBuffer().String())) |
124 | | - }) |
125 | | - t.Run("json template", func(t *testing.T) { |
126 | | - cli := test.NewFakeCli(&fakeClient{}) |
127 | | - tmpl, err := newVersionTemplate("{{json .}}") |
128 | | - assert.NilError(t, err) |
129 | | - assert.NilError(t, prettyPrintVersion(cli, vi, tmpl)) |
130 | | - assert.Check(t, golden.String(cli.OutBuffer().String(), "docker-client-version.json.golden")) |
131 | | - assert.Check(t, is.Equal("", cli.ErrBuffer().String())) |
132 | | - }) |
| 129 | + var out bytes.Buffer |
| 130 | + assert.NilError(t, prettyPrintVersion(&out, vi, tmpl)) |
| 131 | + assert.Check(t, golden.String(out.String(), t.Name()+".golden")) |
| 132 | + }) |
| 133 | + } |
133 | 134 | } |
0 commit comments