mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-12 15:53:46 -04:00
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: peaklabs-dev <122374094+peaklabs-dev@users.noreply.github.com> Co-authored-by: Aditya Tripathi <aditya@climactic.co>
22 lines
923 B
PHP
22 lines
923 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_.][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'))->toBe(1);
|
|
expect(preg_match(ValidationPatterns::SERVER_USERNAME_PATTERN, 'deploy$user'))->toBe(0);
|
|
expect(preg_match(ValidationPatterns::SERVER_USERNAME_PATTERN, '-oProxyCommand=id'))->toBe(0);
|
|
});
|
|
|
|
it('preserves dots when sanitizing server SSH usernames', function () {
|
|
$server = new Server;
|
|
$server->user = 'deploy.user';
|
|
|
|
expect($server->user)->toBe('deploy.user');
|
|
});
|