@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()); }