Sindbad~EG File Manager
<?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