Per wikitech-l consensus: https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html Notes: * Disabled CallTimePassByReference due to false positives (T127163) Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
52 lines
1.6 KiB
PHP
52 lines
1.6 KiB
PHP
<?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' ],
|
|
];
|
|
}
|
|
|
|
}
|