@@ -38,6 +38,15 @@ func TestNetworkInspect(t *testing.T) {
3838 testIPRange = "10.24.24.0/25"
3939 )
4040
41+ testCase .Setup = func (data test.Data , helpers test.Helpers ) {
42+ helpers .Ensure ("network" , "create" , data .Identifier ("basenet" ))
43+ data .Set ("basenet" , data .Identifier ("basenet" ))
44+ }
45+
46+ testCase .Cleanup = func (data test.Data , helpers test.Helpers ) {
47+ helpers .Anyhow ("network" , "rm" , data .Identifier ("basenet" ))
48+ }
49+
4150 testCase .SubTests = []* test.Case {
4251 {
4352 Description : "non existent network" ,
@@ -87,6 +96,18 @@ func TestNetworkInspect(t *testing.T) {
8796 assert .Equal (t , dc [0 ].Name , "bridge" )
8897 }),
8998 },
99+ {
100+ Description : "nat" ,
101+ Require : test .Windows ,
102+ Command : test .Command ("network" , "inspect" , "nat" ),
103+ Expected : test .Expects (0 , nil , func (stdout string , info string , t * testing.T ) {
104+ var dc []dockercompat.Network
105+ err := json .Unmarshal ([]byte (stdout ), & dc )
106+ assert .NilError (t , err , "Unable to unmarshal output\n " + info )
107+ assert .Equal (t , 1 , len (dc ), "Unexpectedly got multiple results\n " + info )
108+ assert .Equal (t , dc [0 ].Name , "nat" )
109+ }),
110+ },
90111 {
91112 Description : "custom" ,
92113 Setup : func (data test.Data , helpers test.Helpers ) {
@@ -106,45 +127,49 @@ func TestNetworkInspect(t *testing.T) {
106127 },
107128 {
108129 Description : "match exact id" ,
109- Require : test .Not (test .Windows ),
110130 Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
111- id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , "bridge" , "--format" , "{{ .Id }}" ))
131+ id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , data . Get ( "basenet" ) , "--format" , "{{ .Id }}" ))
112132 return helpers .Command ("network" , "inspect" , id )
113133 },
114- Expected : test .Expects (0 , nil , func (stdout string , info string , t * testing.T ) {
115- var dc []dockercompat.Network
116- err := json .Unmarshal ([]byte (stdout ), & dc )
117- assert .NilError (t , err , "Unable to unmarshal output\n " + info )
118- assert .Equal (t , 1 , len (dc ), "Unexpectedly got multiple results\n " + info )
119- assert .Equal (t , dc [0 ].Name , "bridge" )
120- }),
134+ Expected : func (data test.Data , helpers test.Helpers ) * test.Expected {
135+ return & test.Expected {
136+ Output : func (stdout string , info string , t * testing.T ) {
137+ var dc []dockercompat.Network
138+ err := json .Unmarshal ([]byte (stdout ), & dc )
139+ assert .NilError (t , err , "Unable to unmarshal output\n " + info )
140+ assert .Equal (t , 1 , len (dc ), "Unexpectedly got multiple results\n " + info )
141+ assert .Equal (t , dc [0 ].Name , data .Get ("basenet" ))
142+ },
143+ }
144+ },
121145 },
122146 {
123147 Description : "match part of id" ,
124- Require : test .Not (test .Windows ),
125148 Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
126- id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , "bridge" , "--format" , "{{ .Id }}" ))
149+ id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , data . Get ( "basenet" ) , "--format" , "{{ .Id }}" ))
127150 return helpers .Command ("network" , "inspect" , id [0 :25 ])
128151 },
129- Expected : test .Expects (0 , nil , func (stdout string , info string , t * testing.T ) {
130- var dc []dockercompat.Network
131- err := json .Unmarshal ([]byte (stdout ), & dc )
132- assert .NilError (t , err , "Unable to unmarshal output\n " + info )
133- assert .Equal (t , 1 , len (dc ), "Unexpectedly got multiple results\n " + info )
134- assert .Equal (t , dc [0 ].Name , "bridge" )
135- }),
152+ Expected : func (data test.Data , helpers test.Helpers ) * test.Expected {
153+ return & test.Expected {
154+ Output : func (stdout string , info string , t * testing.T ) {
155+ var dc []dockercompat.Network
156+ err := json .Unmarshal ([]byte (stdout ), & dc )
157+ assert .NilError (t , err , "Unable to unmarshal output\n " + info )
158+ assert .Equal (t , 1 , len (dc ), "Unexpectedly got multiple results\n " + info )
159+ assert .Equal (t , dc [0 ].Name , data .Get ("basenet" ))
160+ },
161+ }
162+ },
136163 },
137164 {
138165 Description : "using another net short id" ,
139- Require : test .Not (test .Windows ),
140166 Setup : func (data test.Data , helpers test.Helpers ) {
141- id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , "bridge" , "--format" , "{{ .Id }}" ))
167+ id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , data . Get ( "basenet" ) , "--format" , "{{ .Id }}" ))
142168 helpers .Ensure ("network" , "create" , id [0 :12 ])
143169 data .Set ("netname" , id [0 :12 ])
144170 },
145171 Cleanup : func (data test.Data , helpers test.Helpers ) {
146- id := strings .TrimSpace (helpers .Capture ("network" , "inspect" , "bridge" , "--format" , "{{ .Id }}" ))
147- helpers .Anyhow ("network" , "remove" , id [0 :12 ])
172+ helpers .Anyhow ("network" , "remove" , data .Get ("netname" ))
148173 },
149174 Command : func (data test.Data , helpers test.Helpers ) test.TestableCommand {
150175 return helpers .Command ("network" , "inspect" , data .Get ("netname" ))
@@ -163,7 +188,7 @@ func TestNetworkInspect(t *testing.T) {
163188 },
164189 {
165190 Description : "basic" ,
166- // IPAMConfig is not implemented on Windows yet
191+ // FIXME: IPAMConfig is not implemented on Windows yet
167192 Require : test .Not (test .Windows ),
168193 Setup : func (data test.Data , helpers test.Helpers ) {
169194 helpers .Ensure ("network" , "create" , "--label" , "tag=testNetwork" , "--subnet" , testSubnet ,
0 commit comments