@@ -397,3 +397,38 @@ fn labels() {
397397 assert_eq ! ( label. version( ) , 3 ) ; // 2 succesfull updates, 1 set finalized head
398398 assert_eq ! ( label. finalized_head( ) , Some ( & finalized_head) ) ;
399399}
400+
401+ #[ test]
402+ fn delete_dataset ( ) {
403+ let ( db, dataset_id) = setup_db ( ) ;
404+
405+ let chunk1 = Chunk :: V0 {
406+ first_block : 0 ,
407+ last_block : 100 ,
408+ last_block_hash : "last_1" . to_owned ( ) ,
409+ parent_block_hash : "base" . to_owned ( ) ,
410+ tables : Default :: default ( ) ,
411+ } ;
412+ let chunk2 = Chunk :: V0 {
413+ first_block : 101 ,
414+ last_block : 200 ,
415+ last_block_hash : "last_2" . to_owned ( ) ,
416+ parent_block_hash : "last_1" . to_owned ( ) ,
417+ tables : Default :: default ( ) ,
418+ } ;
419+
420+ assert ! ( db. insert_chunk( dataset_id, & chunk1) . is_ok( ) ) ;
421+ assert ! ( db. insert_chunk( dataset_id, & chunk2) . is_ok( ) ) ;
422+
423+ let datasets = db. get_all_datasets ( ) . unwrap ( ) ;
424+ assert_eq ! ( datasets. len( ) , 1 ) ;
425+ assert_eq ! ( datasets[ 0 ] . id, dataset_id) ;
426+ validate_chunks ( & db, dataset_id, [ & chunk1, & chunk2] . to_vec ( ) ) ;
427+
428+ assert ! ( db. delete_dataset( dataset_id) . is_ok( ) ) ;
429+
430+ let datasets = db. get_all_datasets ( ) . unwrap ( ) ;
431+ assert_eq ! ( datasets. len( ) , 0 ) ;
432+
433+ validate_chunks ( & db, dataset_id, [ ] . to_vec ( ) ) ;
434+ }
0 commit comments