Sha256: 4017e92cda5bbf906d65d3edaa6f2af2bac46f1dc4b4eac75f57b2fa12fc4bda

Contents?: true

Size: 911 Bytes

Versions: 7

Compression:

Stored size: 911 Bytes

Contents

require 'spec_helper'

describe Riiif::HttpFileResolver do
  subject { described_class.new }

  before do
    Dir.glob('tmp/network_files/*') do |f|
      File.unlink(f)
    end
    subject.id_to_uri = ->(id) { id }
  end

  it "raises an error when the file isn't found" do
    expect(Kernel).to receive(:open).and_raise(OpenURI::HTTPError.new('failure', StringIO.new))
    begin
      subject.find('1234')
    rescue Riiif::ImageNotFoundError => e
    end
    expect(e).to be_a Riiif::ImageNotFoundError
    expect(e.message).to eq 'failure'
  end

  context 'when basic authentication credentials are set' do
    let(:credentials) { %w(username s0s3kr3t) }
    before do
      subject.basic_auth_credentials = credentials
    end

    it 'uses basic auth credentials' do
      expect(Kernel).to receive(:open).with('1234', http_basic_authentication: credentials)
      subject.find('1234')
    end
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
riiif-2.7.0 spec/models/riiif/http_file_resolver_spec.rb
riiif-2.6.0 spec/models/riiif/http_file_resolver_spec.rb
blacklight-spotlight-3.6.0.beta8 vendor/bundle/ruby/3.2.0/gems/riiif-2.5.0/spec/models/riiif/http_file_resolver_spec.rb
riiif-2.5.0 spec/models/riiif/http_file_resolver_spec.rb
riiif-2.4.0 spec/models/riiif/http_file_resolver_spec.rb
riiif-2.3.0 spec/models/riiif/http_file_resolver_spec.rb
riiif-2.2.0 spec/models/riiif/http_file_resolver_spec.rb