From b1dfee50e826bb3e4a699c89fabdb3bfcdaae86b Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Tue, 27 Mar 2018 13:23:23 -0400 Subject: Add tests for container graphs Signed-off-by: Matthew Heon Closes: #557 Approved by: rhatdan --- libpod/test_common.go | 160 -------------------------------------------------- 1 file changed, 160 deletions(-) delete mode 100644 libpod/test_common.go (limited to 'libpod/test_common.go') diff --git a/libpod/test_common.go b/libpod/test_common.go deleted file mode 100644 index 69dcf70ac..000000000 --- a/libpod/test_common.go +++ /dev/null @@ -1,160 +0,0 @@ -package libpod - -import ( - "encoding/json" - "net" - "path/filepath" - "testing" - "time" - - "github.com/containers/storage" - "github.com/cri-o/ocicni/pkg/ocicni" - "github.com/opencontainers/runtime-tools/generate" - "github.com/stretchr/testify/assert" -) - -// nolint -func getTestContainer(id, name, locksDir string) (*Container, error) { - ctr := &Container{ - config: &ContainerConfig{ - ID: id, - Name: name, - RootfsImageID: id, - RootfsImageName: "testimg", - ImageVolumes: true, - StaticDir: "/does/not/exist/", - LogPath: "/does/not/exist/", - Stdin: true, - Labels: map[string]string{"a": "b", "c": "d"}, - StopSignal: 0, - StopTimeout: 0, - CreatedTime: time.Now(), - Privileged: true, - Mounts: []string{"/does/not/exist"}, - DNSServer: []net.IP{net.ParseIP("192.168.1.1"), net.ParseIP("192.168.2.2")}, - DNSSearch: []string{"example.com", "example.example.com"}, - PortMappings: []ocicni.PortMapping{ - { - HostPort: 80, - ContainerPort: 90, - Protocol: "tcp", - HostIP: "192.168.3.3", - }, - { - HostPort: 100, - ContainerPort: 110, - Protocol: "udp", - HostIP: "192.168.4.4", - }, - }, - }, - state: &containerState{ - State: ContainerStateRunning, - ConfigPath: "/does/not/exist/specs/" + id, - RunDir: "/does/not/exist/tmp/", - Mounted: true, - Mountpoint: "/does/not/exist/tmp/" + id, - PID: 1234, - ExecSessions: map[string]*ExecSession{ - "abcd": { - ID: "1", - Command: []string{"2", "3"}, - PID: 9876, - }, - "ef01": { - ID: "5", - Command: []string{"hello", "world"}, - PID: 46765, - }, - }, - BindMounts: map[string]string{ - "/1/2/3": "/4/5/6", - "/test/file.test": "/test2/file2.test", - }, - }, - valid: true, - } - - g := generate.New() - ctr.config.Spec = g.Spec() - - ctr.config.Labels["test"] = "testing" - - // Must make lockfile or container will error on being retrieved from DB - lockPath := filepath.Join(locksDir, id) - lock, err := storage.GetLockfile(lockPath) - if err != nil { - return nil, err - } - ctr.lock = lock - - return ctr, nil -} - -// nolint -func getTestPod(id, name, locksDir string) (*Pod, error) { - pod := &Pod{ - config: &PodConfig{ - ID: id, - Name: name, - Labels: map[string]string{"a": "b", "c": "d"}, - }, - valid: true, - } - - lockPath := filepath.Join(locksDir, id) - lock, err := storage.GetLockfile(lockPath) - if err != nil { - return nil, err - } - pod.lock = lock - - return pod, nil -} - -// This horrible hack tests if containers are equal in a way that should handle -// empty arrays being dropped to nil pointers in the spec JSON -// nolint -func testContainersEqual(t *testing.T, a, b *Container) { - if a == nil && b == nil { - return - } - assert.NotNil(t, a) - assert.NotNil(t, b) - - assert.NotNil(t, a.config) - assert.NotNil(t, b.config) - assert.NotNil(t, a.state) - assert.NotNil(t, b.state) - - aConfig := new(ContainerConfig) - bConfig := new(ContainerConfig) - aState := new(containerState) - bState := new(containerState) - - assert.Equal(t, a.valid, b.valid) - - aConfigJSON, err := json.Marshal(a.config) - assert.NoError(t, err) - err = json.Unmarshal(aConfigJSON, aConfig) - assert.NoError(t, err) - - bConfigJSON, err := json.Marshal(b.config) - assert.NoError(t, err) - err = json.Unmarshal(bConfigJSON, bConfig) - assert.NoError(t, err) - - assert.EqualValues(t, aConfig, bConfig) - - aStateJSON, err := json.Marshal(a.state) - assert.NoError(t, err) - err = json.Unmarshal(aStateJSON, aState) - assert.NoError(t, err) - - bStateJSON, err := json.Marshal(b.state) - assert.NoError(t, err) - err = json.Unmarshal(bStateJSON, bState) - assert.NoError(t, err) - - assert.EqualValues(t, aState, bState) -} -- cgit v1.2.3-54-g00ecf