mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
44 lines
1.7 KiB
Ruby
44 lines
1.7 KiB
Ruby
Shindo.tests('Fog::Redshift[:aws] | cluster security group requests', ['aws']) do
|
|
pending if Fog.mocking?
|
|
suffix = rand(65536).to_s(16)
|
|
identifier = "test-cluster-security-group-#{suffix}"
|
|
|
|
@cluster_security_group_format = {
|
|
"ClusterSecurityGroup" => {
|
|
"EC2SecurityGroups" => Fog::Nullable::Array,
|
|
"IPRanges" => Fog::Nullable::Array,
|
|
"Description" => String,
|
|
"ClusterSecurityGroupName" => String
|
|
}
|
|
}
|
|
|
|
@describe_cluster_security_groups_format = {
|
|
"ClusterSecurityGroups" => [@cluster_security_group_format]
|
|
}
|
|
|
|
|
|
tests('success') do
|
|
tests("create_cluster_security_group").formats(@cluster_security_group_format) do
|
|
body = Fog::AWS[:redshift].create_cluster_security_group(:cluster_security_group_name => identifier, :description => 'testing').body
|
|
body
|
|
end
|
|
|
|
|
|
tests("describe_cluster_security_groups").formats(@describe_cluster_security_groups_format) do
|
|
body = Fog::AWS[:redshift].describe_cluster_security_groups.body
|
|
body
|
|
end
|
|
|
|
tests("delete_cluster_security_group") do
|
|
present = !Fog::AWS[:redshift].describe_cluster_security_groups(:cluster_security_group_name => identifier).body['ClusterSecurityGroups'].empty?
|
|
tests("verify presence before deletion").returns(true) { present }
|
|
|
|
Fog::AWS[:redshift].delete_cluster_security_group(:cluster_security_group_name => identifier)
|
|
|
|
not_present = Fog::AWS[:redshift].describe_cluster_security_groups(:cluster_security_group_name => identifier).body['ClusterSecurityGroups'].empty?
|
|
tests("verify deletion").returns(true) { not_present }
|
|
end
|
|
|
|
end
|
|
|
|
end
|