Skip to content

Commit 4953090

Browse files
committed
fix(sourcefile): add file path to adapted key collision errors
1 parent 172407c commit 4953090

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

sourcefile/file.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func (f *fileSource) LoadWithKeys(ctx context.Context) (map[string]any, map[stri
119119
}
120120
}
121121
if f.opts.SnakeCaseKeys || f.opts.KeyPrefix != "" {
122-
adapted, adaptedOriginal, adaptErr := adaptFlattenedKeys(flattened, originalKeys, f.opts)
122+
adapted, adaptedOriginal, adaptErr := adaptFlattenedKeys(flattened, originalKeys, f.opts, f.path)
123123
if adaptErr != nil {
124124
return nil, nil, adaptErr
125125
}
@@ -130,7 +130,7 @@ func (f *fileSource) LoadWithKeys(ctx context.Context) (map[string]any, map[stri
130130
return flattened, originalKeys, nil
131131
}
132132

133-
func adaptFlattenedKeys(flattened map[string]any, originalKeys map[string]string, opts Options) (map[string]any, map[string]string, error) {
133+
func adaptFlattenedKeys(flattened map[string]any, originalKeys map[string]string, opts Options, sourcePath string) (map[string]any, map[string]string, error) {
134134
adapted := make(map[string]any, len(flattened))
135135
adaptedOriginalKeys := make(map[string]string, len(originalKeys))
136136

@@ -146,7 +146,8 @@ func adaptFlattenedKeys(flattened map[string]any, originalKeys map[string]string
146146
existingOriginal = adaptedKey
147147
}
148148
return nil, nil, fmt.Errorf(
149-
"sourcefile: adapted key collision for %q (from %q and %q)",
149+
"sourcefile: adapted key collision in %q for %q (from %q and %q)",
150+
sourcePath,
150151
adaptedKey,
151152
existingOriginal,
152153
currentOriginal,

sourcefile/file_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,9 @@ root:
293293
require.Error(t, err)
294294
assert.Nil(t, data)
295295
assert.Nil(t, originalKeys)
296-
assert.Contains(t, err.Error(), `sourcefile: adapted key collision for "api_key"`)
296+
assert.Contains(t, err.Error(), "sourcefile: adapted key collision in")
297+
assert.Contains(t, err.Error(), `"api_key"`)
298+
assert.Contains(t, err.Error(), yamlFile)
297299
assert.Contains(t, err.Error(), "root.section.apiKey")
298300
assert.Contains(t, err.Error(), "root.section.api_key")
299301
}

0 commit comments

Comments
 (0)