@@ -1397,14 +1397,15 @@ func TestWorkspaceAgentRecreateDevcontainer(t *testing.T) {
1397
1397
agentcontainers .DevcontainerConfigFileLabel :configFile ,
1398
1398
}
1399
1399
devContainer = codersdk.WorkspaceAgentContainer {
1400
- ID :uuid .NewString (),
1401
- CreatedAt :dbtime .Now (),
1402
- FriendlyName :testutil .GetRandomName (t ),
1403
- Image :"busybox:latest" ,
1404
- Labels :dcLabels ,
1405
- Running :true ,
1406
- Status :"running" ,
1407
- DevcontainerDirty :true ,
1400
+ ID :uuid .NewString (),
1401
+ CreatedAt :dbtime .Now (),
1402
+ FriendlyName :testutil .GetRandomName (t ),
1403
+ Image :"busybox:latest" ,
1404
+ Labels :dcLabels ,
1405
+ Running :true ,
1406
+ Status :"running" ,
1407
+ DevcontainerDirty :true ,
1408
+ DevcontainerStatus :codersdk .WorkspaceAgentDevcontainerStatusRunning ,
1408
1409
}
1409
1410
plainContainer = codersdk.WorkspaceAgentContainer {
1410
1411
ID :uuid .NewString (),
@@ -1419,14 +1420,15 @@ func TestWorkspaceAgentRecreateDevcontainer(t *testing.T) {
1419
1420
1420
1421
for _ ,tc := range []struct {
1421
1422
name string
1422
- setupMock func (* acmock.MockContainerCLI ,* acmock.MockDevcontainerCLI ) (status int )
1423
+ setupMock func (mcl * acmock.MockContainerCLI ,mdccli * acmock.MockDevcontainerCLI ) (status int )
1423
1424
}{
1424
1425
{
1425
1426
name :"Recreate" ,
1426
1427
setupMock :func (mcl * acmock.MockContainerCLI ,mdccli * acmock.MockDevcontainerCLI )int {
1427
1428
mcl .EXPECT ().List (gomock .Any ()).Return (codersdk.WorkspaceAgentListContainersResponse {
1428
1429
Containers : []codersdk.WorkspaceAgentContainer {devContainer },
1429
1430
},nil ).AnyTimes ()
1431
+ mcl .EXPECT ().DetectArchitecture (gomock .Any (),devContainer .ID ).Return ("<none>" ,nil ).AnyTimes ()// Prevent agent injection via incompatible architecture.
1430
1432
mdccli .EXPECT ().Up (gomock .Any (),workspaceFolder ,configFile ,gomock .Any ()).Return ("someid" ,nil ).Times (1 )
1431
1433
return 0
1432
1434
},
@@ -1452,9 +1454,9 @@ func TestWorkspaceAgentRecreateDevcontainer(t *testing.T) {
1452
1454
t .Parallel ()
1453
1455
1454
1456
ctrl := gomock .NewController (t )
1455
- mcl := acmock .NewMockContainerCLI (ctrl )
1457
+ mccli := acmock .NewMockContainerCLI (ctrl )
1456
1458
mdccli := acmock .NewMockDevcontainerCLI (ctrl )
1457
- wantStatus := tc .setupMock (mcl ,mdccli )
1459
+ wantStatus := tc .setupMock (mccli ,mdccli )
1458
1460
logger := slogtest .Make (t ,& slogtest.Options {IgnoreErrors :true }).Leveled (slog .LevelDebug )
1459
1461
client ,db := coderdtest .NewWithDatabase (t ,& coderdtest.Options {
1460
1462
Logger :& logger ,
@@ -1471,7 +1473,7 @@ func TestWorkspaceAgentRecreateDevcontainer(t *testing.T) {
1471
1473
o .ExperimentalDevcontainersEnabled = true
1472
1474
o .ContainerAPIOptions = append (
1473
1475
o .ContainerAPIOptions ,
1474
- agentcontainers .WithContainerCLI (mcl ),
1476
+ agentcontainers .WithContainerCLI (mccli ),
1475
1477
agentcontainers .WithDevcontainerCLI (mdccli ),
1476
1478
agentcontainers .WithWatcher (watcher .NewNoop ()),
1477
1479
)