Coverage for benefits/urls.py: 67%

22 statements  

« prev     ^ index     » next       coverage.py v7.6.4, created at 2024-10-21 19:31 +0000

1""" 

2benefits URL Configuration 

3 

4The `urlpatterns` list routes URLs to views. For more information please see: 

5 https://docs.djangoproject.com/en/5.0/topics/http/urls/ 

6""" 

7 

8import logging 

9 

10from django.conf import settings 

11from django.contrib import admin 

12from django.http import HttpResponse 

13from django.urls import include, path 

14 

15logger = logging.getLogger(__name__) 

16 

17handler400 = "benefits.core.views.bad_request" 

18handler403 = "benefits.core.views.bad_request" 

19handler404 = "benefits.core.views.page_not_found" 

20handler500 = "benefits.core.views.server_error" 

21 

22urlpatterns = [ 

23 path("", include("benefits.core.urls")), 

24 path("eligibility/", include("benefits.eligibility.urls")), 

25 path("enrollment/", include("benefits.enrollment.urls")), 

26 path("i18n/", include("django.conf.urls.i18n")), 

27 path("oauth/", include("benefits.oauth.urls")), 

28 path("in_person/", include("benefits.in_person.urls")), 

29] 

30 

31if settings.DEBUG: 31 ↛ 35line 31 didn't jump to line 35 because the condition on line 31 was never true

32 # based on 

33 # https://docs.sentry.io/platforms/python/guides/django/#verify 

34 

35 def trigger_error(request): 

36 raise RuntimeError("Test error") 

37 

38 urlpatterns.append(path("error/", trigger_error)) 

39 

40 # simple route to read a pre-defined "secret" 

41 # this "secret" does not contain sensitive information 

42 # and is only configured in the dev environment for testing/debugging 

43 

44 def test_secret(request): 

45 from benefits.secrets import get_secret_by_name 

46 

47 return HttpResponse(get_secret_by_name("testsecret")) 

48 

49 urlpatterns.append(path("testsecret/", test_secret)) 

50 

51logger.debug("Register admin urls") 

52urlpatterns.append(path("admin/", admin.site.urls)) 

53urlpatterns.append(path("google_sso/", include("django_google_sso.urls", namespace="django_google_sso")))