Merge remote-tracking branch 'origin/main' into feat/no-web
This commit is contained in:
@@ -165,6 +165,16 @@ class ConfigurationTest < ActiveSupport::TestCase
|
||||
end
|
||||
end
|
||||
|
||||
test "allow_empty_roles" do
|
||||
assert_silent do
|
||||
Kamal::Configuration.new @deploy.merge(servers: { "web" => %w[ web ], "workers" => { "hosts" => %w[ ] } }, allow_empty_roles: true)
|
||||
end
|
||||
|
||||
assert_raises(ArgumentError) do
|
||||
Kamal::Configuration.new @deploy.merge(servers: { "web" => %w[], "workers" => { "hosts" => %w[] } }, allow_empty_roles: true)
|
||||
end
|
||||
end
|
||||
|
||||
test "volume_args" do
|
||||
assert_equal ["--volume", "/local/path:/container/path"], @config.volume_args
|
||||
end
|
||||
@@ -227,7 +237,7 @@ class ConfigurationTest < ActiveSupport::TestCase
|
||||
:repository=>"dhh/app",
|
||||
:absolute_image=>"dhh/app:missing",
|
||||
:service_with_version=>"app-missing",
|
||||
:ssh_options=>{ :user=>"root", log_level: :fatal, keepalive: true, keepalive_interval: 30 },
|
||||
:ssh_options=>{ :user=>"root", port: 22, log_level: :fatal, keepalive: true, keepalive_interval: 30 },
|
||||
:sshkit=>{},
|
||||
:volume_args=>["--volume", "/local/path:/container/path"],
|
||||
:builder=>{},
|
||||
@@ -278,4 +288,25 @@ class ConfigurationTest < ActiveSupport::TestCase
|
||||
assert_nil @config.asset_path
|
||||
assert_equal "foo", Kamal::Configuration.new(@deploy.merge!(asset_path: "foo")).asset_path
|
||||
end
|
||||
|
||||
test "primary role" do
|
||||
assert_equal "web", @config.primary_role
|
||||
|
||||
config = Kamal::Configuration.new(@deploy_with_roles.deep_merge({
|
||||
servers: { "alternate_web" => { "hosts" => [ "1.1.1.4", "1.1.1.5" ] } },
|
||||
primary_role: "alternate_web" } ))
|
||||
|
||||
|
||||
assert_equal "alternate_web", config.primary_role
|
||||
assert_equal "1.1.1.4", config.primary_host
|
||||
assert config.role(:alternate_web).primary?
|
||||
assert config.role(:alternate_web).running_traefik?
|
||||
end
|
||||
|
||||
test "primary role missing" do
|
||||
error = assert_raises(ArgumentError) do
|
||||
Kamal::Configuration.new(@deploy.merge(primary_role: "bar"))
|
||||
end
|
||||
assert_match /bar isn't defined/, error.message
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user