Skip to content

[Order 03][P1] Research and enable Oracle integration test infrastructure #58

Closed

Description

@AGiorgetti

Priority order

Order: 03 of 09
Priority: P1 prerequisite for Oracle stories

Problem

Before any Oracle-specific bug or SQL change is implemented, we need to know whether this project can run Oracle integration tests locally through Docker and in GitHub Actions.

Scope

  • Find a valid Oracle database image usable from Docker for local development.
  • Determine whether the same or an equivalent image can run reliably in GitHub Actions.
  • Update or add Docker/GitHub Actions setup as needed to run Oracle tests.
  • Enable Oracle test execution only after the environment is reproducible.

Mandatory test-first workflow

  • Create or enable tests first to prove the current Oracle behavior can be exercised.
  • Do not implement Oracle production-code fixes until Oracle tests can run locally or in CI.
  • If Oracle tests cannot run, document the blocker and proposed alternative before touching Oracle production code.

Acceptance criteria

  • Document the selected Oracle image and any licensing/availability constraints.
  • Oracle integration tests can be run with clear local instructions, or the blocker is documented.
  • GitHub Actions feasibility is documented and, if feasible, wired into CI.
  • This issue is completed before any Oracle-specific story is implemented.

Source: docs/Project-Analysis-Issue-Drafts.md.

Activity

  1. self-assigned this
    on Jun 11, 2026
  2. AGiorgetti commented on Jun 11, 2026

    @AGiorgetti
    MemberAuthor

    Oracle support and tests are back.

    Handoff notes were added to docs/Project-Analysis-Issue-Drafts.md.

    Summary:

    • Oracle Docker/test setup validated with Data Source=localhost:50005/XE;User Id=system;Password=Password1;Persist Security Info=True;.
    • Modern .NET Oracle tests use Oracle.ManagedDataAccess.Core; net472 keeps Oracle.ManagedDataAccess.
    • Fixed Oracle payload binding, parameter binding, DateTime binding, and snapshot candidate paging.
    • GetStreamsToSnapshot now passes for Oracle like the other providers.

    Validation:

    dotnet test .\src\NEventStore.Persistence.Oracle.Tests\NEventStore.Persistence.Oracle.Core.Tests.csproj -c Release --no-build -f net8.0

    Result: 137 passed, 0 failed, 0 skipped.

  3. added a commit that references this issue on Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions