fix: resolve all ruff lint errors and SQLite UNIQUE constraint issue
Ruff fixes (20 errors → 0): - F401: Remove unused imports (DeckyConfig, random_hostname, IniConfig, COMPOSE_FILE, sys, patch) across cli.py, mutator/engine.py, templates/ftp, templates/rdp, test_mysql.py, test_postgres.py - F541: Remove extraneous f-prefixes on strings with no placeholders in templates/imap, test_ftp_live, test_http_live - E741: Rename ambiguous variable 'l' to descriptive names (line, entry, part) across conftest.py, test_ftp_live, test_http_live, test_mongodb_live, test_pop3, test_ssh SQLite fix: - Change _initialize_sync() admin seeding from SELECT-then-INSERT to INSERT OR IGNORE, preventing IntegrityError when admin user already exists from a previous run
This commit is contained in:
@@ -83,7 +83,7 @@ def assert_rfc5424(
|
||||
criteria = {"service": service, "event_type": event_type, **fields}
|
||||
raise AssertionError(
|
||||
f"No RFC 5424 line matching {criteria!r} found among {len(lines)} lines:\n"
|
||||
+ "\n".join(f" {l!r}" for l in lines[:20])
|
||||
+ "\n".join(f" {line!r}" for line in lines[:20])
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -35,5 +35,5 @@ class TestFTPLive:
|
||||
ftp.close()
|
||||
lines = drain()
|
||||
# At least one RFC 5424 line from the ftp service
|
||||
rfc_lines = [l for l in lines if "<" in l and ">1 " in l and "ftp" in l]
|
||||
assert rfc_lines, f"No ftp RFC 5424 lines found. stdout:\n" + "\n".join(lines[:15])
|
||||
rfc_lines = [line for line in lines if "<" in line and ">1 " in line and "ftp" in line]
|
||||
assert rfc_lines, "No ftp RFC 5424 lines found. stdout:\n" + "\n".join(lines[:15])
|
||||
|
||||
@@ -28,8 +28,8 @@ class TestHTTPLive:
|
||||
)
|
||||
lines = drain()
|
||||
# body field present in log line
|
||||
assert any("body=" in l for l in lines if "request" in l), (
|
||||
f"Expected 'body=' in request log line. Got:\n" + "\n".join(lines[:10])
|
||||
assert any("body=" in line for line in lines if "request" in line), (
|
||||
"Expected 'body=' in request log line. Got:\n" + "\n".join(lines[:10])
|
||||
)
|
||||
|
||||
def test_method_and_path_in_log(self, live_service):
|
||||
|
||||
@@ -65,6 +65,6 @@ class TestMongoDBLive:
|
||||
client.close()
|
||||
lines = drain()
|
||||
# At least one message was exchanged
|
||||
assert any("mongodb" in l for l in lines), (
|
||||
assert any("mongodb" in line for line in lines), (
|
||||
"Expected at least one mongodb log line"
|
||||
)
|
||||
|
||||
@@ -8,7 +8,7 @@ length fields that could cause huge buffer allocations.
|
||||
import importlib.util
|
||||
import struct
|
||||
import sys
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from hypothesis import given, settings
|
||||
|
||||
@@ -176,7 +176,7 @@ def test_pop3_list_returns_10_entries(pop3_mod):
|
||||
resp = _replies(written).decode()
|
||||
assert resp.startswith("+OK 10")
|
||||
# Count individual message lines: "N size\r\n"
|
||||
entries = [l for l in resp.split("\r\n") if l and l[0].isdigit()]
|
||||
entries = [entry for entry in resp.split("\r\n") if entry and entry[0].isdigit()]
|
||||
assert len(entries) == 10
|
||||
|
||||
|
||||
@@ -225,7 +225,7 @@ def test_pop3_top_3_body_lines_count(pop3_mod):
|
||||
parts = resp.split("\r\n\r\n", 1)
|
||||
assert len(parts) == 2
|
||||
body_section = parts[1].rstrip("\r\n.")
|
||||
body_lines = [l for l in body_section.split("\r\n") if l != "."]
|
||||
body_lines = [part for part in body_section.split("\r\n") if part != "."]
|
||||
assert len(body_lines) <= 3
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ def test_pop3_uidl_returns_10_entries(pop3_mod):
|
||||
_send(proto, "UIDL")
|
||||
resp = _replies(written).decode()
|
||||
assert resp.startswith("+OK")
|
||||
entries = [l for l in resp.split("\r\n") if l and l[0].isdigit()]
|
||||
entries = [entry for entry in resp.split("\r\n") if entry and entry[0].isdigit()]
|
||||
assert len(entries) == 10
|
||||
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ tests for zero/tiny/huge msg_len in both the startup and auth states.
|
||||
import importlib.util
|
||||
import struct
|
||||
import sys
|
||||
from unittest.mock import MagicMock, patch
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
import pytest
|
||||
from hypothesis import given, settings
|
||||
|
||||
@@ -112,8 +112,8 @@ def test_dockerfile_has_rsyslog():
|
||||
|
||||
|
||||
def test_dockerfile_runs_as_root():
|
||||
lines = [l.strip() for l in _dockerfile_text().splitlines()]
|
||||
user_lines = [l for l in lines if l.startswith("USER ")]
|
||||
lines = [line.strip() for line in _dockerfile_text().splitlines()]
|
||||
user_lines = [line for line in lines if line.startswith("USER ")]
|
||||
assert user_lines == [], f"Unexpected USER directive(s): {user_lines}"
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user