Allow deleting draft server records
This commit is contained in:
@@ -590,6 +590,15 @@ func TestCoreServiceDeletesServerInstancesWithPasswordConfirmation(t *testing.T)
|
||||
if err != nil {
|
||||
t.Fatalf("create installing target: %v", err)
|
||||
}
|
||||
draftTarget, err := svc.CreateServerInstanceForSession(ownerSession, domain.ServerInstance{
|
||||
ID: "server-delete-draft",
|
||||
PluginID: plugin.ID,
|
||||
Name: "Delete Draft Target",
|
||||
State: domain.ServerInstanceStateDraft,
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("create draft target: %v", err)
|
||||
}
|
||||
|
||||
if _, err := svc.DeleteServerInstanceForSession(otherSession, ownerInstance.ID, domain.ServerDeletionRequest{Password: "secret-password"}); !errors.Is(err, ErrForbidden) {
|
||||
t.Fatalf("expected non-owner delete to be forbidden, got %v", err)
|
||||
@@ -620,6 +629,13 @@ func TestCoreServiceDeletesServerInstancesWithPasswordConfirmation(t *testing.T)
|
||||
if deletedAdmin.State != domain.ServerInstanceStateDeleted {
|
||||
t.Fatalf("expected deleted admin state, got %+v", deletedAdmin)
|
||||
}
|
||||
deletedDraft, err := svc.DeleteServerInstanceForSession(ownerSession, draftTarget.ID, domain.ServerDeletionRequest{Password: "secret-password"})
|
||||
if err != nil {
|
||||
t.Fatalf("delete draft target without run endpoint: %v", err)
|
||||
}
|
||||
if deletedDraft.State != domain.ServerInstanceStateDeleted || deletedDraft.RunEndpointID != "" {
|
||||
t.Fatalf("expected deleted draft target without run endpoint, got %+v", deletedDraft)
|
||||
}
|
||||
if _, err := svc.DeleteServerInstanceForSession(ownerSession, runningTarget.ID, domain.ServerDeletionRequest{Password: "secret-password"}); err == nil {
|
||||
t.Fatalf("expected running instance delete to fail")
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user