Files
MageSail/Magesail/Test/Unit/Model/TunnelHostnameMatcherTest.php
T
snxraven bbd83659a7
CI / php (push) Successful in 2m56s
tests
2026-03-21 03:49:54 -05:00

46 lines
1.7 KiB
PHP

<?php
declare(strict_types=1);
namespace MageSail\Magesail\Test\Unit\Model;
use MageSail\Magesail\Model\TunnelHostnameMatcher;
use MageSail\Magesail\Model\TunnelRegistry;
use Magento\Framework\App\Request\Http;
use PHPUnit\Framework\TestCase;
class TunnelHostnameMatcherTest extends TestCase
{
public function testGetStoreCodeReturnsCodeWhenRegistryMatchesHost(): void
{
$registry = $this->createMock(TunnelRegistry::class);
$registry->method('findByRequestHost')->with('dev.example.com')->willReturn([
'store_code' => 'mgtun_abc',
]);
$matcher = new TunnelHostnameMatcher($registry);
$request = new Http();
$request->setServerParams(['HTTP_HOST' => 'dev.example.com']);
self::assertSame('mgtun_abc', $matcher->getStoreCodeIfRequestHostMatchesState($request));
}
public function testGetStoreCodeReturnsNullWhenHttpHostEmpty(): void
{
$registry = $this->createMock(TunnelRegistry::class);
$registry->expects(self::never())->method('findByRequestHost');
$matcher = new TunnelHostnameMatcher($registry);
$request = new Http();
$request->setServerParams(['HTTP_HOST' => '']);
self::assertNull($matcher->getStoreCodeIfRequestHostMatchesState($request));
}
public function testGetStoreCodeReturnsNullWhenNoTunnelMatches(): void
{
$registry = $this->createMock(TunnelRegistry::class);
$registry->method('findByRequestHost')->willReturn(null);
$matcher = new TunnelHostnameMatcher($registry);
$request = new Http();
$request->setServerParams(['HTTP_HOST' => 'other.com']);
self::assertNull($matcher->getStoreCodeIfRequestHostMatchesState($request));
}
}