@Override
  public String getURL( String hostname, String port, String databaseName ) throws KettleDatabaseException {
    StringBuilder urlBuilder = new StringBuilder();
    urlBuilder.append( "jdbc:databricks://" );
    urlBuilder.append( hostname );
    if ( StringUtils.isNotBlank( port ) ) {
      urlBuilder.append( ":" );
      urlBuilder.append( port );
    }
    appendProperty( urlBuilder, Params.HTTP_PATH, getMandatoryAttribute( Attributes.HTTP_PATH ) );
    if ( getAuthMethod() == AuthMethod.Token ) {
      // user/pass will be passed as properties if set
      appendProperty( urlBuilder, Params.AUTH_MECH, "3" );
      appendProperty( urlBuilder, Params.USER, "token" );
      appendProperty( urlBuilder, Params.PASS, Encr.decryptPassword( getMandatoryAttribute( Attributes.TOKEN ) ) );
    }
    if ( StringUtils.isNotBlank( databaseName ) ) {
      appendProperty( urlBuilder, Params.CATALOG, databaseName );
    }
    return urlBuilder.toString();
  }
@Test( expected = KettleDatabaseException.class )
  public void testNoPath() throws Exception {
    DatabaseMeta dbMeta = getDBMeta();
    dbMeta.getURL();
  }