Skip to content

Commit e214bb3

Browse files
committed
chore: add tests
Signed-off-by: Arjun Raja Yogidas <[email protected]>
1 parent f1437fe commit e214bb3

File tree

2 files changed

+87
-0
lines changed

2 files changed

+87
-0
lines changed

cmd/nerdctl/container/container_inspect_linux_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,3 +229,60 @@ func TestContainerInspectState(t *testing.T) {
229229
}
230230

231231
}
232+
233+
func TestContainerInspectHostConfig(t *testing.T) {
234+
testContainer := testutil.Identifier(t)
235+
236+
base := testutil.NewBase(t)
237+
defer base.Cmd("rm", "-f", testContainer).Run()
238+
239+
// Run a container with various HostConfig options
240+
base.Cmd("run", "-d", "--name", testContainer,
241+
"--cpuset-cpus", "0-1",
242+
"--cpuset-mems", "0",
243+
"--blkio-weight", "500",
244+
"--cpu-shares", "1024",
245+
"--cpu-quota", "100000",
246+
"--group-add", "1000",
247+
"--group-add", "2000",
248+
"--add-host", "host1:10.0.0.1",
249+
"--add-host", "host2:10.0.0.2",
250+
"--ipc", "host",
251+
testutil.AlpineImage, "sleep", "infinity").AssertOK()
252+
253+
inspect := base.InspectContainer(testContainer)
254+
255+
assert.Equal(t, "0-1", inspect.HostConfig.CPUSetCPUs)
256+
assert.Equal(t, "0", inspect.HostConfig.CPUSetMems)
257+
assert.Equal(t, uint16(500), inspect.HostConfig.BlkioWeight)
258+
assert.Equal(t, uint64(1024), inspect.HostConfig.CPUShares)
259+
assert.Equal(t, int64(100000), inspect.HostConfig.CPUQuota)
260+
assert.DeepEqual(t, []string{"1000", "2000"}, inspect.HostConfig.GroupAdd)
261+
expectedExtraHosts := []string{"host1:10.0.0.1", "host2:10.0.0.2"}
262+
assert.DeepEqual(t, expectedExtraHosts, inspect.HostConfig.ExtraHosts)
263+
assert.Equal(t, "host", inspect.HostConfig.IpcMode)
264+
assert.Equal(t, "json-file", inspect.HostConfig.LogConfig.Type)
265+
assert.Equal(t, "json-file", inspect.HostConfig.LogConfig.Config.Driver)
266+
}
267+
268+
func TestContainerInspectHostConfigDefaults(t *testing.T) {
269+
testContainer := testutil.Identifier(t)
270+
271+
base := testutil.NewBase(t)
272+
defer base.Cmd("rm", "-f", testContainer).Run()
273+
274+
// Run a container without specifying HostConfig options
275+
base.Cmd("run", "-d", "--name", testContainer, testutil.AlpineImage, "sleep", "infinity").AssertOK()
276+
277+
inspect := base.InspectContainer(testContainer)
278+
assert.Equal(t, "", inspect.HostConfig.CPUSetCPUs)
279+
assert.Equal(t, "", inspect.HostConfig.CPUSetMems)
280+
assert.Equal(t, uint16(0), inspect.HostConfig.BlkioWeight)
281+
assert.Equal(t, uint64(0), inspect.HostConfig.CPUShares)
282+
assert.Equal(t, int64(0), inspect.HostConfig.CPUQuota)
283+
assert.Equal(t, 0, len(inspect.HostConfig.GroupAdd))
284+
assert.Equal(t, 0, len(inspect.HostConfig.ExtraHosts))
285+
assert.Equal(t, "", inspect.HostConfig.IpcMode)
286+
assert.Equal(t, "json-file", inspect.HostConfig.LogConfig.Type)
287+
assert.Equal(t, "json-file", inspect.HostConfig.LogConfig.Config.Driver)
288+
}

pkg/inspecttypes/dockercompat/dockercompat_test.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,16 @@ func TestContainerFromNative(t *testing.T) {
7575
Pid: 10000,
7676
FinishedAt: "",
7777
},
78+
HostConfig: &HostConfig{
79+
PortBindings: nat.PortMap{},
80+
GroupAdd: []string{},
81+
LogConfig: LogConfig{
82+
Config: loggerLogConfig{
83+
Driver: "json-file",
84+
Opts: map[string]string{},
85+
},
86+
},
87+
},
7888
Mounts: []MountPoint{
7989
{
8090
Type: "bind",
@@ -150,6 +160,16 @@ func TestContainerFromNative(t *testing.T) {
150160
Pid: 10000,
151161
FinishedAt: "",
152162
},
163+
HostConfig: &HostConfig{
164+
PortBindings: nat.PortMap{},
165+
GroupAdd: []string{},
166+
LogConfig: LogConfig{
167+
Config: loggerLogConfig{
168+
Driver: "json-file",
169+
Opts: map[string]string{},
170+
},
171+
},
172+
},
153173
Mounts: []MountPoint{
154174
{
155175
Type: "bind",
@@ -222,6 +242,16 @@ func TestContainerFromNative(t *testing.T) {
222242
Pid: 10000,
223243
FinishedAt: "",
224244
},
245+
HostConfig: &HostConfig{
246+
PortBindings: nat.PortMap{},
247+
GroupAdd: []string{},
248+
LogConfig: LogConfig{
249+
Config: loggerLogConfig{
250+
Driver: "json-file",
251+
Opts: map[string]string{},
252+
},
253+
},
254+
},
225255
Mounts: []MountPoint{
226256
{
227257
Type: "bind",

0 commit comments

Comments
 (0)