Sindbad~EG File Manager

Current Path : /opt/nginxhttpd_/tests/Parser/
Upload File :
Current File : //opt/nginxhttpd_/tests/Parser/HttpdParser.php

<?php


namespace App\Tests\Parser;


use App\DataTransformer\Enrich;
use App\DataTransformer\Expand;
use App\Parser\CpanelUserdataParser;
use App\Tests\CustomTestCase;

class HttpdParser extends CustomTestCase
{

    private function testResultWithBasicTests(array $result){
        $this->assertArrayHasKey('default', $result);
        $this->assertArrayHasKey('serverName', $result['default']);
        $this->assertArrayHasKey('serverAlias', $result['default']);
        $this->assertIsArray($result['default']['serverAlias']);
        $this->assertArrayHasKey('rawServerAlias', $result['default']);
        $this->assertArrayHasKey('httpPort', $result['default']);
        $toCheck = [
            'otest.odns.fr',
            'domaine-supplementaire.testopenresty.fr',
            'testopenresty.fr',
            'sous-domaine.testopenresty.fr',
            'test9.otest.odns.fr',
            'dsqdsqddqs.testopenresty.fr'
        ];
        foreach($toCheck as $serverName){
            $this->assertArrayHasKey($serverName, $result);
            $this->assertIsArray($result[$serverName]);
            $this->assertArrayHasKey('cpUser', $result[$serverName]);
            $this->assertArrayHasKey('docRoot', $result[$serverName]);
            $this->assertArrayHasKey('homeDir', $result[$serverName]);
            $this->assertArrayHasKey('serverName', $result[$serverName]);
            $this->assertArrayHasKey('serverAlias', $result[$serverName]);
            $this->assertIsArray($result[$serverName]['serverAlias']);
            $this->assertArrayHasKey('rawServerAlias', $result[$serverName]);
            $this->assertArrayHasKey('ip', $result[$serverName]);
            $this->assertArrayHasKey('httpPort', $result[$serverName]);
            $this->assertEquals("8081", $result[$serverName]['httpPort']);
            $this->assertArrayHasKey('httpsPort', $result[$serverName]);
            $this->assertEquals("4430", $result[$serverName]['httpsPort']);
            $this->assertArrayHasKey('sslCertificateFilepath', $result[$serverName]);
        }
    }

    private function testResultFromFirstDt(array $result){
        $toCheck = [
            'otest.odns.fr',
            'domaine-supplementaire.testopenresty.fr',
            'testopenresty.fr',
            'sous-domaine.testopenresty.fr',
            'test9.otest.odns.fr',
            'dsqdsqddqs.testopenresty.fr',
        ];

        foreach($toCheck as $serverName){
            $this->assertArrayHasKey('additionalsParams', $result[$serverName]);
            $this->assertArrayHasKey('listenToIp', $result[$serverName]);
            $this->assertEquals("109.234.164.51", $result[$serverName]['listenToIp']);
            $this->assertArrayHasKey('proxyPassIp', $result[$serverName]);
            $this->assertEquals("109.234.164.51", $result[$serverName]['proxyPassIp']);
            $this->assertArrayHasKey('proxyPassSslIp', $result[$serverName]);
            $this->assertEquals("109.234.164.51", $result[$serverName]['proxyPassSslIp']);
            $this->assertArrayHasKey('proxyPassProtocol', $result[$serverName]);
            $this->assertEquals("http", $result[$serverName]['proxyPassProtocol']);
            $this->assertArrayHasKey('proxyPassSslProtocol', $result[$serverName]);
            $this->assertEquals("https", $result[$serverName]['proxyPassSslProtocol']);
            $this->assertArrayHasKey('rawSslContent', $result[$serverName]);
        }
    }

    public function testParseHttpdConfig(){
        self::bootKernel();
        $container = static::getContainer();
        /** @var \App\Parser\ApacheHttpdParser $httpdParser */
        $httpdParser = $container->get(\App\Parser\ApacheHttpdParser::class);
        $httpdConfigPath = $container->getParameter('app.httpd.conf');
        $this->assertTrue($httpdParser->parse($httpdConfigPath));
        $result = $httpdParser->getData();
        $this->assertIsArray($result);
        $this->testResultWithBasicTests($result);
    }

    public function testParseHttpdConfigWithDataTransformer(){
        self::bootKernel();
        $container = static::getContainer();
        /** @var \App\Parser\ApacheHttpdParser $httpdParser */
        $httpdParser = $container->get(\App\Parser\ApacheHttpdParser::class);
        /** @var Enrich $dt */
        $dt = $container->get(Enrich::class);
        /** @var CpanelUserdataParser $cPanelUserdataParser */
        $cPanelUserdataParser = $container->get(CpanelUserdataParser::class);
        $cPanelUserdataParser->parse();
        $httpdParser->setDataTransformer([$dt->setCpUserdata($cPanelUserdataParser->getData())]);
        $httpdConfigPath = $container->getParameter('app.httpd.conf');
        $this->assertTrue($httpdParser->parse($httpdConfigPath));
        $result = $httpdParser->getData();
        $this->assertIsArray($result);
        $this->testResultWithBasicTests($result);
        $this->testResultFromFirstDt($result);
    }

    public function testParseHttpdConfigWithDataTransformerAndExpanding(){
        self::bootKernel();
        $container = static::getContainer();
        /** @var \App\Parser\ApacheHttpdParser $httpdParser */
        $httpdParser = $container->get(\App\Parser\ApacheHttpdParser::class);
        /** @var Expand $expandDt */
        $expandDt = $container->get(Expand::class);
        /** @var Enrich $dt */
        $dt = $container->get(Enrich::class);
        /** @var CpanelUserdataParser $cPanelUserdataParser */
        $cPanelUserdataParser = $container->get(CpanelUserdataParser::class);
        $cPanelUserdataParser->parse();
        $httpdParser->setDataTransformer([$dt->setCpUserdata($cPanelUserdataParser->getData())]);
        $httpdConfigPath = $container->getParameter('app.httpd.conf');
        $this->assertTrue($httpdParser->parse($httpdConfigPath));
        $result = $httpdParser->getData();
        $this->assertIsArray($result);
        $result = $expandDt->transform($result);
        $this->assertIsArray($result);
        $this->testResultWithBasicTests($result);
        $this->testResultFromFirstDt($result);
        $this->assertArrayHasKey('domaine-supplementaire.com', $result);
        $this->assertSame($result['domaine-supplementaire.testopenresty.fr'], $result['domaine-supplementaire.com']);
        $this->assertArrayHasKey('dsqdsqddqs.dsq', $result);
        $this->assertArrayHasKey('dsqdsqddsqdqs.dsq', $result);
        $this->assertArrayHasKey('domaine-alias.com', $result);
        $this->assertSame($result['testopenresty.fr'], $result['domaine-alias.com']);
        $this->assertArrayHasKey('testalidddds.com', $result);
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists