()
| 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 { |
nothing calls this directly
no test coverage detected
searching dependent graphs…