class Fluoride::Analyzer::GroupContext

Attributes

method[R]
status_code[R]

Public Class Methods

new(method, status, requests, path, query_params) click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 5
def initialize(method, status, requests, path, query_params)
  @method, @status_code, @requests, @path, @query_params = method, status, requests, path, query_params
end

Public Instance Methods

example_path() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 33
def example_path
  request['path']
end
example_source() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 29
def example_source
  request['sources'].keys.first
end
redirect_path() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 50
def redirect_path
  if request['redirect_location'].nil?
    pp request
    pp response
    exit
  else
    request['redirect_location'].sub(%r[^https?://#{request['host']}], '')
  end
end
request_count() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 23
def request_count
  @requests.inject(0) do |sum, request|
    sum + request['sources'].keys.length
  end
end
request_spec_description() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 37
def request_spec_description
  "#@method #{spec_request_path}"
end
should_what() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 41
def should_what
  case @status_code.to_i
  when 300..399
    "redirect"
  else
    "succeed"
  end
end
spec_request_path() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 82
def spec_request_path
  "#{@path}#{@query_params}"
end
status_description() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 14
def status_description
  case @status_code.to_i
  when 300..399
    "Redirect"
  else
    "OK"
  end
end
test_method() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 10
def test_method
  @method.downcase
end
test_request(indent) click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 69
def test_request(indent)
  indent = " " * indent
  test_request = "#{test_method} \"#{spec_request_path}\""
  if request.has_key? 'post_params'
    params = request['post_params'].pretty_inspect.split("\n")
    params = ([params[0]] + params[1..-1].map do |line|
      indent + line
    end).join("\n")
    test_request += ", #{params}"
  end
  test_request
end
test_result() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 60
def test_result
  case @status_code.to_i
  when 300..303,305..399
    ["response.should redirect_to(\"#{redirect_path}\")"]
  else
    ["response.should be_success", "response.status.should == 200"]
  end
end

Private Instance Methods

request() click to toggle source
# File lib/fluoride-analyzer/group-context.rb, line 88
def request
  @requests.first
end