node-oracledb/test
Sharad Chandran R 8239866ecc Add support to fetch RAW types as string - Fix for Issue #1586 2023-08-17 12:52:00 +05:30
..
opts Update JSON Relational Duality view and Pipelined Table tests 2023-05-23 21:09:24 +05:30
.editorconfig Add test editorconfig 2016-05-16 09:35:54 +10:00
README.md Test improvements 2023-06-20 15:58:50 +05:30
accessPropertiesOnClosedObjects.js Refactor and add tests 2023-02-21 15:04:16 +11:00
aq1.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
aq2.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
aq3.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
aq4.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
asyncStack.js Refactor and add tests 2023-02-21 15:04:16 +11:00
autoCommit.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
autoCommit4nestedExecutes.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
autoCommitForSelect.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
bindTimestamp.js Timezone changes 2023-05-23 20:00:48 +05:30
binding.js Fix for Issue #1573 - Handle large number of outbinds 2023-06-20 15:45:59 +05:30
binding_DMLInsert.js Add/Update Test files 2023-05-03 19:20:20 +05:30
binding_DMLReturningInto.js Add/Update Test files 2023-05-03 19:20:20 +05:30
binding_buffer_string.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_defaultBindIn.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_defaultBindInout.js Add/Update Test files 2023-05-03 19:20:20 +05:30
binding_functionBindIn.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_functionBindInout.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_functionBindOut.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_procedureBindIn.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_procedureBindInout.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
binding_procedureBindOut.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
blobDMLBindAsBuffer.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
blobDMLReturningMultipleRowsAsBuffer.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
blobDMLReturningMultipleRowsAsStream.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
blobPlsqlBindAsBuffer_bindin.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
blobPlsqlBindAsBuffer_bindinout.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
blobPlsqlBindAsBuffer_bindout.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
blobStream.js More test refactoring 2023-03-14 12:04:05 +05:30
booleanBind.js Handle Binding for null Boolean value 2023-06-05 16:09:52 +05:30
callTimeout.js Further test refactoring 2023-03-14 12:10:28 +05:30
changePassword.js Test improvements 2023-06-20 15:58:50 +05:30
clobDMLBindAsString.js Add/Update Test files 2023-05-03 19:20:20 +05:30
clobDMLReturningMultipleRowsAsStream.js More test refactoring 2023-03-14 12:04:05 +05:30
clobDMLReturningMultipleRowsAsString.js More test refactoring 2023-03-14 12:04:05 +05:30
clobPlsqlBindAsString_bindin.js Add/Update Test files 2023-05-03 19:20:20 +05:30
clobPlsqlBindAsString_bindinout.js Add/Update Test files 2023-05-03 19:20:20 +05:30
clobPlsqlBindAsString_bindout.js More test refactoring 2023-03-14 12:04:05 +05:30
clobPlsqlString.js Test files refactored 2023-03-14 12:03:48 +05:30
clobStream.js Refactor tests 2023-02-21 17:53:18 +11:00
clobexample.txt Update URL to reflect changed OTN hierarchy 2015-11-15 08:28:11 +11:00
columnMetadata.js Refactor tests 2023-02-21 14:20:36 +11:00
connClose.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
connHealthy.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
connProps.js Test refactoring and code cleanup 2023-05-03 19:45:45 +05:30
connection.js Add new property:instanceName with the connection object 2023-08-17 12:34:21 +05:30
connectionClass.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
constants.js Timezone changes 2023-05-23 20:00:48 +05:30
currentSchema.js Test case additions and Doc improvements 2023-05-31 14:20:00 +05:30
dataTypeAssist.js Fetch and insert dates with negative years correctly in Thin mode 2023-07-06 12:56:25 +05:30
dataTypeBinaryDouble.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeBinaryFloat.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeBlob.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
dataTypeChar.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
dataTypeClob.js Fixed bug that throws the NJS-111 internal error, on the second SELECT call issued after the first SELECT call on an empty table with LOBs 2023-07-06 13:10:16 +05:30
dataTypeDate.js Add more test case for datetime objects 2023-07-06 13:00:07 +05:30
dataTypeFloat.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeFloat2.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeJson.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
dataTypeLong.js Refactor and add tests 2023-02-21 17:53:18 +11:00
dataTypeLongRaw.js Add/Update Test files 2023-05-03 19:20:20 +05:30
dataTypeNchar.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
dataTypeNclob.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
dataTypeNumber.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
dataTypeNumber2.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeNvarchar2.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeRaw.js Add support to fetch RAW types as string - Fix for Issue #1586 2023-08-17 12:52:00 +05:30
dataTypeRowid.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp1.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp2.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp3.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp4.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp5.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeTimestamp6.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeUrowid.js Test files refactored 2023-03-14 12:03:48 +05:30
dataTypeVarchar2.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
dataTypeXML.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
dbObject1.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject2.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject3.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject4.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject5.js Improve date handling in DB objects for Thick mode 2023-05-23 21:41:13 +05:30
dbObject6.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject7.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject8.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject9.js More example and test updates 2023-06-05 18:14:13 +05:30
dbObject10.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject11.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject12.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject13.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject14.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject15.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject16.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject17.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject18.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject19.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObject20.js Add more DB Object tests 2023-05-24 08:36:42 +05:30
dbObjectOutBind.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbObjectsNestedTable.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
dbType01.js More example and test updates 2023-06-05 18:14:13 +05:30
dbType02.js Refactor and add tests 2023-02-21 15:04:16 +11:00
dbType03.js Refactor and add tests 2023-02-21 15:04:16 +11:00
dbType04.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
dbconfig.js Test improvements 2023-06-20 15:58:50 +05:30
deadConnDetection.js Update examples and test cases 2023-06-02 09:58:53 +05:30
devnull.js Refactor tests 2023-02-21 17:53:18 +11:00
dmlReturning.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
driverName.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
dupColNames1.js Refactor and add tests 2023-02-21 15:04:16 +11:00
dupColNames2.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
editionTest.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
end2endTracing.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
errorOffset.js Refactor and add tests 2023-02-21 15:04:16 +11:00
examineOwnedProperties.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
examples.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
executeMany1.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
executeMany2.js Refactor and add tests 2023-02-21 15:04:16 +11:00
executeQueue.js Test refactoring and code cleanup 2023-05-03 19:45:45 +05:30
externalAuth.js Update error messages for external authentication in Thin mode and the corresponding test cases 2023-05-24 00:04:01 +05:30
externalProxyAuth.js Update error messages for external authentication in Thin mode and the corresponding test cases 2023-05-24 00:04:01 +05:30
fetchArraySize1.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize2.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize3.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize4.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize5.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize6.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize7.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize8.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchArraySize9.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchAs.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchAsStringWithRefCursor.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchBinaryTypesAsString.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
fetchBlobAsBuffer1.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchBlobAsBuffer2.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchBlobAsBuffer3.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchBlobAsBuffer4.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchClobAsString1.js More test refactoring 2023-03-14 12:04:05 +05:30
fetchClobAsString2.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchClobAsString3.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchClobAsString4.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchLobAsStrBuf.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchNClobAsString.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
fetchRawAsString.js Refactor tests 2023-02-21 14:53:53 +11:00
fetchRowidAsString.js Refactor tests 2023-02-21 14:53:53 +11:00
fetchTimestampAsString.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
fetchTypeHandler.js Adding more tests and documentation 2023-05-24 11:10:32 +05:30
fetchUrowidAsString.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
fetchUrowidAsString_indexed.js More test refactoring 2023-03-14 12:04:05 +05:30
fuzzydinosaur.jpg Update tests for new functionality 2015-08-17 16:19:36 +10:00
getDataOfLob.js Refactor and add tests 2023-02-21 15:04:16 +11:00
getStmtInfo.js Ensure getStatementInfo executes statement only when needed to 2023-06-06 13:27:11 +05:30
hooks.js Test case additions and Doc improvements 2023-05-31 14:20:00 +05:30
implicitResults.js Test case additions and Doc improvements 2023-05-31 14:20:00 +05:30
indexedTables01.js Test case update for indexedTables with Oracle 12.1 Database 2023-06-27 22:50:06 +05:30
insertAll.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
insertNaNToNumber.js Map another DPI error to an NJS error 2023-02-21 14:53:53 +11:00
instanceof1.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
jsObjectGetter1.js Refactor tests 2023-02-21 14:53:53 +11:00
jsObjectGetter2.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
jsonBind1.js Update JSON Bind Test Case 2023-06-05 18:11:33 +05:30
jsonBind2.js Add/Update Test files 2023-05-03 19:20:20 +05:30
jsonDualityViews1.js Test improvements 2023-06-20 15:58:50 +05:30
jsonDualityViews2.js More example and test updates 2023-06-05 18:14:13 +05:30
jsonDualityViews3.js More example and test updates 2023-06-05 18:14:13 +05:30
jsonDualityViews4.js More example and test updates 2023-06-05 18:14:13 +05:30
jsonDualityViews5.js More example and test updates 2023-06-05 18:14:13 +05:30
jsonDualityViews6.js Update test cases and release notes 2023-07-06 15:15:45 +05:30
keepInStmtCache.js Refactor tests 2023-02-21 17:53:18 +11:00
lastRowid.js Some Test case updates 2023-05-24 00:22:53 +05:30
list.txt Add more test case for datetime objects 2023-07-06 13:00:07 +05:30
lobBind1.js More test refactoring 2023-03-14 12:04:05 +05:30
lobBind2.js Fixed bug that throws the NJS-111 internal error, on the second SELECT call issued after the first SELECT call on an empty table with LOBs 2023-07-06 13:10:16 +05:30
lobBindAsStringBuffer.js Add/Update Test files 2023-05-03 19:20:20 +05:30
lobClose.js Add/Update Test files 2023-05-03 19:20:20 +05:30
lobProperties1.js Refactor tests 2023-02-21 14:27:04 +11:00
lobProperties2.js Refactor tests 2023-02-21 14:27:04 +11:00
lobResultSet.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
longDMLBind.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
longProcedureBind_in.js More test refactoring 2023-03-14 12:04:05 +05:30
longProcedureBind_inout.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
longProcedureBind_out.js More test refactoring 2023-03-14 12:04:05 +05:30
longrawDMLBind.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
longrawProcedureBind_in.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
longrawProcedureBind_inout.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
longrawProcedureBind_out.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
maxRows.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
methodName.js Re-license as dual Apache 2.0 or UPL 1.0 2023-02-21 12:43:43 +11:00
multipleLobInsertion.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
nclobDMLBindAsString.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
nestedCursor01.js Refactor and add tests 2023-02-21 15:04:16 +11:00
nestedCursor02.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
nestedCursor03.js Refactor and add tests 2023-02-21 15:04:16 +11:00
nestedCursor04.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
nestedCursor05.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
nullColumnValues.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
optimisticLock.js Adding more tests and documentation 2023-05-24 11:10:32 +05:30
pipelinedTables.js Add DB Support objects and Pipelined Table tests 2023-05-23 21:31:55 +05:30
plsqlBindCursorsIN.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
plsqlBindIndexedTable1.js Timezone changes 2023-05-23 20:00:48 +05:30
plsqlBindIndexedTable2.js Add/Update Test files 2023-05-03 19:20:20 +05:30
plsqlBindList.js Add/Update Test files 2023-05-03 19:20:20 +05:30
plsqlBindScalar.js Timezone changes 2023-05-23 20:00:48 +05:30
pool.js Fix code to handle edge cases for pool and statement handling 2023-05-24 00:27:26 +05:30
poolCache.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
poolClose.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
poolDrain.js Code Cleanup and test refactoring 2023-05-03 19:28:48 +05:30
poolExpansion.js Documentation updates for password verifier and test case improvements 2023-08-17 12:48:20 +05:30
poolPing.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00
poolReconfigure.js Documentation updates for password verifier and test case improvements 2023-08-17 12:48:20 +05:30
poolShrinkage.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
poolTimeout.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
prefetchRows.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
procAndFuncs.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
properties.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
random.js Re-license as dual Apache 2.0 or UPL 1.0 2023-02-21 12:43:43 +11:00
resultSet1.js Improve clean-up handling in test files 2023-06-07 11:17:07 +05:30
resultSet2.js Add/Update Test files 2023-05-03 19:20:20 +05:30
resultSetClose.js Test files refactored 2023-03-14 12:03:48 +05:30
resultsetToStream.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
rowidDMLBindAsString.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
rowidFunctionBindAsString_bind.js More test refactoring 2023-03-14 12:04:05 +05:30
rowidFunctionBindAsString_bindinout.js More test refactoring 2023-03-14 12:04:05 +05:30
rowidProcedureBindAsString_bindin.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
rowidProcedureBindAsString_bindinout.js More test refactoring 2023-03-14 12:04:05 +05:30
rowidProcedureBindAsString_bindout.js More test refactoring 2023-03-14 12:04:05 +05:30
rsGetAllRows1.js Refactor and add tests 2023-02-21 17:53:18 +11:00
rsGetAllRows2.js Refactor and add tests 2023-02-21 17:53:18 +11:00
runCQN.js Some Test case updates 2023-05-24 00:22:53 +05:30
sessionTag.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
soda1.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda2.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda3.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda4.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda5.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda6.js Test refactoring and code cleanup 2023-05-03 19:45:45 +05:30
soda7.js Test refactoring and code cleanup 2023-05-03 19:45:45 +05:30
soda8.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda9.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda10.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda11.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda12.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda13.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
soda14.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
sodaInstanceof.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
sodaMetaDataCache.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
sodaOverwrite.js Test refactoring and code cleanup 2023-05-03 19:45:45 +05:30
sodaUtil.js Add/Update Test files 2023-05-03 19:20:20 +05:30
sodahint.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
sql.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
sqlWithWarnings.js More refactoring and test file changes 2023-03-14 12:37:21 +05:30
stream1.js More refactoring and test file changes 2023-05-03 16:02:09 +05:30
stream2.js More refactoring and test file changes 2023-05-03 15:32:47 +05:30
streamErrorEvent.js Add/Update Test files 2023-05-03 19:20:20 +05:30
testsUtil.js Add more DB Object tests 2023-05-24 08:36:42 +05:30
tpc.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
tpcResume.js Optimize test cases 2023-05-24 00:14:20 +05:30
tree.jpg Sync tests and fix missed merges 2017-06-14 11:54:45 +10:00
uninitializedLob.js Fix test refactor merges 2023-02-21 18:02:10 +11:00
urowidDMLBindAsString1.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
urowidDMLBindAsString2.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
urowidFunctionBindAsString1.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidFunctionBindAsString2.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidFunctionBindAsString3.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidFunctionBindAsString4.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidProcedureBindAsString1.js Thin mode support and new examples 2023-05-23 19:50:06 +05:30
urowidProcedureBindAsString2.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidProcedureBindAsString3.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidProcedureBindAsString4.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidProcedureBindAsString5.js More test refactoring 2023-03-14 12:04:05 +05:30
urowidProcedureBindAsString6.js More test refactoring 2023-03-14 12:04:05 +05:30
userName.js Enable test suite for DRCP 2023-05-23 23:31:22 +05:30
writableProperties1.js Prefer forcing pools closed immediately 2023-02-21 17:53:18 +11:00

README.md

Test node-oracledb

This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl and Apache License 2.0 as shown at https://www.apache.org/licenses/LICENSE-2.0. You may choose either license.

If you elect to accept the software under the Apache License, Version 2.0, the following applies:

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contents

  1. Preparations
  2. Run tests
  3. Enable tests that require extra configuration
  4. Contribute New Tests
  5. Troubleshoot

1. Preparations

See INSTALL for installation details.

On macOS, run a command like:

ln -s $HOME/Downloads/instantclient_19_8/libclntsh.dylib $(npm root)/oracledb/build/Release

Note: the test suite is on GitHub.

1.1 Create a working directory

mkdir <some-directory>
cd <some-directory>

1.2 Clone node-oracledb from GitHub

Clone the project repository:

cd <some-directory>
git clone https://github.com/oracle/node-oracledb.git

1.3 Build

cd <some-directory>/node-oracledb
npm install

Running npm install within the node-oracledb/ directory will recompile oracledb and install all its dependent modules. These are listed in the devDependencies field of package.json file. Thus, 'mocha', 'async' and 'should' modules are installed by this command.

The test suite uses mocha, async and should.

1.4 Configure Database credentials

Set the following environment variables to provide credentials for the test suite.

  • NODE_ORACLEDB_USER provides the username of the schema user which you used for testing. Use the parameter createUser specified in test/dbconfig.js to create a new user within the test suite. Test suite does create such users.

  • NODE_ORACLEDB_PASSWORD provides the password of the schema user which you used for testing. if you're generating a password for the user, use the predefined function testsUtil.generateRandomPassword.

  • NODE_ORACLEDB_CONNECTIONSTRING provides the connection string that points to your database's location.

  • NODE_ORACLEDB_EXTERNALAUTH provides the options for external authentication tests. Setting this environment variable to "true" will enable the tests that require external authentication. To ensure external authentication tests works, firstly make sure the Oracle external authentication service is correctly configured. See Documentation for External Authentication for details.

  • NODE_ORACLEDB_DBA_PRIVILEGE provides the options for DBA privilege. Setting this environment variable to "true" will enable the tests and utilities that require DBA privilege.

  • NODE_ORACLEDB_DBA_USER provides the username of the DBA user which you used for testing, disabled if NODE_ORACLEDB_DBA_PRIVILEGE is not true.

  • NODE_ORACLEDB_DBA_PASSWORD provides the password of the DBA user which you used for testing, disabled if NODE_ORACLEDB_DBA_PRIVILEGE is not true.

  • NODE_ORACLEDB_PROXY_SESSION_USER provides the username of a schema user that can connect through the schema user which you used for testing using proxy authentication. Setting this environment variable will enable the tests that require proxy authentication.

  • NODE_ORACLEDB_QA. This boolean environment variable serves as the toggle switch of certain tests. Some tests, such as callTimeout.js, use hard-coded variables as assertion condition. The test results may be inconsistent in different network situations.

  • NODE_ORACLEDB_DRCP provides an option for skipping test run when DRCP is enabled. Setting this environment variable to true will skip certain test case run due to DRCP restrictions.

Note: the test suite requires the schema to have these privileges: CREATE TABLE, CREATE SESSION, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, and CREATE TYPE.

1.5 Set NODE_PATH

export NODE_PATH=<some-directory>/node-oracledb/lib

2. Run tests

See mochajs.org for more information on running tests with mocha.

2.1 Run the complete test suite

cd node-oracledb
npm test

2.2 Run specified tests

cd node_oracledb
./node_modules/.bin/mocha test/<test-names>

3. Enable tests that requires extra configuration

The following test(s) are automatically skipped if their required environment variable(s) are not properly set.

3.1 externalProxyAuth.js

This test aims to test the combined usage of external authentication and proxy authentication. To run this test, you need to complete the following prerequisite setups.

  • Enable external authentication on the schema user which you used for testing. See Documentation for External Authentication for more information on external authentication. Then use the following command to enable external authentication in the test suite.

    export NODE_ORACLEDB_EXTERNALAUTH true
    
    
  • Enable proxy authentication on another schema user specified by environment variable NODE_ORACLEDB_PROXY_SESSION_USER that connects through the schema user which you used for testing. See Documentation for Pool Proxy Authentication for more information on proxy authentication. Then use the following command to enable proxy authentication in the test suite.

    export NODE_ORACLEDB_PROXY_SESSION_USER "Your_Proxy_Authenticating_User"
    
    

3.2 SODA tests

To execute SODA tests, Oracle Database users require the SODA_APP role granted to them by a DBA. If SODA_APP is not granted, SODA tests will be skipped.

To grant the SODA_APP role to a Oracle Database user, typically a DBA would execute:

```
grant SODA_APP to <Oracle Database user>

```

4. Contribute New Tests

See CONTRIBUTING for general information on contribution requirements.

For easy correlation between results and test code, each test is assigned a number. The Test List shows the numbering of tests.

In order to include your tests in the suite, add each new test file name to test/opts/mocha.opts.

5. Troubleshoot

You may encounter some troubles when running the test suite. These troubles might be caused by the concurrency issue of Mocha framework, network latencies, or database server issues. This section gives some issues that we ever saw and our solutions.

5.1 ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

This error occurs when Node.js programs try to change database objects which hold locks. The workaround would be:

(1) Use unique DB object names for each test to avoid interference between test files. (2) Try not to use 'beforeEach' blocks for object operations to avoid the interference between cases.

5.2 ORA-00018: maximum number of sessions exceeded

This error occurs when the test suite takes up more sessions than the configured limit. You can alter the session limit on the database server side. If you do not have access to change the database session setting, you could use the below script to deliberately add an interval between tests.

arr=$(ls test/*js)
for case in ${arr[@]}
do
  var="$NODE_PATH/../node_modules/.bin/mocha --timeout 10000 $case"
  eval $var
  sleep 1
done

5.3 ORA-28865: SSL connection closed

You may encounter this error when the test suite sends more connection requests per second than the database is configured to handle.

There are two solutions:

  • Solution 1: Change database RATE_LIMIT configuration. This parameter defines the connection count allowed per second. See RATE_LIMIT for more information.

  • Solution 2: Set the RETRY_COUNT and RETRY_DELAY parameters in connectString.

For example, below is the connectString which could be defined in tnsnames.ora file.

dbaccess = (description=(RETRY_COUNT=20)(RETRY_DELAY=3)
          (address=(protocol=tcps)(port=1521)(host=<db-host>))
          (connect_data=(service_name=<service-name>))
          (security=(my_wallet_directory=<wallet-location>)(ssl_server_cert_dn=<ssl-server-cert-dn>))
       )

5.4 ORA-03114: not connected to ORACLE

We first encoutered this error with test/callTimeout.js. It uses some hard-coded variables as assertion condition, which may lead to assertion fail in slow network situation.

The solution is commenting out this line sqlnet.recv_timeout=<minutes> from sqlnet.ora file.