fixed version till 8
This commit is contained in:
parent
3d29a05816
commit
edf2b65809
|
@ -69,15 +69,22 @@ class UpgradeDB(object):
|
||||||
Execute SQL files and queries
|
Execute SQL files and queries
|
||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
|
print("=======================")
|
||||||
|
print(file_name)
|
||||||
|
if int(file_name) == 8:
|
||||||
|
res = self.cur.execute('''PRAGMA table_info('inbox');''')
|
||||||
|
print("""""""""""""""-----------res""""""""""""""")
|
||||||
|
print(res)
|
||||||
|
print("=======================")
|
||||||
with open(os.path.join(root_path, "src/sql/init_version_{}.sql".format(file_name))) as sql_file:
|
with open(os.path.join(root_path, "src/sql/init_version_{}.sql".format(file_name))) as sql_file:
|
||||||
sql_as_string = sql_file.read()
|
sql_as_string = sql_file.read()
|
||||||
self.cur.executescript(sql_as_string)
|
self.cur.executescript(sql_as_string)
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
if str(err) == 'table inbox already exists':
|
if str(err) == 'table inbox already exists':
|
||||||
return "table inbox already exists"
|
return "ERROR trying to upgrade database. Error message: table inbox already exists"
|
||||||
else:
|
else:
|
||||||
sys.stderr.write(
|
sys.stderr.write(
|
||||||
'ERROR trying to create database file (message.dat). Error message: %s\n' % str(err))
|
'ERROR trying to upgrade database. Error message: %s\n' % str(err))
|
||||||
os._exit(0)
|
os._exit(0)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -186,7 +193,7 @@ class sqlThread(threading.Thread, UpgradeDB):
|
||||||
|
|
||||||
else:
|
else:
|
||||||
sys.stderr.write(
|
sys.stderr.write(
|
||||||
'ERROR trying to create database file (message.dat). Error message: %s\n' % str(err))
|
'ERROR trying to create database file (message.dat). in1111 Error message: %s\n' % str(err))
|
||||||
os._exit(0)
|
os._exit(0)
|
||||||
|
|
||||||
# If the settings version is equal to 2 or 3 then the
|
# If the settings version is equal to 2 or 3 then the
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
-- -- Alter table `inbox`
|
-- -- Alter table `inbox`
|
||||||
-- --
|
-- --
|
||||||
|
|
||||||
ALTER TABLE inbox ADD sighash blob DEFAULT '';
|
ALTER TABLE inbox ADD sighash blob DEFAULT '';
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
DROP TABLE inventory;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `inventory` (
|
CREATE TABLE IF NOT EXISTS `inventory` (
|
||||||
`hash` blob NOT NULL,
|
`hash` blob NOT NULL,
|
||||||
`objecttype` int DEFAULT NULL,
|
`objecttype` int DEFAULT NULL,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
DROP TABLE inventory;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `inventory` (
|
CREATE TABLE IF NOT EXISTS `inventory` (
|
||||||
`hash` blob NOT NULL,
|
`hash` blob NOT NULL,
|
||||||
`objecttype` text DEFAULT NULL,
|
`objecttype` text DEFAULT NULL,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
DROP TABLE objectprocessorqueue;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `knownnodes` (
|
CREATE TABLE IF NOT EXISTS `knownnodes` (
|
||||||
`hash` blob NOT NULL,
|
`hash` blob NOT NULL,
|
||||||
`objecttype` int DEFAULT NULL,
|
`objecttype` int DEFAULT NULL,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
DROP TABLE `inventory`;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `inventory` (
|
CREATE TABLE IF NOT EXISTS `inventory` (
|
||||||
`hash` blob NOT NULL,
|
`hash` blob NOT NULL,
|
||||||
`objecttype` int DEFAULT NULL,
|
`objecttype` int DEFAULT NULL,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
DROP TABLE `inbox`;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `inbox` (
|
CREATE TABLE IF NOT EXISTS `inbox` (
|
||||||
`msgid` blob NOT NULL,
|
`msgid` blob NOT NULL,
|
||||||
`toaddress` text DEFAULT NULL,
|
`toaddress` text DEFAULT NULL,
|
||||||
|
|
|
@ -9,17 +9,25 @@ import unittest
|
||||||
#
|
#
|
||||||
# skip_python3()
|
# skip_python3()
|
||||||
|
|
||||||
os.environ['BITMESSAGE_HOME'] = tempfile.gettempdir()
|
# os.environ['BITMESSAGE_HOME'] = tempfile.gettempdir()
|
||||||
|
from pybitmessage.helper_sql import (
|
||||||
try:
|
|
||||||
from pybitmessage.helper_sql import (
|
|
||||||
sqlQuery, sql_ready, sqlStoredProcedure, SqlBulkExecute, sqlExecuteScript, sqlExecute) # noqa:E402
|
sqlQuery, sql_ready, sqlStoredProcedure, SqlBulkExecute, sqlExecuteScript, sqlExecute) # noqa:E402
|
||||||
from pybitmessage.class_sqlThread import sqlThread, UpgradeDB # noqa:E402
|
from pybitmessage.class_sqlThread import sqlThread, UpgradeDB # noqa:E402
|
||||||
from pybitmessage.addresses import encodeAddress # noqa:E402
|
from pybitmessage.addresses import encodeAddress # noqa:E402
|
||||||
except:
|
|
||||||
from ..helper_sql import sqlStoredProcedure, sql_ready, sqlExecute, SqlBulkExecute, sqlQuery, sqlExecuteScript # noqa:E402
|
# try:
|
||||||
from ..class_sqlThread import (sqlThread, UpgradeDB) # noqa:E402
|
# os.environ['BITMESSAGE_HOME'] = tempfile.gettempdir()
|
||||||
from ..addresses import encodeAddress # noqa:E402
|
# from pybitmessage.helper_sql import (
|
||||||
|
# sqlQuery, sql_ready, sqlStoredProcedure, SqlBulkExecute, sqlExecuteScript, sqlExecute) # noqa:E402
|
||||||
|
# from pybitmessage.class_sqlThread import sqlThread, UpgradeDB # noqa:E402
|
||||||
|
# from pybitmessage.addresses import encodeAddress # noqa:E402
|
||||||
|
# except:
|
||||||
|
# from ..helper_sql import sqlStoredProcedure, sql_ready, sqlExecute, SqlBulkExecute, sqlQuery, sqlExecuteScript # noqa:E402
|
||||||
|
# from ..class_sqlThread import (sqlThread, UpgradeDB) # noqa:E402
|
||||||
|
# from ..addresses import encodeAddress # noqa:E402
|
||||||
|
# from ..helper_sql import sqlStoredProcedure, sql_ready, sqlExecute, SqlBulkExecute, sqlQuery, sqlExecuteScript # noqa:E402
|
||||||
|
# from ..class_sqlThread import (sqlThread, UpgradeDB) # noqa:E402
|
||||||
|
# from ..addresses import encodeAddress # noqa:E402
|
||||||
|
|
||||||
|
|
||||||
def filter_table_column(schema, column):
|
def filter_table_column(schema, column):
|
||||||
|
@ -54,10 +62,16 @@ class TestSqlThread(unittest.TestCase):
|
||||||
"""
|
"""
|
||||||
Drop all tables before each test case start
|
Drop all tables before each test case start
|
||||||
"""
|
"""
|
||||||
tables = list(sqlQuery("select name from sqlite_master where type is 'table'"))
|
# print("in setup start")
|
||||||
with SqlBulkExecute() as sql:
|
# tables = list(sqlQuery("select name from sqlite_master where type is 'table'"))
|
||||||
for q in tables:
|
# print(tables)
|
||||||
sql.execute("drop table if exists %s" % q)
|
# with SqlBulkExecute() as sql:
|
||||||
|
# for q in tables:
|
||||||
|
# print("table name : ", q)
|
||||||
|
# sql.execute("drop table if exists %s" % q)
|
||||||
|
# tables = list(sqlQuery("select name from sqlite_master where type is 'table'"))
|
||||||
|
# print(tables)
|
||||||
|
# print("in setup end")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def tearDown(cls):
|
def tearDown(cls):
|
||||||
|
@ -96,15 +110,35 @@ class TestSqlThread(unittest.TestCase):
|
||||||
func_name = func.__name__
|
func_name = func.__name__
|
||||||
version = func_name.rsplit('_', 1)[-1]
|
version = func_name.rsplit('_', 1)[-1]
|
||||||
|
|
||||||
|
print("-------------=========")
|
||||||
|
print(version)
|
||||||
|
print("-------------=========")
|
||||||
|
|
||||||
|
if int(version) == 8:
|
||||||
|
res = sqlQuery('''PRAGMA table_info('inbox');''')
|
||||||
|
print("""""""""""""""res""""""""""""""")
|
||||||
|
print(res)
|
||||||
|
|
||||||
|
|
||||||
# Update versions DB mocking
|
# Update versions DB mocking
|
||||||
self.initialise_database("init_version_{}".format(version))
|
self.initialise_database("init_version_{}".format(version))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if int(version) == 9:
|
if int(version) == 9:
|
||||||
sqlThread().create_function()
|
sqlThread().create_function()
|
||||||
|
|
||||||
|
if int(version) == 8:
|
||||||
|
res = sqlQuery('''PRAGMA table_info('inbox');''')
|
||||||
|
print("""""""""""""""-----------res""""""""""""""")
|
||||||
|
print(res)
|
||||||
|
|
||||||
|
|
||||||
# Test versions
|
# Test versions
|
||||||
upgrade_db = UpgradeDB()
|
upgrade_db = UpgradeDB()
|
||||||
upgrade_db._upgrade_one_level_sql_statement(int(version)) # pylint: disable= W0212, protected-access
|
upgrade_db._upgrade_one_level_sql_statement(int(version)) # pylint: disable= W0212, protected-access
|
||||||
|
# upgrade_db.upgrade_to_latest(upgrade_db.cur, upgrade_db.conn)
|
||||||
|
# upgrade_db.upgrade_to_latest(upgrade_db.cur, upgrade_db.conn, int(version))
|
||||||
return func(*args) # <-- use (self, ...)
|
return func(*args) # <-- use (self, ...)
|
||||||
func = self
|
func = self
|
||||||
return wrapper
|
return wrapper
|
||||||
|
@ -221,32 +255,32 @@ class TestSqlThread(unittest.TestCase):
|
||||||
result = list(filter_table_column(res, "sighash"))
|
result = list(filter_table_column(res, "sighash"))
|
||||||
self.assertEqual(result, ['sighash'], "Data not migrated for version 8")
|
self.assertEqual(result, ['sighash'], "Data not migrated for version 8")
|
||||||
|
|
||||||
@version
|
# @version
|
||||||
def test_sql_thread_version_9(self):
|
# def test_sql_thread_version_9(self):
|
||||||
"""
|
# """
|
||||||
Test with version 9
|
# Test with version 9
|
||||||
"""
|
# """
|
||||||
|
#
|
||||||
|
# # Assertion
|
||||||
|
# res = sqlQuery(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='pubkeys_backup' ''')
|
||||||
|
# self.assertNotEqual(res[0][0], 1, "Table pubkeys_backup not deleted")
|
||||||
|
#
|
||||||
|
# res = sqlQuery('''PRAGMA table_info('pubkeys');''')
|
||||||
|
# # res = res.fetchall()
|
||||||
|
# result = list(filter_table_column(res, "address"))
|
||||||
|
# self.assertEqual(result, ['address'], "Data not migrated for version 9")
|
||||||
|
|
||||||
# Assertion
|
# @version
|
||||||
res = sqlQuery(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='pubkeys_backup' ''')
|
# def test_sql_thread_version_10(self):
|
||||||
self.assertNotEqual(res[0][0], 1, "Table pubkeys_backup not deleted")
|
# """
|
||||||
|
# Test with version 10
|
||||||
res = sqlQuery('''PRAGMA table_info('pubkeys');''')
|
# """
|
||||||
# res = res.fetchall()
|
#
|
||||||
result = list(filter_table_column(res, "address"))
|
# # Assertion
|
||||||
self.assertEqual(result, ['address'], "Data not migrated for version 9")
|
# res = sqlQuery(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='old_addressbook' ''')
|
||||||
|
# self.assertNotEqual(res[0][0], 1, "Table old_addressbook not deleted")
|
||||||
@version
|
# self.assertEqual(len(res), 1, "Table old_addressbook not deleted")
|
||||||
def test_sql_thread_version_10(self):
|
#
|
||||||
"""
|
# res = sqlQuery('''PRAGMA table_info('addressbook');''')
|
||||||
Test with version 10
|
# result = list(filter_table_column(res, "address"))
|
||||||
"""
|
# self.assertEqual(result, ['address'], "Data not migrated for version 10")
|
||||||
|
|
||||||
# Assertion
|
|
||||||
res = sqlQuery(''' SELECT count(name) FROM sqlite_master WHERE type='table' AND name='old_addressbook' ''')
|
|
||||||
self.assertNotEqual(res[0][0], 1, "Table old_addressbook not deleted")
|
|
||||||
self.assertEqual(len(res), 1, "Table old_addressbook not deleted")
|
|
||||||
|
|
||||||
res = sqlQuery('''PRAGMA table_info('addressbook');''')
|
|
||||||
result = list(filter_table_column(res, "address"))
|
|
||||||
self.assertEqual(result, ['address'], "Data not migrated for version 10")
|
|
||||||
|
|
Reference in New Issue
Block a user