@Before
  public void setUp() throws IOException, GeneralSecurityException {
    oldGfsh = gfshRule.executor().withVmConfiguration(sourceVmConfiguration).build();
    currentGfsh = gfshRule.executor().build();
    hostName = InetAddress.getLocalHost().getCanonicalHostName();
    keyStoreFileName = hostName + "-keystore.jks";
    trustStoreFileName = hostName + "-truststore.jks";

    tempFolder = folderRule.getFolder().toPath();

    generateStores();
    /*
     * We must use absolute paths for truststore and keystore in properties file and
     * since we don't know those at coding-time, we must generate the file.
     * Since GfshRule provides no way to pass along Properties object to start server etc,
     * we must write the properties to an actual file.
     */
    final Properties properties = generateSslProperties();

    securityPropertiesFile = tempFolder.resolve("gfsecurity.properties").toFile();
    Files.createFile(securityPropertiesFile.toPath());
    final FileOutputStream fileOutputStream =
        new FileOutputStream(securityPropertiesFile.getAbsolutePath());
    properties.store(fileOutputStream, "");
  }
This test iterates through the versions of Geode and executes client compatibility with
the current version of Geode.
geode-assembly/src/upgradeTest/java/org/apache/geode/management/RollingUpgradeWithSslDUnitTest.java