github.com/rita33cool1/iot-system-gateway@v0.0.0-20200911033302-e65bde238cc5/docker-engine/daemon/cluster/executor/container/container_test.go (about)

     1  package container // import "github.com/docker/docker/daemon/cluster/executor/container"
     2  
     3  import (
     4  	"testing"
     5  
     6  	container "github.com/docker/docker/api/types/container"
     7  	swarmapi "github.com/docker/swarmkit/api"
     8  	"github.com/gotestyourself/gotestyourself/assert"
     9  )
    10  
    11  func TestIsolationConversion(t *testing.T) {
    12  	cases := []struct {
    13  		name string
    14  		from swarmapi.ContainerSpec_Isolation
    15  		to   container.Isolation
    16  	}{
    17  		{name: "default", from: swarmapi.ContainerIsolationDefault, to: container.IsolationDefault},
    18  		{name: "process", from: swarmapi.ContainerIsolationProcess, to: container.IsolationProcess},
    19  		{name: "hyperv", from: swarmapi.ContainerIsolationHyperV, to: container.IsolationHyperV},
    20  	}
    21  	for _, c := range cases {
    22  		t.Run(c.name, func(t *testing.T) {
    23  			task := swarmapi.Task{
    24  				Spec: swarmapi.TaskSpec{
    25  					Runtime: &swarmapi.TaskSpec_Container{
    26  						Container: &swarmapi.ContainerSpec{
    27  							Image:     "alpine:latest",
    28  							Isolation: c.from,
    29  						},
    30  					},
    31  				},
    32  			}
    33  			config := containerConfig{task: &task}
    34  			assert.Equal(t, c.to, config.hostConfig().Isolation)
    35  		})
    36  	}
    37  }