Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-30 21:08:07 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-30 21:08:07 +0300
commit2c72daf2f1744f2b8c8c6674c266907e9ef55558 (patch)
treee489b6e87557d3f6d8a94f2e7d4d47e633d646b5 /spec/support
parent4e9acbfba3682c552b3de707c535e6257ef41054 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/helpers/lets_encrypt_helpers.rb10
-rw-r--r--spec/support/shared_examples/controllers/cache_control_shared_examples.rb37
-rw-r--r--spec/support/shared_examples/controllers/content_disposition_shared_examples.rb21
-rw-r--r--spec/support/shared_examples/services/jira_import/start_import_service_shared_examples.rb9
4 files changed, 73 insertions, 4 deletions
diff --git a/spec/support/helpers/lets_encrypt_helpers.rb b/spec/support/helpers/lets_encrypt_helpers.rb
index 2857416ad95..0f378893895 100644
--- a/spec/support/helpers/lets_encrypt_helpers.rb
+++ b/spec/support/helpers/lets_encrypt_helpers.rb
@@ -11,7 +11,8 @@ module LetsEncryptHelpers
status: 'pending',
token: 'tokenvalue',
file_content: 'hereisfilecontent',
- request_validation: true
+ request_validation: true,
+ error: nil
}.freeze
def stub_lets_encrypt_settings
@@ -43,16 +44,17 @@ module LetsEncryptHelpers
challenge
end
- def acme_authorization_double
+ def acme_authorization_double(challenge = acme_challenge_double)
authorization = instance_double('Acme::Client::Resources::Authorization')
- allow(authorization).to receive(:http).and_return(acme_challenge_double)
+ allow(authorization).to receive(:http).and_return(challenge)
+ allow(authorization).to receive(:challenges).and_return([challenge])
authorization
end
def acme_order_double(attributes = {})
acme_order = instance_double('Acme::Client::Resources::Order')
allow(acme_order).to receive_messages(ACME_ORDER_METHODS.merge(attributes))
- allow(acme_order).to receive(:authorizations).and_return([acme_authorization_double])
+ allow(acme_order).to receive(:authorizations).and_return([acme_authorization_double]) unless attributes[:authorizations]
allow(acme_order).to receive(:finalize)
acme_order
end
diff --git a/spec/support/shared_examples/controllers/cache_control_shared_examples.rb b/spec/support/shared_examples/controllers/cache_control_shared_examples.rb
new file mode 100644
index 00000000000..426d7f95222
--- /dev/null
+++ b/spec/support/shared_examples/controllers/cache_control_shared_examples.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'project cache control headers' do
+ before do
+ project.update(visibility_level: visibility_level)
+ end
+
+ context 'when project is public' do
+ let(:visibility_level) { Gitlab::VisibilityLevel::PUBLIC }
+
+ it 'returns cache_control public header to true' do
+ subject
+
+ expect(response.cache_control[:public]).to be_truthy
+ end
+ end
+
+ context 'when project is private' do
+ let(:visibility_level) { Gitlab::VisibilityLevel::PRIVATE }
+
+ it 'returns cache_control public header to true' do
+ subject
+
+ expect(response.cache_control[:public]).to be_falsey
+ end
+ end
+
+ context 'when project is internal' do
+ let(:visibility_level) { Gitlab::VisibilityLevel::INTERNAL }
+
+ it 'returns cache_control public header to true' do
+ subject
+
+ expect(response.cache_control[:public]).to be_falsey
+ end
+ end
+end
diff --git a/spec/support/shared_examples/controllers/content_disposition_shared_examples.rb b/spec/support/shared_examples/controllers/content_disposition_shared_examples.rb
new file mode 100644
index 00000000000..a1ece5fcc7f
--- /dev/null
+++ b/spec/support/shared_examples/controllers/content_disposition_shared_examples.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+RSpec.shared_examples 'content disposition headers' do
+ it 'sets content disposition to inline' do
+ subject
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(response.header['Content-Disposition']).to match(/inline/)
+ end
+
+ context 'when inline param is false' do
+ let(:inline) { 'false' }
+
+ it 'sets content disposition to attachment' do
+ subject
+
+ expect(response).to have_gitlab_http_status(:ok)
+ expect(response.header['Content-Disposition']).to match(/attachment/)
+ end
+ end
+end
diff --git a/spec/support/shared_examples/services/jira_import/start_import_service_shared_examples.rb b/spec/support/shared_examples/services/jira_import/start_import_service_shared_examples.rb
new file mode 100644
index 00000000000..c5e56ed3539
--- /dev/null
+++ b/spec/support/shared_examples/services/jira_import/start_import_service_shared_examples.rb
@@ -0,0 +1,9 @@
+# frozen_string_literal: true
+
+shared_examples 'responds with error' do |message|
+ it 'returns error' do
+ expect(subject).to be_a(ServiceResponse)
+ expect(subject).to be_error
+ expect(subject.message).to eq(message)
+ end
+end