Sha256: 255c59b8bb17664311271ea60aa34e921c3620769c9673b334b534890dcb0938

Contents?: true

Size: 1.7 KB

Versions: 7

Compression:

Stored size: 1.7 KB

Contents

require "#{File.dirname(__FILE__)}/../../../test_helper"
require File.dirname(__FILE__)+"/ec2_test.rb"

stub_keypair_searchable_paths

class Ec2InstanceTest < Test::Unit::TestCase
  include CloudProviders
  
  def setup
    clear!
    @filepath = fixtures_dir/"clouds/simple_cloud.rb"
    @pool = PoolParty::Pool.load_from_file(@filepath)
    @cloud = @pool.clouds[@pool.clouds.keys.first]
  end
  
  def inst
    @inst ||= @cloud.describe_instances.first
  end
  
  def test_has_cloud_provider
    inst = CloudProviders::Ec2.new(:image_id => "ami-abc123").describe_instances.first
    assert_kind_of CloudProviders::Ec2, inst.cloud_provider
  end
  
  def test_hosts_file_listing_for
    #TODO
  end
  
  def test_to_s
    vals = inst.to_s.split("\t")
    assert_equal 3, vals.size
    assert_equal 'simple_cloud', vals.first
  end
  
  def test_has_cloud_set_when_created_from_cloud
    assert_equal @cloud, @cloud.cloud_provider.cloud
    assert_equal @cloud, inst.cloud
    assert_equal 'simple_cloud', inst.dsl_options[:cloud_name]
    assert_equal 'simple_cloud', inst.to_hash[:cloud_name]
  end
  
  def test_cloud_keypair
    assert_equal  @cloud.keypair.to_s,  inst.keypair.to_s
  end

  def test_refresh!
    inst.status = 'testing'
    inst.public_ip = 'notanip'
    assert_equal 'testing',  inst.status
    assert_equal 'notanip', inst.public_ip
    inst.refresh!
    assert_equal '75.101.141.103', inst.public_ip
    assert_equal 'running', inst.status
  end
  
  def test_terminate!
    zombie =  inst.terminate!
    assert_equal 'shutting-down', zombie.status
    assert_kind_of Ec2Instance, zombie
  end
  
  
  #TODO: this needs better tests
  def test_wait_for_public_ip
    assert inst.wait_for_public_ip
  end
  
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
auser-poolparty-1.3.14 test/lib/cloud_providers/ec2/ec2_instance_test.rb
auser-poolparty-1.3.15 test/lib/cloud_providers/ec2/ec2_instance_test.rb
auser-poolparty-1.3.16 test/lib/cloud_providers/ec2/ec2_instance_test.rb
auser-poolparty-1.3.17 test/lib/cloud_providers/ec2/ec2_instance_test.rb
fairchild-poolparty-1.3.17 test/lib/cloud_providers/ec2/ec2_instance_test.rb
poolparty-1.3.15 test/lib/cloud_providers/ec2/ec2_instance_test.rb
poolparty-1.3.14 test/lib/cloud_providers/ec2/ec2_instance_test.rb