Sha256: 3e0f6c5381b23bf4de96ce7abc433ee15f34f81cd40e21f47c3dfd3fd7a80f58

Contents?: true

Size: 1.96 KB

Versions: 18

Compression:

Stored size: 1.96 KB

Contents

Shindo.tests("Fog::Compute[:digitalocean] | server model", ['digitalocean', 'compute']) do

  server  = fog_test_server

  tests('The server model should') do

    tests('have the action') do
      test('reload') { server.respond_to? 'reload' }
      %w{ 
        shutdown 
        reboot
        power_cycle
        stop
        start
      }.each do |action|
        test(action) { server.respond_to? action }
      end
    end

    tests('have attributes') do
      model_attribute_hash = server.attributes
      attributes = [ 
        :id,
        :name,
        :state,
        :backups_active,
        :public_ip_address,
        :flavor_id,
        :region_id,
        :image_id,
        :ssh_keys=
      ]
      tests("The server model should respond to") do
        attributes.each do |attribute|
          test("#{attribute}") { server.respond_to? attribute }
        end
      end
    end

    test('#reboot') do
      pending if Fog.mocking?
      server.reboot
      server.wait_for { server.state == 'off' }
      server.state == 'off'
    end

    test('#power_cycle') do
      pending if Fog.mocking?
      server.wait_for { server.ready? }
      server.power_cycle
      server.wait_for { server.state == 'off' }
      server.state == 'off'
    end

    test('#stop') do
      server.stop
      server.wait_for { server.state == 'off' }
      server.state == 'off'
    end

    test('#start') do
      server.start
      server.wait_for { ready? }
      server.ready?
    end

    # DigitalOcean shutdown is unreliable
    # so disable it in real mode for now
    test('#shutdown') do
      pending unless Fog.mocking?
      server.start
      server.wait_for { server.ready? }
      server.shutdown
      server.wait_for { server.state == 'off' }
      server.state == 'off'
    end

    test('#update') do
      begin
        server.update
      rescue NotImplementedError => e
        true
      end
    end
  end

  # restore server state
  server.start
  server.wait_for { ready? }

end

Version data entries

18 entries across 18 versions & 3 rubygems

Version Path
fog-maestrodev-1.18.0.20131125111730 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131125083406 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131123105121 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131122203507 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131121075022 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131118164830 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131115184302 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131114200144 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131112185232 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131111203459 tests/digitalocean/models/compute/server_tests.rb
fog-1.18.0 tests/digitalocean/models/compute/server_tests.rb
fog-1.17.0 tests/digitalocean/models/compute/server_tests.rb
fog-1.16.0 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.15.0.20130927082724 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.15.0.20130829165835 tests/digitalocean/models/compute/server_tests.rb
fog-1.15.0 tests/digitalocean/models/compute/server_tests.rb
gapinc-fog-1.14.0 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.14.0.20130806165225 tests/digitalocean/models/compute/server_tests.rb