3c33724e2e
Part of adding Let's Encrypt certificates for pages domains Add acme-client gem Client is being initialized by private key stored in secrets.yml Let's Encrypt account is being created lazily. If it's already created, Acme::Client just gets account_kid by calling new_account method Make Let's Encrypt client an instance Wrap order and challenge classes
29 lines
750 B
Ruby
29 lines
750 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
describe ::Gitlab::LetsEncrypt::Challenge do
|
|
delegated_methods = {
|
|
url: 'https://example.com/',
|
|
status: 'pending',
|
|
token: 'tokenvalue',
|
|
file_content: 'hereisfilecontent',
|
|
request_validation: true
|
|
}
|
|
|
|
let(:acme_challenge) do
|
|
acme_challenge = instance_double('Acme::Client::Resources::Challenge')
|
|
allow(acme_challenge).to receive_messages(delegated_methods)
|
|
acme_challenge
|
|
end
|
|
|
|
let(:challenge) { described_class.new(acme_challenge) }
|
|
|
|
delegated_methods.each do |method, value|
|
|
describe "##{method}" do
|
|
it 'delegates to Acme::Client::Resources::Challenge' do
|
|
expect(challenge.public_send(method)).to eq(value)
|
|
end
|
|
end
|
|
end
|
|
end
|