Skip to content

Commit 900edd5

Browse files
pefoley2Laur04
authored andcommitted
test: use pytest
setup.py test is deprecated, switch to pytest. Also fix a bunch of warnings it flagged.
1 parent 60dcfbc commit 900edd5

30 files changed

+225
-77
lines changed

.github/workflows/ci.yml

+1-1
Large diffs are not rendered by default.

Ion.egg-info/SOURCES.txt

+7
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ deploy
1515
fabfile.py
1616
manage.py
1717
pyproject.toml
18+
pytest.ini
1819
requirements.txt
1920
setup.py
2021
.dependabot/config.yml
@@ -72,6 +73,8 @@ docs/sourcedoc/intranet.apps.api.rst
7273
docs/sourcedoc/intranet.apps.auth.management.commands.rst
7374
docs/sourcedoc/intranet.apps.auth.management.rst
7475
docs/sourcedoc/intranet.apps.auth.rst
76+
docs/sourcedoc/intranet.apps.bus.management.commands.rst
77+
docs/sourcedoc/intranet.apps.bus.management.rst
7578
docs/sourcedoc/intranet.apps.bus.rst
7679
docs/sourcedoc/intranet.apps.dashboard.rst
7780
docs/sourcedoc/intranet.apps.dataimport.management.commands.rst
@@ -89,6 +92,8 @@ docs/sourcedoc/intranet.apps.eighth.views.rst
8992
docs/sourcedoc/intranet.apps.emailfwd.rst
9093
docs/sourcedoc/intranet.apps.emerg.rst
9194
docs/sourcedoc/intranet.apps.error.rst
95+
docs/sourcedoc/intranet.apps.events.management.commands.rst
96+
docs/sourcedoc/intranet.apps.events.management.rst
9297
docs/sourcedoc/intranet.apps.events.rst
9398
docs/sourcedoc/intranet.apps.features.rst
9499
docs/sourcedoc/intranet.apps.feedback.rst
@@ -201,6 +206,7 @@ intranet/apps/bus/tasks.py
201206
intranet/apps/bus/tests.py
202207
intranet/apps/bus/urls.py
203208
intranet/apps/bus/views.py
209+
intranet/apps/bus/management/__init__.py
204210
intranet/apps/bus/management/commands/__init__.py
205211
intranet/apps/bus/management/commands/import_routes.py
206212
intranet/apps/bus/management/commands/reset_routes.py
@@ -394,6 +400,7 @@ intranet/apps/events/tasks.py
394400
intranet/apps/events/tests.py
395401
intranet/apps/events/urls.py
396402
intranet/apps/events/views.py
403+
intranet/apps/events/management/__init__.py
397404
intranet/apps/events/management/commands/__init__.py
398405
intranet/apps/events/management/commands/import_sports.py
399406
intranet/apps/events/migrations/0001_initial.py

ci/spec.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ env:
5959
pip install -U pip setuptools
6060
pip install -U \
6161
flake8 pylint pylint-django pylint-plugin-utils isort black==20.8b1 autopep8 \
62-
coverage coveralls pyyaml
62+
coveralls pyyaml pytest-django
6363
pip install -U -r requirements.txt
6464
6565
echo "PATH=$PATH" >> $GITHUB_ENV
@@ -230,7 +230,7 @@ jobs:
230230

231231
# Tests
232232
- name: Run tests
233-
run: coverage run ./setup.py test
233+
run: coverage run -m pytest
234234
- name: Migrate database
235235
run: coverage run -a ./manage.py migrate
236236
- name: Collect static files

docs/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@
297297
# Example configuration for intersphinx: refer to the Python standard library.
298298
intersphinx_mapping = {
299299
"python": ("https://docs.python.org/3", None),
300-
"django": ("https://docs.djangoproject.com/en/dev", "https://docs.djangoproject.com/en/dev/_objects"),
300+
"django": ("https://docs.djangoproject.com/en/dev", "https://docs.djangoproject.com/en/dev/_objects/"),
301301
}
302302
autodoc_inherit_docstrings = False
303303

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
intranet.apps.bus.management.commands package
2+
=============================================
3+
4+
Submodules
5+
----------
6+
7+
intranet.apps.bus.management.commands.import\_routes module
8+
-----------------------------------------------------------
9+
10+
.. automodule:: intranet.apps.bus.management.commands.import_routes
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
intranet.apps.bus.management.commands.reset\_routes module
16+
----------------------------------------------------------
17+
18+
.. automodule:: intranet.apps.bus.management.commands.reset_routes
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
22+
23+
Module contents
24+
---------------
25+
26+
.. automodule:: intranet.apps.bus.management.commands
27+
:members:
28+
:undoc-members:
29+
:show-inheritance:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
intranet.apps.bus.management package
2+
====================================
3+
4+
Subpackages
5+
-----------
6+
7+
.. toctree::
8+
:maxdepth: 4
9+
10+
intranet.apps.bus.management.commands
11+
12+
Module contents
13+
---------------
14+
15+
.. automodule:: intranet.apps.bus.management
16+
:members:
17+
:undoc-members:
18+
:show-inheritance:

docs/sourcedoc/intranet.apps.bus.rst

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
intranet.apps.bus package
22
=========================
33

4+
Subpackages
5+
-----------
6+
7+
.. toctree::
8+
:maxdepth: 4
9+
10+
intranet.apps.bus.management
11+
412
Submodules
513
----------
614

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
intranet.apps.events.management.commands package
2+
================================================
3+
4+
Submodules
5+
----------
6+
7+
intranet.apps.events.management.commands.import\_sports module
8+
--------------------------------------------------------------
9+
10+
.. automodule:: intranet.apps.events.management.commands.import_sports
11+
:members:
12+
:undoc-members:
13+
:show-inheritance:
14+
15+
Module contents
16+
---------------
17+
18+
.. automodule:: intranet.apps.events.management.commands
19+
:members:
20+
:undoc-members:
21+
:show-inheritance:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
intranet.apps.events.management package
2+
=======================================
3+
4+
Subpackages
5+
-----------
6+
7+
.. toctree::
8+
:maxdepth: 4
9+
10+
intranet.apps.events.management.commands
11+
12+
Module contents
13+
---------------
14+
15+
.. automodule:: intranet.apps.events.management
16+
:members:
17+
:undoc-members:
18+
:show-inheritance:

docs/sourcedoc/intranet.apps.events.rst

+8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
intranet.apps.events package
22
============================
33

4+
Subpackages
5+
-----------
6+
7+
.. toctree::
8+
:maxdepth: 4
9+
10+
intranet.apps.events.management
11+
412
Submodules
513
----------
614

intranet/apps/api/tests.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ def test_api_eighth_signup_list(self):
507507

508508
def test_api_bus_list(self):
509509
self.make_token()
510-
route = Route.objects.create(route_name="JT-001", bus_number="JT-001")
510+
route = Route.objects.create(route_name="JT-01", bus_number="JT-01")
511511
response = self.client.get(reverse("api_bus_list"), HTTP_AUTHORIZATION=self.auth)
512512

513513
self.assertEqual(response.status_code, 200)
@@ -517,7 +517,7 @@ def test_api_bus_list(self):
517517

518518
def test_api_bus_detail(self):
519519
self.make_token()
520-
route_1 = Route.objects.create(route_name="JT-001", bus_number="JT-001")
520+
route_1 = Route.objects.create(route_name="JT-01", bus_number="JT-01")
521521
response = self.client.get(reverse("api_bus_detail", args=[route_1.pk]), HTTP_AUTHORIZATION=self.auth)
522522

523523
self.assertEqual(response.status_code, 200)

intranet/apps/auth/views.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from django.views.generic.base import View
2323

2424
from ...utils.date import get_senior_graduation_date, get_senior_graduation_year
25-
from ...utils.helpers import dark_mode_enabled, get_ap_week_warning
25+
from ...utils.helpers import awaredate, dark_mode_enabled, get_ap_week_warning
2626
from ..dashboard.views import dashboard_view, get_fcps_emerg
2727
from ..eighth.models import EighthBlock
2828
from ..events.models import Event
@@ -92,9 +92,7 @@ def get_week_sports_school_events() -> Tuple[Container[Event], Container[Event]]
9292
"""
9393
cache_result = cache.get("sports_school_events")
9494
if not isinstance(cache_result, tuple):
95-
events = Event.objects.filter(
96-
time__gte=timezone.localtime(), time__lte=(timezone.localdate() + relativedelta(weeks=1)), public=True
97-
).this_year()
95+
events = Event.objects.filter(time__gte=timezone.localtime(), time__lte=(awaredate() + relativedelta(weeks=1)), public=True).this_year()
9896
sports_events = list(events.filter(approved=True, category="sports").order_by("time")[:3])
9997
school_events = list(events.filter(approved=True, category="school").order_by("time")[:3])
10098

intranet/apps/bus/management/__init__.py

Whitespace-only changes.

intranet/apps/bus/models.py

+3
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,6 @@ def reset_status(self):
1919

2020
def __str__(self):
2121
return self.route_name
22+
23+
class Meta:
24+
ordering = ["route_name"]

intranet/apps/bus/tests.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ def test_bus(self):
3636
m.assert_called()
3737

3838
def test_routes(self):
39-
route = Route.objects.get_or_create(route_name="JT-101", bus_number="JT-101")[0]
39+
route = Route.objects.get_or_create(route_name="JT-01", bus_number="JT-01")[0]
4040
route.status = "a"
4141
route.space = "_1"
4242
route.save()
@@ -47,7 +47,7 @@ def test_routes(self):
4747
self.assertEqual(route.space, "")
4848

4949
def test_route_representation(self):
50-
route = Route.objects.get_or_create(route_name="JT-101", bus_number="JT-101")[0]
50+
route = Route.objects.get_or_create(route_name="JT-01", bus_number="JT-01")[0]
5151
route_str = str(route)
5252

5353
self.assertEqual(route.route_name, route_str)

intranet/apps/eighth/tests/admin/test_admin_general.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
from intranet.apps.groups.models import Group
88

9+
from .....utils.helpers import awaredate
910
from ...models import EighthActivity, EighthBlock, EighthRoom, EighthSponsor
1011
from ..eighth_test import EighthAbstractTest
1112

@@ -33,7 +34,7 @@ def test_eighth_admin_dashboard_view(self):
3334
response = self.client.get(reverse("eighth_admin_dashboard"))
3435
self.assertTemplateUsed(response, "eighth/admin/dashboard.html")
3536

36-
self.assertEqual(response.context["start_date"], timezone.localdate())
37+
self.assertEqual(response.context["start_date"], awaredate())
3738
self.assertQuerysetEqual(response.context["all_activities"], [repr(activity) for activity in EighthActivity.objects.all().order_by("name")])
3839
self.assertQuerysetEqual(response.context["blocks_after_start_date"], [repr(block) for block in EighthBlock.objects.all()])
3940
self.assertQuerysetEqual(response.context["groups"], [repr(group) for group in Group.objects.all().order_by("name")])

intranet/apps/eighth/tests/admin/test_admin_groups.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ def test_download_group_csv_view(self):
166166
group = Group.objects.get_or_create(name="test group 5")[0]
167167
user1 = get_user_model().objects.get_or_create(username="2021ttest", first_name="Tommy", last_name="Test", student_id=1234568)[0]
168168
user2 = get_user_model().objects.get_or_create(username="2021ttest1", first_name="Thomas", last_name="Test", student_id=1234567)[0]
169-
user3 = get_user_model().objects.get_or_create(username="2021awilliam", first_name="A", last_name="William", student_id=12345679)[0]
169+
user3 = get_user_model().objects.get_or_create(username="2021awilliam", first_name="A", last_name="William", student_id=1234569)[0]
170170
for member in [user1, user2, user3]:
171171
member.groups.add(group)
172172
member.save()
@@ -205,7 +205,7 @@ def test_eighth_admin_signup_group(self):
205205
username="2021awilliam",
206206
first_name="A",
207207
last_name="William",
208-
student_id=12345679,
208+
student_id=1234569,
209209
user_type="student",
210210
graduation_year=get_senior_graduation_year(),
211211
)[0]
@@ -281,7 +281,7 @@ def test_eighth_admin_distribute_group(self):
281281
username="2021awilliam",
282282
first_name="A",
283283
last_name="William",
284-
student_id=12345679,
284+
student_id=1234569,
285285
user_type="student",
286286
graduation_year=get_senior_graduation_year(),
287287
)[0]
@@ -352,7 +352,7 @@ def test_eighth_admin_distribute_unsigned(self):
352352
username="2021awilliam",
353353
first_name="A",
354354
last_name="William",
355-
student_id=12345679,
355+
student_id=1234569,
356356
user_type="student",
357357
graduation_year=get_senior_graduation_year(),
358358
)[0]
@@ -417,7 +417,7 @@ def test_eighth_admin_distribute_action(self):
417417
username="2021awilliam",
418418
first_name="A",
419419
last_name="William",
420-
student_id=12345679,
420+
student_id=1234569,
421421
user_type="student",
422422
graduation_year=get_senior_graduation_year(),
423423
)[0]

intranet/apps/eighth/utils.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22

33
from django.utils import timezone
44

5+
from ...utils.helpers import awaredate
6+
57
DATE_FORMAT = "%m-%d-%Y"
68

79

810
def get_start_date(request):
911
if "start_date" in request.session and request.session.get("start_date_set_date") == timezone.localdate().strftime(DATE_FORMAT):
1012
date = request.session["start_date"]
11-
return datetime.strptime(date, DATE_FORMAT).date()
13+
return timezone.make_aware(datetime.strptime(date, DATE_FORMAT))
1214
else:
13-
now = timezone.localdate()
15+
now = awaredate()
1416
set_start_date(request, now)
1517
return now
1618

intranet/apps/eighth/views/admin/attendance.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from django.contrib.auth import get_user_model
1010
from django.db.models import Count, Q
1111
from django.shortcuts import redirect, render
12+
from django.utils import timezone
1213

1314
from .....utils.helpers import is_entirely_digit
1415
from ....auth.decorators import eighth_admin_required
@@ -198,12 +199,12 @@ def after_deadline_signup_view(request):
198199
end_date = request.GET.get("end", "")
199200

200201
try:
201-
start_date = datetime.strptime(start_date, "%Y-%m-%d")
202+
start_date = timezone.make_aware(datetime.strptime(start_date, "%Y-%m-%d"))
202203
except ValueError:
203204
start_date = get_start_date(request)
204205

205206
try:
206-
end_date = datetime.strptime(end_date, "%Y-%m-%d")
207+
end_date = timezone.make_aware(datetime.strptime(end_date, "%Y-%m-%d"))
207208
except ValueError:
208209
end_date = start_date + timedelta(days=7)
209210

intranet/apps/eighth/views/monitoring.py

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ def metrics_view(request):
3636
)
3737
.filter(unique_signups__lt=F("total_signups"))
3838
.values_list("id", F("total_signups") - F("unique_signups"))
39+
.order_by("date", "block_letter")
3940
.nocache()
4041
):
4142
metrics['intranet_eighth_duplicate_signups{{block_id="{}"}}'.format(block_id)] = num_duplicates

intranet/apps/events/management/__init__.py

Whitespace-only changes.

intranet/apps/events/tests.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ def test_add_event(self):
143143
"location": "Location",
144144
"scheduled_activity": "",
145145
"announcement": "",
146-
"groups": 1,
146+
"groups": [],
147147
"show_attending": "on",
148148
"show_on_dashboard": "on",
149149
"category": "sports",
@@ -228,7 +228,7 @@ def test_modify_event(self):
228228
"location": "New location",
229229
"scheduled_activity": "",
230230
"announcement": "",
231-
"groups": 1,
231+
"groups": [],
232232
"show_attending": "on",
233233
"show_on_dashboard": "on",
234234
"category": "sports",

0 commit comments

Comments
 (0)