diff test/db_test_base.py @ 6638:e1588ae185dc issue2550923_computed_property

merge from default branch. Fix travis.ci so CI builds don't error out
author John Rouillard <rouilj@ieee.org>
date Thu, 21 Apr 2022 16:54:17 -0400
parents 0d99ae7c8de6
children 8ab98de22df0
line wrap: on
line diff
--- a/test/db_test_base.py	Fri Oct 08 00:37:16 2021 -0400
+++ b/test/db_test_base.py	Thu Apr 21 16:54:17 2022 -0400
@@ -252,9 +252,21 @@
         self.db.issue.create(title="flebble frooz")
         self.db.commit()
 
-        self.assertEqual(self.db.database_schema['version'], 6,
-                         "This test only runs for database version 6")
-        self.db.database_schema['version'] = 5
+        if self.db.database_schema['version'] > 6:
+            # make testUpgrades run the downgrade code only.
+            if hasattr(self, "downgrade_only"):
+                # we are being called by an earlier test
+                self.testUpgrade_6_to_7()
+                self.assertEqual(self.db.database_schema['version'], 6)
+            else:
+                # we are being called directly
+                self.downgrade_only = True
+                self.testUpgrade_6_to_7()
+                self.assertEqual(self.db.database_schema['version'], 6)
+                del(self.downgrade_only)
+        elif self.db.database_schema['version'] != 6:
+            self.skipTest("This test only runs for database version 6")
+
         if self.db.dbtype == 'mysql':
             # version 6 has 5 indexes
             self.db.sql('show indexes from _user;')
@@ -268,6 +280,11 @@
             self.db.sql('show indexes from _user;')
             self.assertEqual(3,len(self.db.cursor.fetchall()))
 
+            self.db.database_schema['version'] = 5
+
+            if hasattr(self, "downgrade_only"):
+                return
+
             # test upgrade adding index
             self.db.post_init()
 
@@ -284,10 +301,16 @@
             self.db.sql('show indexes from _user;')
             self.assertEqual(5,len(self.db.cursor.fetchall()))
         else:
+            if hasattr(self, "downgrade_only"):
+                return
             # this should be a no-op
             # test upgrade
             self.db.post_init()
 
+        # we should be at the current db version
+        self.assertEqual(self.db.database_schema['version'],
+                         self.db.current_db_version)
+
     def drop_key_retired_idx(self):
         c = self.db.cursor
         for cn, klass in self.db.classes.items():

Roundup Issue Tracker: http://roundup-tracker.org/