@@ -619,15 +619,18 @@ pub mod campaigns {
619
619
#[ cfg( test) ]
620
620
mod test {
621
621
use super :: * ;
622
- use adapter:: dummy:: { Adapter , Dummy , Options } ;
622
+ use adapter:: {
623
+ dummy:: { Adapter , Dummy , Options } ,
624
+ ethereum:: test_util:: GANACHE_INFO_1 ,
625
+ } ;
623
626
use primitives:: {
624
627
campaign:: validators:: Validators as CampaignValidators ,
625
628
config:: { configuration, Environment , GANACHE_CONFIG } ,
626
629
sentry:: {
627
630
campaign_list:: CampaignListResponse , channel_list:: ChannelListResponse , Pagination ,
628
631
} ,
629
632
test_util:: {
630
- discard_logger, ADVERTISER , ADVERTISER_2 , CREATOR , DUMMY_CAMPAIGN ,
633
+ discard_logger, ADVERTISER , ADVERTISER_2 , CREATOR , DUMMY_AUTH , DUMMY_CAMPAIGN ,
631
634
DUMMY_VALIDATOR_FOLLOWER , DUMMY_VALIDATOR_LEADER , FOLLOWER , GUARDIAN , IDS , LEADER ,
632
635
LEADER_2 , PUBLISHER , PUBLISHER_2 ,
633
636
} ,
@@ -639,6 +642,22 @@ mod test {
639
642
Mock , MockServer , ResponseTemplate ,
640
643
} ;
641
644
645
+ /// Uses the [`Dummy`] adapter with [`DUMMY_AUTH`] as the authentication tokens.
646
+ /// Sentry url can be provided, for `wiremock` to be able to mock the calls in [`SentryApi`].
647
+ pub fn setup_dummy_sentry (
648
+ whoami : ValidatorId ,
649
+ config : Config ,
650
+ sentry_url : ApiUrl ,
651
+ ) -> SentryApi < Dummy , ( ) > {
652
+ let adapter = Adapter :: with_unlocked ( Dummy :: init ( Options {
653
+ dummy_identity : whoami,
654
+ dummy_auth_tokens : DUMMY_AUTH . clone ( ) ,
655
+ } ) ) ;
656
+ let logger = discard_logger ( ) ;
657
+
658
+ SentryApi :: new ( adapter, logger, config, sentry_url) . expect ( "Should build sentry" )
659
+ }
660
+
642
661
#[ tokio:: test]
643
662
async fn test_get_all_spenders ( ) {
644
663
let server = MockServer :: start ( ) . await ;
@@ -744,11 +763,9 @@ mod test {
744
763
let mut config = configuration ( Environment :: Development , None ) . expect ( "Should get Config" ) ;
745
764
config. spendable_find_limit = 2 ;
746
765
747
- let adapter = Adapter :: with_unlocked ( Dummy :: init ( Options {
766
+ let leader_adapter = Adapter :: with_unlocked ( Dummy :: init ( Options {
748
767
dummy_identity : IDS [ & LEADER ] ,
749
- dummy_auth_tokens : vec ! [ ( IDS [ & LEADER ] . to_address( ) , "AUTH_Leader" . into( ) ) ]
750
- . into_iter ( )
751
- . collect ( ) ,
768
+ dummy_auth_tokens : DUMMY_AUTH . clone ( ) ,
752
769
} ) ) ;
753
770
let logger = discard_logger ( ) ;
754
771
@@ -757,8 +774,8 @@ mod test {
757
774
. expect ( "Should find Dummy campaign token in config" )
758
775
. with_channel ( DUMMY_CAMPAIGN . channel ) ;
759
776
760
- let sentry =
761
- SentryApi :: new ( adapter , logger , config , sentry_url ) . expect ( "Should build sentry" ) ;
777
+ let sentry = SentryApi :: new ( leader_adapter , logger , config , sentry_url )
778
+ . expect ( "Should build sentry" ) ;
762
779
763
780
let mut res = sentry
764
781
. get_all_spenders ( & channel_context)
@@ -788,14 +805,7 @@ mod test {
788
805
#[ tokio:: test]
789
806
async fn test_collecting_and_channels_and_campaigns ( ) {
790
807
let server = MockServer :: start ( ) . await ;
791
- let chain_1_token = GANACHE_CONFIG
792
- . chains
793
- . get ( "Ganache #1" )
794
- . unwrap ( )
795
- . tokens
796
- . get ( "Mocked TOKEN 2" )
797
- . unwrap ( )
798
- . address ;
808
+ let chain_1_token = GANACHE_INFO_1 . tokens [ "Mocked TOKEN 1" ] . address ;
799
809
800
810
// Setting up new leader and a channel and campaign which use it on Ganache #1337
801
811
let dummy_leader_2 = ValidatorDesc {
@@ -851,21 +861,13 @@ mod test {
851
861
campaign_new_leader_and_follower. validators =
852
862
CampaignValidators :: new ( ( dummy_leader_2. clone ( ) , dummy_follower_2. clone ( ) ) ) ;
853
863
854
- // Initializing SentryApi instance
855
864
let sentry_url = ApiUrl :: from_str ( & server. uri ( ) ) . expect ( "Should parse" ) ;
856
865
857
- let mut config = configuration ( Environment :: Development , None ) . expect ( "Should get Config" ) ;
858
- config. spendable_find_limit = 2 ;
859
- let adapter = Adapter :: with_unlocked ( Dummy :: init ( Options {
860
- dummy_identity : IDS [ & LEADER ] ,
861
- dummy_auth_tokens : vec ! [ ( IDS [ & LEADER ] . to_address( ) , "AUTH_Leader" . into( ) ) ]
862
- . into_iter ( )
863
- . collect ( ) ,
864
- } ) ) ;
865
- let logger = discard_logger ( ) ;
866
+ let mut config = GANACHE_CONFIG . clone ( ) ;
867
+ config. campaigns_find_limit = 2 ;
866
868
867
- let sentry = SentryApi :: new ( adapter , logger , config . clone ( ) , sentry_url . clone ( ) )
868
- . expect ( "Should build sentry" ) ;
869
+ // Initializing SentryApi instance
870
+ let leader_sentry = setup_dummy_sentry ( IDS [ & LEADER ] , config . clone ( ) , sentry_url . clone ( ) ) ;
869
871
870
872
// Getting Wiremock to return the campaigns when called
871
873
let first_page_response = CampaignListResponse {
@@ -929,7 +931,7 @@ mod test {
929
931
. with_channel ( channel_new_leader_and_follower) ,
930
932
) ;
931
933
932
- let ( channels, chains_validators) = sentry
934
+ let ( channels, chains_validators) = leader_sentry
933
935
. collect_channels ( )
934
936
. await
935
937
. expect ( "Should collect channels" ) ;
@@ -986,7 +988,7 @@ mod test {
986
988
campaign_new_follower. clone( ) ,
987
989
campaign_new_leader_and_follower. clone( ) ,
988
990
] ;
989
- let res = campaigns:: all_campaigns ( sentry . client . clone ( ) , & sentry_url. clone ( ) , None )
991
+ let res = campaigns:: all_campaigns ( leader_sentry . client . clone ( ) , & sentry_url. clone ( ) , None )
990
992
. await
991
993
. expect ( "Should get all campaigns" ) ;
992
994
assert_eq ! ( res, all_campaigns, "All campaigns are present" ) ;
@@ -1033,7 +1035,7 @@ mod test {
1033
1035
channel_new_leader_and_follower,
1034
1036
] ;
1035
1037
let res = channels:: all_channels (
1036
- sentry . client . clone ( ) ,
1038
+ leader_sentry . client . clone ( ) ,
1037
1039
& sentry_url. clone ( ) ,
1038
1040
DUMMY_VALIDATOR_LEADER . id ,
1039
1041
)
0 commit comments