Skip to content

Commit 3a3f939

Browse files
committed
remove error support
Signed-off-by: Yuri Shkuro <[email protected]>
1 parent 55eb82a commit 3a3f939

File tree

2 files changed

+5
-54
lines changed

2 files changed

+5
-54
lines changed

confmap/provider/envprovider/provider.go

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ type provider struct {
3131
// A default value for unset variable can be provided after :- suffix, for example:
3232
// `env:NAME_OF_ENVIRONMENT_VARIABLE:-default_value`
3333
//
34-
// An error message for unset variable can be provided after :? suffix, for example:
35-
// `env:NAME_OF_ENVIRONMENT_VARIABLE:?error_message`
36-
//
3734
// See also: https://opentelemetry.io/docs/specs/otel/configuration/file-configuration/#environment-variable-substitution
3835
func NewFactory() confmap.ProviderFactory {
3936
return confmap.NewProviderFactory(newProvider)
@@ -49,7 +46,7 @@ func (emp *provider) Retrieve(_ context.Context, uri string, _ confmap.WatcherFu
4946
if !strings.HasPrefix(uri, schemeName+":") {
5047
return nil, fmt.Errorf("%q uri is not supported by %q provider", uri, schemeName)
5148
}
52-
envVarName, defaultValuePtr, errorMessagePtr, err := parseEnvVarURI(uri[len(schemeName)+1:])
49+
envVarName, defaultValuePtr, err := parseEnvVarURI(uri[len(schemeName)+1:])
5350
if err != nil {
5451
return nil, err
5552
}
@@ -59,9 +56,6 @@ func (emp *provider) Retrieve(_ context.Context, uri string, _ confmap.WatcherFu
5956

6057
val, exists := os.LookupEnv(envVarName)
6158
if !exists {
62-
if errorMessagePtr != nil {
63-
return nil, fmt.Errorf("environment variable %q is not set: %s", envVarName, *errorMessagePtr)
64-
}
6559
if defaultValuePtr != nil {
6660
val = *defaultValuePtr
6761
} else {
@@ -82,21 +76,13 @@ func (*provider) Shutdown(context.Context) error {
8276
return nil
8377
}
8478

85-
// returns (var name, default value, error message, parse error)
86-
func parseEnvVarURI(uri string) (string, *string, *string, error) {
79+
// returns (var name, default value, parse error)
80+
func parseEnvVarURI(uri string) (string, *string, error) {
8781
const defaultSuffix = ":-"
8882
const errorSuffix = ":?"
8983
if strings.Contains(uri, defaultSuffix) {
9084
parts := strings.SplitN(uri, defaultSuffix, 2)
91-
return parts[0], &parts[1], nil, nil
92-
}
93-
if strings.Contains(uri, errorSuffix) {
94-
parts := strings.SplitN(uri, errorSuffix, 2)
95-
errMsg := parts[1]
96-
if errMsg == "" {
97-
return "", nil, nil, fmt.Errorf("empty error message for unset environment variable: %q", uri)
98-
}
99-
return parts[0], nil, &errMsg, nil
85+
return parts[0], &parts[1], nil
10086
}
101-
return uri, nil, nil, nil
87+
return uri, nil, nil
10288
}

confmap/provider/envprovider/provider_test.go

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -190,41 +190,6 @@ func TestEnvWithDefaultValue(t *testing.T) {
190190
assert.NoError(t, env.Shutdown(context.Background()))
191191
}
192192

193-
func TestEnvWithErrorMessage(t *testing.T) {
194-
env := createProvider()
195-
tests := []struct {
196-
name string
197-
unset bool
198-
value string
199-
uri string
200-
expectedErr string
201-
}{
202-
{name: "unset", unset: true, uri: "env:MY_VAR:?foobar", expectedErr: "foobar"},
203-
{name: "unset2", unset: true, uri: "env:MY_VAR:?", expectedErr: "empty error message"},
204-
{name: "empty", value: "", uri: "env:MY_VAR:?foo", expectedErr: ""}, // empty value does not cause error
205-
{name: "not empty", value: "value", uri: "env:MY_VAR:?foo", expectedErr: ""},
206-
{name: "syntax1", unset: true, uri: "env:?MY_VAR", expectedErr: "invalid name"},
207-
{name: "syntax2", unset: true, uri: "env:MY_VAR:?test:?test", expectedErr: "test:?test"},
208-
}
209-
for _, test := range tests {
210-
t.Run(test.name, func(t *testing.T) {
211-
if !test.unset {
212-
t.Setenv("MY_VAR", test.value)
213-
}
214-
ret, err := env.Retrieve(context.Background(), test.uri, nil)
215-
if test.expectedErr == "" {
216-
require.NoError(t, err)
217-
str, err2 := ret.AsString()
218-
require.NoError(t, err2)
219-
assert.Equal(t, test.value, str)
220-
} else {
221-
assert.ErrorContains(t, err, test.expectedErr)
222-
}
223-
})
224-
}
225-
assert.NoError(t, env.Shutdown(context.Background()))
226-
}
227-
228193
func createProvider() confmap.Provider {
229194
return NewFactory().Create(confmaptest.NewNopProviderSettings())
230195
}

0 commit comments

Comments
 (0)