@Override public boolean isRunning() { //we have to get our state from cassandra for(final String pluginName :getPluginNames()){ if( migrationInfoSerialization.getStatusCode(pluginName) == StatusCode.RUNNING.status){ return true; } } return false; }
@Test public void testRunning() throws MigrationException { final Set<MigrationPlugin> plugins = new HashSet<>(); MigrationPlugin plugin1 = mock( MigrationPlugin.class ); when( plugin1.getName() ).thenReturn( "plugin1" ); when( plugin1.getPhase() ).thenReturn( PluginPhase.MIGRATE ); plugins.add( plugin1 ); final MigrationInfoSerialization migrationInfoSerialization = mock( MigrationInfoSerialization.class ); when( migrationInfoSerialization.getStatusCode( "plugin1" ) ) .thenReturn( DataMigrationManagerImpl.StatusCode.RUNNING.status ); final MigrationInfoCache migrationInfoCache = mock(MigrationInfoCache.class); DataMigrationManagerImpl migrationManager = new DataMigrationManagerImpl( plugins, migrationInfoSerialization, migrationInfoCache ); boolean status = migrationManager.isRunning(); assertTrue( "Status is set", status ); when( migrationInfoSerialization.getStatusCode( "plugin1" ) ) .thenReturn( DataMigrationManagerImpl.StatusCode.COMPLETE.status ); status = migrationManager.isRunning(); assertFalse( "Status is not running", status ); when( migrationInfoSerialization.getStatusCode( "plugin1" ) ) .thenReturn( DataMigrationManagerImpl.StatusCode.ERROR.status ); status = migrationManager.isRunning(); assertFalse( "Status is not running", status ); }
final int statusCode = migrationInfoSerialization.getStatusCode(migrationModule); final int returnedStatusCode = migrationInfoSerialization.getStatusCode(migrationModule);