v0.2.12-pre.009
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-solprices-desk/unit_tests/market_price_runtime.rs
|
||||
// version: 3
|
||||
// version: 4
|
||||
|
||||
fn descriptor() -> std::option::Option<ksp_offchain_transport_lib::MarketPriceProviderDescriptor> {
|
||||
let provider_id = ksp_offchain_transport_lib::MarketPriceProviderId::new("test-provider");
|
||||
@@ -278,3 +278,25 @@ fn batch_loading_validation_rejects_in_flight_provider_without_marking_other_row
|
||||
}
|
||||
return std::result::Result::Ok(());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn hostile_batch_size_is_rejected_before_provider_id_parsing() {
|
||||
let provider_ids = (0..=super::MARKET_PRICE_REFRESH_MAX_PROVIDER_IDS)
|
||||
.map(|index| return std::format!("invalid provider payload {index}"))
|
||||
.collect::<std::vec::Vec<_>>();
|
||||
let result = super::parse_provider_ids(provider_ids);
|
||||
assert!(result.is_err());
|
||||
if let std::result::Result::Err(error) = result {
|
||||
assert_eq!(error.code(), crate::ERROR_CODE_MARKET_PRICE_SELECTION_INVALID);
|
||||
assert_eq!(error.context().len(), 2);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn empty_batch_is_rejected_at_the_application_boundary() {
|
||||
let result = super::parse_provider_ids(std::vec::Vec::new());
|
||||
assert!(result.is_err());
|
||||
if let std::result::Result::Err(error) = result {
|
||||
assert_eq!(error.code(), crate::ERROR_CODE_MARKET_PRICE_SELECTION_INVALID);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user