SickGear/tests/db_tests.py
Prinz23 8bc048c784 Add support for a testing.db version (>=100000).
A testing.db has a one time stand-alone version number.
None matching test db to required db will always downgrade to release db (after that the normal up/downgrade db process is run).
Add TEST_BASE_VERSION to all db's, used by test versions and set to the base production db version that the test db is based on.
Add a unit_test to make sure a test_base_version is set for test db's.
Change load rollback module only once.
2018-01-30 17:57:15 +00:00

49 lines
1.9 KiB
Python

# coding=UTF-8
# Author: Dennis Lutter <lad1337@gmail.com>
# URL: http://code.google.com/p/sickbeard/
#
# This file is part of SickGear.
#
# SickGear is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# SickGear is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with SickGear. If not, see <http://www.gnu.org/licenses/>.
from __future__ import print_function
import unittest
import test_lib as test
from sickbeard import cache_db, mainDB, failed_db
class DBBasicTests(test.SickbeardTestDBCase):
def setUp(self):
super(DBBasicTests, self).setUp()
self.db = test.db.DBConnection()
def is_testdb(self, version):
if isinstance(version, (int, long)):
return 100000 <= version
def test_select(self):
self.db.select('SELECT * FROM tv_episodes WHERE showid = ? AND location != ""', [0000])
self.db.close()
self.assertEqual(cache_db.TEST_BASE_VERSION is not None, self.is_testdb(cache_db.MAX_DB_VERSION))
self.assertEqual(mainDB.TEST_BASE_VERSION is not None, self.is_testdb(mainDB.MAX_DB_VERSION))
self.assertEqual(failed_db.TEST_BASE_VERSION is not None, self.is_testdb(failed_db.MAX_DB_VERSION))
if __name__ == '__main__':
print('==================')
print('STARTING - DB TESTS')
print('==================')
print('######################################################################')
suite = unittest.TestLoader().loadTestsFromTestCase(DBBasicTests)
unittest.TextTestRunner(verbosity=2).run(suite)