private static void checkNumberOfClientProxies(final int expected) {
    WaitCriterion ev = new WaitCriterion() {
      @Override
      public boolean done() {
        return expected == getNumberOfClientProxies();
      }

      @Override
      public String description() {
        return null;
      }
    };
    GeodeAwaitility.await().untilAsserted(ev);
  }
This test checks a problem found in bug 39332 1. Durable client disconnects 2. Durable client
comes back, creates a create to server connection but not a queue connection 3. Durable client
disconnects again 4. Durable client connects 5. Eventually, all of the durable clients
connections are closed because the durable expiration timer task created in step 1 is never
cancelled.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java