File: test_query_string.rb

package info (click to toggle)
ruby-fakeweb 1.3.0%2Bgit20170806%2Bdfsg1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 436 kB
  • sloc: ruby: 2,057; sh: 24; makefile: 3
file content (45 lines) | stat: -rw-r--r-- 1,869 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
require 'test_helper'

class TestFakeWebQueryString < Test::Unit::TestCase

  def test_register_uri_string_with_query_params
    FakeWeb.register_uri(:get, 'http://example.com/?a=1&b=1', :body => 'foo')
    assert FakeWeb.registered_uri?(:get, 'http://example.com/?a=1&b=1')

    FakeWeb.register_uri(:post, URI.parse("http://example.org/?a=1&b=1"), :body => "foo")
    assert FakeWeb.registered_uri?(:post, "http://example.org/?a=1&b=1")
  end

  def test_register_uri_with_query_params_and_check_in_different_order
    FakeWeb.register_uri(:get, 'http://example.com/?a=1&b=1', :body => 'foo')
    assert FakeWeb.registered_uri?(:get, 'http://example.com/?b=1&a=1')

    FakeWeb.register_uri(:post, URI.parse('http://example.org/?a=1&b=1'), :body => 'foo')
    assert FakeWeb.registered_uri?(:post, 'http://example.org/?b=1&a=1')
  end

  def test_registered_uri_gets_recognized_with_empty_query_params
    FakeWeb.register_uri(:get, 'http://example.com/', :body => 'foo')
    assert FakeWeb.registered_uri?(:get, 'http://example.com/?')

    FakeWeb.register_uri(:post, URI.parse('http://example.org/'), :body => 'foo')
    assert FakeWeb.registered_uri?(:post, 'http://example.org/?')
  end

  def test_register_uri_with_empty_query_params_and_check_with_none
    FakeWeb.register_uri(:get, 'http://example.com/?', :body => 'foo')
    assert FakeWeb.registered_uri?(:get, 'http://example.com/')

    FakeWeb.register_uri(:post, URI.parse('http://example.org/?'), :body => 'foo')
    assert FakeWeb.registered_uri?(:post, 'http://example.org/')
  end

  def test_registry_sort_query_params
    assert_equal "a=1&b=2", FakeWeb::Registry.instance.send(:sort_query_params, "b=2&a=1")
  end

  def test_registry_sort_query_params_sorts_by_value_if_keys_collide
    assert_equal "a=1&a=2&b=2", FakeWeb::Registry.instance.send(:sort_query_params, "a=2&b=2&a=1")
  end

end