summaryrefslogtreecommitdiff
path: root/spec/services/spam/spam_params_spec.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2022-03-11 03:08:14 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2022-03-11 03:08:14 +0000
commitb131b6f6804bbcd22a22ce4ffe6566a384843f26 (patch)
tree12556081b23ccc647a73faf3af2f9f38f84bbb29 /spec/services/spam/spam_params_spec.rb
parentca443618b0decc6b2754bf560a9c7a319d3e9873 (diff)
downloadgitlab-ce-b131b6f6804bbcd22a22ce4ffe6566a384843f26.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/services/spam/spam_params_spec.rb')
-rw-r--r--spec/services/spam/spam_params_spec.rb50
1 files changed, 34 insertions, 16 deletions
diff --git a/spec/services/spam/spam_params_spec.rb b/spec/services/spam/spam_params_spec.rb
index e7e8b468adb..7e74641c0fa 100644
--- a/spec/services/spam/spam_params_spec.rb
+++ b/spec/services/spam/spam_params_spec.rb
@@ -3,18 +3,25 @@
require 'spec_helper'
RSpec.describe Spam::SpamParams do
+ shared_examples 'constructs from a request' do
+ it 'constructs from a request' do
+ expected = ::Spam::SpamParams.new(
+ captcha_response: captcha_response,
+ spam_log_id: spam_log_id,
+ ip_address: ip_address,
+ user_agent: user_agent,
+ referer: referer
+ )
+ expect(described_class.new_from_request(request: request)).to eq(expected)
+ end
+ end
+
describe '.new_from_request' do
let(:captcha_response) { 'abc123' }
let(:spam_log_id) { 42 }
let(:ip_address) { '0.0.0.0' }
let(:user_agent) { 'Lynx' }
let(:referer) { 'http://localhost' }
- let(:headers) do
- {
- 'X-GitLab-Captcha-Response' => captcha_response,
- 'X-GitLab-Spam-Log-Id' => spam_log_id
- }
- end
let(:env) do
{
@@ -24,17 +31,28 @@ RSpec.describe Spam::SpamParams do
}
end
- let(:request) {double(:request, headers: headers, env: env)}
+ let(:request) { double(:request, headers: headers, env: env) }
- it 'constructs from a request' do
- expected = ::Spam::SpamParams.new(
- captcha_response: captcha_response,
- spam_log_id: spam_log_id,
- ip_address: ip_address,
- user_agent: user_agent,
- referer: referer
- )
- expect(described_class.new_from_request(request: request)).to eq(expected)
+ context 'with a normal Rails request' do
+ let(:headers) do
+ {
+ 'X-GitLab-Captcha-Response' => captcha_response,
+ 'X-GitLab-Spam-Log-Id' => spam_log_id
+ }
+ end
+
+ it_behaves_like 'constructs from a request'
+ end
+
+ context 'with a grape request' do
+ let(:headers) do
+ {
+ 'X-Gitlab-Captcha-Response' => captcha_response,
+ 'X-Gitlab-Spam-Log-Id' => spam_log_id
+ }
+ end
+
+ it_behaves_like 'constructs from a request'
end
end
end