chef-handler-sns 1.2.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,22 @@
1
+ #
2
+ # Author:: Xabier de Zuazo (<xabier@zuazo.org>)
3
+ # Copyright:: Copyright (c) 2015 Xabier de Zuazo
4
+ # Copyright:: Copyright (c) 2014 Onddo Labs, SL.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
1
20
  require 'helper'
2
21
  require 'chef/exceptions'
3
22
 
@@ -5,146 +24,145 @@ class SnsConfig
5
24
  include Chef::Handler::Sns::Config
6
25
  end
7
26
 
8
- module Chef::Handler::Sns::Config
9
- class FakeOhai < Chef::Handler::Sns::Config::Ohai
10
- def intialize
11
- end
27
+ class ChefFakeOhai < Chef::Handler::Sns::Config::Ohai
28
+ def intialize
12
29
  end
13
30
  end
14
31
 
15
32
  describe Chef::Handler::Sns::Config do
16
- before do
17
- @config_params = {
18
- :access_key => '***AMAZON-KEY***',
19
- :secret_key => '***AMAZON-SECRET***',
20
- :token => '***AMAZON-TOKEN***',
21
- :topic_arn => 'arn:aws:sns:***',
33
+ let(:node) do
34
+ node = Chef::Node.new
35
+ node.name('test')
36
+ node
37
+ end
38
+ let(:sns_config) { SnsConfig.new }
39
+ let(:config_params) do
40
+ {
41
+ access_key: '***AMAZON-KEY***',
42
+ secret_key: '***AMAZON-SECRET***',
43
+ token: '***AMAZON-TOKEN***',
44
+ topic_arn: 'arn:aws:sns:***'
22
45
  }
23
- @node = Chef::Node.new
24
- @node.name('test')
25
- @sns_config = SnsConfig.new
26
46
  end
27
47
 
28
- it 'should read the configuration options on config initialization' do
29
- @sns_config.config_init(@config_params)
48
+ it 'reads the configuration options on config initialization' do
49
+ sns_config.config_init(config_params)
30
50
 
31
- assert_equal @sns_config.access_key, @config_params[:access_key]
32
- assert_equal @sns_config.secret_key, @config_params[:secret_key]
51
+ assert_equal config_params[:access_key], sns_config.access_key
52
+ assert_equal config_params[:secret_key], sns_config.secret_key
33
53
  end
34
54
 
35
- it 'should be able to change configuration options using method calls' do
36
- @sns_config.access_key(@config_params[:access_key])
37
- @sns_config.secret_key(@config_params[:secret_key])
55
+ it 'is able to change configuration options using method calls' do
56
+ sns_config.access_key(config_params[:access_key])
57
+ sns_config.secret_key(config_params[:secret_key])
38
58
 
39
- assert_equal @sns_config.access_key, @config_params[:access_key]
40
- assert_equal @sns_config.secret_key, @config_params[:secret_key]
59
+ assert_equal config_params[:access_key], sns_config.access_key
60
+ assert_equal config_params[:secret_key], sns_config.secret_key
41
61
  end
42
62
 
43
- [ :access_key, :secret_key, :topic_arn ].each do |required|
44
- it "should throw an exception when '#{required}' required field is not set" do
45
- @config_params.delete(required)
46
- @config_params.each { |key, value| @sns_config.send(key, value) }
63
+ [:access_key, :secret_key, :topic_arn].each do |required|
64
+ it "throws an exception when '#{required}' required field is not set" do
65
+ config_params.delete(required)
66
+ config_params.each { |key, value| sns_config.send(key, value) }
47
67
 
48
- assert_raises(Chef::Exceptions::ValidationFailed) { @sns_config.config_check }
68
+ assert_raises(Chef::Exceptions::ValidationFailed) do
69
+ sns_config.config_check
70
+ end
49
71
  end
50
72
  end
51
73
 
52
- [ :access_key, :secret_key, :region, :token, :topic_arn ].each do |option|
53
-
54
- it "should accept string values in '#{option}' option" do
55
- @sns_config.send(option, "test")
74
+ [:access_key, :secret_key, :region, :token, :topic_arn].each do |option|
75
+ it "accepts string values in '#{option}' option" do
76
+ sns_config.send(option, 'test')
56
77
  end
57
78
 
58
- it "should set '#{option}' option correctly" do
59
- @sns_config.send(option, "test")
79
+ it "sets '#{option}' option correctly" do
80
+ sns_config.send(option, 'test')
60
81
 
61
- assert_equal @sns_config.send(option), "test"
82
+ assert_equal 'test', sns_config.send(option)
62
83
  end
63
84
 
64
- [ true, 25, Object.new ].each do |bad_value|
65
- it "should throw and exception wen '#{option}' option is set to #{bad_value.to_s}" do
66
- assert_raises(Chef::Exceptions::ValidationFailed) { @sns_config.send(option, bad_value) }
85
+ [true, 25, Object.new].each do |bad_value|
86
+ it "throws and exception wen '#{option}' option is set to #{bad_value}" do
87
+ assert_raises(Chef::Exceptions::ValidationFailed) do
88
+ sns_config.send(option, bad_value)
89
+ end
67
90
  end
68
91
  end
69
92
  end
70
93
 
71
- it 'should accept false value to reset the token' do
72
- @sns_config.token(false)
73
- assert_equal @sns_config.token, false
94
+ it 'accepts false value to reset the token' do
95
+ sns_config.token(false)
96
+ assert_equal false, sns_config.token
74
97
  end
75
98
 
76
- it 'should throw an exception when the body template file does not exist' do
77
- @sns_config.body_template('/tmp/nonexistent-template.erb')
78
- ::File.stubs(:exists?).with(@sns_config.body_template).returns(false)
99
+ it 'throws an exception when the body template file does not exist' do
100
+ sns_config.body_template('/tmp/nonexistent-template.erb')
101
+ ::File.stubs(:exist?).with(sns_config.body_template).returns(false)
79
102
 
80
- assert_raises(Chef::Exceptions::ValidationFailed) { @sns_config.config_check }
103
+ assert_raises(Chef::Exceptions::ValidationFailed) do
104
+ sns_config.config_check
105
+ end
81
106
  end
82
107
 
83
108
  describe 'config_init' do
84
-
85
- it 'should accept valid config options' do
109
+ it 'accepts valid config options' do
86
110
  option = :access_key
87
111
  Chef::Log.expects(:warn).never
88
112
 
89
- @sns_config.config_init({ option => 'valid' })
113
+ sns_config.config_init(option => 'valid')
90
114
  end
91
115
 
92
- it 'should not accept invalid config options' do
116
+ it 'does not accept invalid config options' do
93
117
  option = :invalid_option
94
- assert !@sns_config.respond_to?(option)
118
+ assert !sns_config.respond_to?(option)
95
119
  Chef::Log.expects(:warn).once
96
120
 
97
- @sns_config.config_init({ option => 'none' })
121
+ sns_config.config_init(option => 'none')
98
122
  end
99
123
 
100
- it 'should not accept config options starting by "config_"' do
124
+ it 'does not accept config options starting by "config_"' do
101
125
  option = :config_check
102
- assert @sns_config.respond_to?(option)
126
+ assert sns_config.respond_to?(option)
103
127
  Chef::Log.expects(:warn).once
104
128
 
105
- @sns_config.config_init({ option => 'exists but not configurable' })
129
+ sns_config.config_init(option => 'exists but not configurable')
106
130
  end
107
-
108
131
  end
109
132
 
110
133
  describe 'config_check' do
134
+ it 'calls #config_from_ohai method' do
135
+ sns_config.access_key(config_params[:access_key])
136
+ sns_config.secret_key(config_params[:secret_key])
137
+ sns_config.topic_arn(config_params[:topic_arn])
138
+ sns_config.expects(:config_from_ohai).once
111
139
 
112
- it 'should call #config_from_ohai method' do
113
- @sns_config.access_key(@config_params[:access_key])
114
- @sns_config.secret_key(@config_params[:secret_key])
115
- @sns_config.topic_arn(@config_params[:topic_arn])
116
- @sns_config.expects(:config_from_ohai).once
117
-
118
- @sns_config.config_check(@node)
140
+ sns_config.config_check(node)
119
141
  end
120
-
121
142
  end
122
143
 
123
144
  describe 'config_from_ohai' do
124
145
  before do
125
- @fake_ohai = Chef::Handler::Sns::Config::FakeOhai.new(@node)
146
+ @fake_ohai = ChefFakeOhai.new(node)
126
147
  Chef::Handler::Sns::Config::Ohai.stubs(:new).returns(@fake_ohai)
127
148
  end
128
149
 
129
- it 'should create Config::Ohai object' do
150
+ it 'creates Config::Ohai object' do
130
151
  Chef::Handler::Sns::Config::Ohai.expects(:new).once.returns(@fake_ohai)
131
152
 
132
- @sns_config.config_from_ohai(@node)
153
+ sns_config.config_from_ohai(node)
133
154
  end
134
155
 
135
156
  [
136
- :region,
137
157
  :access_key,
138
158
  :secret_key,
139
- :token,
159
+ :token
140
160
  ].each do |method|
141
- it "should call Config::Ohai##{method} method" do
161
+ it "calls Config::Ohai##{method} method" do
142
162
  @fake_ohai.expects(method).once
143
163
 
144
- @sns_config.config_from_ohai(@node)
164
+ sns_config.config_from_ohai(node)
145
165
  end
146
166
  end
147
-
148
167
  end
149
-
150
168
  end
@@ -1,75 +1,85 @@
1
+ #
2
+ # Author:: Xabier de Zuazo (<xabier@zuazo.org>)
3
+ # Copyright:: Copyright (c) 2015 Xabier de Zuazo
4
+ # Copyright:: Copyright (c) 2014 Onddo Labs, SL.
5
+ # License:: Apache License, Version 2.0
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
1
20
  require 'helper'
2
21
 
3
22
  describe Chef::Handler::Sns::Config::Ohai do
4
- before do
5
- @node = Chef::Node.new
6
- @node.name('test')
7
- @node.set['ec2'] = {
8
- 'placement_availability_zone' => 'region1a',
9
- 'iam' => {
10
- 'security-credentials' => {
11
- 'iam-role1' => {
12
- 'AccessKeyId' => 'access_key1',
13
- 'SecretAccessKey' => 'secret_key1',
14
- 'Token' => 'token1',
23
+ let(:node) do
24
+ Chef::Node.new.tap do |node|
25
+ node.name('test')
26
+ node.set['ec2'] = {
27
+ 'placement_availability_zone' => 'region1a',
28
+ 'iam' => {
29
+ 'security-credentials' => {
30
+ 'iam-role1' => {
31
+ 'AccessKeyId' => 'access_key1',
32
+ 'SecretAccessKey' => 'secret_key1',
33
+ 'Token' => 'token1'
34
+ }
15
35
  }
16
36
  }
17
37
  }
18
- }
38
+ end
19
39
  end
40
+ let(:config) { Chef::Handler::Sns::Config::Ohai.new(node) }
41
+ let(:node_set_iam_roles) { node.set['ec2']['iam']['security-credentials'] }
20
42
 
21
43
  describe 'read_config' do
22
-
23
- it 'should read the region' do
24
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
25
- assert_equal config.region, 'region1'
44
+ it 'reads the region' do
45
+ assert_equal 'region1', config.region
26
46
  end
27
47
 
28
- it 'should not read the region when not set' do
29
- @node.set['ec2']['placement_availability_zone'] = nil
30
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
31
- assert_equal config.region, nil
48
+ it 'does not read the region when not set' do
49
+ node.set['ec2']['placement_availability_zone'] = nil
50
+ assert_equal nil, config.region
32
51
  end
33
52
 
34
- it 'should not read the credentials when has not IAM role' do
35
- @node.set['ec2'] = {}
36
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
37
- assert_equal config.access_key, nil
53
+ it 'does not read the credentials when has not IAM role' do
54
+ node.set['ec2'] = {}
55
+ assert_equal nil, config.access_key
38
56
  end
39
57
 
40
- it 'should read the access_key' do
41
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
42
- assert_equal config.access_key, 'access_key1'
58
+ it 'reads the access_key' do
59
+ assert_equal 'access_key1', config.access_key
43
60
  end
44
61
 
45
- it 'should not read the access_key when not set' do
46
- @node.set['ec2']['iam']['security-credentials']['iam-role1']['AccessKeyId'] = nil
47
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
48
- assert_equal config.access_key, nil
62
+ it 'does not read the access_key when not set' do
63
+ node_set_iam_roles['iam-role1']['AccessKeyId'] = nil
64
+ assert_equal nil, config.access_key
49
65
  end
50
66
 
51
- it 'should read the secret_key' do
52
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
53
- assert_equal config.secret_key, 'secret_key1'
67
+ it 'reads the secret_key' do
68
+ assert_equal 'secret_key1', config.secret_key
54
69
  end
55
70
 
56
- it 'should not read the secret_key when not set' do
57
- @node.set['ec2']['iam']['security-credentials']['iam-role1']['SecretAccessKey'] = nil
58
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
59
- assert_equal config.secret_key, nil
71
+ it 'does not read the secret_key when not set' do
72
+ node_set_iam_roles['iam-role1']['SecretAccessKey'] = nil
73
+ assert_equal nil, config.secret_key
60
74
  end
61
75
 
62
- it 'should read the security token' do
63
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
64
- assert_equal config.token, 'token1'
76
+ it 'reads the security token' do
77
+ assert_equal 'token1', config.token
65
78
  end
66
79
 
67
- it 'should not read the security token when not set' do
68
- @node.set['ec2']['iam']['security-credentials']['iam-role1']['Token'] = nil
69
- config = Chef::Handler::Sns::Config::Ohai.new(@node)
70
- assert_equal config.token, nil
80
+ it 'does not read the security token when not set' do
81
+ node_set_iam_roles['iam-role1']['Token'] = nil
82
+ assert_equal nil, config.token
71
83
  end
72
-
73
84
  end
74
-
75
85
  end
metadata CHANGED
@@ -1,130 +1,186 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chef-handler-sns
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
- - Onddo Labs, SL.
7
+ - Xabier de Zuazo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-04 00:00:00.000000000 Z
11
+ date: 2015-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.0'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: erubis
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: chef
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.9.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.9.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: '10.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0'
68
+ version: '10.0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: '5.7'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: '5.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: minitest-stub-const
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.5.0
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.5.0
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: mocha
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - "~>"
88
102
  - !ruby/object:Gem::Version
89
- version: '0'
103
+ version: '1.1'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '>='
108
+ - - "~>"
95
109
  - !ruby/object:Gem::Version
96
- version: '0'
110
+ version: '1.1'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: coveralls
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - '>='
115
+ - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: '0'
117
+ version: '0.7'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - '>='
122
+ - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: '0'
124
+ version: '0.7'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: simplecov
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - '>='
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.9'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.9'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rubocop
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: '0'
145
+ version: 0.35.0
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
- - - '>='
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.35.0
153
+ - !ruby/object:Gem::Dependency
154
+ name: should_not
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
123
158
  - !ruby/object:Gem::Version
124
- version: '0'
159
+ version: '1.1'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: '1.1'
167
+ - !ruby/object:Gem::Dependency
168
+ name: yard
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: '0.8'
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: '0.8'
125
181
  description: Chef report handler to send Amazon SNS notifications on failures or changes,
126
- includes IAM roles support
127
- email: team@onddo.com
182
+ includes IAM roles support.
183
+ email: xabier@zuazo.org
128
184
  executables: []
129
185
  extensions: []
130
186
  extra_rdoc_files: []
@@ -132,15 +188,15 @@ files:
132
188
  - LICENSE
133
189
  - README.md
134
190
  - lib/chef/handler/sns.rb
135
- - lib/chef/handler/sns/templates/body.erb
136
191
  - lib/chef/handler/sns/config.rb
137
192
  - lib/chef/handler/sns/config/ohai.rb
193
+ - lib/chef/handler/sns/templates/body.erb
138
194
  - lib/chef/handler/sns/version.rb
139
195
  - test/helper.rb
140
196
  - test/test_chef_handler_sns.rb
141
- - test/test_chef_handler_sns_config_ohai.rb
142
197
  - test/test_chef_handler_sns_config.rb
143
- homepage: http://onddo.github.io/chef-handler-sns
198
+ - test/test_chef_handler_sns_config_ohai.rb
199
+ homepage: http://zuazo.github.io/chef-handler-sns
144
200
  licenses:
145
201
  - Apache-2.0
146
202
  metadata: {}
@@ -150,22 +206,23 @@ require_paths:
150
206
  - lib
151
207
  required_ruby_version: !ruby/object:Gem::Requirement
152
208
  requirements:
153
- - - '>='
209
+ - - ">="
154
210
  - !ruby/object:Gem::Version
155
- version: '0'
211
+ version: 2.0.0
156
212
  required_rubygems_version: !ruby/object:Gem::Requirement
157
213
  requirements:
158
- - - '>='
214
+ - - ">="
159
215
  - !ruby/object:Gem::Version
160
216
  version: '0'
161
217
  requirements: []
162
218
  rubyforge_project:
163
- rubygems_version: 2.0.6
219
+ rubygems_version: 2.2.2
164
220
  signing_key:
165
221
  specification_version: 4
166
222
  summary: Chef SNS reports
167
223
  test_files:
168
- - test/helper.rb
169
224
  - test/test_chef_handler_sns.rb
225
+ - test/helper.rb
170
226
  - test/test_chef_handler_sns_config_ohai.rb
171
227
  - test/test_chef_handler_sns_config.rb
228
+ has_rdoc: