Sha256: 8ea2a8748d18189bdf105757bc76e06c09e982e85a0dc7d78bdf4d8ef8085fa7

Contents?: true

Size: 1.62 KB

Versions: 2

Compression:

Stored size: 1.62 KB

Contents

#
# Testing rufus-verbs
#
# jmettraux@gmail.com
#
# Tue Jan 15 09:26:45 JST 2008
#


require File.dirname(__FILE__) + '/base.rb'


class DryRunTest < Test::Unit::TestCase

  include Rufus::Verbs


  def test_0

    req = put(
      :dry_run => true,
      :uri => "http://localhost:7777/items/1",
      :params => { "a" => "A", :b => :B })

    assert_equal "/items/1?a=A&b=B", req.path

    req = post(
      :dry_run => true,
      :uri => "http://localhost:7777/items/1",
      :params => { "a" => "A", :b => :B })

    assert_equal "/items/1?a=A&b=B", req.path

    req = put(
      :dry_run => true,
      :uri => "http://localhost:7777/items/1",
      :query => { "a" => "A", :b => :B })

    assert_equal "/items/1?a=A&b=B", req.path

    req = put(
      "http://localhost:7777/items/1?a=A", :d => "toto", :dry_run => true)

    assert_equal "/items/1?a=A", req.path
    assert_equal "toto", req.body
  end

  def test_1

    ep = Rufus::Verbs::EndPoint.new(
      :host => 'localhost',
      :resource => 'whatever')

    req = ep.get(
      :dry_run => true,
      :resource => 'other',
      :params => { 'a' => 'A', 'b' => 'B' })

    assert_equal "/other?a=A&b=B", req.path

    req = ep.post(
      :dry_run => true,
      :resource => 'other',
      :query => { 'a' => 'A', 'b' => 'B' })

    assert_equal "/other?a=A&b=B", req.path
  end

  def test_cgi_escape

    ep = Rufus::Verbs::EndPoint.new(
      :host => 'localhost',
      :resource => 'whatever')

    req = ep.post(
      :dry_run => true,
      :resource => 'other',
      :query => { 'a' => 'A&A', 'b' => 'B?B' })

    assert_equal "/other?a=A%26A&b=B%3FB", req.path
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rufus-verbs-1.0.1 test/dryrun_test.rb
rufus-verbs-1.0.0 test/dryrun_test.rb