Skip to content

feat(oracle): add Oracle Autonomous Database Free service and wallet helpers - #168

Open
cofin wants to merge 1 commit into
feat/db2-servicefrom
feat/oracle-adb-free-service
Open

cofin wants to merge 1 commit into
feat/db2-servicefrom
feat/oracle-adb-free-service

Conversation

@cofin

@cofin cofin commented Oct 22, 2026

Copy link
Copy Markdown
Member

Summary

Adds an Oracle Autonomous Database Free (23ai) container service (oracle_adb_service, OracleADBService) backed by the official container-registry.oracle.com/database/adb-free:latest-23ai image, along with wallet extraction, tnsnames.ora parsing/rewriting utilities, and deprecated v0.19.0 oracle_*_connection compatibility shims.

Key Changes

Oracle Autonomous Database Free (pytest_databases.docker.oracle)

  • ADB-Free Container Service (oracle_adb_service, OracleADBService): Launches container-registry.oracle.com/database/adb-free:latest-23ai with dual port bindings (1521 TCP/One-Way TLS and 1522 mTLS via extra_ports), hostname, cap_add=["SYS_ADMIN"], and ATP/ADW workload service profiles (myatp_high, myatp_medium, myatp_low, myatp_tp, myatp_tpurgent).
  • Wallet Extraction & TNS Rewriting: Adds OracleADBService.extract_wallet(), extract_adb_wallet(), parse_tnsnames(), and rewrite_tnsnames() to extract the container's /u01/app/oracle/wallets/tls_wallet archive and rewrite HOST and PORT descriptors (1521/1522) to the mapped host ports.
  • Backward-Compatible Connection Shims: Restores oracle_18c_connection, oracle_23ai_connection, oracle_connection, oracle_startup_connection, and oracle_responsive with DeprecationWarning and lazy oracledb loading via importlib.import_module.

Testing & Documentation

  • Unit & Contract Coverage: Expands tests/test_oracle.py with tests for clientless module import, multi-entry tnsnames.ora parsing and port rewriting, wallet archive extraction, ADB-Free capability/port configuration, and deprecated connection shims.
  • Documentation & Selective CI: Updates docs/supported-databases/oracle.rst and registers tests/test_oracle.py::test_plugin_imports_without_oracledb in .github/ci/provider-groups.json.

@codecov-commenter

codecov-commenter commented Oct 22, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 81.06509% with 32 lines in your changes missing coverage. Please review.
✅ Project coverage is 7.66%. Comparing base (a580de3) to head (136e00c).

Files with missing lines Patch % Lines
src/pytest_databases/docker/oracle.py 81.06% 22 Missing and 10 partials ⚠️
Additional details and impacted files
@@                 Coverage Diff                 @@
##           feat/db2-service    #168      +/-   ##
===================================================
+ Coverage              3.41%   7.66%   +4.24%     
===================================================
  Files                    29      29              
  Lines                  3160    3328     +168     
  Branches                260     276      +16     
===================================================
+ Hits                    108     255     +147     
- Misses                 3049    3056       +7     
- Partials                  3      17      +14     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@cofin
cofin marked this pull request as draft October 22, 2026 02:52
@cofin
cofin changed the base branch from feat/runtime-healthcheck-and-capabilities to feat/db2-service October 22, 2026 03:58
@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from ab64c7a to bc3bb16 Compare October 22, 2026 03:58
@cofin
cofin added this pull request to stack #173 October 22, 2026 05:10
@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from bc3bb16 to dc82184 Compare October 22, 2026 17:27
@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from dc82184 to 3b85de9 Compare October 22, 2026 20:07
@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from 3b85de9 to 8a2255e Compare October 22, 2026 23:06
@cofin
cofin marked this pull request as ready for review October 22, 2026 23:29
@cofin

cofin commented Oct 23, 2026

Copy link
Copy Markdown
Member Author

There's an ORDS container port & wallet directory to be mounted/exposed.

@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from 8a2255e to 6c31b1c Compare October 23, 2026 20:29
@cofin
cofin force-pushed the feat/oracle-adb-free-service branch from 6c31b1c to 136e00c Compare October 29, 2026 14:20

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants