@@ -2190,6 +2190,37 @@ func TestInsertWorkspaceResource(t *testing.T) {
2190
2190
require .Equal (t , int32 (50 ), volMonitors [1 ].Threshold )
2191
2191
require .Equal (t , "/volume2" , volMonitors [1 ].Path )
2192
2192
})
2193
+
2194
+ t .Run ("Devcontainers" , func (t * testing.T ) {
2195
+ t .Parallel ()
2196
+ db := dbmem .New ()
2197
+ job := uuid .New ()
2198
+ err := insert (db , job , & sdkproto.Resource {
2199
+ Name : "something" ,
2200
+ Type : "aws_instance" ,
2201
+ Agents : []* sdkproto.Agent {{
2202
+ Name : "dev" ,
2203
+ Devcontainers : []* sdkproto.Devcontainer {
2204
+ {WorkspaceFolder : "/workspace1" },
2205
+ {WorkspaceFolder : "/workspace2" , ConfigPath : "/workspace2/.devcontainer/devcontainer.json" },
2206
+ },
2207
+ }},
2208
+ })
2209
+ require .NoError (t , err )
2210
+ resources , err := db .GetWorkspaceResourcesByJobID (ctx , job )
2211
+ require .NoError (t , err )
2212
+ require .Len (t , resources , 1 )
2213
+ agents , err := db .GetWorkspaceAgentsByResourceIDs (ctx , []uuid.UUID {resources [0 ].ID })
2214
+ require .NoError (t , err )
2215
+ require .Len (t , agents , 1 )
2216
+ agent := agents [0 ]
2217
+ devcontainers , err := db .GetWorkspaceAgentDevcontainersByWorkspaceAgentID (ctx , agent .ID )
2218
+ require .NoError (t , err )
2219
+ require .Len (t , devcontainers , 2 )
2220
+ require .Equal (t , "/workspace1" , devcontainers [0 ].WorkspaceFolder )
2221
+ require .Equal (t , "/workspace2" , devcontainers [1 ].WorkspaceFolder )
2222
+ require .Equal (t , "/workspace2/.devcontainer/devcontainer.json" , devcontainers [1 ].ConfigPath )
2223
+ })
2193
2224
}
2194
2225
2195
2226
func TestNotifications (t * testing.T ) {
0 commit comments