@Test
public void shouldComputeTheLastTxInfoCorrectly() throws Exception
{
DatabaseLayout databaseLayout = directory.databaseLayout();
File prepare = directory.directory( "prepare" );
MigrationTestUtils.prepareSampleLegacyDatabase( version, fs, databaseLayout.databaseDirectory(), prepare );
LogService logService = NullLogService.getInstance();
PageCache pageCache = pageCacheRule.getPageCache( fs );
LogTailScanner tailScanner = getTailScanner( databaseLayout.databaseDirectory() );
UpgradableDatabase upgradableDatabase = getUpgradableDatabase( pageCache, tailScanner );
String versionToMigrateFrom = upgradableDatabase.checkUpgradable( databaseLayout ).storeVersion();
SilentMigrationProgressMonitor progressMonitor = new SilentMigrationProgressMonitor();
StoreMigrator migrator = new StoreMigrator( fs, pageCache, CONFIG, logService, jobScheduler );
DatabaseLayout migrationLayout = directory.databaseLayout( StoreUpgrader.MIGRATION_DIRECTORY );
migrator.migrate( databaseLayout, migrationLayout, progressMonitor.startSection( "section" ),
versionToMigrateFrom, upgradableDatabase.currentVersion() );
assertTrue( txIdComparator.apply( migrator.readLastTxInformation( migrationLayout ) ) );
}