1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
<?php
use MediaWiki\PoolCounter\PoolCounterConnectionManager;
/**
* @covers \MediaWiki\PoolCounter\PoolCounterConnectionManager
* @group Database
*/
class PoolCounterConnectionManagerTest extends MediaWikiIntegrationTestCase {
public static function provideServersConfig() {
// supplied hostname, expected host, expected port
return [
'Correct IPv4' => [
'127.0.0.1', '127.0.0.1', 7531
],
'Bracketless IPv6' => [
'::1', '[::1]', 7531
],
'Bracketed IPv6' => [
'[::1]', '[::1]', 7531
],
'IPv4 with port' => [
'127.0.0.1:123', '127.0.0.1', 123
],
'IPv6 with port' => [
'[::1]:123', '[::1]', 123,
],
];
}
/**
* Tests whether the hostname supplied is correct. Tests ipv4 and ipv6.
*
* @covers \MediaWiki\PoolCounter\PoolCounterConnectionManager::get
* @dataProvider provideServersConfig
*/
public function testGetServersConfig( $suppliedHostname, $expectedHost, $expectedPort ) {
$pcm = new PoolCounterConnectionManager( [ 'servers' => [ $suppliedHostname ] ] );
$pcm->get( 'test' );
$this->assertEquals( $expectedHost, $pcm->host );
$this->assertSame( $expectedPort, $pcm->port );
}
}
|