Skip to content

Add integration tests that exercise real consumer scenarios #173

@DaveRMaltby

Description

@DaveRMaltby

Summary

Unit tests validate individual components but miss integration-level bugs. We need tests that exercise the providers the way a real consumer would:

Suggested Test Scenarios

ADO.NET Consumer

  1. Full CRUD lifecycle: Open connection → CREATE TABLE → INSERT rows → SELECT → UPDATE → DELETE → verify
  2. DataAdapter Fill/Update round-trip with all row states (Added, Modified, Deleted)
  3. Transaction commit/rollback with verification
  4. Multiple concurrent connections to same file
  5. Connection string variations (folder-as-database vs file-as-database)

EF Core Consumer

  1. DbContext with model → EnsureCreated → Add entities → SaveChanges → query back → verify
  2. LINQ queries: Where, OrderBy, Select projection, Include, GroupBy
  3. Migration scenario (if supported)
  4. Multiple providers (CSV, JSON, XML) with same model

Cross-Provider

  1. Same test suite runs against all 4 providers (CSV, JSON, XML, XLS read-only)
  2. Verify data fidelity across providers (write with JSON, read with CSV of same data)

Why This Matters

Multiple bugs were found during this session that unit tests missed — Transaction Dispose not rolling back, FileDataReader breaking connection reuse, identity collisions, XML corruption under concurrency.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions