nginx-proxy-manager/backend/internal/api/router_test.go

45 lines
957 B
Go
Raw Normal View History

package api
import (
"net/http"
"net/http/httptest"
"os"
"testing"
"npm/internal/config"
"github.com/stretchr/testify/assert"
)
var (
r = NewRouter()
version = "3.0.0"
commit = "abcdefgh"
sentryDSN = ""
)
// Tear up/down
func TestMain(m *testing.M) {
config.Init(&version, &commit, &sentryDSN)
code := m.Run()
os.Exit(code)
}
func TestGetHealthz(t *testing.T) {
respRec := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/api/", nil)
r.ServeHTTP(respRec, req)
assert.Equal(t, http.StatusOK, respRec.Code)
assert.Contains(t, respRec.Body.String(), "healthy")
}
func TestNonExistent(t *testing.T) {
respRec := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/non-existent-endpoint", nil)
r.ServeHTTP(respRec, req)
assert.Equal(t, http.StatusNotFound, respRec.Code)
assert.Equal(t, respRec.Body.String(), `{"result":null,"error":{"code":404,"message":"Not found"}}`, "404 Message should match")
}