@Test
  public void testGetURLPrincipal() throws KettleDatabaseException, MalformedURLException {
    String testHostname = "testHostname";
    int port = 9429;
    String testDbName = "testDbName";
    impalaDatabaseMeta.getAttributes().put("principal", "testP");
    String urlString = impalaDatabaseMeta.getURL(testHostname, "" + port, testDbName);
    assertTrue(urlString.startsWith(ImpalaDatabaseMeta.URL_PREFIX));
    // Use known prefix
    urlString = "http://" + urlString.substring(ImpalaDatabaseMeta.URL_PREFIX.length());
    URL url = new URL(urlString);
    assertEquals(testHostname, url.getHost());
    assertEquals(port, url.getPort());
    assertEquals("/" + testDbName, url.getPath());

    impalaDatabaseMeta.getAttributes().remove("principal");
    impalaDatabaseMeta
        .getAttributes()
        .put(
            ImpalaDatabaseMeta.ATTRIBUTE_PREFIX_EXTRA_OPTION
                + impalaDatabaseMeta.getPluginId()
                + ".principal",
            "testP");
    urlString = impalaDatabaseMeta.getURL(testHostname, "" + port, testDbName);
    assertTrue(urlString.startsWith(ImpalaDatabaseMeta.URL_PREFIX));
    // Use known prefix
    urlString = "http://" + urlString.substring(ImpalaDatabaseMeta.URL_PREFIX.length());
    url = new URL(urlString);
    assertEquals(testHostname, url.getHost());
    assertEquals(port, url.getPort());
    assertEquals("/" + testDbName, url.getPath());
  }
 @Test
 public void testGetURLEmptyPort() throws KettleDatabaseException, MalformedURLException {
   String testHostname = "testHostname";
   String testDbName = "testDbName";
   String urlString = impalaDatabaseMeta.getURL(testHostname, "", testDbName);
   assertTrue(urlString.startsWith(ImpalaDatabaseMeta.URL_PREFIX));
   // Use known prefix
   urlString = "http://" + urlString.substring(ImpalaDatabaseMeta.URL_PREFIX.length());
   URL url = new URL(urlString);
   assertEquals(testHostname, url.getHost());
   assertEquals(impalaDatabaseMeta.getDefaultDatabasePort(), url.getPort());
   assertEquals("/" + testDbName + ImpalaDatabaseMeta.AUTH_NO_SASL, url.getPath());
 }