Sha256: c7d9ffb68dcf0aeefeb86b0f995b44ee0ea06dd30c3b7f91065505cc8fa923ce

Contents?: true

Size: 1.49 KB

Versions: 36

Compression:

Stored size: 1.49 KB

Contents

group "EC2"
library :rudy, 'lib'

tryouts "Groups Authorize Address" do
  set :global, Rudy::Huxtable.global
  set :group_name, 'grp-' << Rudy::Utils.strand
  set :protocols, ['tcp', 'udp']
  set :external_ip, Rudy::Utils::external_ip_address || '192.168.0.1/32'
  set :addresses, [external_ip]
  set :ports, [[3100,3150],[3200,3250]]
  setup do
    Rudy::Huxtable.update_config
    Rudy::AWS::EC2.connect global.accesskey, global.secretkey, global.region
    Rudy::AWS::EC2::Groups.create group_name
  end
  clean do 
    Rudy::AWS::EC2::Groups.destroy group_name
  end
  
  drill "authorize group rules returns true", true do
    Rudy::AWS::EC2::Groups.authorize group_name, addresses, ports, protocols
  end
  
    dream :proc, lambda { |group|
      group.addresses.each_pair do |address,rules|
        return false unless rules.is_a? Array
        return false unless rules.size == 7
      end
      true
    }
  drill "group (#{group_name}) contains new rules" do
    stash :group, Rudy::AWS::EC2::Groups.get(group_name)
  end
    
  drill "revoke group rules returns true", true do
    Rudy::AWS::EC2::Groups.revoke(group_name, addresses, ports, protocols)
  end
  
    dream :proc, lambda { |group|
      group.addresses.each_pair do |address,rules|
        return false unless rules.is_a? Array
        return false unless rules.size == 3
      end
      true
    }
  drill "group does not contain new rules" do
    group = Rudy::AWS::EC2::Groups.get(group_name)
    stash :group, group 
    group
  end
  
  
end

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
solutious-rudy-0.9.0 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
solutious-rudy-0.9.1 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
solutious-rudy-0.9.2 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
solutious-rudy-0.9.3 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
solutious-rudy-0.9.4 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.020 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.019 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.018 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.017 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.016 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.015 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.014 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.013 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.012 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.011 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.010 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.009 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.008 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.007 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb
rudy-0.9.8.006 tryouts/25_ec2/21_groups_authorize_address_tryouts.rb