Files
sofmani/utils/env_test.go

61 lines
1.7 KiB
Go
Executable File

package utils
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestResolveEnvPaths(t *testing.T) {
envs := [][]string{
{"PATH=/usr/bin", "HOME=/home/user"},
{"GOPATH=/go", "GOROOT=/usr/local/go"},
}
expected := []string{
"PATH=/usr/bin",
"HOME=/home/user",
"GOPATH=/go",
"GOROOT=/usr/local/go",
}
result := ResolveEnvPaths(envs...)
assert.ElementsMatch(t, expected, result)
}
func TestCombineEnv(t *testing.T) {
env1 := &[]string{"KEY1=value1", "KEY2=value2"}
env2 := &[]string{"KEY2=new_value2", "KEY3=value3"}
expected := []string{"KEY1=value1", "KEY2=new_value2", "KEY3=value3"}
result := CombineEnv(env1, env2)
assert.ElementsMatch(t, expected, result)
}
func TestCombineEnvMaps(t *testing.T) {
env1 := &map[string]string{"KEY1": "value1", "KEY2": "value2"}
env2 := &map[string]string{"KEY2": "new_value2", "KEY3": "value3"}
expected := map[string]string{"KEY1": "value1", "KEY2": "new_value2", "KEY3": "value3"}
result := CombineEnvMaps(env1, env2)
assert.Equal(t, expected, result)
}
func TestEnvSliceAsMap(t *testing.T) {
env := []string{"KEY1=value1", "KEY2=value2"}
expected := map[string]string{"KEY1": "value1", "KEY2": "value2"}
result := EnvSliceAsMap(env)
assert.Equal(t, expected, result)
}
func TestEnvMapAsSlice(t *testing.T) {
env := map[string]string{"KEY1": "value1", "KEY2": "value2"}
expected := []string{"KEY1=value1", "KEY2=value2"}
result := EnvMapAsSlice(env)
assert.ElementsMatch(t, expected, result)
}
func TestMergeEnvs(t *testing.T) {
source := &[]string{"KEY1=value1", "KEY2=value2"}
target := []string{"KEY2=new_value2", "KEY3=value3"}
expected := []string{"KEY1=value1", "KEY2=value2", "KEY3=value3"}
result := mergeEnvs(source, target)
assert.ElementsMatch(t, expected, result)
}