Skip to content

Commit 6274462

Browse files
committed
fix: update migration tests
1 parent 6ab129b commit 6274462

2 files changed

Lines changed: 64 additions & 26 deletions

File tree

event-svc/src/tests/event.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -674,7 +674,7 @@ mockall::mock! {
674674
}
675675
}
676676

677-
fn get_mock_chain_provider(
677+
pub fn get_mock_chain_provider(
678678
chain_id: &str,
679679
inputs: Vec<unvalidated::AnchorProof>,
680680
) -> Arc<dyn crate::eth_rpc::ChainInclusion + Send + Sync + 'static> {

event-svc/src/tests/migration.rs

Lines changed: 63 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ use ceramic_car::CarReader;
1717
use ceramic_core::{DidDocument, EventId, Network, SerializeExt, StreamId};
1818
use ceramic_event::unvalidated;
1919

20-
use crate::{event::BlockStore, EventService};
20+
use crate::{
21+
event::BlockStore, tests::event::get_mock_chain_provider, EventService, UndeliveredEventReview,
22+
};
2123

2224
struct InMemBlockStore {
2325
blocks: BTreeMap<Cid, Vec<u8>>,
@@ -47,14 +49,18 @@ async fn blocks_from_cars(cars: Vec<Vec<u8>>) -> InMemBlockStore {
4749
}
4850
InMemBlockStore { blocks }
4951
}
50-
async fn test_migration(cars: Vec<Vec<u8>>) {
52+
async fn test_migration(cars: Vec<Vec<u8>>, proofs: Vec<unvalidated::AnchorProof>) {
5153
let expected_events: BTreeSet<_> = cars
5254
.iter()
5355
.map(|car| multibase::encode(multibase::Base::Base64Url, car))
5456
.collect();
5557
let blocks = blocks_from_cars(cars).await;
5658
let conn = crate::store::SqlitePool::connect_in_memory().await.unwrap();
57-
let service = EventService::new_with_event_validation(conn).await.unwrap();
59+
let chain_provider = get_mock_chain_provider("eip155:11155111", proofs);
60+
let providers = vec![chain_provider];
61+
let service = EventService::try_new(conn, UndeliveredEventReview::Skip, true, providers)
62+
.await
63+
.unwrap();
5864
service
5965
.migrate_from_ipfs(Network::Local(42), blocks, false, vec![], false, None)
6066
.await
@@ -204,32 +210,42 @@ async fn random_time_event(prev: Cid) -> Box<unvalidated::TimeEvent> {
204210
}
205211
#[test(tokio::test)]
206212
async fn unsigned_init_event() {
207-
test_migration(vec![random_unsigned_init_event()
208-
.await
209-
.encode_car()
210-
.unwrap()])
213+
test_migration(
214+
vec![random_unsigned_init_event().await.encode_car().unwrap()],
215+
vec![],
216+
)
211217
.await;
212218
}
213219
#[test(tokio::test)]
214220
async fn many_unsigned_init_events() {
215-
test_migration(vec![
216-
random_unsigned_init_event().await.encode_car().unwrap(),
217-
random_unsigned_init_event().await.encode_car().unwrap(),
218-
random_unsigned_init_event().await.encode_car().unwrap(),
219-
])
221+
test_migration(
222+
vec![
223+
random_unsigned_init_event().await.encode_car().unwrap(),
224+
random_unsigned_init_event().await.encode_car().unwrap(),
225+
random_unsigned_init_event().await.encode_car().unwrap(),
226+
],
227+
vec![],
228+
)
220229
.await;
221230
}
222231
#[test(tokio::test)]
223232
async fn signed_init_event() {
224-
test_migration(vec![random_signed_init_event().await.encode_car().unwrap()]).await;
233+
test_migration(
234+
vec![random_signed_init_event().await.encode_car().unwrap()],
235+
vec![],
236+
)
237+
.await;
225238
}
226239
#[test(tokio::test)]
227240
async fn many_signed_init_events() {
228-
test_migration(vec![
229-
random_signed_init_event().await.encode_car().unwrap(),
230-
random_signed_init_event().await.encode_car().unwrap(),
231-
random_signed_init_event().await.encode_car().unwrap(),
232-
])
241+
test_migration(
242+
vec![
243+
random_signed_init_event().await.encode_car().unwrap(),
244+
random_signed_init_event().await.encode_car().unwrap(),
245+
random_signed_init_event().await.encode_car().unwrap(),
246+
],
247+
vec![],
248+
)
233249
.await;
234250
}
235251
#[test(tokio::test)]
@@ -238,7 +254,7 @@ async fn signed_data_event() {
238254
for event in random_signed_data_event().await {
239255
cars.push(event.encode_car().unwrap());
240256
}
241-
test_migration(cars).await;
257+
test_migration(cars, vec![]).await;
242258
}
243259
#[test(tokio::test)]
244260
async fn many_signed_data_events() {
@@ -248,47 +264,63 @@ async fn many_signed_data_events() {
248264
cars.push(event.encode_car().unwrap());
249265
}
250266
}
251-
test_migration(cars).await;
267+
test_migration(cars, vec![]).await;
252268
}
253269
#[test(tokio::test)]
254270
async fn cacao_signed_data_event() {
255-
test_migration(vec![new_cacao_signed_data_event()]).await;
271+
test_migration(vec![new_cacao_signed_data_event()], vec![]).await;
256272
}
257273
#[test(tokio::test)]
258274
async fn unsigned_time_event() {
259275
let mut cars = Vec::new();
276+
let mut proofs = Vec::new();
260277
for event in random_unsigned_init_time_event().await {
261278
cars.push(event.encode_car().unwrap());
279+
if let unvalidated::Event::Time(time_event) = event {
280+
proofs.push(time_event.proof().clone());
281+
}
262282
}
263-
test_migration(cars).await;
283+
test_migration(cars, proofs).await;
264284
}
265285
#[test(tokio::test)]
266286
async fn signed_init_time_event() {
267287
let mut cars = Vec::new();
288+
let mut proofs = Vec::new();
268289
for event in random_signed_init_time_event().await {
269290
cars.push(event.encode_car().unwrap());
291+
if let unvalidated::Event::Time(time_event) = event {
292+
proofs.push(time_event.proof().clone());
293+
}
270294
}
271295

272-
test_migration(cars).await;
296+
test_migration(cars, proofs).await;
273297
}
274298
#[test(tokio::test)]
275299
async fn many_time_events() {
276300
let mut cars = Vec::new();
301+
let mut proofs = Vec::new();
277302
for _ in 0..3 {
278303
for event in random_unsigned_init_time_event().await {
279304
cars.push(event.encode_car().unwrap());
305+
if let unvalidated::Event::Time(time_event) = event {
306+
proofs.push(time_event.proof().clone());
307+
}
280308
}
281309
}
282310
for _ in 0..3 {
283311
for event in random_signed_init_time_event().await {
284312
cars.push(event.encode_car().unwrap());
313+
if let unvalidated::Event::Time(time_event) = event {
314+
proofs.push(time_event.proof().clone());
315+
}
285316
}
286317
}
287-
test_migration(cars).await;
318+
test_migration(cars, proofs).await;
288319
}
289320
#[test(tokio::test)]
290321
async fn all_events() {
291322
let mut cars = Vec::new();
323+
let mut proofs = Vec::new();
292324

293325
cars.push(new_cacao_signed_data_event());
294326

@@ -306,12 +338,18 @@ async fn all_events() {
306338
for _ in 0..3 {
307339
for event in random_unsigned_init_time_event().await {
308340
cars.push(event.encode_car().unwrap());
341+
if let unvalidated::Event::Time(time_event) = event {
342+
proofs.push(time_event.proof().clone());
343+
}
309344
}
310345
}
311346
for _ in 0..3 {
312347
for event in random_signed_init_time_event().await {
313348
cars.push(event.encode_car().unwrap());
349+
if let unvalidated::Event::Time(time_event) = event {
350+
proofs.push(time_event.proof().clone());
351+
}
314352
}
315353
}
316-
test_migration(cars).await;
354+
test_migration(cars, proofs).await;
317355
}

0 commit comments

Comments
 (0)