Stabilize discovery workflow

This commit is contained in:
2026-05-29 17:16:46 +08:00
parent 15772bc17e
commit 3981ffdf5e
40 changed files with 2039 additions and 211 deletions
@@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace Domovoy\Tests\Controllers;
use Domovoy\Controllers\NetworkRangeController;
use Domovoy\Repositories\NetworkRangeRepository;
use PHPUnit\Framework\TestCase;
final class NetworkRangeControllerTest extends TestCase
{
public function testPrivateIpv4RangesAreAllowedAndPublicRangesAreRejected(): void
{
$controller = new NetworkRangeController(new NoopNetworkRangeRepository());
$method = new \ReflectionMethod(NetworkRangeController::class, 'isValidCidr');
$method->setAccessible(true);
self::assertTrue($method->invoke($controller, '10.0.0.0/8'));
self::assertTrue($method->invoke($controller, '172.16.0.0/12'));
self::assertTrue($method->invoke($controller, '192.168.1.1/32'));
self::assertTrue($method->invoke($controller, '169.254.10.20/32'));
self::assertTrue($method->invoke($controller, '127.0.0.1/32'));
self::assertFalse($method->invoke($controller, '8.8.8.8/32'));
self::assertFalse($method->invoke($controller, '1.1.1.0/24'));
}
}
final class NoopNetworkRangeRepository extends NetworkRangeRepository
{
public function __construct()
{
}
}