nagira 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,66 +42,67 @@ describe Nagira do
42
42
  #
43
43
 
44
44
  context "/_status/:host/_services" do
45
-
46
- context :single do
47
-
45
+
46
+ context :single do
47
+
48
48
  let (:url) { "/_status/#{host}/_services" }
49
49
  before (:each) do
50
50
  put url, @input.to_json, content_type
51
51
  end
52
-
52
+
53
53
  it_should_behave_like :put_status
54
-
54
+
55
55
  it "URL param hostname is higher priority than JSON" do
56
56
  pending
57
+ fail
57
58
  # put url, @input.merge({ "host_name" => "fake_host"}).to_json, content_type
58
59
 
59
- # out = JSON.parse last_response.body
60
+ # out = JSON.parse last_response.body
60
61
  # pp out
61
62
  # out["object"]["data"]["host_name"].should eq host
62
63
  end
63
-
64
+
64
65
  it "update with valid data" do
65
- last_response.should be_ok
66
+ expect(last_response).to be_ok
66
67
  end
67
-
68
+
68
69
  it 'Fails with missing data' do
69
70
  @input.keys.each do |key|
70
71
  data = @input.dup
71
72
  data.delete key
72
73
  put url, data.to_json, content_type
73
- last_response.status.should be 400
74
+ expect(last_response.status).to eq 400
74
75
  end
75
76
  end
76
77
  end
77
-
78
+
78
79
  context :multiple do
79
80
  let (:url) { "/_status/#{host}/_services" }
80
81
  before do
81
82
  put url, [@input, @input2].to_json, content_type
82
83
  end
83
-
84
+
84
85
  let (:out) { JSON.parse last_response.body }
85
-
86
+
86
87
  it_should_behave_like :put_status
87
-
88
- context "data check" do
88
+
89
+ context "data check" do
89
90
  subject { out["object"] }
90
-
91
- it { should be_a_kind_of Array }
92
- it { subject.size.should eq 2 }
91
+
92
+ it { expect(subject).to be_a_kind_of Array }
93
+ it { expect(subject.size).to eq 2 }
93
94
  end
94
95
  end
95
96
  end
96
-
97
+
97
98
  context "/_status/:host_name/_services/:service_description" do
98
99
  let(:url) { "/_status/#{host}/_services/PING" }
99
100
  before do
100
101
  put url, [{ return_code: 0, plugin_output: "All OK"}].to_json, content_type
101
102
  end
102
-
103
+
103
104
  it "writes status" do
104
- last_response.should be_ok
105
+ expect(last_response).to be_ok
105
106
  end
106
107
  it_should_behave_like :put_status
107
108
 
@@ -125,7 +126,7 @@ describe Nagira do
125
126
 
126
127
 
127
128
  context "/_status/:host_name/_services/:service_description/_return_code/:return_code/_plugin_output/:plugin_output" do
128
- it { pending "To be depreciated "}
129
+ it { pending "To be depreciated "; fail}
129
130
  end
130
131
 
131
132
  end # update /_hosts
@@ -1,31 +1,31 @@
1
- shared_examples_for :json_response do
2
- before (:each) do
1
+ shared_examples_for :json_response do
2
+ before (:each) do
3
3
  @ret = JSON.parse(last_response.body)
4
4
  end
5
5
  subject { @ret }
6
-
7
- it { should be_a_kind_of Hash }
8
- it { should have_key "result" }
9
- it { should have_key "object" }
6
+
7
+ it { expect(subject).to be_a_kind_of Hash }
8
+ it { expect(subject).to have_key "result" }
9
+ it { expect(subject).to have_key "object" }
10
10
 
11
11
  let (:obj) { subject["object"] }
12
12
 
13
13
  context :object do
14
14
  # subject { obj }
15
-
16
- it { obj.should be_a_kind_of Array }
17
- it {
18
- obj.each { |x| x.should be_a_kind_of Hash }
15
+
16
+ it { expect(obj).to be_a_kind_of Array }
17
+ it {
18
+ obj.each { |x| expect(x).to be_a_kind_of Hash }
19
19
  }
20
20
 
21
21
  context :data_keys do
22
-
22
+
23
23
  it do
24
- obj.each do |x|
25
- x.should have_key "data"
26
- x.should have_key "result"
27
- x.should have_key "messages"
28
- [true, false].should include x["result"]
24
+ obj.each do |x|
25
+ expect(x).to have_key "data"
26
+ expect(x).to have_key "result"
27
+ expect(x).to have_key "messages"
28
+ expect([true, false]).to include x["result"]
29
29
  end
30
30
  end
31
31
  end
@@ -33,31 +33,31 @@ shared_examples_for :json_response do
33
33
  end
34
34
 
35
35
  shared_examples_for :json_success_response do
36
- before (:each) do
36
+ before (:each) do
37
37
  @ret = JSON.parse(last_response.body)
38
38
  end
39
39
  subject { @ret }
40
-
40
+
41
41
  end
42
42
 
43
43
  shared_examples_for :write_to_nagios_cmd_file do
44
- before (:all) do
44
+ before (:all) do
45
45
  File.delete $nagios[:commands].path rescue nil
46
46
  end
47
47
  let (:cmd) { $nagios[:commands].path }
48
-
48
+
49
49
  it "writes to nagios.cmd file" do
50
- File.should exist(cmd)
51
- File.read(cmd).should =~ /^\[\d+\] PROCESS_(SERVICE|HOST)_CHECK_RESULT;#{host}/
50
+ expect(File).to exist(cmd)
51
+ expect(File.read(cmd)).to match(/^\[\d+\] PROCESS_(SERVICE|HOST)_CHECK_RESULT;#{host}/)
52
52
  end
53
53
 
54
- after (:each) do
54
+ after (:each) do
55
55
  File.delete $nagios[:commands].path rescue nil
56
56
  end
57
57
  end
58
58
 
59
59
 
60
- shared_examples_for :put_status do
60
+ shared_examples_for :put_status do
61
61
  it_should_behave_like :json_response
62
62
  it_should_behave_like :write_to_nagios_cmd_file
63
63
  end
@@ -1,13 +1,14 @@
1
1
  $: << File.dirname(__FILE__) + '/../lib/'
2
2
  require_relative '../lib/nagira.rb'
3
- require_relative '../lib/app.rb'
3
+ require_relative '../app/app.rb'
4
4
  require 'rack/test'
5
5
 
6
6
  IMPLEMENTED = {
7
7
  top: %w{ _api _status _objects _config _runtime},
8
8
  output: %w{ _list _state _full }, # Type of requests as in varaible @output
9
9
  hosts: %w{ archive tv },
10
- status: %w{ _services _servicecomments _hostcomments }
10
+ hostgoups: %w{ all linux },
11
+ status: %w{ _services _servicecomments _hostcomments}
11
12
  }
12
13
 
13
14
  RANDOM = %w{ _bla _foo bla foo ahdhjdjda }
@@ -1 +1 @@
1
- 0.3.3
1
+ 0.4.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nagira
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmytro Kovalov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-27 00:00:00.000000000 Z
11
+ date: 2014-12-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
- version: '0'
61
+ version: 3.1.x
62
62
  type: :runtime
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: 3.1.x
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sherlock_os
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -90,44 +90,44 @@ dependencies:
90
90
  name: rspec-core
91
91
  requirement: !ruby/object:Gem::Requirement
92
92
  requirements:
93
- - - '>='
93
+ - - ~>
94
94
  - !ruby/object:Gem::Version
95
- version: '0'
95
+ version: 3.1.x
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
- - - '>='
100
+ - - ~>
101
101
  - !ruby/object:Gem::Version
102
- version: '0'
102
+ version: 3.1.x
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: rspec-expectations
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
- - - '>='
107
+ - - ~>
108
108
  - !ruby/object:Gem::Version
109
- version: '0'
109
+ version: 3.1.x
110
110
  type: :runtime
111
111
  prerelease: false
112
112
  version_requirements: !ruby/object:Gem::Requirement
113
113
  requirements:
114
- - - '>='
114
+ - - ~>
115
115
  - !ruby/object:Gem::Version
116
- version: '0'
116
+ version: 3.1.x
117
117
  - !ruby/object:Gem::Dependency
118
118
  name: rspec-mocks
119
119
  requirement: !ruby/object:Gem::Requirement
120
120
  requirements:
121
- - - '>='
121
+ - - ~>
122
122
  - !ruby/object:Gem::Version
123
- version: '0'
123
+ version: 3.1.x
124
124
  type: :runtime
125
125
  prerelease: false
126
126
  version_requirements: !ruby/object:Gem::Requirement
127
127
  requirements:
128
- - - '>='
128
+ - - ~>
129
129
  - !ruby/object:Gem::Version
130
- version: '0'
130
+ version: 3.1.x
131
131
  - !ruby/object:Gem::Dependency
132
132
  name: ruby-nagios
133
133
  requirement: !ruby/object:Gem::Requirement
@@ -204,6 +204,20 @@ dependencies:
204
204
  - - ~>
205
205
  - !ruby/object:Gem::Version
206
206
  version: 1.0.3
207
+ - !ruby/object:Gem::Dependency
208
+ name: pry
209
+ requirement: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ~>
212
+ - !ruby/object:Gem::Version
213
+ version: 0.10.x
214
+ type: :development
215
+ prerelease: false
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ requirements:
218
+ - - ~>
219
+ - !ruby/object:Gem::Version
220
+ version: 0.10.x
207
221
  - !ruby/object:Gem::Dependency
208
222
  name: guard-brakeman
209
223
  requirement: !ruby/object:Gem::Requirement
@@ -224,14 +238,14 @@ dependencies:
224
238
  requirements:
225
239
  - - ~>
226
240
  - !ruby/object:Gem::Version
227
- version: 1.2.1
241
+ version: 4.x.x
228
242
  type: :development
229
243
  prerelease: false
230
244
  version_requirements: !ruby/object:Gem::Requirement
231
245
  requirements:
232
246
  - - ~>
233
247
  - !ruby/object:Gem::Version
234
- version: 1.2.1
248
+ version: 4.x.x
235
249
  - !ruby/object:Gem::Dependency
236
250
  name: yard
237
251
  requirement: !ruby/object:Gem::Requirement
@@ -278,21 +292,23 @@ extra_rdoc_files: []
278
292
  files:
279
293
  - History.md
280
294
  - Rakefile
295
+ - app/app.rb
296
+ - app/get/config.rb
297
+ - app/get/objects.rb
298
+ - app/get/status.rb
299
+ - app/get/status/hostgroups.rb
300
+ - app/put.rb
301
+ - app/put/host.rb
302
+ - app/put/status.rb
281
303
  - bin/nagira
282
304
  - bin/nagira-setup
283
305
  - config/defaults.rb
284
306
  - config/environment.rb
285
307
  - config/nagira.defaults
286
308
  - config/nagira.init_d
287
- - lib/app.rb
288
- - lib/app/routes/get/config.rb
289
- - lib/app/routes/get/objects.rb
290
- - lib/app/routes/get/status.rb
291
- - lib/app/routes/put.rb
292
- - lib/app/routes/put/host.rb
293
- - lib/app/routes/put/status.rb
294
309
  - lib/nagira.rb
295
310
  - lib/nagira/background_parse.rb
311
+ - lib/nagira/hostgroup.rb
296
312
  - lib/nagira/nagios.rb
297
313
  - lib/nagira/timed_parse.rb
298
314
  - lib/tasks/config.rake
@@ -305,6 +321,7 @@ files:
305
321
  - spec/01_data_format/03_api_spec.rb
306
322
  - spec/get/comments_spec.rb
307
323
  - spec/get/endpoints_spec.rb
324
+ - spec/get/hostgroup.rb
308
325
  - spec/get/hosts_spec.rb
309
326
  - spec/get/services_spec.rb
310
327
  - spec/put/host_spec.rb
@@ -354,3 +371,4 @@ signing_key:
354
371
  specification_version: 4
355
372
  summary: 'Nagira : Nagios RESTful API'
356
373
  test_files: []
374
+ has_rdoc: