1414from pythonanywhere .exceptions import SanityException
1515
1616
17+ @pytest .fixture
18+ def project_with_mock_virtualenv (virtualenvs_folder ):
19+ project = DjangoProject ("mydomain.com" , "python.version" )
20+ project .virtualenv .create = Mock ()
21+ project .virtualenv .pip_install = Mock ()
22+ yield project
23+
24+
25+ class TestDjangoVersionNewerThan :
26+ def test_returns_true_if_django_version_is_newer_than_provided_version (
27+ self , project_with_mock_virtualenv
28+ ):
29+ project_with_mock_virtualenv .virtualenv .get_version = Mock (return_value = "9.9.9" )
30+ assert project_with_mock_virtualenv .django_version_newer_or_equal_than ("1.1.1" ) is True
31+
32+ def test_returns_true_when_django_version_is_the_same_as_provided_version (
33+ self , project_with_mock_virtualenv
34+ ):
35+ project_with_mock_virtualenv .virtualenv .get_version = Mock (return_value = "9.9.9" )
36+ assert project_with_mock_virtualenv .django_version_newer_or_equal_than ("9.9.9" ) is True
37+
38+ def test_returns_false_when_django_version_is_older_than_provided_version (
39+ self , project_with_mock_virtualenv
40+ ):
41+ project_with_mock_virtualenv .virtualenv .get_version = Mock (return_value = "9.9.9" )
42+ assert project_with_mock_virtualenv .django_version_newer_or_equal_than ("10.1.1" ) is False
43+
44+
1745class TestDownloadRepo :
1846 @pytest .mark .slowtest
1947 def test_actually_downloads_repo (self , fake_home , virtualenvs_folder ):
@@ -146,14 +174,6 @@ def test_if_requirements_txt_exists(self, fake_home, virtualenvs_folder):
146174 assert project .detect_requirements () == f"-r { requirements_txt .resolve ()} "
147175
148176
149- @pytest .fixture
150- def project_with_mock_virtualenv (virtualenvs_folder ):
151- project = DjangoProject ("mydomain.com" , "python.version" )
152- project .virtualenv .create = Mock ()
153- project .virtualenv .pip_install = Mock ()
154- yield project
155-
156-
157177class TestCreateVirtualenv :
158178 def test_calls_virtualenv_create (self , project_with_mock_virtualenv ):
159179 project_with_mock_virtualenv .create_virtualenv ("django.version" , nuke = "nuke option" )
@@ -286,7 +306,7 @@ class TestUpdateSettingsFile:
286306 def test_adds_STATIC_and_MEDIA_config_to_settings_with_old_django (self , virtualenvs_folder ):
287307 project = DjangoProject ("mydomain.com" , "python.version" )
288308 project .settings_path = Path (tempfile .NamedTemporaryFile ().name )
289- project .virtualenv .get_version = Mock (return_value = "1 .0" )
309+ project .virtualenv .get_version = Mock (return_value = "3 .0" )
290310
291311 with project .settings_path .open ("w" ) as f :
292312 f .write (
@@ -338,7 +358,7 @@ def test_adds_STATIC_and_MEDIA_config_to_settings_with_new_django(self, virtuale
338358 def test_adds_domain_to_ALLOWED_HOSTS (self , virtualenvs_folder ):
339359 project = DjangoProject ("mydomain.com" , "python.version" )
340360 project .settings_path = Path (tempfile .NamedTemporaryFile ().name )
341- project .virtualenv .get_version = Mock (return_value = "1 .0" )
361+ project .virtualenv .get_version = Mock (return_value = "3 .0" )
342362
343363 with project .settings_path .open ("w" ) as f :
344364 f .write (
@@ -361,7 +381,7 @@ def test_adds_domain_to_ALLOWED_HOSTS(self, virtualenvs_folder):
361381 def test_only_adds_MEDIA_URL_if_its_not_already_there (self , virtualenvs_folder ):
362382 project = DjangoProject ("mydomain.com" , "python.version" )
363383 project .settings_path = Path (tempfile .NamedTemporaryFile ().name )
364- project .virtualenv .get_version = Mock (return_value = "1 .0" )
384+ project .virtualenv .get_version = Mock (return_value = "3 .0" )
365385
366386 with project .settings_path .open ("w" ) as f :
367387 f .write (
@@ -386,7 +406,7 @@ def test_only_adds_MEDIA_URL_if_its_not_already_there(self, virtualenvs_folder):
386406 def test_only_adds_STATIC_ROOT_if_its_not_already_there (self , virtualenvs_folder ):
387407 project = DjangoProject ("mydomain.com" , "python.version" )
388408 project .settings_path = Path (tempfile .NamedTemporaryFile ().name )
389- project .virtualenv .get_version = Mock (return_value = "1 .0" )
409+ project .virtualenv .get_version = Mock (return_value = "3 .0" )
390410
391411 with project .settings_path .open ("w" ) as f :
392412 f .write (
@@ -411,7 +431,7 @@ def test_only_adds_STATIC_ROOT_if_its_not_already_there(self, virtualenvs_folder
411431 def test_only_adds_MEDIA_ROOT_if_its_not_already_there (self , virtualenvs_folder ):
412432 project = DjangoProject ("mydomain.com" , "python.version" )
413433 project .settings_path = Path (tempfile .NamedTemporaryFile ().name )
414- project .virtualenv .get_version = Mock (return_value = "1 .0" )
434+ project .virtualenv .get_version = Mock (return_value = "3 .0" )
415435
416436 with project .settings_path .open ("w" ) as f :
417437 f .write (
0 commit comments