Skip to content

Commit b7e83b3

Browse files
committed
Enable network_inspect tests to run on windows
Signed-off-by: apostasie <[email protected]>
1 parent 93189e1 commit b7e83b3

File tree

1 file changed

+48
-23
lines changed

1 file changed

+48
-23
lines changed

cmd/nerdctl/network/network_inspect_test.go

Lines changed: 48 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)