nugget 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/nugget/cli.rb +6 -1
- data/lib/nugget/service.rb +45 -33
- data/lib/nugget/version.rb +1 -1
- data/lib/nugget.rb +4 -4
- metadata +2 -2
data/lib/nugget/cli.rb
CHANGED
@@ -20,6 +20,11 @@ module Nugget
|
|
20
20
|
:long => "--config PATH",
|
21
21
|
:description => "Path of the json config."
|
22
22
|
|
23
|
+
option :test,
|
24
|
+
:short => "-t TEST_NAME",
|
25
|
+
:long => "--test TEST_NAME",
|
26
|
+
:description => "Individual test name to run."
|
27
|
+
|
23
28
|
option :daemon,
|
24
29
|
:short => "-d",
|
25
30
|
:long => "--daemon",
|
@@ -66,4 +71,4 @@ module Nugget
|
|
66
71
|
:exit => 0
|
67
72
|
|
68
73
|
end
|
69
|
-
end
|
74
|
+
end
|
data/lib/nugget/service.rb
CHANGED
@@ -1,63 +1,75 @@
|
|
1
1
|
module Nugget
|
2
2
|
class Service
|
3
3
|
|
4
|
-
def self.run_daemon()
|
4
|
+
def self.run_daemon(test_name = nil)
|
5
5
|
Nugget::Log.info("Starting up Nugget in daemon mode ...")
|
6
6
|
|
7
7
|
loop do
|
8
|
-
run()
|
8
|
+
run(test_name)
|
9
9
|
|
10
10
|
# chill
|
11
11
|
sleep(Nugget::Config.interval.to_i)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.run_once()
|
15
|
+
def self.run_once(test_name = nil)
|
16
16
|
Nugget::Log.info("Starting up Nugget in run-once mode ...")
|
17
|
-
run()
|
17
|
+
run(test_name)
|
18
18
|
end
|
19
19
|
|
20
|
-
def self.run()
|
20
|
+
def self.run(test_name = nil)
|
21
21
|
config_file = open(Nugget::Config.config)
|
22
22
|
parser = Yajl::Parser.new(:symbolize_keys => true)
|
23
23
|
config = parser.parse(config_file)
|
24
24
|
|
25
25
|
results = Hash.new
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
27
|
+
if test_name
|
28
|
+
if definition = config[test_name.to_s.to_sym]
|
29
|
+
run_test(results, test_name, definition)
|
30
|
+
else
|
31
|
+
raise "No test name #{test_name.inspect} found."
|
32
|
+
end
|
33
|
+
else
|
34
|
+
config.each do |test, definition|
|
35
|
+
run_test(results, test, definition)
|
36
|
+
end
|
37
|
+
end
|
34
38
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
Nugget::Log.error(e)
|
39
|
+
if Nugget::Config.daemon
|
40
|
+
Nugget::Service.write_results(results)
|
41
|
+
end
|
42
|
+
end
|
40
43
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
+
def self.run_test(results, test, definition)
|
45
|
+
result = nil
|
46
|
+
response = nil
|
44
47
|
|
45
|
-
|
48
|
+
begin
|
49
|
+
request_definition = config_converter(definition)
|
50
|
+
response_definition = definition[:response]
|
46
51
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
})
|
52
|
+
response = Turd.run(request_definition, response_definition)
|
53
|
+
result = "PASS"
|
54
|
+
rescue Exception => e
|
55
|
+
Nugget::Log.error("#{definition[:type]} test #{test} failed due to #{e.response[:failed]}!")
|
56
|
+
Nugget::Log.error(e)
|
53
57
|
|
54
|
-
|
55
|
-
|
56
|
-
end
|
58
|
+
result = "FAIL"
|
59
|
+
response = e.response
|
57
60
|
end
|
58
61
|
|
59
|
-
|
60
|
-
|
62
|
+
Nugget::Log.info("Test #{test} complete with status #{result}")
|
63
|
+
|
64
|
+
results.store(test, {
|
65
|
+
:config => request_definition,
|
66
|
+
:result => result,
|
67
|
+
:response => response,
|
68
|
+
:timestamp => Time.now.to_i
|
69
|
+
})
|
70
|
+
|
71
|
+
if Nugget::Config.backstop_url
|
72
|
+
Nugget::Backstop.send_metrics(test, result, response)
|
61
73
|
end
|
62
74
|
end
|
63
75
|
|
@@ -93,4 +105,4 @@ module Nugget
|
|
93
105
|
end
|
94
106
|
|
95
107
|
end
|
96
|
-
end
|
108
|
+
end
|
data/lib/nugget/version.rb
CHANGED
data/lib/nugget.rb
CHANGED
@@ -37,10 +37,10 @@ module Nugget
|
|
37
37
|
Nugget::Web.run()
|
38
38
|
else
|
39
39
|
if Nugget::Config.config
|
40
|
-
if
|
41
|
-
Nugget::Service.run_daemon()
|
40
|
+
if Nugget::Config.daemon
|
41
|
+
Nugget::Service.run_daemon(Nugget::Config.test)
|
42
42
|
else
|
43
|
-
Nugget::Service.run_once()
|
43
|
+
Nugget::Service.run_once(Nugget::Config.test)
|
44
44
|
end
|
45
45
|
else
|
46
46
|
Nugget::Log.error("No config supplied! Use \"-c FILE\".")
|
@@ -49,4 +49,4 @@ module Nugget
|
|
49
49
|
end
|
50
50
|
|
51
51
|
end
|
52
|
-
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nugget
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-05-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mixlib-config
|