@@ -17,7 +17,9 @@ use ceramic_car::CarReader;
1717use ceramic_core:: { DidDocument , EventId , Network , SerializeExt , StreamId } ;
1818use 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
2224struct 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) ]
206212async 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) ]
214220async 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) ]
223232async 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) ]
227240async 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) ]
244260async 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) ]
254270async 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) ]
258274async 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) ]
266286async 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) ]
275299async 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) ]
290321async 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