Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
Noah
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Noah
Commits
bad01f0d
Commit
bad01f0d
authored
Jan 31, 2011
by
John E. Vincent
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quick cleanup of test structure
parent
9fc817d8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
733 additions
and
709 deletions
+733
-709
index.html
doc/coverage/index.html
+38
-38
lib-helpers_rb.html
doc/coverage/lib-helpers_rb.html
+6
-6
lib-models_rb.html
doc/coverage/lib-models_rb.html
+280
-274
noah_rb.html
doc/coverage/noah_rb.html
+210
-204
host_spec.rb
spec/host_spec.rb
+103
-99
service_spec.rb
spec/service_spec.rb
+96
-88
No files found.
doc/coverage/index.html
View file @
bad01f0d
...
...
@@ -48,46 +48,30 @@
<tfoot>
<tr>
<td
class=
"left_align"
>
TOTAL
</td>
<td
class=
'right_align'
><tt>
61
0
</tt></td>
<td
class=
'right_align'
><tt>
5
18
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
55.25
%
</tt></div>
<td
class=
'right_align'
><tt>
61
2
</tt></td>
<td
class=
'right_align'
><tt>
5
21
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
83.33
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
55
px"
></div>
<div
class=
"uncovered"
style=
"width:
45
px"
></div>
<div
class=
"covered"
style=
"width:
83
px"
></div>
<div
class=
"uncovered"
style=
"width:
17
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
'coverage_total'
>
50.58
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
'coverage_total'
>
81.96
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
51
px"
></div>
<div
class=
"uncovered"
style=
"width:
49
px"
></div>
<div
class=
"covered"
style=
"width:
82
px"
></div>
<div
class=
"uncovered"
style=
"width:
18
px"
></div>
</div></td>
</tr>
</tfoot>
<tbody>
<tr
class=
"all_files all_coverage 50 60 70 80 90 100 even"
>
<td
class=
"left_align"
><a
href=
"noah_rb.html"
>
noah.rb
</a></td>
<td
class=
'right_align'
><tt>
325
</tt></td>
<td
class=
'right_align'
><tt>
283
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
48.31%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:48px"
></div>
<div
class=
"uncovered"
style=
"width:52px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
42.40%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:42px"
></div>
<div
class=
"uncovered"
style=
"width:58px"
></div>
</div></td>
</tr>
<tr
class=
"all_files all_coverage 60 70 80 90 100 lib odd"
>
<tr
class=
"all_files all_coverage 60 70 80 90 100 lib even"
>
<td
class=
"left_align"
><a
href=
"lib-helpers_rb.html"
>
lib/helpers.rb
</a></td>
<td
class=
'right_align'
><tt>
55
</tt></td>
<td
class=
'right_align'
><tt>
45
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
5
4.55
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
5
6.36
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:5
5
px"
></div>
<div
class=
"uncovered"
style=
"width:4
5
px"
></div>
<div
class=
"covered"
style=
"width:5
6
px"
></div>
<div
class=
"uncovered"
style=
"width:4
4
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
57.78%
</tt></div>
<div
class=
"percent_graph"
>
...
...
@@ -96,19 +80,35 @@
</div></td>
</tr>
<tr
class=
"all_files all_coverage 70 80 90 100 lib even"
>
<tr
class=
"all_files all_coverage 90 100 odd"
>
<td
class=
"left_align"
><a
href=
"noah_rb.html"
>
noah.rb
</a></td>
<td
class=
'right_align'
><tt>
326
</tt></td>
<td
class=
'right_align'
><tt>
285
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
82.52%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:83px"
></div>
<div
class=
"uncovered"
style=
"width:17px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
81.05%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:81px"
></div>
<div
class=
"uncovered"
style=
"width:19px"
></div>
</div></td>
</tr>
<tr
class=
"all_files all_coverage 90 100 lib even"
>
<td
class=
"left_align"
><a
href=
"lib-models_rb.html"
>
lib/models.rb
</a></td>
<td
class=
'right_align'
><tt>
23
0
</tt></td>
<td
class=
'right_align'
><tt>
19
0
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
65.22
%
</tt></div>
<td
class=
'right_align'
><tt>
23
1
</tt></td>
<td
class=
'right_align'
><tt>
19
1
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
90.91
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
65
px"
></div>
<div
class=
"uncovered"
style=
"width:
35
px"
></div>
<div
class=
"covered"
style=
"width:
91
px"
></div>
<div
class=
"uncovered"
style=
"width:
9
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
61.05
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
89.01
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
61
px"
></div>
<div
class=
"uncovered"
style=
"width:
39
px"
></div>
<div
class=
"covered"
style=
"width:
89
px"
></div>
<div
class=
"uncovered"
style=
"width:
11
px"
></div>
</div></td>
</tr>
...
...
@@ -116,7 +116,7 @@
</table>
</div>
<p>
Generated on 2011-01-
27 21:32:1
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
<p>
Generated on 2011-01-
31 05:03:3
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
<script
type=
"text/javascript"
>
$
(
document
).
ready
(
function
(){
$
(
"
#report_table
"
).
tablesorter
({
widgets
:
[
'
zebra
'
],
textExtraction
:
'
complex
'
});});
...
...
doc/coverage/lib-helpers_rb.html
View file @
bad01f0d
...
...
@@ -30,10 +30,10 @@
<td
class=
"left_align"
><a
href=
"lib-helpers_rb.html"
>
lib/helpers.rb
</a></td>
<td
class=
'right_align'
><tt>
55
</tt></td>
<td
class=
'right_align'
><tt>
45
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
5
4.55
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
5
6.36
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:5
5
px"
></div>
<div
class=
"uncovered"
style=
"width:4
5
px"
></div>
<div
class=
"covered"
style=
"width:5
6
px"
></div>
<div
class=
"uncovered"
style=
"width:4
4
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
57.78%
</tt></div>
<div
class=
"percent_graph"
>
...
...
@@ -158,13 +158,13 @@
<tr
class=
"
inferr
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line18"
>
18
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line19"
>
19
</a>
</pre></td>
</tr>
...
...
@@ -387,7 +387,7 @@
</tbody>
</table>
<p>
Generated on 2011-01-
27 21:32:1
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
<p>
Generated on 2011-01-
31 05:03:3
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
</body>
</html>
doc/coverage/lib-models_rb.html
View file @
bad01f0d
...
...
@@ -28,17 +28,17 @@
<tbody>
<tr>
<td
class=
"left_align"
><a
href=
"lib-models_rb.html"
>
lib/models.rb
</a></td>
<td
class=
'right_align'
><tt>
23
0
</tt></td>
<td
class=
'right_align'
><tt>
19
0
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
65.22
%
</tt></div>
<td
class=
'right_align'
><tt>
23
1
</tt></td>
<td
class=
'right_align'
><tt>
19
1
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
90.91
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
65
px"
></div>
<div
class=
"uncovered"
style=
"width:
35
px"
></div>
<div
class=
"covered"
style=
"width:
91
px"
></div>
<div
class=
"uncovered"
style=
"width:
9
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
61.05
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
89.01
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
61
px"
></div>
<div
class=
"uncovered"
style=
"width:
39
px"
></div>
<div
class=
"covered"
style=
"width:
89
px"
></div>
<div
class=
"uncovered"
style=
"width:
11
px"
></div>
</div></td>
</tr>
</tbody>
...
...
@@ -207,133 +207,133 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line26"
>
26
</a>
super.merge(:name =
>
name, :status =
>
status, :updated_at =
>
updated_at, :services =
>
arr)
</pre></td>
<td><pre><a
name=
"line26"
>
26
</a>
h = {:name =
>
name, :status =
>
status, :created_at =
>
created_at, :updated_at =
>
updated_at, :services =
>
arr}
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line27"
>
27
</a>
end
</pre></td>
<td><pre><a
name=
"line27"
>
27
</a>
super.merge(h)
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line28"
>
28
</a>
</pre></td>
<td><pre><a
name=
"line28"
>
28
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line29"
>
29
</a>
def is_new?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line29"
>
29
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line30"
>
30
</a>
self.created_at == self.updated_at
</pre></td>
<td><pre><a
name=
"line30"
>
30
</a>
def is_new?
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line31"
>
31
</a>
end
</pre></td>
<td><pre><a
name=
"line31"
>
31
</a>
self.created_at == self.updated_at
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line32"
>
32
</a>
</pre></td>
<td><pre><a
name=
"line32"
>
32
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line33"
>
33
</a>
class
<<
self
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line33"
>
33
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line34"
>
34
</a>
def find_or_create(opts = {})
</pre></td>
<td><pre><a
name=
"line34"
>
34
</a>
class
<<
self
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line35"
>
35
</a>
begin
</pre></td>
<td><pre><a
name=
"line35"
>
35
</a>
def find_or_create(opts = {})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line36"
>
36
</a>
# exclude requested status from lookup
</pre></td>
<td><pre><a
name=
"line36"
>
36
</a>
begin
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line37"
>
37
</a>
h = find(opts.reject{|key,value| key == :status}).first
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line37"
>
37
</a>
# exclude requested status from lookup
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line38"
>
38
</a>
h
ost = h.nil? ? create(opts) : h
</pre></td>
<td><pre><a
name=
"line38"
>
38
</a>
h
= find(opts.reject{|key,value| key == :status}).first
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line39"
>
39
</a>
host
.status = opts[:status]
</pre></td>
<td><pre><a
name=
"line39"
>
39
</a>
host
= h.nil? ? create(opts) : h
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line40"
>
40
</a>
if host.valid?
</pre></td>
<td><pre><a
name=
"line40"
>
40
</a>
host.status = opts[:status]
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line41"
>
41
</a>
host.save
</pre></td>
<td><pre><a
name=
"line41"
>
41
</a>
if host.valid?
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line42"
>
42
</a>
end
</pre></td>
<td><pre><a
name=
"line42"
>
42
</a>
host.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line43"
>
43
</a>
host
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line43"
>
43
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line44"
>
44
</a>
rescue Exception =
>
e
</pre></td>
<td><pre><a
name=
"line44"
>
44
</a>
host
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line45"
>
45
</a>
e.messag
e
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line45"
>
45
</a>
rescue Exception =
>
e
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line46"
>
46
</a>
end
</pre></td>
<td><pre><a
name=
"line46"
>
46
</a>
e.message
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line47"
>
47
</a>
end
</pre></td>
<td><pre><a
name=
"line47"
>
47
</a>
end
</pre></td>
</tr>
...
...
@@ -345,307 +345,307 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line49"
>
49
</a>
end
</pre></td>
<td><pre><a
name=
"line49"
>
49
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line50"
>
50
</a>
</pre></td>
<td><pre><a
name=
"line50"
>
50
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line51"
>
51
</a>
class Service
<
Ohm::Model
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line51"
>
51
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line52"
>
52
</a>
include Ohm::Typecast
</pre></td>
<td><pre><a
name=
"line52"
>
52
</a>
class Service
<
Ohm::Model
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line53"
>
53
</a>
include Ohm::T
imestamping
</pre></td>
<td><pre><a
name=
"line53"
>
53
</a>
include Ohm::T
ypecast
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line54"
>
54
</a>
include Ohm::
Callbacks
</pre></td>
<td><pre><a
name=
"line54"
>
54
</a>
include Ohm::
Timestamping
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line55"
>
55
</a>
include Ohm::
ExtraValidation
s
</pre></td>
<td><pre><a
name=
"line55"
>
55
</a>
include Ohm::
Callback
s
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line56"
>
56
</a>
</pre></td>
<td><pre><a
name=
"line56"
>
56
</a>
include Ohm::ExtraValidations
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line57"
>
57
</a>
attribute :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line57"
>
57
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line58"
>
58
</a>
attribute :
status
</pre></td>
<td><pre><a
name=
"line58"
>
58
</a>
attribute :
name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line59"
>
59
</a>
reference :host, Host
</pre></td>
<td><pre><a
name=
"line59"
>
59
</a>
attribute :status
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line60"
>
60
</a>
</pre></td>
<td><pre><a
name=
"line60"
>
60
</a>
reference :host, Host
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line61"
>
61
</a>
index :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line61"
>
61
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line62"
>
62
</a>
index :
status
</pre></td>
<td><pre><a
name=
"line62"
>
62
</a>
index :
name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line63"
>
63
</a>
</pre></td>
<td><pre><a
name=
"line63"
>
63
</a>
index :status
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line64"
>
64
</a>
def validate
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line64"
>
64
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line65"
>
65
</a>
assert_present :nam
e
</pre></td>
<td><pre><a
name=
"line65"
>
65
</a>
def validat
e
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line66"
>
66
</a>
assert_present :
status
</pre></td>
<td><pre><a
name=
"line66"
>
66
</a>
assert_present :
name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line67"
>
67
</a>
assert_present :
host_id
</pre></td>
<td><pre><a
name=
"line67"
>
67
</a>
assert_present :
status
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line68"
>
68
</a>
assert_
unique [:name, :host_id]
</pre></td>
<td><pre><a
name=
"line68"
>
68
</a>
assert_
present :host_id
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line69"
>
69
</a>
assert_
member :status, [
"
up
"
,
"
down
"
,
"
pending
"
]
</pre></td>
<td><pre><a
name=
"line69"
>
69
</a>
assert_
unique [:name, :host_id
]
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line70"
>
70
</a>
end
</pre></td>
<td><pre><a
name=
"line70"
>
70
</a>
assert_member :status, [
"
up
"
,
"
down
"
,
"
pending
"
]
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line71"
>
71
</a>
</pre></td>
<td><pre><a
name=
"line71"
>
71
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line72"
>
72
</a>
def to_hash
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line72"
>
72
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line73"
>
73
</a>
super.merge(:name =
>
name, :status =
>
status, :updated_at =
>
updated_at, :host =
>
Host[host_id].name)
</pre></td>
<td><pre><a
name=
"line73"
>
73
</a>
def to_hash
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line74"
>
74
</a>
end
</pre></td>
<td><pre><a
name=
"line74"
>
74
</a>
super.merge(:name =
>
name, :status =
>
status, :updated_at =
>
updated_at, :host =
>
Host[host_id].name)
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line75"
>
75
</a>
</pre></td>
<td><pre><a
name=
"line75"
>
75
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line76"
>
76
</a>
def is_new?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line76"
>
76
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line77"
>
77
</a>
self.created_at == self.updated_at
</pre></td>
<td><pre><a
name=
"line77"
>
77
</a>
def is_new?
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line78"
>
78
</a>
end
</pre></td>
<td><pre><a
name=
"line78"
>
78
</a>
self.created_at == self.updated_at
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line79"
>
79
</a>
</pre></td>
<td><pre><a
name=
"line79"
>
79
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line80"
>
80
</a>
class
<<
self
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line80"
>
80
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line81"
>
81
</a>
def find_or_create(opts = {})
</pre></td>
<td><pre><a
name=
"line81"
>
81
</a>
class
<<
self
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line82"
>
82
</a>
begin
</pre></td>
<td><pre><a
name=
"line82"
>
82
</a>
def find_or_create(opts = {})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line83"
>
83
</a>
# convert passed host object to host_id if passed
</pre></td>
<td><pre><a
name=
"line83"
>
83
</a>
begin
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line84"
>
84
</a>
if opts.has_key?(:host)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line84"
>
84
</a>
# convert passed host object to host_id if passed
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line85"
>
85
</a>
opts.merge!({:host_id =
>
opts[:host].id}
)
</pre></td>
<td><pre><a
name=
"line85"
>
85
</a>
if opts.has_key?(:host
)
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line86"
>
86
</a>
opts.
reject!{|key, value| key == :host}
</pre></td>
<td><pre><a
name=
"line86"
>
86
</a>
opts.
merge!({:host_id =
>
opts[:host].id})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line87"
>
87
</a>
end
</pre></td>
<td><pre><a
name=
"line87"
>
87
</a>
opts.reject!{|key, value| key == :host}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line88"
>
88
</a>
# exclude requested status from lookup
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line88"
>
88
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<td><pre><a
name=
"line89"
>
89
</a>
s = find(opts.reject{|key,value| key == :status}).first
</pre></td>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line89"
>
89
</a>
# exclude requested status from lookup
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line90"
>
90
</a>
s
ervice = s.nil? ? create(opts) : s
</pre></td>
<td><pre><a
name=
"line90"
>
90
</a>
s
= find(opts.reject{|key,value| key == :status}).first
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line91"
>
91
</a>
service
.status = opts[:status]
</pre></td>
<td><pre><a
name=
"line91"
>
91
</a>
service
= s.nil? ? create(opts) : s
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line92"
>
92
</a>
if service.valid?
</pre></td>
<td><pre><a
name=
"line92"
>
92
</a>
service.status = opts[:status]
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line93"
>
93
</a>
service.save
</pre></td>
<td><pre><a
name=
"line93"
>
93
</a>
if service.valid?
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line94"
>
94
</a>
end
</pre></td>
<td><pre><a
name=
"line94"
>
94
</a>
service.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line95"
>
95
</a>
service
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line95"
>
95
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line96"
>
96
</a>
rescue Exception =
>
e
</pre></td>
<td><pre><a
name=
"line96"
>
96
</a>
servic
e
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line97"
>
97
</a>
e.messag
e
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line97"
>
97
</a>
rescue Exception =
>
e
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line98"
>
98
</a>
end
</pre></td>
<td><pre><a
name=
"line98"
>
98
</a>
e.message
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line99"
>
99
</a>
end
</pre></td>
<td><pre><a
name=
"line99"
>
99
</a>
end
</pre></td>
</tr>
...
...
@@ -657,259 +657,259 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line101"
>
101
</a>
end
</pre></td>
<td><pre><a
name=
"line101"
>
101
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line102"
>
102
</a>
</pre></td>
<td><pre><a
name=
"line102"
>
102
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line103"
>
103
</a>
class Configuration
<
Ohm::Model
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line103"
>
103
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line104"
>
104
</a>
include Ohm::Typecast
</pre></td>
<td><pre><a
name=
"line104"
>
104
</a>
class Configuration
<
Ohm::Model
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line105"
>
105
</a>
include Ohm::T
imestamping
</pre></td>
<td><pre><a
name=
"line105"
>
105
</a>
include Ohm::T
ypecast
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line106"
>
106
</a>
include Ohm::
Callbacks
</pre></td>
<td><pre><a
name=
"line106"
>
106
</a>
include Ohm::
Timestamping
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line107"
>
107
</a>
include Ohm::
ExtraValidation
s
</pre></td>
<td><pre><a
name=
"line107"
>
107
</a>
include Ohm::
Callback
s
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line108"
>
108
</a>
</pre></td>
<td><pre><a
name=
"line108"
>
108
</a>
include Ohm::ExtraValidations
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line109"
>
109
</a>
attribute :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line109"
>
109
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line110"
>
110
</a>
attribute :
format
</pre></td>
<td><pre><a
name=
"line110"
>
110
</a>
attribute :
name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line111"
>
111
</a>
attribute :
body
</pre></td>
<td><pre><a
name=
"line111"
>
111
</a>
attribute :
format
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line112"
>
112
</a>
attribute :
new_record
</pre></td>
<td><pre><a
name=
"line112"
>
112
</a>
attribute :
body
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line113"
>
113
</a>
reference :application, Application
</pre></td>
<td><pre><a
name=
"line113"
>
113
</a>
attribute :new_record
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line114"
>
114
</a>
</pre></td>
<td><pre><a
name=
"line114"
>
114
</a>
reference :application, Application
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line115"
>
115
</a>
index :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line115"
>
115
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line116"
>
116
</a>
</pre></td>
<td><pre><a
name=
"line116"
>
116
</a>
index :name
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line117"
>
117
</a>
def validate
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line117"
>
117
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line118"
>
118
</a>
assert_present :nam
e
</pre></td>
<td><pre><a
name=
"line118"
>
118
</a>
def validat
e
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line119"
>
119
</a>
assert_present :
format
</pre></td>
<td><pre><a
name=
"line119"
>
119
</a>
assert_present :
name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line120"
>
120
</a>
assert_present :
body
</pre></td>
<td><pre><a
name=
"line120"
>
120
</a>
assert_present :
format
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line121"
>
121
</a>
assert_
unique [:name, :application_id]
</pre></td>
<td><pre><a
name=
"line121"
>
121
</a>
assert_
present :body
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line122"
>
122
</a>
end
</pre></td>
<td><pre><a
name=
"line122"
>
122
</a>
assert_unique [:name, :application_id]
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line123"
>
123
</a>
</pre></td>
<td><pre><a
name=
"line123"
>
123
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line124"
>
124
</a>
def to_hash
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line124"
>
124
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line125"
>
125
</a>
super.merge(:name =
>
name, :format =
>
format, :body =
>
body, :update_at =
>
updated_at, :application =
>
Application[application_id].name)
</pre></td>
<td><pre><a
name=
"line125"
>
125
</a>
def to_hash
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line126"
>
126
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line126"
>
126
</a>
super.merge(:name =
>
name, :format =
>
format, :body =
>
body, :update_at =
>
updated_at, :application =
>
Application[application_id].name)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line127"
>
127
</a>
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line127"
>
127
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line128"
>
128
</a>
def is_new?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line128"
>
128
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line129"
>
129
</a>
self.created_at == self.updated_at
</pre></td>
<td><pre><a
name=
"line129"
>
129
</a>
def is_new?
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line130"
>
130
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line130"
>
130
</a>
self.created_at == self.updated_at
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line131"
>
131
</a>
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line131"
>
131
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line132"
>
132
</a>
class
<<
self
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line132"
>
132
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line133"
>
133
</a>
def find_or_create(opts={})
</pre></td>
<td><pre><a
name=
"line133"
>
133
</a>
class
<<
self
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line134"
>
134
</a>
begin
</pre></td>
<td><pre><a
name=
"line134"
>
134
</a>
def find_or_create(opts={})
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line135"
>
135
</a>
if find(opts).first.nil?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line135"
>
135
</a>
begin
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line136"
>
136
</a>
conf = create(opts)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line136"
>
136
</a>
if find(opts).first.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line137"
>
137
</a>
else
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line137"
>
137
</a>
conf = create(opts)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line138"
>
138
</a>
conf = find(opts).first
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line138"
>
138
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line139"
>
139
</a>
end
</pre></td>
<td><pre><a
name=
"line139"
>
139
</a>
conf = find(opts).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line140"
>
140
</a>
rescue Exception =
>
e
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line140"
>
140
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line141"
>
141
</a>
e.messag
e
</pre></td>
<td><pre><a
name=
"line141"
>
141
</a>
rescue Exception =
>
e
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line142"
>
142
</a>
end
</pre></td>
<td><pre><a
name=
"line142"
>
142
</a>
e.message
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line143"
>
143
</a>
end
</pre></td>
<td><pre><a
name=
"line143"
>
143
</a>
end
</pre></td>
</tr>
...
...
@@ -921,241 +921,241 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line145"
>
145
</a>
end
</pre></td>
<td><pre><a
name=
"line145"
>
145
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line146"
>
146
</a>
</pre></td>
<td><pre><a
name=
"line146"
>
146
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line147"
>
147
</a>
class Application
<
Ohm::Model
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line147"
>
147
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line148"
>
148
</a>
include Ohm::Typecast
</pre></td>
<td><pre><a
name=
"line148"
>
148
</a>
class Application
<
Ohm::Model
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line149"
>
149
</a>
include Ohm::T
imestamping
</pre></td>
<td><pre><a
name=
"line149"
>
149
</a>
include Ohm::T
ypecast
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line150"
>
150
</a>
include Ohm::
Callbacks
</pre></td>
<td><pre><a
name=
"line150"
>
150
</a>
include Ohm::
Timestamping
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line151"
>
151
</a>
include Ohm::
ExtraValidation
s
</pre></td>
<td><pre><a
name=
"line151"
>
151
</a>
include Ohm::
Callback
s
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line152"
>
152
</a>
</pre></td>
<td><pre><a
name=
"line152"
>
152
</a>
include Ohm::ExtraValidations
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line153"
>
153
</a>
attribute :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line153"
>
153
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line154"
>
154
</a>
collection :configurations, Configuration
</pre></td>
<td><pre><a
name=
"line154"
>
154
</a>
attribute :name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line155"
>
155
</a>
</pre></td>
<td><pre><a
name=
"line155"
>
155
</a>
collection :configurations, Configuration
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line156"
>
156
</a>
index :name
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line156"
>
156
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line157"
>
157
</a>
</pre></td>
<td><pre><a
name=
"line157"
>
157
</a>
index :name
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line158"
>
158
</a>
def validate
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line158"
>
158
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line159"
>
159
</a>
assert_present :nam
e
</pre></td>
<td><pre><a
name=
"line159"
>
159
</a>
def validat
e
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line160"
>
160
</a>
assert_
unique
:name
</pre></td>
<td><pre><a
name=
"line160"
>
160
</a>
assert_
present
:name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line161"
>
161
</a>
end
</pre></td>
<td><pre><a
name=
"line161"
>
161
</a>
assert_unique :name
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line162"
>
162
</a>
</pre></td>
<td><pre><a
name=
"line162"
>
162
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line163"
>
163
</a>
def to_hash
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line163"
>
163
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line164"
>
164
</a>
arr = []
</pre></td>
<td><pre><a
name=
"line164"
>
164
</a>
def to_hash
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line165"
>
165
</a>
configurations.sort.each {|c| arr
<<
c.to_hash}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line165"
>
165
</a>
arr = []
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line166"
>
166
</a>
super.merge(:name =
>
name, :updated_at =
>
updated_at, :configurations =
>
arr)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line166"
>
166
</a>
configurations.sort.each {|c| arr
<<
c.to_hash}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line167"
>
167
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line167"
>
167
</a>
super.merge(:name =
>
name, :updated_at =
>
updated_at, :configurations =
>
arr)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line168"
>
168
</a>
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line168"
>
168
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line169"
>
169
</a>
def is_new?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line169"
>
169
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line170"
>
170
</a>
self.created_at == self.updated_at
</pre></td>
<td><pre><a
name=
"line170"
>
170
</a>
def is_new?
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line171"
>
171
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line171"
>
171
</a>
self.created_at == self.updated_at
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line172"
>
172
</a>
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line172"
>
172
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line173"
>
173
</a>
class
<<
self
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line173"
>
173
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line174"
>
174
</a>
def find_or_create(opts = {})
</pre></td>
<td><pre><a
name=
"line174"
>
174
</a>
class
<<
self
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line175"
>
175
</a>
begin
</pre></td>
<td><pre><a
name=
"line175"
>
175
</a>
def find_or_create(opts = {})
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line176"
>
176
</a>
find(opts).first.nil? ? (app = create(opts)) : (app = find(opts).first)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line176"
>
176
</a>
begin
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line177"
>
177
</a>
if app.valid?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line177"
>
177
</a>
find(opts).first.nil? ? (app = create(opts)) : (app = find(opts).first)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line178"
>
178
</a>
app.save
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line178"
>
178
</a>
if app.valid?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line179"
>
179
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line179"
>
179
</a>
app.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line180"
>
180
</a>
app
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line180"
>
180
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line181"
>
181
</a>
rescue Exception =
>
e
</pre></td>
<td><pre><a
name=
"line181"
>
181
</a>
app
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line182"
>
182
</a>
e.messag
e
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line182"
>
182
</a>
rescue Exception =
>
e
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line183"
>
183
</a>
end
</pre></td>
<td><pre><a
name=
"line183"
>
183
</a>
e.message
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line184"
>
184
</a>
end
</pre></td>
<td><pre><a
name=
"line184"
>
184
</a>
end
</pre></td>
</tr>
...
...
@@ -1167,277 +1167,283 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line186"
>
186
</a>
end
</pre></td>
<td><pre><a
name=
"line186"
>
186
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line187"
>
187
</a>
</pre></td>
<td><pre><a
name=
"line187"
>
187
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line188"
>
188
</a>
class Watcher
<
Ohm::Model #NYI
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line188"
>
188
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line189"
>
189
</a>
include Ohm::Typecast
</pre></td>
<td><pre><a
name=
"line189"
>
189
</a>
class Watcher
<
Ohm::Model #NYI
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line190"
>
190
</a>
include Ohm::T
imestamping
</pre></td>
<td><pre><a
name=
"line190"
>
190
</a>
include Ohm::T
ypecast
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line191"
>
191
</a>
include Ohm::
Callbacks
</pre></td>
<td><pre><a
name=
"line191"
>
191
</a>
include Ohm::
Timestamping
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line192"
>
192
</a>
</pre></td>
<td><pre><a
name=
"line192"
>
192
</a>
include Ohm::Callbacks
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line193"
>
193
</a>
attribute :client
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line193"
>
193
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line194"
>
194
</a>
attribute :
endpoi
nt
</pre></td>
<td><pre><a
name=
"line194"
>
194
</a>
attribute :
clie
nt
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line195"
>
195
</a>
attribute :e
ve
nt
</pre></td>
<td><pre><a
name=
"line195"
>
195
</a>
attribute :e
ndpoi
nt
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line196"
>
196
</a>
attribute :
action
</pre></td>
<td><pre><a
name=
"line196"
>
196
</a>
attribute :
event
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line197"
>
197
</a>
</pre></td>
<td><pre><a
name=
"line197"
>
197
</a>
attribute :action
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line198"
>
198
</a>
index :client
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line198"
>
198
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line199"
>
199
</a>
index :
ev
ent
</pre></td>
<td><pre><a
name=
"line199"
>
199
</a>
index :
cli
ent
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line200"
>
200
</a>
</pre></td>
<td><pre><a
name=
"line200"
>
200
</a>
index :event
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line201"
>
201
</a>
def validate
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line201"
>
201
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line202"
>
202
</a>
assert_present :client, :endpoint, :event, :action
</pre></td>
<td><pre><a
name=
"line202"
>
202
</a>
def validate
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line203"
>
203
</a>
assert_
unique [:client, :endpoint, :event, :action]
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line203"
>
203
</a>
assert_
present :client, :endpoint, :event, :action
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line204"
>
204
</a>
end
</pre></td>
<td><pre><a
name=
"line204"
>
204
</a>
assert_unique [:client, :endpoint, :event, :action]
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line205"
>
205
</a>
end
</pre></td>
<td><pre><a
name=
"line205"
>
205
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line206"
>
206
</a>
</pre></td>
<td><pre><a
name=
"line206"
>
206
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line207"
>
207
</a>
# Some pluralized helper models
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line207"
>
207
</a>
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<td><pre><a
name=
"line208"
>
208
</a>
class Host
s
</pre></td>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line208"
>
208
</a>
# Some pluralized helper model
s
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line209"
>
209
</a>
def self.all(options = {})
</pre></td>
<td><pre><a
name=
"line209"
>
209
</a>
class Hosts
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line210"
>
210
</a>
options.empty? ? Host.all.sort : Host.find(options).sort
</pre></td>
<td><pre><a
name=
"line210"
>
210
</a>
def self.all(options = {})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line211"
>
211
</a>
end
</pre></td>
<td><pre><a
name=
"line211"
>
211
</a>
options.empty? ? Host.all.sort : Host.find(options).sort
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line212"
>
212
</a>
end
</pre></td>
<td><pre><a
name=
"line212"
>
212
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line213"
>
213
</a>
</pre></td>
<td><pre><a
name=
"line213"
>
213
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line214"
>
214
</a>
class Services
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line214"
>
214
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line215"
>
215
</a>
def self.all(options = {})
</pre></td>
<td><pre><a
name=
"line215"
>
215
</a>
class Services
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line216"
>
216
</a>
options.empty? ? Service.all.sort : Service.find(options).sort
</pre></td>
<td><pre><a
name=
"line216"
>
216
</a>
def self.all(options = {})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line217"
>
217
</a>
end
</pre></td>
<td><pre><a
name=
"line217"
>
217
</a>
options.empty? ? Service.all.sort : Service.find(options).sort
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line218"
>
218
</a>
end
</pre></td>
<td><pre><a
name=
"line218"
>
218
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line219"
>
219
</a>
</pre></td>
<td><pre><a
name=
"line219"
>
219
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line220"
>
220
</a>
class Applications
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line220"
>
220
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line221"
>
221
</a>
def self.all(options = {})
</pre></td>
<td><pre><a
name=
"line221"
>
221
</a>
class Applications
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line222"
>
222
</a>
options.empty? ? Application.all.sort : Application.find(options).sort
</pre></td>
<td><pre><a
name=
"line222"
>
222
</a>
def self.all(options = {})
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line223"
>
223
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line223"
>
223
</a>
options.empty? ? Application.all.sort : Application.find(options).sort
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line224"
>
224
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line224"
>
224
</a>
end
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line225"
>
225
</a>
</pre></td>
<td><pre><a
name=
"line225"
>
225
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line226"
>
226
</a>
class Configurations
</pre></td>
<tr
class=
"marked"
>
<td><pre><a
name=
"line226"
>
226
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line227"
>
227
</a>
class Configurations
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line22
7"
>
227
</a>
def self.all(options = {})
</pre></td>
<td><pre><a
name=
"line22
8"
>
228
</a>
def self.all(options = {})
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line22
8"
>
228
</a>
options.empty? ? Configuration.all.sort : Configuration.find(options).sort
</pre></td>
<td><pre><a
name=
"line22
9"
>
229
</a>
options.empty? ? Configuration.all.sort : Configuration.find(options).sort
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line2
29"
>
229
</a>
end
</pre></td>
<td><pre><a
name=
"line2
30"
>
230
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line23
0"
>
230
</a>
end
</pre></td>
<td><pre><a
name=
"line23
1"
>
231
</a>
end
</pre></td>
</tr>
</tbody>
</table>
<p>
Generated on 2011-01-
27 21:32:1
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
<p>
Generated on 2011-01-
31 05:03:3
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
</body>
</html>
doc/coverage/noah_rb.html
View file @
bad01f0d
...
...
@@ -28,17 +28,17 @@
<tbody>
<tr>
<td
class=
"left_align"
><a
href=
"noah_rb.html"
>
noah.rb
</a></td>
<td
class=
'right_align'
><tt>
32
5
</tt></td>
<td
class=
'right_align'
><tt>
28
3
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
48.31
%
</tt></div>
<td
class=
'right_align'
><tt>
32
6
</tt></td>
<td
class=
'right_align'
><tt>
28
5
</tt></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
82.52
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
48
px"
></div>
<div
class=
"uncovered"
style=
"width:
52
px"
></div>
<div
class=
"covered"
style=
"width:
83
px"
></div>
<div
class=
"uncovered"
style=
"width:
17
px"
></div>
</div></td>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
42.40
%
</tt></div>
<td
class=
"left_align"
><div
class=
"percent_graph_legend"
><tt
class=
''
>
81.05
%
</tt></div>
<div
class=
"percent_graph"
>
<div
class=
"covered"
style=
"width:
42
px"
></div>
<div
class=
"uncovered"
style=
"width:
58
px"
></div>
<div
class=
"covered"
style=
"width:
81
px"
></div>
<div
class=
"uncovered"
style=
"width:
19
px"
></div>
</div></td>
</tr>
</tbody>
...
...
@@ -615,7 +615,7 @@
<tr
class=
"inferred"
>
<td><pre><a
name=
"line94"
>
94
</a>
put '/:hostname/?' do
</pre></td>
<td><pre><a
name=
"line94"
>
94
</a>
put '/:hostname/?' do
|hostname|
</pre></td>
</tr>
...
...
@@ -633,7 +633,7 @@
<tr
class=
"marked"
>
<td><pre><a
name=
"line97"
>
97
</a>
data.keys.sort == required_params.sort
? (host = Host.find_or_create(:name =
>
data['name'], :status =
>
data['status'])) : (raise
"
Missing Parameters
"
)
</pre></td>
<td><pre><a
name=
"line97"
>
97
</a>
(data.keys.sort == required_params.sort
&&
data['name'] == hostname)
? (host = Host.find_or_create(:name =
>
data['name'], :status =
>
data['status'])) : (raise
"
Missing Parameters
"
)
</pre></td>
</tr>
...
...
@@ -800,19 +800,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line125"
>
125
</a>
if hs.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line126"
>
126
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line127"
>
127
</a>
else
</pre></td>
</tr>
...
...
@@ -824,13 +824,13 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line129"
>
129
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line130"
>
130
</a>
end
</pre></td>
</tr>
...
...
@@ -854,19 +854,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line134"
>
134
</a>
s.map {|x| x.to_hash}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line135"
>
135
</a>
if s.empty?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line136"
>
136
</a>
halt 404
</pre></td>
</tr>
...
...
@@ -884,13 +884,13 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line139"
>
139
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line140"
>
140
</a>
end
</pre></td>
</tr>
...
...
@@ -914,7 +914,7 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line144"
>
144
</a>
halt 404
</pre></td>
</tr>
...
...
@@ -932,97 +932,97 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line147"
>
147
</a>
services.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line148"
>
148
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line149"
>
149
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line150"
>
150
</a>
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line151"
>
151
</a>
put '/:servicename/?' do |servicename|
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line152"
>
152
</a>
# message format: {
"
status
"
:
"
initial_status
"
,
"
host
"
:
"
hostname
"
}
</pre></td>
<td><pre><a
name=
"line152"
>
152
</a>
required_params = [
"
status
"
,
"
host
"
,
"
name
"
]
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line153"
>
153
</a>
required_params = [
"
status
"
,
"
host
"
,
"
name
"
]
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line153"
>
153
</a>
data = JSON.parse(request.body.read)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line154"
>
154
</a>
data = JSON.parse(request.body.read)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line154"
>
154
</a>
if data.keys.sort == required_params.sort
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line155"
>
155
</a>
if data.keys.sort == required_params.sort
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line155"
>
155
</a>
h = Host.find(:name =
>
data['host']).first || (raise
"
Invalid Host
"
)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line156"
>
156
</a>
h = Host.find(:name =
>
data['host']).first || (raise
"
Invalid Host
"
)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line156"
>
156
</a>
service = Service.find_or_create(:name =
>
servicename, :status =
>
data['status'], :host =
>
h
)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line157"
>
157
</a>
service = Service.create(:name =
>
servicename, :status =
>
data['status'], :host =
>
h)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line157"
>
157
</a>
if service.valid?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line158"
>
158
</a>
if service.valid?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line158"
>
158
</a>
action = service.is_new? ?
"
create
"
:
"
update
"
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line159"
>
159
</a>
service.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line160"
>
160
</a>
r = {
"
action
"
=
>
"
add
"
,
"
result
"
=
>
"
success
"
,
"
id
"
=
>
service.id,
"
host
"
=
>
h.name,
"
name
"
=
>
service.name}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line160"
>
160
</a>
r = {
"
action
"
=
>
action
,
"
result
"
=
>
"
success
"
,
"
id
"
=
>
service.id,
"
host
"
=
>
h.name,
"
name
"
=
>
service.name}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line161"
>
161
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line162"
>
162
</a>
else
</pre></td>
</tr>
...
...
@@ -1034,7 +1034,7 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line164"
>
164
</a>
end
</pre></td>
</tr>
...
...
@@ -1052,13 +1052,13 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line167"
>
167
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line168"
>
168
</a>
end
</pre></td>
</tr>
...
...
@@ -1082,37 +1082,37 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line172"
>
172
</a>
service = Service.find(:name =
>
servicename, :host_id =
>
host.id).first || (halt 404)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line173"
>
173
</a>
if host
&&
service
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line174"
>
174
</a>
service.delete
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line175"
>
175
</a>
r = {
"
action
"
=
>
"
delete
"
,
"
result
"
=
>
"
success
"
,
"
id
"
=
>
service.id,
"
host
"
=
>
host.name,
"
service
"
=
>
servicename}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line176"
>
176
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line177"
>
177
</a>
else
</pre></td>
</tr>
...
...
@@ -1178,19 +1178,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line188"
>
188
</a>
if app.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line189"
>
189
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line190"
>
190
</a>
else
</pre></td>
</tr>
...
...
@@ -1202,19 +1202,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line192"
>
192
</a>
c.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line193"
>
193
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line194"
>
194
</a>
end
</pre></td>
</tr>
...
...
@@ -1238,19 +1238,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line198"
>
198
</a>
if app.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line199"
>
199
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line200"
>
200
</a>
else
</pre></td>
</tr>
...
...
@@ -1262,13 +1262,13 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line202"
>
202
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line203"
>
203
</a>
end
</pre></td>
</tr>
...
...
@@ -1292,37 +1292,37 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line207"
>
207
</a>
data = JSON.parse(request.body.read)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line208"
>
208
</a>
if data.keys.sort == required_params.sort
&&
data['name'] == appname
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line209"
>
209
</a>
app = Application.find_or_create(:name =
>
appname)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line210"
>
210
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line211"
>
211
</a>
raise
"
Missing
or invalid p
arameters
"
</pre></td>
<td><pre><a
name=
"line211"
>
211
</a>
raise
"
Missing
P
arameters
"
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line212"
>
212
</a>
end
</pre></td>
</tr>
...
...
@@ -1334,31 +1334,31 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line214"
>
214
</a>
action = app.is_new? ?
"
create
"
:
"
update
"
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line215"
>
215
</a>
app.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line216"
>
216
</a>
r = {
"
result
"
=
>
"
success
"
,
"
id
"
=
>
app.id,
"
action
"
=
>
action,
"
name
"
=
>
app.name }
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line217"
>
217
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line218"
>
218
</a>
else
</pre></td>
</tr>
...
...
@@ -1400,19 +1400,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line225"
>
225
</a>
if app.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line226"
>
226
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line227"
>
227
</a>
else
</pre></td>
</tr>
...
...
@@ -1424,37 +1424,37 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line229"
>
229
</a>
Configuration.find(:application_id =
>
app.id).sort.each {|x| configurations
<<
x; x.delete} if app.configurations.size
>
0
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line230"
>
230
</a>
app.delete
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line231"
>
231
</a>
r = {
"
result
"
=
>
"
success
"
,
"
action
"
=
>
"
delete
"
,
"
id
"
=
>
"
#{app.id}
"
,
"
name
"
=
>
"
#{app
.
name}
"
,
"
configurations
"
=
>
"
#{configurations.size}
"
}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line231"
>
231
</a>
r = {
"
result
"
=
>
"
success
"
,
"
action
"
=
>
"
delete
"
,
"
id
"
=
>
"
#{app.id}
"
,
"
name
"
=
>
"
#{appname}
"
,
"
configurations
"
=
>
"
#{configurations.size}
"
}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line232"
>
232
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line233"
>
233
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line234"
>
234
</a>
end
</pre></td>
</tr>
...
...
@@ -1478,19 +1478,19 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line238"
>
238
</a>
Application.all.sort.each {|a| apps
<<
a.to_hash}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line239"
>
239
</a>
if apps.empty?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line240"
>
240
</a>
halt 404
</pre></td>
</tr>
...
...
@@ -1508,25 +1508,25 @@
<tr
class=
"
uncover
ed"
>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line243"
>
243
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line244"
>
244
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line245"
>
245
</a>
</pre></td>
</tr>
<tr
class=
"
uncove
red"
>
<tr
class=
"
infer
red"
>
<td><pre><a
name=
"line246"
>
246
</a>
end
</pre></td>
</tr>
...
...
@@ -1581,433 +1581,439 @@
<tr
class=
"inferred"
>
<td><pre><a
name=
"line255"
>
255
</a>
:xml =
>
"
text/xml
"
</pre></td>
<td><pre><a
name=
"line255"
>
255
</a>
:xml =
>
"
text/xml
"
,
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line256"
>
256
</a>
}
</pre></td>
<td><pre><a
name=
"line256"
>
256
</a>
:string =
>
"
text/plain
"
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line257"
>
257
</a>
</pre></td>
<td><pre><a
name=
"line257"
>
257
</a>
}
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line258"
>
258
</a>
get '/:appname/:element/?' do |appname, element|
</pre></td>
<td><pre><a
name=
"line258"
>
258
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line259"
>
259
</a>
a = Application.find(:name =
>
appname).first
</pre></td>
<td><pre><a
name=
"line259"
>
259
</a>
get '/:appname/:element/?' do |appname, element|
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line260"
>
260
</a>
if a.nil?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line260"
>
260
</a>
a = Application.find(:name =
>
appname).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line261"
>
261
</a>
halt 404
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line261"
>
261
</a>
if a.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line262"
>
262
</a>
else
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line262"
>
262
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line263"
>
263
</a>
c = Configuration.find(:name =
>
element, :application_id =
>
a.id).first
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line263"
>
263
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line264"
>
264
</a>
c
ontent_type content_type_mapping[c.format.to_sym] if content_type_mapping[c.format.to_sym]
</pre></td>
<td><pre><a
name=
"line264"
>
264
</a>
c
= Configuration.find(:name =
>
element, :application_id =
>
a.id).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line265"
>
265
</a>
c
.body
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line265"
>
265
</a>
c
ontent_type content_type_mapping[c.format.to_sym] if content_type_mapping[c.format.to_sym]
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line266"
>
266
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line266"
>
266
</a>
c.body
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line267"
>
267
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line267"
>
267
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line268"
>
268
</a>
</pre></td>
<td><pre><a
name=
"line268"
>
268
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line269"
>
269
</a>
get '/:appname/?' do |appname|
</pre></td>
<td><pre><a
name=
"line269"
>
269
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line270"
>
270
</a>
config = []
</pre></td>
<td><pre><a
name=
"line270"
>
270
</a>
get '/:appname/?' do |appname|
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line271"
>
271
</a>
a = Application.find(:name =
>
appname).first
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line271"
>
271
</a>
config = []
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line272"
>
272
</a>
if a.nil?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line272"
>
272
</a>
a = Application.find(:name =
>
appname).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line273"
>
273
</a>
halt 404
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line273"
>
273
</a>
if a.nil?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line274"
>
274
</a>
else
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line274"
>
274
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line275"
>
275
</a>
Configuration.find(:application_id =
>
a.id).sort.each {|c| config
<<
c.to_hash}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line275"
>
275
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line276"
>
276
</a>
config.to_json
</pre></td>
<td><pre><a
name=
"line276"
>
276
</a>
Configuration.find(:application_id =
>
a.id).sort.each {|c| config
<<
c.to_hash}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line277"
>
277
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line277"
>
277
</a>
config.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line278"
>
278
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line278"
>
278
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line279"
>
279
</a>
</pre></td>
<td><pre><a
name=
"line279"
>
279
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line280"
>
280
</a>
get '/?' do
</pre></td>
<td><pre><a
name=
"line280"
>
280
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line281"
>
281
</a>
configs = []
</pre></td>
<td><pre><a
name=
"line281"
>
281
</a>
get '/?' do
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line282"
>
282
</a>
Configuration.all.sort.each {|c| configs
<<
c.to_hash}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line282"
>
282
</a>
configs = []
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line283"
>
283
</a>
if configs.empty?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line283"
>
283
</a>
Configuration.all.sort.each {|c| configs
<<
c.to_hash}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line284"
>
284
</a>
halt 404
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line284"
>
284
</a>
if configs.empty?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line285"
>
285
</a>
else
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line285"
>
285
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line286"
>
286
</a>
configs.to_json
</pre></td>
<td><pre><a
name=
"line286"
>
286
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line287"
>
287
</a>
end
</pre></td>
<td><pre><a
name=
"line287"
>
287
</a>
configs.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line288"
>
288
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line288"
>
288
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line289"
>
289
</a>
</pre></td>
<td><pre><a
name=
"line289"
>
289
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line290"
>
290
</a>
put '/:appname/:element?' do |appname, element|
</pre></td>
<td><pre><a
name=
"line290"
>
290
</a>
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line291"
>
291
</a>
app = Application.find_or_create(:name =
>
appname)
</pre></td>
<td><pre><a
name=
"line291"
>
291
</a>
put '/:appname/:element?' do |appname, element|
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line292"
>
292
</a>
config = Configuration.find_or_create(:name =
>
element, :application_id =
>
app.id
)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line292"
>
292
</a>
app = Application.find_or_create(:name =
>
appname
)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line293"
>
293
</a>
required_params = [
"
format
"
,
"
body
"
]
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line293"
>
293
</a>
config = Configuration.find_or_create(:name =
>
element, :application_id =
>
app.id)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line294"
>
294
</a>
data = JSON.parse(request.body.read)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line294"
>
294
</a>
required_params = [
"
format
"
,
"
body
"
]
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line295"
>
295
</a>
data
.keys.sort == required_params.sort ? (config.format = data[
"
format
"
]; config.body = data[
"
body
"
]) : (raise
"
Missing Parameters
"
)
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line295"
>
295
</a>
data
= JSON.parse(request.body.read
)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line296"
>
296
</a>
if config.valid?
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line296"
>
296
</a>
data.keys.sort == required_params.sort ? (config.format = data[
"
format
"
]; config.body = data[
"
body
"
]) : (raise
"
Missing Parameters
"
)
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line297"
>
297
</a>
action = config.is_new? ?
"
create
"
:
"
update
"
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line297"
>
297
</a>
if config.valid?
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line298"
>
298
</a>
dependency_action = app.is_new? ?
"
created
"
:
"
updated
"
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line298"
>
298
</a>
config.save
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line299"
>
299
</a>
config.save
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line299"
>
299
</a>
action = config.is_new? ?
"
create
"
:
"
update
"
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line300"
>
300
</a>
r = {
"
result
"
=
>
"
success
"
,
"
id
"
=
>
"
#{config.id}
"
,
"
action
"
=
>
action,
"
dependencies
"
=
>
dependency_action,
"
application
"
=
>
app.name,
"
item
"
=
>
config.name}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line300"
>
300
</a>
dependency_action = app.is_new? ?
"
created
"
:
"
updated
"
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line301"
>
301
</a>
r
.to_json
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line301"
>
301
</a>
r
= {
"
result
"
=
>
"
success
"
,
"
id
"
=
>
"
#{config.id}
"
,
"
action
"
=
>
action,
"
dependencies
"
=
>
dependency_action,
"
application
"
=
>
app.name,
"
item
"
=
>
config.name}
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line302"
>
302
</a>
else
</pre></td>
<tr
class=
"marked"
>
<td><pre><a
name=
"line302"
>
302
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line303"
>
303
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line30
3"
>
303
</a>
raise
"
#{config.errors}
"
</pre></td>
<td><pre><a
name=
"line30
4"
>
304
</a>
raise
"
#{config.errors}
"
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line30
4"
>
304
</a>
end
</pre></td>
<td><pre><a
name=
"line30
5"
>
305
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line30
5"
>
305
</a>
end
</pre></td>
<td><pre><a
name=
"line30
6"
>
306
</a>
end
</pre></td>
</tr>
<tr
class=
"inferred"
>
<td><pre><a
name=
"line30
6"
>
306
</a>
</pre></td>
<td><pre><a
name=
"line30
7"
>
307
</a>
</pre></td>
</tr>
<tr
class=
"
inferr
ed"
>
<td><pre><a
name=
"line30
7"
>
307
</a>
delete '/:appname/:element?' do |appname, element|
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line30
8"
>
308
</a>
delete '/:appname/:element?' do |appname, element|
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line30
8"
>
308
</a>
app = Application.find(:name =
>
appname).first
</pre></td>
<td><pre><a
name=
"line30
9"
>
309
</a>
app = Application.find(:name =
>
appname).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line3
09"
>
309
</a>
if app
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line3
10"
>
310
</a>
if app
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
0"
>
310
</a>
config = Configuration.find(:name=
>
element, :application_id =
>
app.id).first
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
1"
>
311
</a>
config = Configuration.find(:name=
>
element, :application_id =
>
app.id).first
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
1"
>
311
</a>
if config
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
2"
>
312
</a>
if config
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
2"
>
312
</a>
config.delete
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
3"
>
313
</a>
config.delete
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
3"
>
313
</a>
r = {
"
result
"
=
>
"
success
"
,
"
id
"
=
>
"
#{config.id}
"
,
"
action
"
=
>
"
delete
"
,
"
application
"
=
>
"
#{app.name}
"
,
"
item
"
=
>
"
#{element}
"
}
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
4"
>
314
</a>
r = {
"
result
"
=
>
"
success
"
,
"
id
"
=
>
"
#{config.id}
"
,
"
action
"
=
>
"
delete
"
,
"
application
"
=
>
"
#{app.name}
"
,
"
item
"
=
>
"
#{element}
"
}
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
4"
>
314
</a>
r.to_json
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
5"
>
315
</a>
r.to_json
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
5"
>
315
</a>
else
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
6"
>
316
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line31
6"
>
316
</a>
halt 404
</pre></td>
<td><pre><a
name=
"line31
7"
>
317
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line31
7"
>
317
</a>
end
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line31
8"
>
318
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line31
8"
>
318
</a>
else
</pre></td>
<td><pre><a
name=
"line31
9"
>
319
</a>
else
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line3
19"
>
319
</a>
halt 404
</pre></td>
<td><pre><a
name=
"line3
20"
>
320
</a>
halt 404
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line32
0"
>
320
</a>
end
</pre></td>
<td><pre><a
name=
"line32
1"
>
321
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line32
1"
>
321
</a>
end
</pre></td>
<td><pre><a
name=
"line32
2"
>
322
</a>
end
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line32
2"
>
322
</a>
</pre></td>
<td><pre><a
name=
"line32
3"
>
323
</a>
</pre></td>
</tr>
<tr
class=
"uncovered"
>
<td><pre><a
name=
"line32
3"
>
323
</a>
end
</pre></td>
<td><pre><a
name=
"line32
4"
>
324
</a>
end
</pre></td>
</tr>
<tr
class=
"
uncover
ed"
>
<td><pre><a
name=
"line32
4"
>
324
</a>
run! if app_file == $0
</pre></td>
<tr
class=
"
mark
ed"
>
<td><pre><a
name=
"line32
5"
>
325
</a>
run! if app_file == $0
</pre></td>
</tr>
<tr
class=
"marked"
>
<td><pre><a
name=
"line32
5"
>
325
</a>
end
</pre></td>
<td><pre><a
name=
"line32
6"
>
326
</a>
end
</pre></td>
</tr>
</tbody>
</table>
<p>
Generated on 2011-01-
27 21:32:1
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
<p>
Generated on 2011-01-
31 05:03:3
2 -0500 with
<a
href=
"http://github.com/relevance/rcov"
>
rcov 0.9.8
</a></p>
</body>
</html>
spec/host_spec.rb
View file @
bad01f0d
require
File
.
expand_path
(
File
.
dirname
(
__FILE__
)
+
'/spec_helper'
)
describe
"
Noah
Host Model"
,
:reset_redis
=>
true
do
describe
"
Using the
Host Model"
,
:reset_redis
=>
true
do
it
"should create a new Host with no services"
do
hostname
=
"host1.domain.com"
hoststatus
=
"up"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
name
.
should
==
hostname
host
.
status
.
should
==
hoststatus
host
.
services
.
size
.
should
==
0
end
describe
"should"
do
it
"create a new Host with no services"
do
hostname
=
"host1.domain.com"
hoststatus
=
"up"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
name
.
should
==
hostname
host
.
status
.
should
==
hoststatus
host
.
services
.
size
.
should
==
0
end
it
"should
create a new Host with services"
do
hostname
=
"host2.domain.com"
hoststatus
=
"down"
servicename
=
'myservice'
servicestatus
=
'pending'
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
services
<<
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
,
:host
=>
host
)
host
.
name
.
should
==
hostname
host
.
status
.
should
==
hoststatus
host
.
services
.
size
.
should
==
1
host
.
services
[
1
].
valid?
.
should
==
true
host
.
services
[
1
].
name
.
should
==
servicename
host
.
services
[
1
].
status
.
should
==
servicestatus
host
.
services
[
1
].
host_id
.
should
==
host
.
id
end
it
"
create a new Host with services"
do
hostname
=
"host2.domain.com"
hoststatus
=
"down"
servicename
=
'myservice'
servicestatus
=
'pending'
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
services
<<
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
,
:host
=>
host
)
host
.
name
.
should
==
hostname
host
.
status
.
should
==
hoststatus
host
.
services
.
size
.
should
==
1
host
.
services
[
1
].
valid?
.
should
==
true
host
.
services
[
1
].
name
.
should
==
servicename
host
.
services
[
1
].
status
.
should
==
servicestatus
host
.
services
[
1
].
host_id
.
should
==
host
.
id
end
it
"should
create a Host via find_or_create"
do
hostname
=
"host3.domain.com"
hoststatus
=
"up"
host
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
is_new?
.
should
==
true
end
it
"
create a Host via find_or_create"
do
hostname
=
"host3.domain.com"
hoststatus
=
"up"
host
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
is_new?
.
should
==
true
end
it
"should
update a Host via find_or_create"
do
hostname
=
"host3.domain.com"
hoststatus
=
"pending"
newstatus
=
"down"
host
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
is_new?
.
should
==
true
sleep
1
host1
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
newstatus
)
host1
.
save
host1
.
is_new?
.
should
==
false
end
it
"
update a Host via find_or_create"
do
hostname
=
"host3.domain.com"
hoststatus
=
"pending"
newstatus
=
"down"
host
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
valid?
.
should
==
true
host
.
save
host
.
is_new?
.
should
==
true
sleep
1
host1
=
Host
.
find_or_create
(
:name
=>
hostname
,
:status
=>
newstatus
)
host1
.
save
host1
.
is_new?
.
should
==
false
end
it
"should
delete a Host"
do
hostname
=
"host3.domain.com"
hoststatus
=
"pending"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
save
host
.
delete
Host
.
find
(
:name
=>
hostname
).
empty?
.
should
==
true
end
it
"
delete a Host"
do
hostname
=
"host3.domain.com"
hoststatus
=
"pending"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
save
host
.
delete
Host
.
find
(
:name
=>
hostname
).
empty?
.
should
==
true
end
it
"should not create a new Host with missing status"
do
hostname
=
"host3.domain.com"
host
=
Host
.
create
(
:name
=>
hostname
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:status
,
:not_present
],
[
:status
,
:not_member
]]
it
"should return all Hosts"
do
hostname1
=
"host1.domain.com"
status1
=
"up"
hostname2
=
"host2.domain.com"
status2
=
"down"
host1
=
Host
.
create
(
:name
=>
hostname1
,
:status
=>
status1
)
host2
=
Host
.
create
(
:name
=>
hostname2
,
:status
=>
status2
)
host1
.
save
host2
.
save
Hosts
.
all
.
class
.
should
==
Array
Hosts
.
all
.
size
.
should
==
2
Hosts
.
all
.
first
.
name
.
should
==
hostname1
Hosts
.
all
.
first
.
status
.
should
==
status1
Hosts
.
all
.
last
.
name
.
should
==
hostname2
Hosts
.
all
.
last
.
status
.
should
==
status2
end
end
it
"should not create a new Host with missing hostname"
do
status
=
"up"
host
=
Host
.
create
(
:status
=>
status
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:name
,
:not_present
]]
end
describe
"should not"
do
it
"create a new Host with missing status"
do
hostname
=
"host3.domain.com"
host
=
Host
.
create
(
:name
=>
hostname
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:status
,
:not_present
],
[
:status
,
:not_member
]]
end
it
"should not create a new Host with an invalid status"
do
hostname
=
"host3.domain.com"
status
=
"online"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:status
,
:not_member
]]
end
it
"create a new Host with missing hostname"
do
status
=
"up"
host
=
Host
.
create
(
:status
=>
status
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:name
,
:not_present
]]
end
it
"should not create a duplicate Host"
do
hostname
=
"host1.domain.com"
status
=
"up"
host1
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host1
.
save
host2
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host2
.
valid?
.
should
==
false
host2
.
errors
.
should
==
[[
:name
,
:not_unique
]]
end
it
"create a new Host with an invalid status"
do
hostname
=
"host3.domain.com"
status
=
"online"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host
.
valid?
.
should
==
false
host
.
errors
.
should
==
[[
:status
,
:not_member
]]
end
it
"should return all Hosts"
do
hostname1
=
"host1.domain.com"
status1
=
"up"
hostname2
=
"host2.domain.com"
status2
=
"down"
host1
=
Host
.
create
(
:name
=>
hostname1
,
:status
=>
status1
)
host2
=
Host
.
create
(
:name
=>
hostname2
,
:status
=>
status2
)
host1
.
save
host2
.
save
Hosts
.
all
.
class
.
should
==
Array
Hosts
.
all
.
size
.
should
==
2
Hosts
.
all
.
first
.
name
.
should
==
hostname1
Hosts
.
all
.
first
.
status
.
should
==
status1
Hosts
.
all
.
last
.
name
.
should
==
hostname2
Hosts
.
all
.
last
.
status
.
should
==
status2
it
"create a duplicate Host"
do
hostname
=
"host1.domain.com"
status
=
"up"
host1
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host1
.
save
host2
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
status
)
host2
.
valid?
.
should
==
false
host2
.
errors
.
should
==
[[
:name
,
:not_unique
]]
end
end
end
spec/service_spec.rb
View file @
bad01f0d
require
File
.
expand_path
(
File
.
dirname
(
__FILE__
)
+
'/spec_helper'
)
describe
"Noah Service Model"
,
:reset_redis
=>
true
do
describe
"should"
do
it
"should
create a new Service"
do
servicename
=
"myservice"
servicestatus
=
"up"
hostname
=
"mytesthost1"
hoststatus
=
"up"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
save
service
=
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
,
:host
=>
host
)
service
.
valid?
.
should
==
true
service
.
save
service
.
name
.
should
==
servicename
service
.
status
.
should
==
servicestatus
service
.
host_id
.
should
==
host
.
id
host
.
services
[
1
].
name
.
should
==
servicename
end
it
"
create a new Service"
do
servicename
=
"myservice"
servicestatus
=
"up"
hostname
=
"mytesthost1"
hoststatus
=
"up"
host
=
Host
.
create
(
:name
=>
hostname
,
:status
=>
hoststatus
)
host
.
save
service
=
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
,
:host
=>
host
)
service
.
valid?
.
should
==
true
service
.
save
service
.
name
.
should
==
servicename
service
.
status
.
should
==
servicestatus
service
.
host_id
.
should
==
host
.
id
host
.
services
[
1
].
name
.
should
==
servicename
end
it
"should not create a new Service when missing a Host
"
do
servicename
=
"myservice1"
servicestatus
=
"up"
service
=
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
)
service
.
valid?
.
should
==
fals
e
service
.
errors
.
should
==
[[
:host_id
,
:not_present
]]
end
it
"create a new Service with find_or_create
"
do
host
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
find_or_create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
host
)
service
.
sav
e
service
.
is_new?
.
should
==
true
end
it
"should not create a new Service when missing a name"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:status
=>
"up"
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:name
,
:not_present
]]
end
it
"update an existing Service with find_or_create"
do
host
=
Host
.
create
(
:name
=>
"h2"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
find_or_create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
host
)
service
.
save
sleep
1
service2
=
Service
.
find_or_create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
host
)
service2
.
save
service2
.
is_new?
.
should
==
false
end
it
"should not create a new Service when missing a status"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:name
=>
'foo'
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:status
,
:not_present
],
[
:status
,
:not_member
]]
end
it
"delete a Service"
do
h
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
h
.
save
s
=
Service
.
create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
h
)
s
.
save
s
=
Service
.
find
(
:name
=>
"s1"
).
first
s
.
delete
s
=
Service
.
find
(
:name
=>
"s1"
).
first
s
.
should
==
nil
end
it
"should not create a new Service with an invalid status"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"invalid_status"
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:status
,
:not_member
]]
end
it
"find multiple Services"
do
h
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
if
h
.
valid?
h
.
services
<<
Service
.
create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
h
)
h
.
services
<<
Service
.
create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
h
)
h
.
save
end
Services
.
all
.
size
.
should
==
2
Services
.
all
.
first
.
name
.
should
==
"s1"
Services
.
all
.
last
.
name
.
should
==
"s2"
end
it
"should not create a duplicate Service"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
s
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"up"
,
:host
=>
host
)
s
.
save
s1
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"up"
,
:host
=>
host
)
s1
.
valid?
.
should
==
false
s1
.
errors
.
should
==
[[[
:name
,
:host_id
],
:not_unique
]]
end
it
"should create a new Service with find_or_create"
do
host
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
find_or_create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
host
)
service
.
save
service
.
is_new?
.
should
==
true
end
describe
"should not"
do
it
"should update an existing Service with find_or_create"
do
host
=
Host
.
create
(
:name
=>
"h2"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
find_or_create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
host
)
service
.
save
sleep
1
service2
=
Service
.
find_or_create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
host
)
service2
.
save
service2
.
is_new?
.
should
==
false
end
it
"create a new Service when missing a Host"
do
servicename
=
"myservice1"
servicestatus
=
"up"
service
=
Service
.
create
(
:name
=>
servicename
,
:status
=>
servicestatus
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:host_id
,
:not_present
]]
end
it
"should delete a Service"
do
h
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
h
.
save
s
=
Service
.
create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
h
)
s
.
save
s
=
Service
.
find
(
:name
=>
"s1"
).
first
s
.
delete
s
=
Service
.
find
(
:name
=>
"s1"
).
first
s
.
should
==
nil
end
it
"create a new Service when missing a name"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:status
=>
"up"
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:name
,
:not_present
]]
end
it
"should find multiple Services"
do
h
=
Host
.
create
(
:name
=>
"h1"
,
:status
=>
"up"
)
if
h
.
valid?
h
.
services
<<
Service
.
create
(
:name
=>
"s1"
,
:status
=>
"up"
,
:host
=>
h
)
h
.
services
<<
Service
.
create
(
:name
=>
"s2"
,
:status
=>
"up"
,
:host
=>
h
)
h
.
save
it
"create a new Service when missing a status"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:name
=>
'foo'
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:status
,
:not_present
],
[
:status
,
:not_member
]]
end
it
"create a new Service with an invalid status"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
service
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"invalid_status"
,
:host
=>
host
)
service
.
valid?
.
should
==
false
service
.
errors
.
should
==
[[
:status
,
:not_member
]]
end
Services
.
all
.
size
.
should
==
2
Services
.
all
.
first
.
name
.
should
==
"s1"
Services
.
all
.
last
.
name
.
should
==
"s2"
end
it
"create a duplicate Service"
do
host
=
Host
.
create
(
:name
=>
"host1.domain.com"
,
:status
=>
"up"
)
host
.
save
s
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"up"
,
:host
=>
host
)
s
.
save
s1
=
Service
.
create
(
:name
=>
"myservice"
,
:status
=>
"up"
,
:host
=>
host
)
s1
.
valid?
.
should
==
false
s1
.
errors
.
should
==
[[[
:name
,
:host_id
],
:not_unique
]]
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment