From 0ed077ec9bf20925c0b76ec781425a3a6f647760 Mon Sep 17 00:00:00 2001 From: Mario Vazquez <mavazque@redhat.com> Date: Thu, 12 Dec 2019 15:26:54 +0100 Subject: [PATCH] Added tests --- main_test.go | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 main_test.go diff --git a/main_test.go b/main_test.go new file mode 100644 index 0000000..0d7646f --- /dev/null +++ b/main_test.go @@ -0,0 +1,69 @@ +package main + +import ( + "testing" + "net/http" + "net/http/httptest" + "strings" +) + +func TestReturnRelease(t *testing.T) { + req, err := http.NewRequest("GET", "/", nil) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + handler := http.HandlerFunc(ReturnRelease) + handler.ServeHTTP(rr, req) + if rr.Code != http.StatusOK { + t.Errorf("ReturnRelease returned wrong status code, expected %v, got %v", http.StatusOK, rr.Code) + } + expectedRelease := "NotSet" + if ! strings.Contains(rr.Body.String(), expectedRelease) { + t.Errorf("ReturnRelease returned wrong release, expected %v, got %v", expectedRelease, rr.Body.String()) + } +} + +func TestReturnHealth(t *testing.T) { + req, err := http.NewRequest("GET", "/health", nil) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + handler := http.HandlerFunc(ReturnHealth) + handler.ServeHTTP(rr, req) + if rr.Code != http.StatusOK { + t.Errorf("ReturnHealth returned wrong status code, expected %v, got %v", http.StatusOK, rr.Code) + } + expectedHealth := "Healthy" + + if ! strings.Contains(rr.Body.String(), expectedHealth) { + t.Errorf("ReturnHealth returned wrong health status, expected %v, got %v", expectedHealth, rr.Body.String()) + } +} + +func TestReverseWord(t *testing.T) { + body := strings.NewReader(`{"word": "PALC"}`) + req, err := http.NewRequest("POST", "/", body) + if err != nil { + t.Fatal(err) + } + rr := httptest.NewRecorder() + handler := http.HandlerFunc(ReverseWord) + handler.ServeHTTP(rr, req) + if rr.Code != http.StatusOK { + t.Errorf("ReverseWord returned wrong status code, expected %v, got %v", http.StatusOK, rr.Code) + } + expectedResponse := `{"reverse_word":"CLAP"}` + + if ! strings.Contains(rr.Body.String(), expectedResponse) { + t.Errorf("ReverseWord returned wrong word, expected %v, got %v", expectedResponse, rr.Body.String()) + } +} + +func TestReverse(t *testing.T) { + result := reverse("PALC") + if result != "CLAP" { + t.Errorf("TestReverse failed, expected %v, got %v", "CLAP", result) + } +} \ No newline at end of file -- GitLab