@@ -1432,6 +1432,9 @@ func TestCompleteJob(t *testing.T) {
1432
1432
t .Run ("Modules" , func (t * testing.T ) {
1433
1433
t .Parallel ()
1434
1434
1435
+ templateVersionID := uuid .New ()
1436
+ workspaceBuildID := uuid .New ()
1437
+
1435
1438
cases := []struct {
1436
1439
name string
1437
1440
job * proto.CompletedJob
@@ -1525,7 +1528,7 @@ func TestCompleteJob(t *testing.T) {
1525
1528
provisionerJobParams : database.InsertProvisionerJobParams {
1526
1529
Type : database .ProvisionerJobTypeTemplateVersionImport ,
1527
1530
Input : must (json .Marshal (provisionerdserver.TemplateVersionImportJob {
1528
- TemplateVersionID : uuid . New () ,
1531
+ TemplateVersionID : templateVersionID ,
1529
1532
})),
1530
1533
},
1531
1534
expectedResources : []database.WorkspaceResource {{
@@ -1557,6 +1560,60 @@ func TestCompleteJob(t *testing.T) {
1557
1560
Transition : database .WorkspaceTransitionStop ,
1558
1561
}},
1559
1562
},
1563
+ {
1564
+ name : "WorkspaceBuild" ,
1565
+ job : & proto.CompletedJob {
1566
+ Type : & proto.CompletedJob_WorkspaceBuild_ {
1567
+ WorkspaceBuild : & proto.CompletedJob_WorkspaceBuild {
1568
+ Resources : []* sdkproto.Resource {{
1569
+ Name : "something" ,
1570
+ Type : "aws_instance" ,
1571
+ ModulePath : "module.test1" ,
1572
+ }, {
1573
+ Name : "something2" ,
1574
+ Type : "aws_instance" ,
1575
+ ModulePath : "" ,
1576
+ }},
1577
+ Modules : []* sdkproto.Module {
1578
+ {
1579
+ Key : "test1" ,
1580
+ Version : "1.0.0" ,
1581
+ Source : "github.com/example/example" ,
1582
+ },
1583
+ },
1584
+ },
1585
+ },
1586
+ },
1587
+ expectedResources : []database.WorkspaceResource {{
1588
+ Name : "something" ,
1589
+ Type : "aws_instance" ,
1590
+ ModulePath : sql.NullString {
1591
+ String : "module.test1" ,
1592
+ Valid : true ,
1593
+ },
1594
+ Transition : database .WorkspaceTransitionStart ,
1595
+ }, {
1596
+ Name : "something2" ,
1597
+ Type : "aws_instance" ,
1598
+ ModulePath : sql.NullString {
1599
+ String : "" ,
1600
+ Valid : true ,
1601
+ },
1602
+ Transition : database .WorkspaceTransitionStart ,
1603
+ }},
1604
+ expectedModules : []database.WorkspaceModule {{
1605
+ Key : "test1" ,
1606
+ Version : "1.0.0" ,
1607
+ Source : "github.com/example/example" ,
1608
+ Transition : database .WorkspaceTransitionStart ,
1609
+ }},
1610
+ provisionerJobParams : database.InsertProvisionerJobParams {
1611
+ Type : database .ProvisionerJobTypeWorkspaceBuild ,
1612
+ Input : must (json .Marshal (provisionerdserver.WorkspaceProvisionJob {
1613
+ WorkspaceBuildID : workspaceBuildID ,
1614
+ })),
1615
+ },
1616
+ },
1560
1617
}
1561
1618
1562
1619
for _ , c := range cases {
@@ -1577,13 +1634,23 @@ func TestCompleteJob(t *testing.T) {
1577
1634
jobParams .StorageMethod = database .ProvisionerStorageMethodFile
1578
1635
}
1579
1636
job , err := db .InsertProvisionerJob (ctx , jobParams )
1637
+
1580
1638
tpl := dbgen .Template (t , db , database.Template {
1581
1639
OrganizationID : pd .OrganizationID ,
1582
1640
})
1583
- _ = dbgen .TemplateVersion (t , db , database.TemplateVersion {
1641
+ tv : = dbgen .TemplateVersion (t , db , database.TemplateVersion {
1584
1642
TemplateID : uuid.NullUUID {UUID : tpl .ID , Valid : true },
1585
1643
JobID : job .ID ,
1586
1644
})
1645
+ workspace := dbgen .Workspace (t , db , database.WorkspaceTable {
1646
+ TemplateID : tpl .ID ,
1647
+ })
1648
+ _ = dbgen .WorkspaceBuild (t , db , database.WorkspaceBuild {
1649
+ ID : workspaceBuildID ,
1650
+ JobID : job .ID ,
1651
+ WorkspaceID : workspace .ID ,
1652
+ TemplateVersionID : tv .ID ,
1653
+ })
1587
1654
1588
1655
require .NoError (t , err )
1589
1656
_ , err = db .AcquireProvisionerJob (ctx , database.AcquireProvisionerJobParams {
0 commit comments