package container import ( "testing" container "github.com/docker/docker/api/types/container" swarmapi "github.com/docker/swarmkit/api" "github.com/stretchr/testify/require" ) func TestIsolationConversion(t *testing.T) { cases := []struct { name string from swarmapi.ContainerSpec_Isolation to container.Isolation }{ {name: "default", from: swarmapi.ContainerIsolationDefault, to: container.IsolationDefault}, {name: "process", from: swarmapi.ContainerIsolationProcess, to: container.IsolationProcess}, {name: "hyperv", from: swarmapi.ContainerIsolationHyperV, to: container.IsolationHyperV}, } for _, c := range cases { t.Run(c.name, func(t *testing.T) { task := swarmapi.Task{ Spec: swarmapi.TaskSpec{ Runtime: &swarmapi.TaskSpec_Container{ Container: &swarmapi.ContainerSpec{ Image: "alpine:latest", Isolation: c.from, }, }, }, } config := containerConfig{task: &task} require.Equal(t, c.to, config.hostConfig().Isolation) }) } }