Sha256: 5db61b70e8262cf2693c23f6715dda3c3b0f1222edd63040648e6b3d24fe41fa

Contents?: true

Size: 1.7 KB

Versions: 55

Compression:

Stored size: 1.7 KB

Contents

Shindo.tests("Storage[:aws] | versions", ["aws"]) do

  file_attributes = {
      :key => 'fog_file_tests',
      :body => lorem_file,
      :public => true
  }

  directory_attributes = {
      :key => uniq_id('fogfilestests')
  }

  model_tests(Fog::Storage[:aws].directories, directory_attributes, Fog.mocking?) do
    @instance.versioning = true

    versions = []
    versions << @instance.service.put_object(@instance.key, 'one', 'abcde').headers['x-amz-version-id']

    puts versions.first

    versions << @instance.service.put_object(@instance.key, 'one', '32423').headers['x-amz-version-id']
    versions << @instance.service.delete_object(@instance.key, 'one').headers['x-amz-version-id']
    versions.reverse!

    puts versions.first

    versions << @instance.service.put_object(@instance.key, 'two', 'aoeu').headers['x-amz-version-id']

    tests('#versions') do
      tests('#versions.size includes versions (including DeleteMarkers) for all keys').returns(4) do
        @instance.versions.all.size
      end

      tests('#versions returns the correct versions').returns(versions) do
        @instance.versions.all.collect(&:version)
      end
    end

    tests("#all") do
      tests("#all for a directory returns all versions, regardless of key").returns(versions) do
        @instance.versions.all.collect(&:version)
      end

      tests("#all for file returns only versions for that file").returns(1) do
        @instance.files.get('two').versions.all.collect(&:version).size
      end

      tests("#all for file returns only versions for that file").returns(versions.last) do
        @instance.files.get('two').versions.all.collect(&:version).first
      end
    end

    @instance.versions.each(&:destroy)
  end

end

Version data entries

55 entries across 55 versions & 3 rubygems

Version Path
fog-1.22.0 tests/aws/models/storage/versions_tests.rb
fog-1.21.0 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.20.0.20140305101839 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.20.0.20140305101305 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140212012611 tests/aws/models/storage/versions_tests.rb
fog-1.20.0 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140110004459 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140110003812 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140109202555 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140107192102 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20140107142106 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.19.0.20131219203941 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131219193542 tests/aws/models/storage/versions_tests.rb
fog-1.19.0 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131219033443 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131219032002 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131219030716 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131219022322 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131218202447 tests/aws/models/storage/versions_tests.rb
fog-maestrodev-1.18.0.20131209091424 tests/aws/models/storage/versions_tests.rb