v0.3.7-pre.006

This commit is contained in:
2026-09-02 15:05:18 +02:00
parent 57ff11b774
commit 3c4ae51ae2
18 changed files with 475 additions and 82 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-backfill-desk/unit_tests/dto_common.rs
// version: 3
// version: 4
#[test]
fn command_error_projection_excludes_arbitrary_context_and_source_values() {
@@ -16,7 +16,7 @@ fn command_error_projection_excludes_arbitrary_context_and_source_values() {
#[test]
fn transport_options_projection_contains_only_safe_transport_metadata() {
let dto = crate::BackfillDeskOptionsDto {
compatible_roles: vec!["default".to_owned()],
http_routes: vec![crate::BackfillHttpRouteOptionDto { pooled: false, providers: vec!["solana-public".to_owned()], role: "default".to_owned() }],
composition_ready: true,
configured_networks: vec!["devnet".to_owned()],
network_coherent: true,
@@ -32,7 +32,7 @@ fn transport_options_projection_contains_only_safe_transport_metadata() {
let serialized = value.to_string();
assert!(serialized.contains("default"));
assert!(serialized.contains("devnet"));
assert!(!serialized.contains("provider"));
assert!(serialized.contains("solana-public"));
assert!(!serialized.contains("url"));
assert!(!serialized.contains("endpoint"));
assert!(!serialized.contains("postgres"));

View File

@@ -46,7 +46,7 @@ fn pool(endpoints: std::vec::Vec<ksp_onchain_transport_lib::HttpEndpointSettings
}
#[test]
fn compatible_roles_require_both_backfill_rpc_methods() {
fn http_routes_require_both_backfill_rpc_methods() {
let signatures = ksp_onchain_transport_lib::find_http_rpc_method("getSignaturesForAddress");
let transaction = ksp_onchain_transport_lib::find_http_rpc_method("getTransaction");
assert!(signatures.is_some());
@@ -76,10 +76,15 @@ fn compatible_roles_require_both_backfill_rpc_methods() {
std::result::Result::Err(_) => return,
};
let snapshot = runtime_pool.snapshot();
let roles = super::compatible_backfill_roles(&runtime_pool, &snapshot);
let roles = super::compatible_backfill_http_routes(&runtime_pool, &snapshot);
assert!(roles.is_ok());
if let std::result::Result::Ok(roles) = roles {
assert_eq!(roles, vec!["complete".to_owned()]);
assert_eq!(roles.len(), 1);
if let std::option::Option::Some(route) = roles.first() {
assert_eq!(route.role, "complete");
assert_eq!(route.providers, vec!["fixture".to_owned()]);
assert!(!route.pooled);
}
}
}