@AfterClass
  public static void stopServices() throws Exception {
    if (miniHS2 != null && miniHS2.isStarted()) {
      miniHS2.stop();
      miniHS2.cleanup();
      miniHS2 = null;
      MiniHS2.cleanupLocalDir();
    }
    if (tmpDir.exists()) {
      tmpDir.delete();
    }
    if (idpContainer != null && idpContainer.isRunning()) {
      idpContainer.stop();
    }
  }
End to end tests for the SAML based SSO authentication. The test instantiates a SAML
2.0 compliant IDP provider (SimpleSAMLPHP) in a docker container. The container is
configured such that it's IDP service is run on a random port which is available. See
{@link #setupIDP(boolean, String)} for details.
<p>
The HS2 is configured with the IDP's metadata file which is derived from a template.
The metadata file contains the IDP's public certificate. The template should be
post-processed to replace the port number where the service is running.
<p>
The test uses TestContainers library for managing the life-cycle of the IDP container.
It uses HTMLUnit to simulate the browser interaction (provide user/password) of the
end user.
itests/hive-unit/src/test/java/org/apache/hive/service/auth/saml/TestHttpSamlAuthentication.java