From 167894d0e7c98aae1c6d4f5a060ad6d58ea3f382 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 24 Jan 2020 21:09:09 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- spec/support/dns.rb | 20 +++++++++++++++ spec/support/helpers/dns_helpers.rb | 30 ++++++++++++++++++++++ .../features/error_tracking_shared_example.rb | 2 +- .../requests/api/notes_shared_examples.rb | 8 ++++++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 spec/support/dns.rb create mode 100644 spec/support/helpers/dns_helpers.rb (limited to 'spec/support') 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 -- cgit v1.2.1