0.02
Repository is archived
No commit activity in last 3 years
No release in over 3 years
A Mock AWS::S3 so you can use it in your tests without hitting the network.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.2.9
 Project Readme

mock-aws-s3¶ ↑

This is a simple gem for mocking out the AWS::S3 library, so that no calls to the Amazon S3 service during tests.

Usage is simple, just add the gem to your bundle, and require it in your spec_helper.rb:

require 'mock-aws-s3'

From there on, all (supported) calls to AWS::S3::S3Object will be proxied to file operations in a temp directory on your disk. So these commands:

AWS::S3::S3Object.store 'key', 'some data', 'bucket'
AWS::S3::S3Object.exists?('key', 'bucket')
AWS::S3::S3Object.value 'key', 'bucket'
AWS::S3::S3Object.url_for 'key', 'bucket'
AWS::S3::S3Object.delete('key', 'bucket')

… will result in a file being created on disk at ./tmp/mock-aws-s3/bucket/key, with contents: "some data". A File.exists?() check will be performed on that file, the content of the file will be returned, a local file uri will be return and then it will be deleted.

If you are using Rails, the Rails.root directory will be used: Rails.root.join('tmp').

Note on Patches/Pull Requests¶ ↑

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add spec for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Joshua Krall. See LICENSE for details.