summaryrefslogtreecommitdiff
path: root/www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php')
-rw-r--r--www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php b/www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php
new file mode 100644
index 00000000..2811a9cf
--- /dev/null
+++ b/www/wiki/tests/phpunit/includes/installer/OracleInstallerTest.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Tests for OracleInstaller
+ *
+ * @group Database
+ * @group Installer
+ */
+class OracleInstallerTest extends MediaWikiTestCase {
+
+ /**
+ * @dataProvider provideOracleConnectStrings
+ * @covers OracleInstaller::checkConnectStringFormat
+ */
+ public function testCheckConnectStringFormat( $expected, $connectString, $msg = '' ) {
+ $validity = $expected ? 'should be valid' : 'should NOT be valid';
+ $msg = "'$connectString' ($msg) $validity.";
+ $this->assertEquals( $expected,
+ OracleInstaller::checkConnectStringFormat( $connectString ),
+ $msg
+ );
+ }
+
+ /**
+ * Provider to test OracleInstaller::checkConnectStringFormat()
+ */
+ function provideOracleConnectStrings() {
+ // expected result, connectString[, message]
+ return [
+ [ true, 'simple_01', 'Simple TNS name' ],
+ [ true, 'simple_01.world', 'TNS name with domain' ],
+ [ true, 'simple_01.domain.net', 'TNS name with domain' ],
+ [ true, 'host123', 'Host only' ],
+ [ true, 'host123.domain.net', 'FQDN only' ],
+ [ true, '//host123.domain.net', 'FQDN URL only' ],
+ [ true, '123.223.213.132', 'Host IP only' ],
+ [ true, 'host:1521', 'Host and port' ],
+ [ true, 'host:1521/service', 'Host, port and service' ],
+ [ true, 'host:1521/service:shared', 'Host, port, service and shared server type' ],
+ [ true, 'host:1521/service:dedicated', 'Host, port, service and dedicated server type' ],
+ [ true, 'host:1521/service:pooled', 'Host, port, service and pooled server type' ],
+ [
+ true,
+ 'host:1521/service:shared/instance1',
+ 'Host, port, service, server type and instance'
+ ],
+ [ true, 'host:1521//instance1', 'Host, port and instance' ],
+ ];
+ }
+
+}