adds unit test coverage for getEnv

This commit is contained in:
Hyatt 2024-02-10 09:32:54 -06:00
parent 2473942c7c
commit 00b9380e71
Signed by: nhyatt
GPG Key ID: C50D0BBB5BC40BEA

View File

@ -0,0 +1,76 @@
package config
import (
"strconv"
"testing"
)
func TestGetEnv(t *testing.T) {
var (
expected_string string = "This is a test string."
expected_bool bool = true
expected_int int = 100
expected_int64 int64 = 100
expected_float64 float64 = 100.001
expected_unset_default string = "This is a default value."
)
// string
t.Setenv("TEST_STRING", expected_string)
test_string, err := getEnv("TEST_STRING", "This is a default String")
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_string != expected_string {
t.Fatalf("Expected %s, got %s", expected_string, test_string)
}
// bool
t.Setenv("TEST_BOOL", strconv.FormatBool(expected_bool))
test_bool, err := getEnv("TEST_BOOL", false)
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_bool != expected_bool {
t.Fatalf("Expected %t, got %t", expected_bool, test_bool)
}
// int
t.Setenv("TEST_INT", strconv.FormatInt(int64(expected_int), 10))
test_int, err := getEnv("TEST_INT", 999)
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_int != expected_int {
t.Fatalf("Expected %d, got %d", expected_int, test_int)
}
// int64
t.Setenv("TEST_INT64", strconv.FormatInt(expected_int64, 10))
test_int64, err := getEnv("TEST_INT64", int64(999))
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_int64 != expected_int64 {
t.Fatalf("Expected %d, got %d", expected_int64, test_int64)
}
// float64
t.Setenv("TEST_FLOAT64", strconv.FormatFloat(expected_float64, 'f', 3, 32))
test_float64, err := getEnv("TEST_FLOAT64", 999.99)
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_float64 != expected_float64 {
t.Fatalf("Expected %f, got %f", expected_float64, test_float64)
}
// unset or missing environment variable
test_unset, err := getEnv("TEST_DEFAULT", expected_unset_default)
if err != nil {
t.Fatalf("Error calling getEnv: %v", err)
}
if test_unset != expected_unset_default {
t.Fatalf("Expected %s, got %s", expected_unset_default, test_unset)
}
}