42 lines
676 B
Go
42 lines
676 B
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"os"
|
|
"testing"
|
|
)
|
|
|
|
var a App
|
|
|
|
func TestMain(m *testing.M) {
|
|
a = App{}
|
|
a.Initialize(
|
|
os.Getenv("TEST_DB_USERNAME"),
|
|
os.Getenv("TEST_DB_PASSWORD"),
|
|
os.Getenv("TEST_DB_NAME"))
|
|
|
|
ensureConfigTableExists()
|
|
ensureDataTypeTableExists()
|
|
|
|
code := m.Run()
|
|
|
|
clearConfigTable()
|
|
clearDataTypeTable()
|
|
|
|
os.Exit(code)
|
|
}
|
|
|
|
func executeRequest(req *http.Request) *httptest.ResponseRecorder {
|
|
rr := httptest.NewRecorder()
|
|
a.Router.ServeHTTP(rr, req)
|
|
|
|
return rr
|
|
}
|
|
|
|
func checkResponseCode(t *testing.T, expected, actual int) {
|
|
if expected != actual {
|
|
t.Errorf("Expected response code %d. Got %d\n", expected, actual)
|
|
}
|
|
}
|