Sha256: 3152c0fe0ad162d4394cc07a142c1f96d9b29c87d7e32ccc985972b0d2cad060

Contents?: true

Size: 1.13 KB

Versions: 12

Compression:

Stored size: 1.13 KB

Contents

require 'spec_helper'

include GitTrend
RSpec.describe GitTrend::Scraper do

  describe 'settings' do
    before do
      allow(ENV).to receive(:[]).with('http_proxy').and_return('http://proxy_user:proxy_pass@192.168.1.99:9999')
      @scraper = Scraper.new
    end
    subject { @scraper.instance_variable_get(:@agent) }
    its(:user_agent) { should eq "git-trend #{VERSION}" }
    its(:proxy_addr) { should eq '192.168.1.99' }
    its(:proxy_user) { should eq 'proxy_user' }
    its(:proxy_pass) { should eq 'proxy_pass' }
    its(:proxy_port) { should eq 9999 }
  end

  describe '#get' do
    before { @scraper = Scraper.new }
    context 'when a network error occurred' do
      before do
        stub_request(:get, Scraper::BASE_URL)
          .to_return(status: 500, body: '[]')
      end
      it { expect { @scraper.get }.to raise_error(Exception) }
    end

    context 'when a scraping error occurred' do
      before do
        stub_request(:get, Scraper::BASE_URL)
          .to_return(status: 200, headers: { content_type: 'text/html' }, body: '')
      end
      it { expect { @scraper.get }.to raise_error(ScrapeException) }
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
git-trend-0.2.3 spec/git_trend/scraper_spec.rb
git-trend-0.2.2 spec/git_trend/scraper_spec.rb
git-trend-0.2.1 spec/git_trend/scraper_spec.rb
git-trend-0.2.0 spec/git_trend/scraper_spec.rb
git-trend-0.1.9 spec/git_trend/scraper_spec.rb
git-trend-0.1.8 spec/git_trend/scraper_spec.rb
git-trend-0.1.7 spec/git_trend/scraper_spec.rb
git-trend-0.1.6 spec/git_trend/scraper_spec.rb
git-trend-0.1.5 spec/git_trend/scraper_spec.rb
git-trend-0.1.4 spec/git_trend/scraper_spec.rb
git-trend-0.1.3 spec/git_trend/scraper_spec.rb
git-trend-0.1.2 spec/git_trend/scraper_spec.rb