Sha256: 6b7ebe07232657bbeb226187499590b7f0c4104a05ef73a68116a348b1038588

Contents?: true

Size: 1.53 KB

Versions: 18

Compression:

Stored size: 1.53 KB

Contents

Shindo.tests('Fog::Compute[:aws] | volume', ['aws']) do
  @server = Fog::Compute[:aws].servers.create
  @server.wait_for { ready? }

  model_tests(
    Fog::Compute[:aws].volumes,
    {
      availability_zone: @server.availability_zone,
      size: 1,
      tags: { 'key' => 'value' },
      type: 'gp2',
      server: @server,
      device: '/dev/sdz1'
    },
    true
  ) do

    tests('attached').succeeds do
      @instance.server == @server
    end

    tests('#detach').succeeds do
      @instance.detach
      @instance.wait_for { ready? }
      @instance.server.nil?
    end

    tests('#server=').raises(NoMethodError, 'use Fog::AWS::Compute::Volume#attach(server, device)') do
      @instance.server = @server
    end

    tests('#attach(server, device)').succeeds do
      @instance.attach(@server, '/dev/sdz1')
      @instance.server == @server
    end

    tests('#force_detach').succeeds do
      @instance.force_detach
      @instance.wait_for { ready? }
      @instance.server.nil?
    end

    @instance.type = 'io1'
    @instance.iops = 5000
    @instance.size = 100
    @instance.save

    returns(true) { @instance.modification_in_progress? }
    @instance.wait_for { !modification_in_progress? }

    # avoid weirdness with merge_attributes
    @instance = Fog::Compute[:aws].volumes.get(@instance.identity)

    returns('io1') { @instance.type }
    returns(5000)  { @instance.iops }
    returns(100)   { @instance.size }

    tests('@instance.tags').returns({'key' => 'value'}) do
      @instance.tags
    end
  end

  @server.destroy

end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
fog-aws-3.12.0 tests/models/compute/volume_tests.rb
fog-aws-3.11.0 tests/models/compute/volume_tests.rb
fog-aws-3.10.0 tests/models/compute/volume_tests.rb
fog-aws-3.9.0 tests/models/compute/volume_tests.rb
fog-aws-3.8.0 tests/models/compute/volume_tests.rb
fog-aws-3.7.0 tests/models/compute/volume_tests.rb
fog-aws-3.6.7 tests/models/compute/volume_tests.rb
fog-aws-3.6.6 tests/models/compute/volume_tests.rb
fog-aws-3.6.5 tests/models/compute/volume_tests.rb
fog-aws-3.6.4 tests/models/compute/volume_tests.rb
fog-aws-3.6.3 tests/models/compute/volume_tests.rb
fog-aws-3.6.2 tests/models/compute/volume_tests.rb
fog-aws-3.5.2 tests/models/compute/volume_tests.rb
fog-aws-3.5.1 tests/models/compute/volume_tests.rb
fog-aws-3.5.0 tests/models/compute/volume_tests.rb
fog-aws-3.4.0 tests/models/compute/volume_tests.rb
fog-aws-3.3.0 tests/models/compute/volume_tests.rb
fog-aws-3.2.0 tests/models/compute/volume_tests.rb