FIX: Use Excon to do its own stubbing

This commit is contained in:
Robin Ward 2017-05-22 18:19:20 -04:00
parent b51126dd5e
commit 80af54460a
2 changed files with 15 additions and 13 deletions

View File

@ -24,10 +24,7 @@ describe FinalDestination do
end end
def redirect_response(from, dest) def redirect_response(from, dest)
stub_request(:head, from).to_return( Excon.stub({ method: :head, hostname: from }, { status: 302, headers: { "Location" => dest } })
status: 302,
headers: { "Location" => dest }
)
end end
describe '.resolve' do describe '.resolve' do
@ -43,7 +40,7 @@ describe FinalDestination do
context "without redirects" do context "without redirects" do
before do before do
stub_request(:head, "https://eviltrout.com").to_return(doc_response) Excon.stub({ method: :head, hostname: 'eviltrout.com' }, doc_response)
end end
it "returns the final url" do it "returns the final url" do
@ -56,9 +53,9 @@ describe FinalDestination do
context "with a couple of redirects" do context "with a couple of redirects" do
before do before do
redirect_response("https://eviltrout.com", "https://codinghorror.com/blog") redirect_response("eviltrout.com", "https://codinghorror.com/blog")
redirect_response("https://codinghorror.com/blog", "https://discourse.org") redirect_response("codinghorror.com", "https://discourse.org")
stub_request(:head, "https://discourse.org").to_return(doc_response) Excon.stub({ method: :head, hostname: 'discourse.org' }, doc_response)
end end
it "returns the final url" do it "returns the final url" do
@ -71,9 +68,9 @@ describe FinalDestination do
context "with too many redirects" do context "with too many redirects" do
before do before do
redirect_response("https://eviltrout.com", "https://codinghorror.com/blog") redirect_response("eviltrout.com", "https://codinghorror.com/blog")
redirect_response("https://codinghorror.com/blog", "https://discourse.org") redirect_response("codinghorror.com", "https://discourse.org")
stub_request(:head, "https://discourse.org").to_return(doc_response) Excon.stub({ method: :head, hostname: 'discourse.org' }, doc_response)
end end
it "returns the final url" do it "returns the final url" do
@ -86,8 +83,8 @@ describe FinalDestination do
context "with a redirect to an internal IP" do context "with a redirect to an internal IP" do
before do before do
redirect_response("https://eviltrout.com", "https://private-host.com") redirect_response("eviltrout.com", "https://private-host.com")
stub_request(:head, "https://private-host.com").to_return(doc_response) Excon.stub({ method: :head, hostname: 'private-host.com' }, doc_response)
end end
it "returns the final url" do it "returns the final url" do

View File

@ -124,7 +124,12 @@ Spork.prefork do
Discourse.clear_readonly! Discourse.clear_readonly!
I18n.locale = :en I18n.locale = :en
Excon.defaults[:mock] = true
end
config.after(:each) do
WebMock.reset! WebMock.reset!
Excon.stubs.clear
end end
class TestCurrentUserProvider < Auth::DefaultCurrentUserProvider class TestCurrentUserProvider < Auth::DefaultCurrentUserProvider