Tests
This commit is contained in:
parent
1bb7e7e157
commit
da114c560b
3 changed files with 87 additions and 2 deletions
28
pkg/user/user_test.go
Normal file
28
pkg/user/user_test.go
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-chi/chi/v5"
|
||||||
|
"io"
|
||||||
|
"net/http/httptest"
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestGetLoginForm(t *testing.T) {
|
||||||
|
req := httptest.NewRequest("GET", "/login", nil)
|
||||||
|
rec := httptest.NewRecorder()
|
||||||
|
router := chi.NewRouter()
|
||||||
|
router.Group(func(r chi.Router) {
|
||||||
|
Register(r)
|
||||||
|
})
|
||||||
|
|
||||||
|
loginForm(rec, req)
|
||||||
|
|
||||||
|
_, err := io.ReadAll(rec.Body)
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Get login form should not return an error")
|
||||||
|
}
|
||||||
|
|
||||||
|
if rec.Code != 200 {
|
||||||
|
t.Error("Login form should not return an non 200 status code")
|
||||||
|
}
|
||||||
|
}
|
59
pkg/user/userclient_test.go
Normal file
59
pkg/user/userclient_test.go
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
package user
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestAdminUserExists(t *testing.T) {
|
||||||
|
u := GetUserClient()
|
||||||
|
res, err := u.login("admin", "password")
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Login should not return a error")
|
||||||
|
}
|
||||||
|
|
||||||
|
if res == false {
|
||||||
|
t.Error("Login should return true for admin/password")
|
||||||
|
} else {
|
||||||
|
t.Log("Login for admin/password works")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestLoginWithWrongUserDataFailed(t *testing.T) {
|
||||||
|
u := GetUserClient()
|
||||||
|
res, err := u.login("invalide", "data")
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Login shouldnt return an erroro")
|
||||||
|
}
|
||||||
|
|
||||||
|
if res == true {
|
||||||
|
t.Error("Login shouldnt be true with invalide data")
|
||||||
|
} else {
|
||||||
|
t.Log("Login failed successfully")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestRegisterAndLogin(t *testing.T) {
|
||||||
|
u := GetUserClient()
|
||||||
|
res, err := u.register("test", "test")
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Register should not return an error")
|
||||||
|
}
|
||||||
|
|
||||||
|
if res == false {
|
||||||
|
t.Error("Register schould return true")
|
||||||
|
} else {
|
||||||
|
t.Log("User Register ok")
|
||||||
|
}
|
||||||
|
|
||||||
|
res, err = u.login("test", "test")
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
t.Error("Login should not return an error")
|
||||||
|
}
|
||||||
|
|
||||||
|
if res == false {
|
||||||
|
t.Error("Login schould return true")
|
||||||
|
} else {
|
||||||
|
t.Log("User Login ok")
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,7 +10,5 @@ Alles ist in einem binary
|
||||||
|
|
||||||
next steps:
|
next steps:
|
||||||
* auth über mehrer pkg sharen z.b. durch config object statt chi router in die Register funktion reichen
|
* auth über mehrer pkg sharen z.b. durch config object statt chi router in die Register funktion reichen
|
||||||
* tests für user client bauen
|
|
||||||
* tests für http functionen bauen, rausfinden wie das geht
|
|
||||||
* mysql migrationen oder andere datenbank für user einbauen
|
* mysql migrationen oder andere datenbank für user einbauen
|
||||||
* ci/Cd bis docker image bauen
|
* ci/Cd bis docker image bauen
|
Loading…
Reference in a new issue