github.com/dmaizel/tests@v0.0.0-20210728163746-cae6a2d9cee8/integration/containerd/cri/container_restart_test.go.patch (about) 1 // Copyright (c) 2019 The containerd Authors. 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 // 5 6 package integration 7 8 import ( 9 "testing" 10 11 "github.com/stretchr/testify/assert" 12 "github.com/stretchr/testify/require" 13 ) 14 15 // Test to verify container can be restarted 16 func TestContainerRestart(t *testing.T) { 17 t.Logf("Create a pod config and run sandbox container") 18 sbConfig := PodSandboxConfig("sandbox1", "restart") 19 sb, err := runtimeService.RunPodSandbox(sbConfig, *runtimeHandler) 20 require.NoError(t, err) 21 defer func() { 22 assert.NoError(t, runtimeService.StopPodSandbox(sb)) 23 assert.NoError(t, runtimeService.RemovePodSandbox(sb)) 24 }() 25 t.Logf("Create a container config and run container in a pod") 26 containerConfig := ContainerConfig( 27 "container1", 28 pauseImage, 29 WithTestLabels(), 30 WithTestAnnotations(), 31 ) 32 cn, err := runtimeService.CreateContainer(sb, containerConfig, sbConfig) 33 require.NoError(t, err) 34 defer func() { 35 assert.NoError(t, runtimeService.RemoveContainer(cn)) 36 }() 37 require.NoError(t, runtimeService.StartContainer(cn)) 38 defer func() { 39 assert.NoError(t, runtimeService.StopContainer(cn, 10)) 40 }() 41 42 t.Logf("Restart the container with same config") 43 require.NoError(t, runtimeService.StopContainer(cn, 10)) 44 require.NoError(t, runtimeService.RemoveContainer(cn)) 45 46 cn, err = runtimeService.CreateContainer(sb, containerConfig, sbConfig) 47 require.NoError(t, err) 48 require.NoError(t, runtimeService.StartContainer(cn)) 49 }