From c17d8feaa403cb88ef0411d552e86cce9674d8d3 Mon Sep 17 00:00:00 2001 From: Jan Jakes Date: Sat, 13 Jul 2024 13:36:14 +0200 Subject: [PATCH] Implement basic WPDB Doctrine driver with connection, statement, and result stubs [MAILPOET-6142] --- mailpoet/lib/Doctrine/WPDB/Connection.php | 48 +++++++++++++++++++ mailpoet/lib/Doctrine/WPDB/Driver.php | 11 +++++ mailpoet/lib/Doctrine/WPDB/Result.php | 43 +++++++++++++++++ mailpoet/lib/Doctrine/WPDB/Statement.php | 21 ++++++++ .../integration/Doctrine/WPDB/DriverTest.php | 20 ++++++++ .../tests/unit/Doctrine/WPDB/DriverTest.php | 19 ++++++++ 6 files changed, 162 insertions(+) create mode 100644 mailpoet/lib/Doctrine/WPDB/Connection.php create mode 100644 mailpoet/lib/Doctrine/WPDB/Driver.php create mode 100644 mailpoet/lib/Doctrine/WPDB/Result.php create mode 100644 mailpoet/lib/Doctrine/WPDB/Statement.php create mode 100644 mailpoet/tests/integration/Doctrine/WPDB/DriverTest.php create mode 100644 mailpoet/tests/unit/Doctrine/WPDB/DriverTest.php diff --git a/mailpoet/lib/Doctrine/WPDB/Connection.php b/mailpoet/lib/Doctrine/WPDB/Connection.php new file mode 100644 index 0000000000..007ca5caad --- /dev/null +++ b/mailpoet/lib/Doctrine/WPDB/Connection.php @@ -0,0 +1,48 @@ +assertInstanceOf(Connection::class, $driver->connect([])); + $this->assertInstanceOf(MySQLPlatform::class, $driver->getDatabasePlatform()); + $this->assertInstanceOf(MariaDb1052Platform::class, $driver->createDatabasePlatformForVersion('10.5.8-MariaDB-1:10.5.8+maria~focal')); + $this->assertInstanceOf(ExceptionConverter::class, $driver->getExceptionConverter()); + } +} diff --git a/mailpoet/tests/unit/Doctrine/WPDB/DriverTest.php b/mailpoet/tests/unit/Doctrine/WPDB/DriverTest.php new file mode 100644 index 0000000000..7631dd52ec --- /dev/null +++ b/mailpoet/tests/unit/Doctrine/WPDB/DriverTest.php @@ -0,0 +1,19 @@ +createPartialMock(Driver::class, ['connect']); + + $this->assertInstanceOf(Connection::class, $driver->connect([])); + $this->assertInstanceOf(MySQLPlatform::class, $driver->getDatabasePlatform()); + $this->assertInstanceOf(MariaDb1052Platform::class, $driver->createDatabasePlatformForVersion('10.5.8-MariaDB-1:10.5.8+maria~focal')); + $this->assertInstanceOf(ExceptionConverter::class, $driver->getExceptionConverter()); + } +}