diff --git a/tests/Unit/ServicesControllerUrlDuplicateTest.php b/tests/Unit/ServicesControllerUrlDuplicateTest.php new file mode 100644 index 000000000..8f3e4f9c4 --- /dev/null +++ b/tests/Unit/ServicesControllerUrlDuplicateTest.php @@ -0,0 +1,37 @@ +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.", + ]); +}); diff --git a/tests/Unit/ValidationPatternsTest.php b/tests/Unit/ValidationPatternsTest.php index 2b5763177..cb9d0144d 100644 --- a/tests/Unit/ValidationPatternsTest.php +++ b/tests/Unit/ValidationPatternsTest.php @@ -180,3 +180,10 @@ 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'); +});