test/ut_6_args.rb in rufus-jig-0.1.21 vs test/ut_6_args.rb in rufus-jig-0.1.22

- old
+ new

@@ -8,82 +8,91 @@ require File.join(File.dirname(__FILE__), 'base') class UtArgsTest < Test::Unit::TestCase - def test_extract_args + def test_simple_uri - # [ http, path, payload, opts ] + h = Rufus::Jig::Http.new('http://127.0.0.1:5984') - a = eh(false, 'http://127.0.0.1:5984') - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal nil, a[2] - assert_equal '{}', a[3].inspect + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '', h._path + assert_equal nil, h._query + assert_equal nil, h.options[:basic_auth] + end - a = eh(false, '127.0.0.1', 5984, '/') - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal nil, a[2] - assert_equal '{}', a[3].inspect + def test_uri_with_path_and_query - a = eh(false, '127.0.0.1', 5984, '/', :option => true) - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal nil, a[2] - assert_equal '{:option=>true}', a[3].inspect + h = Rufus::Jig::Http.new('http://127.0.0.1:5984/nada?a=b&c=d') + + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '/nada', h._path + assert_equal 'a=b&c=d', h._query + assert_equal nil, h.options[:basic_auth] end - def test_payload_expected + def test_uri_with_basic_auth - a = eh(true, 'http://127.0.0.1:5984', [ 1, 2, 3 ]) - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal [ 1, 2, 3 ], a[2] - assert_equal '{}', a[3].inspect + h = Rufus::Jig::Http.new('http://u:p@127.0.0.1:5984') - assert_raise(ArgumentError) { - eh(true, 'http://127.0.0.1:5984', :nada, [ 1, 2, 3 ]) - } + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '', h._path + assert_equal nil, h._query + assert_equal %w[ u p ], h.options[:basic_auth] end - def test_payload_is_a_hash + def test_host_port - a = eh(true, 'http://127.0.0.1:5984', { 'cheese' => 'burger' }) - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal '{"cheese"=>"burger"}', a[2].inspect - assert_equal '{}', a[3].inspect + h = Rufus::Jig::Http.new('127.0.0.1', 5984) - a = eh(true, 'http://127.0.0.1:5984', { 'cheese' => 'burger' }, { :cache => true }) - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal '{"cheese"=>"burger"}', a[2].inspect - assert_equal '{:cache=>true}', a[3].inspect + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal nil, h._path + assert_equal nil, h._query + assert_equal nil, h.options[:basic_auth] end - def test_with_http_instance + def test_host_port_path - h = Rufus::Jig::Http.new('127.0.0.1', 5984) + h = Rufus::Jig::Http.new('127.0.0.1', 5984, '/banana') - a = eh(true, h, '/', { 'cheese' => 'burger' }) - assert_equal '127.0.0.1', a[0].host - assert_equal 5984, a[0].port - assert_equal '/', a[1] - assert_equal '{"cheese"=>"burger"}', a[2].inspect - assert_equal '{}', a[3].inspect + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '/banana', h._path + assert_equal nil, h._query + assert_equal nil, h.options[:basic_auth] end - protected + def test_host_port_path_options - def eh (pe, *args) + h = Rufus::Jig::Http.new( + '127.0.0.1', 5984, '/banana', :basic_auth => %w[ u p ]) - Rufus::Jig::Http.extract_http(pe, *args) + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '/banana', h._path + assert_equal nil, h._query + assert_equal %w[ u p ], h.options[:basic_auth] + end + + def test_uri_plus_path + + h = Rufus::Jig::Http.new('http://127.0.0.1:5984', '/banana') + + assert_equal 'http', h.scheme + assert_equal '127.0.0.1', h.host + assert_equal 5984, h.port + assert_equal '/banana', h._path + assert_equal nil, h._query + assert_equal nil, h.options[:basic_auth] end end