@@ -20,15 +20,54 @@ import (
20
20
21
21
func TestWorkspace (t * testing.T ) {
22
22
t .Parallel ()
23
- client := coderdtest .New (t , nil )
24
- user := coderdtest .CreateFirstUser (t , client )
25
- coderdtest .NewProvisionerDaemon (t , client )
26
- version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
27
- coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
28
- template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
29
- workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
30
- _ , err := client .Workspace (context .Background (), workspace .ID )
31
- require .NoError (t , err )
23
+
24
+ t .Run ("OK" , func (t * testing.T ) {
25
+ t .Parallel ()
26
+ client := coderdtest .New (t , nil )
27
+ user := coderdtest .CreateFirstUser (t , client )
28
+ coderdtest .NewProvisionerDaemon (t , client )
29
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
30
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
31
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
32
+ workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
33
+
34
+ _ , err := client .Workspace (context .Background (), workspace .ID )
35
+ require .NoError (t , err )
36
+ })
37
+
38
+ t .Run ("Deleted" , func (t * testing.T ) {
39
+ t .Parallel ()
40
+ client := coderdtest .New (t , nil )
41
+ user := coderdtest .CreateFirstUser (t , client )
42
+ coderdtest .NewProvisionerDaemon (t , client )
43
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
44
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
45
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
46
+ workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID )
47
+ coderdtest .AwaitWorkspaceBuildJob (t , client , workspace .LatestBuild .ID )
48
+
49
+ // Getting with deleted=true should fail.
50
+ _ , err := client .DeletedWorkspace (context .Background (), workspace .ID )
51
+ require .Error (t , err )
52
+ require .ErrorContains (t , err , "400" ) // bad request
53
+
54
+ // Delete the workspace
55
+ build , err := client .CreateWorkspaceBuild (context .Background (), workspace .ID , codersdk.CreateWorkspaceBuildRequest {
56
+ Transition : database .WorkspaceTransitionDelete ,
57
+ })
58
+ require .NoError (t , err , "delete the workspace" )
59
+ coderdtest .AwaitWorkspaceBuildJob (t , client , build .ID )
60
+
61
+ // Getting with deleted=true should work.
62
+ workspaceNew , err := client .DeletedWorkspace (context .Background (), workspace .ID )
63
+ require .NoError (t , err )
64
+ require .Equal (t , workspace .ID , workspaceNew .ID )
65
+
66
+ // Getting with deleted=false should not work.
67
+ _ , err = client .Workspace (context .Background (), workspace .ID )
68
+ require .Error (t , err )
69
+ require .ErrorContains (t , err , "410" ) // gone
70
+ })
32
71
}
33
72
34
73
func TestPostWorkspacesByOrganization (t * testing.T ) {
0 commit comments