mirror of
https://git.rwth-aachen.de/acs/public/villas/web-backend-go/
synced 2025-03-30 00:00:12 +01:00
get rid of Request struct as is caused more trouble than good
This commit is contained in:
parent
5855fccbe3
commit
16b3499126
5 changed files with 64 additions and 57 deletions
|
@ -1,15 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import "github.com/jinzhu/gorm/dialects/postgres"
|
|
||||||
|
|
||||||
type KeyModels map[string]interface{}
|
|
||||||
|
|
||||||
type Request struct {
|
|
||||||
Username string `json:"username,omitempty"`
|
|
||||||
Password string `json:"password,omitempty"`
|
|
||||||
Mail string `json:"mail,omitempty"`
|
|
||||||
Role string `json:"role,omitempty"`
|
|
||||||
Name string `json:"name,omitempty"`
|
|
||||||
Running bool `json:"running,omitempty"`
|
|
||||||
StartParameters postgres.Jsonb `json:"startParameters,omitempty"`
|
|
||||||
}
|
|
|
@ -33,17 +33,22 @@ var UserB = User{Username: "User_B", Password: string(pwB),
|
||||||
|
|
||||||
// Credentials
|
// Credentials
|
||||||
|
|
||||||
var AdminCredentials = Request{
|
type Credentials struct {
|
||||||
|
Username string
|
||||||
|
Password string
|
||||||
|
}
|
||||||
|
|
||||||
|
var AdminCredentials = Credentials{
|
||||||
Username: User0.Username,
|
Username: User0.Username,
|
||||||
Password: StrPassword0,
|
Password: StrPassword0,
|
||||||
}
|
}
|
||||||
|
|
||||||
var UserACredentials = Request{
|
var UserACredentials = Credentials{
|
||||||
Username: UserA.Username,
|
Username: UserA.Username,
|
||||||
Password: StrPasswordA,
|
Password: StrPasswordA,
|
||||||
}
|
}
|
||||||
|
|
||||||
var UserBCredentials = Request{
|
var UserBCredentials = Credentials{
|
||||||
Username: UserB.Username,
|
Username: UserB.Username,
|
||||||
Password: StrPasswordB,
|
Password: StrPasswordB,
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,9 @@ import (
|
||||||
const UserIDCtx = "user_id"
|
const UserIDCtx = "user_id"
|
||||||
const UserRoleCtx = "user_role"
|
const UserRoleCtx = "user_role"
|
||||||
|
|
||||||
|
// used in testing
|
||||||
|
type KeyModels map[string]interface{}
|
||||||
|
|
||||||
func ProvideErrorResponse(c *gin.Context, err error) bool {
|
func ProvideErrorResponse(c *gin.Context, err error) bool {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == gorm.ErrRecordNotFound {
|
if err == gorm.ErrRecordNotFound {
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/jinzhu/gorm"
|
"github.com/jinzhu/gorm"
|
||||||
|
"github.com/jinzhu/gorm/dialects/postgres"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
@ -15,6 +16,12 @@ import (
|
||||||
var router *gin.Engine
|
var router *gin.Engine
|
||||||
var db *gorm.DB
|
var db *gorm.DB
|
||||||
|
|
||||||
|
type ScenarioRequest struct {
|
||||||
|
Name string `json:"name,omitempty"`
|
||||||
|
Running bool `json:"running,omitempty"`
|
||||||
|
StartParameters postgres.Jsonb `json:"startParameters,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
|
|
||||||
db = common.DummyInitDB()
|
db = common.DummyInitDB()
|
||||||
|
@ -42,7 +49,7 @@ func TestAddScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -71,9 +78,9 @@ func TestAddScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// try to POST a malformed scenario
|
// try to POST a malformed scenario
|
||||||
// Required field StartParameters is missing
|
// Required fields are missing
|
||||||
malformedNewScenario := common.Request{
|
malformedNewScenario := ScenarioRequest{
|
||||||
Username: "thisisnotneeded",
|
Running: false,
|
||||||
}
|
}
|
||||||
// this should NOT work and return a unprocessable entity 442 status code
|
// this should NOT work and return a unprocessable entity 442 status code
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
|
@ -94,7 +101,7 @@ func TestUpdateScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -112,7 +119,7 @@ func TestUpdateScenario(t *testing.T) {
|
||||||
newScenarioID, err := common.GetResponseID(resp)
|
newScenarioID, err := common.GetResponseID(resp)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
updatedScenario := common.Request{
|
updatedScenario := ScenarioRequest{
|
||||||
Name: "Updated name",
|
Name: "Updated name",
|
||||||
Running: !common.ScenarioA.Running,
|
Running: !common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -167,7 +174,7 @@ func TestGetAllScenariosAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenarioB
|
// test POST scenarios/ $newScenarioB
|
||||||
newScenarioB := common.Request{
|
newScenarioB := ScenarioRequest{
|
||||||
Name: common.ScenarioB.Name,
|
Name: common.ScenarioB.Name,
|
||||||
Running: common.ScenarioB.Running,
|
Running: common.ScenarioB.Running,
|
||||||
StartParameters: common.ScenarioB.StartParameters,
|
StartParameters: common.ScenarioB.StartParameters,
|
||||||
|
@ -183,7 +190,7 @@ func TestGetAllScenariosAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenarioA
|
// test POST scenarios/ $newScenarioA
|
||||||
newScenarioA := common.Request{
|
newScenarioA := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -223,7 +230,7 @@ func TestGetAllScenariosAsUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenarioB
|
// test POST scenarios/ $newScenarioB
|
||||||
newScenarioB := common.Request{
|
newScenarioB := ScenarioRequest{
|
||||||
Name: common.ScenarioB.Name,
|
Name: common.ScenarioB.Name,
|
||||||
Running: common.ScenarioB.Running,
|
Running: common.ScenarioB.Running,
|
||||||
StartParameters: common.ScenarioB.StartParameters,
|
StartParameters: common.ScenarioB.StartParameters,
|
||||||
|
@ -240,7 +247,7 @@ func TestGetAllScenariosAsUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenarioA
|
// test POST scenarios/ $newScenarioA
|
||||||
newScenarioA := common.Request{
|
newScenarioA := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -275,7 +282,7 @@ func TestDeleteScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -324,7 +331,7 @@ func TestAddUserToScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -379,7 +386,7 @@ func TestGetAllUsersOfScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
@ -424,7 +431,7 @@ func TestRemoveUserFromScenario(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST scenarios/ $newScenario
|
// test POST scenarios/ $newScenario
|
||||||
newScenario := common.Request{
|
newScenario := ScenarioRequest{
|
||||||
Name: common.ScenarioA.Name,
|
Name: common.ScenarioA.Name,
|
||||||
Running: common.ScenarioA.Running,
|
Running: common.ScenarioA.Running,
|
||||||
StartParameters: common.ScenarioA.StartParameters,
|
StartParameters: common.ScenarioA.StartParameters,
|
||||||
|
|
|
@ -15,6 +15,13 @@ import (
|
||||||
var router *gin.Engine
|
var router *gin.Engine
|
||||||
var db *gorm.DB
|
var db *gorm.DB
|
||||||
|
|
||||||
|
type UserRequest struct {
|
||||||
|
Username string `json:"username,omitempty"`
|
||||||
|
Password string `json:"password,omitempty"`
|
||||||
|
Mail string `json:"mail,omitempty"`
|
||||||
|
Role string `json:"role,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
|
|
||||||
db = common.DummyInitDB()
|
db = common.DummyInitDB()
|
||||||
|
@ -42,7 +49,7 @@ func TestAddGetUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// test POST user/ $newUser
|
// test POST user/ $newUser
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "Alice483",
|
Username: "Alice483",
|
||||||
Password: "th1s_I5_@lice#",
|
Password: "th1s_I5_@lice#",
|
||||||
Mail: "mail@domain.com",
|
Mail: "mail@domain.com",
|
||||||
|
@ -90,7 +97,7 @@ func TestUsersNotAllowedActions(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user
|
// Add a user
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "NotAllowedActions",
|
Username: "NotAllowedActions",
|
||||||
Password: "N0t_@LLow3d_act10n5",
|
Password: "N0t_@LLow3d_act10n5",
|
||||||
Mail: "not@allowed.ac",
|
Mail: "not@allowed.ac",
|
||||||
|
@ -106,7 +113,7 @@ func TestUsersNotAllowedActions(t *testing.T) {
|
||||||
|
|
||||||
// Authenticate as the added user
|
// Authenticate as the added user
|
||||||
token, err = common.NewAuthenticateForTest(router,
|
token, err = common.NewAuthenticateForTest(router,
|
||||||
"/api/authenticate", "POST", common.Request{
|
"/api/authenticate", "POST", UserRequest{
|
||||||
Username: newUser.Username,
|
Username: newUser.Username,
|
||||||
Password: newUser.Password,
|
Password: newUser.Password,
|
||||||
})
|
})
|
||||||
|
@ -155,7 +162,7 @@ func TestGetAllUsers(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user
|
// Add a user
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "UserGetAllUsers",
|
Username: "UserGetAllUsers",
|
||||||
Password: "get@ll_User5",
|
Password: "get@ll_User5",
|
||||||
Mail: "get@all.users",
|
Mail: "get@all.users",
|
||||||
|
@ -186,7 +193,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user that will modify itself
|
// Add a user that will modify itself
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "modMyself",
|
Username: "modMyself",
|
||||||
Password: "mod_My5elf",
|
Password: "mod_My5elf",
|
||||||
Mail: "mod@my.self",
|
Mail: "mod@my.self",
|
||||||
|
@ -202,7 +209,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
|
|
||||||
// authenticate as the new user
|
// authenticate as the new user
|
||||||
token, err = common.NewAuthenticateForTest(router,
|
token, err = common.NewAuthenticateForTest(router,
|
||||||
"/api/authenticate", "POST", common.Request{
|
"/api/authenticate", "POST", UserRequest{
|
||||||
Username: newUser.Username,
|
Username: newUser.Username,
|
||||||
Password: newUser.Password,
|
Password: newUser.Password,
|
||||||
})
|
})
|
||||||
|
@ -215,7 +222,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
newUser.Password = ""
|
newUser.Password = ""
|
||||||
|
|
||||||
// modify newUser's own name
|
// modify newUser's own name
|
||||||
modRequest := common.Request{Username: "myNewName"}
|
modRequest := UserRequest{Username: "myNewName"}
|
||||||
newUser.Username = modRequest.Username
|
newUser.Username = modRequest.Username
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -226,7 +233,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify Admin's name (ILLEGAL)
|
// modify Admin's name (ILLEGAL)
|
||||||
modRequest = common.Request{Username: "myNewName"}
|
modRequest = UserRequest{Username: "myNewName"}
|
||||||
newUser.Username = modRequest.Username
|
newUser.Username = modRequest.Username
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
||||||
|
@ -234,7 +241,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
||||||
|
|
||||||
// modify newUser's own email
|
// modify newUser's own email
|
||||||
modRequest = common.Request{Mail: "my@new.email"}
|
modRequest = UserRequest{Mail: "my@new.email"}
|
||||||
newUser.Mail = modRequest.Mail
|
newUser.Mail = modRequest.Mail
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -245,7 +252,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify Admin's own email (ILLEGAL)
|
// modify Admin's own email (ILLEGAL)
|
||||||
modRequest = common.Request{Mail: "my@new.email"}
|
modRequest = UserRequest{Mail: "my@new.email"}
|
||||||
newUser.Mail = modRequest.Mail
|
newUser.Mail = modRequest.Mail
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
||||||
|
@ -253,7 +260,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
||||||
|
|
||||||
// modify newUser's role (ILLEGAL)
|
// modify newUser's role (ILLEGAL)
|
||||||
modRequest = common.Request{Role: "Admin"}
|
modRequest = UserRequest{Role: "Admin"}
|
||||||
newUser.Role = modRequest.Role
|
newUser.Role = modRequest.Role
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -262,7 +269,7 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
assert.Equalf(t, 403, code, "Response body: \n%v\n", resp)
|
||||||
|
|
||||||
// modify newUser's password
|
// modify newUser's password
|
||||||
modRequest = common.Request{Password: "5tr0ng_pw!"}
|
modRequest = UserRequest{Password: "5tr0ng_pw!"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
common.KeyModels{"user": modRequest})
|
common.KeyModels{"user": modRequest})
|
||||||
|
@ -271,14 +278,14 @@ func TestModifyAddedUserAsUser(t *testing.T) {
|
||||||
|
|
||||||
// try to login as newUser with the modified username and password
|
// try to login as newUser with the modified username and password
|
||||||
token, err = common.NewAuthenticateForTest(router,
|
token, err = common.NewAuthenticateForTest(router,
|
||||||
"/api/authenticate", "POST", common.Request{
|
"/api/authenticate", "POST", UserRequest{
|
||||||
Username: newUser.Username,
|
Username: newUser.Username,
|
||||||
Password: modRequest.Password,
|
Password: modRequest.Password,
|
||||||
})
|
})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify Admin's password (ILLEGAL)
|
// modify Admin's password (ILLEGAL)
|
||||||
modRequest = common.Request{Password: "4dm1ns_pw!"}
|
modRequest = UserRequest{Password: "4dm1ns_pw!"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
"/api/users/1", "PUT", common.KeyModels{"user": modRequest})
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
@ -297,7 +304,7 @@ func TestInvalidUserUpdate(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user
|
// Add a user
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "invalidUpdatedUser",
|
Username: "invalidUpdatedUser",
|
||||||
Password: "wr0ng_Upd@te!",
|
Password: "wr0ng_Upd@te!",
|
||||||
Mail: "inv@user.upd",
|
Mail: "inv@user.upd",
|
||||||
|
@ -312,7 +319,7 @@ func TestInvalidUserUpdate(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify newUser's password with INVALID password
|
// modify newUser's password with INVALID password
|
||||||
modRequest := common.Request{Password: "short"}
|
modRequest := UserRequest{Password: "short"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
common.KeyModels{"user": modRequest})
|
common.KeyModels{"user": modRequest})
|
||||||
|
@ -320,7 +327,7 @@ func TestInvalidUserUpdate(t *testing.T) {
|
||||||
assert.Equalf(t, 400, code, "Response body: \n%v\n", resp)
|
assert.Equalf(t, 400, code, "Response body: \n%v\n", resp)
|
||||||
|
|
||||||
// modify newUser's email with INVALID email
|
// modify newUser's email with INVALID email
|
||||||
modRequest = common.Request{Mail: "notEmail"}
|
modRequest = UserRequest{Mail: "notEmail"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
common.KeyModels{"user": modRequest})
|
common.KeyModels{"user": modRequest})
|
||||||
|
@ -328,7 +335,7 @@ func TestInvalidUserUpdate(t *testing.T) {
|
||||||
assert.Equalf(t, 400, code, "Response body: \n%v\n", resp)
|
assert.Equalf(t, 400, code, "Response body: \n%v\n", resp)
|
||||||
|
|
||||||
// modify newUser's role with INVALID role
|
// modify newUser's role with INVALID role
|
||||||
modRequest = common.Request{Role: "noRole"}
|
modRequest = UserRequest{Role: "noRole"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
common.KeyModels{"user": modRequest})
|
common.KeyModels{"user": modRequest})
|
||||||
|
@ -348,7 +355,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user
|
// Add a user
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "modAddedUser",
|
Username: "modAddedUser",
|
||||||
Password: "mod_4d^2ed_0ser",
|
Password: "mod_4d^2ed_0ser",
|
||||||
Mail: "mod@added.user",
|
Mail: "mod@added.user",
|
||||||
|
@ -369,7 +376,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
newUser.Password = ""
|
newUser.Password = ""
|
||||||
|
|
||||||
// modify newUser's name
|
// modify newUser's name
|
||||||
modRequest := common.Request{Username: "NewUsername"}
|
modRequest := UserRequest{Username: "NewUsername"}
|
||||||
newUser.Username = modRequest.Username
|
newUser.Username = modRequest.Username
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -380,7 +387,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify newUser's email
|
// modify newUser's email
|
||||||
modRequest = common.Request{Mail: "new@e.mail"}
|
modRequest = UserRequest{Mail: "new@e.mail"}
|
||||||
newUser.Mail = modRequest.Mail
|
newUser.Mail = modRequest.Mail
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -391,7 +398,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify newUser's role
|
// modify newUser's role
|
||||||
modRequest = common.Request{Role: "Admin"}
|
modRequest = UserRequest{Role: "Admin"}
|
||||||
newUser.Role = modRequest.Role
|
newUser.Role = modRequest.Role
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
|
@ -402,7 +409,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// modify newUser's password
|
// modify newUser's password
|
||||||
modRequest = common.Request{Password: "4_g00d_pw!"}
|
modRequest = UserRequest{Password: "4_g00d_pw!"}
|
||||||
code, resp, err = common.NewTestEndpoint(router, token,
|
code, resp, err = common.NewTestEndpoint(router, token,
|
||||||
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
fmt.Sprintf("/api/users/%v", newUserID), "PUT",
|
||||||
common.KeyModels{"user": modRequest})
|
common.KeyModels{"user": modRequest})
|
||||||
|
@ -411,7 +418,7 @@ func TestModifyAddedUserAsAdmin(t *testing.T) {
|
||||||
|
|
||||||
// try to login as newUser with the modified username and password
|
// try to login as newUser with the modified username and password
|
||||||
_, err = common.NewAuthenticateForTest(router,
|
_, err = common.NewAuthenticateForTest(router,
|
||||||
"/api/authenticate", "POST", common.Request{
|
"/api/authenticate", "POST", UserRequest{
|
||||||
Username: newUser.Username,
|
Username: newUser.Username,
|
||||||
Password: modRequest.Password,
|
Password: modRequest.Password,
|
||||||
})
|
})
|
||||||
|
@ -430,7 +437,7 @@ func TestDeleteUser(t *testing.T) {
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
|
|
||||||
// Add a user
|
// Add a user
|
||||||
newUser := common.Request{
|
newUser := UserRequest{
|
||||||
Username: "toBeDeletedUser",
|
Username: "toBeDeletedUser",
|
||||||
Password: "f0r_deletIOn_0ser",
|
Password: "f0r_deletIOn_0ser",
|
||||||
Mail: "to@be.deleted",
|
Mail: "to@be.deleted",
|
||||||
|
|
Loading…
Add table
Reference in a new issue