()
| 308 | } |
| 309 | #[test(tokio::test)] |
| 310 | async fn create_event_fails() { |
| 311 | let node_id = NodeKey::random().id(); |
| 312 | let network = Network::Mainnet; |
| 313 | let expected_event_id = EventId::try_from(hex::decode(DATA_EVENT_ID).unwrap()).unwrap(); |
| 314 | |
| 315 | // Remove whitespace from event CAR file |
| 316 | let event_data = DATA_EVENT_CAR |
| 317 | .chars() |
| 318 | .filter(|c| !c.is_whitespace()) |
| 319 | .collect::<String>(); |
| 320 | let mock_interest = MockAccessInterestStoreTest::new(); |
| 321 | let mut mock_event_store = MockEventStoreTest::new(); |
| 322 | mock_get_init_event(&mut mock_event_store); |
| 323 | let args = vec![ApiItem::new( |
| 324 | expected_event_id.clone(), |
| 325 | decode_multibase_data(&event_data).unwrap(), |
| 326 | )]; |
| 327 | |
| 328 | mock_event_store |
| 329 | .expect_insert_many() |
| 330 | .with(predicate::eq(args), predicate::eq(node_id)) |
| 331 | .times(1) |
| 332 | .returning(|input, _| { |
| 333 | Ok(input |
| 334 | .iter() |
| 335 | .map(|i| { |
| 336 | EventInsertResult::new_failed( |
| 337 | i.key.clone(), |
| 338 | "Event is missing prev".to_string(), |
| 339 | ) |
| 340 | }) |
| 341 | .collect()) |
| 342 | }); |
| 343 | let server = create_test_server( |
| 344 | node_id, |
| 345 | network, |
| 346 | mock_interest, |
| 347 | Arc::new(mock_event_store), |
| 348 | MockP2PService::new(), |
| 349 | None, |
| 350 | ); |
| 351 | let resp = server |
| 352 | .events_post( |
| 353 | models::EventData { |
| 354 | data: event_data.to_string(), |
| 355 | }, |
| 356 | &Context, |
| 357 | ) |
| 358 | .await |
| 359 | .unwrap(); |
| 360 | assert!(matches!(resp, EventsPostResponse::BadRequest(_))); |
| 361 | } |
| 362 | |
| 363 | #[test(tokio::test)] |
| 364 | async fn register_interest_sort_value() { |
nothing calls this directly
no test coverage detected