class Kapnismology::SmokeTest
This is the base class for all the smoke tests. Inherit from this class and implement the result and self.name method
Constants
- DEFAULT_TAGS
- DEPLOYMENT_TAG
- RUNTIME_TAG
Public Class Methods
inherited(klass)
click to toggle source
# File lib/kapnismology/smoke_test.rb, line 42 def inherited(klass) SmokeTestCollection.add_smoke_test(klass) end
timeout()
click to toggle source
# File lib/kapnismology/smoke_test.rb, line 50 def timeout 10 end
Public Instance Methods
__result__()
click to toggle source
Internally Kapnismology
is calling this method. We are handling exceptions under the hood here
# File lib/kapnismology/smoke_test.rb, line 19 def __result__ start_time = Time.now execution = Timeout.timeout(self.class.timeout) { result } result_object = execution || Result.new(false, {}, 'This test has not returned any result') unless result_object.class.ancestors.include?(BaseResult) message = "Smoke test #{self.class}, returned #{result_object.class} instead of a Result" result_object = Result.new(false, { returned_class: result_object.class }, message) end rescue Kapnismology::SmokeTestFailed => e result_object = e.result rescue Timeout::Error => e message = "#{self.class} took more than #{self.class.timeout} seconds to finish and timed-out" result_object = Result.new(false, { exception: e.class, message: e.message }, message) rescue Exception => e # Socket, IO errors inherit from Exception, not StandardError message = "Unrescued error happened in #{self.class}" result_object = Result.new(false, { exception: e.class, message: e.message }, message) ensure @all_result_messages ||= [] result_object.record_duration(start_time) return result_object.add_debug_messages(@all_result_messages) end
result()
click to toggle source
# File lib/kapnismology/smoke_test.rb, line 16 def result; end
Protected Instance Methods
puts_to_result(message)
click to toggle source
# File lib/kapnismology/smoke_test.rb, line 57 def puts_to_result(message) @all_result_messages ||= [] @all_result_messages.push(message) end