Skip to content

Commit f52929e

Browse files
committed
fix: more tests
1 parent 96964cd commit f52929e

File tree

2 files changed

+212
-0
lines changed

2 files changed

+212
-0
lines changed
Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
package emailpassword
2+
3+
import (
4+
"testing"
5+
6+
"github.com/stretchr/testify/assert"
7+
"github.com/supertokens/supertokens-golang/supertokens"
8+
"github.com/supertokens/supertokens-golang/test/unittesting"
9+
)
10+
11+
func TestUpdateUserIdMappingForUnknownUserId(t *testing.T) {
12+
BeforeEach()
13+
unittesting.StartUpST("localhost", "8080")
14+
defer AfterEach()
15+
16+
initForUserIdMappingTest(t)
17+
18+
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
19+
assert.NoError(t, err)
20+
21+
cdiVersion, err := querier.GetQuerierAPIVersion()
22+
assert.NoError(t, err)
23+
24+
if unittesting.MaxVersion(cdiVersion, "2.14") != cdiVersion {
25+
return
26+
}
27+
28+
externalInfo := "someInfo"
29+
{
30+
supertokensType := "SUPERTOKENS"
31+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo("unknownUserId", &supertokensType, &externalInfo)
32+
assert.NoError(t, err)
33+
assert.NotNil(t, updateResp.UnknownMappingError)
34+
}
35+
36+
{
37+
externalType := "EXTERNAL"
38+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo("unknownUserId", &externalType, &externalInfo)
39+
assert.NoError(t, err)
40+
assert.NotNil(t, updateResp.UnknownMappingError)
41+
}
42+
43+
{
44+
anyType := "ANY"
45+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo("unknownUserId", &anyType, &externalInfo)
46+
assert.NoError(t, err)
47+
assert.NotNil(t, updateResp.UnknownMappingError)
48+
}
49+
}
50+
51+
func TestUpdateUserIdMapping(t *testing.T) {
52+
BeforeEach()
53+
unittesting.StartUpST("localhost", "8080")
54+
defer AfterEach()
55+
56+
initForUserIdMappingTest(t)
57+
58+
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
59+
assert.NoError(t, err)
60+
61+
cdiVersion, err := querier.GetQuerierAPIVersion()
62+
assert.NoError(t, err)
63+
64+
if unittesting.MaxVersion(cdiVersion, "2.14") != cdiVersion {
65+
return
66+
}
67+
68+
signUpResponse, err := SignUp("test@example.com", "testpass123")
69+
assert.NoError(t, err)
70+
assert.NotNil(t, signUpResponse.OK)
71+
72+
{
73+
externalUserId := "externalId"
74+
externalUserIdInfo := "externalIdInfo"
75+
createResp, err := supertokens.CreateUserIdMapping(signUpResponse.OK.User.ID, externalUserId, &externalUserIdInfo, false)
76+
assert.NoError(t, err)
77+
assert.NotNil(t, createResp.OK)
78+
}
79+
80+
{
81+
infoA := "infoA"
82+
supertokensType := "SUPERTOKENS"
83+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo(signUpResponse.OK.User.ID, &supertokensType, &infoA)
84+
assert.NoError(t, err)
85+
assert.NotNil(t, updateResp.OK)
86+
87+
getResp, err := supertokens.GetUserIdMapping(signUpResponse.OK.User.ID, &supertokensType)
88+
assert.NoError(t, err)
89+
assert.NotNil(t, getResp.OK)
90+
assert.Equal(t, infoA, *getResp.OK.ExternalUserIdInfo)
91+
}
92+
93+
{
94+
infoB := "infoB"
95+
externalType := "EXTERNAL"
96+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo("externalId", &externalType, &infoB)
97+
assert.NoError(t, err)
98+
assert.NotNil(t, updateResp.OK)
99+
100+
getResp, err := supertokens.GetUserIdMapping("externalId", &externalType)
101+
assert.NoError(t, err)
102+
assert.NotNil(t, getResp.OK)
103+
assert.Equal(t, infoB, *getResp.OK.ExternalUserIdInfo)
104+
}
105+
106+
{
107+
infoC := "infoC"
108+
anyType := "ANY"
109+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo(signUpResponse.OK.User.ID, &anyType, &infoC)
110+
assert.NoError(t, err)
111+
assert.NotNil(t, updateResp.OK)
112+
113+
getResp, err := supertokens.GetUserIdMapping(signUpResponse.OK.User.ID, &anyType)
114+
assert.NoError(t, err)
115+
assert.NotNil(t, getResp.OK)
116+
assert.Equal(t, infoC, *getResp.OK.ExternalUserIdInfo)
117+
}
118+
119+
{
120+
infoD := "infoD"
121+
anyType := "ANY"
122+
updateResp, err := supertokens.UpdateOrDeleteUserIdMappingInfo("externalId", &anyType, &infoD)
123+
assert.NoError(t, err)
124+
assert.NotNil(t, updateResp.OK)
125+
126+
getResp, err := supertokens.GetUserIdMapping("externalId", &anyType)
127+
assert.NoError(t, err)
128+
assert.NotNil(t, getResp.OK)
129+
assert.Equal(t, infoD, *getResp.OK.ExternalUserIdInfo)
130+
}
131+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
package emailpassword
2+
3+
import (
4+
"fmt"
5+
"testing"
6+
7+
"github.com/stretchr/testify/assert"
8+
"github.com/supertokens/supertokens-golang/supertokens"
9+
"github.com/supertokens/supertokens-golang/test/unittesting"
10+
)
11+
12+
func TestCreateUserIdMappingAndDeleteUser(t *testing.T) {
13+
BeforeEach()
14+
unittesting.StartUpST("localhost", "8080")
15+
defer AfterEach()
16+
17+
initForUserIdMappingTest(t)
18+
19+
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
20+
assert.NoError(t, err)
21+
22+
cdiVersion, err := querier.GetQuerierAPIVersion()
23+
assert.NoError(t, err)
24+
25+
if unittesting.MaxVersion(cdiVersion, "2.14") != cdiVersion {
26+
return
27+
}
28+
29+
signUpResponse, err := SignUp("test@example.com", "testpass123")
30+
assert.NoError(t, err)
31+
32+
assert.NotNil(t, signUpResponse.OK)
33+
34+
externalUserId := "externalId"
35+
externalUserIdInfo := "externalIdInfo"
36+
createResp, err := supertokens.CreateUserIdMapping(signUpResponse.OK.User.ID, externalUserId, &externalUserIdInfo, false)
37+
assert.NoError(t, err)
38+
assert.NotNil(t, createResp.OK)
39+
40+
err = supertokens.DeleteUser(externalUserId)
41+
assert.NoError(t, err)
42+
}
43+
44+
func TestCreateUserIdMappingAndGetUsers(t *testing.T) {
45+
BeforeEach()
46+
unittesting.StartUpST("localhost", "8080")
47+
defer AfterEach()
48+
49+
initForUserIdMappingTest(t)
50+
51+
querier, err := supertokens.GetNewQuerierInstanceOrThrowError("")
52+
assert.NoError(t, err)
53+
54+
cdiVersion, err := querier.GetQuerierAPIVersion()
55+
assert.NoError(t, err)
56+
57+
if unittesting.MaxVersion(cdiVersion, "2.14") != cdiVersion {
58+
return
59+
}
60+
61+
for i := 0; i < 4; i++ {
62+
signUpResponse, err := SignUp(fmt.Sprintf("test%d@example.com", i), "testpass123")
63+
assert.NoError(t, err)
64+
65+
assert.NotNil(t, signUpResponse.OK)
66+
67+
externalUserId := fmt.Sprintf("externalId%d", i)
68+
externalUserIdInfo := "externalIdInfo"
69+
createResp, err := supertokens.CreateUserIdMapping(signUpResponse.OK.User.ID, externalUserId, &externalUserIdInfo, false)
70+
assert.NoError(t, err)
71+
assert.NotNil(t, createResp.OK)
72+
}
73+
74+
userResult, err := supertokens.GetUsersOldestFirst(nil, nil, nil)
75+
assert.NoError(t, err)
76+
assert.NotNil(t, userResult.Users)
77+
78+
for i, user := range userResult.Users {
79+
assert.Equal(t, user.User["id"], fmt.Sprintf("externalId%d", i))
80+
}
81+
}

0 commit comments

Comments
 (0)