Skip to content

mock directories.create destroys existing directory #172

@plribeiro3000

Description

@plribeiro3000

When using Fog.mock!, calling directories.create(key: 'foo') appears to destroy any existing directory with that key. Is this intended behavior? Am I doing something wrong in my example?

irb(main):001:0> Fog.mock!
=> true
irb(main):002:0> c = Fog::Storage.new({provider: 'AWS', aws_access_key_id: '', aws_secret_access_key: ''})
=> #<Fog::Storage::AWS::Mock:0x007fcdb3db7030 @use_iam_profile=nil, @region="us-east-1", @endpoint=nil, @host="s3.amazonaws.com", @scheme="https", @port=443, @path_style=false, @signature_version=4, @aws_access_key_id="", @aws_secret_access_key="", @aws_session_token=nil, @aws_credentials_expire_at=nil, @signer=#<Fog::AWS::SignatureV4:0x007fcdb3d9f8b8 @region="us-east-1", @service="s3", @aws_access_key_id="", @hmac=#<Fog::HMAC:0x007fcdb3d9f818 @key="AWS4", @digest=#<OpenSSL::Digest: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855>, @signer=#<Proc:0x007fcdb3d9f778@/Users/rsilva/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/fog-core-1.32.1/lib/fog/core/hmac.rb:28 (lambda)>>>>
irb(main):003:0> bucket = c.directories.create(key: 'bucket')
=>   <Fog::Storage::AWS::Directory
    key="bucket",
    creation_date=nil,
    location="us-east-1"
  >
irb(main):004:0> bucket.files.create(key: 'key', body: 'body')
=>   <Fog::Storage::AWS::File
    key="key",
    cache_control=nil,
    content_disposition=nil,
    content_encoding=nil,
    content_length=4,
    content_md5=nil,
    content_type=nil,
    etag="841a2d689ad86bd1611447453c22c6fc",
    expires=nil,
    last_modified="Thu, 20 Aug 2015 22:56:43 +0000",
    metadata={},
    owner=nil,
    storage_class=nil,
    encryption=nil,
    encryption_key=nil,
    version=nil
  >
irb(main):005:0> bucket.files.get('key')
=>   <Fog::Storage::AWS::File
    key="key",
    cache_control=nil,
    content_disposition=nil,
    content_encoding=nil,
    content_length=4,
    content_md5=nil,
    content_type=nil,
    etag="841a2d689ad86bd1611447453c22c6fc",
    expires=nil,
    last_modified=2015-08-20 15:56:43 -0700,
    metadata={},
    owner=nil,
    storage_class=nil,
    encryption=nil,
    encryption_key=nil,
    version=nil
  >
irb(main):006:0> c.directories.create(key: 'bucket')
=>   <Fog::Storage::AWS::Directory
    key="bucket",
    creation_date=nil,
    location="us-east-1"
  >
irb(main):007:0> bucket.files.get('key')
=> nil

Original issue opened by @russellsilva at fog/fog#3668.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions