mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
55 lines
1.9 KiB
Ruby
55 lines
1.9 KiB
Ruby
![]() |
Shindo.tests("Fog::Compute[:openstack] | security_group", ['openstack']) do
|
||
|
tests('success') do
|
||
|
begin
|
||
|
fog = Fog::Compute[:openstack]
|
||
|
|
||
|
security_group = fog.security_groups.create(
|
||
|
:name => 'my_group',
|
||
|
:description => 'my group'
|
||
|
)
|
||
|
|
||
|
tests('#create').succeeds do
|
||
|
security_group = fog.security_groups.create(
|
||
|
:name => 'my_group',
|
||
|
:description => 'my group'
|
||
|
)
|
||
|
|
||
|
returns('my_group') { security_group.name }
|
||
|
returns('my group') { security_group.description }
|
||
|
returns([]) { security_group.security_group_rules }
|
||
|
returns(true) { security_group.tenant_id != nil }
|
||
|
end
|
||
|
|
||
|
tests('#rules').succeeds do
|
||
|
tests("#create").succeeds do
|
||
|
rules_count = security_group.security_group_rules.count
|
||
|
rule = security_group.security_group_rules.create(
|
||
|
:parent_group_id => security_group.id,
|
||
|
:ip_protocol => 'tcp',
|
||
|
:from_port => 1234,
|
||
|
:to_port => 1234,
|
||
|
:ip_range => { "cidr" => "0.0.0.0/0" }
|
||
|
)
|
||
|
returns(true) { security_group.security_group_rules.count == (rules_count + 1) }
|
||
|
security_group_rule = security_group.security_group_rules.detect { |r| r.id == rule.id }
|
||
|
returns(true) { security_group_rule.attributes == rule.attributes }
|
||
|
end
|
||
|
|
||
|
tests("#destroy").succeeds do
|
||
|
rule = security_group.security_group_rules.create(
|
||
|
:parent_group_id => security_group.id,
|
||
|
:ip_protocol => 'tcp',
|
||
|
:from_port => 1234,
|
||
|
:to_port => 1234,
|
||
|
:ip_range => { "cidr" => "0.0.0.0/0" }
|
||
|
)
|
||
|
rule.destroy
|
||
|
returns(true) { rule.reload == nil }
|
||
|
end
|
||
|
end
|
||
|
ensure
|
||
|
security_group.destroy if security_group
|
||
|
end
|
||
|
end
|
||
|
end
|