def test_install(self): """Test InstallHelper.install""" if os.path.isfile('/tmp/box.db'): os.unlink('/tmp/box.db') DBHelper().set_db('/tmp/box.db') InstallHelper.reset() module = 'sample_module' q = DBHelper.quote_identifier install_routines = [""" CREATE TABLE IF NOT EXISTS %s ( id INTEGER ) """ % q(module)] InstallHelper.install(module, install_routines) self.assertIn('id', DBHelper().describe_table(module)) self.assertEqual(InstallHelper.version(module), 1) install_routines.append( lambda: DBHelper().insert(module, [{'id': 1}, {'id': 2}])) InstallHelper.install(module, install_routines) self.assertEqual( DBSelect(module, {'c': 'COUNT(*)'}).query().fetchone()['c'], 2 ) self.assertEqual(InstallHelper.version(module), 2) install_routines.append( 'ALTER TABLE %s ADD COLUMN %s TEXT' % (q(module), q('col'))) InstallHelper.install(module, install_routines) self.assertIn('col', DBHelper().describe_table(module)) self.assertEqual(InstallHelper.version(module), 3) InstallHelper.reset() DBHelper().set_db(None) os.unlink('/tmp/box.db')