mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-15 17:25:26 -04:00
32 lines
907 B
Python
32 lines
907 B
Python
"""Regression: validate_caldav_url must reject a non-string via its normal
|
|
ValueError path, not crash with TypeError.
|
|
|
|
It did `(raw_url or "").strip()`, so a non-string scalar (e.g. an int from a
|
|
mis-typed config) reached `.strip()` and raised TypeError instead of the
|
|
function\'s own ValueError.
|
|
"""
|
|
import ipaddress
|
|
|
|
import pytest
|
|
|
|
from src import caldav_sync
|
|
|
|
validate_caldav_url = caldav_sync.validate_caldav_url
|
|
|
|
|
|
def test_non_string_raises_valueerror_not_typeerror():
|
|
with pytest.raises(ValueError):
|
|
validate_caldav_url(12345)
|
|
with pytest.raises(ValueError):
|
|
validate_caldav_url(None)
|
|
|
|
|
|
def test_valid_url_passes(monkeypatch):
|
|
monkeypatch.setattr(
|
|
caldav_sync,
|
|
"_resolve_caldav_host_ips",
|
|
lambda host: [ipaddress.ip_address("93.184.216.34")],
|
|
)
|
|
out = validate_caldav_url("https://dav.example.com/calendars/")
|
|
assert "example.com" in out
|