Skip to content

Commit 1003a57

Browse files
feat: added debug flag in the SuperTokenConfig in the init() for logging
1 parent 470866b commit 1003a57

File tree

3 files changed

+139
-3
lines changed

3 files changed

+139
-3
lines changed

recipe/session/logger_test.go

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
package session
2+
3+
import (
4+
"bytes"
5+
"log"
6+
"os"
7+
"testing"
8+
9+
"github.com/stretchr/testify/assert"
10+
"github.com/supertokens/supertokens-golang/supertokens"
11+
"github.com/supertokens/supertokens-golang/test/unittesting"
12+
)
13+
14+
func TestLogDebugMessageWhenDebugTrue(t *testing.T) {
15+
var logMessage = "test log message"
16+
var buf bytes.Buffer
17+
18+
debug := true
19+
supertokens.Logger = log.New(&buf, "", 0)
20+
21+
configValue := supertokens.TypeInput{
22+
Supertokens: &supertokens.ConnectionInfo{
23+
ConnectionURI: "http://localhost:8080",
24+
},
25+
AppInfo: supertokens.AppInfo{
26+
AppName: "SuperTokens",
27+
APIDomain: "api.supertokens.io",
28+
WebsiteDomain: "supertokens.io",
29+
},
30+
RecipeList: []supertokens.Recipe{
31+
Init(nil),
32+
},
33+
Debug: &debug,
34+
}
35+
BeforeEach()
36+
37+
unittesting.StartUpST("localhost", "8080")
38+
39+
defer AfterEach()
40+
41+
err := supertokens.Init(configValue)
42+
43+
if err != nil {
44+
t.Error(err.Error())
45+
}
46+
47+
supertokensInstance, err := supertokens.GetInstanceOrThrowError()
48+
49+
if err != nil {
50+
t.Error(err.Error())
51+
}
52+
53+
supertokens.LogDebugMessage(logMessage)
54+
assert.Equal(t, &debug, supertokensInstance.Debug)
55+
assert.Contains(t, buf.String(), logMessage, "checking log message in logs")
56+
}
57+
58+
func TestLogDebugMessageWhenDebugFalse(t *testing.T) {
59+
var logMessage = "test log message"
60+
var buf bytes.Buffer
61+
62+
debug := false
63+
supertokens.Logger = log.New(&buf, "", 0)
64+
65+
configValue := supertokens.TypeInput{
66+
Supertokens: &supertokens.ConnectionInfo{
67+
ConnectionURI: "http://localhost:8080",
68+
},
69+
AppInfo: supertokens.AppInfo{
70+
AppName: "SuperTokens",
71+
APIDomain: "api.supertokens.io",
72+
WebsiteDomain: "supertokens.io",
73+
},
74+
RecipeList: []supertokens.Recipe{
75+
Init(nil),
76+
},
77+
Debug: &debug,
78+
}
79+
BeforeEach()
80+
81+
unittesting.StartUpST("localhost", "8080")
82+
83+
defer AfterEach()
84+
85+
err := supertokens.Init(configValue)
86+
87+
if err != nil {
88+
t.Error(err.Error())
89+
}
90+
91+
supertokensInstance, err := supertokens.GetInstanceOrThrowError()
92+
93+
if err != nil {
94+
t.Error(err.Error())
95+
}
96+
97+
supertokens.LogDebugMessage(logMessage)
98+
assert.Equal(t, &debug, supertokensInstance.Debug)
99+
assert.NotContains(t, buf.String(), logMessage, "checking log message in logs")
100+
}
101+
102+
func TestLogDebugMessageWithEnvVar(t *testing.T) {
103+
var logMessage = "test log message"
104+
var buf bytes.Buffer
105+
106+
supertokens.Logger = log.New(&buf, "", 0)
107+
os.Setenv("SUPERTOKENS_DEBUG", "1")
108+
109+
configValue := supertokens.TypeInput{
110+
Supertokens: &supertokens.ConnectionInfo{
111+
ConnectionURI: "http://localhost:8080",
112+
},
113+
AppInfo: supertokens.AppInfo{
114+
AppName: "SuperTokens",
115+
APIDomain: "api.supertokens.io",
116+
WebsiteDomain: "supertokens.io",
117+
},
118+
RecipeList: []supertokens.Recipe{
119+
Init(nil),
120+
},
121+
}
122+
BeforeEach()
123+
124+
unittesting.StartUpST("localhost", "8080")
125+
126+
defer AfterEach()
127+
128+
err := supertokens.Init(configValue)
129+
130+
if err != nil {
131+
t.Error(err.Error())
132+
}
133+
134+
supertokens.LogDebugMessage(logMessage)
135+
assert.Contains(t, buf.String(), logMessage, "checking log message in logs")
136+
}

supertokens/logger.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const supertokens_namespace = "com.supertokens"
1616
*/
1717

1818
var (
19-
logger = log.New(os.Stdout, supertokens_namespace, 0)
19+
Logger = log.New(os.Stdout, supertokens_namespace, 0)
2020
)
2121

2222
func formatMessage(message string) string {
@@ -27,6 +27,6 @@ func formatMessage(message string) string {
2727
func LogDebugMessage(message string) {
2828
_, exists := os.LookupEnv("SUPERTOKENS_DEBUG")
2929
if exists {
30-
logger.Printf(formatMessage(message))
30+
Logger.Printf(formatMessage(message))
3131
}
3232
}

supertokens/supertokens.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func supertokensInit(config TypeInput) error {
5757
}
5858

5959
superTokens.Debug = config.Debug
60-
if superTokens.Debug != nil && *superTokens.Debug {
60+
if superTokens.Debug != nil && *superTokens.Debug == true {
6161
err := os.Setenv("SUPERTOKENS_DEBUG", "1")
6262
if err != nil {
6363
return err

0 commit comments

Comments
 (0)