commit 3b98208727b404d9c3c4654d2b263f0ee6a038d0
parent 2d243420eeb295ecd770446ec472c58d9df62929
Author: triesap <tyson@radroots.org>
Date: Tue, 30 Jun 2026 11:10:06 +0000
test: ingest status noise events
Diffstat:
2 files changed, 99 insertions(+), 4 deletions(-)
diff --git a/crates/sdk/tests/orders_runtime.rs b/crates/sdk/tests/orders_runtime.rs
@@ -16,7 +16,7 @@ use radroots_events::{
RadrootsEventId, RadrootsListingAddress, RadrootsOrderId, RadrootsOrderRevisionId,
RadrootsPublicKey,
},
- kinds::{KIND_LISTING, KIND_ORDER_DECISION, KIND_ORDER_REQUEST},
+ kinds::{KIND_LISTING, KIND_ORDER_DECISION, KIND_ORDER_REQUEST, KIND_POST},
order::{
RadrootsOrderDecision, RadrootsOrderDecisionOutcome, RadrootsOrderEconomicItem,
RadrootsOrderEconomicLine, RadrootsOrderEconomics, RadrootsOrderInventoryCommitment,
@@ -2246,6 +2246,33 @@ async fn insert_perf_trade_background_events(store: &RadrootsEventStore, base: i
}
}
+async fn ingest_status_noise_events(
+ store: &RadrootsEventStore,
+ non_trade_count: i64,
+ trade_count: i64,
+) {
+ for index in 0..non_trade_count {
+ store
+ .ingest_event(RadrootsEventIngest::new(
+ signed_status_noise_post_event(index, 32_000 + index as u32),
+ 1_700_200_000_000 + index,
+ ))
+ .await
+ .expect("non-trade status noise ingest");
+ }
+
+ for index in 0..trade_count {
+ let order_id = format!("status-noise-background-{index:03}");
+ store
+ .ingest_event(RadrootsEventIngest::new(
+ signed_order_request_event(&order_id, 33_000 + index as u32),
+ 1_700_200_100_000 + index,
+ ))
+ .await
+ .expect("trade status noise ingest");
+ }
+}
+
fn perf_sig() -> String {
"0".repeat(128)
}
@@ -2322,6 +2349,18 @@ fn signed_order_decision_event(
signed_event(SELLER_SECRET_KEY_HEX, created_at, draft)
}
+fn signed_status_noise_post_event(index: i64, created_at: u32) -> RadrootsNostrEvent {
+ signed_event(
+ SELLER_SECRET_KEY_HEX,
+ created_at,
+ WireEventParts {
+ kind: KIND_POST,
+ content: format!("local status noise {index}"),
+ tags: Vec::new(),
+ },
+ )
+}
+
fn signed_non_order_event(created_at: u32) -> RadrootsNostrEvent {
signed_event(
SELLER_SECRET_KEY_HEX,
@@ -4045,9 +4084,12 @@ async fn order_status_returns_not_found_for_missing_local_order() {
#[tokio::test]
async fn order_status_query_uses_indexed_order_id_under_background_event_noise() {
let (_tempdir, sdk, store) = directory_sdk_and_store().await;
- insert_perf_non_trade_events(&store, 30_000_000, STATUS_NOISE_NON_TRADE_EVENTS).await;
- insert_perf_trade_background_events(&store, 40_000_000, STATUS_NOISE_TRADE_BACKGROUND_EVENTS)
- .await;
+ ingest_status_noise_events(
+ &store,
+ STATUS_NOISE_NON_TRADE_EVENTS,
+ STATUS_NOISE_TRADE_BACKGROUND_EVENTS,
+ )
+ .await;
let request_event = signed_order_request_event("order-status-noise-active", 31_000);
let request_event_id = request_event.id.clone();
diff --git a/crates/sdk/tests/source_boundary.rs b/crates/sdk/tests/source_boundary.rs
@@ -423,6 +423,47 @@ fn migrated_runtime_tests_stay_on_product_runtime_boundary() {
}
#[test]
+fn default_status_noise_test_uses_production_ingest_not_perf_sql_ballast() {
+ let orders_runtime_tests = read_source(
+ Path::new(env!("CARGO_MANIFEST_DIR"))
+ .join("tests/orders_runtime.rs")
+ .as_path(),
+ );
+ let default_status_noise_test = function_source(
+ orders_runtime_tests.as_str(),
+ "order_status_query_uses_indexed_order_id_under_background_event_noise",
+ );
+ let manual_perf_test = function_source(
+ orders_runtime_tests.as_str(),
+ "manual_local_status_perf_gate_measures_100k_events",
+ );
+
+ assert!(
+ default_status_noise_test.contains("ingest_status_noise_events("),
+ "default status noise test must use production-equivalent event-store ingest"
+ );
+ for forbidden in [
+ "insert_perf_non_trade_events(",
+ "insert_perf_trade_background_events(",
+ "sqlx::query(",
+ ] {
+ assert!(
+ !default_status_noise_test.contains(forbidden),
+ "default status noise test must not use manual SQL ballast helper `{forbidden}`"
+ );
+ }
+ for required in [
+ "insert_perf_non_trade_events(",
+ "insert_perf_trade_background_events(",
+ ] {
+ assert!(
+ manual_perf_test.contains(required),
+ "manual performance gate must retain explicit SQL ballast helper `{required}`"
+ );
+ }
+}
+
+#[test]
fn agreement_order_runtime_excludes_post_agreement_surfaces() {
let lib_source = read_source(
Path::new(env!("CARGO_MANIFEST_DIR"))
@@ -838,6 +879,18 @@ fn contains_forbidden_concept(source: &str, pattern: &str) -> bool {
})
}
+fn function_source<'source>(source: &'source str, function_name: &str) -> &'source str {
+ let signature = format!("async fn {function_name}");
+ let start = source
+ .find(signature.as_str())
+ .unwrap_or_else(|| panic!("failed to find test function `{function_name}`"));
+ let source_after_start = &source[start..];
+ let end = source_after_start
+ .find("\n#[tokio::test]")
+ .unwrap_or(source_after_start.len());
+ &source_after_start[..end]
+}
+
fn is_rust_identifier_character(character: char) -> bool {
character == '_' || character.is_ascii_alphanumeric()
}