@Test
  public void testReplicatedSerialAsyncEventQueueWith2WANSites() {
    Integer lnPort = vm0.invoke(() -> createFirstLocatorWithDSId(1));
    Integer nyPort = vm1.invoke(() -> createFirstRemoteLocator(2, lnPort));

    // ------------ START - CREATE CACHE, REGION ON LOCAL SITE ------------//
    createCacheInVMs(lnPort, vm4, vm5, vm6, vm7);
    asList(vm4, vm5).forEach(vm -> vm.invoke(() -> {
      createSender("ln", 2, false, 100, 10, false, false, null, true);
    }));
    asList(vm4, vm5, vm6, vm7).forEach(vm -> vm.invoke(() -> {
      createAsyncEventQueue("lnAsync", false, 100, 100, false, false, null, false);
    }));
    startSenderInVMs("ln", vm4, vm5);
    asList(vm4, vm5, vm6, vm7).forEach(vm -> vm.invoke(() -> {
      createReplicatedRegionWithSenderAndAsyncEventQueue(getTestMethodName() + "_RR", "ln",
          "lnAsync", isOffHeap());
    }));
    // ------------- END - CREATE CACHE, REGION ON LOCAL SITE -------------//

    // ------------- START - CREATE CACHE ON REMOTE SITE ---------------//
    createCacheInVMs(nyPort, vm2, vm3);
    createReceiverInVMs(vm2, vm3);

    asList(vm2, vm3).forEach(vm -> vm.invoke(() -> {
      createSender("ny", 1, false, 100, 10, false, false, null, true);
      createAsyncEventQueue("nyAsync", false, 100, 100, false, false, null, false);
    }));
    startSenderInVMs("ny", vm2, vm3);
    asList(vm2, vm3).forEach(vm -> vm.invoke(() -> {
      createReplicatedRegionWithSenderAndAsyncEventQueue(getTestMethodName() + "_RR", "ny",
          "nyAsync", isOffHeap());
    }));
    // ------------- END - CREATE CACHE, REGION ON REMOTE SITE -------------//

    vm4.invoke(() -> doPuts(getTestMethodName() + "_RR", 1000));

    // validate AsyncEventListener on local site
    // primary sender
    vm4.invoke(() -> validateAsyncEventListener("lnAsync", 1000));

    // secondary senders
    asList(vm5, vm6, vm7).forEach(vm -> vm.invoke(() -> {
      validateAsyncEventListener("lnAsync", 0);
    }));

    // validate region size on remote site
    asList(vm2, vm3).forEach(vm -> vm.invoke(() -> {
      validateRegionSize(getTestMethodName() + "_RR", 1000);
    }));

    // validate AsyncEventListener on remote site
    vm2.invoke(() -> validateAsyncEventListener("nyAsync", 1000));// primary sender
    vm3.invoke(() -> validateAsyncEventListener("nyAsync", 0)); // secondary sender
  }
Test configuration:
Region: Replicated
WAN: Serial
Number of WAN sites: 2
Region persistence enabled: false
Async channel persistence enabled: false
geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/misc/WanValidationsDUnitTest.java