authorizer/server/test/resolvers_test.go

77 lines
2.0 KiB
Go
Raw Normal View History

2022-01-17 06:02:13 +00:00
package test
import (
2022-07-10 16:19:33 +00:00
"context"
2022-01-17 06:02:13 +00:00
"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-07-10 16:19:33 +00:00
ctx := context.Background()
2022-05-31 09:30:11 +00:00
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-07-10 16:19:33 +00:00
envData, err := db.Provider.GetEnv(ctx)
2022-01-17 06:02:13 +00:00
if err == nil {
2022-01-29 11:32:44 +00:00
envData.EnvData = ""
2022-07-10 16:19:33 +00:00
db.Provider.UpdateEnv(ctx, 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
})
}
}