otfe/controllers/session_test.go

103 lines
2.4 KiB
Go
Raw Normal View History

2022-03-12 18:06:39 +00:00
// package controllers_test
// import (
// "net/http"
// "net/http/httptest"
// "net/url"
// "strings"
// "testing"
// "git.technical.kiwi/go/otfe/controllers"
// "git.technical.kiwi/go/otfe/misc/b64"
// "git.technical.kiwi/go/otfe/misc/helpers"
// "git.technical.kiwi/go/otfe/models"
// )
// func TestSessionNew(t *testing.T) {
// var s controllers.Session
// handler := http.HandlerFunc(s.New)
// req, err := http.NewRequest("GET", "/login", nil)
// w := httptest.NewRecorder()
// if err != nil {
// t.Fatal(err)
// }
// handler(w, req)
// body := w.Body.String()
// if !strings.Contains(body, "<title>Login</title>") {
// t.Fail()
// }
// }
// func TestSessionCreate(t *testing.T) {
// //Create test user
// var s controllers.Session
// handler := http.HandlerFunc(s.Create)
// req, w := setup(t, "POST", "/login")
// addTofForm(req, "email=test", "password=test")
// handler(w, req)
// errorMessage := getCookie("error", w.Header()["Set-Cookie"])
// t.Log(errorMessage)
// t.Log(b64.Decode(errorMessage))
// header := w.Header()
// sessionid := getCookie("session", header["Set-Cookie"])
// var session models.Session
// if session.Read(sessionid) != nil {
// t.Fatal("Could not find session")
// }
// }
// /*func testloginFail(t *testing.T) {
// }*/
// func setup(t *testing.T, method string, url string) (*http.Request, *httptest.ResponseRecorder) {
// req, err := http.NewRequest("POST", "/login", nil)
// w := httptest.NewRecorder()
// if err != nil {
// t.Fatal(err)
// }
// return req, w
// }
// func createUser(t *testing.T, email string, password string) models.User {
// password, err := helpers.HashPassword(password)
// if err != nil {
// t.Fatal("Failed to create password")
// }
// user := models.User{Email: email, Password: password}
// if user.Create() != nil {
// t.Fatal("failed to create user")
// }
// return user
// }
// func getCookie(name string, cookies []string) string {
// for _, cookie := range cookies {
// a := strings.Split(cookie, "=")
// if a[0] == name {
// return a[1]
// }
// }
// return "Cookie not found"
// }
// func addTofForm(r *http.Request, values ...string) {
// form, _ := url.ParseQuery(r.URL.RawQuery)
// for _, value := range values {
// v := strings.Split(value, "=")
// form.Add(v[0], v[1])
// }
// r.URL.RawQuery = form.Encode()
// r.Form.Encode()
// }