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