Skip to content

Commit 36a7816

Browse files
committed
Assert exact return codes in SQL injection tests
The test helpers now check specific return codes (1 for injection, 3 for failed tokenization, 0 for no injection) instead of boolean equality. Invalid SQL tests use a dedicated is_invalid_sql helper.
1 parent d493aeb commit 36a7816

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

aikido_zen/vulnerabilities/sql_injection/init_test.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,16 +73,25 @@ def is_sql_injection(sql, input, dialect="all"):
7373
if dialect == "all" or dialect == current:
7474
result = detect_sql_injection(sql, input, current)
7575
assert (
76-
result == True
76+
result == 1
7777
), f"Expected SQL injection for SQL: {sql} and input: {input} in {current} dialect"
7878

7979

80+
def is_invalid_sql(sql, input, dialect="all"):
81+
for current in DIALECTS:
82+
if dialect == "all" or dialect == current:
83+
result = detect_sql_injection(sql, input, current)
84+
assert (
85+
result == 3
86+
), f"Expected failed tokenization for SQL: {sql} and input: {input} in {current} dialect"
87+
88+
8089
def is_not_sql_injection(sql, input, dialect="all"):
8190
for current in DIALECTS:
8291
if dialect == "all" or dialect == current:
8392
result = detect_sql_injection(sql, input, current)
8493
assert (
85-
result == False
94+
result == 0
8695
), f"Expected no SQL injection for SQL: {sql} and input: {input} in {current} dialect"
8796

8897

@@ -388,8 +397,8 @@ def test_lowercased_input_sql_injection():
388397

389398
def test_block_invalid_sql_queries():
390399
# These are invalid queries (e.g. unterminated strings) that fail tokenization
391-
is_sql_injection("SELECT * FROM users WHERE id = 'users\\'", "users\\", "mysql")
392-
is_sql_injection(
400+
is_invalid_sql("SELECT * FROM users WHERE id = 'users\\'", "users\\", "mysql")
401+
is_invalid_sql(
393402
"SELECT * FROM comments WHERE comment = 'I'm writting you'", "I'm writting you"
394403
)
395404

0 commit comments

Comments
 (0)