Mercurial > hg > isophonics-drupal-site
diff vendor/symfony/phpunit-bridge/Tests/DnsMockTest.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/symfony/phpunit-bridge/Tests/DnsMockTest.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,148 @@ +<?php + +/* + * This file is part of the Symfony package. + * + * (c) Fabien Potencier <fabien@symfony.com> + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Bridge\PhpUnit\Tests; + +use PHPUnit\Framework\TestCase; +use Symfony\Bridge\PhpUnit\DnsMock; + +class DnsMockTest extends TestCase +{ + protected function tearDown() + { + DnsMock::withMockedHosts(array()); + } + + public function testCheckdnsrr() + { + DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'MX')))); + $this->assertTrue(DnsMock::checkdnsrr('example.com')); + + DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'A')))); + $this->assertFalse(DnsMock::checkdnsrr('example.com')); + $this->assertTrue(DnsMock::checkdnsrr('example.com', 'a')); + $this->assertTrue(DnsMock::checkdnsrr('example.com', 'any')); + $this->assertFalse(DnsMock::checkdnsrr('foobar.com', 'ANY')); + } + + public function testGetmxrr() + { + DnsMock::withMockedHosts(array( + 'example.com' => array(array( + 'type' => 'MX', + 'host' => 'mx.example.com', + 'pri' => 10, + )), + )); + + $this->assertFalse(DnsMock::getmxrr('foobar.com', $mxhosts, $weight)); + $this->assertTrue(DnsMock::getmxrr('example.com', $mxhosts, $weight)); + $this->assertSame(array('mx.example.com'), $mxhosts); + $this->assertSame(array(10), $weight); + } + + public function testGethostbyaddr() + { + DnsMock::withMockedHosts(array( + 'example.com' => array( + array( + 'type' => 'A', + 'ip' => '1.2.3.4', + ), + array( + 'type' => 'AAAA', + 'ipv6' => '::12', + ), + ), + )); + + $this->assertSame('::21', DnsMock::gethostbyaddr('::21')); + $this->assertSame('example.com', DnsMock::gethostbyaddr('::12')); + $this->assertSame('example.com', DnsMock::gethostbyaddr('1.2.3.4')); + } + + public function testGethostbyname() + { + DnsMock::withMockedHosts(array( + 'example.com' => array( + array( + 'type' => 'AAAA', + 'ipv6' => '::12', + ), + array( + 'type' => 'A', + 'ip' => '1.2.3.4', + ), + ), + )); + + $this->assertSame('foobar.com', DnsMock::gethostbyname('foobar.com')); + $this->assertSame('1.2.3.4', DnsMock::gethostbyname('example.com')); + } + + public function testGethostbynamel() + { + DnsMock::withMockedHosts(array( + 'example.com' => array( + array( + 'type' => 'A', + 'ip' => '1.2.3.4', + ), + array( + 'type' => 'A', + 'ip' => '2.3.4.5', + ), + ), + )); + + $this->assertFalse(DnsMock::gethostbynamel('foobar.com')); + $this->assertSame(array('1.2.3.4', '2.3.4.5'), DnsMock::gethostbynamel('example.com')); + } + + public function testDnsGetRecord() + { + DnsMock::withMockedHosts(array( + 'example.com' => array( + array( + 'type' => 'A', + 'ip' => '1.2.3.4', + ), + array( + 'type' => 'PTR', + 'ip' => '2.3.4.5', + ), + ), + )); + + $records = array( + array( + 'host' => 'example.com', + 'class' => 'IN', + 'ttl' => 1, + 'type' => 'A', + 'ip' => '1.2.3.4', + ), + $ptr = array( + 'host' => 'example.com', + 'class' => 'IN', + 'ttl' => 1, + 'type' => 'PTR', + 'ip' => '2.3.4.5', + ), + ); + + $this->assertFalse(DnsMock::dns_get_record('foobar.com')); + $this->assertSame($records, DnsMock::dns_get_record('example.com')); + $this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_ALL)); + $this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_A | DNS_PTR)); + $this->assertSame(array($ptr), DnsMock::dns_get_record('example.com', DNS_PTR)); + } +}