Coverage for benefits/metro_mobility_wallet/oauth.py: 57%
42 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-08 19:50 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-08 19:50 +0000
1import sentry_sdk
2from cdt_identity.hooks import DefaultHooks
3from django.shortcuts import redirect
5from benefits.core import session
7# from benefits.eligibility.views import analytics as eligibility_analytics
8# from benefits.oauth import analytics
11class OAuthHooks(DefaultHooks):
12 @classmethod
13 def pre_login(cls, request):
14 super().pre_login(request)
15 # analytics.started_sign_in(request)
17 @classmethod
18 def cancel_login(cls, request):
19 super().cancel_login(request)
20 # analytics.canceled_sign_in(request)
21 return redirect("metro_mobility_wallet:index")
23 @classmethod
24 def pre_logout(cls, request):
25 super().pre_logout(request)
26 # analytics.started_sign_out(request)
28 # the user is signed out of the app
29 session.logout(request)
31 @classmethod
32 def post_logout(cls, request):
33 super().post_logout(request)
34 # analytics.finished_sign_out(request)
36 origin = session.origin(request)
37 return redirect(origin)
39 @classmethod
40 def failure_to_proof(cls, request):
41 super().failure_to_proof(request)
42 session.update(request, logged_in=True)
43 # analytics.failure_to_proof(request)
45 return redirect("metro_mobility_wallet:index")
47 @classmethod
48 def claims_verified_eligible(cls, request, claims_request, claims_result):
49 super().claims_verified_eligible(request, claims_request, claims_result)
50 session.update(request, logged_in=True)
51 # analytics.finished_sign_in(request)
53 # flow = session.flow(request)
54 # eligibility_analytics.started_eligibility(request, flow)
56 session.update(request, eligible=True)
57 # eligibility_analytics.returned_success(request, flow)
59 return redirect("metro_mobility_wallet:index")
61 @classmethod
62 def claims_verified_not_eligible(cls, request, claims_request, claims_result):
63 super().claims_verified_not_eligible(request, claims_request, claims_result)
64 session.update(request, logged_in=True)
65 # analytics.finished_sign_in(request, error=claims_result.errors)
67 # flow = session.flow(request)
68 # eligibility_analytics.started_eligibility(request, flow)
70 return redirect("metro_mobility_wallet:index")
72 @classmethod
73 def system_error(cls, request, exception, operation):
74 super().system_error(request, exception, operation)
75 # analytics.error(request, message=str(exception), operation=str(operation))
76 sentry_sdk.capture_exception(exception)
77 return redirect("metro_mobility_wallet:system_error")