Skip to content

Commit a7020fb

Browse files
pandafynemesifier
andauthored
[change] Fixed the URL structure for downloading CA's CRL
Signed-off-by: Gagan Deep <[email protected]> Co-authored-by: Federico Capoano <[email protected]>
1 parent a9b2106 commit a7020fb

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

django_x509/base/admin.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ class Media:
136136

137137
def get_urls(self):
138138
return [
139-
path('x509/ca/<int:pk>.crl', self.crl_view, name='crl')
139+
path('<int:pk>.crl', self.crl_view, name='crl'),
140+
# old URL path, deprecated, will be removed in future versions
141+
path('x509/ca/<int:pk>.crl', self.crl_view, name='deprecated_crl'),
140142
] + super().get_urls()
141143

142144
def crl_view(self, request, pk):

django_x509/tests/test_ca.py

+9-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ class TestCa(TestX509Mixin, TestCase):
2020
tests for Ca model
2121
"""
2222

23+
app_label = Ca._meta.app_label
24+
2325
def _prepare_revoked(self):
2426
ca = self._create_ca()
2527
crl = crypto.load_crl(crypto.FILETYPE_PEM, ca.crl)
@@ -313,7 +315,13 @@ def test_crl(self):
313315

314316
def test_crl_view(self):
315317
ca, cert = self._prepare_revoked()
316-
response = self.client.get(reverse('admin:crl', args=[ca.pk]))
318+
path = reverse('admin:crl', args=[ca.pk])
319+
self.assertEqual(path, f'/admin/{self.app_label}/ca/{ca.pk}.crl')
320+
deprecated_path = reverse('admin:deprecated_crl', args=[ca.pk])
321+
self.assertEqual(
322+
deprecated_path, f'/admin/{self.app_label}/ca/x509/ca/{ca.pk}.crl'
323+
)
324+
response = self.client.get(path)
317325
self.assertEqual(response.status_code, 200)
318326
crl = crypto.load_crl(crypto.FILETYPE_PEM, response.content)
319327
revoked_list = crl.get_revoked()

0 commit comments

Comments
 (0)