//! End-to-End Tests for TLI Training Commands //! //! This module contains comprehensive E2E tests for all TLI training commands: //! - train start //! - train watch //! - train status //! - train list //! - train stop //! - Full user workflows // Mock services and fixtures #[allow(clippy::unwrap_used, clippy::expect_used, clippy::unimplemented, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::redundant_clone, clippy::useless_vec, clippy::doc_markdown, clippy::similar_names, clippy::unwrap_in_result, dead_code, unused_imports)] pub mod mock_ml_training_service; #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, dead_code, unused_imports)] pub mod test_fixtures; // E2E test modules #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod train_list_e2e_test; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod train_start_e2e_test; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod train_watch_e2e_test; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod train_status_e2e_test; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod train_stop_e2e_test; #[cfg(test)] #[allow(clippy::unwrap_used, clippy::expect_used, clippy::str_to_string, clippy::shadow_unrelated, clippy::shadow_reuse, clippy::non_ascii_literal, clippy::assertions_on_result_states, clippy::indexing_slicing, clippy::doc_markdown, clippy::similar_names, clippy::use_debug, clippy::let_underscore_must_use, clippy::wildcard_enum_match_arm, clippy::unseparated_literal_suffix, unused_imports, dead_code, clippy::panic, clippy::redundant_clone, clippy::useless_vec)] mod full_user_workflow_test;