mirror of
https://github.com/coollabsio/coolify.git
synced 2026-06-13 19:09:50 +00:00
bc2afdf02e
Centralize SSH username rules and sanitization so dotted usernames are accepted consistently across API, onboarding, and Livewire server forms.
20 lines
722 B
PHP
20 lines
722 B
PHP
<?php
|
|
|
|
use App\Models\Server;
|
|
use App\Support\ValidationPatterns;
|
|
|
|
it('provides shared validation rules for SSH usernames', function () {
|
|
expect(ValidationPatterns::SERVER_USERNAME_PATTERN)->toBe('/^[a-zA-Z0-9._-]+$/');
|
|
expect(ValidationPatterns::serverUsernameRules())->toContain('regex:'.ValidationPatterns::SERVER_USERNAME_PATTERN);
|
|
|
|
expect(preg_match(ValidationPatterns::SERVER_USERNAME_PATTERN, 'deploy.user'))->toBe(1);
|
|
expect(preg_match(ValidationPatterns::SERVER_USERNAME_PATTERN, 'deploy$user'))->toBe(0);
|
|
});
|
|
|
|
it('preserves dots when sanitizing server SSH usernames', function () {
|
|
$server = new Server;
|
|
$server->user = 'deploy.user';
|
|
|
|
expect($server->user)->toBe('deploy.user');
|
|
});
|