@libp2p/interface-compliance-tests 1.1.0 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/src/{utils/mock-connection-gater.d.ts → mocks/connection-gater.d.ts} +1 -1
  2. package/dist/src/mocks/connection-gater.d.ts.map +1 -0
  3. package/dist/src/{utils/mock-connection-gater.js → mocks/connection-gater.js} +1 -1
  4. package/dist/src/mocks/connection-gater.js.map +1 -0
  5. package/dist/src/mocks/connection-manager.d.ts +18 -0
  6. package/dist/src/mocks/connection-manager.d.ts.map +1 -0
  7. package/dist/src/mocks/connection-manager.js +22 -0
  8. package/dist/src/mocks/connection-manager.js.map +1 -0
  9. package/dist/src/mocks/connection.d.ts +8 -0
  10. package/dist/src/mocks/connection.d.ts.map +1 -0
  11. package/dist/src/{utils/mock-connection.js → mocks/connection.js} +36 -3
  12. package/dist/src/mocks/connection.js.map +1 -0
  13. package/dist/src/mocks/index.d.ts +9 -0
  14. package/dist/src/mocks/index.d.ts.map +1 -0
  15. package/dist/src/mocks/index.js +8 -0
  16. package/dist/src/mocks/index.js.map +1 -0
  17. package/dist/src/{utils/mock-multiaddr-connection.d.ts → mocks/multiaddr-connection.d.ts} +2 -2
  18. package/dist/src/mocks/multiaddr-connection.d.ts.map +1 -0
  19. package/dist/src/{utils/mock-multiaddr-connection.js → mocks/multiaddr-connection.js} +3 -3
  20. package/dist/src/mocks/multiaddr-connection.js.map +1 -0
  21. package/dist/src/{utils/mock-muxer.d.ts → mocks/muxer.d.ts} +1 -1
  22. package/dist/src/mocks/muxer.d.ts.map +1 -0
  23. package/dist/src/{utils/mock-muxer.js → mocks/muxer.js} +1 -1
  24. package/dist/src/mocks/muxer.js.map +1 -0
  25. package/dist/src/mocks/registrar.d.ts +14 -0
  26. package/dist/src/mocks/registrar.d.ts.map +1 -0
  27. package/dist/src/mocks/registrar.js +54 -0
  28. package/dist/src/mocks/registrar.js.map +1 -0
  29. package/dist/src/{utils/mock-upgrader.d.ts → mocks/upgrader.d.ts} +1 -1
  30. package/dist/src/mocks/upgrader.d.ts.map +1 -0
  31. package/dist/src/{utils/mock-upgrader.js → mocks/upgrader.js} +3 -3
  32. package/dist/src/mocks/upgrader.js.map +1 -0
  33. package/dist/src/peer-discovery/index.d.ts.map +1 -1
  34. package/dist/src/peer-discovery/index.js +5 -5
  35. package/dist/src/peer-discovery/index.js.map +1 -1
  36. package/dist/src/pubsub/api.d.ts +2 -2
  37. package/dist/src/pubsub/api.d.ts.map +1 -1
  38. package/dist/src/pubsub/api.js +6 -6
  39. package/dist/src/pubsub/api.js.map +1 -1
  40. package/dist/src/pubsub/connection-handlers.d.ts +2 -2
  41. package/dist/src/pubsub/connection-handlers.d.ts.map +1 -1
  42. package/dist/src/pubsub/connection-handlers.js +18 -9
  43. package/dist/src/pubsub/connection-handlers.js.map +1 -1
  44. package/dist/src/pubsub/emit-self.d.ts +2 -2
  45. package/dist/src/pubsub/emit-self.d.ts.map +1 -1
  46. package/dist/src/pubsub/emit-self.js +6 -2
  47. package/dist/src/pubsub/emit-self.js.map +1 -1
  48. package/dist/src/pubsub/index.d.ts +9 -3
  49. package/dist/src/pubsub/index.d.ts.map +1 -1
  50. package/dist/src/pubsub/index.js.map +1 -1
  51. package/dist/src/pubsub/messages.d.ts +2 -2
  52. package/dist/src/pubsub/messages.d.ts.map +1 -1
  53. package/dist/src/pubsub/messages.js.map +1 -1
  54. package/dist/src/pubsub/multiple-nodes.d.ts +2 -2
  55. package/dist/src/pubsub/multiple-nodes.d.ts.map +1 -1
  56. package/dist/src/pubsub/multiple-nodes.js +58 -35
  57. package/dist/src/pubsub/multiple-nodes.js.map +1 -1
  58. package/dist/src/pubsub/two-nodes.d.ts +2 -2
  59. package/dist/src/pubsub/two-nodes.d.ts.map +1 -1
  60. package/dist/src/pubsub/two-nodes.js +44 -19
  61. package/dist/src/pubsub/two-nodes.js.map +1 -1
  62. package/dist/src/topology/topology.d.ts.map +1 -1
  63. package/dist/src/topology/topology.js +1 -10
  64. package/dist/src/topology/topology.js.map +1 -1
  65. package/dist/src/transport/listen-test.d.ts.map +1 -1
  66. package/dist/src/transport/listen-test.js +10 -7
  67. package/dist/src/transport/listen-test.js.map +1 -1
  68. package/package.json +7 -26
  69. package/src/{utils/mock-connection-gater.ts → mocks/connection-gater.ts} +0 -0
  70. package/src/mocks/connection-manager.ts +30 -0
  71. package/src/{utils/mock-connection.ts → mocks/connection.ts} +39 -4
  72. package/src/mocks/index.ts +9 -0
  73. package/src/{utils/mock-multiaddr-connection.ts → mocks/multiaddr-connection.ts} +3 -3
  74. package/src/{utils/mock-muxer.ts → mocks/muxer.ts} +0 -0
  75. package/src/mocks/registrar.ts +71 -0
  76. package/src/{utils/mock-upgrader.ts → mocks/upgrader.ts} +2 -2
  77. package/src/peer-discovery/index.ts +5 -7
  78. package/src/pubsub/api.ts +10 -11
  79. package/src/pubsub/connection-handlers.ts +22 -13
  80. package/src/pubsub/emit-self.ts +9 -5
  81. package/src/pubsub/index.ts +10 -3
  82. package/src/pubsub/messages.ts +3 -3
  83. package/src/pubsub/multiple-nodes.ts +68 -45
  84. package/src/pubsub/two-nodes.ts +48 -23
  85. package/src/topology/topology.ts +1 -14
  86. package/src/transport/listen-test.ts +10 -7
  87. package/dist/src/topology/multicodec-topology.d.ts +0 -5
  88. package/dist/src/topology/multicodec-topology.d.ts.map +0 -1
  89. package/dist/src/topology/multicodec-topology.js +0 -109
  90. package/dist/src/topology/multicodec-topology.js.map +0 -1
  91. package/dist/src/utils/mock-connection-gater.d.ts.map +0 -1
  92. package/dist/src/utils/mock-connection-gater.js.map +0 -1
  93. package/dist/src/utils/mock-connection.d.ts +0 -5
  94. package/dist/src/utils/mock-connection.d.ts.map +0 -1
  95. package/dist/src/utils/mock-connection.js.map +0 -1
  96. package/dist/src/utils/mock-multiaddr-connection.d.ts.map +0 -1
  97. package/dist/src/utils/mock-multiaddr-connection.js.map +0 -1
  98. package/dist/src/utils/mock-muxer.d.ts.map +0 -1
  99. package/dist/src/utils/mock-muxer.js.map +0 -1
  100. package/dist/src/utils/mock-upgrader.d.ts.map +0 -1
  101. package/dist/src/utils/mock-upgrader.js.map +0 -1
  102. package/src/topology/multicodec-topology.ts +0 -136
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,wBAAgB,SAAS,IAAK,KAAK,CAoClC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-muxer.js","sourceRoot":"","sources":["../../../src/utils/mock-muxer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,MAAM,UAAU,CAAA;AAI5B,MAAM,UAAU,SAAS;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,OAAO,GAAa,EAAE,CAAA;IAC1B,MAAM,CAAC,GAAG,QAAQ,EAAc,CAAA;IAEhC,MAAM,KAAK,GAAU;QACnB,MAAM,EAAE,CAAC;QACT,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACrB,MAAM,KAAK,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,IAAI,OAAO;YACT,OAAO,OAAO,CAAA;QAChB,CAAC;QACD,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,EAAc,CAAA;YAE/B,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,EAAE,CAAA;YAC1B,MAAM,MAAM,GAAW;gBACrB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,GAAG,EAAE;oBACV,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAA;gBAC7C,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;gBACf,QAAQ,EAAE;oBACR,IAAI,EAAE,CAAC;iBACR;aACF,CAAA;YAED,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.d.ts","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAuB,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAA;AAE5D,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED,wBAAgB,YAAY,CAAE,OAAO,GAAE,mBAAwB,YAsB9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mock-upgrader.js","sourceRoot":"","sources":["../../../src/utils/mock-upgrader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAQrD,MAAM,UAAU,YAAY,CAAE,UAA+B,EAAE;IAC7D,MAAM,WAAW,GAAG,CAAC,mBAAwC,EAAE,EAAE;QAC/D,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,mBAAmB,CAAA;IAC5B,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,CAAA;IAE1C,MAAM,QAAQ,GAAa;QACzB,KAAK,CAAC,eAAe,CAAE,mBAAmB;YACxC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;QACrE,CAAC;QACD,KAAK,CAAC,cAAc,CAAE,mBAAmB;YACvC,WAAW,CAAC,mBAAmB,CAAC,CAAA;YAChC,OAAO,MAAM,cAAc,CAAC,mBAAmB,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;QACpE,CAAC;KACF,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
@@ -1,136 +0,0 @@
1
- import { expect } from 'aegir/utils/chai.js'
2
- import sinon from 'sinon'
3
- import * as PeerIdFactory from '@libp2p/peer-id-factory'
4
- import peers from '../utils/peers.js'
5
- import type { TestSetup } from '../index.js'
6
- import type { MulticodecTopology } from '@libp2p/interfaces/topology'
7
- import type { PeerId } from '@libp2p/interfaces/peer-id'
8
-
9
- export default (test: TestSetup<MulticodecTopology>) => {
10
- describe('multicodec topology', () => {
11
- let topology: MulticodecTopology, id: PeerId
12
-
13
- beforeEach(async () => {
14
- topology = await test.setup()
15
-
16
- id = await PeerIdFactory.createFromJSON(peers[0])
17
- })
18
-
19
- afterEach(async () => {
20
- sinon.restore()
21
- await test.teardown()
22
- })
23
-
24
- it('should have properties set', () => {
25
- expect(topology.multicodecs).to.exist()
26
- expect(topology.peers).to.exist()
27
- })
28
-
29
- it('should trigger "onDisconnect" on peer disconnected', () => {
30
- // @ts-expect-error protected property
31
- sinon.spy(topology, '_onDisconnect')
32
- topology.disconnect(id)
33
-
34
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
35
- })
36
-
37
- it('should update peers on protocol change', async () => {
38
- // @ts-expect-error protected property
39
- sinon.spy(topology, '_updatePeers')
40
- expect(topology.peers.size).to.eql(0)
41
-
42
- // @ts-expect-error protected property
43
- const peerStore = topology._registrar.peerStore
44
-
45
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
46
- peerStore.peers.set(id2.toString(), {
47
- id: id2,
48
- protocols: Array.from(topology.multicodecs)
49
- })
50
-
51
- peerStore.emit('change:protocols', {
52
- peerId: id2,
53
- protocols: Array.from(topology.multicodecs)
54
- })
55
-
56
- expect(topology).to.have.nested.property('_updatePeers.callCount', 1)
57
- expect(topology.peers.size).to.eql(1)
58
- })
59
-
60
- it('should disconnect if peer no longer supports a protocol', async () => {
61
- // @ts-expect-error protected property
62
- sinon.spy(topology, '_onDisconnect')
63
- expect(topology.peers.size).to.eql(0)
64
-
65
- // @ts-expect-error protected property
66
- const peerStore = topology._registrar.peerStore
67
-
68
- const id2 = await PeerIdFactory.createFromJSON(peers[1])
69
- peerStore.peers.set(id2.toString(), {
70
- id: id2,
71
- protocols: Array.from(topology.multicodecs)
72
- })
73
-
74
- peerStore.emit('change:protocols', {
75
- peerId: id2,
76
- protocols: Array.from(topology.multicodecs)
77
- })
78
-
79
- expect(topology.peers.size).to.eql(1)
80
-
81
- peerStore.peers.set(id2.toString(), {
82
- id: id2,
83
- protocols: []
84
- })
85
- // Peer does not support the protocol anymore
86
- peerStore.emit('change:protocols', {
87
- peerId: id2,
88
- protocols: []
89
- })
90
-
91
- expect(topology.peers.size).to.eql(1)
92
- expect(topology).to.have.nested.property('_onDisconnect.callCount', 1)
93
- // @ts-expect-error protected property
94
- expect(topology._onDisconnect.calledWith(id2)).to.equal(true)
95
- })
96
-
97
- it('should trigger "onConnect" when a peer connects and has one of the topology multicodecs in its known protocols', () => {
98
- // @ts-expect-error protected property
99
- sinon.spy(topology, '_onConnect')
100
- // @ts-expect-error protected property
101
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(topology.multicodecs)
102
- // @ts-expect-error protected property
103
- topology._registrar.connectionManager.emit('peer:connect', {
104
- remotePeer: id
105
- })
106
-
107
- expect(topology).to.have.nested.property('_onConnect.callCount', 1)
108
- })
109
-
110
- it('should not trigger "onConnect" when a peer connects and has none of the topology multicodecs in its known protocols', () => {
111
- // @ts-expect-error protected property
112
- sinon.spy(topology, '_onConnect')
113
- // @ts-expect-error protected property
114
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns([])
115
- // @ts-expect-error protected property
116
- topology._registrar.connectionManager.emit('peer:connect', {
117
- remotePeer: id
118
- })
119
-
120
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
121
- })
122
-
123
- it('should not trigger "onConnect" when a peer connects and its protocols are not known', () => {
124
- // @ts-expect-error protected property
125
- sinon.spy(topology, '_onConnect')
126
- // @ts-expect-error protected property
127
- sinon.stub(topology._registrar.peerStore.protoBook, 'get').returns(undefined)
128
- // @ts-expect-error protected property
129
- topology._registrar.connectionManager.emit('peer:connect', {
130
- remotePeer: id
131
- })
132
-
133
- expect(topology).to.have.nested.property('_onConnect.callCount', 0)
134
- })
135
- })
136
- }