()
| 147 | |
| 148 | #[tokio::test] |
| 149 | async fn rejects_random_bytes() { |
| 150 | let server = TestServer::start().await; |
| 151 | let err = push_restore(&server, TENANT, b"this is not a backup".to_vec(), false) |
| 152 | .await |
| 153 | .expect_err("must reject non-envelope bytes"); |
| 154 | let lower = err.to_lowercase(); |
| 155 | assert!( |
| 156 | lower.contains("invalid backup format") || lower.contains("unsupported envelope version"), |
| 157 | "expected generic invalid-format or version rejection, got: {err}" |
| 158 | ); |
| 159 | assert!( |
| 160 | !lower.contains("msgpack") |
| 161 | && !lower.contains("invalid type") |
| 162 | && !lower.contains("missing field") |
| 163 | && !lower.contains("invalid marker"), |
| 164 | "deserializer context must not leak: {err}" |
| 165 | ); |
| 166 | } |
| 167 | |
| 168 | #[tokio::test] |
| 169 | async fn rejects_unsupported_envelope_version() { |
nothing calls this directly
no test coverage detected