Sha256: c4dcd57be39d57560e304b5cb62d332a0dd7424819057c66c7b544a19a0d74b3

Contents?: true

Size: 1.64 KB

Versions: 7

Compression:

Stored size: 1.64 KB

Contents

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

describe 'S3.get_object' do
  describe 'success' do

    before(:each) do
      s3.put_bucket('foggetobject')
      file = File.open(File.dirname(__FILE__) + '/../../../lorem.txt', 'r')
      s3.put_object('foggetobject', 'fog_get_object', file)
    end

    after(:each) do
      s3.delete_object('foggetobject', 'fog_get_object')
      s3.delete_bucket('foggetobject')
    end

    it 'should return proper attributes' do
      actual = s3.get_object('foggetobject', 'fog_get_object')
      actual.status.should == 200
      file = File.open(File.dirname(__FILE__) + '/../../../lorem.txt', 'r')
      data = file.read
      actual.body.should == data
      actual.headers['Content-Length'].should == data.length.to_s
      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
      file = File.open(File.dirname(__FILE__) + '/../../../lorem.txt', 'r')
      data = ''
      s3.get_object('foggetobject', 'fog_get_object') do |chunk|
        data << chunk
      end
      data.should == file.read
    end

  end
  describe 'failure' do

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

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

  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
fog-0.0.12 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.11 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.10 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.9 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.8 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.7 spec/aws/requests/s3/get_object_spec.rb
fog-0.0.6 spec/aws/requests/s3/get_object_spec.rb