diff --git a/tests/unit/_bootstrap.php b/tests/unit/_bootstrap.php index 31c5c6b8e645e44499d45203b8aba5b22f1aba31..a02f73ba6cee5f60c4d77dc6ad22f2a1a18e7d91 100644 --- a/tests/unit/_bootstrap.php +++ b/tests/unit/_bootstrap.php @@ -40,7 +40,7 @@ define("TEST_FIXTURES_PATH", dirname(__DIR__) . "/_data/"); require __DIR__ . '/../../composer/autoload.php'; global $STUDIP_BASE_PATH; -$STUDIP_BASE_PATH = realpath(dirname(dirname(__FILE__)) . '/..'); +$STUDIP_BASE_PATH = realpath(dirname(__DIR__) . '/..'); require 'lib/classes/StudipAutoloader.php'; require 'lib/functions.php'; diff --git a/tests/unit/lib/classes/StudipPdoTest.php b/tests/unit/lib/classes/StudipPdoTest.php index 2023ca1c1d3ccb8e7d0dd55a7a53f48c44edb5a3..36ba11ce3c11f9964a15ed73bb150bb3de93ae50 100644 --- a/tests/unit/lib/classes/StudipPdoTest.php +++ b/tests/unit/lib/classes/StudipPdoTest.php @@ -1,4 +1,5 @@ <?php + /* * studip_pdo_test.php - unit tests for the StudipPDO class * @@ -16,7 +17,16 @@ class StudipPdoTest extends \Codeception\Test\Unit { public function setUp(): void { - $this->testPdo = new class ('sqlite::memory:') extends StudipPDO { + $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); @@ -33,7 +43,7 @@ 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)); @@ -41,12 +51,12 @@ class StudipPdoTest extends \Codeception\Test\Unit 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)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); @@ -54,12 +64,12 @@ class StudipPdoTest extends \Codeception\Test\Unit 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)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); @@ -67,12 +77,12 @@ class StudipPdoTest extends \Codeception\Test\Unit 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)); - $query = str_repeat($query, 100); + $query = str_repeat($query, 100); $expect = str_repeat($expect, 100); $this->assertEquals($expect, $this->testPdo::doReplaceStrings($query)); @@ -80,7 +90,7 @@ class StudipPdoTest extends \Codeception\Test\Unit 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)); @@ -88,7 +98,7 @@ class StudipPdoTest extends \Codeception\Test\Unit 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));