feat: add session expiry warning
This commit is contained in:
49
backend/workflows/tests/test_session_warning.py
Normal file
49
backend/workflows/tests/test_session_warning.py
Normal file
@@ -0,0 +1,49 @@
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.test import Client, TestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
|
||||
TEST_STORAGES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.files.storage.FileSystemStorage',
|
||||
},
|
||||
'staticfiles': {
|
||||
'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@override_settings(STORAGES=TEST_STORAGES)
|
||||
class SessionWarningTests(TestCase):
|
||||
def setUp(self):
|
||||
self.user = get_user_model().objects.create_user(
|
||||
username='session-user',
|
||||
email='session@example.com',
|
||||
password='secret-12345',
|
||||
)
|
||||
|
||||
def test_base_shell_exposes_session_warning_config(self):
|
||||
client = Client(HTTP_HOST='localhost')
|
||||
client.force_login(self.user)
|
||||
|
||||
response = client.get('/')
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, 'WorkdockSessionConfig')
|
||||
self.assertContains(response, '/session/keepalive/')
|
||||
self.assertContains(response, 'Ihre Sitzung läuft bald ab')
|
||||
|
||||
def test_keepalive_refreshes_session_timestamps(self):
|
||||
client = Client(HTTP_HOST='localhost')
|
||||
client.force_login(self.user)
|
||||
session = client.session
|
||||
session['last_activity_ts'] = 1
|
||||
session['auth_fresh_ts'] = 1
|
||||
session.save()
|
||||
|
||||
response = client.post('/session/keepalive/', {}, HTTP_HOST='localhost')
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
session = client.session
|
||||
self.assertGreater(session['last_activity_ts'], 1)
|
||||
self.assertGreater(session['auth_fresh_ts'], 1)
|
||||
Reference in New Issue
Block a user