23
23
from identityprovider.models.emailaddress import EmailAddress
24
from identityprovider.readonly import ReadOnlyManager
25
24
from identityprovider.signals import (
26
25
invalidate_account_oauth_tokens,
27
26
invalidate_preferredemail,
35
34
from identityprovider.tests import DEFAULT_USER_PASSWORD
36
35
from identityprovider.tests.test_auth import AuthLogTestCaseMixin
37
from identityprovider.tests.utils import SSOBaseTestCase
36
from identityprovider.tests.utils import SSOBaseTestCase, readonly_enabled
40
39
class SessionTokenOnLoginTestCase(SSOBaseTestCase):
107
106
self.client.session.get(SESSION_TOKEN_KEY), token.key)
109
108
def test_listener_read_only_mode_no_token(self):
110
rm = ReadOnlyManager()
112
self.addCleanup(rm.clear_readonly)
114
self.client.login(username=self.email, password=DEFAULT_USER_PASSWORD)
109
with readonly_enabled():
111
username=self.email, password=DEFAULT_USER_PASSWORD)
115
112
self.assertEqual(self.account.token_set.all().count(), 0)
116
113
self.assertEqual(self.client.session.get(SESSION_TOKEN_KEY), '')
118
115
def test_listener_read_only_mode_previous_token_no_web_login(self):
119
116
self.account.create_oauth_token(token_name=SESSION_TOKEN_NAME)
121
rm = ReadOnlyManager()
123
self.addCleanup(rm.clear_readonly)
125
self.client.login(username=self.email, password=DEFAULT_USER_PASSWORD)
117
with readonly_enabled():
119
username=self.email, password=DEFAULT_USER_PASSWORD)
126
120
self.assertEqual(
127
121
self.client.session.get(SESSION_TOKEN_KEY), '')
129
123
def test_listener_read_only_mode_previous_token(self):
130
124
token = self.account.create_oauth_token(
131
125
token_name=SESSION_TOKEN_NAME, scope=TokenScope.WEB_LOGIN)
133
rm = ReadOnlyManager()
135
self.addCleanup(rm.clear_readonly)
137
self.client.login(username=self.email, password=DEFAULT_USER_PASSWORD)
126
with readonly_enabled():
128
username=self.email, password=DEFAULT_USER_PASSWORD)
138
129
self.assertEqual(
139
130
self.client.session.get(SESSION_TOKEN_KEY), token.key)