Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ab717d956a | ||
![]() |
6209c4d506 | ||
![]() |
1efa419cdf | ||
![]() |
4ceb6db4ba | ||
![]() |
9edc8d0fb5 | ||
![]() |
773213e5a4 | ||
![]() |
b7aeff57af |
@@ -11,10 +11,10 @@ import (
|
||||
|
||||
func TestResolvers(t *testing.T) {
|
||||
databases := map[string]string{
|
||||
// constants.DbTypeSqlite: "../../data.db",
|
||||
constants.DbTypeSqlite: "../../data.db",
|
||||
// constants.DbTypeArangodb: "http://localhost:8529",
|
||||
// constants.DbTypeMongodb: "mongodb://localhost:27017",
|
||||
constants.DbTypeCassandraDB: "127.0.0.1:9042",
|
||||
// constants.DbTypeCassandraDB: "127.0.0.1:9042",
|
||||
}
|
||||
|
||||
for dbType, dbURL := range databases {
|
||||
|
@@ -31,31 +31,31 @@ type TestSetup struct {
|
||||
}
|
||||
|
||||
func cleanData(email string) {
|
||||
// verificationRequest, err := db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeBasicAuthSignup)
|
||||
// if err == nil {
|
||||
// err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
// }
|
||||
verificationRequest, err := db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeBasicAuthSignup)
|
||||
if err == nil {
|
||||
err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
}
|
||||
|
||||
// verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeForgotPassword)
|
||||
// if err == nil {
|
||||
// err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
// }
|
||||
verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeForgotPassword)
|
||||
if err == nil {
|
||||
err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
}
|
||||
|
||||
// verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeUpdateEmail)
|
||||
// if err == nil {
|
||||
// err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
// }
|
||||
verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeUpdateEmail)
|
||||
if err == nil {
|
||||
err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
}
|
||||
|
||||
// verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeMagicLinkLogin)
|
||||
// if err == nil {
|
||||
// err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
// }
|
||||
verificationRequest, err = db.Provider.GetVerificationRequestByEmail(email, constants.VerificationTypeMagicLinkLogin)
|
||||
if err == nil {
|
||||
err = db.Provider.DeleteVerificationRequest(verificationRequest)
|
||||
}
|
||||
|
||||
// dbUser, err := db.Provider.GetUserByEmail(email)
|
||||
// if err == nil {
|
||||
// db.Provider.DeleteUser(dbUser)
|
||||
// db.Provider.DeleteSession(dbUser.ID)
|
||||
// }
|
||||
dbUser, err := db.Provider.GetUserByEmail(email)
|
||||
if err == nil {
|
||||
db.Provider.DeleteUser(dbUser)
|
||||
db.Provider.DeleteSession(dbUser.ID)
|
||||
}
|
||||
}
|
||||
|
||||
func createContext(s TestSetup) (*http.Request, context.Context) {
|
||||
|
@@ -24,6 +24,7 @@ func updateUserTest(t *testing.T, s TestSetup) {
|
||||
})
|
||||
|
||||
user := *signupRes.User
|
||||
|
||||
adminRole := "supplier"
|
||||
userRole := "user"
|
||||
newRoles := []*string{&adminRole, &userRole}
|
||||
@@ -40,6 +41,15 @@ func updateUserTest(t *testing.T, s TestSetup) {
|
||||
ID: user.ID,
|
||||
Roles: newRoles,
|
||||
})
|
||||
// supplier is not part of envs
|
||||
assert.Error(t, err)
|
||||
adminRole = "admin"
|
||||
envstore.EnvStoreObj.UpdateEnvVariable(constants.SliceStoreIdentifier, constants.EnvKeyProtectedRoles, []string{adminRole})
|
||||
newRoles = []*string{&adminRole, &userRole}
|
||||
_, err = resolvers.UpdateUserResolver(ctx, model.UpdateUserInput{
|
||||
ID: user.ID,
|
||||
Roles: newRoles,
|
||||
})
|
||||
assert.Nil(t, err)
|
||||
cleanData(email)
|
||||
})
|
||||
|
@@ -4,7 +4,6 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -318,7 +317,7 @@ func CreateIDToken(user models.User, roles []string, hostname, nonce string) (st
|
||||
}
|
||||
|
||||
// check for the extra access token script
|
||||
accessTokenScript := os.Getenv(constants.EnvKeyCustomAccessTokenScript)
|
||||
accessTokenScript := envstore.EnvStoreObj.GetStringStoreEnvVariable(constants.EnvKeyCustomAccessTokenScript)
|
||||
if accessTokenScript != "" {
|
||||
vm := otto.New()
|
||||
|
||||
|
@@ -54,8 +54,8 @@ func IsValidOrigin(url string) bool {
|
||||
// IsValidRoles validates roles
|
||||
func IsValidRoles(userRoles []string, roles []string) bool {
|
||||
valid := true
|
||||
for _, role := range roles {
|
||||
if !StringSliceContains(userRoles, role) {
|
||||
for _, userRole := range userRoles {
|
||||
if !StringSliceContains(roles, userRole) {
|
||||
valid = false
|
||||
break
|
||||
}
|
||||
|
Reference in New Issue
Block a user