2013-09-02 00:23:04 -04:00
|
|
|
Shindo.tests('Fog::Redshift[:aws] | cluster parameter group requests', ['aws']) do
|
2013-09-02 00:58:23 -04:00
|
|
|
pending if Fog.mocking?
|
2013-09-02 00:23:04 -04:00
|
|
|
suffix = rand(65536).to_s(16)
|
|
|
|
parameter_group = "test-cluster-parameter-group-#{suffix}"
|
|
|
|
|
|
|
|
@cluster_parameter_format = {
|
|
|
|
'Parameter' => {
|
|
|
|
"ParameterValue" => String,
|
|
|
|
"DataType" => String,
|
|
|
|
"Source" => String,
|
|
|
|
"IsModifiable" => Fog::Boolean,
|
|
|
|
"Description" => String,
|
|
|
|
"ParameterName" => String
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@cluster_parameters_format = {
|
|
|
|
"Parameters"=> [@cluster_parameter_format]
|
|
|
|
}
|
|
|
|
|
|
|
|
@cluster_parameter_group_format = {
|
|
|
|
'ClusterParameterGroup' => {
|
|
|
|
"ParameterGroupFamily" => String,
|
|
|
|
"Description" => String,
|
|
|
|
"ParameterGroupName" => String
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@cluster_parameter_groups_format = {
|
|
|
|
"ParameterGroups"=> [@cluster_parameter_group_format]
|
|
|
|
}
|
|
|
|
|
|
|
|
@modify_cluster_parameter_group_format = {
|
|
|
|
"ParameterGroupStatus" => String,
|
|
|
|
"ParameterGroupName" => String
|
|
|
|
}
|
|
|
|
|
|
|
|
tests('success') do
|
|
|
|
tests("create_cluster_parameter_group").formats(@cluster_parameter_group_format) do
|
|
|
|
body = Fog::AWS[:redshift].create_cluster_parameter_group(:parameter_group_name=> parameter_group,
|
|
|
|
:parameter_group_family=>"redshift-1.0",
|
|
|
|
:description=>'testing').body
|
|
|
|
body
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
tests("describe_cluster_parameter_groups").formats(@cluster_parameter_groups_format) do
|
|
|
|
body = Fog::AWS[:redshift].describe_cluster_parameter_groups.body
|
|
|
|
body
|
|
|
|
end
|
|
|
|
|
|
|
|
tests("describe_cluster_parameters").formats(@cluster_parameters_format) do
|
|
|
|
body = Fog::AWS[:redshift].describe_cluster_parameters(:parameter_group_name=>parameter_group).body
|
|
|
|
body
|
|
|
|
end
|
|
|
|
|
|
|
|
tests("modify_cluster_parameter_groups").formats(@modify_cluster_parameter_group_format) do
|
|
|
|
body = Fog::AWS[:redshift].modify_cluster_parameter_group(:parameter_group_name=>parameter_group,
|
|
|
|
:parameters=>{
|
|
|
|
:parameter_name=>'extra_float_digits',
|
|
|
|
:parameter_value=>2}).body
|
|
|
|
body
|
|
|
|
end
|
|
|
|
|
|
|
|
tests("delete_cluster_parameter_group") do
|
|
|
|
present = !Fog::AWS[:redshift].describe_cluster_parameter_groups(:parameter_group_name=>parameter_group).body['ParameterGroups'].empty?
|
|
|
|
tests("verify presence before deletion").returns(true) { present }
|
|
|
|
|
|
|
|
Fog::AWS[:redshift].delete_cluster_parameter_group(:parameter_group_name=>parameter_group)
|
|
|
|
|
|
|
|
not_present = Fog::AWS[:redshift].describe_cluster_parameter_groups(:parameter_group_name=>parameter_group).body['ParameterGroups'].empty?
|
|
|
|
tests("verify deletion").returns(true) { not_present }
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|