podman

Форк
0
/
pod_pause_test.go 
127 строк · 4.3 Кб
1
package integration
2

3
import (
4
	. "github.com/containers/podman/v5/test/utils"
5
	. "github.com/onsi/ginkgo/v2"
6
	. "github.com/onsi/gomega"
7
)
8

9
var _ = Describe("Podman pod pause", func() {
10
	pausedState := "Paused"
11

12
	BeforeEach(func() {
13
		SkipIfRootlessCgroupsV1("Pause is not supported in cgroups v1")
14
	})
15

16
	It("podman pod pause bogus pod", func() {
17
		session := podmanTest.Podman([]string{"pod", "pause", "foobar"})
18
		session.WaitWithDefaultTimeout()
19
		Expect(session).To(ExitWithError())
20
	})
21

22
	It("podman unpause bogus pod", func() {
23
		session := podmanTest.Podman([]string{"pod", "unpause", "foobar"})
24
		session.WaitWithDefaultTimeout()
25
		Expect(session).To(ExitWithError())
26
	})
27

28
	It("podman pod pause a created pod by id", func() {
29
		_, ec, podid := podmanTest.CreatePod(nil)
30
		Expect(ec).To(Equal(0))
31

32
		result := podmanTest.Podman([]string{"pod", "pause", podid})
33
		result.WaitWithDefaultTimeout()
34
		Expect(result).Should(ExitCleanly())
35
	})
36

37
	It("pause a running pod by id", func() {
38
		_, ec, podid := podmanTest.CreatePod(nil)
39
		Expect(ec).To(Equal(0))
40

41
		session := podmanTest.RunTopContainerInPod("", podid)
42
		session.WaitWithDefaultTimeout()
43
		Expect(session).Should(ExitCleanly())
44

45
		result := podmanTest.Podman([]string{"pod", "pause", podid})
46
		result.WaitWithDefaultTimeout()
47

48
		Expect(result).Should(ExitCleanly())
49
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
50
		Expect(podmanTest.GetContainerStatus()).To(ContainSubstring(pausedState))
51

52
		result = podmanTest.Podman([]string{"pod", "unpause", podid})
53
		result.WaitWithDefaultTimeout()
54
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1))
55
	})
56

57
	It("unpause a paused pod by id", func() {
58
		_, ec, podid := podmanTest.CreatePod(nil)
59
		Expect(ec).To(Equal(0))
60

61
		session := podmanTest.RunTopContainerInPod("", podid)
62
		session.WaitWithDefaultTimeout()
63
		Expect(session).Should(ExitCleanly())
64

65
		result := podmanTest.Podman([]string{"pod", "pause", podid})
66
		result.WaitWithDefaultTimeout()
67
		Expect(result).Should(ExitCleanly())
68
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
69
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
70
		Expect(podmanTest.GetContainerStatus()).To(Equal(pausedState))
71

72
		result = podmanTest.Podman([]string{"pod", "unpause", podid})
73
		result.WaitWithDefaultTimeout()
74
		Expect(result).Should(ExitCleanly())
75
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
76
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1))
77
	})
78

79
	It("unpause a paused pod by name", func() {
80
		_, ec, _ := podmanTest.CreatePod(map[string][]string{"--name": {"test1"}})
81
		Expect(ec).To(Equal(0))
82

83
		session := podmanTest.RunTopContainerInPod("", "test1")
84
		session.WaitWithDefaultTimeout()
85
		Expect(session).Should(ExitCleanly())
86

87
		result := podmanTest.Podman([]string{"pod", "pause", "test1"})
88
		result.WaitWithDefaultTimeout()
89
		Expect(result).Should(ExitCleanly())
90
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
91
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0))
92
		Expect(podmanTest.GetContainerStatus()).To(Equal(pausedState))
93

94
		result = podmanTest.Podman([]string{"pod", "unpause", "test1"})
95
		result.WaitWithDefaultTimeout()
96
		Expect(result).Should(ExitCleanly())
97
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
98
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1))
99
	})
100

101
	It("unpause --all", func() {
102
		_, ec, podid1 := podmanTest.CreatePod(nil)
103
		Expect(ec).To(Equal(0))
104
		_, ec, podid2 := podmanTest.CreatePod(nil)
105
		Expect(ec).To(Equal(0))
106

107
		session := podmanTest.RunTopContainerInPod("", podid1)
108
		session.WaitWithDefaultTimeout()
109
		Expect(session).Should(ExitCleanly())
110
		session = podmanTest.RunTopContainerInPod("", podid2)
111
		session.WaitWithDefaultTimeout()
112
		Expect(session).Should(ExitCleanly())
113

114
		result := podmanTest.Podman([]string{"pod", "pause", podid1})
115
		result.WaitWithDefaultTimeout()
116
		Expect(result).Should(ExitCleanly())
117
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
118
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1))
119
		Expect(podmanTest.GetContainerStatus()).To(ContainSubstring(pausedState))
120

121
		result = podmanTest.Podman([]string{"pod", "unpause", "--all"})
122
		result.WaitWithDefaultTimeout()
123
		Expect(result).Should(ExitCleanly())
124
		Expect(result.OutputToStringArray()).Should(HaveLen(1))
125
		Expect(podmanTest.NumberOfContainersRunning()).To(Equal(2))
126
	})
127
})
128

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.