![]() |
||
---|---|---|
.. | ||
sql | ||
README.md | ||
create_schema.py | ||
drop_schema.py | ||
test_1000_module.py | ||
test_1100_connection.py | ||
test_1300_cursor_var.py | ||
test_1400_datetime_var.py | ||
test_1500_types.py | ||
test_1600_dml_returning.py | ||
test_1700_error.py | ||
test_1800_interval_var.py | ||
test_1900_lob_var.py | ||
test_2000_long_var.py | ||
test_2100_nchar_var.py | ||
test_2200_number_var.py | ||
test_2300_object_var.py | ||
test_2400_pool.py | ||
test_2500_string_var.py | ||
test_2600_timestamp_var.py | ||
test_2700_aq.py | ||
test_2800_bulk_aq.py | ||
test_2900_rowid.py | ||
test_3000_subscription.py | ||
test_3100_boolean_var.py | ||
test_3200_features_12_1.py | ||
test_3300_soda_database.py | ||
test_3400_soda_collection.py | ||
test_3500_json.py | ||
test_3600_outputtypehandler.py | ||
test_3700_var.py | ||
test_3800_typehandler.py | ||
test_3900_cursor_execute.py | ||
test_4000_cursor_executemany.py | ||
test_4100_cursor_callproc.py | ||
test_4200_cursor_scrollable.py | ||
test_4300_cursor_other.py | ||
test_4400_tpc.py | ||
test_4500_connect_params.py | ||
test_4600_type_changes.py | ||
test_4700_pool_params.py | ||
test_4800_timestamp_ltz_var.py | ||
test_4900_timestamp_tz_var.py | ||
test_5000_externalauth.py | ||
test_env.py |
README.md
This directory contains the test suite for python-oracledb.
-
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
-
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
-
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
-
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>;