@Test
  public void testDestroyOnServerPropagation() {
    // First create entries on both servers via the two client
    vm2.invoke(DestroyEntryPropagationDUnitTest::createEntriesK1andK2);
    vm3.invoke(DestroyEntryPropagationDUnitTest::createEntriesK1andK2);

    vm2.invoke(DestroyEntryPropagationDUnitTest::registerKey1);
    vm3.invoke(DestroyEntryPropagationDUnitTest::registerKey1);

    // destroy entry on server directly
    vm0.invoke(DestroyEntryPropagationDUnitTest::destroyEntriesK1andK2);
    // verify destroy entry on server 1
    vm0.invoke(DestroyEntryPropagationDUnitTest::verifyEntriesAreDestroyed);
    // verify destroy entry on second server
    vm1.invoke(DestroyEntryPropagationDUnitTest::verifyEntriesAreDestroyed);
    // verify destroy entry only for registered keys in client1
    vm2.invoke(DestroyEntryPropagationDUnitTest::verifyOnlyRegisteredEntriesAreDestroyed);
    // verify destroy entry only for registered keys in client 2
    vm3.invoke(DestroyEntryPropagationDUnitTest::verifyOnlyRegisteredEntriesAreDestroyed);
  }
This tests whether the destroy happened directly on server are propagted or not.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java