Remove only specific container needed for rebooting

This commit is contained in:
David Heinemeier Hansson
2023-02-03 13:20:03 +01:00
parent 004c154abb
commit 8024949fe7
4 changed files with 49 additions and 11 deletions

View File

@@ -5,11 +5,24 @@ class CliAppTest < CliTestCase
assert_match /Running docker run -d --restart unless-stopped/, run_command("boot")
end
test "reboot" do
test "reboot to default version" do
run_command("reboot").tap do |output|
assert_match /docker stop/, output
assert_match /docker container prune/, output
assert_match /docker run -d --restart unless-stopped/, output
assert_match /docker ps --filter label=service=app/, output # Find current container
assert_match /docker stop/, output # Stop old container
assert_match /docker container rm/, output # Remove old container
assert_match /docker run -d --restart unless-stopped .* dhh\/app:999/, output # Start new container
end
end
test "reboot to specific version" do
run_command("reboot", "--version", "456").tap do |output|
assert_match /docker run -d --restart unless-stopped .* dhh\/app:456/, output
end
end
test "remove_container" do
run_command("remove_container", "1234567").tap do |output|
assert_match /docker container ls -a -f name=app-1234567 -q | docker container rm/, output
end
end