Skip to content

Add tests for Bingo Oracle#3514

Open
Copilot wants to merge 3 commits intomasterfrom
copilot/add-tests-for-bingo-oracle
Open

Add tests for Bingo Oracle#3514
Copilot wants to merge 3 commits intomasterfrom
copilot/add-tests-for-bingo-oracle

Conversation

Copy link
Contributor

Copilot AI commented Feb 20, 2026

Generic request

  • PR name follows the pattern #1234 – issue name
  • branch name does not contain '#'
  • base branch (master or release/xx) is correct
  • PR is linked with the issue
  • task status changed to "Code review"
  • code follows product standards
  • regression tests updated

For release/xx branch

  • backmerge to master (or newer release/xx) branch is created

Optional

  • unit-tests written
  • documentation updated

No tests existed for Bingo Oracle. This adds the Oracle database adapter to the existing multi-backend test framework and a corresponding CI job.

Oracle DB Adapter (bingo/tests/dbc/OracleDB.py)

New SQLAdapter subclass mirroring PostgresSQL.py, with Oracle-specific differences:

  • Bind parameters via SQLAlchemy text() with :param syntax instead of psycopg2's %(param)s
  • Single-row inserts (Oracle lacks multi-row VALUES syntax)
  • INDEXTYPE IS bingo.MoleculeIndex instead of USING bingo_idx
  • No CREATE SCHEMA IF NOT EXISTS (Oracle schemas = users)
  • Oracle function names: bingo.Exact(), bingo.Sub(), bingo.Sim(), bingo.AutoAAM(), etc. with FROM dual for scalar queries

Test Infrastructure

  • conftest.py: Oracle setup/teardown in db fixture — creates tables, imports data, creates indices, drops on cleanup
  • db_config.ini: Added [oracle] section (localhost:1521/XEPDB1, user=test)
  • base.py: Oracle config loading (was None), oracle+oracledb dialect, env var overrides (DB_ORACLE_HOST, DB_POSTGRES_HOST) for CI
  • requirements.txt: Added oracledb==3.4.2

CI Workflow (indigo-ci.yaml)

New test_bingo_oracle_linux_x86_64 job:

services:
  oracle:
    image: gvenzl/oracle-xe:21-slim
  • Depends on build_bingo_oracle_linux_x86_64
  • Installs Oracle Instant Client + sqlplus
  • Runs bingo-oracle-install.sh against the service container
  • Creates test user with grants on bingo.MangoPackage / bingo.RingoPackage
  • Runs pytest -s --tb=no --db oracle
Original prompt

This section details on the original issue you should resolve

<issue_title>Add tests for Bingo Oracle</issue_title>
<issue_description>Background
Currently there are no tests covering Bingo Oracle. It's needed to add them and the corresponding step to Indigo CI.</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 2 commits February 20, 2026 14:59
- Create Oracle database adapter (bingo/tests/dbc/OracleDB.py) following
  the same pattern as PostgresSQL.py, with Oracle-specific SQL syntax
- Add Oracle configuration to db_config.ini
- Update base.py to support Oracle connection strings and env var overrides
- Update conftest.py to handle Oracle DB setup/teardown
- Add oracledb dependency to requirements.txt
- Add test_bingo_oracle_linux_x86_64 CI job using gvenzl/oracle-xe service

Co-authored-by: AlexeyGirin <26869421+AlexeyGirin@users.noreply.github.com>
Co-authored-by: AlexeyGirin <26869421+AlexeyGirin@users.noreply.github.com>
Copilot AI changed the title [WIP] Add tests for Bingo Oracle coverage Add tests for Bingo Oracle Feb 20, 2026
Copilot AI requested a review from AlexeyGirin February 20, 2026 15:05
@AlexeyGirin AlexeyGirin marked this pull request as ready for review February 21, 2026 07:05
@AlexeyGirin AlexeyGirin requested review from AlexanderSavelyev and AliaksandrDziarkach and removed request for AlexeyGirin February 21, 2026 10:44
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.

Add tests for Bingo Oracle

2 participants