From 75a704de0492110b3b94bfdfaa9b74199ffbaef9 Mon Sep 17 00:00:00 2001 From: Romain Bignon Date: Fri, 3 Apr 2015 17:03:10 +0200 Subject: [PATCH] support case where user may accept TERMS_OF_USE --- modules/banquepopulaire/pages.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/banquepopulaire/pages.py b/modules/banquepopulaire/pages.py index adc1e4dc..d873097a 100644 --- a/modules/banquepopulaire/pages.py +++ b/modules/banquepopulaire/pages.py @@ -243,6 +243,16 @@ class Login2Page(LoginPage): doc = json.load(r) self.logger.debug(doc) + if 'phase' in doc and doc['phares']['state'] == 'TERMS_OF_USE': + # Got: + # {u'phase': {u'state': u'TERMS_OF_USE'}, u'validationUnits': [{u'LIST_OF_TERMS': [{u'type': u'TERMS', u'id': u'b7f28f91-7aa0-48aa-8028-deec13ae341b', u'reference': u'CGU_CYBERPLUS'}]}]} + payload = {'validate': doc['validationUnits'][0]} + req = self.browser.request_class(self.request_url + '/step') + req.add_header('Content-Type', 'application/json') + r = self.browser.openurl(req, json.dumps(payload)) + doc = json.load(r) + self.logger.debug(doc) + if ('phase' in doc and doc['phase']['previousResult'] == 'FAILED_AUTHENTICATION') or \ doc['response']['status'] != 'AUTHENTICATION_SUCCESS': raise BrowserIncorrectPassword()