From cfcc72de6fe72d812411cbc102badc22c73a14dc Mon Sep 17 00:00:00 2001 From: mdipierro Date: Wed, 29 Aug 2012 18:14:24 -0500 Subject: [PATCH] simplied handling of postbacks --- VERSION | 2 +- gluon/contrib/webclient.py | 7 ++++--- gluon/tests/test_web.py | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/VERSION b/VERSION index 051f0d94..64166664 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.1 (2012-08-29 18:01:24) rc4 +Version 2.00.1 (2012-08-29 18:14:21) rc4 diff --git a/gluon/contrib/webclient.py b/gluon/contrib/webclient.py index 3101e28a..9f59bec4 100644 --- a/gluon/contrib/webclient.py +++ b/gluon/contrib/webclient.py @@ -21,6 +21,8 @@ class WebClient(object): return self.post(url,data=None,cookies=cookies,headers=headers) def post(self,url,data=None,cookies=None,headers=None,auth=None): + if data and '_formname' in data: + self.get(url,cookies=None,headers=None,auth=None) self.url = self.app+url if cookies is None: cookies = self.cookies if auth: @@ -62,8 +64,9 @@ class WebClient(object): def test_web2py_registration_and_login(): session = WebClient('http://127.0.0.1:8000/welcome/default/') - session.get('user/register') + session.get('index') session_id_welcome = session.cookies['session_id_welcome'] + data = dict(first_name = 'Homer', last_name = 'Simpson', email = 'homer@web2py.com', @@ -72,7 +75,6 @@ def test_web2py_registration_and_login(): _formname = 'register') session.post('user/register',data = data) - session.get('user/login') data = dict(email='homer@web2py.com', password='test', _formname = 'login') @@ -86,7 +88,6 @@ def test_web2py_registration_and_login(): # check we are always in the same session assert session_id_welcome == session.cookies['session_id_welcome'] - if __name__ == '__main__': test_web2py_registration_and_login() diff --git a/gluon/tests/test_web.py b/gluon/tests/test_web.py index b2781ac8..82b1e01e 100644 --- a/gluon/tests/test_web.py +++ b/gluon/tests/test_web.py @@ -14,10 +14,11 @@ import unittest from gluon.contrib.webclient import WebClient class TestWeb(unittest.TestCase): - def testWebClient(self): + def testWebClient(self): session = WebClient('http://127.0.0.1:8000/welcome/default/') - session.get('user/register') + session.get('index') session_id_welcome = session.cookies['session_id_welcome'] + data = dict(first_name = 'Homer', last_name = 'Simpson', email = 'homer@web2py.com', @@ -25,8 +26,8 @@ class TestWeb(unittest.TestCase): password_two = 'test', _formname = 'register') session.post('user/register',data = data) + - session.get('user/login') data = dict(email='homer@web2py.com', password='test', _formname = 'login')