github.com/maurerlabs/github-actions/toolkit@v0.0.0-20191127192943-9d064d66f7de/env_test.go (about)

     1  package toolkit
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestChdirFromEnv(t *testing.T) {
    11  	d, _ := os.Getwd()
    12  	os.Chdir("..")
    13  
    14  	cwd, _ := os.Getwd()
    15  	assert.NotEqual(t, cwd, d)
    16  
    17  	os.Setenv("FOOBAR", "toolkit")
    18  	ChdirFromEnv("FOOBAR")
    19  
    20  	cwd, _ = os.Getwd()
    21  	assert.Equal(t, cwd, d)
    22  	assert.Panics(t, func() {
    23  		os.Setenv("FOOBAR", "does-not-exist")
    24  		ChdirFromEnv("FOOBAR")
    25  	})
    26  }
    27  
    28  func TestAddFlagFromEnv(t *testing.T) {
    29  	var flags []string
    30  	os.Setenv("FOOBAR", "bar")
    31  
    32  	AddFlagFromEnv(&flags, 1, "foo", "FOOBAR")
    33  	AddFlagFromEnv(&flags, 2, "foo", "FOOBAR")
    34  	AddFlagFromEnv(&flags, 3, "foo", "FOOBAR")
    35  	AddFlagFromEnv(&flags, 4, "foo", "FOOBAR")
    36  
    37  	assert.Equal(t, flags[0], "--foo=bar")
    38  	assert.Equal(t, flags[1], "--foo bar")
    39  	assert.Equal(t, flags[2], "-foo=bar")
    40  	assert.Equal(t, flags[3], "-foo bar")
    41  	assert.Panics(t, func() {
    42  		AddFlagFromEnv(&flags, 5, "foo", "FOOBAR")
    43  	})
    44  }