Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions tests/_utils/test_url.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright 2026 Marimo. All rights reserved.
from __future__ import annotations

from marimo._utils.url import is_url

_PRIVATE_V4 = "http://10.0.0.1"


def test_is_url_http_ok() -> None:
assert is_url("http://foobar.dk") is True


def test_is_url_ftp_ok() -> None:
assert is_url("ftp://foobar.dk") is True


def test_is_url_private_ip_default_allowed() -> None:
assert is_url(_PRIVATE_V4) is True


def test_is_url_invalid_tld() -> None:
assert is_url("http://foobar.d") is False


def test_is_url_private_ip_public_only_rejected() -> None:
assert is_url(_PRIVATE_V4, public=True) is False


def test_is_url_localhost_public_flag() -> None:
assert is_url("http://localhost") is True
assert is_url("http://localhost", public=True) is False


def test_is_url_empty_and_junk() -> None:
assert is_url("") is False
assert is_url("not a url") is False
assert is_url("http://") is False
Loading