File: HostPortExtractorTest.php

package info (click to toggle)
matomo 5.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 95,068 kB
  • sloc: php: 289,425; xml: 127,249; javascript: 112,130; python: 202; sh: 178; makefile: 20; sql: 10
file content (53 lines) | stat: -rw-r--r-- 1,605 bytes parent folder | download
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
47
48
49
50
51
52
53
<?php

namespace Piwik\Plugins\Installation\tests\Unit;

use Piwik\Plugins\Installation\HostPortExtractor;

class HostPortExtractorTest extends \PHPUnit\Framework\TestCase
{
    public function validInputs()
    {
        return [
            ['127.0.0.1:3000', ['127.0.0.1', '3000']],
            ['localhost:3000', ['localhost', '3000']],
            ['/test/path/socket', ['', '/test/path/socket']],
            ['[2001:db8:3333:4444:5555:6666:7777:8888]', ['[2001:db8:3333:4444:5555:6666:7777:8888]', '']],
            ['[2001:db8:3333:4444:5555:6666:7777:8888]:3000', ['[2001:db8:3333:4444:5555:6666:7777:8888]', '3000']],
            ['[2001::8888]', ['[2001::8888]', '']],
            ['[2001::8888]:3000', ['[2001::8888]', '3000']],
        ];
    }

    public function invalidInputs()
    {
        return [
            ['127.0.0.1'],
            ['localhost'],
            ['2001::8888'],
            ['[2001::db8::8888]'],
            ['[200r::11zz]'],
            ['a [2001::8888] a'],
            ['[::]:3000a'],
        ];
    }

    /**
     * @dataProvider validInputs
     */
    public function testValidDbHosts($input, $expected)
    {
        $extractedHostAndPort = HostPortExtractor::extract($input);
        $this->assertEquals($extractedHostAndPort->host, $expected[0]);
        $this->assertEquals($extractedHostAndPort->port, $expected[1]);
    }

    /**
     * @dataProvider invalidInputs
     */
    public function testInvalidDbHosts($input)
    {
        $extractedHostAndPort = HostPortExtractor::extract($input);
        $this->assertNull($extractedHostAndPort);
    }
}