// file: crates/ksp-store-lib/tests/public_api.rs // version: 1 #![warn(missing_docs)] #![deny(unreachable_pub)] #![forbid(unsafe_code)] //! Public API canaries for Store settings, lifecycle and Store API reexports. #[test] fn pre_003_settings_and_lifecycle_contract_are_available_from_crate_root() { let postgres = ksp_store_lib::PostgresStoreSettings::new( "postgresql://operator-supplied-sensitive-value", ksp_store_lib::PostgresPoolSettings::default(), ksp_store_lib::PostgresTlsMode::VerifyFull, ksp_store_lib::PostgresBootstrapSettings::default(), ); let settings = ksp_store_lib::StoreSettings::with_default_shutdown(ksp_store_lib::StoreBackendSettings::Postgres(postgres)); assert_eq!(settings.backend_kind(), ksp_store_lib::StoreBackendKind::Postgres); assert!(settings.validate().is_ok()); let _open = ksp_store_lib::Store::open; let _close = ksp_store_lib::Store::close; return; } #[test] fn pre_003_common_error_codes_are_stable_and_store_owned() { assert_eq!(ksp_store_lib::ERROR_CODE_SETTINGS_INVALID.domain(), "store"); assert_eq!(ksp_store_lib::ERROR_CODE_SETTINGS_INVALID.code(), "settings_invalid"); assert_eq!(ksp_store_lib::ERROR_CODE_BACKEND_NOT_COMPILED.code(), "backend_not_compiled"); assert_eq!(ksp_store_lib::ERROR_CODE_BACKEND_OPEN_FAILED.code(), "backend_open_failed"); assert_eq!(ksp_store_lib::ERROR_CODE_BACKEND_CLOSED.code(), "backend_closed"); assert_eq!(ksp_store_lib::ERROR_CODE_SHUTDOWN_TIMEOUT.code(), "shutdown_timeout"); return; } #[test] fn pre_003_facade_reexports_backend_agnostic_store_api_types() { let _raw_transaction = std::mem::size_of::>(); let _raw_account_state = std::mem::size_of::>(); let _query = std::mem::size_of::>(); let _capability = std::mem::size_of::>(); let _result: ksp_store_lib::Result<()> = std::result::Result::Ok(()); return; }