File: tc_curl.rb

package info (click to toggle)
ruby-curb 1.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 860 kB
  • sloc: ansic: 5,798; ruby: 4,466; makefile: 4
file content (69 lines) | stat: -rw-r--r-- 2,014 bytes parent folder | download | duplicates (5)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))

class TestCurl < Test::Unit::TestCase
  def test_get
    curl = Curl.get(TestServlet.url, {:foo => "bar"})
    assert_equal "GETfoo=bar", curl.body_str

    curl = Curl.options(TestServlet.url, {:foo => "bar"}) do|http|
      http.headers['Cookie'] = 'foo=1;bar=2'
    end
    assert_equal "OPTIONSfoo=bar", curl.body_str
  end

  def test_post
    curl = Curl.post(TestServlet.url, {:foo => "bar"})
    assert_equal "POST\nfoo=bar",  curl.body_str
  end

  def test_put
    curl = Curl.put(TestServlet.url, {:foo => "bar"})
    assert_equal "PUT\nfoo=bar",  curl.body_str
  end

  def test_patch
    curl = Curl.patch(TestServlet.url, {:foo => "bar"})
    assert_equal "PATCH\nfoo=bar", curl.body_str
  end

  def test_options
    curl = Curl.options(TestServlet.url, {:foo => "bar"})
    assert_equal "OPTIONSfoo=bar", curl.body_str
  end

  def test_urlalize_without_extra_params
    url_no_params = 'http://localhost/test'
    url_with_params = 'http://localhost/test?a=1'

    assert_equal(url_no_params, Curl.urlalize(url_no_params))
    assert_equal(url_with_params, Curl.urlalize(url_with_params))
  end

  def test_urlalize_with_nil_as_params
    url = 'http://localhost/test'
    assert_equal(url, Curl.urlalize(url, nil))
  end

  def test_urlalize_with_extra_params
    url_no_params = 'http://localhost/test'
    url_with_params = 'http://localhost/test?a=1'
    extra_params = { :b => 2 }

    expected_url_no_params = 'http://localhost/test?b=2'
    expected_url_with_params = 'http://localhost/test?a=1&b=2'

    assert_equal(expected_url_no_params, Curl.urlalize(url_no_params, extra_params))
    assert_equal(expected_url_with_params, Curl.urlalize(url_with_params, extra_params))
  end

  def test_urlalize_does_not_strip_trailing_?
    url_empty_params = 'http://localhost/test?'
    assert_equal(url_empty_params, Curl.urlalize(url_empty_params))
  end

  include TestServerMethods

  def setup
    server_setup
  end
end