50 lines
1.3 KiB
Ruby
Executable File
50 lines
1.3 KiB
Ruby
Executable File
require "test_helper"
|
|
|
|
class CommandsRegistryTest < ActiveSupport::TestCase
|
|
setup do
|
|
@config = { service: "app",
|
|
image: "dhh/app",
|
|
registry: { "username" => "dhh",
|
|
"password" => "secret",
|
|
"server" => "hub.docker.com"
|
|
},
|
|
servers: [ "1.1.1.1" ]
|
|
}
|
|
@registry = Kamal::Commands::Registry.new Kamal::Configuration.new(@config)
|
|
end
|
|
|
|
test "registry login" do
|
|
assert_equal \
|
|
"docker login hub.docker.com -u dhh -p secret",
|
|
@registry.login.join(" ")
|
|
end
|
|
|
|
test "registry login with ENV password" do
|
|
ENV["KAMAL_REGISTRY_PASSWORD"] = "more-secret"
|
|
@config[:registry]["password"] = [ "KAMAL_REGISTRY_PASSWORD" ]
|
|
|
|
assert_equal \
|
|
"docker login hub.docker.com -u dhh -p more-secret",
|
|
@registry.login.join(" ")
|
|
ensure
|
|
ENV.delete("KAMAL_REGISTRY_PASSWORD")
|
|
end
|
|
|
|
test "registry login with ENV username" do
|
|
ENV["KAMAL_REGISTRY_USERNAME"] = "also-secret"
|
|
@config[:registry]["username"] = [ "KAMAL_REGISTRY_USERNAME" ]
|
|
|
|
assert_equal \
|
|
"docker login hub.docker.com -u also-secret -p secret",
|
|
@registry.login.join(" ")
|
|
ensure
|
|
ENV.delete("KAMAL_REGISTRY_USERNAME")
|
|
end
|
|
|
|
test "registry logout" do
|
|
assert_equal \
|
|
"docker logout hub.docker.com",
|
|
@registry.logout.join(" ")
|
|
end
|
|
end
|