#![allow(dead_code, unused_imports, unused_variables)]
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
use std::sync::atomic::{AtomicU64, Ordering};
use std::time::{Duration, SystemTime, UNIX_EPOCH};
static CONTRACT_COUNTER: AtomicU64 = AtomicU64::new(1);
static STUB_COUNTER: AtomicU64 = AtomicU64::new(1);
static CONTAINER_COUNTER: AtomicU64 = AtomicU64::new(1);
fn current_timestamp() -> u64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.unwrap_or_default()
.as_secs()
}
pub mod api_compat;
pub mod containers;
pub mod contracts;
pub mod stubs;
pub use contracts::{
Contract, ContractRequest, ContractResponse, ContractVerifier, HttpMethod, Interaction,
InteractionResult, Matcher, VerificationResult,
};
pub use stubs::{FaultType, MockServer, RequestLogEntry, StubMapping, StubRequest, StubResponse};
pub use containers::{ContainerOrchestrator, ContainerState, ContainerType, TestContainer};
pub use api_compat::{
ApiEndpoint, ApiParameter, ApiSchema, ApiSchemaProperty, ApiVersion, CompatibilityChange,
CompatibilityChangeType, CompatibilityChecker,
};