@@ -612,7 +612,7 @@ func TestGetWorkspaceAgentUsageStatsAndLabels(t *testing.T) {
612
612
})
613
613
}
614
614
615
- func TestGetWorkspaceAndAgents (t * testing.T ) {
615
+ func TestGetWorkspacesAndAgents (t * testing.T ) {
616
616
t .Parallel ()
617
617
if testing .Short () {
618
618
t .SkipNow ()
@@ -641,9 +641,12 @@ func TestGetWorkspaceAndAgents(t *testing.T) {
641
641
CreateAgent : true ,
642
642
})
643
643
succeeded := createTemplateVersion (t , db , tpl , tvArgs {
644
- Status : database .ProvisionerJobStatusSucceeded ,
645
- CreateWorkspace : true ,
646
- CreateAgent : true ,
644
+ Status : database .ProvisionerJobStatusSucceeded ,
645
+ WorkspaceTransition : database .WorkspaceTransitionStart ,
646
+ CreateWorkspace : true ,
647
+ CreateAgent : true ,
648
+ ExtraAgents : 1 ,
649
+ ExtraBuilds : 2 ,
647
650
})
648
651
deleted := createTemplateVersion (t , db , tpl , tvArgs {
649
652
Status : database .ProvisionerJobStatusSucceeded ,
@@ -666,8 +669,9 @@ func TestGetWorkspaceAndAgents(t *testing.T) {
666
669
require .Len (t , row .AgentIds , 1 )
667
670
require .Equal (t , database .ProvisionerJobStatusFailed , row .JobStatus )
668
671
case succeeded .ID :
669
- require .Len (t , row .AgentIds , 1 )
672
+ require .Len (t , row .AgentIds , 2 )
670
673
require .Equal (t , database .ProvisionerJobStatusSucceeded , row .JobStatus )
674
+ require .Equal (t , database .WorkspaceTransitionStart , row .Transition )
671
675
case deleted .ID :
672
676
require .Len (t , row .AgentIds , 0 )
673
677
require .Equal (t , database .ProvisionerJobStatusSucceeded , row .JobStatus )
@@ -1603,6 +1607,8 @@ type tvArgs struct {
1603
1607
CreateWorkspace bool
1604
1608
CreateAgent bool
1605
1609
WorkspaceTransition database.WorkspaceTransition
1610
+ ExtraAgents int
1611
+ ExtraBuilds int
1606
1612
}
1607
1613
1608
1614
// createTemplateVersion is a helper function to create a version with its dependencies.
@@ -1673,26 +1679,51 @@ func createTemplateVersion(t testing.TB, db database.Store, tpl database.Templat
1673
1679
trans = args .WorkspaceTransition
1674
1680
}
1675
1681
1676
- buildJob := dbgen .ProvisionerJob (t , db , nil , database.ProvisionerJob {
1682
+ latestJob := dbgen .ProvisionerJob (t , db , nil , database.ProvisionerJob {
1677
1683
Type : database .ProvisionerJobTypeWorkspaceBuild ,
1678
1684
CompletedAt : now ,
1679
1685
InitiatorID : tpl .CreatedBy ,
1680
1686
OrganizationID : tpl .OrganizationID ,
1681
1687
})
1682
- resource := dbgen .WorkspaceResource (t , db , database.WorkspaceResource {
1683
- JobID : buildJob .ID ,
1688
+ latestResource := dbgen .WorkspaceResource (t , db , database.WorkspaceResource {
1689
+ JobID : latestJob .ID ,
1684
1690
})
1685
1691
dbgen .WorkspaceBuild (t , db , database.WorkspaceBuild {
1686
1692
WorkspaceID : wrk .ID ,
1687
1693
TemplateVersionID : version .ID ,
1688
1694
BuildNumber : 1 ,
1689
1695
Transition : trans ,
1690
1696
InitiatorID : tpl .CreatedBy ,
1691
- JobID : buildJob .ID ,
1692
- })
1697
+ JobID : latestJob .ID ,
1698
+ })
1699
+ for i := 0 ; i < args .ExtraBuilds ; i ++ {
1700
+ latestJob = dbgen .ProvisionerJob (t , db , nil , database.ProvisionerJob {
1701
+ Type : database .ProvisionerJobTypeWorkspaceBuild ,
1702
+ CompletedAt : now ,
1703
+ InitiatorID : tpl .CreatedBy ,
1704
+ OrganizationID : tpl .OrganizationID ,
1705
+ })
1706
+ latestResource = dbgen .WorkspaceResource (t , db , database.WorkspaceResource {
1707
+ JobID : latestJob .ID ,
1708
+ })
1709
+ dbgen .WorkspaceBuild (t , db , database.WorkspaceBuild {
1710
+ WorkspaceID : wrk .ID ,
1711
+ TemplateVersionID : version .ID ,
1712
+ BuildNumber : int32 (i ) + 2 ,
1713
+ Transition : trans ,
1714
+ InitiatorID : tpl .CreatedBy ,
1715
+ JobID : latestJob .ID ,
1716
+ })
1717
+ }
1718
+
1693
1719
if args .CreateAgent {
1694
1720
dbgen .WorkspaceAgent (t , db , database.WorkspaceAgent {
1695
- ResourceID : resource .ID ,
1721
+ ResourceID : latestResource .ID ,
1722
+ })
1723
+ }
1724
+ for i := 0 ; i < args .ExtraAgents ; i ++ {
1725
+ dbgen .WorkspaceAgent (t , db , database.WorkspaceAgent {
1726
+ ResourceID : latestResource .ID ,
1696
1727
})
1697
1728
}
1698
1729
}
0 commit comments