@Test
  public void testInterOpsWithReplicatedRegion() throws Exception {
    VM locator = VM.getVM(0);
    VM manager = VM.getVM(1);
    VM server = VM.getVM(2);
    VM client = VM.getVM(3);

    // start locator
    final String hostName = NetworkUtils.getServerHostName();
    int locatorPort = locator.invoke(() -> startLocator(hostName, ""));

    // find locators
    String locators = hostName + "[" + locatorPort + "]";

    // start manager (peer cache)
    manager.invoke(() -> startManager(locators, new String[] {REGION_NAME}));

    // start startCacheServer With RestService enabled
    final String serverHostName = server.getHost().getHostName();
    String restEndpoint = server.invoke(() -> startBridgeServerWithRestService(serverHostName,
        locators, new String[] {REGION_NAME}));

    // create a client cache
    client.invoke(() -> createClientCache(hostName, locatorPort));

    // create region in Manager, peer cache and Client cache nodes
    manager.invoke(this::createRegion);
    server.invoke(this::createRegion);
    client.invoke(this::createRegionInClientCache);

    // do some person puts from clientcache
    client.invoke(this::doPutsInClientCache);

    // TEST: fetch all available REST endpoints
    fetchRestServerEndpoints(restEndpoint);

    // Controller VM - config REST Client and make HTTP calls
    doGetsUsingRestApis(restEndpoint);

    // update Data using REST APIs
    doUpdatesUsingRestApis(restEndpoint);

    client.invoke(this::verifyUpdatesInClientCache);

    // Querying
    doQueryOpsUsingRestApis(restEndpoint);
  }
InterOps Test between REST-client, Peer Cache Client and Client Cache
geode-assembly/src/distributedTest/java/org/apache/geode/rest/internal/web/controllers/RestAPIsAndInterOpsDUnitTest.java