fog--fog/tests/hp/requests/compute/security_group_rule_tests.rb

55 lines
2.0 KiB
Ruby

Shindo.tests("Fog::Compute[:hp] | security group requests", ['hp']) do
@security_group_rule_format = {
'from_port' => Integer,
'group' => Fog::Nullable::Hash,
'ip_protocol' => String,
'to_port' => Integer,
'parent_group_id' => Integer,
'ip_range' => {
'cidr' => String
},
'id' => Integer
}
tests('success') do
@security_group = Fog::Compute[:hp].security_groups.create(:name => 'fog_security_group', :description => 'tests group')
tests("tcp #create_security_group_rule('#{@security_group.id}', 'tcp', '80', '80', '0.0.0.0/0'}')").formats({'security_group_rule' => @security_group_rule_format}) do
data = Fog::Compute[:hp].create_security_group_rule(@security_group.id, 'tcp', '80', '80', '0.0.0.0/0').body
@sec_group_rule_id_1 = data['security_group_rule']['id']
data
end
tests("icmp #create_security_group_rule('#{@security_group.id}', 'icmp', '-1', '-1', '0.0.0.0/0'}')").formats({'security_group_rule' => @security_group_rule_format}) do
data = Fog::Compute[:hp].create_security_group_rule(@security_group.id, 'icmp', '-1', '-1', '0.0.0.0/0').body
@sec_group_rule_id_2 = data['security_group_rule']['id']
data
end
tests("tcp #delete_security_group_rule('#{@sec_group_rule_id_1}')").succeeds do
Fog::Compute[:hp].delete_security_group_rule(@sec_group_rule_id_1).body
end
tests("icmp #delete_security_group_rule('#{@sec_group_rule_id_2}')").succeeds do
Fog::Compute[:hp].delete_security_group_rule(@sec_group_rule_id_2).body
end
@security_group.destroy
end
tests('failure') do
tests("#create_security_group_rule(0, 'tcp', '80', '80', '0.0.0.0/0'}')").raises(Fog::Compute::HP::NotFound) do
Fog::Compute[:hp].create_security_group_rule(0, 'tcp', '80', '80', '0.0.0.0/0')
end
tests("#delete_security_group_rule(0)").raises(Fog::Compute::HP::NotFound) do
Fog::Compute[:hp].delete_security_group_rule(0)
end
end
end