@@ -86,7 +86,9 @@ describe('Address Manager', () => {
86
86
} )
87
87
88
88
it ( 'should add appendAnnounce multiaddrs on get' , ( ) => {
89
- const transportManager = stubInterface < TransportManager > ( )
89
+ const transportManager = stubInterface < TransportManager > ( {
90
+ getListeners : Sinon . stub ( ) . returns ( [ ] )
91
+ } )
90
92
const am = new AddressManager ( {
91
93
peerId,
92
94
transportManager,
@@ -810,6 +812,60 @@ describe('Address Manager', () => {
810
812
type : 'observed'
811
813
} ] )
812
814
} )
815
+
816
+ it ( 'should allow updating announce addresses' , async ( ) => {
817
+ const listener = stubInterface < Listener > ( {
818
+ updateAnnounceAddrs : Sinon . stub ( ) . returnsArg ( 0 )
819
+ } )
820
+
821
+ const am = new AddressManager ( {
822
+ peerId,
823
+ transportManager : stubInterface < TransportManager > ( {
824
+ getListeners : Sinon . stub ( ) . returns ( [
825
+ listener
826
+ ] )
827
+ } ) ,
828
+ peerStore,
829
+ events,
830
+ logger : defaultLogger ( )
831
+ } , {
832
+ announce : [
833
+ '/ip4/123.123.123.123/tcp/1234'
834
+ ]
835
+ } )
836
+
837
+ expect ( am . getAddresses ( ) ) . to . have . lengthOf ( 1 )
838
+ expect ( listener . updateAnnounceAddrs . called ) . to . be . true ( )
839
+ } )
840
+
841
+ it ( 'should allow updating appendAnnounce addresses' , async ( ) => {
842
+ const listener = stubInterface < Listener > ( {
843
+ updateAnnounceAddrs : Sinon . stub ( ) . returnsArg ( 0 )
844
+ } )
845
+
846
+ const am = new AddressManager ( {
847
+ peerId,
848
+ transportManager : stubInterface < TransportManager > ( {
849
+ getAddrs : Sinon . stub ( ) . returns ( [
850
+ multiaddr ( '/ip4/127.0.0.1/tcp/1234' ) ,
851
+ multiaddr ( '/ip4/192.168.1.123/tcp/1234' )
852
+ ] ) ,
853
+ getListeners : Sinon . stub ( ) . returns ( [
854
+ listener
855
+ ] )
856
+ } ) ,
857
+ peerStore,
858
+ events,
859
+ logger : defaultLogger ( )
860
+ } , {
861
+ appendAnnounce : [
862
+ '/ip4/123.123.123.123/tcp/1234'
863
+ ]
864
+ } )
865
+
866
+ expect ( am . getAddresses ( ) ) . to . have . lengthOf ( 3 )
867
+ expect ( listener . updateAnnounceAddrs . called ) . to . be . true ( )
868
+ } )
813
869
} )
814
870
815
871
function mapAddress ( addr : NodeAddress ) : Pick < NodeAddress , 'multiaddr' | 'verified' | 'type' > {
0 commit comments