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