Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit848338e

Browse files
committed
add test for cli/delete
1 parent2f625bc commit848338e

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

‎cli/delete_test.go‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ import (
1212
"github.com/coder/coder/v2/cli/clitest"
1313
"github.com/coder/coder/v2/coderd/coderdtest"
1414
"github.com/coder/coder/v2/coderd/database/dbauthz"
15+
"github.com/coder/coder/v2/coderd/database/dbtestutil"
16+
"github.com/coder/coder/v2/coderd/rbac"
1517
"github.com/coder/coder/v2/codersdk"
1618
"github.com/coder/coder/v2/pty/ptytest"
1719
"github.com/coder/coder/v2/testutil"
@@ -164,4 +166,46 @@ func TestDelete(t *testing.T) {
164166
}()
165167
<-doneChan
166168
})
169+
170+
t.Run("WarnNoProvisioners",func(t*testing.T) {
171+
t.Parallel()
172+
if!dbtestutil.WillUsePostgres() {
173+
t.Skip("this test requires postgres")
174+
}
175+
176+
store,ps,db:=dbtestutil.NewDBWithSQLDB(t)
177+
client,closeDaemon:=coderdtest.NewWithProvisionerCloser(t,&coderdtest.Options{
178+
Database:store,
179+
Pubsub:ps,
180+
IncludeProvisionerDaemon:true,
181+
})
182+
183+
// Given: a user, template, and workspace
184+
user:=coderdtest.CreateFirstUser(t,client)
185+
templateAdmin,_:=coderdtest.CreateAnotherUser(t,client,user.OrganizationID,rbac.RoleTemplateAdmin())
186+
version:=coderdtest.CreateTemplateVersion(t,templateAdmin,user.OrganizationID,nil)
187+
template:=coderdtest.CreateTemplate(t,templateAdmin,user.OrganizationID,version.ID)
188+
workspace:=coderdtest.CreateWorkspace(t,templateAdmin,template.ID)
189+
coderdtest.AwaitWorkspaceBuildJobCompleted(t,templateAdmin,workspace.LatestBuild.ID)
190+
191+
// When: all provisioner daemons disappear
192+
require.NoError(t,closeDaemon.Close())
193+
_,err:=db.Exec("DELETE FROM provisioner_daemons;")
194+
require.NoError(t,err)
195+
196+
// Then: the workspace deletion should warn about no provisioners
197+
inv,root:=clitest.New(t,"delete",workspace.Name,"-y")
198+
pty:=ptytest.New(t).Attach(inv)
199+
clitest.SetupConfig(t,templateAdmin,root)
200+
doneChan:=make(chanstruct{})
201+
ctx,cancel:=context.WithTimeout(context.Background(),testutil.WaitLong)
202+
defercancel()
203+
gofunc() {
204+
deferclose(doneChan)
205+
_=inv.WithContext(ctx).Run()
206+
}()
207+
pty.ExpectMatch("there are no provisioners that accept the required tags")
208+
cancel()
209+
<-doneChan
210+
})
167211
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp