Skip to content

Commit d375208

Browse files
fix query-set-extra tests (#3635)
Co-authored-by: Lewis <[email protected]>
1 parent 4a387a2 commit d375208

File tree

1 file changed

+63
-23
lines changed

1 file changed

+63
-23
lines changed

python/django/security/audit/query-set-extra.py

Lines changed: 63 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,34 +14,74 @@
1414
Entry.objects.get({}).filter().update().extra()
1515

1616
# ok:avoid-query-set-extra
17-
findings = Finding.objects.filter(verified=True,
18-
severity__in=('Critical', 'High', 'Medium', 'Low', 'Info')).prefetch_related(
19-
'test__engagement__product',
20-
'test__engagement__product__prod_type',
21-
'test__engagement__risk_acceptance',
22-
'risk_acceptance_set',
23-
'reporter').extra(
17+
findings = (
18+
Finding.objects.filter(
19+
verified=True, severity__in=("Critical", "High", "Medium", "Low", "Info")
20+
)
21+
.prefetch_related(
22+
"test__engagement__product",
23+
"test__engagement__product__prod_type",
24+
"test__engagement__risk_acceptance",
25+
"risk_acceptance_set",
26+
"reporter",
27+
)
28+
.extra(
2429
select={
25-
'ra_count': 'SELECT COUNT(*) FROM dojo_risk_acceptance INNER JOIN '
26-
'dojo_risk_acceptance_accepted_findings ON '
27-
'( dojo_risk_acceptance.id = dojo_risk_acceptance_accepted_findings.risk_acceptance_id ) '
28-
'WHERE dojo_risk_acceptance_accepted_findings.finding_id = dojo_finding.id',
30+
"ra_count": "SELECT COUNT(*) FROM dojo_risk_acceptance INNER JOIN "
31+
"dojo_risk_acceptance_accepted_findings ON "
32+
"( dojo_risk_acceptance.id = dojo_risk_acceptance_accepted_findings.risk_acceptance_id ) "
33+
"WHERE dojo_risk_acceptance_accepted_findings.finding_id = dojo_finding.id",
2934
},
3035
)
36+
)
3137

32-
example = 1
38+
39+
example = input()
3340
# ruleid:avoid-query-set-extra
34-
active_findings = Finding.objects.filter(verified=True, active=True,
35-
severity__in=('Critical', 'High', 'Medium', 'Low', 'Info')).prefetch_related(
36-
'test__engagement__product',
37-
'test__engagement__product__prod_type',
38-
'test__engagement__risk_acceptance',
39-
'risk_acceptance_set',
40-
'reporter').extra(
41+
active_findings = (
42+
Finding.objects.filter(
43+
verified=True,
44+
active=True,
45+
severity__in=("Critical", "High", "Medium", "Low", "Info"),
46+
)
47+
.prefetch_related(
48+
"test__engagement__product",
49+
"test__engagement__product__prod_type",
50+
"test__engagement__risk_acceptance",
51+
"risk_acceptance_set",
52+
"reporter",
53+
)
54+
.extra(
55+
select={
56+
"ra_count": f"SELECT COUNT(*) FROM dojo_risk_acceptance INNER JOIN "
57+
f"dojo_risk_acceptance_accepted_findings ON "
58+
f"( dojo_risk_acceptance.id = dojo_risk_acceptance_accepted_findings.risk_acceptance_id ) "
59+
f"WHERE dojo_risk_acceptance_accepted_findings.finding_id = {example}",
60+
},
61+
)
62+
)
63+
64+
example = 1
65+
# ok:avoid-query-set-extra
66+
active_findings = (
67+
Finding.objects.filter(
68+
verified=True,
69+
active=True,
70+
severity__in=("Critical", "High", "Medium", "Low", "Info"),
71+
)
72+
.prefetch_related(
73+
"test__engagement__product",
74+
"test__engagement__product__prod_type",
75+
"test__engagement__risk_acceptance",
76+
"risk_acceptance_set",
77+
"reporter",
78+
)
79+
.extra(
4180
select={
42-
'ra_count': f'SELECT COUNT(*) FROM dojo_risk_acceptance INNER JOIN '
43-
f'dojo_risk_acceptance_accepted_findings ON '
44-
f'( dojo_risk_acceptance.id = dojo_risk_acceptance_accepted_findings.risk_acceptance_id ) '
45-
f'WHERE dojo_risk_acceptance_accepted_findings.finding_id = {example}',
81+
"ra_count": f"SELECT COUNT(*) FROM dojo_risk_acceptance INNER JOIN "
82+
f"dojo_risk_acceptance_accepted_findings ON "
83+
f"( dojo_risk_acceptance.id = dojo_risk_acceptance_accepted_findings.risk_acceptance_id ) "
84+
f"WHERE dojo_risk_acceptance_accepted_findings.finding_id = {example}",
4685
},
4786
)
87+
)

0 commit comments

Comments
 (0)