Update to kamal-proxy 0.3.0 and improve docs making sure they are in sync with that version.
67 lines
1.9 KiB
Ruby
67 lines
1.9 KiB
Ruby
require_relative "integration_test"
|
|
|
|
class ProxyTest < IntegrationTest
|
|
setup do
|
|
@app = "app_with_roles"
|
|
end
|
|
|
|
test "boot, reboot, stop, start, restart, logs, remove" do
|
|
kamal :proxy, :boot
|
|
assert_proxy_running
|
|
|
|
output = kamal :proxy, :reboot, "-y", "--verbose", capture: true
|
|
assert_proxy_running
|
|
assert_hooks_ran "pre-proxy-reboot", "post-proxy-reboot"
|
|
assert_match /Rebooting kamal-proxy on vm1,vm2.../, output
|
|
assert_match /Rebooted kamal-proxy on vm1,vm2/, output
|
|
|
|
output = kamal :proxy, :reboot, "--rolling", "-y", "--verbose", capture: true
|
|
assert_proxy_running
|
|
assert_hooks_ran "pre-proxy-reboot", "post-proxy-reboot"
|
|
assert_match /Rebooting kamal-proxy on vm1.../, output
|
|
assert_match /Rebooted kamal-proxy on vm1/, output
|
|
assert_match /Rebooting kamal-proxy on vm2.../, output
|
|
assert_match /Rebooted kamal-proxy on vm2/, output
|
|
|
|
kamal :proxy, :boot
|
|
assert_proxy_running
|
|
|
|
# Check booting when booted doesn't raise an error
|
|
kamal :proxy, :stop
|
|
assert_proxy_not_running
|
|
|
|
# Check booting when stopped works
|
|
kamal :proxy, :boot
|
|
assert_proxy_running
|
|
|
|
kamal :proxy, :stop
|
|
assert_proxy_not_running
|
|
|
|
kamal :proxy, :start
|
|
assert_proxy_running
|
|
|
|
kamal :proxy, :restart
|
|
assert_proxy_running
|
|
|
|
logs = kamal :proxy, :logs, capture: true
|
|
assert_match /No previous state to restore/, logs
|
|
|
|
kamal :proxy, :remove
|
|
assert_proxy_not_running
|
|
assert_proxy_directory_removed
|
|
end
|
|
|
|
private
|
|
def assert_proxy_running
|
|
assert_match /basecamp\/kamal-proxy:#{Kamal::Configuration::Proxy::MINIMUM_VERSION} \"kamal-proxy run\"/, proxy_details
|
|
end
|
|
|
|
def assert_proxy_not_running
|
|
assert_no_match /basecamp\/kamal-proxy:#{Kamal::Configuration::Proxy::MINIMUM_VERSION} \"kamal-proxy run\"/, proxy_details
|
|
end
|
|
|
|
def proxy_details
|
|
kamal :proxy, :details, capture: true
|
|
end
|
|
end
|