33from django .urls import is_valid_path
44from django .utils .encoding import force_str
55
6+ from .helpers import DjangoPytester
7+
68
79@pytest .mark .urls ("pytest_django_test.urls_overridden" )
810def test_urls () -> None :
@@ -16,19 +18,27 @@ def test_urls_client(client) -> None:
1618 assert force_str (response .content ) == "Overridden urlconf works!"
1719
1820
19- def test_urls_cache_is_cleared (pytester : pytest .Pytester ) -> None :
20- pytester .makepyfile (
21+ @pytest .mark .django_project (
22+ extra_settings = """
23+ ROOT_URLCONF = "empty"
24+ """ ,
25+ )
26+ def test_urls_cache_is_cleared (django_pytester : DjangoPytester ) -> None :
27+ django_pytester .makepyfile (
28+ empty = """
29+ urlpatterns = []
30+ """ ,
2131 myurls = """
2232 from django.urls import path
2333
2434 def fake_view(request):
2535 pass
2636
2737 urlpatterns = [path('first', fake_view, name='first')]
28- """
38+ """ ,
2939 )
3040
31- pytester . makepyfile (
41+ django_pytester . create_test_module (
3242 """
3343 from django.urls import reverse, NoReverseMatch
3444 import pytest
@@ -37,42 +47,47 @@ def fake_view(request):
3747 def test_something():
3848 reverse('first')
3949
40-
4150 def test_something_else():
4251 with pytest.raises(NoReverseMatch):
4352 reverse('first')
44-
45- """
53+ """ ,
4654 )
4755
48- result = pytester .runpytest_subprocess ()
56+ result = django_pytester .runpytest_subprocess ()
4957 assert result .ret == 0
5058
5159
52- def test_urls_cache_is_cleared_and_new_urls_can_be_assigned (pytester : pytest .Pytester ) -> None :
53- pytester .makepyfile (
60+ @pytest .mark .django_project (
61+ extra_settings = """
62+ ROOT_URLCONF = "empty"
63+ """ ,
64+ )
65+ def test_urls_cache_is_cleared_and_new_urls_can_be_assigned (
66+ django_pytester : DjangoPytester ,
67+ ) -> None :
68+ django_pytester .makepyfile (
69+ empty = """
70+ urlpatterns = []
71+ """ ,
5472 myurls = """
5573 from django.urls import path
5674
5775 def fake_view(request):
5876 pass
5977
6078 urlpatterns = [path('first', fake_view, name='first')]
61- """
62- )
63-
64- pytester .makepyfile (
79+ """ ,
6580 myurls2 = """
6681 from django.urls import path
6782
6883 def fake_view(request):
6984 pass
7085
7186 urlpatterns = [path('second', fake_view, name='second')]
72- """
87+ """ ,
7388 )
7489
75- pytester . makepyfile (
90+ django_pytester . create_test_module (
7691 """
7792 from django.urls import reverse, NoReverseMatch
7893 import pytest
@@ -87,8 +102,8 @@ def test_something_else():
87102 reverse('first')
88103
89104 reverse('second')
90- """
105+ """ ,
91106 )
92107
93- result = pytester .runpytest_subprocess ()
108+ result = django_pytester .runpytest_subprocess ()
94109 assert result .ret == 0
0 commit comments