flapjack-diner 2.0.0.pre.alpha.2 → 2.0.0.pre.alpha.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +214 -89
- data/lib/flapjack-diner.rb +3 -3
- data/lib/flapjack-diner/resources/{blackholes.rb → acceptors.rb} +20 -16
- data/lib/flapjack-diner/resources/media.rb +2 -2
- data/lib/flapjack-diner/resources/{rules.rb → rejectors.rb} +20 -16
- data/lib/flapjack-diner/resources/relationships.rb +35 -23
- data/lib/flapjack-diner/resources/tags.rb +2 -2
- data/lib/flapjack-diner/version.rb +1 -1
- data/spec/resources/acceptors_spec.rb +278 -0
- data/spec/resources/contacts_spec.rb +8 -8
- data/spec/resources/rejectors_spec.rb +278 -0
- data/spec/resources/relationships_spec.rb +5 -5
- data/spec/support/fixture_data.rb +95 -71
- metadata +8 -8
- data/spec/resources/blackholes_spec.rb +0 -278
- data/spec/resources/rules_spec.rb +0 -278
@@ -176,29 +176,29 @@ describe Flapjack::Diner::Resources::Contacts, :pact => true do
|
|
176
176
|
expect(Flapjack::Diner.context).to eq(:included => resultify(resp_included))
|
177
177
|
end
|
178
178
|
|
179
|
-
it 'returns a contact with media and
|
179
|
+
it 'returns a contact with media and acceptors' do
|
180
180
|
resp_data = contact_json(contact_data).merge(:relationships => contact_rel(contact_data))
|
181
181
|
resp_data[:relationships][:media][:data] = [
|
182
182
|
{:type => 'medium', :id => email_data[:id]}
|
183
183
|
]
|
184
|
-
resp_data[:relationships][:
|
185
|
-
{:type => '
|
184
|
+
resp_data[:relationships][:acceptors][:data] = [
|
185
|
+
{:type => 'acceptor', :id => acceptor_data[:id]}
|
186
186
|
]
|
187
187
|
resp_included = [
|
188
188
|
medium_json(email_data).merge(:relationships => medium_rel(email_data)),
|
189
|
-
|
189
|
+
acceptor_json(acceptor_data).merge(:relationships => acceptor_rel(acceptor_data))
|
190
190
|
]
|
191
191
|
|
192
|
-
flapjack.given("a contact with one medium and one
|
193
|
-
upon_receiving("a GET request for a single contact with media and
|
192
|
+
flapjack.given("a contact with one medium and one acceptor exists").
|
193
|
+
upon_receiving("a GET request for a single contact with media and acceptors").
|
194
194
|
with(:method => :get, :path => "/contacts/#{contact_data[:id]}",
|
195
|
-
:query => 'include=media%
|
195
|
+
:query => 'include=media%2Cacceptors').
|
196
196
|
will_respond_with(
|
197
197
|
:status => 200,
|
198
198
|
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
199
199
|
:body => {:data => resp_data, :included => resp_included})
|
200
200
|
|
201
|
-
result = Flapjack::Diner.contacts(contact_data[:id], :include => ['media', '
|
201
|
+
result = Flapjack::Diner.contacts(contact_data[:id], :include => ['media', 'acceptors'])
|
202
202
|
expect(result).not_to be_nil
|
203
203
|
expect(result).to eq(resultify(resp_data))
|
204
204
|
expect(Flapjack::Diner.context).to eq(:included => [resultify(resp_included[0]), resultify(resp_included[1])])
|
@@ -0,0 +1,278 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'flapjack-diner'
|
3
|
+
|
4
|
+
describe Flapjack::Diner::Resources::Rejectors, :pact => true do
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
Flapjack::Diner.base_uri('localhost:19081')
|
8
|
+
Flapjack::Diner.logger = nil
|
9
|
+
end
|
10
|
+
|
11
|
+
context 'create' do
|
12
|
+
|
13
|
+
it "submits a POST request for a rejector" do
|
14
|
+
req_data = rejector_json(rejector_data).merge(
|
15
|
+
:relationships => {
|
16
|
+
:contact => {
|
17
|
+
:data => {
|
18
|
+
:type => 'contact',
|
19
|
+
:id => contact_data[:id]
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
)
|
24
|
+
resp_data = rejector_json(rejector_data).merge(:relationships => rejector_rel(rejector_data))
|
25
|
+
|
26
|
+
flapjack.given("a contact exists").
|
27
|
+
upon_receiving("a POST request with one rejector").
|
28
|
+
with(:method => :post, :path => '/rejectors',
|
29
|
+
:headers => {'Content-Type' => 'application/vnd.api+json'},
|
30
|
+
:body => {:data => req_data}).
|
31
|
+
will_respond_with(
|
32
|
+
:status => 201,
|
33
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
34
|
+
:body => {:data => resp_data}
|
35
|
+
)
|
36
|
+
|
37
|
+
result = Flapjack::Diner.create_rejectors(rejector_data.merge(:contact => contact_data[:id]))
|
38
|
+
expect(result).not_to be_nil
|
39
|
+
expect(result).to eq(resultify(resp_data))
|
40
|
+
end
|
41
|
+
|
42
|
+
it "submits a POST request for several rejectors" do
|
43
|
+
req_data = [rejector_json(rejector_data).merge(
|
44
|
+
:relationships => {
|
45
|
+
:contact => {
|
46
|
+
:data => {
|
47
|
+
:type => 'contact',
|
48
|
+
:id => contact_data[:id]
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
), rejector_json(rejector_2_data).merge(
|
53
|
+
:relationships => {
|
54
|
+
:contact => {
|
55
|
+
:data => {
|
56
|
+
:type => 'contact',
|
57
|
+
:id => contact_data[:id]
|
58
|
+
}
|
59
|
+
}
|
60
|
+
}
|
61
|
+
)]
|
62
|
+
resp_data = [
|
63
|
+
rejector_json(rejector_data).merge(:relationships => rejector_rel(rejector_data)),
|
64
|
+
rejector_json(rejector_2_data).merge(:relationships => rejector_rel(rejector_2_data))
|
65
|
+
]
|
66
|
+
|
67
|
+
flapjack.given("a contact exists").
|
68
|
+
upon_receiving("a POST request with two rejectors").
|
69
|
+
with(:method => :post, :path => '/rejectors',
|
70
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; ext=bulk'},
|
71
|
+
:body => {:data => req_data}).
|
72
|
+
will_respond_with(
|
73
|
+
:status => 201,
|
74
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
75
|
+
:body => {:data => resp_data}
|
76
|
+
)
|
77
|
+
|
78
|
+
result = Flapjack::Diner.create_rejectors(rejector_data.merge(:contact => contact_data[:id]),
|
79
|
+
rejector_2_data.merge(:contact => contact_data[:id]))
|
80
|
+
expect(result).not_to be_nil
|
81
|
+
expect(result).to eq(resultify(resp_data))
|
82
|
+
end
|
83
|
+
|
84
|
+
# TODO error due to invalid data
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
context 'read' do
|
89
|
+
|
90
|
+
it "submits a GET request for all rejectors" do
|
91
|
+
resp_data = [rejector_json(rejector_data).merge(:relationships => rejector_rel(rejector_data))]
|
92
|
+
|
93
|
+
flapjack.given("a rejector exists").
|
94
|
+
upon_receiving("a GET request for all rejectors").
|
95
|
+
with(:method => :get, :path => '/rejectors').
|
96
|
+
will_respond_with(
|
97
|
+
:status => 200,
|
98
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
99
|
+
:body => {:data => resp_data} )
|
100
|
+
|
101
|
+
result = Flapjack::Diner.rejectors
|
102
|
+
expect(result).not_to be_nil
|
103
|
+
expect(result).to eq(resultify(resp_data))
|
104
|
+
end
|
105
|
+
|
106
|
+
it "submits a GET request for one rejector" do
|
107
|
+
resp_data = rejector_json(rejector_data).merge(:relationships => rejector_rel(rejector_data))
|
108
|
+
|
109
|
+
flapjack.given("a rejector exists").
|
110
|
+
upon_receiving("a GET request for a single rejector").
|
111
|
+
with(:method => :get, :path => "/rejectors/#{rejector_data[:id]}").
|
112
|
+
will_respond_with(
|
113
|
+
:status => 200,
|
114
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
115
|
+
:body => {:data => resp_data}
|
116
|
+
)
|
117
|
+
|
118
|
+
result = Flapjack::Diner.rejectors(rejector_data[:id])
|
119
|
+
expect(result).not_to be_nil
|
120
|
+
expect(result).to eq(resultify(resp_data))
|
121
|
+
end
|
122
|
+
|
123
|
+
it "submits a GET request for several rejectors" do
|
124
|
+
resp_data = [
|
125
|
+
rejector_json(rejector_data).merge(:relationships => rejector_rel(rejector_data)),
|
126
|
+
rejector_json(rejector_2_data).merge(:relationships => rejector_rel(rejector_2_data))
|
127
|
+
]
|
128
|
+
|
129
|
+
rejectors_data = [rejector_data.merge(:type => 'rejector'), rejector_2_data.merge(:type => 'rejector')]
|
130
|
+
|
131
|
+
flapjack.given("two rejectors exist").
|
132
|
+
upon_receiving("a GET request for two rejectors").
|
133
|
+
with(:method => :get, :path => "/rejectors",
|
134
|
+
:query => "filter%5B%5D=id%3A#{rejector_data[:id]}%7C#{rejector_2_data[:id]}").
|
135
|
+
will_respond_with(
|
136
|
+
:status => 200,
|
137
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
138
|
+
:body => {:data => resp_data} )
|
139
|
+
|
140
|
+
result = Flapjack::Diner.rejectors(rejector_data[:id], rejector_2_data[:id])
|
141
|
+
expect(result).not_to be_nil
|
142
|
+
expect(result).to eq(resultify(resp_data))
|
143
|
+
end
|
144
|
+
|
145
|
+
it "can't find the rejector to read" do
|
146
|
+
flapjack.given("no data exists").
|
147
|
+
upon_receiving("a GET request for a single rejector").
|
148
|
+
with(:method => :get, :path => "/rejectors/#{rejector_data[:id]}").
|
149
|
+
will_respond_with(
|
150
|
+
:status => 404,
|
151
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
152
|
+
:body => {:errors => [{
|
153
|
+
:status => '404',
|
154
|
+
:detail => "could not find Rejector record, id: '#{rejector_data[:id]}'"
|
155
|
+
}]}
|
156
|
+
)
|
157
|
+
|
158
|
+
result = Flapjack::Diner.rejectors(rejector_data[:id])
|
159
|
+
expect(result).to be_nil
|
160
|
+
expect(Flapjack::Diner.last_error).to eq([{:status => '404',
|
161
|
+
:detail => "could not find Rejector record, id: '#{rejector_data[:id]}'"}])
|
162
|
+
end
|
163
|
+
|
164
|
+
end
|
165
|
+
|
166
|
+
# # Not immediately relevant, no data fields to update until time_restrictions are fixed
|
167
|
+
# context 'update' do
|
168
|
+
# it 'submits a PUT request for a rejector' do
|
169
|
+
# flapjack.given("a rejector exists").
|
170
|
+
# upon_receiving("a PUT request for a single rejector").
|
171
|
+
# with(:method => :put,
|
172
|
+
# :path => "/rejectors/#{rejector_data[:id]}",
|
173
|
+
# :body => {:rejectors => {:id => rejector_data[:id], :time_restrictions => []}},
|
174
|
+
# :headers => {'Content-Type' => 'application/vnd.api+json'}).
|
175
|
+
# will_respond_with(
|
176
|
+
# :status => 204,
|
177
|
+
# :body => '' )
|
178
|
+
|
179
|
+
# result = Flapjack::Diner.update_rejectors(:id => rejector_data[:id], :time_restrictions => [])
|
180
|
+
# expect(result).to be_a(TrueClass)
|
181
|
+
# end
|
182
|
+
|
183
|
+
# it 'submits a PUT request for several rejectors' do
|
184
|
+
# flapjack.given("two rejectors exist").
|
185
|
+
# upon_receiving("a PUT request for two rejectors").
|
186
|
+
# with(:method => :put,
|
187
|
+
# :path => "/rejectors/#{rejector_data[:id]},#{rejector_2_data[:id]}",
|
188
|
+
# :body => {:rejectors => [{:id => rejector_data[:id], :time_restrictions => []},
|
189
|
+
# {:id => rejector_2_data[:id], :enabled => true}]},
|
190
|
+
# :headers => {'Content-Type' => 'application/vnd.api+json'}).
|
191
|
+
# will_respond_with(
|
192
|
+
# :status => 204,
|
193
|
+
# :body => '' )
|
194
|
+
|
195
|
+
# result = Flapjack::Diner.update_rejectors(
|
196
|
+
# {:id => rejector_data[:id], :time_restrictions => []},
|
197
|
+
# {:id => rejector_2_data[:id], :enabled => true})
|
198
|
+
# expect(result).to be_a(TrueClass)
|
199
|
+
# end
|
200
|
+
|
201
|
+
# it "can't find the rejector to update" do
|
202
|
+
# flapjack.given("no data exists").
|
203
|
+
# upon_receiving("a PUT request for a single rejector").
|
204
|
+
# with(:method => :put,
|
205
|
+
# :path => "/rejectors/#{rejector_data[:id]}",
|
206
|
+
# :body => {:rejectors => {:id => rejector_data[:id], :time_restrictions => []}},
|
207
|
+
# :headers => {'Content-Type' => 'application/vnd.api+json'}).
|
208
|
+
# will_respond_with(
|
209
|
+
# :status => 404,
|
210
|
+
# :headers => {'Content-Type' => 'application/vnd.api+json; charset=utf-8'},
|
211
|
+
# :body => {:errors => [{
|
212
|
+
# :status => '404',
|
213
|
+
# :detail => "could not find Rejector records, ids: '#{rejector_data[:id]}'"
|
214
|
+
# }]}
|
215
|
+
# )
|
216
|
+
|
217
|
+
# result = Flapjack::Diner.update_rejectors(:id => rejector_data[:id], :time_restrictions => [])
|
218
|
+
# expect(result).to be_nil
|
219
|
+
# expect(Flapjack::Diner.last_error).to eq([{:status => '404',
|
220
|
+
# :detail => "could not find Rejector records, ids: '#{rejector_data[:id]}'"}])
|
221
|
+
# end
|
222
|
+
# end
|
223
|
+
|
224
|
+
context 'delete' do
|
225
|
+
|
226
|
+
it "submits a DELETE request for a rejector" do
|
227
|
+
flapjack.given("a rejector exists").
|
228
|
+
upon_receiving("a DELETE request for a single rejector").
|
229
|
+
with(:method => :delete,
|
230
|
+
:path => "/rejectors/#{rejector_data[:id]}",
|
231
|
+
:body => nil).
|
232
|
+
will_respond_with(:status => 204,
|
233
|
+
:body => '')
|
234
|
+
|
235
|
+
result = Flapjack::Diner.delete_rejectors(rejector_data[:id])
|
236
|
+
expect(result).to be_a(TrueClass)
|
237
|
+
end
|
238
|
+
|
239
|
+
it "submits a DELETE request for several rejectors" do
|
240
|
+
rejectors_data = [{:type => 'rejector', :id => rejector_data[:id]},
|
241
|
+
{:type => 'rejector', :id => rejector_2_data[:id]}]
|
242
|
+
|
243
|
+
flapjack.given("two rejectors exist").
|
244
|
+
upon_receiving("a DELETE request for two rejectors").
|
245
|
+
with(:method => :delete,
|
246
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; ext=bulk'},
|
247
|
+
:path => "/rejectors",
|
248
|
+
:body => {:data => rejectors_data}).
|
249
|
+
will_respond_with(:status => 204,
|
250
|
+
:body => '')
|
251
|
+
|
252
|
+
result = Flapjack::Diner.delete_rejectors(rejector_data[:id], rejector_2_data[:id])
|
253
|
+
expect(result).to be_a(TrueClass)
|
254
|
+
end
|
255
|
+
|
256
|
+
it "can't find the rejector to delete" do
|
257
|
+
flapjack.given("no data exists").
|
258
|
+
upon_receiving("a DELETE request for a single rejector").
|
259
|
+
with(:method => :delete,
|
260
|
+
:path => "/rejectors/#{rejector_data[:id]}",
|
261
|
+
:body => nil).
|
262
|
+
will_respond_with(
|
263
|
+
:status => 404,
|
264
|
+
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
265
|
+
:body => {:errors => [{
|
266
|
+
:status => '404',
|
267
|
+
:detail => "could not find Rejector record, id: '#{rejector_data[:id]}'"
|
268
|
+
}]}
|
269
|
+
)
|
270
|
+
|
271
|
+
result = Flapjack::Diner.delete_rejectors(rejector_data[:id])
|
272
|
+
expect(result).to be_nil
|
273
|
+
expect(Flapjack::Diner.last_error).to eq([{:status => '404',
|
274
|
+
:detail => "could not find Rejector record, id: '#{rejector_data[:id]}'"}])
|
275
|
+
end
|
276
|
+
end
|
277
|
+
|
278
|
+
end
|
@@ -73,21 +73,21 @@ describe Flapjack::Diner::Resources::Relationships, :pact => true do
|
|
73
73
|
it 'gets tags for a check with full tag and rule record' do
|
74
74
|
included_data = [
|
75
75
|
tag_json(tag_data).merge(:relationships => tag_rel(tag_data)),
|
76
|
-
|
76
|
+
acceptor_json(acceptor_data).merge(:relationships => acceptor_rel(acceptor_data))
|
77
77
|
]
|
78
78
|
|
79
|
-
flapjack.given("a check with a tag and
|
80
|
-
upon_receiving("a GET request for all tags on a check, with full tag and
|
79
|
+
flapjack.given("a check with a tag and an acceptor exists").
|
80
|
+
upon_receiving("a GET request for all tags on a check, with full tag and acceptor records").
|
81
81
|
with(:method => :get,
|
82
82
|
:path => "/checks/#{check_data[:id]}/tags",
|
83
|
-
:query => 'include=tags.
|
83
|
+
:query => 'include=tags.acceptors').
|
84
84
|
will_respond_with(
|
85
85
|
:status => 200,
|
86
86
|
:headers => {'Content-Type' => 'application/vnd.api+json; supported-ext=bulk; charset=utf-8'},
|
87
87
|
:body => {:data => [{:id => tag_data[:name], :type => 'tag'}],
|
88
88
|
:included => included_data})
|
89
89
|
|
90
|
-
result = Flapjack::Diner.check_link_tags(check_data[:id], :include => '
|
90
|
+
result = Flapjack::Diner.check_link_tags(check_data[:id], :include => 'acceptors')
|
91
91
|
expect(result).to eq([{:id => tag_data[:name], :type => 'tag'}])
|
92
92
|
expect(Flapjack::Diner.context[:included]).to eq([resultify(included_data[0]),
|
93
93
|
resultify(included_data[1])])
|
@@ -74,62 +74,62 @@ module FixtureData
|
|
74
74
|
{
|
75
75
|
:alerting_media => {
|
76
76
|
:links => {
|
77
|
-
:self => "http
|
78
|
-
:related => "http
|
77
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/alerting_media",
|
78
|
+
:related => "http://#{api_host}/checks/#{id}/alerting_media"
|
79
79
|
}
|
80
80
|
},
|
81
81
|
:contacts => {
|
82
82
|
:links => {
|
83
|
-
:self => "http
|
84
|
-
:related => "http
|
83
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/contacts",
|
84
|
+
:related => "http://#{api_host}/checks/#{id}/contacts"
|
85
85
|
}
|
86
86
|
},
|
87
87
|
:current_scheduled_maintenances => {
|
88
88
|
:links => {
|
89
|
-
:self => "http
|
90
|
-
:related => "http
|
89
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/current_scheduled_maintenances",
|
90
|
+
:related => "http://#{api_host}/checks/#{id}/current_scheduled_maintenances"
|
91
91
|
}
|
92
92
|
},
|
93
93
|
:current_state => {
|
94
94
|
:links => {
|
95
|
-
:self => "http
|
96
|
-
:related => "http
|
95
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/current_state",
|
96
|
+
:related => "http://#{api_host}/checks/#{id}/current_state"
|
97
97
|
}
|
98
98
|
},
|
99
99
|
:current_unscheduled_maintenance => {
|
100
100
|
:links => {
|
101
|
-
:self => "http
|
102
|
-
:related => "http
|
101
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/current_unscheduled_maintenance",
|
102
|
+
:related => "http://#{api_host}/checks/#{id}/current_unscheduled_maintenance"
|
103
103
|
}
|
104
104
|
},
|
105
105
|
:latest_notifications => {
|
106
106
|
:links => {
|
107
|
-
:self => "http
|
108
|
-
:related => "http
|
107
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/latest_notifications",
|
108
|
+
:related => "http://#{api_host}/checks/#{id}/latest_notifications"
|
109
109
|
}
|
110
110
|
},
|
111
111
|
:scheduled_maintenances => {
|
112
112
|
:links => {
|
113
|
-
:self => "http
|
114
|
-
:related => "http
|
113
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/scheduled_maintenances",
|
114
|
+
:related => "http://#{api_host}/checks/#{id}/scheduled_maintenances"
|
115
115
|
}
|
116
116
|
},
|
117
117
|
:states => {
|
118
118
|
:links => {
|
119
|
-
:self => "http
|
120
|
-
:related => "http
|
119
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/states",
|
120
|
+
:related => "http://#{api_host}/checks/#{id}/states"
|
121
121
|
}
|
122
122
|
},
|
123
123
|
:tags => {
|
124
124
|
:links => {
|
125
|
-
:self => "http
|
126
|
-
:related => "http
|
125
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/tags",
|
126
|
+
:related => "http://#{api_host}/checks/#{id}/tags"
|
127
127
|
}
|
128
128
|
},
|
129
129
|
:unscheduled_maintenances => {
|
130
130
|
:links => {
|
131
|
-
:self => "http
|
132
|
-
:related => "http
|
131
|
+
:self => "http://#{api_host}/checks/#{id}/relationships/unscheduled_maintenances",
|
132
|
+
:related => "http://#{api_host}/checks/#{id}/unscheduled_maintenances"
|
133
133
|
}
|
134
134
|
}
|
135
135
|
}
|
@@ -162,10 +162,10 @@ module FixtureData
|
|
162
162
|
def contact_rel(co_data)
|
163
163
|
id = co_data[:id]
|
164
164
|
{
|
165
|
-
:
|
165
|
+
:acceptors => {
|
166
166
|
:links => {
|
167
|
-
:self => "http://#{api_host}/contacts/#{id}/relationships/
|
168
|
-
:related => "http://#{api_host}/contacts/#{id}/
|
167
|
+
:self => "http://#{api_host}/contacts/#{id}/relationships/acceptors",
|
168
|
+
:related => "http://#{api_host}/contacts/#{id}/acceptors"
|
169
169
|
}
|
170
170
|
},
|
171
171
|
:checks => {
|
@@ -180,10 +180,10 @@ module FixtureData
|
|
180
180
|
:related => "http://#{api_host}/contacts/#{id}/media"
|
181
181
|
}
|
182
182
|
},
|
183
|
-
:
|
183
|
+
:rejectors => {
|
184
184
|
:links => {
|
185
|
-
:self => "http://#{api_host}/contacts/#{id}/relationships/
|
186
|
-
:related => "http://#{api_host}/contacts/#{id}/
|
185
|
+
:self => "http://#{api_host}/contacts/#{id}/relationships/rejectors",
|
186
|
+
:related => "http://#{api_host}/contacts/#{id}/rejectors"
|
187
187
|
}
|
188
188
|
}
|
189
189
|
}
|
@@ -238,8 +238,8 @@ module FixtureData
|
|
238
238
|
{
|
239
239
|
:check => {
|
240
240
|
:links => {
|
241
|
-
:self => "http
|
242
|
-
:related => "http
|
241
|
+
:self => "http://#{api_host}/#{type}_maintenances/#{id}/relationships/check",
|
242
|
+
:related => "http://#{api_host}/#{type}_maintenances/#{id}/check"
|
243
243
|
}
|
244
244
|
}
|
245
245
|
}
|
@@ -283,6 +283,12 @@ module FixtureData
|
|
283
283
|
def medium_rel(me_data)
|
284
284
|
id = me_data[:id]
|
285
285
|
{
|
286
|
+
:acceptors => {
|
287
|
+
:links => {
|
288
|
+
:self => "http://#{api_host}/media/#{id}/relationships/acceptors",
|
289
|
+
:related => "http://#{api_host}/media/#{id}/acceptors"
|
290
|
+
}
|
291
|
+
},
|
286
292
|
:alerting_checks => {
|
287
293
|
:links => {
|
288
294
|
:self => "http://#{api_host}/media/#{id}/relationships/alerting_checks",
|
@@ -295,102 +301,102 @@ module FixtureData
|
|
295
301
|
:related => "http://#{api_host}/media/#{id}/contact"
|
296
302
|
}
|
297
303
|
},
|
298
|
-
:
|
304
|
+
:rejectors => {
|
299
305
|
:links => {
|
300
|
-
:self => "http://#{api_host}/media/#{id}/relationships/
|
301
|
-
:related => "http://#{api_host}/media/#{id}/
|
306
|
+
:self => "http://#{api_host}/media/#{id}/relationships/rejectors",
|
307
|
+
:related => "http://#{api_host}/media/#{id}/rejectors"
|
302
308
|
}
|
303
309
|
}
|
304
310
|
}
|
305
311
|
end
|
306
312
|
|
307
|
-
def
|
308
|
-
@
|
313
|
+
def acceptor_data
|
314
|
+
@acceptor_data ||= {
|
309
315
|
:id => '05983623-fcef-42da-af44-ed6990b500fa',
|
310
316
|
:conditions_list => 'critical'
|
311
317
|
}
|
312
318
|
end
|
313
319
|
|
314
|
-
def
|
315
|
-
@
|
320
|
+
def acceptor_2_data
|
321
|
+
@acceptor_2_data ||= {
|
316
322
|
:id => '20f182fc-6e32-4794-9007-97366d162c51',
|
317
323
|
:conditions_list => 'warning'
|
318
324
|
}
|
319
325
|
end
|
320
326
|
|
321
|
-
def
|
327
|
+
def acceptor_json(ac_data)
|
322
328
|
{
|
323
|
-
:id =>
|
324
|
-
:type => '
|
325
|
-
:attributes =>
|
329
|
+
:id => ac_data[:id],
|
330
|
+
:type => 'acceptor',
|
331
|
+
:attributes => ac_data.reject {|k,v| :id.eql?(k) }
|
326
332
|
}
|
327
333
|
end
|
328
334
|
|
329
|
-
def
|
330
|
-
id =
|
335
|
+
def acceptor_rel(ac_data)
|
336
|
+
id = ac_data[:id]
|
331
337
|
{
|
332
338
|
:contact => {
|
333
339
|
:links => {
|
334
|
-
:self => "http
|
335
|
-
:related => "http
|
340
|
+
:self => "http://#{api_host}/acceptors/#{id}/relationships/contact",
|
341
|
+
:related => "http://#{api_host}/acceptors/#{id}/contact"
|
336
342
|
}
|
337
343
|
},
|
338
344
|
:media => {
|
339
345
|
:links => {
|
340
|
-
:self => "http
|
341
|
-
:related => "http
|
346
|
+
:self => "http://#{api_host}/acceptors/#{id}/relationships/media",
|
347
|
+
:related => "http://#{api_host}/acceptors/#{id}/media"
|
342
348
|
}
|
343
349
|
},
|
344
350
|
:tags => {
|
345
351
|
:links => {
|
346
|
-
:self => "http
|
347
|
-
:related => "http
|
352
|
+
:self => "http://#{api_host}/acceptors/#{id}/relationships/tags",
|
353
|
+
:related => "http://#{api_host}/acceptors/#{id}/tags"
|
348
354
|
}
|
349
355
|
}
|
350
356
|
}
|
351
357
|
end
|
352
358
|
|
353
|
-
def
|
354
|
-
@
|
359
|
+
def rejector_data
|
360
|
+
@rejector_data ||= {
|
355
361
|
:id => '05983623-fcef-42da-af44-ed6990b500fa',
|
356
362
|
:conditions_list => 'critical'
|
357
363
|
}
|
358
364
|
end
|
359
365
|
|
360
|
-
def
|
361
|
-
@
|
366
|
+
def rejector_2_data
|
367
|
+
@rejector_2_data ||= {
|
362
368
|
:id => '20f182fc-6e32-4794-9007-97366d162c51',
|
363
369
|
:conditions_list => 'warning'
|
364
370
|
}
|
365
371
|
end
|
366
372
|
|
367
|
-
def
|
373
|
+
def rejector_json(re_data)
|
368
374
|
{
|
369
|
-
:id =>
|
370
|
-
:type => '
|
371
|
-
:attributes =>
|
375
|
+
:id => re_data[:id],
|
376
|
+
:type => 'rejector',
|
377
|
+
:attributes => re_data.reject {|k,v| :id.eql?(k) }
|
372
378
|
}
|
373
379
|
end
|
374
380
|
|
375
|
-
def
|
376
|
-
id =
|
381
|
+
def rejector_rel(re_data)
|
382
|
+
id = re_data[:id]
|
377
383
|
{
|
378
384
|
:contact => {
|
379
385
|
:links => {
|
380
|
-
:self => "http
|
381
|
-
:related => "http
|
386
|
+
:self => "http://#{api_host}/rejectors/#{id}/relationships/contact",
|
387
|
+
:related => "http://#{api_host}/rejectors/#{id}/contact"
|
382
388
|
}
|
383
389
|
},
|
384
390
|
:media => {
|
385
391
|
:links => {
|
386
|
-
:self => "http
|
387
|
-
:related => "http
|
392
|
+
:self => "http://#{api_host}/rejectors/#{id}/relationships/media",
|
393
|
+
:related => "http://#{api_host}/rejectors/#{id}/media"
|
388
394
|
}
|
389
395
|
},
|
390
396
|
:tags => {
|
391
397
|
:links => {
|
392
|
-
:self => "http
|
393
|
-
:related => "http
|
398
|
+
:self => "http://#{api_host}/rejectors/#{id}/relationships/tags",
|
399
|
+
:related => "http://#{api_host}/rejectors/#{id}/tags"
|
394
400
|
}
|
395
401
|
}
|
396
402
|
}
|
@@ -428,8 +434,8 @@ module FixtureData
|
|
428
434
|
{
|
429
435
|
:check => {
|
430
436
|
:links => {
|
431
|
-
:self => "http
|
432
|
-
:related => "http
|
437
|
+
:self => "http://#{api_host}/states/#{id}/relationships/check",
|
438
|
+
:related => "http://#{api_host}/states/#{id}/check"
|
433
439
|
}
|
434
440
|
}
|
435
441
|
}
|
@@ -458,10 +464,10 @@ module FixtureData
|
|
458
464
|
def tag_rel(ta_data)
|
459
465
|
id = ta_data[:name]
|
460
466
|
{
|
461
|
-
:
|
467
|
+
:acceptors => {
|
462
468
|
:links => {
|
463
|
-
:self => "http://#{api_host}/tags/#{id}/relationships/
|
464
|
-
:related => "http://#{api_host}/tags/#{id}/
|
469
|
+
:self => "http://#{api_host}/tags/#{id}/relationships/acceptors",
|
470
|
+
:related => "http://#{api_host}/tags/#{id}/acceptors"
|
465
471
|
}
|
466
472
|
},
|
467
473
|
:checks => {
|
@@ -470,10 +476,28 @@ module FixtureData
|
|
470
476
|
:related => "http://#{api_host}/tags/#{id}/checks"
|
471
477
|
}
|
472
478
|
},
|
473
|
-
:
|
479
|
+
:rejectors => {
|
480
|
+
:links => {
|
481
|
+
:self => "http://#{api_host}/tags/#{id}/relationships/rejectors",
|
482
|
+
:related => "http://#{api_host}/tags/#{id}/rejectors"
|
483
|
+
}
|
484
|
+
},
|
485
|
+
:scheduled_maintenances => {
|
486
|
+
:links => {
|
487
|
+
:self => "http://#{api_host}/tags/#{id}/relationships/scheduled_maintenances",
|
488
|
+
:related => "http://#{api_host}/tags/#{id}/scheduled_maintenances"
|
489
|
+
}
|
490
|
+
},
|
491
|
+
:states => {
|
492
|
+
:links => {
|
493
|
+
:self => "http://#{api_host}/tags/#{id}/relationships/states",
|
494
|
+
:related => "http://#{api_host}/tags/#{id}/states"
|
495
|
+
}
|
496
|
+
},
|
497
|
+
:unscheduled_maintenances => {
|
474
498
|
:links => {
|
475
|
-
:self => "http://#{api_host}/tags/#{id}/relationships/
|
476
|
-
:related => "http://#{api_host}/tags/#{id}/
|
499
|
+
:self => "http://#{api_host}/tags/#{id}/relationships/unscheduled_maintenances",
|
500
|
+
:related => "http://#{api_host}/tags/#{id}/unscheduled_maintenances"
|
477
501
|
}
|
478
502
|
}
|
479
503
|
}
|