Commit fb2215f1 authored by Vladimir Shushlin's avatar Vladimir Shushlin

Add feature spec for retrying Let's Encrypt

Also fix view to show `in progress` callout if certificate
is user provided, and show `failed` warning ever if we
have the certificate
parent 1abc60fe
- if @domain.enabled? - if @domain.enabled?
- if @domain.auto_ssl_enabled && !@domain.certificate - if @domain.auto_ssl_enabled
- if @domain.show_auto_ssl_failed_warning? - if @domain.show_auto_ssl_failed_warning?
.form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) } .form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
.row .row
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
= _("Something went wrong while the obtaining Let's Encrypt certificate.") = _("Something went wrong while the obtaining Let's Encrypt certificate.")
.row.mx-0.mt-3 .row.mx-0.mt-3
= link_to s_('GitLabPagesDomains|Retry'), retry_auto_ssl_project_pages_domain_path(@project, @domain), class: "btn btn-sm btn-grouped btn-warning", method: :post = link_to s_('GitLabPagesDomains|Retry'), retry_auto_ssl_project_pages_domain_path(@project, @domain), class: "btn btn-sm btn-grouped btn-warning", method: :post
- else - elsif !@domain.certificate_gitlab_provided?
.form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) } .form-group.border-section.js-shown-if-auto-ssl{ class: ("d-none" unless auto_ssl_available_and_enabled) }
.row .row
.col-sm-10.offset-sm-2 .col-sm-10.offset-sm-2
......
...@@ -85,6 +85,22 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do ...@@ -85,6 +85,22 @@ describe "Pages with Let's Encrypt", :https_pages_enabled do
end end
end end
context "when we failed to obtain Let's Encrypt certificate", :js do
let(:domain) do
create(:pages_domain, auto_ssl_enabled: true, auto_ssl_failed: true, project: project)
end
it 'user can retry obtaining certificate' do
visit project_pages_domain_path(project, domain)
expect(page).to have_text("Something went wrong while obtaining Let's Encrypt certificate.")
click_on('Retry')
expect(page).to have_text("GitLab is obtaining a Let's Encrypt SSL certificate for this domain. This process can take some time. Please try again later.")
end
end
shared_examples 'user sees private keys only for user provided certificate' do shared_examples 'user sees private keys only for user provided certificate' do
shared_examples 'user do not see private key' do shared_examples 'user do not see private key' do
it 'user do not see private key' do it 'user do not see private key' do
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment