python-oracledb/tests
Anthony Tuininga ede56f3cbb Fixed error checking when getting and setting the pool ping interval and
the SODA metadata cache flag.
2023-09-06 16:22:30 -06:00
..
sql Added support for fetching older style JSON columns as JSON. 2023-07-27 16:09:40 -06:00
README.md Make externalauth a common parameter (which is optional for standalone 2022-06-22 15:31:54 -06:00
create_schema.py Move schema elements specific for Oracle Database 21 and higher to a 2023-04-20 16:46:24 -06:00
drop_schema.py Initial commit. 2022-05-20 16:08:18 -06:00
test_1000_module.py Initial commit. 2022-05-20 16:08:18 -06:00
test_1100_connection.py Further test improvements. 2023-08-07 13:38:38 -06:00
test_1300_cursor_var.py Support for enhanced metadata. 2023-08-10 15:10:33 -06:00
test_1400_datetime_var.py Initial commit. 2022-05-20 16:08:18 -06:00
test_1500_types.py Improve test suite. 2023-01-10 11:58:47 -07:00
test_1600_dml_returning.py Fixed bug determining RETURNING binds in a SQL statement when RETURNING 2023-03-28 21:53:04 -06:00
test_1700_error.py Enhance error message with error help portal URL. 2023-08-07 13:43:22 -06:00
test_1800_interval_var.py Initial commit. 2022-05-20 16:08:18 -06:00
test_1900_lob_var.py Further test suite improvements. 2023-07-27 21:40:35 -06:00
test_2000_long_var.py Initial commit. 2022-05-20 16:08:18 -06:00
test_2100_nchar_var.py Initial commit. 2022-05-20 16:08:18 -06:00
test_2200_number_var.py Support for enhanced metadata. 2023-08-10 15:10:33 -06:00
test_2300_object_var.py Further test improvements. 2023-08-07 13:38:38 -06:00
test_2400_pool.py Fixed error checking when getting and setting the pool ping interval and 2023-09-06 16:22:30 -06:00
test_2500_string_var.py Support for enhanced metadata. 2023-08-10 15:10:33 -06:00
test_2600_timestamp_var.py Initial commit. 2022-05-20 16:08:18 -06:00
test_2700_aq.py Test improvements. 2023-08-14 18:53:26 -06:00
test_2800_bulk_aq.py Test improvements. 2023-08-14 18:53:26 -06:00
test_2900_rowid.py Added test for fetching NULL rowids; simplified handling of getting data 2022-10-18 16:32:05 -06:00
test_3000_subscription.py Avoid this test as well since it crashes intermittently with clients 2023-08-10 19:36:26 -06:00
test_3100_boolean_var.py Fixed bug when binding OUT a NULL boolean value (#119). 2023-01-03 21:26:24 -07:00
test_3200_features_12_1.py Make test suite more robust. 2023-04-05 21:37:41 -06:00
test_3300_soda_database.py Additional tests. 2023-05-22 17:17:18 -06:00
test_3400_soda_collection.py Perform version check. 2023-08-15 16:27:20 -06:00
test_3500_json.py Further test suite improvements. 2023-05-09 16:47:14 -06:00
test_3600_outputtypehandler.py Support for enhanced metadata. 2023-08-10 15:10:33 -06:00
test_3700_var.py Added support for calling the outconverter when null values are fetched 2023-08-10 15:21:33 -06:00
test_3800_typehandler.py Support for enhanced metadata. 2023-08-10 15:10:33 -06:00
test_3900_cursor_execute.py Raise exceptions when strings and identifiers are not terminated. 2023-09-06 16:21:39 -06:00
test_4000_cursor_executemany.py Test improvements. 2023-07-20 13:43:25 -06:00
test_4100_cursor_callproc.py Initial commit. 2022-05-20 16:08:18 -06:00
test_4200_cursor_scrollable.py Initial commit. 2022-05-20 16:08:18 -06:00
test_4300_cursor_other.py Improved SQL parser. 2023-09-06 16:20:47 -06:00
test_4400_tpc.py Further test improvements. 2023-08-07 13:38:38 -06:00
test_4500_connect_params.py Further test suite improvements. 2023-07-27 21:40:35 -06:00
test_4600_type_changes.py Added support for automatically retrying a query if the error 2023-06-14 18:14:48 -06:00
test_4700_pool_params.py Test suite improvements. 2022-08-27 11:09:54 -06:00
test_4800_timestamp_ltz_var.py Make test suite more robust. 2023-04-05 21:37:41 -06:00
test_4900_timestamp_tz_var.py Correct typos. 2022-06-10 10:31:18 -06:00
test_5000_externalauth.py Make externalauth a common parameter (which is optional for standalone 2022-06-22 15:31:54 -06:00
test_5100_arrayvar.py Test suite improvements. 2023-04-26 16:11:50 -06:00
test_5200_sql_parser.py Improved SQL parser. 2023-09-06 16:20:47 -06:00
test_env.py Further test improvements. 2023-08-07 13:38:38 -06:00

README.md

This directory contains the test suite for python-oracledb.

  1. The schemas and SQL objects that are referenced in the test suite can be created by running the Python script create_schema.py. The script requires administrative privileges and will prompt for these credentials as well as the names of the schemas that will be created, unless a number of environment variables are set as documented in the Python script test_env.py. Run the script using the following command:

    python create_schema.py
    
  2. Run the test suite by issuing the following command in the top-level directory of your oracledb installation:

    tox
    

    This will build the module in an independent environment and run the test suite using the module that was just built in that environment. Alternatively, you can use the currently installed build of oracledb and run the following command instead:

    python -m unittest discover -v -s tests
    

    You may also run each of the test scripts independently, as in:

    python test_1000_module.py
    
  3. After running the test suite, the schemas can be dropped by running the Python script drop_schema.py. The script requires administrative privileges and will prompt for these credentials as well as the names of the schemas that will be dropped, unless a number of environment variables are set as documented in the Python script test_env.py. Run the script using the following command:

    python drop_schema.py
    
  4. Enable tests that require extra configuration

    The following test(s) are automatically skipped if their required environment variable(s) and setup is not available.

    4.1 test_5000_externalauth.py

     This test aims to test the usage of external authentication.
    
     - Set the PYO_TEST_EXTERNAL_USER environment variable to the externally
       identified user that will be connected using external authentication.
    
     - Set up external authentication. See
       [Connecting Using External Authentication][4] for creating an
       Oracle Wallet or enabling OS authentication.
    
     - Run the following SQL commands as a user with administrative
       privileges (such as SYSTEM or ADMIN) to allow the external user to
       connect to the database and behave as proxy for testing external
       authentication with proxy:
    
           grant create session to <External User>;
    
           alter user <Schema Owner> grant connect through <External User>;