VILLASweb-backend-go/routes/user/user_test.go
smavros 8e185ecba4 Adds NewAuthenticateForTest() in common/utilities.go:
- The function must return the token and an error (string, error).
    In case of an error the token is going to be an empty string. The
    assertion for the error __must__ be executed in the body of the
    test. The utility functions __must not__ panic. All of the tests
    must use this function in the future.
2019-08-04 20:08:27 +02:00

40 lines
959 B
Go

package user
import (
"encoding/json"
"testing"
"github.com/gin-gonic/gin"
"github.com/stretchr/testify/assert"
"git.rwth-aachen.de/acs/public/villas/villasweb-backend-go/common"
)
func TestUserEndpoints(t *testing.T) {
myUsers := []common.User{common.User0, common.UserA, common.UserB}
msgUsers := common.ResponseMsgUsers{Users: myUsers}
db := common.DummyInitDB()
defer db.Close()
common.DummyPopulateDB(db)
router := gin.Default()
api := router.Group("/api")
VisitorAuthenticate(api.Group("/authenticate"))
api.Use(Authentication(true))
RegisterUserEndpoints(api.Group("/users"))
credjson, _ := json.Marshal(common.CredAdmin)
msgUsersjson, _ := json.Marshal(msgUsers)
token, err := common.NewAuthenticateForTest(router,
"/api/authenticate", "POST", credjson, 200)
assert.NoError(t, err)
// test GET user/
err = common.NewTestEndpoint(router, token, "/api/users", "GET",
nil, 200, msgUsersjson)
assert.NoError(t, err)
}