|
| 1 | +from datetime import datetime |
1 | 2 | import unittest |
2 | 3 |
|
3 | 4 | from mockito import mock, unstub, verify |
4 | 5 |
|
5 | 6 | from SeleniumLibrary.keywords import CookieKeywords |
| 7 | +from SeleniumLibrary.keywords.cookie import CookieInformation |
6 | 8 |
|
7 | 9 |
|
8 | 10 | class KeywordArgumentsCookieTest(unittest.TestCase): |
@@ -72,3 +74,41 @@ def test_add_cookie_path_false(self): |
72 | 74 | self.cookie.add_cookie('name', 'value', path='None', domain=None, |
73 | 75 | secure=None) |
74 | 76 | verify(self.driver).add_cookie(self.default_cookie) |
| 77 | + |
| 78 | + |
| 79 | +class CookieObjecttest(unittest.TestCase): |
| 80 | + |
| 81 | + all_args = {'name': 'foo', 'value': '123', 'path': '/', 'domain': 'not.Here', |
| 82 | + 'secure': True, 'httpOnly': True, 'expiry': 123} |
| 83 | + |
| 84 | + def test_name_value_only(self): |
| 85 | + cookie = CookieInformation(name='foo', value='bar') |
| 86 | + self.assertEqual(cookie.name, 'foo') |
| 87 | + self.assertEqual(cookie.value, 'bar') |
| 88 | + |
| 89 | + def test_all_args(self): |
| 90 | + cookie = CookieInformation(**self.all_args) |
| 91 | + self.assertEqual(cookie.name, 'foo') |
| 92 | + self.assertEqual(cookie.value, '123') |
| 93 | + self.assertEqual(cookie.path, '/') |
| 94 | + self.assertEqual(cookie.domain, 'not.Here') |
| 95 | + self.assertEqual(cookie.secure, True) |
| 96 | + self.assertEqual(cookie.httpOnly, True) |
| 97 | + self.assertEqual(cookie.expiry, datetime.fromtimestamp(123)) |
| 98 | + self.assertEqual(cookie.extra, {}) |
| 99 | + |
| 100 | + def test_extra_args(self): |
| 101 | + cookie_dict = self.all_args.copy() |
| 102 | + cookie_dict['class_name'] = 'seleniumLibary' |
| 103 | + cookie = CookieInformation(**cookie_dict) |
| 104 | + self.assertEqual(cookie.name, 'foo') |
| 105 | + self.assertEqual(cookie.value, '123') |
| 106 | + self.assertEqual(cookie.extra, {'class_name': 'seleniumLibary'}) |
| 107 | + string = str(cookie) |
| 108 | + self.assertIn("extra={'class_name': 'seleniumLibary'}", string) |
| 109 | + |
| 110 | + def test_no_mandatory_args(self): |
| 111 | + cookie_dict = self.all_args.copy() |
| 112 | + del cookie_dict['name'] |
| 113 | + with self.assertRaises(TypeError): |
| 114 | + CookieInformation(**cookie_dict) |
0 commit comments