aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/DB/ConnectionFactoryTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/DB/ConnectionFactoryTest.php')
-rw-r--r--tests/lib/DB/ConnectionFactoryTest.php43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/lib/DB/ConnectionFactoryTest.php b/tests/lib/DB/ConnectionFactoryTest.php
new file mode 100644
index 00000000000..d09a83ca856
--- /dev/null
+++ b/tests/lib/DB/ConnectionFactoryTest.php
@@ -0,0 +1,43 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace Test\DB;
+
+use OC\DB\ConnectionFactory;
+use OC\SystemConfig;
+use OCP\ICacheFactory;
+use Test\TestCase;
+
+class ConnectionFactoryTest extends TestCase {
+ public static function splitHostFromPortAndSocketData(): array {
+ return [
+ ['127.0.0.1', ['host' => '127.0.0.1']],
+ ['db.example.org', ['host' => 'db.example.org']],
+ ['unix', ['host' => 'unix']],
+ ['[::1]', ['host' => '[::1]']],
+ ['127.0.0.1:3306', ['host' => '127.0.0.1', 'port' => 3306]],
+ ['db.example.org:3306', ['host' => 'db.example.org', 'port' => 3306]],
+ ['unix:3306', ['host' => 'unix', 'port' => 3306]],
+ ['[::1]:3306', ['host' => '[::1]', 'port' => 3306]],
+ ['unix:/socket', ['host' => 'unix', 'unix_socket' => '/socket']],
+ ];
+ }
+
+ /**
+ * @param string $host
+ * @param array $expected
+ */
+ #[\PHPUnit\Framework\Attributes\DataProvider('splitHostFromPortAndSocketData')]
+ public function testSplitHostFromPortAndSocket($host, array $expected): void {
+ /** @var SystemConfig $config */
+ $config = $this->createMock(SystemConfig::class);
+ $cacheFactory = $this->createMock(ICacheFactory::class);
+ $factory = new ConnectionFactory($config, $cacheFactory);
+
+ $this->assertEquals($expected, self::invokePrivate($factory, 'splitHostFromPortAndSocket', [$host]));
+ }
+}