From f4157c95c49d674cfb4b8d3b0c4d6597c4bb755f Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Thu, 9 Feb 2023 16:55:09 +0100 Subject: [PATCH] Easier to read tests --- test/commands/traefik_test.rb | 37 +++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/test/commands/traefik_test.rb b/test/commands/traefik_test.rb index b529b3bc..61d09abe 100644 --- a/test/commands/traefik_test.rb +++ b/test/commands/traefik_test.rb @@ -10,63 +10,74 @@ class CommandsTraefikTest < ActiveSupport::TestCase test "run" do assert_equal \ - [:docker, :run, "--name traefik", "-d", "--restart unless-stopped", "-p 80:80", "-v /var/run/docker.sock:/var/run/docker.sock", "traefik", "--providers.docker", "--log.level=DEBUG", "--accesslog.format", "json", "--metrics.prometheus.buckets", "0.1,0.3,1.2,5.0"], - new_command.run + "docker run --name traefik -d --restart unless-stopped -p 80:80 -v /var/run/docker.sock:/var/run/docker.sock traefik --providers.docker --log.level=DEBUG --accesslog.format json --metrics.prometheus.buckets 0.1,0.3,1.2,5.0", + new_command.run.join(" ") end test "traefik start" do assert_equal \ - [:docker, :container, :start, 'traefik'], new_command.start + "docker container start traefik", + new_command.start.join(" ") end test "traefik stop" do assert_equal \ - [:docker, :container, :stop, 'traefik'], new_command.stop + "docker container stop traefik", + new_command.stop.join(" ") end test "traefik info" do assert_equal \ - [:docker, :ps, '--filter', 'name=traefik'], new_command.info + "docker ps --filter name=traefik", + new_command.info.join(" ") end test "traefik logs" do assert_equal \ - [:docker, :logs, 'traefik', '-t', '2>&1'], new_command.logs + "docker logs traefik -t 2>&1", + new_command.logs.join(" ") end test "traefik logs since 2h" do assert_equal \ - [:docker, :logs, 'traefik', ' --since 2h', '-t', '2>&1'], new_command.logs(since: '2h') + "docker logs traefik --since 2h -t 2>&1", + new_command.logs(since: '2h').join(" ") end test "traefik logs last 10 lines" do assert_equal \ - [:docker, :logs, 'traefik', ' -n 10', '-t', '2>&1'], new_command.logs(lines: 10) + "docker logs traefik -n 10 -t 2>&1", + new_command.logs(lines: 10).join(" ") end test "traefik logs with grep hello!" do assert_equal \ - [:docker, :logs, 'traefik', '-t', '2>&1', "|", "grep 'hello!'"], new_command.logs(grep: 'hello!') + "docker logs traefik -t 2>&1 | grep 'hello!'", + new_command.logs(grep: 'hello!').join(" ") end test "traefik remove container" do assert_equal \ - [:docker, :container, :prune, "-f", "--filter", "label=org.opencontainers.image.title=Traefik"], new_command.remove_container + "docker container prune -f --filter label=org.opencontainers.image.title=Traefik", + new_command.remove_container.join(" ") end test "traefik remove image" do assert_equal \ - [:docker, :image, :prune, "-a", "-f", "--filter", "label=org.opencontainers.image.title=Traefik"], new_command.remove_image + "docker image prune -a -f --filter label=org.opencontainers.image.title=Traefik", + new_command.remove_image.join(" ") end test "traefik follow logs" do assert_equal \ - "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1'", new_command.follow_logs(host: @config[:servers].first) + "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1'", + new_command.follow_logs(host: @config[:servers].first) end test "traefik follow logs with grep hello!" do assert_equal \ - "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1 | grep \"hello!\"'", new_command.follow_logs(host: @config[:servers].first, grep: 'hello!') + "ssh -t root@1.1.1.1 'docker logs traefik -t -n 10 -f 2>&1 | grep \"hello!\"'", + new_command.follow_logs(host: @config[:servers].first, grep: 'hello!') end private