container_test.go 1023 B

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