backup
This commit is contained in:
@@ -347,3 +347,38 @@ def test_ban_country_empty_string_coerced_to_none() -> None:
|
||||
country="",
|
||||
)
|
||||
assert ban.country is None
|
||||
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# ConfFileCreateRequest reserved jail name validation
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
|
||||
def test_conffile_create_request_rejects_reserved_jail_name() -> None:
|
||||
"""ConfFileCreateRequest rejects fail2ban reserved jail names."""
|
||||
from app.models.file_config import ConfFileCreateRequest
|
||||
|
||||
for reserved in ["all", "status", "purge", "start", "stop", "reload", "restart"]:
|
||||
with pytest.raises(ValidationError) as exc_info:
|
||||
ConfFileCreateRequest(name=reserved, content="[my jail]")
|
||||
assert "reserved" in str(exc_info.value).lower()
|
||||
|
||||
|
||||
def test_conffile_create_request_accepts_valid_jail_name() -> None:
|
||||
"""ConfFileCreateRequest accepts valid non-reserved jail names."""
|
||||
from app.models.file_config import ConfFileCreateRequest
|
||||
|
||||
req = ConfFileCreateRequest(name="sshd", content="[my jail]")
|
||||
assert req.name == "sshd"
|
||||
|
||||
req = ConfFileCreateRequest(name="nginx-http-auth", content="[my jail]")
|
||||
assert req.name == "nginx-http-auth"
|
||||
|
||||
|
||||
def test_conffile_create_request_rejects_ban_and_unban() -> None:
|
||||
"""ConfFileCreateRequest rejects 'ban' and 'unban' as jail names."""
|
||||
from app.models.file_config import ConfFileCreateRequest
|
||||
|
||||
for name in ["ban", "unban", "add", "del", "set", "get"]:
|
||||
with pytest.raises(ValidationError):
|
||||
ConfFileCreateRequest(name=name, content="[my jail]")
|
||||
|
||||
Reference in New Issue
Block a user