Sha256: 002e85266d3c2e0d0c55b54ebf37b911427ee653db0d7a420f0baed401b580cc

Contents?: true

Size: 939 Bytes

Versions: 3

Compression:

Stored size: 939 Bytes

Contents

# frozen_string_literal: true

require 'spec_helper'

describe ProxyFetcher::Providers::Base do
  before { ProxyFetcher.config.reset! }
  after { ProxyFetcher.config.reset! }

  it 'does not allows to use not implemented methods' do
    NotImplementedCustomProvider = Class.new(ProxyFetcher::Providers::Base)

    ProxyFetcher::Configuration.register_provider(:provider_without_methods, NotImplementedCustomProvider)
    ProxyFetcher.config.provider = :provider_without_methods

    expect { ProxyFetcher::Manager.new }.to raise_error(NotImplementedError) do |error|
      expect(error.message).to include('load_proxy_list')
    end

    # implement one of the methods
    NotImplementedCustomProvider.class_eval do
      def load_proxy_list(*)
        [1, 2, 3]
      end
    end

    expect { ProxyFetcher::Manager.new }.to raise_error(NotImplementedError) do |error|
      expect(error.message).to include('to_proxy')
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
proxy_fetcher-0.6.5 spec/proxy_fetcher/providers/base_spec.rb
proxy_fetcher-0.6.4 spec/proxy_fetcher/providers/base_spec.rb
proxy_fetcher-0.6.3 spec/proxy_fetcher/providers/base_spec.rb