mirror of
https://github.com/archtechx/tenancy.git
synced 2026-05-06 15:24:03 +00:00
Improve validation exception message
This commit is contained in:
parent
50ea524ad2
commit
bacbf934e1
2 changed files with 9 additions and 9 deletions
|
|
@ -66,7 +66,7 @@ trait ValidatesDatabaseParameters
|
||||||
|
|
||||||
foreach (str_split($parameter) as $char) {
|
foreach (str_split($parameter) as $char) {
|
||||||
if (! str_contains($allowlist, $char)) {
|
if (! str_contains($allowlist, $char)) {
|
||||||
throw new InvalidArgumentException("Invalid character '{$char}' in parameter: {$parameter}");
|
throw new InvalidArgumentException("Forbidden character '{$char}' in database parameter.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -564,23 +564,23 @@ test('database managers validate parameters that cannot be bound', function ($dr
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(fn () => $manager->createDatabase($tenant))
|
expect(fn () => $manager->createDatabase($tenant))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidDatabaseName);
|
->toThrow(InvalidArgumentException::class);
|
||||||
|
|
||||||
expect(fn () => $manager->deleteDatabase($tenant))
|
expect(fn () => $manager->deleteDatabase($tenant))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidDatabaseName);
|
->toThrow(InvalidArgumentException::class);
|
||||||
} else {
|
} else {
|
||||||
// Invalid username, createUser() and deleteUser() should
|
// Invalid username, createUser() and deleteUser() should
|
||||||
// throw an invalid argument exception.
|
// throw an invalid argument exception.
|
||||||
$tenantWithInvalidUsername = Tenant::make([
|
$tenantWithInvalidUsername = Tenant::make([
|
||||||
'tenancy_db_name' => 'valid_database_name890',
|
'tenancy_db_name' => 'valid_database_name890',
|
||||||
'tenancy_db_username' => $invalidUsername = "username with spaces",
|
'tenancy_db_username' => "username with spaces",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(fn () => $manager->createUser($tenantWithInvalidUsername->database()))
|
expect(fn () => $manager->createUser($tenantWithInvalidUsername->database()))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidUsername);
|
->toThrow(InvalidArgumentException::class, 'Forbidden character');
|
||||||
|
|
||||||
expect(fn () => $manager->deleteUser($tenantWithInvalidUsername->database()))
|
expect(fn () => $manager->deleteUser($tenantWithInvalidUsername->database()))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidUsername);
|
->toThrow(InvalidArgumentException::class, 'Forbidden character');
|
||||||
|
|
||||||
// Invalid database name, createUser() should throw
|
// Invalid database name, createUser() should throw
|
||||||
// an invalid argument exception. deleteUser() doesn't
|
// an invalid argument exception. deleteUser() doesn't
|
||||||
|
|
@ -591,16 +591,16 @@ test('database managers validate parameters that cannot be bound', function ($dr
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(fn () => $manager->createUser($tenantWithInvalidDatabase->database()))
|
expect(fn () => $manager->createUser($tenantWithInvalidDatabase->database()))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidDatabaseName);
|
->toThrow(InvalidArgumentException::class, 'Forbidden character');
|
||||||
|
|
||||||
$tenantWithInvalidPassword = Tenant::make([
|
$tenantWithInvalidPassword = Tenant::make([
|
||||||
'tenancy_db_name' => 'valid_database_name890',
|
'tenancy_db_name' => 'valid_database_name890',
|
||||||
'tenancy_db_username' => 'valid_USERNAME',
|
'tenancy_db_username' => 'valid_USERNAME',
|
||||||
'tenancy_db_password' => $invalidPassword = "p'ssword",
|
'tenancy_db_password' => "p'ssword",
|
||||||
]);
|
]);
|
||||||
|
|
||||||
expect(fn () => $manager->createUser($tenantWithInvalidPassword->database()))
|
expect(fn () => $manager->createUser($tenantWithInvalidPassword->database()))
|
||||||
->toThrow(InvalidArgumentException::class, $invalidPassword);
|
->toThrow(InvalidArgumentException::class, 'Forbidden character');
|
||||||
|
|
||||||
$tenantWithNullDbParameters = Tenant::make([
|
$tenantWithNullDbParameters = Tenant::make([
|
||||||
'tenancy_db_name' => null,
|
'tenancy_db_name' => null,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue