MCPcopy Create free account
hub / github.com/clockworklabs/SpacetimeDB / test_sender_param

Function test_sender_param

crates/core/src/sql/execute.rs:422–447  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

420 /// Test the evaluation of SELECT, UPDATE, and DELETE parameterized with `:sender`
421 #[test]
422 fn test_sender_param() -> ResultTest<()> {
423 let (db, _) = create_identity_table("user")?;
424
425 const SELECT_ALL: &str = "SELECT * FROM user";
426
427 let sql = "SELECT * FROM user WHERE identity = :sender";
428 let result = run_for_testing(&db, sql)?;
429 assert_eq!(result, vec![product![Identity::ZERO]]);
430
431 let sql = "DELETE FROM user WHERE identity = :sender";
432 run_for_testing(&db, sql)?;
433 let result = run_for_testing(&db, SELECT_ALL)?;
434 assert_eq!(result, vec![product![Identity::ONE]]);
435
436 let zero = "0".repeat(64);
437 let one = "0".repeat(63) + "1";
438
439 let sql = format!("UPDATE user SET identity = 0x{zero}");
440 run_for_testing(&db, &sql)?;
441 let sql = format!("UPDATE user SET identity = 0x{one} WHERE identity = :sender");
442 run_for_testing(&db, &sql)?;
443 let result = run_for_testing(&db, SELECT_ALL)?;
444 assert_eq!(result, vec![product![Identity::ONE]]);
445
446 Ok(())
447 }
448
449 /// Create an [Identity] from a [u8]
450 fn identity_from_u8(v: u8) -> Identity {

Callers

nothing calls this directly

Calls 3

create_identity_tableFunction · 0.85
run_for_testingFunction · 0.85
OkFunction · 0.50

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…