class Webpoke::Test
A test
Public Class Methods
new(&block)
click to toggle source
# File lib/Webpoke/Test.rb, line 8 def initialize(&block) @parse = true @on_success = []; instance_eval(&block); @group = @group || '' @method = @method || 'get' @headers = @headers || {} @on_success = []; @ran = false; end
Public Instance Methods
default_success(code, body)
click to toggle source
# File lib/Webpoke/Test.rb, line 42 def default_success (code, body) if @should_fail return code > 399 else return (200..226).include?(code) end end
dependant?()
click to toggle source
# File lib/Webpoke/Test.rb, line 115 def dependant? @dependant end
depends_on(otherTest)
click to toggle source
# File lib/Webpoke/Test.rb, line 37 def depends_on otherTest otherTest.on_success << self self.dependant = true; end
describe()
click to toggle source
Returns the test description definition (so that we can auto-generate documentation)
end ¶ ↑
# File lib/Webpoke/Test.rb, line 85 def describe query = [] if (@query) @query.each do |k,v| query << {key: k, v:self.pt(v)} end end data = [] if (@data) @data.each do |k,v| data << {key: k, v:self.pt(v)} end end return { description: @description, url: @url, method: @method, query: query, headers: @headers, data: data, sampleOutput: @sampleOutput, metadata: @metadata } end
did_run?()
click to toggle source
# File lib/Webpoke/Test.rb, line 23 def did_run? @ran end
on(response, &block)
click to toggle source
# File lib/Webpoke/Test.rb, line 27 def on (response, &block) if (response == 'success') @on_success << block else @on_error << block end end
passed?(response, body)
click to toggle source
Run the test
# File lib/Webpoke/Test.rb, line 123 def passed? (response, body) @ran = true @response = { body: body, code: response } if !self.default_success(response, body) return false end if @success begin result = @success.call(response, body) rescue Exception => e result = false raise Webpoke::TestSuccessError.new(e.message, e) end else result = self.default_success(response, body) end return result end
pt(v)
click to toggle source
# File lib/Webpoke/Test.rb, line 64 def pt(v) clase = v.class.to_s case clase when 'Fixnum' clase = 'Int' when 'Hash' v.each do |k,nv| v[k] = self.pt(nv) end return v when 'TrueClass', 'FalseClass' clase = 'Boolean' end clase.downcase end
should_parse?()
click to toggle source
# File lib/Webpoke/Test.rb, line 19 def should_parse? return @parse end
success(&block)
click to toggle source
# File lib/Webpoke/Test.rb, line 50 def success (&block) @success = block end
to_s()
click to toggle source
Returns the test description
# File lib/Webpoke/Test.rb, line 59 def to_s @description end