@Test
/** Test BOOTSTRAP transitions - Happy Path with startScn */
public void testTransition_HappyPathWithStartScn() throws Exception
{

  BootstrapPullThread bsPuller = createBootstrapPullThread(false, false, false);
  Checkpoint cp = _ckptHandlerSource1.createInitialBootstrapCheckpoint(null, 50L);
  //TODO remove
  //cp.setConsumptionMode(DbusClientMode.BOOTSTRAP_SNAPSHOT);
  cp.setBootstrapServerInfo(_serverInfoName);
  cp.setBootstrapStartScn(100L);
  bsPuller.getComponentStatus().start();
  ConnectionState connState = bsPuller.getConnectionState();
  connState.switchToBootstrap(cp);
  //cp.setBootstrapSinceScn(50L);
  testTransitionCase(bsPuller, StateId.BOOTSTRAP, StateId.REQUEST_STREAM, cp);
  ServerInfo bstServerInfo = ServerInfo.buildServerInfoFromHostPort(cp.getBootstrapServerInfo(),
                                                                    DbusConstants.HOSTPORT_DELIMITER);
  Assert.assertEquals(bsPuller.getConnectionState().getCurrentBSServerInfo(), bstServerInfo);
  Assert.assertEquals(cp.getBootstrapStartScn().longValue(), 100L, "Cleared Bootstrap StartSCN");
  Assert.assertEquals(cp.getBootstrapSinceScn().longValue(), 50L, "Cleared Bootstrap SinceSCN");
  String actualHost = bsPuller.getCurentServer().getAddress().getHostName();
  int actualPort = bsPuller.getCurentServer().getAddress().getPort();
  Assert.assertEquals(actualHost, _host, "Current Server Host Check");
  Assert.assertEquals(actualPort, _port, "Server Port Check");
  int numRetries = bsPuller.getRetriesBeforeCkptCleanup().getRemainingRetriesNum();
  Assert.assertEquals(numRetries, 1000, "NumRetries Check");
}