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

    // create receiver on site-ln and site-ny
    createCacheInVMs(lnPort, vm2, vm4);
    createReceiverInVMs(vm2, vm4);
    createCacheInVMs(nyPort, vm3, vm5);
    createReceiverInVMs(vm3, vm5);

    // create senders on site-ny, Note: sender-id is its destination, i.e. ny
    vm2.invoke(() -> WANTestBase.createSender("ny", 1, false, 100, 10, false, false, null, true));
    vm4.invoke(() -> WANTestBase.createSender("ny", 1, false, 100, 10, false, false, null, true));

    // create senders on site-ln, Note: sender-id is its destination, i.e. ln
    vm3.invoke(() -> WANTestBase.createSender("ln", 2, false, 100, 10, false, false, null, true));
    vm5.invoke(() -> WANTestBase.createSender("ln", 2, false, 100, 10, false, false, null, true));

    // create PR on site-ny
    vm2.invoke(() -> WANTestBase.createPartitionedRegion(getTestMethodName() + "_PR", "ny", 1, 100,
        isOffHeap()));
    vm4.invoke(() -> WANTestBase.createPartitionedRegion(getTestMethodName() + "_PR", "ny", 1, 100,
        isOffHeap()));

    // create PR on site-ln
    vm3.invoke(() -> WANTestBase.createPartitionedRegion(getTestMethodName() + "_PR", "ln", 1, 100,
        isOffHeap()));
    vm5.invoke(() -> WANTestBase.createPartitionedRegion(getTestMethodName() + "_PR", "ln", 1, 100,
        isOffHeap()));

    // start sender on site-ny
    startSenderInVMs("ny", vm2, vm4);

    // do 100 puts on site-ln
    vm3.invoke(() -> WANTestBase.doPutsFrom(getTestMethodName() + "_PR", 0, 100));

    // verify site-ny have 100 entries
    vm3.invoke(() -> WANTestBase.validateRegionSize(getTestMethodName() + "_PR", 100));
    vm5.invoke(() -> WANTestBase.validateRegionSize(getTestMethodName() + "_PR", 100));

    // verify site-ln has not received the events from site-ny yet
    vm2.invoke(() -> WANTestBase.validateRegionSize(getTestMethodName() + "_PR", 0));
    vm4.invoke(() -> WANTestBase.validateRegionSize(getTestMethodName() + "_PR", 0));

    // start sender on site-ln
    startSenderInVMsAsync("ln", vm3, vm5);

    // verify tmpDroppedEvents should be 0 now at site-ny
    vm3.invoke(() -> WANTestBase.verifyTmpDroppedEventSize("ln", 0));
    vm5.invoke(() -> WANTestBase.verifyTmpDroppedEventSize("ln", 0));

    vm3.invoke(() -> WANTestBase.validateParallelSenderQueueAllBucketsDrained("ln"));
    vm5.invoke(() -> WANTestBase.validateParallelSenderQueueAllBucketsDrained("ln"));
  }
Test unstarted sender
Site-LN: dsid=2: senderId="ny": vm2, vm4
Site-NY: dsid=1: senderId="ln": vm3, vm6
NY site's sender's manual-start=true

Make sure the events are sent from LN to NY and will not be added into tmpDroppedEvents
while normal events put from NY site can still be added to tmpDroppedEvents
Start the sender, make sure the events in tmpDroppedEvents are sent to LN finally
geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationsFeatureDUnitTest.java