Secrets test

This commit is contained in:
Donal McBreen
2024-08-29 15:29:18 +01:00
parent 9ade79fc84
commit b2e1a4d4c1
3 changed files with 9 additions and 42 deletions

View File

@@ -249,7 +249,7 @@ class CliAppTest < CliTestCase
test "exec separate arguments" do
run_command("exec", "ruby", " -v").tap do |output|
assert_match "docker run --rm --env-file .kamal/env/roles/app-web.env dhh/app:latest ruby -v", output
assert_match "docker run --rm dhh/app:latest ruby -v", output
end
end

View File

@@ -1,38 +1,10 @@
require_relative "cli_test_case"
class CliSecretsTest < CliTestCase
test "login" do
assert_equal "LOGIN_TOKEN", run_command("login", "--adapter", "test")
end
test "login failed" do
assert_raises("Boom!") do
run_command("login", "--adapter", "test", "--adapter-options", "boom:true")
end
end
test "fetch" do
assert_equal "oof", run_command("fetch", "foo", "--adapter", "test")
end
test "fetch failed" do
assert_raises("Boom!") do
run_command("fetch", "foo", "--adapter", "test", "--adapter-options", "boom:true")
end
end
test "fetch_all" do
assert_equal \
"\\{\\\"foo\\\":\\\"oof\\\",\\\"bar\\\":\\\"rab\\\",\\\"baz\\\":\\\"zab\\\"\\}",
run_command("fetch_all", "foo", "bar", "baz", "--adapter", "test")
end
test "fetch_all failed" do
assert_raises("Boom!") do
assert_equal \
"\\{\\\"foo\\\":\\\"oof\\\",\\\"bar\\\":\\\"rab\\\",\\\"baz\\\":\\\"zab\\\"\\}",
run_command("fetch_all", "foo", "bar", "baz", "--adapter", "test", "--adapter-options", "boom:true")
end
run_command("fetch", "foo", "bar", "baz", "--account", "myaccount", "--adapter", "test")
end
test "extract" do

View File

@@ -64,19 +64,14 @@ class ActiveSupport::TestCase
end
end
class Kamal::Secrets::Adapters::Test
def login(boom: false)
raise "Boom!" if boom
"LOGIN_TOKEN"
class Kamal::Secrets::Adapters::Test < Kamal::Secrets::Adapters::Base
def login(account)
"MYSESSION"
end
def fetch(name, boom: false)
raise "Boom!" if boom
name.reverse
end
def fetch_all(*names, boom: false)
raise "Boom!" if boom
names.to_h { |name| [ name, name.reverse ] }
def fetch_from_vault(secrets, account:, session:)
raise "No Session" unless session == "MYSESSION"
raise "Boom!" if ENV["BOOM"]
secrets.to_h { |name| [ name, name.reverse ] }
end
end