MCPcopy
hub / github.com/docker/compose / TestScaleDownRemovesObsolete

Function TestScaleDownRemovesObsolete

pkg/e2e/scale_test.go:131–167  ·  pkg/e2e/scale_test.go::TestScaleDownRemovesObsolete
(t *testing.T)

Source from the content-addressed store, hash-verified

129}
130
131func TestScaleDownRemovesObsolete(t *testing.T) {
132 const projectName = "scale-down-obsolete-test"
133 c := NewCLI(t, WithEnv(
134 "COMPOSE_PROJECT_NAME="+projectName))
135
136 reset := func() {
137 c.RunDockerComposeCmd(t, "down", "--rmi", "all")
138 }
139 t.Cleanup(reset)
140 res := c.RunDockerComposeCmd(t, "--project-directory", "fixtures/scale", "up", "-d", "db")
141 res.Assert(t, icmd.Success)
142
143 res = c.RunDockerComposeCmd(t, "ps", "--format", "{{.Name}}", "db")
144 res.Assert(t, icmd.Success)
145 assert.Equal(t, strings.TrimSpace(res.Stdout()), projectName+"-db-1")
146
147 cmd := c.NewDockerComposeCmd(t, "--project-directory", "fixtures/scale", "up", "-d", "--scale", "db=2", "db")
148 res = icmd.RunCmd(cmd, func(cmd *icmd.Cmd) {
149 cmd.Env = append(cmd.Env, "MAYBE=value")
150 })
151 res.Assert(t, icmd.Success)
152
153 res = c.RunDockerComposeCmd(t, "ps", "--format", "{{.Name}}", "db")
154 res.Assert(t, icmd.Success)
155 assert.Equal(t, strings.TrimSpace(res.Stdout()), projectName+"-db-1\n"+projectName+"-db-2")
156
157 t.Log("scale down removes obsolete replica #1")
158 cmd = c.NewDockerComposeCmd(t, "--project-directory", "fixtures/scale", "up", "-d", "--scale", "db=1", "db")
159 res = icmd.RunCmd(cmd, func(cmd *icmd.Cmd) {
160 cmd.Env = append(cmd.Env, "MAYBE=value")
161 })
162 res.Assert(t, icmd.Success)
163
164 res = c.RunDockerComposeCmd(t, "ps", "--format", "{{.Name}}", "db")
165 res.Assert(t, icmd.Success)
166 assert.Equal(t, strings.TrimSpace(res.Stdout()), projectName+"-db-1")
167}
168
169func checkServiceContainer(t *testing.T, stdout, containerName, containerState string, count int) {
170 found := 0

Callers

nothing calls this directly

Calls 6

RunDockerComposeCmdMethod · 0.95
NewDockerComposeCmdMethod · 0.95
NewCLIFunction · 0.85
WithEnvFunction · 0.85
RunCmdMethod · 0.80
LogMethod · 0.65

Tested by

no test coverage detected