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

Commitdf65b92

Browse files
committed
use options pattern for provisioner version override
1 parentef15df1 commitdf65b92

File tree

6 files changed

+29
-12
lines changed

6 files changed

+29
-12
lines changed

‎cli/provisionerjobs_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func TestProvisionerJobs(t *testing.T) {
3737
memberClient,member:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
3838

3939
// Create initial resources with a running provisioner.
40-
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner","",map[string]string{"owner":"","scope":"organization"})
40+
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner",map[string]string{"owner":"","scope":"organization"})
4141
t.Cleanup(func() {_=firstProvisioner.Close() })
4242
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,completeWithAgent())
4343
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)

‎cli/provisioners_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ func TestProvisioners_Golden(t *testing.T) {
7474
_,member:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
7575

7676
// Create initial resources with a running provisioner.
77-
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner","",map[string]string{"owner":"","scope":"organization"})
77+
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner",map[string]string{"owner":"","scope":"organization"})
7878
t.Cleanup(func() {_=firstProvisioner.Close() })
7979
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,completeWithAgent())
8080
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)

‎cli/templatepush_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ func TestTemplatePush(t *testing.T) {
585585
deferprovisionerDocker.Close()
586586

587587
// Start the second provisioner
588-
provisionerFoobar:=coderdtest.NewTaggedProvisionerDaemon(t,api,"provisioner-foobar","",map[string]string{
588+
provisionerFoobar:=coderdtest.NewTaggedProvisionerDaemon(t,api,"provisioner-foobar",map[string]string{
589589
"foobar":"foobaz",
590590
})
591591
deferprovisionerFoobar.Close()

‎coderd/coderd.go

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1720,13 +1720,30 @@ func compressHandler(h http.Handler) http.Handler {
17201720
returncmp.Handler(h)
17211721
}
17221722

1723+
typeMemoryProvisionerDaemonOptionfunc(*memoryProvisionerDaemonOptions)
1724+
1725+
funcMemoryProvisionerWithVersionOverride(versionstring)MemoryProvisionerDaemonOption {
1726+
returnfunc(opts*memoryProvisionerDaemonOptions) {
1727+
opts.versionOverride=version
1728+
}
1729+
}
1730+
1731+
typememoryProvisionerDaemonOptionsstruct {
1732+
versionOverridestring
1733+
}
1734+
17231735
// CreateInMemoryProvisionerDaemon is an in-memory connection to a provisionerd.
17241736
// Useful when starting coderd and provisionerd in the same process.
17251737
func (api*API)CreateInMemoryProvisionerDaemon(dialCtx context.Context,namestring,provisionerTypes []codersdk.ProvisionerType) (client proto.DRPCProvisionerDaemonClient,errerror) {
1726-
returnapi.CreateInMemoryTaggedProvisionerDaemon(dialCtx,name,"",provisionerTypes,nil)
1738+
returnapi.CreateInMemoryTaggedProvisionerDaemon(dialCtx,name,provisionerTypes,nil)
17271739
}
17281740

1729-
func (api*API)CreateInMemoryTaggedProvisionerDaemon(dialCtx context.Context,namestring,versionOverridestring,provisionerTypes []codersdk.ProvisionerType,provisionerTagsmap[string]string) (client proto.DRPCProvisionerDaemonClient,errerror) {
1741+
func (api*API)CreateInMemoryTaggedProvisionerDaemon(dialCtx context.Context,namestring,provisionerTypes []codersdk.ProvisionerType,provisionerTagsmap[string]string,opts...MemoryProvisionerDaemonOption) (client proto.DRPCProvisionerDaemonClient,errerror) {
1742+
options:=&memoryProvisionerDaemonOptions{}
1743+
for_,opt:=rangeopts {
1744+
opt(options)
1745+
}
1746+
17301747
tracer:=api.TracerProvider.Tracer(tracing.TracerName)
17311748
clientSession,serverSession:=drpcsdk.MemTransportPipe()
17321749
deferfunc() {
@@ -1754,9 +1771,9 @@ func (api *API) CreateInMemoryTaggedProvisionerDaemon(dialCtx context.Context, n
17541771
}
17551772

17561773
apiVersion:=proto.CurrentVersion.String()
1757-
ifversionOverride!=""&&flag.Lookup("test.v")!=nil {
1774+
ifoptions.versionOverride!=""&&flag.Lookup("test.v")!=nil {
17581775
// This should only be usable for unit testing. To fake a different provisioner version
1759-
apiVersion=versionOverride
1776+
apiVersion=options.versionOverride
17601777
}
17611778

17621779
//nolint:gocritic // in-memory provisioners are owned by system

‎coderd/coderdtest/coderdtest.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ func NewWithAPI(t testing.TB, options *Options) (*codersdk.Client, io.Closer, *c
602602
setHandler(rootHandler)
603603
varprovisionerCloser io.Closer=nopcloser{}
604604
ifoptions.IncludeProvisionerDaemon {
605-
provisionerCloser=NewTaggedProvisionerDaemon(t,coderAPI,"test",options.ProvisionerDaemonVersion,options.ProvisionerDaemonTags)
605+
provisionerCloser=NewTaggedProvisionerDaemon(t,coderAPI,"test",options.ProvisionerDaemonTags,coderd.MemoryProvisionerWithVersionOverride(options.ProvisionerDaemonVersion))
606606
}
607607
client:=codersdk.New(serverURL)
608608
t.Cleanup(func() {
@@ -646,10 +646,10 @@ func (c *ProvisionerdCloser) Close() error {
646646
// well with coderd testing. It registers the "echo" provisioner for
647647
// quick testing.
648648
funcNewProvisionerDaemon(t testing.TB,coderAPI*coderd.API) io.Closer {
649-
returnNewTaggedProvisionerDaemon(t,coderAPI,"test","",nil)
649+
returnNewTaggedProvisionerDaemon(t,coderAPI,"test",nil)
650650
}
651651

652-
funcNewTaggedProvisionerDaemon(t testing.TB,coderAPI*coderd.API,namestring,versionOverridestring,provisionerTagsmap[string]string) io.Closer {
652+
funcNewTaggedProvisionerDaemon(t testing.TB,coderAPI*coderd.API,namestring,provisionerTagsmap[string]string,opts...coderd.MemoryProvisionerDaemonOption) io.Closer {
653653
t.Helper()
654654

655655
// t.Cleanup runs in last added, first called order. t.TempDir() will delete
@@ -677,7 +677,7 @@ func NewTaggedProvisionerDaemon(t testing.TB, coderAPI *coderd.API, name string,
677677

678678
connectedCh:=make(chanstruct{})
679679
daemon:=provisionerd.New(func(dialCtx context.Context) (provisionerdproto.DRPCProvisionerDaemonClient,error) {
680-
returncoderAPI.CreateInMemoryTaggedProvisionerDaemon(dialCtx,name,versionOverride,[]codersdk.ProvisionerType{codersdk.ProvisionerTypeEcho},provisionerTags)
680+
returncoderAPI.CreateInMemoryTaggedProvisionerDaemon(dialCtx,name, []codersdk.ProvisionerType{codersdk.ProvisionerTypeEcho},provisionerTags,opts...)
681681
},&provisionerd.Options{
682682
Logger:coderAPI.Logger.Named("provisionerd").Leveled(slog.LevelDebug),
683683
UpdateInterval:250*time.Millisecond,

‎coderd/provisionerdaemons_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func TestProvisionerDaemons(t *testing.T) {
3838
memberClient,member:=coderdtest.CreateAnotherUser(t,client,owner.OrganizationID)
3939

4040
// Create initial resources with a running provisioner.
41-
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner","",map[string]string{"owner":"","scope":"organization"})
41+
firstProvisioner:=coderdtest.NewTaggedProvisionerDaemon(t,coderdAPI,"default-provisioner",map[string]string{"owner":"","scope":"organization"})
4242
t.Cleanup(func() {_=firstProvisioner.Close() })
4343
version:=coderdtest.CreateTemplateVersion(t,client,owner.OrganizationID,nil)
4444
coderdtest.AwaitTemplateVersionJobCompleted(t,client,version.ID)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp