From aae45afb1bc19a323935941145533508a5bcf1ff Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 9 Feb 2023 17:01:35 +0100 Subject: [PATCH] Easier to read tests --- test/commands/accessory_test.rb | 47 +++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/test/commands/accessory_test.rb b/test/commands/accessory_test.rb index 60add274..8ef1f493 100644 --- a/test/commands/accessory_test.rb +++ b/test/commands/accessory_test.rb @@ -49,35 +49,43 @@ class CommandsAccessoryTest < ActiveSupport::TestCase test "run" do assert_equal \ - [:docker, :run, "--name", "app-mysql", "-d", "--restart", "unless-stopped", "-p", "3306:3306", "-e", "MYSQL_ROOT_PASSWORD=secret123", "-e", "MYSQL_ROOT_HOST=%", "--label", "service=app-mysql", "mysql:8.0"], @mysql.run + "docker run --name app-mysql -d --restart unless-stopped -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret123 -e MYSQL_ROOT_HOST=% --label service=app-mysql mysql:8.0", + @mysql.run.join(" ") assert_equal \ - [:docker, :run, "--name", "app-redis", "-d", "--restart", "unless-stopped", "-p", "6379:6379", "-e", "SOMETHING=else", "--volume", "/var/lib/redis:/data", "--label", "service=app-redis", "--label", "cache=true", "redis:latest"], @redis.run + "docker run --name app-redis -d --restart unless-stopped -p 6379:6379 -e SOMETHING=else --volume /var/lib/redis:/data --label service=app-redis --label cache=true redis:latest", + @redis.run.join(" ") end test "start" do - assert_equal [:docker, :container, :start, "app-mysql"], @mysql.start + assert_equal \ + "docker container start app-mysql", + @mysql.start.join(" ") end test "stop" do - assert_equal [:docker, :container, :stop, "app-mysql"], @mysql.stop + assert_equal \ + "docker container stop app-mysql", + @mysql.stop.join(" ") end test "info" do - assert_equal [:docker, :ps, "--filter", "label=service=app-mysql"], @mysql.info + assert_equal \ + "docker ps --filter label=service=app-mysql", + @mysql.info.join(" ") end test "execute in new container" do assert_equal \ - [ :docker, :run, "--rm", "-e", "MYSQL_ROOT_PASSWORD=secret123", "-e", "MYSQL_ROOT_HOST=%", "mysql:8.0", "mysql", "-u", "root" ], - @mysql.execute_in_new_container("mysql", "-u", "root") + "docker run --rm -e MYSQL_ROOT_PASSWORD=secret123 -e MYSQL_ROOT_HOST=% mysql:8.0 mysql -u root", + @mysql.execute_in_new_container("mysql", "-u", "root").join(" ") end test "execute in existing container" do assert_equal \ - [ :docker, :exec, "app-mysql", "mysql", "-u", "root" ], - @mysql.execute_in_existing_container("mysql", "-u", "root") + "docker exec app-mysql mysql -u root", + @mysql.execute_in_existing_container("mysql", "-u", "root").join(" ") end test "execute in new container over ssh" do @@ -97,19 +105,30 @@ class CommandsAccessoryTest < ActiveSupport::TestCase test "logs" do - assert_equal [:docker, :logs, "app-mysql", "-t", "2>&1"], @mysql.logs - assert_equal [:docker, :logs, "app-mysql", " --since 5m", " -n 100", "-t", "2>&1", "|", "grep 'thing'"], @mysql.logs(since: "5m", lines: 100, grep: "thing") + assert_equal \ + "docker logs app-mysql -t 2>&1", + @mysql.logs.join(" ") + + assert_equal \ + "docker logs app-mysql --since 5m -n 100 -t 2>&1 | grep 'thing'", + @mysql.logs(since: "5m", lines: 100, grep: "thing").join(" ") end test "follow logs" do - assert_equal "ssh -t root@1.1.1.5 'docker logs app-mysql -t -n 10 -f 2>&1'", @mysql.follow_logs + assert_equal \ + "ssh -t root@1.1.1.5 'docker logs app-mysql -t -n 10 -f 2>&1'", + @mysql.follow_logs end test "remove container" do - assert_equal [:docker, :container, :prune, "-f", "--filter", "label=service=app-mysql"], @mysql.remove_container + assert_equal \ + "docker container prune -f --filter label=service=app-mysql", + @mysql.remove_container.join(" ") end test "remove image" do - assert_equal [:docker, :image, :prune, "-a", "-f", "--filter", "label=service=app-mysql"], @mysql.remove_image + assert_equal \ + "docker image prune -a -f --filter label=service=app-mysql", + @mysql.remove_image.join(" ") end end