class Fitting::Records::TestUnit::Request

Public Class Methods

new(tested_request, all_documented_requests) click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 7
def initialize(tested_request, all_documented_requests)
  @tested_request = tested_request
  @all_documented_requests = all_documented_requests
end

Public Instance Methods

body() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 20
def body
  @body ||= @tested_request.body
end
documented?() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 44
def documented?
  @documented ||= documented_requests.present?
end
documented_requests() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 36
def documented_requests
  @documented_requests ||= @all_documented_requests.inject([]) do |res, documented_request|
    next res unless @tested_request.method == documented_request.method &&
                    documented_request.path.match(@tested_request.path.to_s)
    res.push(documented_request)
  end
end
documented_responses() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 48
def documented_responses
  @documented_responses ||= documented_requests.inject([]) do |res, documented_request|
    documented_request.responses.map do |documented_response|
      next unless documented_response['status'] == response.status.to_s
      res.push(documented_response)
    end
  end.flatten.compact
end
invalid_json_schemas() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 78
def invalid_json_schemas
  @invalid_json_schemas ||= response_json_schemas.inject([]) do |res, json_schema|
    next res if JSON::Validator.validate(json_schema, response.body)
    res.push(
      json_schema: json_schema,
      fully_validate: JSON::Validator.fully_validate(json_schema, response.body)
    )
  end.flatten
end
method() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 12
def method
  @method ||= @tested_request.method
end
path() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 16
def path
  @path ||= @tested_request.path
end
response() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 24
def response
  @response ||= @tested_request.response
end
response_documented?() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 57
def response_documented?
  @response_documented ||= documented_responses.present?
end
response_json_schemas() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 61
def response_json_schemas
  @response_json_schemas ||= documented_responses.inject([]) do |res, documented_response|
    res.push(documented_response['json_schemas'])
  end.flatten
end
response_json_schemas?() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 67
def response_json_schemas?
  @response_json_schemas_present ||= response_json_schemas.present?
end
test_file_path() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 32
def test_file_path
  @test_file_path ||= @tested_request.group
end
test_path() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 28
def test_path
  @test_path ||= @tested_request.title
end
valid_json_schemas() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 71
def valid_json_schemas
  @valid_json_schemas ||= response_json_schemas.inject([]) do |res, json_schema|
    next res unless JSON::Validator.validate(json_schema, response.body)
    res.push(json_schema)
  end.flatten
end
valid_json_schemas?() click to toggle source
# File lib/fitting/records/test_unit/request.rb, line 88
def valid_json_schemas?
  @valid_json_schemas_present ||= valid_json_schemas.present?
end