Не работает тест для REST API
testCases := []struct {
user string
password string
want string
}{
{
user: "midaef",
password: "1234",
want: "NotAuthorize",
},
{
user: "[email protected]",
password: "test1234",
want: "OK",
},
}
for _, test := range testCases {
reqBody, _ := json.Marshal(map[string]string{
"user": test.user,
"password": test.password,
})
req, err := http.NewRequest("POST", "/auth", bytes.NewBuffer(reqBody))
if err != nil {
t.Fatal(err)
}
req.Header.Set("Content-Type", "application/json")
rr := httptest.NewRecorder()
handler := http.HandlerFunc(controllers.Auth)
handler.ServeHTTP(rr, req)
if status := rr.Code; status != http.StatusOK {
t.Errorf("handler returned wrong status code: got %v want %v",
status, http.StatusOK)
}
body, _ := ioutil.ReadAll(rr.Body)
status, _ := jsonparser.GetString(body, "status")
if status != test.want {
t.Errorf("handler returned unexpected body: got %v want %v",
status, test.want)
}
}
У меня имеется функция, которая тестирует метод аунтификации. При запуске вылетает паник.
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x1 addr=0x1b0 pc=0x749241]
И жалуется вот на эту строчку
handler.ServeHTTP(rr, req)