Changeset - 787f30a1a996
[Not reviewed]
default
0 1 0
Mads Kiilerich - 11 years ago 2015-01-21 17:35:11
madski@unity3d.com
tests: make checkSessionFlash check the last flash message only but show all on failure
1 file changed with 10 insertions and 9 deletions:
0 comments (0 inline, 0 general)
kallithea/tests/__init__.py
Show inline comments
 
@@ -192,33 +192,34 @@ class TestController(BaseTestCase):
 
        self.maxDiff = None
 
        self.index_location = config['app_conf']['index_dir']
 

	
 
    def log_user(self, username=TEST_USER_ADMIN_LOGIN,
 
                 password=TEST_USER_ADMIN_PASS):
 
        self._logged_username = username
 
        response = self.app.post(url(controller='login', action='index'),
 
                                 {'username': username,
 
                                  'password': password})
 

	
 
        if 'invalid user name' in response.body:
 
            self.fail('could not login using %s %s' % (username, password))
 

	
 
        self.assertEqual(response.status, '302 Found')
 
        ses = response.session['authuser']
 
        self.assertEqual(ses.get('username'), username)
 
        response = response.follow()
 
        self.assertEqual(ses.get('is_authenticated'), True)
 

	
 
        return response.session['authuser']
 

	
 
    def _get_logged_user(self):
 
        return User.get_by_username(self._logged_username)
 

	
 
    def checkSessionFlash(self, response, msg):
 
        self.assertTrue('flash' in response.session,
 
                        msg='Response session have no flash key' % response.session)
 
        if not any(msg in m for level, m in response.session['flash']):
 
            for level, m in response.session['flash']:
 
                msg = u'msg `%s` not found in session flash: got `%s` instead' % (msg, m)
 
                self.fail(safe_str(msg))
 
            msg = u'msg `%s` not found in empty session flash' % (msg)
 
            self.fail(safe_str(msg))
 
    def checkSessionFlash(self, response, msg, skip=0):
 
        try:
 
            level, m = response.session['flash'][-1 - skip]
 
            if msg in m:
 
                return
 
        except IndexError:
 
            pass
 
        self.fail(safe_str(u'msg `%s` not found in session flash skipping %s: %s' %
 
                           (msg, skip,
 
                            ', '.join('`%s`' % m for level, m in response.session['flash']))))
0 comments (0 inline, 0 general)