| package container |
| |
| import ( |
| "strings" |
| "testing" |
| |
| "github.com/docker/cli/e2e/internal/fixtures" |
| "gotest.tools/v3/assert" |
| "gotest.tools/v3/icmd" |
| ) |
| |
| func TestContainerRename(t *testing.T) { |
| oldName := "old_name_" + t.Name() |
| res := icmd.RunCommand("docker", "run", "-d", "--name", oldName, fixtures.AlpineImage, "sleep", "60") |
| res.Assert(t, icmd.Success) |
| cID := strings.TrimSpace(res.Stdout()) |
| t.Cleanup(func() { |
| icmd.RunCommand("docker", "container", "rm", "-f", cID).Assert(t, icmd.Success) |
| }) |
| |
| newName := "new_name_" + t.Name() |
| res = icmd.RunCommand("docker", "container", "rename", oldName, newName) |
| res.Assert(t, icmd.Success) |
| |
| res = icmd.RunCommand("docker", "container", "inspect", "--format", "{{.Name}}", cID) |
| res.Assert(t, icmd.Success) |
| assert.Equal(t, "/"+newName, strings.TrimSpace(res.Stdout())) |
| } |
| |
| func TestContainerRenameEmptyOldName(t *testing.T) { |
| res := icmd.RunCommand("docker", "container", "rename", "", "newName") |
| res.Assert(t, icmd.Expected{ |
| ExitCode: 1, |
| Err: "invalid container name or ID: value is empty", |
| }) |
| } |
| |
| func TestContainerRenameEmptyNewName(t *testing.T) { |
| oldName := "old_name_" + t.Name() |
| res := icmd.RunCommand("docker", "run", "-d", "--name", oldName, fixtures.AlpineImage, "sleep", "60") |
| res.Assert(t, icmd.Success) |
| cID := strings.TrimSpace(res.Stdout()) |
| t.Cleanup(func() { |
| icmd.RunCommand("docker", "container", "rm", "-f", cID).Assert(t, icmd.Success) |
| }) |
| |
| res = icmd.RunCommand("docker", "container", "rename", oldName, "") |
| res.Assert(t, icmd.Expected{ |
| ExitCode: 1, |
| Err: "new name cannot be blank", |
| }) |
| } |