Files
textual/tests/test_constants.py
Will McGugan 440ff28db8 Better validation of environment variables (#5192)
* Better validation of environment variables

* wording
2024-10-29 10:13:04 +00:00

32 lines
1.1 KiB
Python

from textual.constants import _get_environ_bool, _get_environ_int, _get_environ_port
def test_environ_int(monkeypatch):
"""Check minimum is applied."""
monkeypatch.setenv("FOO", "-1")
assert _get_environ_int("FOO", 1, minimum=0) == 0
monkeypatch.setenv("FOO", "0")
assert _get_environ_int("FOO", 1, minimum=0) == 0
monkeypatch.setenv("FOO", "1")
assert _get_environ_int("FOO", 1, minimum=0) == 1
def test_environ_bool(monkeypatch):
"""Anything other than "1" is False."""
monkeypatch.setenv("BOOL", "1")
assert _get_environ_bool("BOOL") is True
monkeypatch.setenv("BOOL", "")
assert _get_environ_bool("BOOL") is False
monkeypatch.setenv("BOOL", "0")
assert _get_environ_bool("BOOL") is False
def test_environ_port(monkeypatch):
"""Valid ports are between 0 and 65536."""
monkeypatch.setenv("PORT", "-1")
assert _get_environ_port("PORT", 80) == 80
monkeypatch.setenv("PORT", "0")
assert _get_environ_port("PORT", 80) == 0
monkeypatch.setenv("PORT", "65536")
assert _get_environ_port("PORT", 80) == 80