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

    // register interest for key-1
    vm2.invoke(DestroyEntryPropagationDUnitTest::registerKey1);
    // register interest for key-1
    vm3.invoke(DestroyEntryPropagationDUnitTest::registerKey1);

    // destroy entry key-1 , key-2
    vm2.invoke(DestroyEntryPropagationDUnitTest::destroyEntriesK1andK2);
    // verify destroy entry on first server
    vm0.invoke(DestroyEntryPropagationDUnitTest::verifyEntriesAreDestroyed);
    // verify destroy entry on second server
    vm1.invoke(DestroyEntryPropagationDUnitTest::verifyEntriesAreDestroyed);
    // verify destroy entry in originator vm
    vm2.invoke(DestroyEntryPropagationDUnitTest::verifyEntriesAreDestroyed);
    // verify only key-1 is destroyed
    vm3.invoke(DestroyEntryPropagationDUnitTest::verifyOnlyRegisteredEntriesAreDestroyed);
  }
This tests whether the destroy are propagted or not according to interest registration.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java