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

Function TestScaleDownNoRecreate

pkg/e2e/scale_test.go:187–216  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

185}
186
187func TestScaleDownNoRecreate(t *testing.T) {
188 const projectName = "scale-down-recreated-test"
189 c := NewCLI(t, WithEnv(
190 "COMPOSE_PROJECT_NAME="+projectName))
191
192 reset := func() {
193 c.RunDockerComposeCmd(t, "down", "--rmi", "all")
194 }
195 t.Cleanup(reset)
196 c.RunDockerComposeCmd(t, "-f", "fixtures/scale/build.yaml", "build", "--build-arg", "FOO=test")
197 c.RunDockerComposeCmd(t, "-f", "fixtures/scale/build.yaml", "up", "-d", "--scale", "test=2")
198
199 c.RunDockerComposeCmd(t, "-f", "fixtures/scale/build.yaml", "build", "--build-arg", "FOO=updated")
200 c.RunDockerComposeCmd(t, "-f", "fixtures/scale/build.yaml", "up", "-d", "--scale", "test=4", "--no-recreate")
201
202 res := c.RunDockerComposeCmd(t, "ps", "--format", "{{.Name}}", "test")
203 res.Assert(t, icmd.Success)
204 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-1"))
205 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-2"))
206 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-3"))
207 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-4"))
208
209 t.Log("scale down removes obsolete replica #1 and #2")
210 c.NewDockerComposeCmd(t, "--project-directory", "fixtures/scale", "up", "-d", "--scale", "test=2")
211
212 res = c.RunDockerComposeCmd(t, "ps", "--format", "{{.Name}}", "test")
213 res.Assert(t, icmd.Success)
214 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-3"))
215 assert.Check(t, strings.Contains(res.Stdout(), "scale-down-recreated-test-test-4"))
216}

Callers

nothing calls this directly

Calls 5

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

Tested by

no test coverage detected