github.com/sams1990/dockerrepo@v17.12.1-ce-rc2+incompatible/daemon/cluster/executor/container/container_test.go (about)

     1  package 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/stretchr/testify/require"
     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  			require.Equal(t, c.to, config.hostConfig().Isolation)
    35  		})
    36  	}
    37  }