Sha256: b04b44e5944b711b77ea8386174837b56e1f8003ab1cdd692540a0eadcad9a50

Contents?: true

Size: 1.3 KB

Versions: 4

Compression:

Stored size: 1.3 KB

Contents

require 'spec_helper'

describe Cloudster::ChefClient do
  describe 'initialize' do
    it "should raise argument error if no argument is not provided" do
      expect { Cloudster::ElasticIp.new() }.to raise_error(ArgumentError, 'Missing required argument: name')
    end
    it "should not raise argument error if all arguments are provided" do
      expect { Cloudster::ElasticIp.new(:name => 'ElasticIp') }.to_not raise_error
    end
  end
  describe '#add_to' do
    it "should add elastic ip configuration to ec2 template" do
      ec2 = Cloudster::Ec2.new(:key_name => 'testkey', :image_id => 'image_id', :name => 'AppServer', :instance_type => 't1.micro' )
      elastic_ip = Cloudster::ElasticIp.new(:name => 'ElasticIp')
      elastic_ip.add_to ec2
      ec2.template.should ==
        {
          "Resources"=>{
            "AppServer"=>{
              "Type"=>"AWS::EC2::Instance",
              "Properties"=>{
                "KeyName"=>"testkey",
                "ImageId"=>"image_id",
                "InstanceType"=>"t1.micro"
              }
            },
            "ElasticIp"=>{
              "Type"=>"AWS::EC2::EIP",
              "Properties"=>{
                "InstanceId"=> {
                  "Ref" => "AppServer"
                }
              }
            }
          }
        }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
cloudster-2.19.1 spec/elastic_ip_spec.rb
cloudster-2.19.0 spec/elastic_ip_spec.rb
cloudster-2.18.0 spec/elastic_ip_spec.rb
cloudster-2.17.0 spec/elastic_ip_spec.rb