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 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
@@ -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
- config.each do |test, definition|
28
- result = nil
29
- response = nil
30
-
31
- begin
32
- request_definition = config_converter(definition)
33
- response_definition = definition[:response]
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
- response = Turd.run(request_definition, response_definition)
36
- result = "PASS"
37
- rescue Exception => e
38
- Nugget::Log.error("#{definition[:type]} test #{test} failed due to #{e.response[:failed]}!")
39
- Nugget::Log.error(e)
39
+ if Nugget::Config.daemon
40
+ Nugget::Service.write_results(results)
41
+ end
42
+ end
40
43
 
41
- result = "FAIL"
42
- response = e.response
43
- end
44
+ def self.run_test(results, test, definition)
45
+ result = nil
46
+ response = nil
44
47
 
45
- Nugget::Log.info("Test #{test} complete with status #{result}")
48
+ begin
49
+ request_definition = config_converter(definition)
50
+ response_definition = definition[:response]
46
51
 
47
- results.store(test, {
48
- :config => request_definition,
49
- :result => result,
50
- :response => response,
51
- :timestamp => Time.now.to_i
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
- if Nugget::Config.backstop_url
55
- Nugget::Backstop.send_metrics(test, result, response)
56
- end
58
+ result = "FAIL"
59
+ response = e.response
57
60
  end
58
61
 
59
- if Nugget::Config.daemon
60
- Nugget::Service.write_results(results)
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
@@ -1,3 +1,3 @@
1
1
  module Nugget
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
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 Nugget::Config.daemon
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.9
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-03-25 00:00:00.000000000 Z
12
+ date: 2014-05-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mixlib-config