Files
go-golden/update_test.go
Jim Myhrberg 4e07a1a657 wip(assertion): incomplete refactor of tests and assertion helpers
Tests have started using github.com/jimeh/go-mocktesting which allows
testing unhappy paths where t.Fatal() and related functions are called.
2021-12-28 02:24:00 +00:00

222 lines
4.5 KiB
Go

package golden
import (
"testing"
"github.com/jimeh/envctl"
"github.com/stretchr/testify/assert"
)
var envUpdateFuncTestCases = []struct {
name string
env map[string]string
want bool
}{
{
name: "GOLDEN_UPDATE not set",
want: false,
},
{
name: "GOLDEN_UPDATE set to empty string",
env: map[string]string{"GOLDEN_UPDATE": ""},
want: false,
},
{
name: "GOLDEN_UPDATE set to 0",
env: map[string]string{"GOLDEN_UPDATE": "0"},
want: false,
},
{
name: "GOLDEN_UPDATE set to 1",
env: map[string]string{"GOLDEN_UPDATE": "1"},
want: true,
},
{
name: "GOLDEN_UPDATE set to 2",
env: map[string]string{"GOLDEN_UPDATE": "2"},
want: false,
},
{
name: "GOLDEN_UPDATE set to y",
env: map[string]string{"GOLDEN_UPDATE": "y"},
want: true,
},
{
name: "GOLDEN_UPDATE set to Y",
env: map[string]string{"GOLDEN_UPDATE": "Y"},
want: true,
},
{
name: "GOLDEN_UPDATE set to n",
env: map[string]string{"GOLDEN_UPDATE": "n"},
want: false,
},
{
name: "GOLDEN_UPDATE set to N",
env: map[string]string{"GOLDEN_UPDATE": "N"},
want: false,
},
{
name: "GOLDEN_UPDATE set to t",
env: map[string]string{"GOLDEN_UPDATE": "t"},
want: true,
},
{
name: "GOLDEN_UPDATE set to T",
env: map[string]string{"GOLDEN_UPDATE": "T"},
want: true,
},
{
name: "GOLDEN_UPDATE set to f",
env: map[string]string{"GOLDEN_UPDATE": "f"},
want: false,
},
{
name: "GOLDEN_UPDATE set to F",
env: map[string]string{"GOLDEN_UPDATE": "F"},
want: false,
},
{
name: "GOLDEN_UPDATE set to yes",
env: map[string]string{"GOLDEN_UPDATE": "yes"},
want: true,
},
{
name: "GOLDEN_UPDATE set to Yes",
env: map[string]string{"GOLDEN_UPDATE": "Yes"},
want: true,
},
{
name: "GOLDEN_UPDATE set to YeS",
env: map[string]string{"GOLDEN_UPDATE": "YeS"},
want: true,
},
{
name: "GOLDEN_UPDATE set to YES",
env: map[string]string{"GOLDEN_UPDATE": "YES"},
want: true,
},
{
name: "GOLDEN_UPDATE set to no",
env: map[string]string{"GOLDEN_UPDATE": "no"},
want: false,
},
{
name: "GOLDEN_UPDATE set to No",
env: map[string]string{"GOLDEN_UPDATE": "No"},
want: false,
},
{
name: "GOLDEN_UPDATE set to nO",
env: map[string]string{"GOLDEN_UPDATE": "nO"},
want: false,
},
{
name: "GOLDEN_UPDATE set to NO",
env: map[string]string{"GOLDEN_UPDATE": "NO"},
want: false,
},
{
name: "GOLDEN_UPDATE set to on",
env: map[string]string{"GOLDEN_UPDATE": "on"},
want: true,
},
{
name: "GOLDEN_UPDATE set to oN",
env: map[string]string{"GOLDEN_UPDATE": "oN"},
want: true,
},
{
name: "GOLDEN_UPDATE set to On",
env: map[string]string{"GOLDEN_UPDATE": "On"},
want: true,
},
{
name: "GOLDEN_UPDATE set to ON",
env: map[string]string{"GOLDEN_UPDATE": "ON"},
want: true,
},
{
name: "GOLDEN_UPDATE set to off",
env: map[string]string{"GOLDEN_UPDATE": "off"},
want: false,
},
{
name: "GOLDEN_UPDATE set to Off",
env: map[string]string{"GOLDEN_UPDATE": "Off"},
want: false,
},
{
name: "GOLDEN_UPDATE set to oFF",
env: map[string]string{"GOLDEN_UPDATE": "oFF"},
want: false,
},
{
name: "GOLDEN_UPDATE set to OFF",
env: map[string]string{"GOLDEN_UPDATE": "OFF"},
want: false,
},
{
name: "GOLDEN_UPDATE set to true",
env: map[string]string{"GOLDEN_UPDATE": "true"},
want: true,
},
{
name: "GOLDEN_UPDATE set to True",
env: map[string]string{"GOLDEN_UPDATE": "True"},
want: true,
},
{
name: "GOLDEN_UPDATE set to TruE",
env: map[string]string{"GOLDEN_UPDATE": "TruE"},
want: true,
},
{
name: "GOLDEN_UPDATE set to TRUE",
env: map[string]string{"GOLDEN_UPDATE": "TRUE"},
want: true,
},
{
name: "GOLDEN_UPDATE set to false",
env: map[string]string{"GOLDEN_UPDATE": "false"},
want: false,
},
{
name: "GOLDEN_UPDATE set to False",
env: map[string]string{"GOLDEN_UPDATE": "False"},
want: false,
},
{
name: "GOLDEN_UPDATE set to FaLsE",
env: map[string]string{"GOLDEN_UPDATE": "FaLsE"},
want: false,
},
{
name: "GOLDEN_UPDATE set to FALSE",
env: map[string]string{"GOLDEN_UPDATE": "FALSE"},
want: false,
},
{
name: "GOLDEN_UPDATE set to foobarnopebbq",
env: map[string]string{"GOLDEN_UPDATE": "foobarnopebbq"},
want: false,
},
{
name: "GOLDEN_UPDATE set to FOOBARNOPEBBQ",
env: map[string]string{"GOLDEN_UPDATE": "FOOBARNOPEBBQ"},
want: false,
},
}
func TestEnvUpdateFunc(t *testing.T) {
for _, tt := range envUpdateFuncTestCases {
t.Run(tt.name, func(t *testing.T) {
envctl.WithClean(tt.env, func() {
got := EnvUpdateFunc()
assert.Equal(t, tt.want, got)
})
})
}
}