github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/pkg/context/context_test.go (about) 1 package context 2 3 import ( 4 "os" 5 "testing" 6 "time" 7 8 "github.com/goreleaser/goreleaser/pkg/config" 9 "github.com/stretchr/testify/require" 10 ) 11 12 func TestNew(t *testing.T) { 13 require.NoError(t, os.Setenv("FOO", "NOT BAR")) 14 require.NoError(t, os.Setenv("BAR", "1")) 15 var ctx = New(config.Project{ 16 Env: []string{ 17 "FOO=BAR", 18 }, 19 }) 20 require.Equal(t, "BAR", ctx.Env["FOO"]) 21 require.Equal(t, "1", ctx.Env["BAR"]) 22 require.Equal(t, 4, ctx.Parallelism) 23 } 24 25 func TestNewWithTimeout(t *testing.T) { 26 ctx, cancel := NewWithTimeout(config.Project{}, time.Second) 27 require.NotEmpty(t, ctx.Env) 28 require.Equal(t, 4, ctx.Parallelism) 29 cancel() 30 <-ctx.Done() 31 require.EqualError(t, ctx.Err(), `context canceled`) 32 }