Skip to content

Commit c7b1689

Browse files
p4veIPavel Karfikstaabm
authored
improve rules test coverage for pdo-pgsql (#393)
* improve rules test coverage for pdo-pgsql * typo Co-authored-by: Pavel Karfik <[email protected]> Co-authored-by: Markus Staab <[email protected]>
1 parent 10ee1d3 commit c7b1689

4 files changed

+667
-753
lines changed

tests/rules/SyntaxErrorInPreparedStatementMethodSubclassedRulePdoReflectorTest.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,40 @@ public function testSyntaxErrorInQueryRule(): void
4646
],
4747
]);
4848
}
49+
50+
public function testSyntaxErrorInPgsqlQueryRule(): void
51+
{
52+
if ('pdo-pgsql' !== getenv('DBA_REFLECTOR')) {
53+
$this->markTestSkipped('Only works with PdoPgsqlQueryReflector');
54+
}
55+
56+
require_once __DIR__.'/data/syntax-error-in-method-subclassed.php';
57+
58+
$this->analyse([__DIR__.'/data/syntax-error-in-method-subclassed.php'], [
59+
[
60+
<<<TEXT
61+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "with"
62+
LINE 1: SELECT with syntax error GROUPY by x LIMIT 0
63+
^ (42601).
64+
TEXT,
65+
12,
66+
],
67+
[
68+
<<<TEXT
69+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "freigabe1u1"
70+
LINE 1: SELECT email adaid WHERE gesperrt freigabe1u1 FROM ada LIMIT...
71+
^ (42601).
72+
TEXT,
73+
18,
74+
],
75+
[
76+
<<<TEXT
77+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "FROM"
78+
LINE 3: FROM ada LIMIT 0
79+
^ (42601).
80+
TEXT,
81+
20,
82+
],
83+
]);
84+
}
4985
}

tests/rules/SyntaxErrorInQueryFunctionRulePdoReflectorTest.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,40 @@ public function testSyntaxErrorInQueryRule(): void
4646
],
4747
]);
4848
}
49+
50+
public function testSyntaxErrorInPgsqlQueryRule(): void
51+
{
52+
if ('pdo-pgsql' !== getenv('DBA_REFLECTOR')) {
53+
$this->markTestSkipped('Only works with PdoPgsqlQueryReflector');
54+
}
55+
56+
require_once __DIR__.'/data/syntax-error-in-query-function.php';
57+
58+
$this->analyse([__DIR__.'/data/syntax-error-in-query-function.php'], [
59+
[
60+
<<<TEXT
61+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "freigabe1u1"
62+
LINE 1: SELECT email adaid WHERE gesperrt freigabe1u1 FROM ada LIMIT...
63+
^ (42601).
64+
TEXT,
65+
9,
66+
],
67+
[
68+
<<<TEXT
69+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "freigabe1u1"
70+
LINE 1: SELECT email adaid WHERE gesperrt freigabe1u1 FROM ada LIMIT...
71+
^ (42601).
72+
TEXT,
73+
19,
74+
],
75+
[
76+
<<<TEXT
77+
Query error: SQLSTATE[42703]: Undefined column: 7 ERROR: column "asdsa" does not exist
78+
LINE 1: ...mail, adaid, gesperrt, freigabe1u1 FROM ada WHERE asdsa=1 LI...
79+
^ (42703).
80+
TEXT,
81+
39,
82+
],
83+
]);
84+
}
4985
}

tests/rules/SyntaxErrorInQueryMethodSubclassedRulePdoReflectorTest.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,32 @@ public function testSyntaxErrorInQueryRule(): void
4242
],
4343
]);
4444
}
45+
46+
public function testSyntaxErrorInPgsqlQueryRule(): void
47+
{
48+
if ('pdo-pgsql' !== getenv('DBA_REFLECTOR')) {
49+
$this->markTestSkipped('Only works with PdoPgsqlQueryReflector');
50+
}
51+
52+
require_once __DIR__.'/data/syntax-error-in-method-subclassed.php';
53+
54+
$this->analyse([__DIR__.'/data/syntax-error-in-method-subclassed.php'], [
55+
[
56+
<<<TEXT
57+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "with"
58+
LINE 1: SELECT with syntax error GROUPY by x LIMIT 0
59+
^ (42601).
60+
TEXT,
61+
12,
62+
],
63+
[
64+
<<<TEXT
65+
Query error: SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "freigabe1u1"
66+
LINE 1: SELECT email adaid WHERE gesperrt freigabe1u1 FROM ada LIMIT...
67+
^ (42601).
68+
TEXT,
69+
18,
70+
],
71+
]);
72+
}
4573
}

0 commit comments

Comments
 (0)