Skip to content

Commit 91f7a3d

Browse files
committed
chore: Expanding lll coverage to codegen
1 parent c8b65a3 commit 91f7a3d

3 files changed

Lines changed: 58 additions & 17 deletions

File tree

.golangci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ linters:
121121
# trying to get this merged in.
122122
- linters:
123123
- lll
124-
path-except: '^(internal/awshelper/|internal/cas/|internal/cli/commands/(backend/(delete|migrate)|catalog/tui/command|dag/graph|exec|find|help|list|scaffold|stack)/|internal/cloner/|internal/configbridge/|internal/engine/|internal/errorconfig/|internal/errors/|internal/experiment/|internal/gcphelper/|internal/git/|internal/os/exec/|internal/prepare/|internal/queue/|internal/report/|internal/retry/|internal/runner/(common|graph|run/creds|runall|runcfg)/|internal/stacks/(generate|output)/|internal/telemetry/|internal/tf/cache/(controllers|middleware)/|internal/tflint/|internal/tips/|internal/vfs/|internal/worktrees/|pkg/log/(format/(options|placeholders)|writer)/|pkg/options/)'
124+
path-except: '^(internal/awshelper/|internal/cas/|internal/cli/commands/(backend/(delete|migrate)|catalog/tui/command|dag/graph|exec|find|help|list|scaffold|stack)/|internal/cloner/|internal/codegen/|internal/configbridge/|internal/engine/|internal/errorconfig/|internal/errors/|internal/experiment/|internal/gcphelper/|internal/git/|internal/os/exec/|internal/prepare/|internal/queue/|internal/report/|internal/retry/|internal/runner/(common|graph|run/creds|runall|runcfg)/|internal/stacks/(generate|output)/|internal/telemetry/|internal/tf/cache/(controllers|middleware)/|internal/tflint/|internal/tips/|internal/vfs/|internal/worktrees/|pkg/log/(format/(options|placeholders)|writer)/|pkg/options/)'
125125
paths:
126126
- docs
127127
- _ci

internal/codegen/generate.go

Lines changed: 39 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,15 @@ func shouldContinueWithFileExists(l log.Logger, path string, ifExists GenerateCo
178178
return false, errors.New(GenerateFileExistsError{path: path})
179179
case ExistsSkip:
180180
// Do nothing since file exists and skip was configured
181-
l.Debugf("The file path %s already exists and if_exists for code generation set to \"skip\". Will not regenerate file.", path)
181+
l.Debugf("The file path %s already exists and if_exists for code generation"+
182+
" set to \"skip\". Will not regenerate file.", path)
182183

183184
return false, nil
184185
case ExistsOverwrite:
185186
// We will continue to proceed to generate file, but log a message to indicate that we detected the file
186187
// exists.
187-
l.Debugf("The file path %s already exists and if_exists for code generation set to \"overwrite\". Regenerating file.", path)
188+
l.Debugf("The file path %s already exists and if_exists for code generation"+
189+
" set to \"overwrite\". Regenerating file.", path)
188190

189191
return true, nil
190192
case ExistsOverwriteTerragrunt:
@@ -202,7 +204,9 @@ func shouldContinueWithFileExists(l log.Logger, path string, ifExists GenerateCo
202204
}
203205

204206
// Since file was generated by terragrunt, continue.
205-
l.Debugf("The file path %s already exists, but was a previously generated file by terragrunt. Since if_exists for code generation is set to \"overwrite_terragrunt\", regenerating file.", path)
207+
l.Debugf("The file path %s already exists, but was a previously generated"+
208+
" file by terragrunt. Since if_exists for code generation is set to"+
209+
" \"overwrite_terragrunt\", regenerating file.", path)
206210

207211
return true, nil
208212
default:
@@ -217,14 +221,20 @@ func shouldRemoveWithFileExists(l log.Logger, path string, ifDisable GenerateCon
217221
switch ifDisable { //nolint:exhaustive
218222
case DisabledSkip:
219223
// Do nothing since skip was configured.
220-
l.Debugf("The file path %s already exists and if_disabled for code generation set to \"skip\", will not remove file.", path)
224+
l.Debugf("The file path %s already exists and if_disabled for code"+
225+
" generation set to \"skip\", will not remove file.", path)
226+
221227
return false, nil
222228
case DisabledRemove:
223229
// The file exists and will be removed.
224-
l.Debugf("The file path %s already exists and if_disabled for code generation set to \"remove\", removing file.", path)
230+
l.Debugf("The file path %s already exists and if_disabled for code"+
231+
" generation set to \"remove\", removing file.", path)
232+
225233
return true, nil
226234
case DisabledRemoveTerragrunt:
227-
// If file was not generated, error out because remove_terragrunt if_disabled setting only handles if the existing file was generated by terragrunt.
235+
// If file was not generated, error out because remove_terragrunt
236+
// if_disabled setting only handles if the existing file was
237+
// generated by terragrunt.
228238
wasGenerated, err := fileWasGeneratedByTerragrunt(path)
229239
if err != nil {
230240
return false, err
@@ -237,7 +247,9 @@ func shouldRemoveWithFileExists(l log.Logger, path string, ifDisable GenerateCon
237247
}
238248

239249
// Since file was generated by terragrunt, removing.
240-
l.Debugf("The file path %s already exists, but was a previously generated file by terragrunt. Since if_disabled for code generation is set to \"remove_terragrunt\", removing file.", path)
250+
l.Debugf("The file path %s already exists, but was a previously generated"+
251+
" file by terragrunt. Since if_disabled for code generation is set"+
252+
" to \"remove_terragrunt\", removing file.", path)
241253

242254
return true, nil
243255
default:
@@ -271,8 +283,14 @@ const (
271283
backendBlock = "backend"
272284
)
273285

274-
// RemoteStateConfigToTerraformCode converts the arbitrary map that represents a remote state config into HCL code to configure that remote state.
275-
func RemoteStateConfigToTerraformCode(backend string, config map[string]any, encryption map[string]any) ([]byte, error) {
286+
// RemoteStateConfigToTerraformCode converts the arbitrary map that
287+
// represents a remote state config into HCL code to configure that
288+
// remote state.
289+
func RemoteStateConfigToTerraformCode(
290+
backend string,
291+
config map[string]any,
292+
encryption map[string]any,
293+
) ([]byte, error) {
276294
f := hclwrite.NewEmptyFile()
277295
terraformBlock := f.Body().AppendNewBlock(terraformBlock, nil).Body()
278296
backendBlock := terraformBlock.AppendNewBlock(backendBlock, []string{backend})
@@ -479,10 +497,17 @@ func RemoteStateConfigToTerraformCode(backend string, config map[string]any, enc
479497
encryptionBlockBody := encryptionBlock.Body()
480498

481499
// Append key_provider block
482-
keyProviderBlockBody := encryptionBlockBody.AppendNewBlock(EncryptionKeyProviderKey, []string{keyProvider, encryptionResourceName}).Body()
500+
keyProviderBlock := encryptionBlockBody.AppendNewBlock(
501+
EncryptionKeyProviderKey,
502+
[]string{keyProvider, encryptionResourceName},
503+
)
504+
keyProviderBlockBody := keyProviderBlock.Body()
483505

484506
// Append method block
485-
methodBlock := encryptionBlockBody.AppendNewBlock(encryptionMethodKey, []string{encryptionDefaultMethod, encryptionResourceName}).Body()
507+
methodBlock := encryptionBlockBody.AppendNewBlock(
508+
encryptionMethodKey,
509+
[]string{encryptionDefaultMethod, encryptionResourceName},
510+
).Body()
486511
methodBlock.SetAttributeTraversal(encryptionKeysAttributeName, keyProviderTraversal)
487512

488513
// Append state block
@@ -596,7 +621,9 @@ func GenerateConfigExistsFromString(val string) (GenerateConfigExists, error) {
596621
return ExistsUnknown, errors.New(UnknownGenerateIfExistsVal{val: val})
597622
}
598623

599-
// GenerateConfigDisabledFromString converts a string representation of if_disabled into the enum, returning an error if it is not set to one of the known values.
624+
// GenerateConfigDisabledFromString converts a string representation of
625+
// if_disabled into the enum, returning an error if it is not set to one
626+
// of the known values.
600627
func GenerateConfigDisabledFromString(val string) (GenerateConfigDisabled, error) {
601628
switch val {
602629
case DisabledSkipStr:

internal/codegen/generate_test.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,14 @@ func TestRemoteStateConfigToTerraformCode(t *testing.T) {
156156
"s3-backend-with-assume-role",
157157
"s3",
158158
map[string]any{
159-
"bucket": "mybucket",
160-
"assume_role": "{role_arn=\"arn:aws:iam::123456789012:role/MyRole\",tags={key=\"value\"}, duration=\"1h30m\", external_id=\"123456789012\", policy=\"{}\", policy_arns=[\"arn:aws:iam::123456789012:policy/MyPolicy\"], session_name=\"MySession\", source_identity=\"123456789012\", transitive_tag_keys=[\"key\"]}",
159+
"bucket": "mybucket",
160+
"assume_role": "{role_arn=\"arn:aws:iam::123456789012:role/MyRole\"," +
161+
"tags={key=\"value\"}, duration=\"1h30m\", " +
162+
"external_id=\"123456789012\", policy=\"{}\", " +
163+
"policy_arns=[\"arn:aws:iam::123456789012:policy/MyPolicy\"], " +
164+
"session_name=\"MySession\", " +
165+
"source_identity=\"123456789012\", " +
166+
"transitive_tag_keys=[\"key\"]}",
161167
},
162168
map[string]any{},
163169
expectedS3WithAssumeRole,
@@ -167,8 +173,16 @@ func TestRemoteStateConfigToTerraformCode(t *testing.T) {
167173
"s3-backend-with-assume-role-with-web-identity",
168174
"s3",
169175
map[string]any{
170-
"bucket": "mybucket",
171-
"assume_role_with_web_identity": "{role_arn=\"arn:aws:iam::123456789012:role/MyRole\",duration=\"1h30m\", policy=\"{}\", policy_arns=[\"arn:aws:iam::123456789012:policy/MyPolicy\"], session_name=\"MySession\", web_identity_token=\"123456789012\", web_identity_token_file=\"/path/to/web_identity_token_file\"}",
176+
"bucket": "mybucket",
177+
"assume_role_with_web_identity": "{role_arn=" +
178+
"\"arn:aws:iam::123456789012:role/MyRole\"," +
179+
"duration=\"1h30m\", policy=\"{}\", " +
180+
"policy_arns=[\"arn:aws:iam::123456789012" +
181+
":policy/MyPolicy\"], " +
182+
"session_name=\"MySession\", " +
183+
"web_identity_token=\"123456789012\", " +
184+
"web_identity_token_file=" +
185+
"\"/path/to/web_identity_token_file\"}",
172186
},
173187
map[string]any{},
174188
expectedS3WithAssumeRoleWithWebIdentity,

0 commit comments

Comments
 (0)