authorizer/server/test/resolvers_test.go

75 lines
1.9 KiB
Go
Raw Permalink Normal View History

2022-01-17 06:02:13 +00:00
package test
import (
"testing"
"github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/db"
"github.com/authorizerdev/authorizer/server/env"
2022-05-30 03:49:55 +00:00
"github.com/authorizerdev/authorizer/server/memorystore"
2022-01-17 06:02:13 +00:00
)
func TestResolvers(t *testing.T) {
databases := map[string]string{
2022-05-13 02:19:45 +00:00
constants.DbTypeSqlite: "../../data.db",
2022-02-28 02:25:01 +00:00
// constants.DbTypeArangodb: "http://localhost:8529",
// constants.DbTypeMongodb: "mongodb://localhost:27017",
2022-05-13 02:19:45 +00:00
// constants.DbTypeCassandraDB: "127.0.0.1:9042",
2022-01-17 06:02:13 +00:00
}
2022-03-09 13:25:18 +00:00
2022-01-17 06:02:13 +00:00
for dbType, dbURL := range databases {
2022-03-02 12:12:31 +00:00
s := testSetup()
2022-05-31 09:30:11 +00:00
defer s.Server.Close()
2022-05-30 07:17:50 +00:00
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyDatabaseURL, dbURL)
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyDatabaseType, dbType)
2022-03-02 12:12:31 +00:00
err := db.InitDB()
if err != nil {
t.Errorf("Error initializing database: %s", err)
}
2022-01-17 06:02:13 +00:00
// clean the persisted config for test to use fresh config
2022-01-21 08:04:04 +00:00
envData, err := db.Provider.GetEnv()
2022-01-17 06:02:13 +00:00
if err == nil {
2022-01-29 11:32:44 +00:00
envData.EnvData = ""
2022-01-21 08:04:04 +00:00
db.Provider.UpdateEnv(envData)
2022-01-17 06:02:13 +00:00
}
env.PersistEnv()
2022-05-30 07:17:50 +00:00
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyEnv, "test")
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyIsProd, false)
2022-01-17 06:02:13 +00:00
t.Run("should pass tests for "+dbType, func(t *testing.T) {
// admin tests
adminSignupTests(t, s)
verificationRequestsTest(t, s)
usersTest(t, s)
deleteUserTest(t, s)
updateUserTest(t, s)
adminLoginTests(t, s)
adminLogoutTests(t, s)
adminSessionTests(t, s)
updateEnvTests(t, s)
envTests(t, s)
revokeAccessTest(t, s)
enableAccessTest(t, s)
2022-03-24 13:53:43 +00:00
generateJWTkeyTest(t, s)
2022-01-17 06:02:13 +00:00
// user tests
loginTests(t, s)
signupTests(t, s)
forgotPasswordTest(t, s)
resendVerifyEmailTests(t, s)
resetPasswordTest(t, s)
verifyEmailTest(t, s)
sessionTests(t, s)
profileTests(t, s)
updateProfileTests(t, s)
magicLinkLoginTests(t, s)
logoutTests(t, s)
metaTests(t, s)
inviteUserTest(t, s)
validateJwtTokenTest(t, s)
2022-01-17 06:02:13 +00:00
})
}
}