Skip to content

Latest commit

 

History

History
42 lines (35 loc) · 1.76 KB

File metadata and controls

42 lines (35 loc) · 1.76 KB

EmailDB Test Project Consolidation Plan

Current State

We have 5 test projects with overlapping and outdated code:

  1. EmailDB.Testing - Old integration tests using removed classes
  2. EmailDB.Testing.RawBlocks - Simple RawBlockManager test
  3. EmailDB.Testing.FileFormatBenchmark - Benchmarks for old implementations
  4. NetNinja.Testing.BlockManager - Basic integration test
  5. EmailDB.UnitTests - Comprehensive test suite with all modern tests

Recommendation

Keep: EmailDB.UnitTests

This project contains all the valuable tests including:

  • All the new tests we created (HybridEmailStore, performance, stress tests, etc.)
  • Comprehensive test coverage
  • Modern implementation using current APIs
  • Well-organized test structure

Remove These Projects:

  1. EmailDB.Testing - Uses non-existent StorageManager/BlockManager classes
  2. EmailDB.Testing.FileFormatBenchmark - Tests obsolete CapnProto/Protobuf implementations
  3. EmailDB.Format.CapnProto - Alternative implementation not aligned with current architecture
  4. EmailDB.Format.Protobuf - Alternative implementation with build errors

Merge Into EmailDB.UnitTests:

  1. EmailDB.Testing.RawBlocks - Simple but valid RawBlockManager test
  2. NetNinja.Testing.BlockManager - Valid integration test of core managers

Benefits

  • Single test project to maintain
  • No confusion about which tests to run
  • Easier CI/CD setup
  • Cleaner solution structure
  • All tests in one place

Action Items

  1. Copy useful tests from EmailDB.Testing.RawBlocks to EmailDB.UnitTests
  2. Copy integration test from NetNinja.Testing.BlockManager to EmailDB.UnitTests
  3. Remove obsolete projects from solution
  4. Delete obsolete project folders
  5. Update solution file