(t *testing.T)
| 129 | } |
| 130 | |
| 131 | func 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 | |
| 169 | func checkServiceContainer(t *testing.T, stdout, containerName, containerState string, count int) { |
| 170 | found := 0 |
nothing calls this directly
no test coverage detected