feat(validators): add noqa suppression support to security and performance validators
All checks were successful
All checks were successful
- Add centralized _is_noqa_suppressed() to BaseValidator with normalization (accepts both SEC001 and SEC-001 formats for ruff compatibility) - Wire noqa support into all 21 security and 18 performance check functions - Add ruff external config for SEC/PERF/MOD/EXC codes in pyproject.toml - Convert all 280 Python noqa comments to dashless format (ruff-compatible) - Add site/ to IGNORE_PATTERNS (excludes mkdocs build output) - Suppress 152 false positive findings (test passwords, seed data, validator self-references, Apple Wallet SHA1, etc.) - Security: 79 errors → 0, 60 warnings → 0 - Performance: 80 warnings → 77 (3 test script suppressions) - Add proposal doc with noqa inventory and remaining findings recommendations Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -488,7 +488,7 @@ class TestBillingServiceCheckout:
|
||||
|
||||
with pytest.raises(PaymentSystemNotConfiguredException):
|
||||
self.service.create_checkout_session(
|
||||
db, 1, 1, "essential", False, "http://ok", "http://cancel"
|
||||
db, 1, 1, "essential", False, "http://ok", "http://cancel" # noqa: SEC034
|
||||
)
|
||||
|
||||
def test_checkout_nonexistent_tier_raises(self, db):
|
||||
@@ -500,7 +500,7 @@ class TestBillingServiceCheckout:
|
||||
|
||||
with pytest.raises(TierNotFoundException):
|
||||
self.service.create_checkout_session(
|
||||
db, 1, 1, "nonexistent", False, "http://ok", "http://cancel"
|
||||
db, 1, 1, "nonexistent", False, "http://ok", "http://cancel" # noqa: SEC034
|
||||
)
|
||||
|
||||
|
||||
@@ -525,7 +525,7 @@ class TestBillingServicePortal:
|
||||
mock_stripe.is_configured = False
|
||||
|
||||
with pytest.raises(PaymentSystemNotConfiguredException):
|
||||
self.service.create_portal_session(db, 1, 1, "http://return")
|
||||
self.service.create_portal_session(db, 1, 1, "http://return") # noqa: SEC034
|
||||
|
||||
def test_portal_no_subscription_raises(self, db):
|
||||
"""Raises NoActiveSubscriptionException when no subscription found."""
|
||||
@@ -535,7 +535,7 @@ class TestBillingServicePortal:
|
||||
mock_stripe.is_configured = True
|
||||
|
||||
with pytest.raises(NoActiveSubscriptionException):
|
||||
self.service.create_portal_session(db, 99999, 99999, "http://return")
|
||||
self.service.create_portal_session(db, 99999, 99999, "http://return") # noqa: SEC034
|
||||
|
||||
def test_portal_no_customer_id_raises(self, db, bs_subscription):
|
||||
"""Raises when subscription has no stripe_customer_id."""
|
||||
@@ -549,7 +549,7 @@ class TestBillingServicePortal:
|
||||
db,
|
||||
bs_subscription.merchant_id,
|
||||
bs_subscription.platform_id,
|
||||
"http://return",
|
||||
"http://return", # noqa: SEC034
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user