JDBCURL jdbcURL = new JDBCURL(url); info.setProperty(BaseDataSource.VDB_NAME, jdbcURL.getVDBName()); if (jdbcURL.getConnectionURL() != null) { info.setProperty(TeiidURL.CONNECTION.SERVER_URL, jdbcURL.getConnectionURL());
JDBCURL jdbcURL = new JDBCURL(url); info.setProperty(BaseDataSource.VDB_NAME, jdbcURL.getVDBName()); if (jdbcURL.getConnectionURL() != null) { info.setProperty(TeiidURL.CONNECTION.SERVER_URL, jdbcURL.getConnectionURL());
@Test public void testNoPropertyValue() { String URL = "jdbc:teiid:bqt@mm://localhost:12345;version=1;user=xyz;password=***;logLevel=;configFile="; //$NON-NLS-1$ Properties expectedProperties = new Properties(); expectedProperties.setProperty("version", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("user", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("password", "***"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("logLevel", ""); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("configFile", ""); //$NON-NLS-1$ //$NON-NLS-2$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(expectedProperties, url.getProperties()); }
@Test public void testJDBCURLWithProperties() { String URL = "jdbc:teiid:bqt@mm://localhost:12345;version=1;user=%25xyz;password=***;logLevel=1;configFile=testdata/bqt/dqp_stmt_e2e.xmi;disableLocalTxn=true;autoFailover=false"; //$NON-NLS-1$ Properties expectedProperties = new Properties(); expectedProperties.setProperty("version", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("user", "%xyz"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("password", "***"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("logLevel", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("configFile", "testdata/bqt/dqp_stmt_e2e.xmi"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty(ExecutionProperties.DISABLE_LOCAL_TRANSACTIONS, "true"); //$NON-NLS-1$ expectedProperties.setProperty(TeiidURL.CONNECTION.AUTO_FAILOVER, "false"); //$NON-NLS-1$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(expectedProperties, url.getProperties()); assertTrue(url.getJDBCURL().contains("user=%25xyz")); }
@Test public void testWithExtraSemicolons() { String URL = "jdbc:teiid:bqt@mm://localhost:12345;version=1;user=xyz;password=***;logLevel=1;;;configFile=testdata/bqt/dqp_stmt_e2e.xmi;;"; //$NON-NLS-1$ Properties expectedProperties = new Properties(); expectedProperties.setProperty("version", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("user", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("password", "***"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("logLevel", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("configFile", "testdata/bqt/dqp_stmt_e2e.xmi"); //$NON-NLS-1$ //$NON-NLS-2$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(expectedProperties, url.getProperties()); }
@Test public void testWithWhitespace() { String URL = "jdbc:teiid:bqt@mm://localhost:12345; version =1;user= xyz ;password=***; logLevel = 1 ; configFile=testdata/bqt/dqp_stmt_e2e.xmi ;"; //$NON-NLS-1$ Properties expectedProperties = new Properties(); expectedProperties.setProperty("version", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("user", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("password", "***"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("logLevel", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("configFile", "testdata/bqt/dqp_stmt_e2e.xmi"); //$NON-NLS-1$ //$NON-NLS-2$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(expectedProperties, url.getProperties()); }
@Test public void testCaseConversion() { // Different case ------------------------------------HERE -v ----------------and HERE -v String URL = "jdbc:teiid:bqt@mm://localhost:12345;VERSION=1;user=xyz;password=***;configFile=testdata/bqt/dqp_stmt_e2e.xmi"; //$NON-NLS-1$ Properties expectedProperties = new Properties(); expectedProperties.setProperty("version", "1"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("user", "xyz"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("password", "***"); //$NON-NLS-1$ //$NON-NLS-2$ expectedProperties.setProperty("configFile", "testdata/bqt/dqp_stmt_e2e.xmi"); //$NON-NLS-1$ //$NON-NLS-2$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(expectedProperties, url.getProperties()); }
@Test public void testEncoding() { JDBCURL url = new JDBCURL("jdbc:teiid:a%40b@mm://%50;%55=a"); //$NON-NLS-1$ assertEquals("a@b", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://P", url.getConnectionURL()); //$NON-NLS-1$ assertEquals("U", url.getProperties().entrySet().iterator().next().getKey()); //$NON-NLS-1$ }
@Test public void testGetServerURL_NoProperties() { String result = new JDBCURL("jdbc:teiid:designtimecatalog@mm://slwxp172:44401;user=ddifranco;password=mm").getConnectionURL(); //$NON-NLS-1$ assertEquals("mm://slwxp172:44401", result); //$NON-NLS-1$ }
/** * Test getServerURL with a valid URL and password that contains at least * one ASCII character in the range of 32 to 126 excluding the ; and = sign. * * @since 5.0.2 */ @Test public void testGetServerURL_PasswordProperties() throws Exception { String result = null; String srcURL = "jdbc:teiid:designtimecatalog@mm://slwxp172:44401;user=ddifranco;password="; //$NON-NLS-1$ String password = null; String tgtURL = "mm://slwxp172:44401"; //$NON-NLS-1$ for ( char ch = 32; ch <= 126; ch++ ) { //exclude URL reserved characters if ( ch != ';' && ch != '=' && ch != '%') { password = ch+"mm"; //$NON-NLS-1$ result = new JDBCURL(srcURL+URLEncoder.encode(password, "UTF-8")).getConnectionURL(); //$NON-NLS-1$ assertEquals("Failed to obtain correct ServerURL when using password "+password,tgtURL, result); //$NON-NLS-1$ } } }
@Test public void testGetServerURL_Properties() { String result = new JDBCURL("jdbc:teiid:designtimecatalog@mm://slwxp172:44401;user=ddifranco;password=mm").getConnectionURL(); //$NON-NLS-1$ assertEquals("mm://slwxp172:44401", result); //$NON-NLS-1$ }
@Test public void testGetServerURL_2Servers() { String result = new JDBCURL("jdbc:teiid:designtimecatalog@mm://slwxp172:44401,slabc123:12345;user=ddifranco;password=mm").getConnectionURL(); //$NON-NLS-1$ assertEquals("mm://slwxp172:44401,slabc123:12345", result); //$NON-NLS-1$ }
@Test public void testJDBCURLWithoutProperties() { String URL = "jdbc:teiid:bqt@mm://localhost:12345"; //$NON-NLS-1$ JDBCURL url = new JDBCURL(URL); assertEquals("bqt", url.getVDBName()); //$NON-NLS-1$ assertEquals("mm://localhost:12345", url.getConnectionURL()); //$NON-NLS-1$ assertEquals(new Properties(), url.getProperties()); }