Sha256: e8b4b5f01fa317907577a1f76ea39858ab688f15240b5bcba863cdcf414f7a13

Contents?: true

Size: 1.9 KB

Versions: 14

Compression:

Stored size: 1.9 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,
        :ip_address,
        :flavor_id,
        :region_id,
        :image_id
      ]
      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

end

Version data entries

14 entries across 14 versions & 3 rubygems

Version Path
gapinc-fog-1.12.1.2.1 tests/digitalocean/models/compute/server_tests.rb
fog-1.14.0 tests/digitalocean/models/compute/server_tests.rb
fog-1.13.0 tests/digitalocean/models/compute/server_tests.rb
gapinc-fog-1.12.1.2 tests/digitalocean/models/compute/server_tests.rb
gapinc-fog-1.12.1.1 tests/digitalocean/models/compute/server_tests.rb
gapinc-fog-1.12.1a tests/digitalocean/models/compute/server_tests.rb
gapinc-fog-1.12.1 tests/digitalocean/models/compute/server_tests.rb
fog-1.12.1 tests/digitalocean/models/compute/server_tests.rb
fog-1.12.0 tests/digitalocean/models/compute/server_tests.rb
vagrant-shell-0.2.6 vendor/bundle/gems/fog-1.10.1/tests/digitalocean/models/compute/server_tests.rb
vagrant-shell-0.2.5 vendor/bundle/gems/fog-1.10.1/tests/digitalocean/models/compute/server_tests.rb
fog-1.11.1 tests/digitalocean/models/compute/server_tests.rb
fog-1.11.0 tests/digitalocean/models/compute/server_tests.rb
fog-1.10.1 tests/digitalocean/models/compute/server_tests.rb