fix test cases for user data

This commit is contained in:
manoj 2022-12-01 14:58:35 +05:30
parent fc319d7934
commit 2d968309bb
17 changed files with 135 additions and 41 deletions

View File

@ -10,5 +10,4 @@ SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=2525 SMTP_PORT=2525
SMTP_USERNAME=test SMTP_USERNAME=test
SMTP_PASSWORD=test SMTP_PASSWORD=test
SENDER_EMAIL="info@authorizer.dev" SENDER_EMAIL="info@authorizer.dev"
AWS_REGION=ap-south-1

14
couchbase.env Normal file
View File

@ -0,0 +1,14 @@
ENV=test
DATABASE_TYPE=couchbase
COUCHBASE_SCOPE=_default
DATABASE_USERNAME=admin
DATABASE_PASSWORD=123456
COUCHBASE_BUCKET=auth
DATABASE_URL=couchbase://127.0.0.1
CUSTOM_ACCESS_TOKEN_SCRIPT="function(user,tokenPayload){var data = tokenPayload;data.extra = {'x-extra-id': user.id};return data;}"
SMTP_HOST=smtp.mailtrap.io
SMTP_PORT=2525
SMTP_USERNAME=test
SMTP_PASSWORD=test
SENDER_EMAIL="info@authorizer.dev"

View File

@ -1,6 +1,8 @@
package db package db
import ( import (
"fmt"
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
@ -19,6 +21,7 @@ var Provider providers.Provider
func InitDB() error { func InitDB() error {
var err error var err error
fmt.Println("isCouchbaseDB::: InitDB")
envs := memorystore.RequiredEnvStoreObj.GetRequiredEnv() envs := memorystore.RequiredEnvStoreObj.GetRequiredEnv()
@ -77,11 +80,13 @@ func InitDB() error {
if isCouchbaseDB { if isCouchbaseDB {
log.Info("Initializing CouchbaseDB Driver for: ", envs.DatabaseType) log.Info("Initializing CouchbaseDB Driver for: ", envs.DatabaseType)
Provider, err = couchbase.NewProvider() Provider, err = couchbase.NewProvider()
fmt.Println("isCouchbaseDB", Provider)
if err != nil { if err != nil {
log.Fatal("Failed to initialize Couchbase driver: ", err) log.Fatal("Failed to initialize Couchbase driver: ", err)
return err return err
} }
} }
fmt.Println("isCouchbaseDB:::", Provider)
return nil return nil
} }

View File

@ -63,7 +63,7 @@ func (p *provider) UpsertOTP(ctx context.Context, otpParam *models.OTP) (*models
return otp, err return otp, err
} }
} else { } else {
query := fmt.Sprintf(`UPDATE auth._default.%s SET otp = '%s', expires_at = %d, updated_at = %d WHERE id = '%s'`, models.Collections.OTP, otp.Otp, otp.ExpiresAt, otp.UpdatedAt, otp.ID) query := fmt.Sprintf(`UPDATE auth._default.%s SET otp="%s", expires_at=%d, updated_at=%d WHERE _id="%s"`, models.Collections.OTP, otp.Otp, otp.ExpiresAt, otp.UpdatedAt, otp.ID)
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
_, err := scope.Query(query, &gocb.QueryOptions{}) _, err := scope.Query(query, &gocb.QueryOptions{})
if err != nil { if err != nil {

View File

@ -1,12 +1,10 @@
package couchbase package couchbase
import ( import (
"context" "fmt"
"os" "os"
"reflect"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/db/models"
"github.com/authorizerdev/authorizer/server/memorystore" "github.com/authorizerdev/authorizer/server/memorystore"
"github.com/couchbase/gocb/v2" "github.com/couchbase/gocb/v2"
) )
@ -19,12 +17,12 @@ type provider struct {
// NewProvider returns a new SQL provider // NewProvider returns a new SQL provider
// TODO change following provider to new db provider // TODO change following provider to new db provider
func NewProvider() (*provider, error) { func NewProvider() (*provider, error) {
scopeName := os.Getenv(constants.EnvCouchbaseScope) // scopeName := os.Getenv(constants.EnvCouchbaseScope)
bucketName := os.Getenv(constants.EnvCouchbaseBucket) bucketName := os.Getenv(constants.EnvCouchbaseBucket)
dbURL := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseURL dbURL := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseURL
userName := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseUsername userName := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabaseUsername
password := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabasePassword password := memorystore.RequiredEnvStoreObj.GetRequiredEnv().DatabasePassword
fmt.Println("dbURL", dbURL, userName, password)
opts := gocb.ClusterOptions{ opts := gocb.ClusterOptions{
Username: userName, Username: userName,
Password: password, Password: password,
@ -35,20 +33,28 @@ func NewProvider() (*provider, error) {
return nil, err return nil, err
} }
bucket := cluster.Bucket(bucketName) bucket := cluster.Bucket(bucketName)
// fmt.Println("1 called in oprovuider")
v := reflect.ValueOf(models.Collections) // v := reflect.ValueOf(models.Collections)
for i := 0; i < v.NumField(); i++ { // fmt.Println("called in v", v)
field := v.Field(i)
user := gocb.CollectionSpec{
Name: field.String(),
ScopeName: scopeName,
}
collectionOpts := gocb.CreateCollectionOptions{
Context: context.TODO(),
}
_ = bucket.Collections().CreateCollection(user, &collectionOpts)
}
// for i := 0; i < v.NumField(); i++ {
// field := v.Field(i)
// fmt.Println("called in v", field)
// user := gocb.CollectionSpec{
// Name: field.String(),
// ScopeName: scopeName,
// }
// collectionOpts := gocb.CreateCollectionOptions{
// Context: context.TODO(),
// }
// err = bucket.Collections().CreateCollection(user, &collectionOpts)
// fmt.Println("2 called in oprovuider", err)
// }
// fmt.Println("called in oprovuider")
return &provider{ return &provider{
db: bucket, db: bucket,
}, nil }, nil

View File

@ -80,9 +80,12 @@ func (p *provider) ListUsers(ctx context.Context, pagination model.Pagination) (
paginationClone := pagination paginationClone := pagination
inventoryScope := p.db.Scope("_default") inventoryScope := p.db.Scope("_default")
userQuery := fmt.Sprintf("SELECT * FROM auth._default.%s ORDER BY id OFFSET %d LIMIT %d", models.Collections.User, paginationClone.Offset, paginationClone.Limit) userQuery := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM auth._default.%s ORDER BY id OFFSET %d LIMIT %d", models.Collections.User, paginationClone.Offset, paginationClone.Limit)
queryResult, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{}) queryResult, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
Context: ctx,
})
if err != nil { if err != nil {
return nil, err return nil, err
@ -113,7 +116,10 @@ func (p *provider) GetUserByEmail(ctx context.Context, email string) (models.Use
user := models.User{} user := models.User{}
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
query := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM auth._default.%s WHERE email = '%s' LIMIT 1", models.Collections.User, email) query := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM auth._default.%s WHERE email = '%s' LIMIT 1", models.Collections.User, email)
q, err := scope.Query(query, &gocb.QueryOptions{}) q, err := scope.Query(query, &gocb.QueryOptions{
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
Context: ctx,
})
if err != nil { if err != nil {
return user, err return user, err
@ -131,7 +137,10 @@ func (p *provider) GetUserByID(ctx context.Context, id string) (models.User, err
user := models.User{} user := models.User{}
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
query := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM auth._default.%s WHERE _id = '%s' LIMIT 1", models.Collections.User, id) query := fmt.Sprintf("SELECT _id, email, email_verified_at, `password`, signup_methods, given_name, family_name, middle_name, nickname, birthdate, phone_number, phone_number_verified_at, picture, roles, revoked_timestamp, is_multi_factor_auth_enabled, created_at, updated_at FROM auth._default.%s WHERE _id = '%s' LIMIT 1", models.Collections.User, id)
q, err := scope.Query(query, &gocb.QueryOptions{}) q, err := scope.Query(query, &gocb.QueryOptions{
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
Context: ctx,
})
if err != nil { if err != nil {
return user, err return user, err
} }
@ -150,7 +159,7 @@ func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{},
data["updated_at"] = time.Now().Unix() data["updated_at"] = time.Now().Unix()
inventoryScope := p.db.Scope("_default") inventoryScope := p.db.Scope("_default")
updateFields := "" upf := ""
for key, value := range data { for key, value := range data {
if key == "_id" { if key == "_id" {
continue continue
@ -161,30 +170,37 @@ func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{},
} }
if value == nil { if value == nil {
updateFields += fmt.Sprintf("%s = null,", key) upf += fmt.Sprintf("%s = null,", key)
continue continue
} }
valueType := reflect.TypeOf(value) valueType := reflect.TypeOf(value)
if valueType.Name() == "string" { if valueType.Name() == "string" {
updateFields += fmt.Sprintf("%s = '%s', ", key, value.(string)) upf += fmt.Sprintf("%s = '%s', ", key, value.(string))
} else { } else {
updateFields += fmt.Sprintf("%s = %v, ", key, value) upf += fmt.Sprintf("%s = %v, ", key, value)
} }
} }
updateFields := removeLastRune(upf)
if ids != nil && len(ids) > 0 { if ids != nil && len(ids) > 0 {
for _, v := range ids { for _, v := range ids {
userQuery := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE id = '%s'", models.Collections.User, updateFields, v) userQuery := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE _id = '%s'", models.Collections.User, updateFields, v)
_, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{}) _, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
Context: ctx,
})
if err != nil { if err != nil {
return err return err
} }
} }
} else { } else {
userQuery := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE id IS NOT NULL", models.Collections.User, updateFields) userQuery := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE _id IS NOT NULL", models.Collections.User, updateFields)
_, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{}) _, err := inventoryScope.Query(userQuery, &gocb.QueryOptions{
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
Context: ctx,
})
if err != nil { if err != nil {
return err return err
} }
@ -192,3 +208,7 @@ func (p *provider) UpdateUsers(ctx context.Context, data map[string]interface{},
return nil return nil
} }
func removeLastRune(s string) string {
return s[:len(s)-2]
}

View File

@ -43,6 +43,7 @@ func (p *provider) GetVerificationRequestByToken(ctx context.Context, token stri
queryResult, err := scope.Query(query, &gocb.QueryOptions{ queryResult, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx, Context: ctx,
PositionalParameters: []interface{}{token}, PositionalParameters: []interface{}{token},
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
}) })
if err != nil { if err != nil {
@ -66,6 +67,7 @@ func (p *provider) GetVerificationRequestByEmail(ctx context.Context, email stri
queryResult, err := scope.Query(query, &gocb.QueryOptions{ queryResult, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx, Context: ctx,
PositionalParameters: []interface{}{email, identifier}, PositionalParameters: []interface{}{email, identifier},
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
}) })
verificationRequest := models.VerificationRequest{} verificationRequest := models.VerificationRequest{}
@ -88,7 +90,10 @@ func (p *provider) ListVerificationRequests(ctx context.Context, pagination mode
paginationClone := pagination paginationClone := pagination
query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.VerificationRequest, paginationClone.Offset, paginationClone.Limit) query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.VerificationRequest, paginationClone.Offset, paginationClone.Limit)
queryResult, err := scope.Query(query, &gocb.QueryOptions{}) queryResult, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -79,7 +79,10 @@ func (p *provider) UpdateWebhook(ctx context.Context, webhook models.Webhook) (*
updateFields = strings.TrimSuffix(updateFields, ",") updateFields = strings.TrimSuffix(updateFields, ",")
query := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE _id = '%s'", models.Collections.Webhook, updateFields, webhook.ID) query := fmt.Sprintf("UPDATE auth._default.%s SET %s WHERE _id = '%s'", models.Collections.Webhook, updateFields, webhook.ID)
_, err = scope.Query(query, &gocb.QueryOptions{}) _, err = scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err
@ -95,7 +98,10 @@ func (p *provider) ListWebhook(ctx context.Context, pagination model.Pagination)
paginationClone := pagination paginationClone := pagination
query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.Webhook, paginationClone.Offset, paginationClone.Limit) query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.Webhook, paginationClone.Offset, paginationClone.Limit)
queryResult, err := scope.Query(query, &gocb.QueryOptions{}) queryResult, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err
@ -124,7 +130,10 @@ func (p *provider) GetWebhookByID(ctx context.Context, webhookID string) (*model
var webhook models.Webhook var webhook models.Webhook
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
query := fmt.Sprintf(`SELECT _id, event_name, endpoint, headers, enabled, created_at, updated_at FROM auth._default.%s WHERE _id = '%s' LIMIT 1`, models.Collections.Webhook, webhookID) query := fmt.Sprintf(`SELECT _id, event_name, endpoint, headers, enabled, created_at, updated_at FROM auth._default.%s WHERE _id = '%s' LIMIT 1`, models.Collections.Webhook, webhookID)
q, err := scope.Query(query, &gocb.QueryOptions{}) q, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -142,7 +151,10 @@ func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string)
var webhook models.Webhook var webhook models.Webhook
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
query := fmt.Sprintf(`SELECT _id, event_name, endpoint, headers, enabled, created_at, updated_at FROM auth._default.%s WHERE event_name = '%s' LIMIT 1`, models.Collections.Webhook, eventName) query := fmt.Sprintf(`SELECT _id, event_name, endpoint, headers, enabled, created_at, updated_at FROM auth._default.%s WHERE event_name = '%s' LIMIT 1`, models.Collections.Webhook, eventName)
q, err := scope.Query(query, &gocb.QueryOptions{}) q, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err
@ -158,12 +170,26 @@ func (p *provider) GetWebhookByEventName(ctx context.Context, eventName string)
// DeleteWebhook to delete webhook // DeleteWebhook to delete webhook
func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) error { func (p *provider) DeleteWebhook(ctx context.Context, webhook *model.Webhook) error {
fmt.Println("trying to dlete webhooks logs", webhook.EventName)
scope := p.db.Scope("_default")
removeOpt := gocb.RemoveOptions{ removeOpt := gocb.RemoveOptions{
Context: ctx, Context: ctx,
} }
_, err := p.db.Collection(models.Collections.Webhook).Remove(webhook.ID, &removeOpt) _, err := p.db.Collection(models.Collections.Webhook).Remove(webhook.ID, &removeOpt)
if err != nil { if err != nil {
return err return err
} }
query := fmt.Sprintf(`DELETE FROM auth._default.%s WHERE webhook_id=%s`, models.Collections.WebhookLog, webhook.ID)
fmt.Println("")
_, err = scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil {
return err
}
return nil return nil
} }

View File

@ -39,7 +39,10 @@ func (p *provider) ListWebhookLogs(ctx context.Context, pagination model.Paginat
scope := p.db.Scope("_default") scope := p.db.Scope("_default")
paginationClone := pagination paginationClone := pagination
query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.Env, paginationClone.Offset, paginationClone.Limit) query := fmt.Sprintf("SELECT _id, env, created_at, updated_at FROM auth._default.%s OFFSET %d LIMIT %d", models.Collections.Env, paginationClone.Offset, paginationClone.Limit)
queryResult, err := scope.Query(query, &gocb.QueryOptions{}) queryResult, err := scope.Query(query, &gocb.QueryOptions{
Context: ctx,
ScanConsistency: gocb.QueryScanConsistencyRequestPlus,
})
if err != nil { if err != nil {
return nil, err return nil, err

View File

@ -74,6 +74,7 @@ func SignupResolver(ctx context.Context, params model.SignUpInput) (*model.AuthR
log := log.WithFields(log.Fields{ log := log.WithFields(log.Fields{
"email": params.Email, "email": params.Email,
}) })
time.Sleep(500 * time.Millisecond)
// find user with email // find user with email
existingUser, err := db.Provider.GetUserByEmail(ctx, params.Email) existingUser, err := db.Provider.GetUserByEmail(ctx, params.Email)
if err != nil { if err != nil {

View File

@ -31,7 +31,6 @@ func VerifyOtpResolver(ctx context.Context, params model.VerifyOTPRequest) (*mod
log.Debug("Failed to get otp request by email: ", err) log.Debug("Failed to get otp request by email: ", err)
return res, fmt.Errorf(`invalid email: %s`, err.Error()) return res, fmt.Errorf(`invalid email: %s`, err.Error())
} }
if params.Otp != otp.Otp { if params.Otp != otp.Otp {
log.Debug("Failed to verify otp request: Incorrect value") log.Debug("Failed to verify otp request: Incorrect value")
return res, fmt.Errorf(`invalid otp`) return res, fmt.Errorf(`invalid otp`)

View File

@ -2,6 +2,7 @@ package test
import ( import (
"testing" "testing"
"time"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/db" "github.com/authorizerdev/authorizer/server/db"
@ -21,6 +22,7 @@ func forgotPasswordTest(t *testing.T, s TestSetup) {
ConfirmPassword: s.TestInfo.Password, ConfirmPassword: s.TestInfo.Password,
}) })
time.Sleep(500 * time.Millisecond)
_, err = resolvers.ForgotPasswordResolver(ctx, model.ForgotPasswordInput{ _, err = resolvers.ForgotPasswordResolver(ctx, model.ForgotPasswordInput{
Email: email, Email: email,
}) })

View File

@ -5,7 +5,6 @@ import (
"os" "os"
"strings" "strings"
"testing" "testing"
"time"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/db" "github.com/authorizerdev/authorizer/server/db"
@ -37,7 +36,7 @@ func TestResolvers(t *testing.T) {
} else { } else {
t.Log("waiting for docker containers to start...") t.Log("waiting for docker containers to start...")
// wait for docker containers to spun up // wait for docker containers to spun up
time.Sleep(30 * time.Second) // time.Sleep(30 * time.Second)
} }
testDb := "authorizer_test" testDb := "authorizer_test"

View File

@ -1,6 +1,7 @@
package test package test
import ( import (
"fmt"
"testing" "testing"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
@ -55,6 +56,9 @@ func signupTests(t *testing.T, s TestSetup) {
ConfirmPassword: s.TestInfo.Password, ConfirmPassword: s.TestInfo.Password,
}) })
fmt.Println("err", err)
fmt.Println("res", res)
assert.NotNil(t, err, "should throw duplicate email error") assert.NotNil(t, err, "should throw duplicate email error")
verificationRequest, err := db.Provider.GetVerificationRequestByEmail(ctx, email, constants.VerificationTypeBasicAuthSignup) verificationRequest, err := db.Provider.GetVerificationRequestByEmail(ctx, email, constants.VerificationTypeBasicAuthSignup)

View File

@ -108,8 +108,10 @@ func testSetup() TestSetup {
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpPassword, "test") memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpPassword, "test")
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySenderEmail, "info@yopmail.com") memorystore.Provider.UpdateEnvVariable(constants.EnvKeySenderEmail, "info@yopmail.com")
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyProtectedRoles, "admin") memorystore.Provider.UpdateEnvVariable(constants.EnvKeyProtectedRoles, "admin")
fmt.Println("called test suite before")
err = db.InitDB() err = db.InitDB()
fmt.Println("called test suite")
if err != nil { if err != nil {
log.Fatal("Error loading db: ", err) log.Fatal("Error loading db: ", err)
} }

View File

@ -3,6 +3,7 @@ package test
import ( import (
"fmt" "fmt"
"testing" "testing"
"time"
"github.com/authorizerdev/authorizer/server/constants" "github.com/authorizerdev/authorizer/server/constants"
"github.com/authorizerdev/authorizer/server/db" "github.com/authorizerdev/authorizer/server/db"
@ -41,9 +42,12 @@ func updateAllUsersTest(t *testing.T, s TestSetup) {
Offset: 0, Offset: 0,
}) })
assert.NoError(t, err) assert.NoError(t, err)
time.Sleep(500 * time.Millisecond)
for _, u := range listUsers.Users { for _, u := range listUsers.Users {
assert.True(t, refs.BoolValue(u.IsMultiFactorAuthEnabled)) assert.True(t, refs.BoolValue(u.IsMultiFactorAuthEnabled))
} }
time.Sleep(1 * time.Second)
// // update few users // // update few users
updateIds := []string{listUsers.Users[0].ID, listUsers.Users[1].ID} updateIds := []string{listUsers.Users[0].ID, listUsers.Users[1].ID}

View File

@ -25,7 +25,12 @@ func webhookLogsTest(t *testing.T, s TestSetup) {
assert.NoError(t, err) assert.NoError(t, err)
req.Header.Set("Cookie", fmt.Sprintf("%s=%s", constants.AdminCookieName, h)) req.Header.Set("Cookie", fmt.Sprintf("%s=%s", constants.AdminCookieName, h))
time.Sleep(1 * time.Second)
webhookLogs, err := resolvers.WebhookLogsResolver(ctx, nil) webhookLogs, err := resolvers.WebhookLogsResolver(ctx, nil)
fmt.Printf("webhookLogs=========== %+v \n", webhookLogs.WebhookLogs)
time.Sleep(20 * time.Second)
fmt.Println("total documents found", len(webhookLogs.WebhookLogs))
assert.NoError(t, err) assert.NoError(t, err)
assert.Greater(t, len(webhookLogs.WebhookLogs), 1) assert.Greater(t, len(webhookLogs.WebhookLogs), 1)