|
3 | 3 | package terraform_test
|
4 | 4 |
|
5 | 5 | import (
|
6 |
| - "archive/tar" |
7 |
| - "bytes" |
8 | 6 | "context"
|
9 | 7 | "encoding/json"
|
10 | 8 | "errors"
|
@@ -79,39 +77,6 @@ func setupProvisioner(t *testing.T, opts *provisionerServeOptions) (context.Cont
|
79 | 77 | return ctx, api
|
80 | 78 | }
|
81 | 79 |
|
82 |
| -func makeTar(t *testing.T, files map[string]string) []byte { |
83 |
| - t.Helper() |
84 |
| - var buffer bytes.Buffer |
85 |
| - writer := tar.NewWriter(&buffer) |
86 |
| - |
87 |
| - addedDirs := make(map[string]bool) |
88 |
| - for name, content := range files { |
89 |
| - // Add parent directories if they don't exist |
90 |
| - dir := filepath.Dir(name) |
91 |
| - if dir != "." && !addedDirs[dir] { |
92 |
| - err := writer.WriteHeader(&tar.Header{ |
93 |
| - Name: dir + "/", // Directory names must end with / |
94 |
| - Mode: 0o755, |
95 |
| - Typeflag: tar.TypeDir, |
96 |
| - }) |
97 |
| - require.NoError(t, err) |
98 |
| - addedDirs[dir] = true |
99 |
| - } |
100 |
| - |
101 |
| - err := writer.WriteHeader(&tar.Header{ |
102 |
| - Name: name, |
103 |
| - Size: int64(len(content)), |
104 |
| - Mode: 0o644, |
105 |
| - }) |
106 |
| - require.NoError(t, err) |
107 |
| - _, err = writer.Write([]byte(content)) |
108 |
| - require.NoError(t, err) |
109 |
| - } |
110 |
| - err := writer.Flush() |
111 |
| - require.NoError(t, err) |
112 |
| - return buffer.Bytes() |
113 |
| -} |
114 |
| - |
115 | 80 | func configure(ctx context.Context, t *testing.T, client proto.DRPCProvisionerClient, config *proto.Config) proto.DRPCProvisioner_SessionClient {
|
116 | 81 | t.Helper()
|
117 | 82 | sess, err := client.Session(ctx)
|
@@ -998,7 +963,7 @@ func TestProvision_MalformedModules(t *testing.T) {
|
998 | 963 |
|
999 | 964 | ctx, api := setupProvisioner(t, nil)
|
1000 | 965 | sess := configure(ctx, t, api, &proto.Config{
|
1001 |
| - TemplateSourceArchive: makeTar(t, map[string]string{ |
| 966 | + TemplateSourceArchive: testutil.CreateTar(t, map[string]string{ |
1002 | 967 | "main.tf": `module "hello" { source = "./module" }`,
|
1003 | 968 | "module/module.tf": `resource "null_`,
|
1004 | 969 | }),
|
|
0 commit comments