refactor config file type

This commit is contained in:
2025-09-05 23:51:21 +04:00
parent 1eb969480b
commit c3292dee5f
8 changed files with 94 additions and 179 deletions

View File

@@ -317,31 +317,24 @@ func TestConfigCLIParser_Parse(t *testing.T) {
assert.Len(t, config.Files, 1)
})
t.Run("Parse with config-file flag invalid extension", func(t *testing.T) {
t.Run("Parse with config-file flag without extension returns unknown type", func(t *testing.T) {
parser := NewConfigCLIParser([]string{"dodo", "-f", "/path/to/config"})
config, err := parser.Parse()
assert.Nil(t, config)
var fieldErr types.FieldParseErrors
require.ErrorAs(t, err, &fieldErr)
assert.Len(t, fieldErr.Errors, 1)
assert.Equal(t, "config-file[0]", fieldErr.Errors[0].Field)
assert.Equal(t, "/path/to/config", fieldErr.Errors[0].Value)
assert.Contains(t, fieldErr.Errors[0].Err.Error(), "file extension not found")
require.NoError(t, err)
require.NotNil(t, config)
assert.Len(t, config.Files, 1)
assert.Equal(t, types.ConfigFileTypeUnknown, config.Files[0].Type())
})
t.Run("Parse with config-file flag unsupported file type", func(t *testing.T) {
t.Run("Parse with config-file flag unsupported file type returns unknown type", func(t *testing.T) {
parser := NewConfigCLIParser([]string{"dodo", "-f", "/path/to/config.json"})
config, err := parser.Parse()
assert.Nil(t, config)
var fieldErr types.FieldParseErrors
require.ErrorAs(t, err, &fieldErr)
assert.Len(t, fieldErr.Errors, 1)
assert.Equal(t, "config-file[0]", fieldErr.Errors[0].Field)
assert.Equal(t, "/path/to/config.json", fieldErr.Errors[0].Value)
assert.Contains(t, fieldErr.Errors[0].Err.Error(), "file type")
assert.Contains(t, fieldErr.Errors[0].Err.Error(), "not supported")
require.NoError(t, err)
require.NotNil(t, config)
assert.Len(t, config.Files, 1)
assert.Equal(t, types.ConfigFileTypeUnknown, config.Files[0].Type())
})
t.Run("Parse with config-file flag remote URL", func(t *testing.T) {