@Test
public void shouldNotAccidentallyDeleteStoreFilesIfNoMigrationWasRequired() throws IOException
{
CountsMigrator migrator = new CountsMigrator( fs, null, Config.defaults() );
DatabaseLayout sourceLayout = directory.databaseLayout();
File countsStoreFileA = sourceLayout.countStoreA();
File countsStoreFileB = sourceLayout.countStoreB();
fs.create( countsStoreFileA );
fs.create( countsStoreFileB );
DatabaseLayout migrationLayout = directory.databaseLayout( "migration" );
String versionToMigrateFrom = StoreVersion.STANDARD_V3_2.versionString();
String versionToMigrateTo = StoreVersion.STANDARD_V3_4.versionString();
migrator.migrate( sourceLayout, migrationLayout, SilentProgressReporter.INSTANCE, versionToMigrateFrom, versionToMigrateTo );
assertEquals( "Invalid test assumption: There should not have been migration for those versions", 0,
migrationLayout.listDatabaseFiles( ( dir, name ) -> true ).length );
migrator.moveMigratedFiles( migrationLayout, sourceLayout, versionToMigrateFrom, versionToMigrateTo );
assertTrue( fs.fileExists( countsStoreFileA ) );
assertTrue( fs.fileExists( countsStoreFileB ) );
}
}