Init
This commit is contained in:
58
tests/test_mywhoosh.py
Normal file
58
tests/test_mywhoosh.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from mywhoosh_garmin_sync.mywhoosh import (
|
||||
_looks_like_challenge_text,
|
||||
_looks_like_challenge_url,
|
||||
_looks_like_cookie_accept_label,
|
||||
_source_ref,
|
||||
_storage_restore_script,
|
||||
)
|
||||
|
||||
|
||||
def test_cookie_accept_label_matching():
|
||||
assert _looks_like_cookie_accept_label("Accept")
|
||||
assert _looks_like_cookie_accept_label("Accept all cookies")
|
||||
assert _looks_like_cookie_accept_label("Allow all")
|
||||
assert _looks_like_cookie_accept_label("I agree")
|
||||
assert _looks_like_cookie_accept_label("Got it")
|
||||
|
||||
assert not _looks_like_cookie_accept_label("Reject all")
|
||||
assert not _looks_like_cookie_accept_label("Download app")
|
||||
|
||||
|
||||
def test_challenge_text_matching():
|
||||
assert _looks_like_challenge_text("I'm not a robot")
|
||||
assert _looks_like_challenge_text("Verify you are human")
|
||||
assert _looks_like_challenge_text("iframe title recaptcha")
|
||||
assert _looks_like_challenge_text("Cloudflare security check")
|
||||
|
||||
assert not _looks_like_challenge_text("Welcome to your activities")
|
||||
|
||||
|
||||
def test_challenge_url_matching_does_not_flag_plain_login():
|
||||
assert _looks_like_challenge_url("https://example.test/cdn-cgi/challenge-platform")
|
||||
assert _looks_like_challenge_url("https://example.test/verify")
|
||||
|
||||
assert not _looks_like_challenge_url("https://event.mywhoosh.com/login/")
|
||||
assert not _looks_like_challenge_url("https://event.mywhoosh.com/user/activities")
|
||||
|
||||
|
||||
def test_source_ref_prefers_href_then_row_text():
|
||||
assert _source_ref("https://example.test/a.fit", "Download", 0, "Ride A") == _source_ref(
|
||||
"https://example.test/a.fit", "Download", 99, "Ride B"
|
||||
)
|
||||
assert _source_ref(None, "", 0, "Ride A") != _source_ref(None, "", 1, "Ride B")
|
||||
|
||||
|
||||
def test_storage_restore_script_contains_session_storage():
|
||||
script = _storage_restore_script(
|
||||
[
|
||||
{
|
||||
"origin": "https://event.mywhoosh.com",
|
||||
"localStorage": [{"name": "token", "value": "local"}],
|
||||
"sessionStorage": [{"name": "session-token", "value": "session"}],
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
assert "https://event.mywhoosh.com" in script
|
||||
assert "localStorage" in script
|
||||
assert "sessionStorage" in script
|
||||
Reference in New Issue
Block a user