@@ -574,104 +574,28 @@ mod tests {
574
574
use crate :: chain:: ChannelMonitorUpdateStatus ;
575
575
use crate :: events:: { ClosureReason , MessageSendEventsProvider } ;
576
576
use crate :: ln:: functional_test_utils:: * ;
577
- use crate :: util:: test_utils:: { self , TestLogger } ;
577
+ use crate :: util:: test_utils:: { self , TestLogger , TestStore } ;
578
578
use crate :: { check_added_monitors, check_closed_broadcast} ;
579
- //use rand::{distributions::Alphanumeric, thread_rng, Rng};
580
- use std:: { collections:: HashMap , io:: Cursor , sync:: Mutex } ;
581
579
582
580
// =================================
583
581
// TEST UTILITIES
584
582
// =================================
585
583
586
- struct HashMapKVStore {
587
- storage : Mutex < HashMap < String , Vec < u8 > > > ,
588
- read_only : bool ,
589
- }
590
-
591
- impl HashMapKVStore {
592
- fn new ( read_only : bool ) -> Self {
593
- Self {
594
- storage : Mutex :: new ( HashMap :: new ( ) ) ,
595
- read_only,
596
- }
597
- }
598
- }
599
-
600
- impl KVStore for HashMapKVStore {
601
- type Reader = Cursor < Vec < u8 > > ;
602
-
603
- fn read ( & self , namespace : & str , key : & str ) -> io:: Result < Self :: Reader > {
604
- let key = [ namespace, key] . join ( "/" ) ;
605
- let storage = self . storage . lock ( ) . unwrap ( ) ;
606
- let value = storage. get ( & key) ;
607
- match value {
608
- Some ( vec) => Ok ( Cursor :: new ( vec. clone ( ) ) ) ,
609
- None => Err ( std:: io:: Error :: new (
610
- std:: io:: ErrorKind :: NotFound ,
611
- "not found" ,
612
- ) ) ,
613
- }
614
- }
615
-
616
- fn write ( & self , namespace : & str , key : & str , buf : & [ u8 ] ) -> io:: Result < ( ) > {
617
- if self . read_only {
618
- return Err ( std:: io:: Error :: new (
619
- std:: io:: ErrorKind :: PermissionDenied ,
620
- "read only" ,
621
- ) ) ;
622
- }
623
- let key = [ namespace, key] . join ( "/" ) ;
624
- let mut storage = self . storage . lock ( ) . unwrap ( ) ;
625
- let value = buf. to_vec ( ) ;
626
- storage. insert ( key, value) ;
627
- Ok ( ( ) )
628
- }
629
-
630
- fn remove ( & self , namespace : & str , key : & str ) -> io:: Result < ( ) > {
631
- if self . read_only {
632
- return Err ( std:: io:: Error :: new (
633
- std:: io:: ErrorKind :: PermissionDenied ,
634
- "read only" ,
635
- ) ) ;
636
- }
637
- let key = [ namespace, key] . join ( "/" ) ;
638
- let mut storage = self . storage . lock ( ) . unwrap ( ) ;
639
- storage. remove ( & key) ;
640
- Ok ( ( ) )
641
- }
642
-
643
- fn list ( & self , namespace : & str ) -> io:: Result < Vec < String > > {
644
- let ns = [ namespace, "/" ] . join ( "" ) ;
645
- let storage = self . storage . lock ( ) . unwrap ( ) ;
646
- Ok ( storage
647
- . keys ( )
648
- . filter_map ( |k| k. starts_with ( & ns) . then ( || k. replacen ( & ns, "" , 1 ) ) )
649
- . collect ( ) )
650
- }
651
- }
652
-
653
- fn default_test_persister ( ) -> KVStoreUpdatingPersister < Box < HashMapKVStore > , Box < TestLogger > > {
584
+ fn default_test_persister ( ) -> KVStoreUpdatingPersister < Box < TestStore > , Box < TestLogger > > {
654
585
KVStoreUpdatingPersister {
655
- kv : Box :: new ( HashMapKVStore :: new ( false ) ) ,
586
+ kv : Box :: new ( TestStore :: new ( false ) ) ,
656
587
logger : Box :: new ( TestLogger :: new ( ) ) ,
657
588
}
658
589
}
659
590
660
- fn read_only_test_persister ( ) -> KVStoreUpdatingPersister < Box < HashMapKVStore > , Box < TestLogger > >
591
+ fn read_only_test_persister ( ) -> KVStoreUpdatingPersister < Box < TestStore > , Box < TestLogger > >
661
592
{
662
593
KVStoreUpdatingPersister {
663
- kv : Box :: new ( HashMapKVStore :: new ( true ) ) ,
594
+ kv : Box :: new ( TestStore :: new ( false ) ) ,
664
595
logger : Box :: new ( TestLogger :: new ( ) ) ,
665
596
}
666
597
}
667
598
668
- #[ test]
669
- fn test_read_only_persister_actually_is_ro ( ) {
670
- let persister = read_only_test_persister ( ) ;
671
- assert ! ( persister. kv. write( "namespace" , "key" , & [ 0 ] ) . is_err( ) ) ;
672
- assert ! ( persister. kv. remove( "namespace" , "key" , ) . is_err( ) ) ;
673
- }
674
-
675
599
// =================================
676
600
// TESTS
677
601
// =================================
0 commit comments