MCPcopy Create free account
hub / github.com/ceramicnetwork/rust-ceramic / create_event_twice

Function create_event_twice

api/src/tests.rs:255–308  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

253
254#[test(tokio::test)]
255async fn create_event_twice() {
256 let node_id = NodeKey::random().id();
257 let network = Network::Mainnet;
258 let expected_event_id =
259 EventId::try_from(hex::decode(UNSIGNED_INIT_EVENT_ID).unwrap()).unwrap();
260
261 // Remove whitespace from event CAR file
262 let event_data = UNSIGNED_INIT_EVENT_CAR
263 .chars()
264 .filter(|c| !c.is_whitespace())
265 .collect::<String>();
266 let mock_interest = MockAccessInterestStoreTest::new();
267 let mut mock_event_store = MockEventStoreTest::new();
268 let item = ApiItem::new(
269 expected_event_id,
270 decode_multibase_data(&event_data).unwrap(),
271 );
272 let args = vec![item.clone(), item];
273
274 mock_event_store
275 .expect_insert_many()
276 .with(predicate::eq(args), predicate::eq(node_id))
277 .times(1)
278 .returning(|input, _| {
279 Ok(input
280 .into_iter()
281 .map(|v| EventInsertResult::new_ok(v.key.clone()))
282 .collect())
283 });
284 let server = create_test_server(
285 node_id,
286 network,
287 mock_interest,
288 Arc::new(mock_event_store),
289 MockP2PService::new(),
290 None,
291 );
292 let (resp1, resp2) = join!(
293 server.events_post(
294 models::EventData {
295 data: event_data.to_string(),
296 },
297 &Context,
298 ),
299 server.events_post(
300 models::EventData {
301 data: event_data.to_string(),
302 },
303 &Context,
304 ),
305 );
306 assert_eq!(resp1.unwrap(), EventsPostResponse::Success);
307 assert_eq!(resp2.unwrap(), EventsPostResponse::Success);
308}
309#[test(tokio::test)]
310async fn create_event_fails() {
311 let node_id = NodeKey::random().id();

Callers

nothing calls this directly

Calls 8

newFunction · 0.85
decode_multibase_dataFunction · 0.85
create_test_serverFunction · 0.85
unwrapMethod · 0.80
mapMethod · 0.80
into_iterMethod · 0.80
idMethod · 0.45
cloneMethod · 0.45

Tested by

no test coverage detected