#![doc = include_str!("../README.md")]
#![forbid(unsafe_code)]
mod batch;
mod blob;
#[cfg(feature = "harness")]
mod conformance;
#[cfg(feature = "harness")]
mod dialect;
#[cfg(feature = "harness")]
mod fakes;
#[cfg(feature = "harness")]
mod harness;
#[cfg(feature = "postgres")]
mod pg;
#[cfg(feature = "port-conformance")]
mod port;
#[cfg(feature = "harness")]
mod request;
#[cfg(feature = "harness")]
mod sidecar;
mod tmp;
pub mod vectors;
pub use batch::assert_batch_is_atomic;
pub use blob::assert_blob_round_trips;
#[cfg(feature = "harness")]
pub use conformance::{conformance, conformance_in_process_only, full_fake_ports, sidecar_parity};
#[cfg(feature = "harness")]
pub use dialect::Dialect;
#[cfg(feature = "harness")]
pub use fakes::{
Ask, AuthMode, ClassifierMode, EmptyDatabase, FakeAuth, FakeCaptcha, FakeClassifier, FakeDefer,
FakeDispatcher, FakeHttpClient, FakeMailer, FakePayments, FakePush, FakeRateLimiter,
FakeRealtime, FakeTextModel, FakeTracker, FiledCall, FixedClock, MailerMode, MemoryBlob,
MemoryKeyValue, PaymentsCall, PaymentsMode, PushMode, StatusedCall, TextModelMode, TrackerMode,
};
#[cfg(feature = "harness")]
pub use harness::TestHarness;
#[cfg(feature = "port-conformance")]
pub use port::{
assert_wasm_safe_deps, classifier_conformance, classifier_conformance_questions,
classifier_conformance_state, classifier_not_configured,
classifier_rejects_malformed_questions, classifier_truncates_long_state,
push_recipient_conformance,
};
#[cfg(feature = "harness")]
pub use request::{TestResponse, request, request_as};
#[cfg(feature = "harness")]
pub use sidecar::{FakeSidecar, Fault, shared as shared_sidecar};
pub use tmp::TempDir;
pub const TEST_HARNESS_SECRET: &str = "cratefield-testing-dummy-secret-0123456789";
#[cfg(any(feature = "harness", feature = "postgres"))]
const POSTGRES_SKIP_REASON: &str = "start a local postgres:16 \
(docker run --rm -e POSTGRES_PASSWORD=postgres -p 5433:5432 postgres:16) \
and set FZ_TEST_POSTGRES_URL=postgres://postgres:postgres@127.0.0.1:5433/postgres";