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 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
require "helper"
class CookiesMechTest < Test::Unit::TestCase
def setup
@agent = Mechanize.new
end
def test_meta_tag_cookies
cookies = @agent.cookies.length
page = @agent.get("http://localhost/meta_cookie.html")
assert_equal(cookies + 1, @agent.cookies.length)
end
def test_send_cookies
page = @agent.get("http://localhost/many_cookies")
page = @agent.get("http://localhost/send_cookies")
assert_equal(3, page.links.length)
assert_not_nil(page.links.find { |l| l.text == "name:Aaron" })
assert_not_nil(page.links.find { |l| l.text == "no_expires:nope" })
end
def test_no_space_cookies
page = @agent.get("http://localhost/one_cookie_no_space")
assert_equal(1, @agent.cookies.length)
foo_cookie = @agent.cookies.find { |k| k.name == 'foo' }
assert_not_nil(foo_cookie, 'Foo cookie was nil')
assert_equal('bar', foo_cookie.value)
assert_equal('/', foo_cookie.path)
assert_equal(true, Time.now < foo_cookie.expires)
end
def test_many_cookies_as_string
page = @agent.get("http://localhost/many_cookies_as_string")
assert_equal(4, @agent.cookies.length)
name_cookie = @agent.cookies.find { |k| k.name == "name" }
assert_not_nil(name_cookie, "Name cookie was nil")
assert_equal("Aaron", name_cookie.value)
assert_equal("/", name_cookie.path)
assert_equal(true, Time.now < name_cookie.expires)
expired_cookie = @agent.cookies.find { |k| k.name == "expired" }
assert_nil(expired_cookie, "Expired cookie was not nil")
no_exp_cookie = @agent.cookies.find { |k| k.name == "no_expires" }
assert_not_nil(no_exp_cookie, "No expires cookie is nil")
assert_equal("nope", no_exp_cookie.value)
assert_equal("/", no_exp_cookie.path)
assert_nil(no_exp_cookie.expires)
path_cookie = @agent.cookies.find { |k| k.name == "a_path" }
assert_not_nil(path_cookie, "Path cookie is nil")
assert_equal("some_path", path_cookie.value)
assert_equal(true, Time.now < path_cookie.expires)
no_path_cookie = @agent.cookies.find { |k| k.name == "no_path" }
assert_not_nil(no_path_cookie, "No path cookie is nil")
assert_equal("no_path", no_path_cookie.value)
assert_equal("/", no_path_cookie.path)
assert_equal(true, Time.now < no_path_cookie.expires)
end
def test_many_cookies
page = @agent.get("http://localhost/many_cookies")
assert_equal(4, @agent.cookies.length)
name_cookie = @agent.cookies.find { |k| k.name == "name" }
assert_not_nil(name_cookie, "Name cookie was nil")
assert_equal("Aaron", name_cookie.value)
assert_equal("/", name_cookie.path)
assert_equal(true, Time.now < name_cookie.expires)
expired_cookie = @agent.cookies.find { |k| k.name == "expired" }
assert_nil(expired_cookie, "Expired cookie was not nil")
no_exp_cookie = @agent.cookies.find { |k| k.name == "no_expires" }
assert_not_nil(no_exp_cookie, "No expires cookie is nil")
assert_equal("nope", no_exp_cookie.value)
assert_equal("/", no_exp_cookie.path)
assert_nil(no_exp_cookie.expires)
path_cookie = @agent.cookies.find { |k| k.name == "a_path" }
assert_not_nil(path_cookie, "Path cookie is nil")
assert_equal("some_path", path_cookie.value)
assert_equal(true, Time.now < path_cookie.expires)
no_path_cookie = @agent.cookies.find { |k| k.name == "no_path" }
assert_not_nil(no_path_cookie, "No path cookie is nil")
assert_equal("no_path", no_path_cookie.value)
assert_equal("/", no_path_cookie.path)
assert_equal(true, Time.now < no_path_cookie.expires)
end
def test_get_cookie
assert_equal(true,
@agent.cookie_jar.empty?(
URI::parse("http://localhost/one_cookie")))
assert_equal(0, @agent.cookies.length)
page = @agent.get("http://localhost/one_cookie")
assert_equal(1, @agent.cookies.length)
cookie = @agent.cookies.first
assert_equal("foo", cookie.name)
assert_equal("bar", cookie.value)
assert_equal("/", cookie.path)
assert_equal("localhost", cookie.domain)
assert_equal(false,
@agent.cookie_jar.empty?(
URI::parse("http://localhost/one_cookie")))
page = @agent.get("http://localhost/one_cookie")
assert_equal(1, @agent.cookies.length)
cookie = @agent.cookies.first
assert_equal("foo", cookie.name)
assert_equal("bar", cookie.value)
assert_equal("/", cookie.path)
assert_equal("localhost", cookie.domain)
end
end
|