Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rails_helper'
- RSpec.describe HTTPClient do
- # basic auth
- let(:user) { 'admin' }
- let(:password) { 'password' }
- let(:client) { HTTPClient.new(user: user, password: password) }
- let(:url) { 'http://mock.com:8080' }
- let(:http_methods) { [:get, :post, :put, :delete] }
- before do
- WebMock.disable_net_connect!(allow_localhost: false)
- end
- describe '#test_requests' do
- context 'a few successful requests' do
- before do
- http_methods.each do |http_method|
- stub_request(http_method, url).to_return(status: 200)
- end
- end
- it 'makes some requests' do
- http_methods.each do |http_method|
- subject { client.run_request(method: http_method, url: url) }
- expect(subject).to be_a HTTPClient::Response
- end
- end
- end
- context 'a few failed requests' do
- before do
- http_methods.each do |http_method|
- stub_request(http_method, url).to_return(status: 404)
- end
- end
- it 'raises exceptions' do
- http_methods.each do |http_method|
- subject { client.run_request(method: http_method, url: url) }
- expect{ subject }.to raise_error(HTTPClient::Error)
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement