mirror of
https://github.com/Hopiu/bowser.git
synced 2026-03-16 19:10:24 +00:00
- Add tests for URL parsing, cookies, HTML/CSS parsing - Add tests for browser/tab management and history - Add tests for layout and rendering components - Configure pytest with coverage reporting - Add test documentation and runner commands - All 54 tests passing
41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
"""Tests for cookie management."""
|
|
|
|
import pytest
|
|
from src.network.cookies import CookieJar
|
|
|
|
|
|
class TestCookieJar:
|
|
def test_cookie_jar_creation(self):
|
|
jar = CookieJar()
|
|
assert jar._cookies == {}
|
|
|
|
def test_set_cookies(self):
|
|
jar = CookieJar()
|
|
jar.set_cookies("https://example.com", "session=abc123")
|
|
|
|
cookies = jar.get_cookie_header("https://example.com")
|
|
assert "session=abc123" in cookies
|
|
|
|
def test_get_cookie_header_empty(self):
|
|
jar = CookieJar()
|
|
cookies = jar.get_cookie_header("https://example.com")
|
|
assert cookies == ""
|
|
|
|
def test_multiple_cookies_same_origin(self):
|
|
jar = CookieJar()
|
|
jar.set_cookies("https://example.com", "session=abc123")
|
|
jar.set_cookies("https://example.com", "user=john")
|
|
|
|
cookies = jar.get_cookie_header("https://example.com")
|
|
assert "session=abc123" in cookies or "user=john" in cookies
|
|
|
|
def test_cookies_isolated_by_origin(self):
|
|
jar = CookieJar()
|
|
jar.set_cookies("https://example.com", "session=abc123")
|
|
jar.set_cookies("https://other.com", "session=xyz789")
|
|
|
|
cookies1 = jar.get_cookie_header("https://example.com")
|
|
cookies2 = jar.get_cookie_header("https://other.com")
|
|
|
|
assert "abc123" in cookies1
|
|
assert "xyz789" in cookies2
|