util_test.go 757 Bytes
Newer Older
1 2 3 4 5 6
package op_service

import (
	"testing"

	"github.com/stretchr/testify/require"
7
	"github.com/urfave/cli/v2"
8 9 10 11
)

func TestCLIFlagsToEnvVars(t *testing.T) {
	flags := []cli.Flag{
12 13 14
		&cli.StringFlag{
			Name:    "test",
			EnvVars: []string{"OP_NODE_TEST_VAR"},
15
		},
16
		&cli.IntFlag{
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
			Name: "no env var",
		},
	}
	res := cliFlagsToEnvVars(flags)
	require.Contains(t, res, "OP_NODE_TEST_VAR")
}

func TestValidateEnvVars(t *testing.T) {
	provided := []string{"OP_BATCHER_CONFIG=true", "OP_BATCHER_FAKE=false", "LD_PRELOAD=/lib/fake.so"}
	defined := map[string]struct{}{
		"OP_BATCHER_CONFIG": {},
		"OP_BATCHER_OTHER":  {},
	}
	invalids := validateEnvVars("OP_BATCHER", provided, defined)
	require.ElementsMatch(t, invalids, []string{"OP_BATCHER_FAKE=false"})
}