@Test
  public void testNoMirroredDataToNonMirrored() {
    assumeThat(supportsReplication()).isTrue();

    final String name = getUniqueName();
    final Object key1 = "KEY1";
    final Object value1 = "VALUE1";
    final Object key2 = "KEY2";
    final Object value2 = "VALUE2";
    final Object key3 = "KEY3";
    final Object value3 = "VALUE3";

    vm0.invoke("Create Non-mirrored Region", () -> {
      createRegion(name, getRegionAttributes());
    });

    vm2.invoke("Populate mirrored region", () -> {
      RegionFactory<Object, Object> regionFactory = getBasicRegionFactory();
      Region<Object, Object> region1 = createRegion(name, regionFactory);
      region1.put(key1, value1);
      region1.put(key2, value2);
      region1.put(key3, value3);
      flushIfNecessary(region1);
    });

    // Make sure that data wasn't pushed
    vm0.invoke("Verify keys/values", () -> {
      final Region<Object, Object> region = getRootRegion().getSubregion(name);
      Region.Entry entry1 = region.getEntry(key1);
      if (!getRegionAttributes().getDataPolicy().withReplication()) {
        if (entry1 != null) {
          logger.info("found entry " + entry1);
        }
        assertThat(entry1).isNull();
      } else {
        assertThat(entry1).isNotNull();
      }

      Region.Entry entry2 = region.getEntry(key2);
      if (!getRegionAttributes().getDataPolicy().withReplication()) {
        assertThat(entry2).isNull();
      } else {
        assertThat(entry2).isNotNull();
      }

      Region.Entry entry3 = region.getEntry(key3);
      if (!getRegionAttributes().getDataPolicy().withReplication()) {
        assertThat(entry3).isNull();
      } else {
        assertThat(entry3).isNotNull();
      }
    });
  }
Tests that a mirrored region does not push data to a non-mirrored region.
geode-dunit/src/main/java/org/apache/geode/cache30/MultiVMRegionTestCase.java