package emulator import ( "context" "testing" "time" "gotest.tools/v3/assert" ) func TestNewConfig(t *testing.T) { cases := map[string]struct { dir string envVal string exp Config }{ "Valid": { dir: "/dir", envVal: "100s", exp: Config{ dir: "/dir", sessionTimeout: 100 * time.Second, }, }, "No Session Timeout Val": { dir: "/dir", envVal: "", exp: Config{ dir: "/dir", sessionTimeout: defaultSessionTimeout, }, }, "Invalid Session Timeout Val": { dir: "/dir", envVal: "100 Seconds", exp: Config{ dir: "/dir", sessionTimeout: defaultSessionTimeout, }, }, } for name, tc := range cases { t.Run(name, func(t *testing.T) { t.Setenv(envSessionTimeout, tc.envVal) actual := NewConfig(context.Background(), tc.dir) assert.Equal(t, tc.exp, actual) }) } }