From bbaa44293faf4c7b7f5a47f2f0bcc7c580ce697d Mon Sep 17 00:00:00 2001 From: Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> Date: Tue, 7 Sep 2021 13:52:35 +0200 Subject: [PATCH] revert changes to StudipPdoTest, re #147 --- tests/unit/lib/classes/StudipPdoTest.php | 67 +++++++++--------------- 1 file changed, 24 insertions(+), 43 deletions(-) diff --git a/tests/unit/lib/classes/StudipPdoTest.php b/tests/unit/lib/classes/StudipPdoTest.php index 36ba11ce3c1..6ec14d3c4d5 100644 --- a/tests/unit/lib/classes/StudipPdoTest.php +++ b/tests/unit/lib/classes/StudipPdoTest.php @@ -1,5 +1,4 @@ <?php - /* * studip_pdo_test.php - unit tests for the StudipPDO class * @@ -13,94 +12,76 @@ * @category Stud.IP */ -class StudipPdoTest extends \Codeception\Test\Unit +abstract class TestStudipPDO extends StudipPDO { - public function setUp(): void - { - $dsn = - 'mysql:host=' . - $GLOBALS['DB_STUDIP_HOST'] . - ';dbname=' . - $GLOBALS['DB_STUDIP_DATABASE'] . - ';charset=utf8mb4'; - $username = $GLOBALS['DB_STUDIP_USER']; - $password = $GLOBALS['DB_STUDIP_PASSWORD']; - - $this->testPdo = new class ($dsn, $username, $password) extends StudipPDO { - public static function doReplaceStrings($statement) - { - return parent::replaceStrings($statement); - } - }; - - $this->testPdo->beginTransaction(); - } - - public function tearDown(): void + public static function doReplaceStrings($statement) { - $this->testPdo->rollBack(); + return parent::replaceStrings($statement); } +} +class StudipPDOTest extends \Codeception\Test\Unit +{ public function testSimpleString() { - $query = 'SELECT * FROM bar'; + $query = 'SELECT * FROM bar'; $expect = $query; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } public function testDoubleQuotedString() { - $query = 'SELECT "\'foo""\\"" FROM bar WHERE foo = "\\\\"'; + $query = 'SELECT "\'foo""\\"" FROM bar WHERE foo = "\\\\"'; $expect = 'SELECT ? FROM bar WHERE foo = ?'; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } public function testSingleQuotedString() { - $query = 'SELECT \'"foo\'\'\\\'\' FROM bar WHERE foo = \'\\\\\''; + $query = 'SELECT \'"foo\'\'\\\'\' FROM bar WHERE foo = \'\\\\\''; $expect = 'SELECT ? FROM bar WHERE foo = ?'; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } public function testMixedQuotedString() { - $query = 'SELECT """\'", \'"\' FROM bar WHERE foo IN (\'\'\'"\'"")'; + $query = 'SELECT """\'", \'"\' FROM bar WHERE foo IN (\'\'\'"\'"")'; $expect = 'SELECT ?, ? FROM bar WHERE foo IN (??)'; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } public function testUnterminatedSingleQuote() { - $query = 'SELECT \'1\' ORDER BY \'au.username asc'; + $query = 'SELECT \'1\' ORDER BY \'au.username asc'; $expect = 'SELECT ? ORDER BY \'au.username asc'; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } public function testUnterminatedDoubleQuote() { - $query = 'SELECT "1" ORDER BY "au.username asc'; + $query = 'SELECT "1" ORDER BY "au.username asc'; $expect = 'SELECT ? ORDER BY "au.username asc'; - $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); + $this->assertEquals($expect, TestStudipPDO::doReplaceStrings($query)); } } -- GitLab