Skip to content

Commit ccef26b

Browse files
committed
Fix tests for modern Django and Python
1 parent 527f91e commit ccef26b

5 files changed

Lines changed: 45 additions & 58 deletions

File tree

Makefile

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ ruff:
77

88
example:
99
DJANGO_SETTINGS_MODULE=example.settings PYTHONPATH=. \
10-
django-admin.py runserver
10+
django-admin runserver
1111

1212
check:
1313
DJANGO_SETTINGS_MODULE=example.settings PYTHONPATH=. \
@@ -19,11 +19,11 @@ generate-mmdb-fixtures:
1919

2020
test: generate-mmdb-fixtures
2121
DJANGO_SETTINGS_MODULE=tests.settings PYTHONPATH=. \
22-
django-admin.py test ${TARGET}
22+
django-admin test ${TARGET}
2323

2424
migrations:
2525
DJANGO_SETTINGS_MODULE=tests.settings PYTHONPATH=. \
26-
django-admin.py makemigrations user_sessions
26+
django-admin makemigrations user_sessions
2727

2828
coverage:
2929
coverage erase
@@ -34,8 +34,8 @@ coverage:
3434

3535
tx-pull:
3636
tx pull -a
37-
cd user_sessions; django-admin.py compilemessages
37+
cd user_sessions; django-admin compilemessages
3838

3939
tx-push:
40-
cd user_sessions; django-admin.py makemessages -l en
40+
cd user_sessions; django-admin makemessages -l en
4141
tx push -s

pyproject.toml

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@ requires-python = ">=3.8"
1212
keywords = ["django", "sessions"]
1313
license = {text = "MIT"}
1414
classifiers = [
15-
"Development Status :: 5 - Production/Stable",
16-
"Environment :: Web Environment",
17-
"Framework :: Django",
18-
"Framework :: Django :: 3.2",
19-
"Framework :: Django :: 4.2",
20-
"Intended Audience :: Developers",
21-
"License :: OSI Approved :: MIT License",
22-
"Operating System :: OS Independent",
23-
"Programming Language :: Python",
24-
"Programming Language :: Python :: 3",
25-
"Programming Language :: Python :: 3.8",
26-
"Programming Language :: Python :: 3.9",
27-
"Programming Language :: Python :: 3.10",
28-
"Programming Language :: Python :: 3.11",
29-
"Programming Language :: Python :: 3.12",
30-
"Topic :: Security",
15+
"Development Status :: 5 - Production/Stable",
16+
"Environment :: Web Environment",
17+
"Framework :: Django",
18+
"Framework :: Django :: 3.2",
19+
"Framework :: Django :: 4.2",
20+
"Intended Audience :: Developers",
21+
"License :: OSI Approved :: MIT License",
22+
"Operating System :: OS Independent",
23+
"Programming Language :: Python",
24+
"Programming Language :: Python :: 3",
25+
"Programming Language :: Python :: 3.8",
26+
"Programming Language :: Python :: 3.9",
27+
"Programming Language :: Python :: 3.10",
28+
"Programming Language :: Python :: 3.11",
29+
"Programming Language :: Python :: 3.12",
30+
"Topic :: Security",
3131
]
3232
dependencies = [
3333
"Django>=3.2",
@@ -43,21 +43,21 @@ issues = "https://github.com/jazzband/django-user-sessions/issues"
4343

4444
[project.optional-dependencies]
4545
dev = [
46-
# Example app
47-
"django-debug-toolbar",
48-
# Testing
49-
"coverage",
50-
"tox",
51-
"tox-pyenv",
52-
"detox",
53-
# Transifex
54-
"transifex-client",
55-
# Documentation
56-
"Sphinx",
57-
"sphinx_rtd_theme",
58-
# Build
59-
"bumpversion",
60-
"twine",
46+
# Example app
47+
"django-debug-toolbar",
48+
# Testing
49+
"coverage",
50+
"tox",
51+
"tox-pyenv",
52+
"detox",
53+
# Transifex
54+
"transifex-client",
55+
# Documentation
56+
"Sphinx",
57+
"sphinx_rtd_theme",
58+
# Build
59+
"bumpversion",
60+
"twine",
6161
]
6262

6363
[tool.ruff]

tests/test_admin.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,37 +25,32 @@ def setUp(self):
2525
self.admin_url = reverse('admin:user_sessions_session_changelist')
2626

2727
def test_list(self):
28-
with self.assertWarnsRegex(UserWarning, r"The address 1\.1\.1\.1 is not in the database"):
29-
response = self.client.get(self.admin_url)
28+
response = self.client.get(self.admin_url)
3029
self.assertContains(response, 'Select session to change')
3130
self.assertContains(response, '127.0.0.1')
3231
self.assertContains(response, '20.13.1.1')
3332
self.assertContains(response, '1.1.1.1')
3433

3534
def test_search(self):
36-
with self.assertWarnsRegex(UserWarning, r"The address 127\.0\.0\.1 is not in the database"):
37-
response = self.client.get(self.admin_url, {'q': 'bouke'})
35+
response = self.client.get(self.admin_url, {'q': 'bouke'})
3836
self.assertContains(response, '127.0.0.1')
3937
self.assertNotContains(response, '20.13.1.1')
4038
self.assertNotContains(response, '1.1.1.1')
4139

4240
def test_mine(self):
4341
my_sessions = f"{self.admin_url}?{urlencode({'owner': 'my'})}"
44-
with self.assertWarnsRegex(UserWarning, r"The address 127\.0\.0\.1 is not in the database"):
45-
response = self.client.get(my_sessions)
42+
response = self.client.get(my_sessions)
4643
self.assertContains(response, '127.0.0.1')
4744
self.assertNotContains(response, '1.1.1.1')
4845

4946
def test_expired(self):
5047
expired = f"{self.admin_url}?{urlencode({'active': '0'})}"
51-
with self.assertWarnsRegex(UserWarning, r"The address 20\.13\.1\.1 is not in the database"):
52-
response = self.client.get(expired)
48+
response = self.client.get(expired)
5349
self.assertContains(response, '20.13.1.1')
5450
self.assertNotContains(response, '1.1.1.1')
5551

5652
def test_unexpired(self):
5753
unexpired = f"{self.admin_url}?{urlencode({'active': '1'})}"
58-
with self.assertWarnsRegex(UserWarning, r"The address 1\.1\.1\.1 is not in the database"):
59-
response = self.client.get(unexpired)
54+
response = self.client.get(unexpired)
6055
self.assertContains(response, '1.1.1.1')
6156
self.assertNotContains(response, '20.13.1.1')

tests/test_template_filters.py

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,7 @@
2525
class LocationTemplateFilterTest(TestCase):
2626
@override_settings(GEOIP_PATH=None)
2727
def test_no_location(self):
28-
with self.assertWarnsRegex(
29-
UserWarning,
30-
r"The address 127\.0\.0\.1 is not in the database",
31-
):
32-
loc = location('127.0.0.1')
33-
self.assertEqual(loc, None)
28+
self.assertIsNone(location('127.0.0.1'))
3429

3530
@skipUnless(geoip, geoip_msg)
3631
def test_city(self):

tests/test_views.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ def test_list(self):
2020
self.user.session_set.create(session_key='ABC123', ip='127.0.0.1',
2121
expire_date=now() + timedelta(days=1),
2222
user_agent='Firefox')
23-
with self.assertWarnsRegex(UserWarning, r"The address 127\.0\.0\.1 is not in the database"):
24-
response = self.client.get(reverse('user_sessions:session_list'))
23+
response = self.client.get(reverse('user_sessions:session_list'))
2524
self.assertContains(response, 'Active Sessions')
2625
self.assertContains(response, 'Firefox')
2726
self.assertNotContains(response, 'ABC123')
@@ -36,8 +35,7 @@ def test_delete_all_other(self):
3635
self.user.session_set.create(ip='127.0.0.1', expire_date=now() + timedelta(days=1))
3736
self.assertEqual(self.user.session_set.count(), 2)
3837
response = self.client.post(reverse('user_sessions:session_delete_other'))
39-
with self.assertWarnsRegex(UserWarning, r"The address 127\.0\.0\.1 is not in the database"):
40-
self.assertRedirects(response, reverse('user_sessions:session_list'))
38+
self.assertRedirects(response, reverse('user_sessions:session_list'))
4139
self.assertEqual(self.user.session_set.count(), 1)
4240

4341
def test_delete_some_other(self):
@@ -46,6 +44,5 @@ def test_delete_some_other(self):
4644
self.assertEqual(self.user.session_set.count(), 2)
4745
response = self.client.post(reverse('user_sessions:session_delete',
4846
args=[other.session_key]))
49-
with self.assertWarnsRegex(UserWarning, r"The address 127\.0\.0\.1 is not in the database"):
50-
self.assertRedirects(response, reverse('user_sessions:session_list'))
47+
self.assertRedirects(response, reverse('user_sessions:session_list'))
5148
self.assertEqual(self.user.session_set.count(), 1)

0 commit comments

Comments
 (0)