semaphore.drainPermits();
semaphore.acquire(); // wait for next poll
Assert.assertEquals(provider.getConnectionString(), "backup1:1");
backupConnectionString.set("backup2:2");
semaphore.drainPermits();
semaphore.acquire(); // wait for next poll
Assert.assertEquals(provider.getConnectionString(), "backup2:2");
connectionString.set("count=1&port=3&server0=localhost3");
semaphore.drainPermits();