Skip to content

Commit

Permalink
Fix unit tests, only specify protocol as tcps explicitly
Browse files Browse the repository at this point in the history
  • Loading branch information
Vipinofficial11 committed Oct 9, 2024
1 parent 3c675f4 commit 01d2ae8
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,6 @@ public String getConnectionString() {
@Nullable
public String useSSL;


@Override
protected int getDefaultPort() {
return 1521;
Expand All @@ -114,7 +113,6 @@ public String getSSlMode() {
return useSSL;
}


@Override
public Properties getConnectionArgumentsProperties() {
Properties prop = super.getConnectionArgumentsProperties();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,8 @@ private OracleConstants() {
}

public static final String PLUGIN_NAME = "Oracle";
// Updating connection strings to accept protocol (e.g., jdbc:oracle:thin:@<protocol>://<host>:<port>:<SID>)
public static final String ORACLE_CONNECTION_STRING_SID_FORMAT = "jdbc:oracle:thin:@%s://%s:%d:%s";
public static final String ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT = "jdbc:oracle:thin:@%s://%s:%d/%s";
public static final String ORACLE_CONNECTION_STRING_SID_FORMAT = "jdbc:oracle:thin:@%s:%s:%s";
public static final String ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT = "jdbc:oracle:thin:@//%s:%s/%s";
public static final String ORACLE_CONNECTION_STRING_TNS_FORMAT = "jdbc:oracle:thin:@%s";
public static final String DEFAULT_BATCH_VALUE = "defaultBatchValue";
public static final String DEFAULT_ROW_PREFETCH = "defaultRowPrefetch";
Expand All @@ -40,7 +39,11 @@ private OracleConstants() {
public static final String TNS_CONNECTION_TYPE = "TNS";
public static final String TRANSACTION_ISOLATION_LEVEL = "transactionIsolationLevel";
public static final String USE_SSL = "useSSL";
public static final String DEFAULT_CONNECTION_PROTOCOL = "tcp";
/* Connection strings to accept protocol (e.g., jdbc:oracle:thin:@<protocol>://<host>:<port>:<SID>) */
public static final String ORACLE_CONNECTION_STRING_SID_FORMAT_WITH_PROTOCOL = "jdbc:oracle:thin:@%s://%s:%d:%s";
public static final String ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT_WITH_PROTOCOL =
"jdbc:oracle:thin:@%s://%s:%d/%s";


/**
* Returns the Connection String for the given ConnectionType.
Expand All @@ -60,10 +63,10 @@ public static String getConnectionString(String connectionType,
}
if (OracleConstants.SERVICE_CONNECTION_TYPE.equalsIgnoreCase(connectionType)) {
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT,
DEFAULT_CONNECTION_PROTOCOL, host, port, database);
host, port, database);
}
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT,
DEFAULT_CONNECTION_PROTOCOL, host, port, database);
host, port, database);
}

/**
Expand All @@ -74,18 +77,20 @@ public static String getConnectionString(String connectionType,
* @param host Host name of the oracle server
* @param port Port of the oracle server
* @param database Database to connect to
* @param useSSL Whether SSL/TLS is required(YES/NO)
* @param useSSL Whether SSL/TLS is required(YES/NO)
* @return Connection String based on the given parameters and connection type.
*/
public static String getConnectionString(String connectionType,
@Nullable String host,
@Nullable int port,
String database,
@Nullable String useSSL) {
// Use protocol as "tcps" when SSL is requested or else use "tcp".
// Use protocol as "tcps" when SSL is requested.
String connectionProtocol;
boolean protocolIsTcps = false;
if (useSSL != null && useSSL.equalsIgnoreCase("yes")) {
connectionProtocol = "tcps";
protocolIsTcps = true;
} else {
connectionProtocol = "tcp";
}
Expand All @@ -95,10 +100,16 @@ public static String getConnectionString(String connectionType,
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
}
if (OracleConstants.SERVICE_CONNECTION_TYPE.equalsIgnoreCase(connectionType)) {
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT,
connectionProtocol, host, port, database);
// Specify protocol only when its "tcps".
return protocolIsTcps ?
String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT_WITH_PROTOCOL,
connectionProtocol, host, port, database) :
String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, host, port, database);
}
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT,
connectionProtocol, host, port, database);
// Specify protocol only when its "tcps".
return protocolIsTcps ?
String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT_WITH_PROTOCOL,
connectionProtocol, host, port, database) :
String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT, host, port, database);
}
}

0 comments on commit 01d2ae8

Please sign in to comment.