@Test
  public void basicThroughRouterTest() throws Exception {
    for (String blobId : blobIds) {
      assertTtl(router, Collections.singleton(blobId), TTL_SECS);
      TestCallback<Void> callback = new TestCallback<>();
      notificationSystem.reset();
      router.updateBlobTtl(null, blobId, null, Utils.Infinite_Time, callback, quotaChargeCallback)
          .get(AWAIT_TIMEOUT_MS, TimeUnit.MILLISECONDS);
      notificationSystem.checkNotifications(1, null, Utils.Infinite_Time);
      assertTrue("Callback was not called", callback.getLatch().await(10, TimeUnit.MILLISECONDS));
      assertNull("There should be no exception in the callback", callback.getException());
      assertTtl(router, Collections.singleton(blobId), Utils.Infinite_Time);
    }
  }
Basic test for a TTL update through the {@link Router} (failure cases w.r.t interaction with Router in
{@link NonBlockingRouterTest}.
@throws Exception
ambry-router/src/test/java/com/github/ambry/router/TtlUpdateManagerTest.java