mirror of
https://github.com/fog/fog-aws.git
synced 2022-11-09 13:50:52 -05:00
fix default vpc security group mocks
Create default security groups when the vpc is created. This prevents sequencing issues in the tests.
This commit is contained in:
parent
fadf7f9e9b
commit
3f82c2930e
3 changed files with 29 additions and 38 deletions
|
@ -77,6 +77,28 @@ module Fog
|
|||
# Manually override since Amazon doesn't let you create a default one
|
||||
self.data[:network_acls][default_nacl.network_acl_id]['default'] = true
|
||||
|
||||
|
||||
# create default security groups
|
||||
default_elb_group_name = "default_elb_#{Fog::Mock.random_hex(6)}"
|
||||
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups][default_elb_group_name] = {
|
||||
'groupDescription' => 'default_elb security group',
|
||||
'groupName' => default_elb_group_name,
|
||||
'groupId' => Fog::AWS::Mock.security_group_id,
|
||||
'ipPermissions' => [],
|
||||
'ownerId' => self.data[:owner_id],
|
||||
'vpcId' => vpc_id
|
||||
}
|
||||
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['default'] = {
|
||||
'groupDescription' => 'default',
|
||||
'groupName' => 'default',
|
||||
'groupId' => Fog::AWS::Mock.security_group_id,
|
||||
'ipPermissions' => [],
|
||||
'ownerId' => self.data[:owner_id],
|
||||
'vpcId' => vpc_id
|
||||
}
|
||||
|
||||
response.body = {
|
||||
'requestId' => Fog::AWS::Mock.request_id,
|
||||
'vpcSet' => [vpc]
|
||||
|
|
|
@ -111,53 +111,22 @@ module Fog
|
|||
when 'EC2-Classic'
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['amazon-elb-sg']
|
||||
when 'EC2-VPC-Default'
|
||||
# find or create default vpc
|
||||
compute = Fog::Compute::AWS::new(:aws_access_key_id => @aws_access_key_id, :aws_secret_access_key => @aws_secret_access_key)
|
||||
unless vpc = compute.vpcs.all.first
|
||||
vpc = compute.vpcs.create('cidr_block' => '10.0.0.0/24')
|
||||
end
|
||||
|
||||
default_sg = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
|
||||
vpc = compute.vpcs.all.first ||
|
||||
compute.vpcs.create('cidr_block' => '10.0.0.0/24')
|
||||
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
|
||||
sg['groupName'] =~ /^default_elb/ &&
|
||||
sg["vpcId"] == vpc.id
|
||||
}
|
||||
|
||||
unless default_sg
|
||||
default_sg = {
|
||||
'groupDescription' => 'default_elb security group',
|
||||
'groupName' => "default_elb_#{Fog::Mock.random_hex(6)}",
|
||||
'groupId' => Fog::AWS::Mock.security_group_id,
|
||||
'ipPermissionsEgress' => [],
|
||||
'ipPermissions' => [],
|
||||
'ownerId' => self.data[:owner_id],
|
||||
'vpcId' => vpc.id
|
||||
}
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['default'] = default_sg
|
||||
end
|
||||
|
||||
default_sg
|
||||
when 'EC2-VPC'
|
||||
# find or create default vpc security group
|
||||
vpc_id = subnets.first["vpcId"]
|
||||
default_sg = Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
|
||||
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups].values.find { |sg|
|
||||
sg['groupName'] == 'default' &&
|
||||
sg["vpcId"] == vpc_id
|
||||
}
|
||||
|
||||
unless default_sg
|
||||
default_sg = {
|
||||
'groupDescription' => 'default elb security group',
|
||||
'groupName' => 'default',
|
||||
'groupId' => Fog::AWS::Mock.security_group_id,
|
||||
'ipPermissionsEgress' => [],
|
||||
'ipPermissions' => [],
|
||||
'ownerId' => self.data[:owner_id],
|
||||
'vpcId' => vpc_id
|
||||
}
|
||||
Fog::Compute::AWS::Mock.data[region][@aws_access_key_id][:security_groups]['default'] = default_sg
|
||||
end
|
||||
|
||||
default_sg
|
||||
end
|
||||
self.data[:tags] ||= {}
|
||||
self.data[:tags][lb_name] = {}
|
||||
|
|
|
@ -33,7 +33,7 @@ Shindo.tests('AWS::EFS | file systems', ['aws', 'efs']) do
|
|||
:vpc_id => vpc.id,
|
||||
:cidr_block => "10.0.1.0/24"
|
||||
)
|
||||
default_security_group = Fog::Compute[:aws].security_groups.detect { |sg| sg.description == 'default group' }
|
||||
default_security_group = Fog::Compute[:aws].security_groups.detect { |sg| sg.description == 'default_elb security group' }
|
||||
else
|
||||
vpc = Fog::Compute[:aws].vpcs.first
|
||||
subnet = vpc.subnets.first
|
||||
|
|
Loading…
Add table
Reference in a new issue