cratefield_testing/
lib.rs1#![doc = include_str!("../README.md")]
23#![forbid(unsafe_code)]
24
25mod batch;
29#[cfg(feature = "harness")]
32mod actor;
33mod blob;
37#[cfg(feature = "harness")]
38mod conformance;
39#[cfg(feature = "harness")]
40mod dialect;
41#[cfg(feature = "harness")]
42mod fakes;
43#[cfg(feature = "harness")]
44mod harness;
45#[cfg(feature = "postgres")]
46mod pg;
47#[cfg(feature = "port-conformance")]
48mod port;
49#[cfg(feature = "harness")]
50mod privacy_provider;
51#[cfg(feature = "harness")]
52mod request;
53#[cfg(feature = "harness")]
54mod sidecar;
55mod signing;
60mod tmp;
61pub mod vectors;
62
63#[cfg(feature = "harness")]
64pub use actor::{
65 CONTRACT_ACTOR_KIND, assert_actor_contract, contract_actor_handler, contract_actor_handlers,
66};
67pub use batch::assert_batch_is_atomic;
68pub use blob::{assert_blob_large_round_trips, assert_blob_round_trips};
69#[cfg(feature = "harness")]
70pub use conformance::{conformance, conformance_in_process_only, full_fake_ports, sidecar_parity};
71#[cfg(feature = "harness")]
72pub use dialect::Dialect;
73#[cfg(feature = "harness")]
74pub use fakes::{
75 Ask, AuthMode, ClassifierMode, CommentedCall, EmptyDatabase, FAKE_EMBEDDER_DIMENSIONS,
76 FAKE_EMBEDDER_MODEL, FakeAuth, FakeCaptcha, FakeClassifier, FakeCustomHostnames, FakeDefer,
77 FakeDispatcher, FakeEmbedder, FakeHttpClient, FakeMailer, FakePayments, FakePush,
78 FakeRateLimiter, FakeRealtime, FakeTextModel, FakeTracker, FiledCall, FixedClock, MailerMode,
79 ManualClock, MemoryActors, MemoryBlob, MemoryKeyValue, PaymentsCall, PaymentsMode, PushMode,
80 StatusedCall, TextModelMode, TrackerMode, error_json, problem_json, with_retry_after,
81};
82#[cfg(feature = "harness")]
83pub use harness::TestHarness;
84#[cfg(feature = "port-conformance")]
85pub use port::{
86 TEXT_MODEL_CONFORMANCE_CACHED_INPUT_TOKENS, TEXT_MODEL_CONFORMANCE_INPUT_TOKENS,
87 TEXT_MODEL_CONFORMANCE_OUTPUT_TOKENS, TEXT_MODEL_CONFORMANCE_REPLY, assert_wasm_safe_deps,
88 classifier_conformance, classifier_conformance_questions, classifier_conformance_state,
89 classifier_not_configured, classifier_rejects_malformed_questions,
90 classifier_truncates_long_state, push_recipient_conformance, text_model_conformance,
91 text_model_conformance_not_configured, text_model_conformance_prompt,
92 text_model_image_bounds_conformance, vector_index_conformance,
93};
94#[cfg(feature = "harness")]
95pub use privacy_provider::{FakePrivacyProvider, ProviderCall};
96#[cfg(feature = "harness")]
97pub use request::{TestResponse, request, request_as, request_chunks};
98#[cfg(feature = "harness")]
99pub use sidecar::{FakeSidecar, Fault, shared as shared_sidecar};
100pub use signing::{sign_provider_scheme, sign_stripe_style};
101pub use tmp::TempDir;
102
103pub const TEST_HARNESS_SECRET: &str = "cratefield-testing-dummy-secret-0123456789";
105
106#[cfg(any(feature = "harness", feature = "postgres"))]
110const POSTGRES_SKIP_REASON: &str = "start a local postgres:16 \
111 (docker run --rm -e POSTGRES_PASSWORD=postgres -p 5433:5432 postgres:16) \
112 and set FZ_TEST_POSTGRES_URL=postgres://postgres:postgres@127.0.0.1:5433/postgres";