From 3c1673288a11b6f7b5c9affb6be3a5539452c3f5 Mon Sep 17 00:00:00 2001 From: Dorian Roly Date: Mon, 28 Jun 2021 14:01:36 +0200 Subject: [PATCH] [edfprofessionnel] Fix premium spaces detection I've made a specific page for premium spaces, inherited from classic spaces, and fix the priority of the URLs browser side by interverting premium_client_space and client_space closes: 21138@sibi, 21143@sibi --- modules/edfprofessionnel/browser_collectivites.py | 6 +++--- modules/edfprofessionnel/collectivites_pages.py | 4 ++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/edfprofessionnel/browser_collectivites.py b/modules/edfprofessionnel/browser_collectivites.py index 1c14c1c2ea..32bc23b807 100644 --- a/modules/edfprofessionnel/browser_collectivites.py +++ b/modules/edfprofessionnel/browser_collectivites.py @@ -11,20 +11,20 @@ from .collectivites_pages import ( ClientSpace, CnicePage, AuraPage, PdfPage, AuthenticationErrorPage, - ValidatePage, AiguillagePage, RedirectPage, + ValidatePage, AiguillagePage, RedirectPage, ClientPremiumSpace, ) class EdfproCollectivitesBrowser(LoginBrowser): BASEURL = 'https://entreprises-collectivites.edf.fr' + premium_client_space = URL(r'/espaceclientpremium/s/aiguillage', ClientPremiumSpace) client_space = URL( r'/espaceclient/s/$', - r'/espaceclient(?:premium)?/s/aiguillage', + r'/espaceclient/s/aiguillage', r'/espaces/s/$', ClientSpace, ) - premium_client_space = URL(r'/espaceclientpremium/s/aiguillage', ClientSpace) authentication_error = URL(r'/espaceclient/_nc_external', AuthenticationErrorPage) cnice = URL(r'/espace(s|client)/services/authcallback/CNICE', CnicePage) aura = URL(r'/espaceclient/s/sfsites/aura', AuraPage) diff --git a/modules/edfprofessionnel/collectivites_pages.py b/modules/edfprofessionnel/collectivites_pages.py index d1883e6e96..22fc36d006 100644 --- a/modules/edfprofessionnel/collectivites_pages.py +++ b/modules/edfprofessionnel/collectivites_pages.py @@ -65,6 +65,10 @@ def get_token(self): return aura_config['token'] +class ClientPremiumSpace(ClientSpace): + pass + + class CnicePage(HTMLPage): def get_frontdoor_url(self): return Regexp(Attr('//head/meta[@http-equiv="Refresh"]', 'content'), r'URL=(.*)')(self.doc) -- GitLab