Class: Apiary::Okapi::Outputs::BaseOutput
- Inherits:
-
Object
- Object
- Apiary::Okapi::Outputs::BaseOutput
- Defined in:
- lib/okapi/outputs/base.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#status ⇒ Object
readonly
Returns the value of attribute status.
Instance Method Summary collapse
- #get ⇒ Object
- #get_fail_result(result) ⇒ Object
- #get_results ⇒ Object
-
#initialize(resources, error) ⇒ BaseOutput
constructor
A new instance of BaseOutput.
Constructor Details
#initialize(resources, error) ⇒ BaseOutput
Returns a new instance of BaseOutput.
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/okapi/outputs/base.rb', line 7 def initialize(resources, error) @resources = resources @error = error @results = { :count => 0, :give_up => false, } @status = true get_results end |
Instance Attribute Details
#status ⇒ Object (readonly)
Returns the value of attribute status.
5 6 7 |
# File 'lib/okapi/outputs/base.rb', line 5 def status @status end |
Instance Method Details
#get ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/okapi/outputs/base.rb', line 18 def get p @results[:count].to_s + ' tests' p @results[:give_up][:error].to_s if @results[:give_up] @results[:tests].each { |test| p '-------------------------------------------------' p test[:test_no] p test[:description] if test[:pass] p 'OK' else p "FAILED" p test[:exp] end } end |
#get_fail_result(result) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/okapi/outputs/base.rb', line 71 def get_fail_result(result) res = [] if result.schema result.schema_res["errors"]["length"].times {|i| res << result.schema_res["errors"][i.to_s]["message"] } else if not result.body_pass res << 'Body does not match' end end if not result.header_pass res << 'Headers does not match' end res end |
#get_results ⇒ Object
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 |
# File 'lib/okapi/outputs/base.rb', line 34 def get_results @results[:count] = @resources.count @results[:tests] = [] if @error @results[:give_up] = {:error => @error} @status = false else counter = 0 @resources.each { |res| counter += 1 test_res = { :test_no=> counter, :pass => (res.validation_result.status and res.response.validation_result.status), :description => (res.method + ' ' + res.uri) + ((res. and res.uri != res.['url']) ? " (#{res.['url']}) " : '') } if not test_res[:pass] test_res[:exp] = {:request => {:pass => false}, :response => {:pass => false}} if res.validation_result.status test_res[:exp][:request][:pass] = true else test_res[:exp][:request][:reasons] = get_fail_result(res.validation_result) @status = false end if res.response.validation_result.status test_res[:exp][:response][:pass] = true else test_res[:exp][:response][:reasons] = get_fail_result(res.response.validation_result) @status = false end end @results[:tests] << test_res } end end |