def test_check_database_version(): server.initialise( database_file=tempfile.gettempdir() + "/fixtures.unittest.db", testnet=True, **util_test.COUNTERPARTYD_OPTIONS ) util_test.restore_database(config.DATABASE, CURR_DIR + "/fixtures/scenarios/unittest_fixture.sql") db = database.get_connection(read_only=False) database.update_version(db) version_major, version_minor = database.version(db) assert config.VERSION_MAJOR == version_major assert config.VERSION_MINOR == version_minor check.database_version(db) config.VERSION_MINOR += 1 with pytest.raises(check.DatabaseVersionError) as exception: check.database_version(db) assert exception.value.reparse_block_index == None config.VERSION_MINOR -= 1 config.VERSION_MAJOR += 1 with pytest.raises(check.DatabaseVersionError) as exception: check.database_version(db) assert exception.value.reparse_block_index == config.BLOCK_FIRST config.VERSION_MAJOR -= 1
def test_check_database_version(): server.initialise(database_file=tempfile.gettempdir() + '/fixtures.unittest.db', testnet=True, **util_test.COUNTERPARTYD_OPTIONS) util_test.restore_database( config.DATABASE, CURR_DIR + '/fixtures/scenarios/unittest_fixture.sql') db = database.get_connection(read_only=False) database.update_version(db) version_major, version_minor = database.version(db) assert config.VERSION_MAJOR == version_major assert config.VERSION_MINOR == version_minor check.database_version(db) config.VERSION_MINOR += 1 with pytest.raises(check.DatabaseVersionError) as exception: check.database_version(db) assert exception.value.reparse_block_index == None config.VERSION_MINOR -= 1 config.VERSION_MAJOR += 1 with pytest.raises(check.DatabaseVersionError) as exception: check.database_version(db) assert exception.value.reparse_block_index == config.BLOCK_FIRST config.VERSION_MAJOR -= 1
def database_version(db): if config.FORCE: return logger.debug('Checking database version.') version_major, version_minor = database.version(db) if version_major != config.VERSION_MAJOR: # Rollback database if major version has changed. raise DatabaseVersionError('Client major version number mismatch ({} ≠ {}).'.format(version_major, config.VERSION_MAJOR), config.BLOCK_FIRST) elif version_minor != config.VERSION_MINOR: # Reparse all transactions if minor version has changed. raise DatabaseVersionError('Client minor version number mismatch ({} ≠ {}).'.format(version_minor, config.VERSION_MINOR), None)
def database_version(db): if config.FORCE: return logger.debug('Checking database version.') version_major, version_minor = database.version(db) if version_major != config.VERSION_MAJOR: # Rollback database if major version has changed. raise DatabaseVersionError( 'Client major version number mismatch ({} ≠ {}).'.format( version_major, config.VERSION_MAJOR), config.BLOCK_FIRST) elif version_minor != config.VERSION_MINOR: # Reparse all transactions if minor version has changed. raise DatabaseVersionError( 'Client minor version number mismatch ({} ≠ {}).'.format( version_minor, config.VERSION_MINOR), None)