private void validateMetaDataAfterRegionDestroyInAll() {
    for (int vm = 0; vm < 4; vm++) {
      getHost(0).getVM(vm).invoke(() -> {
        Cache cache = getCache();
        Region<String, String> region = cache.getRegion(regionName);
        assertThat(region).isNull();

        Region rootRegion =
            cache.getRegion(SEPARATOR + PartitionedRegionHelper.PR_ROOT_REGION_NAME);

        Object configObject = rootRegion.get(regionName.substring(1));
        assertThat(configObject).isNull();

        Set<Region> subregions = rootRegion.subregions(false);
        for (Region subregion : subregions) {
          String name = subregion.getName();
          assertThat(name).doesNotContain(PartitionedRegionHelper.BUCKET_REGION_PREFIX);
        }

        boolean containsKey = PartitionedRegion.getPrIdToPR().containsKey(regionName);
        assertThat(containsKey).isFalse();
      });
    }
  }
This is a PartitionedRegion test for scope = D_ACK. 4 VMs are used to create the PR with and
without(Only Accessor) the DataStore.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionAPIDUnitTest.java