0.3.15-pre.012
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-raw-transaction-ingest-desk/unit_tests/dto_route.rs
|
||||
// version: 4
|
||||
// version: 5
|
||||
|
||||
#[test]
|
||||
fn pre_005_route_ids_are_exact_and_stably_ordered() {
|
||||
@@ -91,3 +91,34 @@ fn pre_008_runtime_acknowledgement_serializes_only_safe_logical_identity_and_sta
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_012_route_requests_reject_unknown_fields_and_bound_free_form_profile_identity() {
|
||||
let start = serde_json::from_value::<crate::RawIngestRouteStartRequestDto>(serde_json::json!({
|
||||
"commitment": "confirmed",
|
||||
"inventoryGeneration": 1,
|
||||
"profileId": "mainnet",
|
||||
"routeId": "http-block-polling",
|
||||
"endpointUrl": "https://forbidden.invalid"
|
||||
}));
|
||||
assert!(start.is_err());
|
||||
let stop = serde_json::from_value::<crate::RawIngestRouteStopRequestDto>(serde_json::json!({
|
||||
"profileId": "mainnet",
|
||||
"routeId": "http-block-polling",
|
||||
"workerId": "forbidden"
|
||||
}));
|
||||
assert!(stop.is_err());
|
||||
let oversized = crate::RawIngestRouteStartRequestDto {
|
||||
commitment: crate::RawIngestCommitment::Confirmed,
|
||||
inventory_generation: 1,
|
||||
profile_id: "x".repeat(super::RAW_INGEST_PROFILE_ID_MAX_BYTES + 1),
|
||||
route_id: crate::RawIngestRouteId::HttpBlockPolling,
|
||||
};
|
||||
let oversized = oversized.validate_logical_identity();
|
||||
assert!(oversized.is_err());
|
||||
if let std::result::Result::Err(error) = oversized {
|
||||
assert_eq!(error.code(), crate::ERROR_CODE_ROUTE_REQUEST_INVALID);
|
||||
}
|
||||
let control = crate::RawIngestRouteStopRequestDto { profile_id: "mainnet\n".to_owned(), route_id: crate::RawIngestRouteId::HttpBlockPolling };
|
||||
assert!(control.validate_logical_identity().is_err());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user