Coverage for src/meshadmin/server/networks/views/auth.py: 56%

16 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-04-10 16:08 +0200

1from allauth.socialaccount.models import SocialAccount 

2from django.conf import settings 

3from django.contrib.auth import logout 

4from django.contrib.auth.mixins import LoginRequiredMixin 

5from django.http import HttpResponseRedirect 

6from django.shortcuts import reverse 

7from django.views import View 

8 

9 

10class LogoutView(LoginRequiredMixin, View): 

11 def get(self, request): 

12 try: 

13 SocialAccount.objects.get(user=request.user) 

14 logout(request) 

15 return HttpResponseRedirect( 

16 f"{settings.KEYCLOAK_BASE_URL}/realms/{settings.KEYCLOAK_REALM}/protocol/openid-connect/logout?post_logout_redirect_uri={settings.MESH_SERVER_URL}&client_id={settings.KEYCLOAK_REALM}" 

17 ) 

18 except SocialAccount.DoesNotExist: 

19 logout(request) 

20 return HttpResponseRedirect(reverse("networks:network-list"))