()
| 360 | |
| 361 | #[tokio::test] |
| 362 | async fn backup_database_readonly_denied() { |
| 363 | let state = make_state_with_catalog(); |
| 364 | let foo_id = setup_foo_db(&state).await; |
| 365 | let ro = readonly_user(); |
| 366 | let err = ddl_err(&state, &ro, "BACKUP DATABASE foo TO 's3://x'").await; |
| 367 | assert!( |
| 368 | err.contains("42501") || err.contains("permission denied"), |
| 369 | "expected 42501/permission denied, got: {err}" |
| 370 | ); |
| 371 | assert_audit_has(&state, AuditEvent::PermissionDenied, Some(foo_id)); |
| 372 | } |
| 373 | |
| 374 | // ─── RESTORE DATABASE ──────────────────────────────────────────────────────── |
| 375 |
nothing calls this directly
no test coverage detected