3 class DnsSrvDiscovererTest
extends PHPUnit_Framework_TestCase
{
5 use MediaWikiCoversValidator
;
8 * @covers DnsSrvDiscoverer
9 * @dataProvider provideRecords
11 public function testPickServer( $params, $expected ) {
12 $discoverer = new DnsSrvDiscoverer( 'etcd-tcp.example.net' );
13 $record = $discoverer->pickServer( $params );
15 $this->assertEquals( $expected, $record );
18 public static function provideRecords() {
23 'target' => 'conf03.example.net',
29 'target' => 'conf02.example.net',
35 'target' => 'conf01.example.net',
42 'target' => 'conf03.example.net',
51 'target' => 'conf03or2.example.net',
57 'target' => 'conf03or2.example.net',
63 'target' => 'conf01.example.net',
69 'target' => 'conf04.example.net',
75 'target' => 'conf05.example.net',
82 'target' => 'conf03or2.example.net',
91 public function testRemoveServer() {
92 $dsd = new DnsSrvDiscoverer( 'localhost' );
96 'target' => 'conf01.example.net',
102 'target' => 'conf04.example.net',
108 'target' => 'conf05.example.net',
114 $server = $servers[1];
118 'target' => 'conf01.example.net',
124 'target' => 'conf05.example.net',
133 $dsd->removeServer( $server, $servers ),
134 "Correct server removed"
138 $dsd->removeServer( $server, $servers ),