Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite1e351c

Browse files
committed
TemplateImport CompleteJob Modules test
1 parentb0f63c7 commite1e351c

File tree

1 file changed

+119
-25
lines changed

1 file changed

+119
-25
lines changed

‎coderd/provisionerdserver/provisionerdserver_test.go

Lines changed: 119 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1431,28 +1431,13 @@ func TestCompleteJob(t *testing.T) {
14311431

14321432
t.Run("Modules",func(t*testing.T) {
14331433
t.Parallel()
1434-
srv,db,_,pd:=setup(t,false,&overrides{})
1435-
job,err:=db.InsertProvisionerJob(ctx, database.InsertProvisionerJobParams{
1436-
ID:uuid.New(),
1437-
Provisioner:database.ProvisionerTypeEcho,
1438-
Type:database.ProvisionerJobTypeTemplateVersionDryRun,
1439-
StorageMethod:database.ProvisionerStorageMethodFile,
1440-
})
1441-
require.NoError(t,err)
1442-
_,err=db.AcquireProvisionerJob(ctx, database.AcquireProvisionerJobParams{
1443-
WorkerID: uuid.NullUUID{
1444-
UUID:pd.ID,
1445-
Valid:true,
1446-
},
1447-
Types: []database.ProvisionerType{database.ProvisionerTypeEcho},
1448-
})
1449-
require.NoError(t,err)
14501434

14511435
cases:= []struct {
1452-
namestring
1453-
job*proto.CompletedJob
1454-
expectedResources []database.WorkspaceResource
1455-
expectedModules []database.WorkspaceModule
1436+
namestring
1437+
job*proto.CompletedJob
1438+
expectedResources []database.WorkspaceResource
1439+
expectedModules []database.WorkspaceModule
1440+
provisionerJobParams database.InsertProvisionerJobParams
14561441
}{
14571442
{
14581443
name:"TemplateDryRun",
@@ -1485,18 +1470,91 @@ func TestCompleteJob(t *testing.T) {
14851470
String:"module.test1",
14861471
Valid:true,
14871472
},
1473+
Transition:database.WorkspaceTransitionStart,
14881474
}, {
14891475
Name:"something2",
14901476
Type:"aws_instance",
14911477
ModulePath: sql.NullString{
14921478
String:"",
14931479
Valid:true,
14941480
},
1481+
Transition:database.WorkspaceTransitionStart,
1482+
}},
1483+
expectedModules: []database.WorkspaceModule{{
1484+
Key:"test1",
1485+
Version:"1.0.0",
1486+
Source:"github.com/example/example",
1487+
Transition:database.WorkspaceTransitionStart,
1488+
}},
1489+
provisionerJobParams: database.InsertProvisionerJobParams{
1490+
Type:database.ProvisionerJobTypeTemplateVersionDryRun,
1491+
},
1492+
},
1493+
{
1494+
name:"TemplateImport",
1495+
job:&proto.CompletedJob{
1496+
Type:&proto.CompletedJob_TemplateImport_{
1497+
TemplateImport:&proto.CompletedJob_TemplateImport{
1498+
StartResources: []*sdkproto.Resource{{
1499+
Name:"something",
1500+
Type:"aws_instance",
1501+
ModulePath:"module.test1",
1502+
}},
1503+
StartModules: []*sdkproto.Module{
1504+
{
1505+
Key:"test1",
1506+
Version:"1.0.0",
1507+
Source:"github.com/example/example",
1508+
},
1509+
},
1510+
StopResources: []*sdkproto.Resource{{
1511+
Name:"something2",
1512+
Type:"aws_instance",
1513+
ModulePath:"module.test2",
1514+
}},
1515+
StopModules: []*sdkproto.Module{
1516+
{
1517+
Key:"test2",
1518+
Version:"2.0.0",
1519+
Source:"github.com/example2/example",
1520+
},
1521+
},
1522+
},
1523+
},
1524+
},
1525+
provisionerJobParams: database.InsertProvisionerJobParams{
1526+
Type:database.ProvisionerJobTypeTemplateVersionImport,
1527+
Input:must(json.Marshal(provisionerdserver.TemplateVersionImportJob{
1528+
TemplateVersionID:uuid.New(),
1529+
})),
1530+
},
1531+
expectedResources: []database.WorkspaceResource{{
1532+
Name:"something",
1533+
Type:"aws_instance",
1534+
ModulePath: sql.NullString{
1535+
String:"module.test1",
1536+
Valid:true,
1537+
},
1538+
Transition:database.WorkspaceTransitionStart,
1539+
}, {
1540+
Name:"something2",
1541+
Type:"aws_instance",
1542+
ModulePath: sql.NullString{
1543+
String:"module.test2",
1544+
Valid:true,
1545+
},
1546+
Transition:database.WorkspaceTransitionStop,
14951547
}},
14961548
expectedModules: []database.WorkspaceModule{{
1497-
Key:"test1",
1498-
Version:"1.0.0",
1499-
Source:"github.com/example/example",
1549+
Key:"test1",
1550+
Version:"1.0.0",
1551+
Source:"github.com/example/example",
1552+
Transition:database.WorkspaceTransitionStart,
1553+
}, {
1554+
Key:"test2",
1555+
Version:"2.0.0",
1556+
Source:"github.com/example2/example",
1557+
Transition:database.WorkspaceTransitionStop,
15001558
}},
15011559
},
15021560
}
@@ -1507,6 +1565,36 @@ func TestCompleteJob(t *testing.T) {
15071565
t.Run(c.name,func(t*testing.T) {
15081566
t.Parallel()
15091567

1568+
srv,db,_,pd:=setup(t,false,&overrides{})
1569+
jobParams:=c.provisionerJobParams
1570+
ifjobParams.ID==uuid.Nil {
1571+
jobParams.ID=uuid.New()
1572+
}
1573+
ifjobParams.Provisioner=="" {
1574+
jobParams.Provisioner=database.ProvisionerTypeEcho
1575+
}
1576+
ifjobParams.StorageMethod=="" {
1577+
jobParams.StorageMethod=database.ProvisionerStorageMethodFile
1578+
}
1579+
job,err:=db.InsertProvisionerJob(ctx,jobParams)
1580+
tpl:=dbgen.Template(t,db, database.Template{
1581+
OrganizationID:pd.OrganizationID,
1582+
})
1583+
_=dbgen.TemplateVersion(t,db, database.TemplateVersion{
1584+
TemplateID: uuid.NullUUID{UUID:tpl.ID,Valid:true},
1585+
JobID:job.ID,
1586+
})
1587+
1588+
require.NoError(t,err)
1589+
_,err=db.AcquireProvisionerJob(ctx, database.AcquireProvisionerJobParams{
1590+
WorkerID: uuid.NullUUID{
1591+
UUID:pd.ID,
1592+
Valid:true,
1593+
},
1594+
Types: []database.ProvisionerType{jobParams.Provisioner},
1595+
})
1596+
require.NoError(t,err)
1597+
15101598
completedJob:=c.job
15111599
completedJob.JobId=job.ID.String()
15121600

@@ -1519,7 +1607,10 @@ func TestCompleteJob(t *testing.T) {
15191607

15201608
for_,expectedResource:=rangec.expectedResources {
15211609
fori,resource:=rangeresources {
1522-
ifresource.Name==expectedResource.Name&&resource.Type==expectedResource.Type&&resource.ModulePath==expectedResource.ModulePath {
1610+
ifresource.Name==expectedResource.Name&&
1611+
resource.Type==expectedResource.Type&&
1612+
resource.ModulePath==expectedResource.ModulePath&&
1613+
resource.Transition==expectedResource.Transition {
15231614
resources[i]= database.WorkspaceResource{Name:"matched"}
15241615
}
15251616
}
@@ -1535,7 +1626,10 @@ func TestCompleteJob(t *testing.T) {
15351626

15361627
for_,expectedModule:=rangec.expectedModules {
15371628
fori,module:=rangemodules {
1538-
ifmodule.Key==expectedModule.Key&&module.Version==expectedModule.Version&&module.Source==expectedModule.Source {
1629+
ifmodule.Key==expectedModule.Key&&
1630+
module.Version==expectedModule.Version&&
1631+
module.Source==expectedModule.Source&&
1632+
module.Transition==expectedModule.Transition {
15391633
modules[i]= database.WorkspaceModule{Key:"matched"}
15401634
}
15411635
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp