mirror of
https://github.com/tiennm99/coolify.git
synced 2026-10-14 06:17:36 +00:00
feat(server): improve private key and cloud link flows
Add server private key generation from the dropdown, prevent deleting private keys that are still in use, and close cloud provider link modals after successful linking.
This commit is contained in:
1 parent
9b8aeb4758
commit
0217e2b0c0
14 files changed
+822
-252
No files matched your search
@@ -2,8 +2,10 @@
|
||||
|
||||
use App\Livewire\Security\PrivateKey\Create;
|
||||
use App\Livewire\Security\PrivateKey\Index;
|
||||
use App\Livewire\Security\PrivateKey\Show;
|
||||
use App\Models\InstanceSettings;
|
||||
use App\Models\PrivateKey;
|
||||
use App\Models\Server;
|
||||
use App\Models\Team;
|
||||
use App\Models\User;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
@@ -95,3 +97,38 @@ test('github app badge appears before the save button in the title row', functio
|
||||
->and($view)->toContain('<x-forms.button canGate="update" :canResource="$private_key" type="submit">')
|
||||
->and($badgePosition)->toBeLessThan($saveButtonPosition);
|
||||
});
|
||||
|
||||
test('used private key details disable delete with an explanation', function () {
|
||||
$privateKey = PrivateKey::factory()->create([
|
||||
'team_id' => $this->team->id,
|
||||
]);
|
||||
|
||||
Server::factory()->create([
|
||||
'team_id' => $this->team->id,
|
||||
'private_key_id' => $privateKey->id,
|
||||
]);
|
||||
|
||||
$this->get(route('security.private-key.show', [
|
||||
'private_key_uuid' => $privateKey->uuid,
|
||||
]))
|
||||
->assertSuccessful()
|
||||
->assertSee('This private key is currently used by a server, application, or Git app and cannot be deleted.', false)
|
||||
->assertSee('disabled', false);
|
||||
});
|
||||
|
||||
test('used private key delete action keeps the key and shows an error', function () {
|
||||
$privateKey = PrivateKey::factory()->create([
|
||||
'team_id' => $this->team->id,
|
||||
]);
|
||||
|
||||
Server::factory()->create([
|
||||
'team_id' => $this->team->id,
|
||||
'private_key_id' => $privateKey->id,
|
||||
]);
|
||||
|
||||
Livewire::test(Show::class, ['private_key_uuid' => $privateKey->uuid])
|
||||
->call('delete')
|
||||
->assertDispatched('error');
|
||||
|
||||
expect($privateKey->fresh())->not->toBeNull();
|
||||
});
|
||||
Reference in new issue
Block a user