annotate vendor/symfony/phpunit-bridge/Tests/DnsMockTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of the Symfony package.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Symfony\Bridge\PhpUnit\Tests;
Chris@0 13
Chris@0 14 use PHPUnit\Framework\TestCase;
Chris@0 15 use Symfony\Bridge\PhpUnit\DnsMock;
Chris@0 16
Chris@0 17 class DnsMockTest extends TestCase
Chris@0 18 {
Chris@0 19 protected function tearDown()
Chris@0 20 {
Chris@0 21 DnsMock::withMockedHosts(array());
Chris@0 22 }
Chris@0 23
Chris@0 24 public function testCheckdnsrr()
Chris@0 25 {
Chris@0 26 DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'MX'))));
Chris@0 27 $this->assertTrue(DnsMock::checkdnsrr('example.com'));
Chris@0 28
Chris@0 29 DnsMock::withMockedHosts(array('example.com' => array(array('type' => 'A'))));
Chris@0 30 $this->assertFalse(DnsMock::checkdnsrr('example.com'));
Chris@0 31 $this->assertTrue(DnsMock::checkdnsrr('example.com', 'a'));
Chris@0 32 $this->assertTrue(DnsMock::checkdnsrr('example.com', 'any'));
Chris@0 33 $this->assertFalse(DnsMock::checkdnsrr('foobar.com', 'ANY'));
Chris@0 34 }
Chris@0 35
Chris@0 36 public function testGetmxrr()
Chris@0 37 {
Chris@0 38 DnsMock::withMockedHosts(array(
Chris@0 39 'example.com' => array(array(
Chris@0 40 'type' => 'MX',
Chris@0 41 'host' => 'mx.example.com',
Chris@0 42 'pri' => 10,
Chris@0 43 )),
Chris@0 44 ));
Chris@0 45
Chris@0 46 $this->assertFalse(DnsMock::getmxrr('foobar.com', $mxhosts, $weight));
Chris@0 47 $this->assertTrue(DnsMock::getmxrr('example.com', $mxhosts, $weight));
Chris@0 48 $this->assertSame(array('mx.example.com'), $mxhosts);
Chris@0 49 $this->assertSame(array(10), $weight);
Chris@0 50 }
Chris@0 51
Chris@0 52 public function testGethostbyaddr()
Chris@0 53 {
Chris@0 54 DnsMock::withMockedHosts(array(
Chris@0 55 'example.com' => array(
Chris@0 56 array(
Chris@0 57 'type' => 'A',
Chris@0 58 'ip' => '1.2.3.4',
Chris@0 59 ),
Chris@0 60 array(
Chris@0 61 'type' => 'AAAA',
Chris@0 62 'ipv6' => '::12',
Chris@0 63 ),
Chris@0 64 ),
Chris@0 65 ));
Chris@0 66
Chris@0 67 $this->assertSame('::21', DnsMock::gethostbyaddr('::21'));
Chris@0 68 $this->assertSame('example.com', DnsMock::gethostbyaddr('::12'));
Chris@0 69 $this->assertSame('example.com', DnsMock::gethostbyaddr('1.2.3.4'));
Chris@0 70 }
Chris@0 71
Chris@0 72 public function testGethostbyname()
Chris@0 73 {
Chris@0 74 DnsMock::withMockedHosts(array(
Chris@0 75 'example.com' => array(
Chris@0 76 array(
Chris@0 77 'type' => 'AAAA',
Chris@0 78 'ipv6' => '::12',
Chris@0 79 ),
Chris@0 80 array(
Chris@0 81 'type' => 'A',
Chris@0 82 'ip' => '1.2.3.4',
Chris@0 83 ),
Chris@0 84 ),
Chris@0 85 ));
Chris@0 86
Chris@0 87 $this->assertSame('foobar.com', DnsMock::gethostbyname('foobar.com'));
Chris@0 88 $this->assertSame('1.2.3.4', DnsMock::gethostbyname('example.com'));
Chris@0 89 }
Chris@0 90
Chris@0 91 public function testGethostbynamel()
Chris@0 92 {
Chris@0 93 DnsMock::withMockedHosts(array(
Chris@0 94 'example.com' => array(
Chris@0 95 array(
Chris@0 96 'type' => 'A',
Chris@0 97 'ip' => '1.2.3.4',
Chris@0 98 ),
Chris@0 99 array(
Chris@0 100 'type' => 'A',
Chris@0 101 'ip' => '2.3.4.5',
Chris@0 102 ),
Chris@0 103 ),
Chris@0 104 ));
Chris@0 105
Chris@0 106 $this->assertFalse(DnsMock::gethostbynamel('foobar.com'));
Chris@0 107 $this->assertSame(array('1.2.3.4', '2.3.4.5'), DnsMock::gethostbynamel('example.com'));
Chris@0 108 }
Chris@0 109
Chris@0 110 public function testDnsGetRecord()
Chris@0 111 {
Chris@0 112 DnsMock::withMockedHosts(array(
Chris@0 113 'example.com' => array(
Chris@0 114 array(
Chris@0 115 'type' => 'A',
Chris@0 116 'ip' => '1.2.3.4',
Chris@0 117 ),
Chris@0 118 array(
Chris@0 119 'type' => 'PTR',
Chris@0 120 'ip' => '2.3.4.5',
Chris@0 121 ),
Chris@0 122 ),
Chris@0 123 ));
Chris@0 124
Chris@0 125 $records = array(
Chris@0 126 array(
Chris@0 127 'host' => 'example.com',
Chris@0 128 'class' => 'IN',
Chris@0 129 'ttl' => 1,
Chris@0 130 'type' => 'A',
Chris@0 131 'ip' => '1.2.3.4',
Chris@0 132 ),
Chris@0 133 $ptr = array(
Chris@0 134 'host' => 'example.com',
Chris@0 135 'class' => 'IN',
Chris@0 136 'ttl' => 1,
Chris@0 137 'type' => 'PTR',
Chris@0 138 'ip' => '2.3.4.5',
Chris@0 139 ),
Chris@0 140 );
Chris@0 141
Chris@0 142 $this->assertFalse(DnsMock::dns_get_record('foobar.com'));
Chris@0 143 $this->assertSame($records, DnsMock::dns_get_record('example.com'));
Chris@0 144 $this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_ALL));
Chris@0 145 $this->assertSame($records, DnsMock::dns_get_record('example.com', DNS_A | DNS_PTR));
Chris@0 146 $this->assertSame(array($ptr), DnsMock::dns_get_record('example.com', DNS_PTR));
Chris@0 147 }
Chris@0 148 }