mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-19 02:14:05 +00:00
test: cover case-sensitive application URL paths
This commit is contained in:
1 parent
bbff70c8d0
commit
cd95ac3d0d
2 files changed
+44
No files matched your search
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Controllers\Api\ServicesController;
|
||||||
|
use App\Models\Service;
|
||||||
|
|
||||||
|
it('does not treat service URLs with different path casing as duplicates', function () {
|
||||||
|
$controller = new ServicesController;
|
||||||
|
$method = new ReflectionMethod($controller, 'applyServiceUrls');
|
||||||
|
$service = new class extends Service
|
||||||
|
{
|
||||||
|
public function applications()
|
||||||
|
{
|
||||||
|
return new class
|
||||||
|
{
|
||||||
|
public function where(string $column, mixed $value): self
|
||||||
|
{
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function first(): null
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$result = $method->invoke($controller, $service, [
|
||||||
|
['name' => 'web', 'url' => 'https://example.com/Route'],
|
||||||
|
['name' => 'api', 'url' => 'HTTPS://EXAMPLE.COM/route'],
|
||||||
|
], '1');
|
||||||
|
|
||||||
|
expect($result['errors'] ?? [])->toBe([
|
||||||
|
"Service container with 'web' not found.",
|
||||||
|
"Service container with 'api' not found.",
|
||||||
|
]);
|
||||||
|
});
|
||||||
@@ -180,3 +180,10 @@ it('normalizes environment variable keys before model validation', function () {
|
|||||||
|
|
||||||
expect($environmentVariable->key)->toBe('APP_ENV');
|
expect($environmentVariable->key)->toBe('APP_ENV');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('normalizes application domain scheme and host without lowercasing path query or fragment', function () {
|
||||||
|
$domains = ' HTTPS://EXAMPLE.COM/MixedCase/Path?Token=ABC#Fragment, http://Sub.EXAMPLE.com/Api/V1 ';
|
||||||
|
|
||||||
|
expect(ValidationPatterns::normalizeApplicationDomains($domains))
|
||||||
|
->toBe('https://example.com/MixedCase/Path?Token=ABC#Fragment,http://sub.example.com/Api/V1');
|
||||||
|
});
|
||||||
Reference in new issue
Block a user