//! Test utilities for integration testing with the `LastID` SDK.
//!
//! This module provides mock implementations and fixture builders for testing
//! applications that integrate with the `LastID` SDK.
//!
//! # Feature Flag
//!
//! This module is only available when the `test-utils` feature is enabled:
//!
//! ```toml
//! [dev-dependencies]
//! lastid-sdk = { version = "0.1", features = ["test-utils"] }
//! ```
//!
//! # Components
//!
//! - [`MockIdpServer`] - Mock HTTP server that simulates IDP responses
//! - [`MockTrustRegistry`] - In-memory trust registry for testing
//! - [`fixtures`] - Builder patterns for test data
//!
//! # Example
//!
//! ```rust,no_run
//! use lastid_sdk::test_utils::fixtures::IssuerInfoBuilder;
//! use lastid_sdk::test_utils::{MockIdpServer, MockTrustRegistry};
//!
//! #[tokio::test]
//! async fn test_credential_request() {
//!     // Set up mock IDP server
//!     let mock_server = MockIdpServer::start().await;
//!     mock_server
//!         .expect_credential_request("LastID.Base")
//!         .respond_with_pending("req-123")
//!         .await;
//!
//!     // Set up mock trust registry
//!     let trust_registry = MockTrustRegistry::new();
//!     trust_registry
//!         .add_issuer(
//!             IssuerInfoBuilder::new("did:lastid:test-issuer")
//!                 .authorized()
//!                 .build(),
//!         )
//!         .await;
//!
//!     // Use mock_server.url() as the IDP URL in your client config
//! }
//! ```

pub mod fixtures;
mod mock_idp;
mod mock_trust_registry;

pub use mock_idp::{
    CredentialRequestExpectation, MockIdpServer, PollExpectation, VerifyExpectation,
};
pub use mock_trust_registry::MockTrustRegistry;
