feat: ✨ added more utilities functions
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"gopher-toolbox/token"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test_authMiddleware(t *testing.T) {
|
||||
|
||||
w := httptest.NewRecorder()
|
||||
c, _ := gin.CreateTestContext(w)
|
||||
|
||||
paseto := token.New()
|
||||
user := token.UserPayload{
|
||||
Username: "test",
|
||||
// Permissions: map[string]bool{
|
||||
// "view_customer": true,
|
||||
// },
|
||||
}
|
||||
publicToken, error := paseto.Create(user)
|
||||
require.NoError(t, error)
|
||||
payload, error := paseto.Verify(publicToken)
|
||||
require.NoError(t, error)
|
||||
|
||||
c.Request = httptest.NewRequest("GET", "/", nil)
|
||||
c.Request.Header.Set("Authorization", "Bearer "+publicToken)
|
||||
|
||||
authorizationHeader := c.GetHeader("Authorization")
|
||||
require.Equal(t, "Bearer "+publicToken, authorizationHeader)
|
||||
|
||||
authMW := AuthMiddleware(paseto)
|
||||
authMW(c)
|
||||
|
||||
payloadFromMW, exists := c.Get("payload")
|
||||
require.True(t, exists)
|
||||
require.Equal(t, payload, payloadFromMW)
|
||||
}
|
||||
Reference in New Issue
Block a user