Sha256: d835d14b8b34c0ade5e31919b8cdbe12770fa0a262059065d77dfadd5ad523a7

Contents?: true

Size: 1.78 KB

Versions: 16

Compression:

Stored size: 1.78 KB

Contents

require File.dirname(__FILE__) + '/../../../spec_helper'

describe 'Storage.get_object' do
  describe 'success' do

    before(:each) do
      Google[:storage].put_bucket('foggetobject')
      Google[:storage].put_object('foggetobject', 'fog_get_object', lorem_file,{'x-goog-acl' => 'public-read'})
    end

    after(:each) do
      Google[:storage].delete_object('foggetobject', 'fog_get_object')
      Google[:storage].delete_bucket('foggetobject')
    end

    it 'should return proper attributes' do
      actual = Google[:storage].get_object('foggetobject', 'fog_get_object')
      actual.status.should == 200
      data = lorem_file.read
      actual.body.should == data
      actual.body.length.should == data.length
      actual.headers['Content-Type'].should be_a(String)
      actual.headers['ETag'].should be_a(String)
      actual.headers['Last-Modified'].should be_a(String)
    end

    it 'should return chunks with optional block' do
      data = ''
      Google[:storage].get_object('foggetobject', 'fog_get_object') do |chunk|
        data << chunk
      end
      data.should == lorem_file.read
    end

    it 'should return a url' do
      url = Google[:storage].get_object_url('foggetobject', 'fog_get_object', Time.now + 60 * 10)
      unless Fog.mocking?
        open(url).read.should == lorem_file.read
      end
    end

  end
  describe 'failure' do

    it 'should raise a NotFound error if the bucket does not exist' do
      lambda {
        Google[:storage].get_object('fognotabucket', 'fog_get_object')
      }.should raise_error(Excon::Errors::NotFound)
    end

    it 'should raise a NotFound error if the object does not exist' do
      lambda {
        Google[:storage].get_object('foggetobject', 'fog_not_an_object')
      }.should raise_error(Excon::Errors::NotFound)
    end

  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
fog-0.3.17 spec/google/requests/storage/get_object_spec.rb
fog-0.3.16 spec/google/requests/storage/get_object_spec.rb
fog-0.3.15 spec/google/requests/storage/get_object_spec.rb
fog-0.3.14 spec/google/requests/storage/get_object_spec.rb
fog-0.3.13 spec/google/requests/storage/get_object_spec.rb
fog-0.3.12 spec/google/requests/storage/get_object_spec.rb
fog-0.3.11 spec/google/requests/storage/get_object_spec.rb
fog-0.3.10 spec/google/requests/storage/get_object_spec.rb
fog-0.3.9 spec/google/requests/storage/get_object_spec.rb
fog-0.3.8 spec/google/requests/storage/get_object_spec.rb
fog-0.3.7 spec/google/requests/storage/get_object_spec.rb
fog-0.3.6 spec/google/requests/storage/get_object_spec.rb
fog-0.3.5 spec/google/requests/storage/get_object_spec.rb
fog-0.3.4 spec/google/requests/storage/get_object_spec.rb
fog-0.3.3 spec/google/requests/storage/get_object_spec.rb
fog-0.3.2 spec/google/requests/storage/get_object_spec.rb