diff --git a/modules/bred/bred/browser.py b/modules/bred/bred/browser.py index 49d802dc2f3a4e90d8bb541287c45222232a8c98..c527c7959442e4bd2d8c4e636ad1352b324acb25 100644 --- a/modules/bred/bred/browser.py +++ b/modules/bred/bred/browser.py @@ -50,6 +50,7 @@ TokenPage, MoveUniversePage, SwitchPage, LoansPage, AccountsPage, IbanPage, LifeInsurancesPage, SearchPage, ProfilePage, ErrorPage, ErrorCodePage, LinebourseLoginPage, + UnavailablePage, ) from .transfer_pages import ( RecipientListPage, EmittersListPage, ListAuthentPage, @@ -84,6 +85,7 @@ class BredBrowser(TwoFactorBrowser): search = URL(r'/transactionnel/services/applications/operations/getSearch/', SearchPage) profile = URL(r'/transactionnel/services/rest/User/user', ProfilePage) error_code = URL(r'/.*\?errorCode=.*', ErrorCodePage) + unavailable_page = URL(r'/ERREUR/', UnavailablePage) accounts_twofa = URL(r'/transactionnel/v2/services/rest/Account/accounts', AccountsTwoFAPage) list_authent = URL(r'/transactionnel/services/applications/authenticationstrong/listeAuthent/(?P\w+)', ListAuthentPage) diff --git a/modules/bred/bred/pages.py b/modules/bred/bred/pages.py index b61349eae0ac71729b27cc5aa993d4408b90e670..57684ae8ef8985872d574c845b09d3eda06854ba 100644 --- a/modules/bred/bred/pages.py +++ b/modules/bred/bred/pages.py @@ -402,3 +402,14 @@ def on_load(self): raise BrowserUnavailable(msg) assert False, 'Error %s is not handled yet.' % code + + +class UnavailablePage(HTMLPage): + def is_here(self): + return CleanText('//h1[contains(text(), "Site en maintenance")]', default=None)(self.doc) + + def on_load(self): + msg = CleanText('//div[contains(text(), "intervention technique est en cours")]', default=None)(self.doc) + if msg: + raise BrowserUnavailable(msg) + raise AssertionError('Ended up to this error page, message not handled yet.')