GEODE-8644: Change sleep to awaitility in sender queue test (#5796)

SerialGatewaySenderQueueDUnitTest.unprocessedTokensMapShouldDrainCompletely()
now waits until the queues are drained rather than sleeping for 2
seconds before asserting.
diff --git a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
index e606314..51a02c5 100644
--- a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
+++ b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialGatewaySenderQueueDUnitTest.java
@@ -16,6 +16,7 @@
 
 import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
 import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.test.awaitility.GeodeAwaitility.await;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
@@ -107,14 +108,8 @@
     a1.await();
     a2.await();
 
-    // Give the unprocessedTokens map time to empty
-    Thread.sleep(2000);
-
-    int numUnprocessedTokensVM4 = vm4.invoke(() -> unprocessedTokensSize("ln"));
-    assertThat(numUnprocessedTokensVM4).isEqualTo(0);
-
-    int numUnprocessedTokensVM5 = vm5.invoke(() -> unprocessedTokensSize("ln"));
-    assertThat(numUnprocessedTokensVM5).isEqualTo(0);
+    vm4.invoke(() -> await().untilAsserted(this::queueIsDrained));
+    vm5.invoke(() -> await().untilAsserted(this::queueIsDrained));
   }
 
   private int unprocessedTokensSize(String senderId) {
@@ -544,4 +539,10 @@
       exp.remove();
     }
   }
+
+  private void queueIsDrained() {
+    assertThat(unprocessedTokensSize("ln"))
+        .as("number of unprocessed tokens in queue")
+        .isEqualTo(0);
+  }
 }