File: cluster_parameter_group_tests.rb

package info (click to toggle)
ruby-fog-aws 3.33.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,180 kB
  • sloc: ruby: 75,405; javascript: 14; makefile: 9; sh: 4
file content (76 lines) | stat: -rw-r--r-- 2,900 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Shindo.tests('Fog::Redshift[:aws] | cluster parameter group requests', ['aws']) do
  pending if Fog.mocking?
  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