From 8b1ee4bba76e508132064da505ec0577fc57d2fd Mon Sep 17 00:00:00 2001 From: Jonathan Cooper Date: Tue, 17 Mar 2020 09:57:28 +0000 Subject: [PATCH 1/4] Why don't tests flag this as an error? --- requirements/dev.txt | 3 +-- requirements/test.txt | 4 ++-- weblab/experiments/tests/test_views.py | 6 +++++- weblab/templates/experiments/experimentversion_detail.html | 4 ++-- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/requirements/dev.txt b/requirements/dev.txt index 96e7cc398..418255ce9 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -16,8 +16,7 @@ defusedxml==0.5.0 # via python3-openid, social-auth-core dj-database-url==0.4.2 django-braces==1.11.0 django-guardian==1.4.9 -django==1.11.27 -first==2.0.2 # via pip-tools +django==1.11.28 flake8==3.4.1 gitdb2==2.0.5 # via gitpython gitpython==2.1.7 diff --git a/requirements/test.txt b/requirements/test.txt index 14a5a997f..ee8cbb947 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -28,8 +28,8 @@ pycodestyle==2.5.0 # via flake8 pyflakes==2.1.1 # via flake8 pyjwt==1.7.1 # via social-auth-core pytest-cov==2.5.1 -pytest-django==3.1.2 -pytest==3.2.0 +pytest-django==3.8.0 +pytest==3.6.0 python3-openid==3.1.0 # via social-auth-core pytz==2018.9 # via django requests-oauthlib==1.2.0 # via social-auth-core diff --git a/weblab/experiments/tests/test_views.py b/weblab/experiments/tests/test_views.py index 382fdb498..ad2df62ba 100644 --- a/weblab/experiments/tests/test_views.py +++ b/weblab/experiments/tests/test_views.py @@ -13,6 +13,7 @@ from django.core.urlresolvers import reverse from django.test import Client from django.utils.dateparse import parse_datetime +from pytest_django.asserts import assertContains, assertTemplateUsed from core import recipes from experiments.models import ( @@ -950,8 +951,11 @@ def test_view_experiment_version(self, client, experiment_version): experiment_version.pk)) ) - assert response.status_code == 200 assert response.context['version'] == experiment_version + assertTemplateUsed(response, 'experiments/experimentversion_detail.html') + assertContains(response, 'Download archive of all files') + print(response.content) + assert False @pytest.mark.django_db diff --git a/weblab/templates/experiments/experimentversion_detail.html b/weblab/templates/experiments/experimentversion_detail.html index 6fc0ab82f..898411813 100644 --- a/weblab/templates/experiments/experimentversion_detail.html +++ b/weblab/templates/experiments/experimentversion_detail.html @@ -45,9 +45,9 @@

{% endif %}
Corresponding model: - {{ experiment.model.name }} @ {{ experiment.nice_model_version }} + {{ experiment.model.name }} @ {{ experiment.nice_model_version }} & protocol: - {{ experiment.protocol.name }} @ {{ experiment.nice_protocol_version }} + {{ experiment.protocol.name }} @ {{ experiment.nice_protocol_version }} From 4abf49fcc4f76108c50b7cd531d170411a3b5982 Mon Sep 17 00:00:00 2001 From: Jonathan Cooper Date: Tue, 17 Mar 2020 16:58:09 +0000 Subject: [PATCH 2/4] Now the test fails for the right reason! --- weblab/core/recipes.py | 10 +++++----- weblab/experiments/tests/test_views.py | 2 -- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/weblab/core/recipes.py b/weblab/core/recipes.py index 5d9bf19fa..65d75ca91 100644 --- a/weblab/core/recipes.py +++ b/weblab/core/recipes.py @@ -1,19 +1,19 @@ from model_mommy.recipe import Recipe, foreign_key, seq -user = Recipe('accounts.User', institution='UCL') +user = Recipe('accounts.User', institution='UCL', full_name=seq('test user ')) model = Recipe( 'ModelEntity', - entity_type='model', name=seq('mymodel') + entity_type='model', name=seq('my model') ) protocol = Recipe( 'ProtocolEntity', - entity_type='protocol', name=seq('myprotocol') + entity_type='protocol', name=seq('my protocol') ) fittingspec = Recipe( 'FittingSpec', - entity_type='fittingspec', name=seq('myspec'), + entity_type='fittingspec', name=seq('my spec'), protocol=foreign_key(protocol), ) @@ -46,7 +46,7 @@ dataset = Recipe('Dataset', - name=seq('mydataset'), + name=seq('my dataset'), protocol=foreign_key(protocol)) dataset_file = Recipe('DatasetFile', diff --git a/weblab/experiments/tests/test_views.py b/weblab/experiments/tests/test_views.py index ad2df62ba..98109c57c 100644 --- a/weblab/experiments/tests/test_views.py +++ b/weblab/experiments/tests/test_views.py @@ -954,8 +954,6 @@ def test_view_experiment_version(self, client, experiment_version): assert response.context['version'] == experiment_version assertTemplateUsed(response, 'experiments/experimentversion_detail.html') assertContains(response, 'Download archive of all files') - print(response.content) - assert False @pytest.mark.django_db From f6a190c6841685a5804a18af212d5a6f515f8814 Mon Sep 17 00:00:00 2001 From: Jonathan Cooper Date: Tue, 17 Mar 2020 16:59:50 +0000 Subject: [PATCH 3/4] Fix the test again --- weblab/templates/experiments/experimentversion_detail.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/weblab/templates/experiments/experimentversion_detail.html b/weblab/templates/experiments/experimentversion_detail.html index 898411813..6fc0ab82f 100644 --- a/weblab/templates/experiments/experimentversion_detail.html +++ b/weblab/templates/experiments/experimentversion_detail.html @@ -45,9 +45,9 @@

{% endif %}
Corresponding model: - {{ experiment.model.name }} @ {{ experiment.nice_model_version }} + {{ experiment.model.name }} @ {{ experiment.nice_model_version }} & protocol: - {{ experiment.protocol.name }} @ {{ experiment.nice_protocol_version }} + {{ experiment.protocol.name }} @ {{ experiment.nice_protocol_version }} From 3384655203c8e0c4bb276f8a72c6c374364bf5dd Mon Sep 17 00:00:00 2001 From: Jonathan Cooper Date: Tue, 17 Mar 2020 17:09:41 +0000 Subject: [PATCH 4/4] Fix other tests that assumed entity names --- weblab/entities/tests/test_views.py | 44 ++++++++++++++--------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/weblab/entities/tests/test_views.py b/weblab/entities/tests/test_views.py index d965d0bc8..e38f454f0 100644 --- a/weblab/entities/tests/test_views.py +++ b/weblab/entities/tests/test_views.py @@ -431,10 +431,10 @@ def test_complex_visibilities(self, client, logged_in_user, other_user, helpers) assert len(interfaces) == 4 expected = { - 'myprotocol1': {'required': ['p1r2'], 'optional': ['p1o2']}, - 'myprotocol2': {'required': ['p2r2'], 'optional': ['p2o2']}, - 'myprotocol3': {'required': ['p3r1'], 'optional': ['p3o1']}, - 'myprotocol4': {'required': ['p4r3'], 'optional': ['p4o3']}, + protocol1.name: {'required': ['p1r2'], 'optional': ['p1o2']}, + protocol2.name: {'required': ['p2r2'], 'optional': ['p2o2']}, + protocol3.name: {'required': ['p3r1'], 'optional': ['p3o1']}, + protocol4.name: {'required': ['p4r3'], 'optional': ['p4o3']}, } for iface in interfaces: assert iface['name'] in expected @@ -1666,7 +1666,7 @@ def test_download_archive(self, client, helpers): archive = zipfile.ZipFile(BytesIO(response.content)) assert archive.filelist[0].filename == 'file1.txt' assert response['Content-Disposition'] == ( - 'attachment; filename=%s_%s.zip' % (model.name, commit.sha) + 'attachment; filename=%s_%s.zip' % (model.name.replace(' ', '_'), commit.sha) ) def test_returns_404_if_no_commits_yet(self, logged_in_user, client): @@ -2115,7 +2115,7 @@ def test_view_run_experiment_model(self, client, helpers, logged_in_user): assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2147,14 +2147,14 @@ def test_view_run_experiment_model_multiple_users(self, client, helpers, logged_ assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] assert response.context['other_object_list'] == [ {'id': other_protocol.pk, 'entity': other_protocol, - 'name': 'myprotocol2', + 'name': other_protocol.name, 'versions': [{'commit': other_version2, 'tags': ['v1'], 'latest': True}, {'commit': other_version1, 'tags': [], 'latest': False}]}, ] @@ -2179,7 +2179,7 @@ def test_view_run_experiment_model_post(self, client, helpers, logged_in_user): assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2229,7 +2229,7 @@ def test_view_run_experiment_model_post_exclude_existing(self, client, helpers, assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2281,14 +2281,14 @@ def test_view_run_experiment_post_model_multiple_users(self, client, helpers, lo assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] assert response.context['other_object_list'] == [ {'id': other_protocol.pk, 'entity': other_protocol, - 'name': 'myprotocol2', + 'name': other_protocol.name, 'versions': [{'commit': other_version2, 'tags': ['v1'], 'latest': True}, {'commit': other_version1, 'tags': [], 'latest': False}]}, ] @@ -2338,7 +2338,7 @@ def test_view_run_experiment_model_not_latest(self, client, helpers, logged_in_u assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2384,7 +2384,7 @@ def test_view_run_experiment_protocol(self, client, helpers, logged_in_user): assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2416,14 +2416,14 @@ def test_view_run_experiment_protocol_multiple_users(self, client, helpers, logg assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] assert response.context['other_object_list'] == [ {'id': other_model.pk, 'entity': other_model, - 'name': 'mymodel2', + 'name': other_model.name, 'versions': [{'commit': other_version2, 'tags': ['v1'], 'latest': True}, {'commit': other_version1, 'tags': [], 'latest': False}]}, ] @@ -2446,7 +2446,7 @@ def test_view_run_experiment_protocol_post(self, client, helpers, logged_in_user assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2502,7 +2502,7 @@ def test_view_run_experiment_protocol_post_exclude_existing(self, client, helper assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2551,14 +2551,14 @@ def test_view_run_experiment_post_protocol_multiple_users(self, client, helpers, assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] assert response.context['other_object_list'] == [ {'id': other_model.pk, 'entity': other_model, - 'name': 'mymodel2', + 'name': other_model.name, 'versions': [{'commit': other_version2, 'tags': ['v1'], 'latest': True}, {'commit': other_version1, 'tags': [], 'latest': False}]}, ] @@ -2605,7 +2605,7 @@ def test_view_run_experiment_none_checked(self, client, helpers, logged_in_user) assert response.status_code == 200 assert response.context['object_list'] == [{'id': protocol.pk, 'entity': protocol, - 'name': 'myprotocol1', + 'name': protocol.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ] @@ -2653,7 +2653,7 @@ def test_view_run_experiment_protocol_not_latest(self, client, helpers, logged_i assert response.status_code == 200 assert response.context['object_list'] == [{'id': model.pk, 'entity': model, - 'name': 'mymodel1', + 'name': model.name, 'versions': [{'commit': version2, 'tags': ['v1'], 'latest': True}, {'commit': version1, 'tags': [], 'latest': False}]}, ]