Skip to content

integration_tests crate doesn't compile and is out of the workspace build #1183

Description

@abdulwaarith0

modules/integration_tests doesn't compile and has been out of the workspace build since it stopped matching the crates it exercises. I took it out of the workspace members in #1182 (the PR that fixes metrics), so Backend CI can go green, and this issue tracks what to do with it.

It's a manual harness with a main() that runs five scenarios in sequence, rather than #[test] functions, so cargo test never ran it as tests even when it did build.

What's broken:

  • test_tournament_integration and test_end_to_end_workflow build tournaments with Tournament::new, TournamentFormat::Swiss and BracketConfig. None of those exist any more. The crate now exports TournamentBracket, BracketService, TournamentParticipant, SwissConfig, SwissPairer and friends, so these two need rewriting rather than patching.
  • test_validation_integration calls validator.process_move_notation(...), which is private on RealTimeMoveValidator.
  • test_archiving_integration calls pgn_to_string, calculate_hash, estimate_ipfs_cost and estimate_arwear_cost on PGNArchiver, all private.
  • It uses sea_orm::Database::connect without sea_orm in its Cargo.toml.
  • test_end_to_end_workflow asserts on exported, but the binding is exported_metrics.

The parts that would still be worth keeping are the archiving and validation checks, since those exercise real logic (PGN formatting, hashing, cost estimation, move parsing). But they only work if those helpers become public, which is a decision about the crates' public surface, not something to change as part of a CI fix.

A few options, whichever you prefer:

  1. Rewrite it against the current APIs and make the handful of helpers public where it makes sense, then put it back in the workspace.
  2. Move the useful assertions into unit tests inside validation and archiving, where they can reach private helpers without exposing them, and delete the harness.
  3. Delete it, if it's been superseded by the tests that live in the individual crates.

Happy to do any of these, just let me know which direction you want.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    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