fix(lint): resolve all ruff lint errors

Add ruff config to exclude alembic E402, SQLAlchemy F821, and pre-existing
E501 line-length issues. Auto-fix 69 unused imports and 2 f-strings without
placeholders. Manually fix 8 unused variables. Apply ruff format to 127 files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jason Staack
2026-03-14 22:17:50 -05:00
parent 2ad0367c91
commit 06a41ca9bf
133 changed files with 2927 additions and 1890 deletions

View File

@@ -4,9 +4,8 @@ Tests the generate_and_store_diff function with mocked DB sessions
and OpenBao Transit service.
"""
import json
import pytest
from unittest.mock import AsyncMock, MagicMock, patch, call
from unittest.mock import AsyncMock, MagicMock, patch
from uuid import uuid4
@@ -51,17 +50,22 @@ async def test_diff_generated_and_stored():
mock_session.commit = AsyncMock()
mock_openbao = AsyncMock()
mock_openbao.decrypt = AsyncMock(side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
])
mock_openbao.decrypt = AsyncMock(
side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
]
)
with patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
), patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=[],
with (
patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
),
patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=[],
),
):
await generate_and_store_diff(device_id, tenant_id, new_snapshot_id, mock_session)
@@ -178,17 +182,22 @@ async def test_line_counts_correct():
mock_session.commit = AsyncMock()
mock_openbao = AsyncMock()
mock_openbao.decrypt = AsyncMock(side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
])
mock_openbao.decrypt = AsyncMock(
side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
]
)
with patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
), patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=[],
with (
patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
),
patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=[],
),
):
await generate_and_store_diff(device_id, tenant_id, new_snapshot_id, mock_session)
@@ -222,10 +231,12 @@ async def test_empty_diff_skips_insert():
mock_session.commit = AsyncMock()
mock_openbao = AsyncMock()
mock_openbao.decrypt = AsyncMock(side_effect=[
same_config.encode("utf-8"),
same_config.encode("utf-8"),
])
mock_openbao.decrypt = AsyncMock(
side_effect=[
same_config.encode("utf-8"),
same_config.encode("utf-8"),
]
)
with patch(
"app.services.config_diff_service.OpenBaoTransitService",
@@ -271,22 +282,31 @@ async def test_change_parser_called_and_changes_stored():
mock_session.commit = AsyncMock()
mock_openbao = AsyncMock()
mock_openbao.decrypt = AsyncMock(side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
])
mock_openbao.decrypt = AsyncMock(
side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
]
)
mock_changes = [
{"component": "ip/firewall/filter", "summary": "Added 1 firewall filter rule", "raw_line": "+add chain=forward action=drop"},
{
"component": "ip/firewall/filter",
"summary": "Added 1 firewall filter rule",
"raw_line": "+add chain=forward action=drop",
},
]
with patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
), patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=mock_changes,
) as mock_parser:
with (
patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
),
patch(
"app.services.config_diff_service.parse_diff_changes",
return_value=mock_changes,
) as mock_parser,
):
await generate_and_store_diff(device_id, tenant_id, new_snapshot_id, mock_session)
# parse_diff_changes called with the diff text
@@ -332,17 +352,22 @@ async def test_change_parser_error_does_not_block_diff():
mock_session.commit = AsyncMock()
mock_openbao = AsyncMock()
mock_openbao.decrypt = AsyncMock(side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
])
mock_openbao.decrypt = AsyncMock(
side_effect=[
old_config.encode("utf-8"),
new_config.encode("utf-8"),
]
)
with patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
), patch(
"app.services.config_diff_service.parse_diff_changes",
side_effect=Exception("Parser exploded"),
with (
patch(
"app.services.config_diff_service.OpenBaoTransitService",
return_value=mock_openbao,
),
patch(
"app.services.config_diff_service.parse_diff_changes",
side_effect=Exception("Parser exploded"),
),
):
# Should NOT raise
await generate_and_store_diff(device_id, tenant_id, new_snapshot_id, mock_session)