Merge branch 'basecamp:main' into buildpacks
This commit is contained in:
@@ -497,6 +497,30 @@ class CommandsAppTest < ActiveSupport::TestCase
|
||||
], new_command(asset_path: "/public/assets").clean_up_assets
|
||||
end
|
||||
|
||||
test "live" do
|
||||
assert_equal \
|
||||
"docker exec kamal-proxy kamal-proxy resume app-web",
|
||||
new_command.live.join(" ")
|
||||
end
|
||||
|
||||
test "maintenance" do
|
||||
assert_equal \
|
||||
"docker exec kamal-proxy kamal-proxy stop app-web",
|
||||
new_command.maintenance.join(" ")
|
||||
end
|
||||
|
||||
test "maintenance with options" do
|
||||
assert_equal \
|
||||
"docker exec kamal-proxy kamal-proxy stop app-web --drain-timeout=\"10s\" --message=\"Hi\"",
|
||||
new_command.maintenance(drain_timeout: 10, message: "Hi").join(" ")
|
||||
end
|
||||
|
||||
test "remove_proxy_app_directory" do
|
||||
assert_equal \
|
||||
"rm -r .kamal/proxy/apps-config/app",
|
||||
new_command.remove_proxy_app_directory.join(" ")
|
||||
end
|
||||
|
||||
private
|
||||
def new_command(role: "web", host: "1.1.1.1", **additional_config)
|
||||
config = Kamal::Configuration.new(@config.merge(additional_config), destination: @destination, version: "999")
|
||||
|
||||
@@ -15,7 +15,7 @@ class CommandsProxyTest < ActiveSupport::TestCase
|
||||
|
||||
test "run" do
|
||||
assert_equal \
|
||||
"echo $(cat .kamal/proxy/options 2> /dev/null || echo \"--publish 80:80 --publish 443:443 --log-opt max-size=10m\") basecamp/kamal-proxy:#{Kamal::Configuration::PROXY_MINIMUM_VERSION} | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy",
|
||||
"echo $(cat .kamal/proxy/options 2> /dev/null || echo \"--publish 80:80 --publish 443:443 --log-opt max-size=10m\") $(cat .kamal/proxy/image 2> /dev/null || echo \"basecamp/kamal-proxy\"):$(cat .kamal/proxy/image_version 2> /dev/null || echo \"#{Kamal::Configuration::PROXY_MINIMUM_VERSION}\") | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config",
|
||||
new_command.run.join(" ")
|
||||
end
|
||||
|
||||
@@ -23,7 +23,7 @@ class CommandsProxyTest < ActiveSupport::TestCase
|
||||
@config.delete(:proxy)
|
||||
|
||||
assert_equal \
|
||||
"echo $(cat .kamal/proxy/options 2> /dev/null || echo \"--publish 80:80 --publish 443:443 --log-opt max-size=10m\") basecamp/kamal-proxy:#{Kamal::Configuration::PROXY_MINIMUM_VERSION} | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy",
|
||||
"echo $(cat .kamal/proxy/options 2> /dev/null || echo \"--publish 80:80 --publish 443:443 --log-opt max-size=10m\") $(cat .kamal/proxy/image 2> /dev/null || echo \"basecamp/kamal-proxy\"):$(cat .kamal/proxy/image_version 2> /dev/null || echo \"#{Kamal::Configuration::PROXY_MINIMUM_VERSION}\") | xargs docker run --name kamal-proxy --network kamal --detach --restart unless-stopped --volume kamal-proxy-config:/home/kamal-proxy/.config/kamal-proxy --volume $(pwd)/.kamal/proxy/apps-config:/home/kamal-proxy/.apps-config",
|
||||
new_command.run.join(" ")
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ class CommandsProxyTest < ActiveSupport::TestCase
|
||||
|
||||
test "version" do
|
||||
assert_equal \
|
||||
"docker inspect kamal-proxy --format '{{.Config.Image}}' | cut -d: -f2",
|
||||
"docker inspect kamal-proxy --format '{{.Config.Image}}' | awk -F: '{print $NF}'",
|
||||
new_command.version.join(" ")
|
||||
end
|
||||
|
||||
@@ -111,10 +111,22 @@ class CommandsProxyTest < ActiveSupport::TestCase
|
||||
new_command.ensure_proxy_directory.join(" ")
|
||||
end
|
||||
|
||||
test "get_boot_options" do
|
||||
test "read_boot_options" do
|
||||
assert_equal \
|
||||
"cat .kamal/proxy/options 2> /dev/null || echo \"--publish 80:80 --publish 443:443 --log-opt max-size=10m\"",
|
||||
new_command.get_boot_options.join(" ")
|
||||
new_command.read_boot_options.join(" ")
|
||||
end
|
||||
|
||||
test "read_image" do
|
||||
assert_equal \
|
||||
"cat .kamal/proxy/image 2> /dev/null || echo \"basecamp/kamal-proxy\"",
|
||||
new_command.read_image.join(" ")
|
||||
end
|
||||
|
||||
test "read_image_version" do
|
||||
assert_equal \
|
||||
"cat .kamal/proxy/image_version 2> /dev/null || echo \"#{Kamal::Configuration::PROXY_MINIMUM_VERSION}\"",
|
||||
new_command.read_image_version.join(" ")
|
||||
end
|
||||
|
||||
test "reset_boot_options" do
|
||||
@@ -123,6 +135,18 @@ class CommandsProxyTest < ActiveSupport::TestCase
|
||||
new_command.reset_boot_options.join(" ")
|
||||
end
|
||||
|
||||
test "reset_image" do
|
||||
assert_equal \
|
||||
"rm .kamal/proxy/image",
|
||||
new_command.reset_image.join(" ")
|
||||
end
|
||||
|
||||
test "reset_image_version" do
|
||||
assert_equal \
|
||||
"rm .kamal/proxy/image_version",
|
||||
new_command.reset_image_version.join(" ")
|
||||
end
|
||||
|
||||
private
|
||||
def new_command
|
||||
Kamal::Commands::Proxy.new(Kamal::Configuration.new(@config, version: "123"))
|
||||
|
||||
Reference in New Issue
Block a user