diff --git a/main_test.go b/main_test.go index 0d7646f5346230e873fcd1a7542f2408fc46f720..b665801fe690a9b8a433029ef3c4728ac3edf18f 100644 --- a/main_test.go +++ b/main_test.go @@ -5,6 +5,7 @@ import ( "net/http" "net/http/httptest" "strings" + "os" ) func TestReturnRelease(t *testing.T) { @@ -24,6 +25,27 @@ func TestReturnRelease(t *testing.T) { } } +func TestReturnHostname(t *testing.T) { + req, err := http.NewRequest("GET", "/hostname", nil) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + handler := http.HandlerFunc(ReturnHostname) + handler.ServeHTTP(rr, req) + if rr.Code != http.StatusOK { + t.Errorf("ReturnHostname returned wrong status code, expected %v, got %v", http.StatusOK, rr.Code) + } + expectedHostname, err := os.Hostname() + if err != nil { + t.Fatal(err) + } + + if ! strings.Contains(rr.Body.String(), expectedHostname) { + t.Errorf("ReturnHostname returned wrong hostname, expected %v, got %v", expectedHostname, rr.Body.String()) + } +} + func TestReturnHealth(t *testing.T) { req, err := http.NewRequest("GET", "/health", nil) if err != nil { @@ -61,6 +83,18 @@ func TestReverseWord(t *testing.T) { } } +func TestGetEnv(t *testing.T) { + os.Setenv("FOO", "BAR") + result := getEnv("FOO", "DEFAULT_VALUE") + if result != "BAR" { + t.Errorf("TestGetEnv with existing variable failed, expected %v, got %v", "BAR", result) + } + result = getEnv("NOT_EXISTING_VAR", "DEFAULT_VALUE") + if result != "DEFAULT_VALUE" { + t.Errorf("TestGetEnv with default value failed, expected %v, got %v", "DEFAULT_VALUE", result) + } +} + func TestReverse(t *testing.T) { result := reverse("PALC") if result != "CLAP" {