github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/drivers/docker/network_test.go (about) 1 package docker 2 3 import ( 4 "testing" 5 6 docker "github.com/fsouza/go-dockerclient" 7 "github.com/hashicorp/nomad/ci" 8 "github.com/hashicorp/nomad/plugins/drivers" 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestDriver_createSandboxContainerConfig(t *testing.T) { 13 ci.Parallel(t) 14 testCases := []struct { 15 inputAllocID string 16 inputNetworkCreateRequest *drivers.NetworkCreateRequest 17 expectedOutputOpts *docker.CreateContainerOptions 18 name string 19 }{ 20 { 21 inputAllocID: "768b5e8c-a52e-825c-d564-51100230eb62", 22 inputNetworkCreateRequest: &drivers.NetworkCreateRequest{ 23 Hostname: "", 24 }, 25 expectedOutputOpts: &docker.CreateContainerOptions{ 26 Name: "nomad_init_768b5e8c-a52e-825c-d564-51100230eb62", 27 Config: &docker.Config{ 28 Image: "gcr.io/google_containers/pause-amd64:3.1", 29 }, 30 HostConfig: &docker.HostConfig{ 31 NetworkMode: "none", 32 }, 33 }, 34 name: "no input hostname", 35 }, 36 { 37 inputAllocID: "768b5e8c-a52e-825c-d564-51100230eb62", 38 inputNetworkCreateRequest: &drivers.NetworkCreateRequest{ 39 Hostname: "linux", 40 }, 41 expectedOutputOpts: &docker.CreateContainerOptions{ 42 Name: "nomad_init_768b5e8c-a52e-825c-d564-51100230eb62", 43 Config: &docker.Config{ 44 Image: "gcr.io/google_containers/pause-amd64:3.1", 45 Hostname: "linux", 46 }, 47 HostConfig: &docker.HostConfig{ 48 NetworkMode: "none", 49 }, 50 }, 51 name: "supplied input hostname", 52 }, 53 } 54 55 d := &Driver{ 56 config: &DriverConfig{ 57 InfraImage: "gcr.io/google_containers/pause-amd64:3.1", 58 }, 59 } 60 61 for _, tc := range testCases { 62 t.Run(tc.name, func(t *testing.T) { 63 actualOutput, err := d.createSandboxContainerConfig(tc.inputAllocID, tc.inputNetworkCreateRequest) 64 assert.Nil(t, err, tc.name) 65 assert.Equal(t, tc.expectedOutputOpts, actualOutput, tc.name) 66 }) 67 } 68 }