diff options
author | Nick Thomas <nick@gitlab.com> | 2019-06-06 18:55:32 +0000 |
---|---|---|
committer | Nick Thomas <nick@gitlab.com> | 2019-06-06 18:55:32 +0000 |
commit | bb02557cbd1e8a7c97fac4c24c40e6e02c809a9a (patch) | |
tree | 018ca45fb1ce2b02f9a513321c05fc7a4440abce /spec/models | |
parent | 68a1ba6a296f340fcddf58e5fbd26d51d66bd90b (diff) | |
parent | c3338c920d6123174000ea11243cb7dc285cee03 (diff) | |
download | gitlab-ce-bb02557cbd1e8a7c97fac4c24c40e6e02c809a9a.tar.gz |
Merge branch 'pages_lets_encrypt_orders' into 'master'
Add pages domains acme orders
See merge request gitlab-org/gitlab-ce!27811
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/pages_domain_acme_order_spec.rb | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/spec/models/pages_domain_acme_order_spec.rb b/spec/models/pages_domain_acme_order_spec.rb new file mode 100644 index 00000000000..4ffb4fc7389 --- /dev/null +++ b/spec/models/pages_domain_acme_order_spec.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true + +require 'spec_helper' + +describe PagesDomainAcmeOrder do + using RSpec::Parameterized::TableSyntax + + describe '.expired' do + let!(:not_expired_order) { create(:pages_domain_acme_order) } + let!(:expired_order) { create(:pages_domain_acme_order, :expired) } + + it 'returns only expired orders' do + expect(described_class.count).to eq(2) + expect(described_class.expired).to eq([expired_order]) + end + end + + describe '.find_by_domain_and_token' do + let!(:domain) { create(:pages_domain, domain: 'test.com') } + let!(:acme_order) { create(:pages_domain_acme_order, challenge_token: 'righttoken', pages_domain: domain) } + + where(:domain_name, :challenge_token, :present) do + 'test.com' | 'righttoken' | true + 'test.com' | 'wrongtoken' | false + 'test.org' | 'righttoken' | false + end + + with_them do + subject { described_class.find_by_domain_and_token(domain_name, challenge_token).present? } + + it { is_expected.to eq(present) } + end + end + + subject { create(:pages_domain_acme_order) } + + describe 'associations' do + it { is_expected.to belong_to(:pages_domain) } + end + + describe 'validations' do + it { is_expected.to validate_presence_of(:pages_domain) } + it { is_expected.to validate_presence_of(:expires_at) } + it { is_expected.to validate_presence_of(:url) } + it { is_expected.to validate_presence_of(:challenge_token) } + it { is_expected.to validate_presence_of(:challenge_file_content) } + it { is_expected.to validate_presence_of(:private_key) } + end +end |