Sha256: 9677bfef93c5ae56317c580ac7cc995d3cd65aa86ba63d0e9a65f96dc9ce7fb6

Contents?: true

Size: 1.99 KB

Versions: 21

Compression:

Stored size: 1.99 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,
        :private_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

21 entries across 21 versions & 2 rubygems

Version Path
fog-maestrodev-1.19.0.20140212012611 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20140110004459 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20140110003812 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20140109202555 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20140107192102 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20140107142106 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.19.0.20131219203941 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131219193542 tests/digitalocean/models/compute/server_tests.rb
fog-1.19.0 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131219033443 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131219032002 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131219030716 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131219022322 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131218202447 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131209091424 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131209090811 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131206115947 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131205181604 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131127194823 tests/digitalocean/models/compute/server_tests.rb
fog-maestrodev-1.18.0.20131126183714 tests/digitalocean/models/compute/server_tests.rb