codekingpro/portable-devtools
114k
1import unittest2 3from websocket._cookiejar import SimpleCookieJar4 5"""6test_cookiejar.py7websocket - WebSocket client library for Python8 9Copyright 2025 engn33r10 11Licensed under the Apache License, Version 2.0 (the "License");12you may not use this file except in compliance with the License.13You may obtain a copy of the License at14 15 http://www.apache.org/licenses/LICENSE-2.016 17Unless required by applicable law or agreed to in writing, software18distributed under the License is distributed on an "AS IS" BASIS,19WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.20See the License for the specific language governing permissions and21limitations under the License.22"""23 24 25class CookieJarTest(unittest.TestCase):26 def test_add(self):27 cookie_jar = SimpleCookieJar()28 cookie_jar.add("")29 self.assertFalse(30 cookie_jar.jar, "Cookie with no domain should not be added to the jar"31 )32 33 cookie_jar = SimpleCookieJar()34 cookie_jar.add("a=b")35 self.assertFalse(36 cookie_jar.jar, "Cookie with no domain should not be added to the jar"37 )38 39 cookie_jar = SimpleCookieJar()40 cookie_jar.add("a=b; domain=.abc")41 self.assertTrue(".abc" in cookie_jar.jar)42 43 cookie_jar = SimpleCookieJar()44 cookie_jar.add("a=b; domain=abc")45 self.assertTrue(".abc" in cookie_jar.jar)46 self.assertTrue("abc" not in cookie_jar.jar)47 48 cookie_jar = SimpleCookieJar()49 cookie_jar.add("a=b; c=d; domain=abc")50 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d")51 self.assertEqual(cookie_jar.get(None), "")52 53 cookie_jar = SimpleCookieJar()54 cookie_jar.add("a=b; c=d; domain=abc")55 cookie_jar.add("e=f; domain=abc")56 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d; e=f")57 58 cookie_jar = SimpleCookieJar()59 cookie_jar.add("a=b; c=d; domain=abc")60 cookie_jar.add("e=f; domain=.abc")61 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d; e=f")62 63 cookie_jar = SimpleCookieJar()64 cookie_jar.add("a=b; c=d; domain=abc")65 cookie_jar.add("e=f; domain=xyz")66 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d")67 self.assertEqual(cookie_jar.get("xyz"), "e=f")68 self.assertEqual(cookie_jar.get("something"), "")69 70 def test_set(self):71 cookie_jar = SimpleCookieJar()72 cookie_jar.set("a=b")73 self.assertFalse(74 cookie_jar.jar, "Cookie with no domain should not be added to the jar"75 )76 77 cookie_jar = SimpleCookieJar()78 cookie_jar.set("a=b; domain=.abc")79 self.assertTrue(".abc" in cookie_jar.jar)80 81 cookie_jar = SimpleCookieJar()82 cookie_jar.set("a=b; domain=abc")83 self.assertTrue(".abc" in cookie_jar.jar)84 self.assertTrue("abc" not in cookie_jar.jar)85 86 cookie_jar = SimpleCookieJar()87 cookie_jar.set("a=b; c=d; domain=abc")88 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d")89 90 cookie_jar = SimpleCookieJar()91 cookie_jar.set("a=b; c=d; domain=abc")92 cookie_jar.set("e=f; domain=abc")93 self.assertEqual(cookie_jar.get("abc"), "e=f")94 95 cookie_jar = SimpleCookieJar()96 cookie_jar.set("a=b; c=d; domain=abc")97 cookie_jar.set("e=f; domain=.abc")98 self.assertEqual(cookie_jar.get("abc"), "e=f")99 100 cookie_jar = SimpleCookieJar()101 cookie_jar.set("a=b; c=d; domain=abc")102 cookie_jar.set("e=f; domain=xyz")103 self.assertEqual(cookie_jar.get("abc"), "a=b; c=d")104 self.assertEqual(cookie_jar.get("xyz"), "e=f")105 self.assertEqual(cookie_jar.get("something"), "")106 107 def test_get(self):108 cookie_jar = SimpleCookieJar()109 cookie_jar.set("a=b; c=d; domain=abc.com")110 self.assertEqual(cookie_jar.get("abc.com"), "a=b; c=d")111 self.assertEqual(cookie_jar.get("x.abc.com"), "a=b; c=d")112 self.assertEqual(cookie_jar.get("abc.com.es"), "")113 self.assertEqual(cookie_jar.get("xabc.com"), "")114 115 cookie_jar.set("a=b; c=d; domain=.abc.com")116 self.assertEqual(cookie_jar.get("abc.com"), "a=b; c=d")117 self.assertEqual(cookie_jar.get("x.abc.com"), "a=b; c=d")118 self.assertEqual(cookie_jar.get("abc.com.es"), "")119 self.assertEqual(cookie_jar.get("xabc.com"), "")120 121 122if __name__ == "__main__":123 unittest.main()124 