package cmd import ( "context" "path" "testing" "github.com/stretchr/testify/assert" ) func TestReadSecrets(t *testing.T) { secrets := map[string]string{} ret := readEnvsEx(path.Join("testdata", "secrets.yml"), secrets, true) assert.True(t, ret) assert.Equal(t, `line1 line2 line3 `, secrets["MYSECRET"]) } func TestReadEnv(t *testing.T) { secrets := map[string]string{} ret := readEnvs(path.Join("testdata", "secrets.yml"), secrets) assert.True(t, ret) assert.Equal(t, `line1 line2 line3 `, secrets["mysecret"]) } func TestListOptions(t *testing.T) { rootCmd := createRootCommand(context.Background(), &Input{}, "") err := newRunCommand(context.Background(), &Input{ listOptions: true, })(rootCmd, []string{}) assert.NoError(t, err) } func TestRun(t *testing.T) { rootCmd := createRootCommand(context.Background(), &Input{}, "") err := newRunCommand(context.Background(), &Input{ platforms: []string{"ubuntu-latest=node:16-buster-slim"}, workdir: "../pkg/runner/testdata/", workflowsPath: "./basic/push.yml", })(rootCmd, []string{}) assert.NoError(t, err) } func TestRunPush(t *testing.T) { rootCmd := createRootCommand(context.Background(), &Input{}, "") err := newRunCommand(context.Background(), &Input{ platforms: []string{"ubuntu-latest=node:16-buster-slim"}, workdir: "../pkg/runner/testdata/", workflowsPath: "./basic/push.yml", })(rootCmd, []string{"push"}) assert.NoError(t, err) } func TestRunPushJsonLogger(t *testing.T) { rootCmd := createRootCommand(context.Background(), &Input{}, "") err := newRunCommand(context.Background(), &Input{ platforms: []string{"ubuntu-latest=node:16-buster-slim"}, workdir: "../pkg/runner/testdata/", workflowsPath: "./basic/push.yml", jsonLogger: true, })(rootCmd, []string{"push"}) assert.NoError(t, err) } func TestFlags(t *testing.T) { for _, f := range []string{"graph", "list", "bug-report", "man-page"} { t.Run("TestFlag-"+f, func(t *testing.T) { rootCmd := createRootCommand(context.Background(), &Input{}, "") err := rootCmd.Flags().Set(f, "true") assert.NoError(t, err) err = newRunCommand(context.Background(), &Input{ platforms: []string{"ubuntu-latest=node:16-buster-slim"}, workdir: "../pkg/runner/testdata/", workflowsPath: "./basic/push.yml", })(rootCmd, []string{}) assert.NoError(t, err) }) } }