changeset 4775:787f30a1a996

tests: make checkSessionFlash check the last flash message only but show all on failure
author Mads Kiilerich <madski@unity3d.com>
date Wed, 21 Jan 2015 17:35:11 +0100
parents dd85884243a7
children 2d49ab82003b
files kallithea/tests/__init__.py
diffstat 1 files changed, 10 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/kallithea/tests/__init__.py	Wed Jan 21 17:35:11 2015 +0100
+++ b/kallithea/tests/__init__.py	Wed Jan 21 17:35:11 2015 +0100
@@ -213,12 +213,13 @@
     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']))))