From f61dc73d8a18c6cdfa203d568469be49fad0ab6b Mon Sep 17 00:00:00 2001 From: Quentin Defenouillere Date: Fri, 17 May 2019 17:44:35 +0200 Subject: [PATCH] [bred] Handle login errors correctly The assert contained '%' instead of '%s'. We now handle errors 139 and 20104. Closes: 39059@sibi --- modules/bred/bred/pages.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/modules/bred/bred/pages.py b/modules/bred/bred/pages.py index e2a5b719dc..298efadbd3 100644 --- a/modules/bred/bred/pages.py +++ b/modules/bred/bred/pages.py @@ -331,9 +331,13 @@ class ErrorCodePage(HTMLPage): def on_load(self): code = re.search(r'\/\?errorCode=(\d+)', self.url).group(1) page = self.browser.open('/particuliers/compte-bancaire/comptes-en-ligne/bredconnect-compte-ligne?errorCode=%s' % code).page - # invalid login/password - if code == '20100': - msg = CleanText('//label[contains(@class, "error")]')(page.doc) + msg = CleanText('//label[contains(@class, "error")]', default=None)(page.doc) + # 20100: invalid login/password + # 139: dispobank user trying to connect to Bred + if code in ('20100', '139'): raise BrowserIncorrectPassword(msg) + # 20104 & 1000: unknown error during login + elif code in ('20104', '1000'): + raise BrowserUnavailable(msg) - assert False, 'The % error is not handled.' % code + assert False, 'Error %s is not handled yet.' % code -- GitLab