@AfterClass
  public static void afterClass() {
    // if you need to capture logs for one of the processes use this pattern:
    // String output =
    // docker.execForService("locator-maeve", "cat", "locator-maeve/locator-maeve.log");
    // System.out.println("Locator log file--------------------------------\n" + output);
  }
These tests run against a 2-server, 1-locator Geode cluster. The servers and locator run inside a
(single) Docker container and are not route-able from the host (where this JUnit test is
running). Another Docker container is running the HAProxy image and it's set up as an SNI
gateway. The test connects to the gateway via SNI and the gateway (in one Docker container)
forwards traffic to Geode members (running in the other Docker container).

The two servers, server-dolores, and server-clementine, each are members of their own distinct
groups: group-dolores, and group-clementine, respectively. Also each server has a separate
REPLICATE region on it: region-dolores, and region-clementine, respectively.

This test creates a connection pool to each group in turn. For that group, the test verifies it
can update data to the region of interest. There's also a pair of negative tests that verify the
correct exception is thrown when an attempt is made to operate on an unreachable region.
geode-assembly/src/acceptanceTest/java/org/apache/geode/client/sni/DualServerSNIAcceptanceTest.java