Sha256: 3f3f11969eefdf944c997e4d139c48d9ece0a1680847894fdcfc294f9f55e863

Contents?: true

Size: 1.36 KB

Versions: 33

Compression:

Stored size: 1.36 KB

Contents

module Awspec::Generator
  module Spec
    class CloudwatchAlarm
      include Awspec::Helper::Finder
      def generate_all
        alarms = select_all_cloudwatch_alarms
        alarms.empty? && fail('Not Found alarm')
        ERB.new(alarm_spec_template, nil, '-').result(binding).chomp
      end

      def alarm_spec_template
        template = <<-'EOF'
<% alarms.each do |alarm| %>
describe cloudwatch_alarm('<%= alarm.alarm_name %>') do
  it { should exist }
<%- alarm.ok_actions.each do |action| -%>
  it { should have_ok_action('<%= action %>') }
<%- end -%>
<%- alarm.alarm_actions.each do |action| -%>
  it { should have_alarm_action('<%= action %>') }
<%- end -%>
<%- alarm.insufficient_data_actions.each do |action| -%>
  it { should have_insufficient_data_action('<%= action %>') }
<%- end -%>
  it { should belong_to_metric('<%= alarm.metric_name %>').namespace('<%= alarm.namespace %>') }
  its(:state_value) { should eq '<%= alarm.state_value %>' }
  its(:statistic) { should eq '<%= alarm.statistic %>' }
  its(:period) { should eq <%= alarm.period %> }
  its(:unit) { should eq '<%= alarm.unit %>' }
  its(:evaluation_periods)  { should eq <%= alarm.evaluation_periods %> }
  its(:threshold)  { should eq <%= alarm.threshold %> }
  its(:comparison_operator)  { should eq '<%= alarm.comparison_operator %>' }
end
<% end %>
EOF
        template
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
awspec-0.30.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.29.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.28.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.28.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.27.2 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.27.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.27.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.26.2 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.26.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.26.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.25.3 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.25.2 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.25.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.25.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.24.2 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.24.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.24.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.23.0 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.22.1 lib/awspec/generator/spec/cloudwatch_alarm.rb
awspec-0.22.0 lib/awspec/generator/spec/cloudwatch_alarm.rb