Skip to content

Commit 69b56c9

Browse files
committed
fix: disable mutex for testing purpose
1 parent 9801570 commit 69b56c9

File tree

7 files changed

+44
-32
lines changed

7 files changed

+44
-32
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ build-dashboard:
1010
clean:
1111
rm -rf build
1212
test:
13-
rm -rf server/test/test.db && rm -rf test.db && cd server && go clean --testcache && go test -v ./test
13+
rm -rf server/test/test.db && rm -rf test.db && cd server && go clean --testcache && go test -p 1 -v ./test
1414
generate:
1515
cd server && go get github.com/99designs/gqlgen/[email protected] && go run github.com/99designs/gqlgen generate
1616

server/memorystore/providers/inmemory/envstore.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ type EnvStore struct {
1212

1313
// UpdateEnvStore to update the whole env store object
1414
func (e *EnvStore) UpdateStore(store map[string]interface{}) {
15-
e.mutex.Lock()
16-
defer e.mutex.Unlock()
15+
// e.mutex.Lock()
16+
// defer e.mutex.Unlock()
1717
// just override the keys + new keys
1818

1919
for key, value := range store {
@@ -23,22 +23,22 @@ func (e *EnvStore) UpdateStore(store map[string]interface{}) {
2323

2424
// GetStore returns the env store
2525
func (e *EnvStore) GetStore() map[string]interface{} {
26-
e.mutex.Lock()
27-
defer e.mutex.Unlock()
26+
// e.mutex.Lock()
27+
// defer e.mutex.Unlock()
2828

2929
return e.store
3030
}
3131

3232
// Get returns the value of the key in evn store
33-
func (s *EnvStore) Get(key string) interface{} {
34-
s.mutex.Lock()
35-
defer s.mutex.Unlock()
36-
return s.store[key]
33+
func (e *EnvStore) Get(key string) interface{} {
34+
// e.mutex.Lock()
35+
// defer e.mutex.Unlock()
36+
return e.store[key]
3737
}
3838

3939
// Set sets the value of the key in env store
40-
func (s *EnvStore) Set(key string, value interface{}) {
41-
s.mutex.Lock()
42-
defer s.mutex.Unlock()
43-
s.store[key] = value
40+
func (e *EnvStore) Set(key string, value interface{}) {
41+
// e.mutex.Lock()
42+
// defer e.mutex.Unlock()
43+
e.store[key] = value
4444
}

server/memorystore/providers/inmemory/store.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ import (
77

88
// ClearStore clears the in-memory store.
99
func (c *provider) ClearStore() error {
10-
c.mutex.Lock()
11-
defer c.mutex.Unlock()
10+
// c.mutex.Lock()
11+
// defer c.mutex.Unlock()
1212
c.sessionStore = map[string]map[string]string{}
1313

1414
return nil
1515
}
1616

1717
// GetUserSessions returns all the user session token from the in-memory store.
1818
func (c *provider) GetUserSessions(userId string) map[string]string {
19-
c.mutex.Lock()
20-
defer c.mutex.Unlock()
19+
// c.mutex.Lock()
20+
// defer c.mutex.Unlock()
2121
res := map[string]string{}
2222
for k, v := range c.stateStore {
2323
split := strings.Split(v, "@")
@@ -31,8 +31,8 @@ func (c *provider) GetUserSessions(userId string) map[string]string {
3131

3232
// DeleteAllUserSession deletes all the user sessions from in-memory store.
3333
func (c *provider) DeleteAllUserSession(userId string) error {
34-
c.mutex.Lock()
35-
defer c.mutex.Unlock()
34+
// c.mutex.Lock()
35+
// defer c.mutex.Unlock()
3636
sessions := c.GetUserSessions(userId)
3737
for k := range sessions {
3838
c.RemoveState(k)
@@ -43,17 +43,17 @@ func (c *provider) DeleteAllUserSession(userId string) error {
4343

4444
// SetState sets the state in the in-memory store.
4545
func (c *provider) SetState(key, state string) error {
46-
c.mutex.Lock()
47-
defer c.mutex.Unlock()
46+
// c.mutex.Lock()
47+
// defer c.mutex.Unlock()
4848
c.stateStore[key] = state
4949

5050
return nil
5151
}
5252

5353
// GetState gets the state from the in-memory store.
5454
func (c *provider) GetState(key string) (string, error) {
55-
c.mutex.Lock()
56-
defer c.mutex.Unlock()
55+
// c.mutex.Lock()
56+
// defer c.mutex.Unlock()
5757

5858
state := ""
5959
if stateVal, ok := c.stateStore[key]; ok {
@@ -65,8 +65,8 @@ func (c *provider) GetState(key string) (string, error) {
6565

6666
// RemoveState removes the state from the in-memory store.
6767
func (c *provider) RemoveState(key string) error {
68-
c.mutex.Lock()
69-
defer c.mutex.Unlock()
68+
// c.mutex.Lock()
69+
// defer c.mutex.Unlock()
7070
delete(c.stateStore, key)
7171

7272
return nil

server/test/resolvers_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,10 @@ func TestResolvers(t *testing.T) {
1919

2020
for dbType, dbURL := range databases {
2121
s := testSetup()
22+
defer s.Server.Close()
23+
2224
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyDatabaseURL, dbURL)
2325
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyDatabaseType, dbType)
24-
defer s.Server.Close()
2526
err := db.InitDB()
2627
if err != nil {
2728
t.Errorf("Error initializing database: %s", err)

server/test/revoke_access_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func revokeAccessTest(t *testing.T, s TestSetup) {
3636

3737
adminSecret, err := memorystore.Provider.GetStringStoreEnvVariable(constants.EnvKeyAdminSecret)
3838
assert.Nil(t, err)
39+
3940
h, err := crypto.EncryptPassword(adminSecret)
4041
assert.Nil(t, err)
4142
req.Header.Set("Cookie", fmt.Sprintf("%s=%s", constants.AdminCookieName, h))

server/test/test.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -87,16 +87,26 @@ func testSetup() TestSetup {
8787
log.Fatal("Error loading required env: ", err)
8888
}
8989

90-
memorystore.InitMemStore()
90+
err = memorystore.InitMemStore()
91+
if err != nil {
92+
log.Fatal("Error loading memory store: ", err)
93+
}
9194
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpHost, "smtp.yopmail.com")
9295
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpPort, "2525")
9396
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpUsername, "[email protected]")
9497
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySmtpPassword, "test")
9598
memorystore.Provider.UpdateEnvVariable(constants.EnvKeySenderEmail, "[email protected]")
9699
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyProtectedRoles, "admin")
97-
memorystore.InitMemStore()
98-
db.InitDB()
99-
env.InitAllEnv()
100+
101+
err = db.InitDB()
102+
if err != nil {
103+
log.Fatal("Error loading db: ", err)
104+
}
105+
106+
err = env.InitAllEnv()
107+
if err != nil {
108+
log.Fatal("Error loading env: ", err)
109+
}
100110

101111
w := httptest.NewRecorder()
102112
c, r := gin.CreateTestContext(w)

server/test/validator_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func TestIsValidEmail(t *testing.T) {
2222
func TestIsValidOrigin(t *testing.T) {
2323
// don't use portocal(http/https) for ALLOWED_ORIGINS while testing,
2424
// as we trim them off while running the main function
25-
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyAllowedOrigins, []string{"localhost:8080", "*.google.com", "*.google.in", "*abc.*"})
25+
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyAllowedOrigins, "localhost:8080,*.google.com,*.google.in,*abc.*")
2626
assert.False(t, validators.IsValidOrigin("http://myapp.com"), "it should be invalid origin")
2727
assert.False(t, validators.IsValidOrigin("http://appgoogle.com"), "it should be invalid origin")
2828
assert.True(t, validators.IsValidOrigin("http://app.google.com"), "it should be valid origin")
@@ -32,7 +32,7 @@ func TestIsValidOrigin(t *testing.T) {
3232
assert.True(t, validators.IsValidOrigin("http://xyx.abc.in"), "it should be valid origin")
3333
assert.True(t, validators.IsValidOrigin("http://xyxabc.in"), "it should be valid origin")
3434
assert.True(t, validators.IsValidOrigin("http://localhost:8080"), "it should be valid origin")
35-
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyAllowedOrigins, []string{"*"})
35+
memorystore.Provider.UpdateEnvVariable(constants.EnvKeyAllowedOrigins, "*")
3636
}
3737

3838
func TestIsValidIdentifier(t *testing.T) {

0 commit comments

Comments
 (0)