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

Commit67795fc

Browse files
committed
add a test for returning modules in provision_test.go, fix test in resources_test.go
1 parentb178718 commit67795fc

File tree

2 files changed

+64
-1
lines changed

2 files changed

+64
-1
lines changed

‎provisioner/terraform/provision_test.go

Lines changed: 63 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,21 @@ func makeTar(t *testing.T, files map[string]string) []byte {
8282
t.Helper()
8383
varbuffer bytes.Buffer
8484
writer:=tar.NewWriter(&buffer)
85+
86+
addedDirs:=make(map[string]bool)
8587
forname,content:=rangefiles {
88+
// Add parent directories if they don't exist
89+
dir:=filepath.Dir(name)
90+
ifdir!="."&&!addedDirs[dir] {
91+
err:=writer.WriteHeader(&tar.Header{
92+
Name:dir+"/",// Directory names must end with /
93+
Mode:0o755,
94+
Typeflag:tar.TypeDir,
95+
})
96+
require.NoError(t,err)
97+
addedDirs[dir]=true
98+
}
99+
86100
err:=writer.WriteHeader(&tar.Header{
87101
Name:name,
88102
Size:int64(len(content)),
@@ -703,6 +717,45 @@ func TestProvision(t *testing.T) {
703717
}},
704718
},
705719
},
720+
{
721+
Name:"returns-modules",
722+
Files:map[string]string{
723+
"main.tf":`module "hello" {
724+
source = "./module"
725+
}`,
726+
"module/module.tf":`
727+
resource "null_resource" "example" {}
728+
729+
module "there" {
730+
source = "./inner_module"
731+
}
732+
`,
733+
"module/inner_module/inner_module.tf":`
734+
resource "null_resource" "inner_example" {}
735+
`,
736+
},
737+
Request:&proto.PlanRequest{},
738+
Response:&proto.PlanComplete{
739+
Resources: []*proto.Resource{{
740+
Name:"example",
741+
Type:"null_resource",
742+
ModulePath:"module.hello",
743+
}, {
744+
Name:"inner_example",
745+
Type:"null_resource",
746+
ModulePath:"module.hello.module.there",
747+
}},
748+
Modules: []*proto.Module{{
749+
Key:"hello",
750+
Version:"",
751+
Source:"./module",
752+
}, {
753+
Key:"hello.there",
754+
Version:"",
755+
Source:"./inner_module",
756+
}},
757+
},
758+
},
706759
}
707760

708761
for_,testCase:=rangetestCases {
@@ -753,7 +806,7 @@ func TestProvision(t *testing.T) {
753806
iftestCase.Response!=nil {
754807
require.Equal(t,testCase.Response.Error,planComplete.Error)
755808

756-
// Remove randomly generated data.
809+
// Remove randomly generated data and sort by name.
757810
normalizeResources(planComplete.Resources)
758811
resourcesGot,err:=json.Marshal(planComplete.Resources)
759812
require.NoError(t,err)
@@ -766,6 +819,12 @@ func TestProvision(t *testing.T) {
766819
parametersWant,err:=json.Marshal(testCase.Response.Parameters)
767820
require.NoError(t,err)
768821
require.Equal(t,string(parametersWant),string(parametersGot))
822+
823+
modulesGot,err:=json.Marshal(planComplete.Modules)
824+
require.NoError(t,err)
825+
modulesWant,err:=json.Marshal(testCase.Response.Modules)
826+
require.NoError(t,err)
827+
require.Equal(t,string(modulesWant),string(modulesGot))
769828
}
770829

771830
iftestCase.Apply {
@@ -806,6 +865,9 @@ func normalizeResources(resources []*proto.Resource) {
806865
agent.Auth=&proto.Agent_Token{}
807866
}
808867
}
868+
sort.Slice(resources,func(i,jint)bool {
869+
returnresources[i].Name<resources[j].Name
870+
})
809871
}
810872

811873
// nolint:paralleltest

‎provisioner/terraform/resources_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ func TestConvertResources(t *testing.T) {
109109
ConnectionTimeoutSeconds:120,
110110
DisplayApps:&displayApps,
111111
}},
112+
ModulePath:"module.module",
112113
}},
113114
},
114115
// Ensures the attachment of multiple agents to a single

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp