11
11
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
12
# License for the specific language governing permissions and limitations
13
13
# under the License.
14
- import setup
15
-
16
14
from pytest import mark
17
15
from supertokens_python .recipe import session , userroles , emailpassword , multitenancy
18
16
from supertokens_python import init
19
17
from supertokens_python .recipe .multitenancy .asyncio import (
20
18
create_or_update_tenant ,
21
- associate_user_to_tenant ,
22
19
)
23
20
from supertokens_python .recipe .emailpassword .asyncio import (
24
21
sign_up ,
28
25
create_reset_password_token ,
29
26
reset_password_using_token ,
30
27
)
31
- from supertokens_python .recipe .multitenancy .interfaces import TenantConfig
32
- from supertokens_python .recipe .userroles .asyncio import (
33
- create_new_role_or_add_permissions ,
34
- add_role_to_user ,
35
- get_roles_for_user ,
28
+ from supertokens_python .recipe .emailpassword .interfaces import (
29
+ SignUpOkResult ,
30
+ SignInOkResult ,
31
+ CreateResetPasswordOkResult ,
36
32
)
33
+ from supertokens_python .recipe .multitenancy .interfaces import TenantConfig
37
34
38
- from tests .sessions . claims . utils import get_st_init_args
35
+ from tests .utils import get_st_init_args
39
36
from tests .utils import setup_function , teardown_function , setup_multitenancy_feature
40
37
41
38
@@ -55,16 +52,20 @@ async def test_multitenancy_in_user_roles():
55
52
multitenancy .init (),
56
53
]
57
54
)
58
- init (** args )
55
+ init (** args ) # type: ignore
59
56
setup_multitenancy_feature ()
60
57
61
58
await create_or_update_tenant ("t1" , TenantConfig (email_password_enabled = True ))
62
59
await create_or_update_tenant ("t2" , TenantConfig (email_password_enabled = True ))
63
60
await create_or_update_tenant ("t3" , TenantConfig (email_password_enabled = True ))
64
61
65
- user1 = await sign_up (
"t1" ,
"[email protected] " ,
"password1" )
66
- user2 = await sign_up (
"t2" ,
"[email protected] " ,
"password2" )
67
- user3 = await sign_up (
"t3" ,
"[email protected] " ,
"password3" )
62
+ user1 = await sign_up (
"[email protected] " ,
"password1" ,
"t1" )
63
+ user2 = await sign_up (
"[email protected] " ,
"password2" ,
"t2" )
64
+ user3 = await sign_up (
"[email protected] " ,
"password3" ,
"t3" )
65
+
66
+ assert isinstance (user1 , SignUpOkResult )
67
+ assert isinstance (user2 , SignUpOkResult )
68
+ assert isinstance (user3 , SignUpOkResult )
68
69
69
70
assert user1 .user .user_id != user2 .user .user_id
70
71
assert user2 .user .user_id != user3 .user .user_id
@@ -75,9 +76,13 @@ async def test_multitenancy_in_user_roles():
75
76
assert user3 .user .tenant_ids == ["t3" ]
76
77
77
78
# sign in
78
- ep_user1 = await sign_in (
"t1" ,
"[email protected] " ,
"password1" )
79
- ep_user2 = await sign_in (
"t2" ,
"[email protected] " ,
"password1" )
80
- ep_user3 = await sign_in (
"t3" ,
"[email protected] " ,
"password1" )
79
+ ep_user1 = await sign_in (
"[email protected] " ,
"password1" ,
"t1" )
80
+ ep_user2 = await sign_in (
"[email protected] " ,
"password1" ,
"t2" )
81
+ ep_user3 = await sign_in (
"[email protected] " ,
"password1" ,
"t3" )
82
+
83
+ assert isinstance (ep_user1 , SignInOkResult )
84
+ assert isinstance (ep_user2 , SignInOkResult )
85
+ assert isinstance (ep_user3 , SignInOkResult )
81
86
82
87
assert ep_user1 .user .user_id == user2 .user .user_id == user3 .user .user_id
83
88
@@ -91,32 +96,40 @@ async def test_multitenancy_in_user_roles():
91
96
assert g_user3 == user3 .user
92
97
93
98
# get user by email:
94
- by_email_user1 = await get_user_by_email (
"t1" , " [email protected] ")
95
- by_email_user2 = await get_user_by_email (
"t2" , " [email protected] ")
96
- by_email_user3 = await get_user_by_email (
"t3" , " [email protected] ")
99
+ by_email_user1 = await get_user_by_email (
"[email protected] " , "t1 ")
100
+ by_email_user2 = await get_user_by_email (
"[email protected] " , "t2 ")
101
+ by_email_user3 = await get_user_by_email (
"[email protected] " , "t3 ")
97
102
98
103
assert by_email_user1 == user1 .user
99
104
assert by_email_user2 == user2 .user
100
105
assert by_email_user3 == user3 .user
101
106
102
107
# create password reset token:
103
- pless_reset_link1 = await create_reset_password_token ("t1" , user1 .user .user_id )
104
- pless_reset_link2 = await create_reset_password_token ("t2" , user1 .user .user_id )
105
- pless_reset_link3 = await create_reset_password_token ("t3" , user1 .user .user_id )
108
+ pless_reset_link1 = await create_reset_password_token (user1 .user .user_id , "t1" )
109
+ pless_reset_link2 = await create_reset_password_token (user1 .user .user_id , "t2" )
110
+ pless_reset_link3 = await create_reset_password_token (user1 .user .user_id , "t3" )
111
+
112
+ assert isinstance (pless_reset_link1 , CreateResetPasswordOkResult )
113
+ assert isinstance (pless_reset_link2 , CreateResetPasswordOkResult )
114
+ assert isinstance (pless_reset_link3 , CreateResetPasswordOkResult )
106
115
107
116
assert pless_reset_link1 .token is not None
108
117
assert pless_reset_link2 .token is not None
109
118
assert pless_reset_link3 .token is not None
110
119
111
120
# reset password using token:
112
- await reset_password_using_token ("t1" , pless_reset_link1 .token , "newpassword1" )
113
- await reset_password_using_token ("t2" , pless_reset_link1 .token , "newpassword2" )
114
- await reset_password_using_token ("t3" , pless_reset_link1 .token , "newpassword3" )
121
+ await reset_password_using_token (pless_reset_link1 .token , "newpassword1" , "t1 " )
122
+ await reset_password_using_token (pless_reset_link2 .token , "newpassword2" , "t2 " )
123
+ await reset_password_using_token (pless_reset_link3 .token , "newpassword3" , "t3 " )
115
124
116
125
# new password should work:
117
- s_user1 = await sign_in (
"t1" ,
"[email protected] " ,
"newpassword1" )
118
- s_user2 = await sign_in (
"t2" ,
"[email protected] " ,
"newpassword2" )
119
- s_user3 = await sign_in (
"t3" ,
"[email protected] " ,
"newpassword3" )
126
+ s_user1 = await sign_in (
"[email protected] " ,
"newpassword1" ,
"t1" )
127
+ s_user2 = await sign_in (
"[email protected] " ,
"newpassword2" ,
"t2" )
128
+ s_user3 = await sign_in (
"[email protected] " ,
"newpassword3" ,
"t3" )
129
+
130
+ assert isinstance (s_user1 , SignInOkResult )
131
+ assert isinstance (s_user2 , SignInOkResult )
132
+ assert isinstance (s_user3 , SignInOkResult )
120
133
121
134
assert s_user1 .user == user1 .user
122
135
assert s_user2 .user == user2 .user
0 commit comments