diff options
| author | ewy <ewy0@protonmail.com> | 2026-04-22 20:54:20 +0200 |
|---|---|---|
| committer | ewy <ewy0@protonmail.com> | 2026-04-22 20:54:20 +0200 |
| commit | fb6f9434eaf353375b20a13966946d3a230d93d5 (patch) | |
| tree | 4a481907a77e50c0564c4a572368e1133f796018 /env | |
| parent | 086a0cc0eb75c0c3a15cf6a715427df1e2d589a2 (diff) | |
testooooo
Diffstat (limited to 'env')
| -rw-r--r-- | env/env.go | 3 | ||||
| -rw-r--r-- | env/env_test.go | 54 |
2 files changed, 56 insertions, 1 deletions
@@ -20,7 +20,8 @@ func IsEnv(file string) bool { options = append(options, ".env-"+e, ".env."+e, - e+".env") + e+".env", + "."+e+".env") } return slices.Contains(options, file) } diff --git a/env/env_test.go b/env/env_test.go new file mode 100644 index 0000000..865f3cd --- /dev/null +++ b/env/env_test.go @@ -0,0 +1,54 @@ +//go:build test + +package env + +import ( + "github.com/spf13/pflag" + "github.com/stretchr/testify/assert" + "os" + "path/filepath" + "pik/model" + "testing" +) + +func TestIsEnv(t *testing.T) { + err := pflag.Set("env", "test") + assert.NoError(t, err) + files := []string{ + ".env", + ".env-test", + ".env.test", + "test.env", + } + fakes := []string{ + ".env-other", + "unrelated.env", + } + for _, f := range files { + assert.True(t, IsEnv(f)) + } + for _, f := range fakes { + assert.False(t, IsEnv(f)) + } +} + +func TestGet(t *testing.T) { + err := pflag.Set("env", "get") + dir := t.TempDir() + ctx := filepath.Join(dir, ".pik") + err = os.Mkdir(ctx, 0777) + assert.NoError(t, err) + file := filepath.Join(dir, ".get.env") + ctxFile := filepath.Join(dir, ".pik", ".get.env") + src := &model.Source{ + Path: dir, + } + err = os.WriteFile(file, []byte("OUTERKEY=val"), 0666) + assert.NoError(t, err) + err = os.WriteFile(ctxFile, []byte("INNERKEY=otherval"), 0666) + assert.NoError(t, err) + res := Get(src) + assert.Len(t, res, 2) + assert.Contains(t, res, "OUTERKEY=val") + assert.Contains(t, res, "INNERKEY=otherval") +} |
