class TestWEBrickRequest

Public Instance Methods

ok_req(e, req) click to toggle source
# File vendor/qwik/lib/qwik/server-webrick.rb, line 31
def ok_req(e, req)
  ok_eq(e, [req.sitename, req.base, req.ext])
end
setup_server() click to toggle source
# File vendor/qwik/lib/qwik/server-webrick.rb, line 35
def setup_server
  config = Qwik::Config.new
  config[:debug] = true
  config[:test]  = true     # do not show webrick log

  server_config = {}

  req = Qwik::Request.new(config)

  return config, server_config, req
end
test_parse_webrick() click to toggle source
# File vendor/qwik/lib/qwik/server-webrick.rb, line 47
def test_parse_webrick
  config, server_config, req = setup_server

  wreq = Qwik::WEBrickRequest.new(server_config)
  wreq.request_uri = URI.parse('http://example.com/')
  wreq.path = '/'
  req.parse_webrick(wreq)
  ok_req(['www', 'FrontPage', 'html'], req)

  wreq.request_uri = URI.parse('http://example.com/test/1.html')
  wreq.path = '/test/1.html'
  req.parse_webrick(wreq)
  ok_req(['test', '1', 'html'], req)
end
test_parse_webrick_env() click to toggle source
# File vendor/qwik/lib/qwik/server-webrick.rb, line 62
def test_parse_webrick_env
  config, server_config, req = setup_server

  wreq = Qwik::WEBrickRequest.new(server_config)
  wreq.path = '/'
  wreq.peeraddr = [nil, nil, nil, '192.168.0.1']
  req.parse_webrick(wreq)

  wreq.request_method = 'POST'
  req.parse_webrick(wreq)
  ok_eq('POST', req.request_method)

  wreq.request_method = 'HEAD'
  req.parse_webrick(wreq)
  ok_eq('HEAD', req.request_method)

  wreq.request_method = 'GET'
  req.parse_webrick(wreq)
  ok_eq('GET', req.request_method)

  wreq.header = {'x-test' => ['t']}
  req.parse_webrick(wreq)
  ok_eq('t', req['X-Test'])

  wreq.cookies = []
  wreq.cookies << WEBrick::Cookie.new('s', 't')
  wreq.cookies << WEBrick::Cookie.new('k', 'v')
  req.parse_webrick(wreq)
  ok_eq('t', req.cookies['s'])
  ok_eq('v', req.cookies['k'])

  wreq.query = {'k' => 'v'}
  req.parse_webrick(wreq)
  ok_eq('v', req.query['k'])

  wreq.query = {'c' => 'edit'}
  req.parse_webrick(wreq)
  ok_eq('edit', req.query['c'])
end