nugget 0.0.9 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
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