summaryrefslogtreecommitdiff
path: root/spec/support
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-01-24 21:09:09 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-01-24 21:09:09 +0000
commit167894d0e7c98aae1c6d4f5a060ad6d58ea3f382 (patch)
treedd0ce964cf0db395b0b143a079c58bb4aabae591 /spec/support
parent411cc77938f99b495e0fe802705d275a28e939ef (diff)
downloadgitlab-ce-167894d0e7c98aae1c6d4f5a060ad6d58ea3f382.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/dns.rb20
-rw-r--r--spec/support/helpers/dns_helpers.rb30
-rw-r--r--spec/support/shared_examples/features/error_tracking_shared_example.rb2
-rw-r--r--spec/support/shared_examples/requests/api/notes_shared_examples.rb8
4 files changed, 59 insertions, 1 deletions
diff --git a/spec/support/dns.rb b/spec/support/dns.rb
new file mode 100644
index 00000000000..3e5c8e698e1
--- /dev/null
+++ b/spec/support/dns.rb
@@ -0,0 +1,20 @@
+# frozen_string_literal: true
+
+require Rails.root.join("spec/support/helpers/dns_helpers")
+
+RSpec.configure do |config|
+ config.include DnsHelpers
+
+ config.before do
+ block_dns!
+ end
+
+ config.before(:each, :permit_dns) do
+ permit_dns!
+ end
+
+ config.before(:each, :stub_invalid_dns_only) do
+ permit_dns!
+ stub_invalid_dns!
+ end
+end
diff --git a/spec/support/helpers/dns_helpers.rb b/spec/support/helpers/dns_helpers.rb
new file mode 100644
index 00000000000..941b57c2c97
--- /dev/null
+++ b/spec/support/helpers/dns_helpers.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+module DnsHelpers
+ def block_dns!
+ stub_all_dns!
+ stub_invalid_dns!
+ permit_local_dns!
+ end
+
+ def permit_dns!
+ allow(Addrinfo).to receive(:getaddrinfo).and_call_original
+ end
+
+ def stub_all_dns!
+ allow(Addrinfo).to receive(:getaddrinfo).with(anything, anything, nil, :STREAM).and_return([])
+ allow(Addrinfo).to receive(:getaddrinfo).with(anything, anything, nil, :STREAM, anything, anything).and_return([])
+ end
+
+ def stub_invalid_dns!
+ allow(Addrinfo).to receive(:getaddrinfo).with(/foobar\.\w|(\d{1,3}\.){4,}\d{1,3}/i, anything, nil, :STREAM) do
+ raise SocketError.new("getaddrinfo: Name or service not known")
+ end
+ end
+
+ def permit_local_dns!
+ local_addresses = /(127|10)\.0\.0\.\d{1,3}|(192\.168|172\.16)\.\d{1,3}\.\d{1,3}|0\.0\.0\.0|localhost/i
+ allow(Addrinfo).to receive(:getaddrinfo).with(local_addresses, anything, nil, :STREAM).and_call_original
+ allow(Addrinfo).to receive(:getaddrinfo).with(local_addresses, anything, nil, :STREAM, anything, anything).and_call_original
+ end
+end
diff --git a/spec/support/shared_examples/features/error_tracking_shared_example.rb b/spec/support/shared_examples/features/error_tracking_shared_example.rb
index f53adece864..4d913215f20 100644
--- a/spec/support/shared_examples/features/error_tracking_shared_example.rb
+++ b/spec/support/shared_examples/features/error_tracking_shared_example.rb
@@ -8,7 +8,7 @@ shared_examples 'error tracking index page' do
end
within('div.error-list') do
- expect(page).to have_content('Error')
+ expect(page).to have_content('Open errors')
expect(page).to have_content('Events')
expect(page).to have_content('Users')
expect(page).to have_content('Last Seen')
diff --git a/spec/support/shared_examples/requests/api/notes_shared_examples.rb b/spec/support/shared_examples/requests/api/notes_shared_examples.rb
index bd38417a5db..43bfeca93a2 100644
--- a/spec/support/shared_examples/requests/api/notes_shared_examples.rb
+++ b/spec/support/shared_examples/requests/api/notes_shared_examples.rb
@@ -20,6 +20,14 @@ RSpec.shared_examples 'noteable API' do |parent_type, noteable_type, id_name|
expect(response_dates).to eq(response_dates.sort.reverse)
end
+ it 'fetches notes using parent path as id paremeter' do
+ parent_id = CGI.escape(parent.full_path)
+
+ get api("/#{parent_type}/#{parent_id}/#{noteable_type}/#{noteable[id_name]}/notes", user)
+
+ expect(response.status).to eq(200)
+ end
+
context '2 notes with equal created_at' do
before do
@first_note = Note.first