diff --git a/ctp_blogr/test_oauth.py b/ctp_blogr/test_oauth.py index c24cb95..041a5d6 100644 --- a/ctp_blogr/test_oauth.py +++ b/ctp_blogr/test_oauth.py @@ -277,7 +277,7 @@ def blog(): def url_callback(blog, code='code-de-test', state=None): if state is None: state = blog.google.state - return '/login/google/callback?code=%s&state=%s' % (code, quote(state)) + return '/login_google_callback?code=%s&state=%s' % (code, quote(state)) def cookie_session(client): @@ -288,9 +288,12 @@ def cookie_session(client): def demarrer_connexion(blog, client): - # Premier saut : la page de connexion Google et la mise en session de + # Premier saut : envoi du formulaire de connexion (POST /login avec + # form.submitted), redirection vers Google et mise en session de # state / nonce / code_verifier. - res = client.get('/login/google', status=302) + res = client.post('/login', + {'form.submitted': 'Se connecter avec Google'}, + status=302) assert 'accounts.google.com' in res.location assert blog.google.authorize_calls == 1 assert blog.google.nonce and blog.google.code_verifier @@ -317,7 +320,10 @@ def test_page_de_connexion_ne_propose_qu_un_bouton_google(blog): res = blog.client().get('/login') assert res.status_int == 200 assert 'Se connecter avec Google' in res.text - assert '/login/google' in res.text + # Un seul formulaire : un POST vers /login qui porte form.submitted, + # pas de lien vers une route de depart dediee (elle n'existe pas). + assert '
' in res.text + assert 'name="form.submitted"' in res.text assert '