0.3.15-pre.012
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-raw-transaction-ingest-desk/tests/desktop_security.rs
|
||||
// version: 8
|
||||
// version: 9
|
||||
|
||||
//! Desktop security canaries for the Raw Transaction Ingest Desk scaffold.
|
||||
|
||||
@@ -195,3 +195,31 @@ fn pre_011_frontend_monitoring_tracing_is_source_neutral_and_does_not_log_raw_ma
|
||||
assert!(!main.contains("frontendTrace(\"main\", \"Raw Transaction Ingest Desk route monitoring latest value applied\", status"));
|
||||
assert!(!main.contains("frontendDebug(\"main\", \"Raw Transaction Ingest Desk route monitoring resynchronization completed\", statuses"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_012_hostile_ipc_is_shape_strict_bounded_and_safely_projected() {
|
||||
let dto = read_text(app_root().join("src/dto_route.rs").as_path());
|
||||
assert!(dto.matches("deny_unknown_fields").count() >= 2);
|
||||
assert!(dto.contains("RAW_INGEST_PROFILE_ID_MAX_BYTES: usize = 256"));
|
||||
assert!(dto.contains("validate_logical_identity"));
|
||||
assert!(dto.contains("ERROR_CODE_ROUTE_REQUEST_INVALID"));
|
||||
let frontend_logging = read_text(app_root().join("src/frontend_logging.rs").as_path());
|
||||
for required in [
|
||||
"deny_unknown_fields",
|
||||
"FRONTEND_LOG_MESSAGE_MAX_BYTES: usize = 8192",
|
||||
"FRONTEND_LOG_SELECTOR_MAX_BYTES: usize = 16",
|
||||
"payload.message.chars().any(char::is_control)",
|
||||
"ERROR_CODE_FRONTEND_LOG_PAYLOAD_INVALID",
|
||||
"eq_ignore_ascii_case",
|
||||
] {
|
||||
assert!(frontend_logging.contains(required), "missing pre.012 frontend IPC guard {required}");
|
||||
}
|
||||
assert!(!frontend_logging.contains("to_ascii_lowercase()"));
|
||||
let frontend = read_text(app_root().join("frontend/ts/frontend_log.ts").as_path());
|
||||
assert!(frontend.contains("FRONTEND_LOG_MESSAGE_MAX_CODE_UNITS = 1024"));
|
||||
assert!(frontend.contains("boundMessage(message)"));
|
||||
let tauri = read_text(app_root().join("src/tauri.rs").as_path());
|
||||
assert!(tauri.contains("error_domain = error.code().domain()"));
|
||||
assert!(tauri.contains("error_code = error.code().code()"));
|
||||
assert!(!tauri.contains("error = ?error"));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user