BIG UPD: migrate to python 3.10 and django 3.2
All checks were successful
buildbot/tox Build done.

This commit is contained in:
2022-06-07 16:07:08 +02:00
parent edd4050935
commit 8610e2a557
36 changed files with 192 additions and 91 deletions

View File

@@ -3,7 +3,7 @@ from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
class SeleniumAuthMixin(object):
class SeleniumAuthMixin:
def login(self, driver, username, password):
driver.get(self.complete_url(reverse('dav_auth:login')))
username_field = self.wait_on_presence(driver, (By.ID, 'id_username'))

View File

@@ -11,7 +11,6 @@ from ..forms import LoginForm, SetPasswordForm, CreateAndSendPasswordForm
TEST_USERNAME = 'root@localhost'
TEST_PASSWORD = u'me||ön 21ABll'
TEST_EMAIL = TEST_USERNAME
USERNAME_MAX_LENGTH = 254
class LoginFormTestCase(FormsTestCase):
@@ -24,11 +23,6 @@ class LoginFormTestCase(FormsTestCase):
model = get_user_model()
self.user = model.objects.create_user(username=TEST_USERNAME, password=TEST_PASSWORD, email=TEST_EMAIL)
def test_length(self):
form = self.form_class()
self.assertEqual(form.fields['username'].max_length, USERNAME_MAX_LENGTH)
self.assertEqual(form.fields['password'].max_length, None)
def test_labels(self):
form = self.form_class()
self.assertEqual(form.fields['username'].label, ugettext(u'E-Mail-Adresse'))
@@ -53,13 +47,6 @@ class LoginFormTestCase(FormsTestCase):
]
super(LoginFormTestCase, self).test_invalid_data(data_sets=data_sets)
def test_username_too_long(self):
data_sets = [
FormDataSet({'username': 'u' * USERNAME_MAX_LENGTH + 'u', 'password': self.test_password},
expected_errors=[('username', 'max_length')]),
]
super(LoginFormTestCase, self).test_invalid_data(data_sets=data_sets)
def test_invalid_username(self):
data_sets = [
FormDataSet({'username': self.test_username[::-1], 'password': self.test_password},
@@ -202,13 +189,8 @@ class CreateAndSendPasswordFormTestCase(FormsTestCase):
)
invalid_data_sets = (
FormDataSet({'username': ''}, expected_errors=[('username', 'required')]),
FormDataSet({'username': 'u' * USERNAME_MAX_LENGTH + 'u'}, expected_errors=[('username', 'max_length')]),
)
def test_length(self):
form = self.form_class()
self.assertEqual(form.fields['username'].max_length, USERNAME_MAX_LENGTH)
def test_labels(self):
form = self.form_class()
self.assertEqual(form.fields['username'].label, ugettext(u'E-Mail-Adresse'))

View File

@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
from unittest import skip
from django.contrib.auth import get_user_model
from django.test import TestCase, Client
class ModelsTestCase(TestCase):
@skip('I do not know, why the user.save() does not raise an exception')
def test_username_length(self):
max_length = 150 # Hard coded in django.contrib.auth.models.AbstractUser
username_ok = 'u' * max_length
username_too_long = username_ok + 'u'
user_model = get_user_model()
user = user_model(username=username_too_long,
first_name='A',
last_name='User',
email='a.user@example.com')
user.save()
def test_last_login(self):
user_model = get_user_model()
user = user_model(username='auser',
first_name='A',
last_name='User',
email='a.user@example.com')
user.save()
self.assertEqual(user.last_login, None)
c = Client()
c.force_login(user)
self.assertNotEqual(user.last_login, None)

View File

@@ -40,7 +40,7 @@ class TestCase(SeleniumAuthMixin, SeleniumTestCase):
c = self.selenium
c.get(self.complete_url('/'))
try:
link = c.find_element_by_css_selector('#login-widget a')
c.find_element_by_css_selector('#login-widget a')
except NoSuchElementException as e: # pragma: no cover
self.fail(str(e))
@@ -65,4 +65,3 @@ class TestCase(SeleniumAuthMixin, SeleniumTestCase):
self.assertEqual(field.get_attribute('required'), 'true')
field = c.find_element_by_id('id_send_password_mail')
self.assertEqual(field.get_attribute('required'), None)

View File

@@ -35,7 +35,7 @@ class ViewsTestCase(TestCase):
cls.set_password_message = ugettext(u'Passwort gespeichert.')
def setUp(self):
super(TestCase, self).setUp()
super(ViewsTestCase, self).setUp()
# Need a test user
self.test_username = TEST_USERNAME
self.test_password = TEST_PASSWORD