Add go backend
This commit is contained in:
199
api/test/controllers/user_test.go
Normal file
199
api/test/controllers/user_test.go
Normal file
@@ -0,0 +1,199 @@
|
||||
package controllers_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"magmise/controllers"
|
||||
"magmise/models"
|
||||
"magmise/test"
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// "/user/{username}"
|
||||
func TestGetUser(t *testing.T) {
|
||||
setup := test.Setup(t, "get user")
|
||||
defer setup()
|
||||
|
||||
var user controllers.User
|
||||
w := test.Request(t, user.Get, "GET", "/user/{username}", `{}`, map[string]string{"username": "fred"})
|
||||
|
||||
var usermodel models.User
|
||||
if json.Unmarshal(w.Body.Bytes(), &usermodel) != nil {
|
||||
t.Fail()
|
||||
}
|
||||
if usermodel.Username != "fred" {
|
||||
t.Fatal(usermodel)
|
||||
}
|
||||
}
|
||||
|
||||
// "/user"
|
||||
func TestCreateUser(t *testing.T) {
|
||||
setup := test.Setup(t, "create user")
|
||||
defer setup()
|
||||
var user controllers.User
|
||||
w := test.Request(t, user.Create, "POST", "/user/{username}", `{"username": "fred", "password": "a"}`, nil)
|
||||
if w.Code != http.StatusOK {
|
||||
t.Fatal(w.Code, w.Result().Status)
|
||||
}
|
||||
}
|
||||
|
||||
// // "/user/application/:userid/:discordid"
|
||||
// func TestCreateuser(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
|
||||
// var user controllers.User
|
||||
// handler := http.HandlerFunc(user.Createuser)
|
||||
// r, err := http.NewRequest("POST", "/user/application/:userid/:discordid", nil)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":userid", "6")
|
||||
// q.Add(":discordid", "6")
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Fail()
|
||||
// }
|
||||
// }
|
||||
|
||||
// // PATCH "/user/application/:userid"
|
||||
// func TestUpdateuser(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
// t.Log("Test Updateuser")
|
||||
// usermodel := models.User{userId: "1", Status: "closed"}
|
||||
// userjson, err := json.Marshal(usermodel)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// var user controllers.Userco
|
||||
// handler := http.HandlerFunc(user.Updateuser)
|
||||
// r, err := http.NewRequest("PATCH", "/user/application/:userid", bytes.NewBuffer(userjson))
|
||||
// r.Header.Set("Content-Type", "application/json; charset=UTF-8")
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":userid", "1")
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Log(w.Body)
|
||||
// t.Fatal(w.Code)
|
||||
// }
|
||||
// usermodel.Read()
|
||||
// if usermodel.Status != "closed" {
|
||||
|
||||
// t.Fail()
|
||||
// }
|
||||
// }
|
||||
|
||||
// // "/user/application/:userid"
|
||||
// func TestDeleteuser(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
|
||||
// var user controllers.User
|
||||
// handler := http.HandlerFunc(user.Deleteuser)
|
||||
// r, err := http.NewRequest("POST", "/user/application/:userid", nil)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":userid", "1")
|
||||
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Fail()
|
||||
// }
|
||||
// }
|
||||
|
||||
// // /user/:discordid/users/application/:status/
|
||||
// func TestGetUserusers(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
|
||||
// handler := http.HandlerFunc(controllers.User{}.GetUserusers)
|
||||
// r, err := http.NewRequest("GET", "/user/:discordid/users/application/:status/", nil)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":discordid", "1")
|
||||
// q.Add(":status", "all")
|
||||
// q.Add(":limit", "100")
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Fail()
|
||||
// }
|
||||
// var users []models.User
|
||||
// if json.Unmarshal(w.Body.Bytes(), &users) != nil {
|
||||
// t.Fatal("Failed unmarshal")
|
||||
// }
|
||||
|
||||
// for _, user := range users {
|
||||
// t.Log(user)
|
||||
// t.Log("\n")
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// // /users/application/:status/
|
||||
// func TestGetusers(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
|
||||
// handler := http.HandlerFunc(controllers.User{}.GetUserusers)
|
||||
// r, err := http.NewRequest("GET", "/users/application/:status/", nil)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":status", "all")
|
||||
// q.Add(":limit", "100")
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Fail()
|
||||
// }
|
||||
// var users []models.User
|
||||
// if json.Unmarshal(w.Body.Bytes(), &users) != nil {
|
||||
// t.Fatal("Failed unmarshal")
|
||||
// }
|
||||
|
||||
// for _, user := range users {
|
||||
// t.Log(user)
|
||||
// t.Log("\n")
|
||||
// }
|
||||
|
||||
// }
|
||||
|
||||
// // "/answer/application/:userid/"
|
||||
// func TestAddAnswer(t *testing.T) {
|
||||
// setup := test.Setup(t)
|
||||
// defer setup()
|
||||
|
||||
// var user controllers.User
|
||||
// handler := http.HandlerFunc(user.AddAnswer)
|
||||
// r, err := http.NewRequest("POST", "/answer/application/:userid/", bytes.NewBufferString("Hello world"))
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// q := r.URL.Query()
|
||||
// q.Add(":userid", "1")
|
||||
// r.URL.RawQuery = q.Encode()
|
||||
// w := httptest.NewRecorder()
|
||||
// handler(w, r)
|
||||
// if w.Code != 200 {
|
||||
// t.Fatal("Failed to add answer", w.Code)
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user