Easier to read tests

This commit is contained in:
David Heinemeier Hansson
2023-02-09 16:55:09 +01:00
parent bb5176673b
commit f4157c95c4

View File

@@ -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