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

Commitb0d9fb6

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

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)),
@@ -745,6 +759,45 @@ func TestProvision(t *testing.T) {
745759
}},
746760
},
747761
},
762+
{
763+
Name:"returns-modules",
764+
Files:map[string]string{
765+
"main.tf":`module "hello" {
766+
source = "./module"
767+
}`,
768+
"module/module.tf":`
769+
resource "null_resource" "example" {}
770+
771+
module "there" {
772+
source = "./inner_module"
773+
}
774+
`,
775+
"module/inner_module/inner_module.tf":`
776+
resource "null_resource" "inner_example" {}
777+
`,
778+
},
779+
Request:&proto.PlanRequest{},
780+
Response:&proto.PlanComplete{
781+
Resources: []*proto.Resource{{
782+
Name:"example",
783+
Type:"null_resource",
784+
ModulePath:"module.hello",
785+
}, {
786+
Name:"inner_example",
787+
Type:"null_resource",
788+
ModulePath:"module.hello.module.there",
789+
}},
790+
Modules: []*proto.Module{{
791+
Key:"hello",
792+
Version:"",
793+
Source:"./module",
794+
}, {
795+
Key:"hello.there",
796+
Version:"",
797+
Source:"./inner_module",
798+
}},
799+
},
800+
},
748801
}
749802

750803
for_,testCase:=rangetestCases {
@@ -799,7 +852,7 @@ func TestProvision(t *testing.T) {
799852
iftestCase.Response!=nil {
800853
require.Equal(t,testCase.Response.Error,planComplete.Error)
801854

802-
// Remove randomly generated data.
855+
// Remove randomly generated data and sort by name.
803856
normalizeResources(planComplete.Resources)
804857
resourcesGot,err:=json.Marshal(planComplete.Resources)
805858
require.NoError(t,err)
@@ -812,6 +865,12 @@ func TestProvision(t *testing.T) {
812865
parametersWant,err:=json.Marshal(testCase.Response.Parameters)
813866
require.NoError(t,err)
814867
require.Equal(t,string(parametersWant),string(parametersGot))
868+
869+
modulesGot,err:=json.Marshal(planComplete.Modules)
870+
require.NoError(t,err)
871+
modulesWant,err:=json.Marshal(testCase.Response.Modules)
872+
require.NoError(t,err)
873+
require.Equal(t,string(modulesWant),string(modulesGot))
815874
}
816875

817876
iftestCase.Apply {
@@ -852,6 +911,9 @@ func normalizeResources(resources []*proto.Resource) {
852911
agent.Auth=&proto.Agent_Token{}
853912
}
854913
}
914+
sort.Slice(resources,func(i,jint)bool {
915+
returnresources[i].Name<resources[j].Name
916+
})
855917
}
856918

857919
// 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