Files
docker-cli/cli/compose/loader/envfile_test.go
Sebastiaan van Stijn e650803f09 opts: deprecate ParseEnvFile
It was a wrapper around kvfile.Load, which should be used instead.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2025-08-20 15:03:05 +02:00

41 lines
978 B
Go

package loader
import (
"os"
"path/filepath"
"testing"
"gotest.tools/v3/assert"
is "gotest.tools/v3/assert/cmp"
)
func tmpFileWithContent(t *testing.T, content string) string {
t.Helper()
fileName := filepath.Join(t.TempDir(), "envfile")
err := os.WriteFile(fileName, []byte(content), 0o644)
assert.NilError(t, err)
return fileName
}
// Test parseEnvFile for a non existent file
func TestParseEnvFileNonExistentFile(t *testing.T) {
_, err := parseEnvFile("no_such_file")
assert.Check(t, is.ErrorType(err, os.IsNotExist))
}
// parseEnvFile with environment variable import definitions
func TestParseEnvVariableDefinitionsFile(t *testing.T) {
content := `# comment=
UNDEFINED_VAR
DEFINED_VAR
`
tmpFile := tmpFileWithContent(t, content)
t.Setenv("DEFINED_VAR", "defined-value")
variables, err := parseEnvFile(tmpFile)
assert.NilError(t, err)
expectedLines := []string{"DEFINED_VAR=defined-value"}
assert.Check(t, is.DeepEqual(variables, expectedLines))
}