v0.3.8-pre.007-fix.003
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
// file: crates/ksp-app-store-desk/tests/desktop_security.rs
|
||||
// version: 7
|
||||
// version: 8
|
||||
|
||||
//! Security boundary tests for the Store Desk scaffold.
|
||||
|
||||
@@ -130,21 +130,27 @@ fn pre_007_transaction_request_rejects_datatables_search_order_draw_and_physical
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pre_007_fix_001_copy_tracing_never_logs_long_identifier_values() {
|
||||
fn pre_007_fix_003_copy_tracing_is_field_id_only_without_value_material() {
|
||||
let frontend = include_str!("../frontend/ts/main.ts");
|
||||
assert!(frontend.contains("Store Desk long text copy requested"));
|
||||
assert!(frontend.contains("Store Desk long text copy completed"));
|
||||
assert!(frontend.contains("Store Desk long text copy failed"));
|
||||
assert!(frontend.contains("{ fieldId }"));
|
||||
for forbidden in [
|
||||
r#"{ fieldId, value }"#,
|
||||
r#"{ value, fieldId }"#,
|
||||
r#"{ value }"#,
|
||||
r#"{ signature }"#,
|
||||
r#"{ fieldId, signature }"#,
|
||||
r#"{ signature, fieldId }"#,
|
||||
for allowed in [
|
||||
r#"frontendDebug("main", "Store Desk long text copy requested", { fieldId })"#,
|
||||
r#"frontendError("main", "Store Desk long text copy failed", { fieldId })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy completed", { fieldId })"#,
|
||||
] {
|
||||
assert!(!frontend.contains(forbidden), "long identifier value leaked into copy tracing: {forbidden}");
|
||||
assert!(frontend.contains(allowed), "expected field-id-only copy tracing call is missing: {allowed}");
|
||||
}
|
||||
for forbidden in [
|
||||
r#"frontendDebug("main", "Store Desk long text copy requested", { fieldId, value })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy requested", { value, fieldId })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy requested", { value })"#,
|
||||
r#"frontendError("main", "Store Desk long text copy failed", { fieldId, value })"#,
|
||||
r#"frontendError("main", "Store Desk long text copy failed", { value, fieldId })"#,
|
||||
r#"frontendError("main", "Store Desk long text copy failed", { value })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy completed", { fieldId, value })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy completed", { value, fieldId })"#,
|
||||
r#"frontendDebug("main", "Store Desk long text copy completed", { value })"#,
|
||||
] {
|
||||
assert!(!frontend.contains(forbidden), "copy tracing leaked copied value material: {forbidden}");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user