Class: Minitest::JsonApi::Reporter
- Inherits:
-
StatisticsReporter
- Object
- StatisticsReporter
- Minitest::JsonApi::Reporter
- Defined in:
- lib/minitest/jsonapi_plugin.rb
Instance Attribute Summary collapse
-
#addr ⇒ Object
Returns the value of attribute addr.
-
#all_results ⇒ Object
Returns the value of attribute all_results.
-
#apikeyname ⇒ Object
Returns the value of attribute apikeyname.
-
#apikeyvalue ⇒ Object
Returns the value of attribute apikeyvalue.
-
#pretty ⇒ Object
Returns the value of attribute pretty.
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Reporter
constructor
A new instance of Reporter.
- #record(result) ⇒ Object
- #report ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Reporter
Returns a new instance of Reporter.
10 11 12 13 14 15 16 17 18 19 |
# File 'lib/minitest/jsonapi_plugin.rb', line 10 def initialize( = {}) super self.all_results = [] self.addr = [:addr] self.apikeyname = [:apikeyname] self.apikeyvalue = [:apikeyvalue] self.pretty = [:pretty] || false end |
Instance Attribute Details
#addr ⇒ Object
Returns the value of attribute addr.
8 9 10 |
# File 'lib/minitest/jsonapi_plugin.rb', line 8 def addr @addr end |
#all_results ⇒ Object
Returns the value of attribute all_results.
8 9 10 |
# File 'lib/minitest/jsonapi_plugin.rb', line 8 def all_results @all_results end |
#apikeyname ⇒ Object
Returns the value of attribute apikeyname.
8 9 10 |
# File 'lib/minitest/jsonapi_plugin.rb', line 8 def apikeyname @apikeyname end |
#apikeyvalue ⇒ Object
Returns the value of attribute apikeyvalue.
8 9 10 |
# File 'lib/minitest/jsonapi_plugin.rb', line 8 def apikeyvalue @apikeyvalue end |
#pretty ⇒ Object
Returns the value of attribute pretty.
8 9 10 |
# File 'lib/minitest/jsonapi_plugin.rb', line 8 def pretty @pretty end |
Instance Method Details
#record(result) ⇒ Object
21 22 23 24 |
# File 'lib/minitest/jsonapi_plugin.rb', line 21 def record(result) super all_results << result end |
#report ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
# File 'lib/minitest/jsonapi_plugin.rb', line 26 def report super assertions = 0 skips = 0 errors = 0 fails = 0 passes = 0 results = all_results.collect do |result| status = case result.failure when Skip skips += 1 :skip when UnexpectedError errors += 1 :error when Assertion fails += 1 :fail else passes += 1 :pass end assertions += result.assertions result_hash = { name: result.name, status: status, time: result.time, assertions: result.assertions, file: nil, line: nil } if result.failure result_hash.merge!({ file: result.source_location[0], line: result.source_location[1] }) end result_hash end summary = { tests: all_results.count, assertions: assertions, passes: passes, fails: fails, errors: errors, skips: skips } full_result = { summary: summary, results: results } if addr.to_s.empty? if self.pretty io[:io].write(JSON.pretty_generate(full_result)) else io[:io].write(JSON.dump(full_result)) end else uri = URI.parse(self.addr) header = {'Content-Type': 'text/json'} if self.apikeyname and self.apikeyvalue header[self.apikeyname] = apikeyvalue end http = Net::HTTP.new(uri.host, uri.port) request = Net::HTTP::Post.new(uri.request_uri, header) request.body = full_result.to_json http.use_ssl = true if uri.scheme == 'https' begin http.request request rescue Exception => e puts "ERROR - #{e.message}" end end end |