@streamr/trackerless-network 100.0.0 → 100.1.1
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.
- package/dist/package.json +6 -6
- package/dist/src/NetworkNode.js +11 -11
- package/dist/src/NetworkNode.js.map +1 -1
- package/dist/src/NetworkStack.d.ts +4 -4
- package/dist/src/NetworkStack.js +18 -16
- package/dist/src/NetworkStack.js.map +1 -1
- package/dist/src/exports.d.ts +1 -1
- package/dist/src/logic/{StreamrNode.d.ts → ContentDeliveryManager.d.ts} +6 -6
- package/dist/src/logic/{StreamrNode.js → ContentDeliveryManager.js} +7 -9
- package/dist/src/logic/ContentDeliveryManager.js.map +1 -0
- package/dist/src/logic/{DeliveryRpcLocal.d.ts → ContentDeliveryRpcLocal.d.ts} +4 -4
- package/dist/src/logic/{DeliveryRpcLocal.js → ContentDeliveryRpcLocal.js} +4 -4
- package/dist/src/logic/ContentDeliveryRpcLocal.js.map +1 -0
- package/dist/src/logic/{DeliveryRpcRemote.d.ts → ContentDeliveryRpcRemote.d.ts} +2 -2
- package/dist/src/logic/{DeliveryRpcRemote.js → ContentDeliveryRpcRemote.js} +4 -4
- package/dist/src/logic/ContentDeliveryRpcRemote.js.map +1 -0
- package/dist/src/logic/EntryPointDiscovery.js +1 -1
- package/dist/src/logic/EntryPointDiscovery.js.map +1 -1
- package/dist/src/logic/NodeList.d.ts +11 -11
- package/dist/src/logic/NodeList.js.map +1 -1
- package/dist/src/logic/RandomGraphNode.d.ts +1 -1
- package/dist/src/logic/RandomGraphNode.js +12 -12
- package/dist/src/logic/RandomGraphNode.js.map +1 -1
- package/dist/src/logic/createRandomGraphNode.js +1 -1
- package/dist/src/logic/createRandomGraphNode.js.map +1 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.d.ts +1 -1
- package/dist/src/logic/formStreamPartDeliveryServiceId.js +4 -3
- package/dist/src/logic/formStreamPartDeliveryServiceId.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.d.ts +2 -2
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js +3 -3
- package/dist/src/logic/neighbor-discovery/HandshakeRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js +2 -2
- package/dist/src/logic/neighbor-discovery/HandshakeRpcRemote.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.d.ts +1 -1
- package/dist/src/logic/neighbor-discovery/Handshaker.js +6 -6
- package/dist/src/logic/neighbor-discovery/Handshaker.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js +2 -2
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.js.map +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js +1 -1
- package/dist/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.js.map +1 -1
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js +6 -0
- package/dist/src/logic/protocol-integration/stream-message/StreamMessageTranslator.js.map +1 -1
- package/dist/src/logic/proxy/ProxyClient.d.ts +1 -1
- package/dist/src/logic/proxy/ProxyClient.js +8 -8
- package/dist/src/logic/proxy/ProxyClient.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.d.ts +2 -2
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js +3 -3
- package/dist/src/logic/proxy/ProxyConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js +1 -1
- package/dist/src/logic/proxy/ProxyConnectionRpcRemote.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js +3 -3
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcLocal.js.map +1 -1
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js +2 -2
- package/dist/src/logic/temporary-connection/TemporaryConnectionRpcRemote.js.map +1 -1
- package/dist/src/proto/google/protobuf/any.d.ts +11 -4
- package/dist/src/proto/google/protobuf/any.js.map +1 -1
- package/dist/src/proto/google/protobuf/empty.d.ts +0 -1
- package/dist/src/proto/google/protobuf/empty.js.map +1 -1
- package/dist/src/proto/google/protobuf/timestamp.d.ts +9 -3
- package/dist/src/proto/google/protobuf/timestamp.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.d.ts +10 -0
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +9 -2
- package/dist/src/proto/packages/dht/protos/DhtRpc.client.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +44 -0
- package/dist/src/proto/packages/dht/protos/DhtRpc.js +29 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
- package/dist/src/proto/packages/dht/protos/DhtRpc.server.d.ts +6 -0
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.d.ts +4 -4
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js +7 -7
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.client.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.d.ts +9 -5
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js +8 -4
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.js.map +1 -1
- package/dist/src/proto/packages/trackerless-network/protos/NetworkRpc.server.d.ts +2 -2
- package/dist/test/benchmark/first-message.js +4 -4
- package/dist/test/benchmark/first-message.js.map +1 -1
- package/dist/test/utils/utils.d.ts +2 -2
- package/dist/test/utils/utils.js +9 -6
- package/dist/test/utils/utils.js.map +1 -1
- package/karma.config.js +2 -0
- package/package.json +6 -6
- package/protos/NetworkRpc.proto +3 -2
- package/src/NetworkNode.ts +11 -11
- package/src/NetworkStack.ts +23 -18
- package/src/exports.ts +1 -1
- package/src/logic/{StreamrNode.ts → ContentDeliveryManager.ts} +12 -13
- package/src/logic/{DeliveryRpcLocal.ts → ContentDeliveryRpcLocal.ts} +5 -5
- package/src/logic/{DeliveryRpcRemote.ts → ContentDeliveryRpcRemote.ts} +2 -2
- package/src/logic/EntryPointDiscovery.ts +1 -1
- package/src/logic/NodeList.ts +13 -13
- package/src/logic/RandomGraphNode.ts +19 -21
- package/src/logic/createRandomGraphNode.ts +2 -2
- package/src/logic/formStreamPartDeliveryServiceId.ts +2 -1
- package/src/logic/neighbor-discovery/HandshakeRpcLocal.ts +5 -5
- package/src/logic/neighbor-discovery/HandshakeRpcRemote.ts +2 -2
- package/src/logic/neighbor-discovery/Handshaker.ts +10 -11
- package/src/logic/neighbor-discovery/NeighborUpdateRpcLocal.ts +4 -4
- package/src/logic/neighbor-discovery/NeighborUpdateRpcRemote.ts +1 -1
- package/src/logic/protocol-integration/stream-message/StreamMessageTranslator.ts +16 -10
- package/src/logic/proxy/ProxyClient.ts +11 -11
- package/src/logic/proxy/ProxyConnectionRpcLocal.ts +6 -6
- package/src/logic/proxy/ProxyConnectionRpcRemote.ts +1 -1
- package/src/logic/temporary-connection/TemporaryConnectionRpcLocal.ts +5 -5
- package/src/logic/temporary-connection/TemporaryConnectionRpcRemote.ts +2 -2
- package/src/proto/google/protobuf/any.ts +11 -4
- package/src/proto/google/protobuf/empty.ts +0 -1
- package/src/proto/google/protobuf/timestamp.ts +9 -3
- package/src/proto/packages/dht/protos/DhtRpc.client.ts +15 -2
- package/src/proto/packages/dht/protos/DhtRpc.server.ts +6 -0
- package/src/proto/packages/dht/protos/DhtRpc.ts +58 -0
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.client.ts +8 -8
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.server.ts +2 -2
- package/src/proto/packages/trackerless-network/protos/NetworkRpc.ts +10 -6
- package/test/benchmark/first-message.ts +4 -4
- package/test/end-to-end/inspect.test.ts +6 -6
- package/test/end-to-end/proxy-and-full-node.test.ts +19 -19
- package/test/end-to-end/proxy-connections.test.ts +7 -7
- package/test/end-to-end/proxy-key-exchange.test.ts +3 -3
- package/test/end-to-end/webrtc-full-node-network.test.ts +8 -8
- package/test/end-to-end/websocket-full-node-network.test.ts +9 -9
- package/test/integration/ContentDeliveryManager.test.ts +135 -0
- package/test/integration/{DeliveryRpcRemote.test.ts → ContentDeliveryRpcRemote.test.ts} +6 -6
- package/test/integration/Inspect.test.ts +2 -2
- package/test/integration/NetworkRpc.test.ts +3 -3
- package/test/integration/NetworkStack.test.ts +7 -7
- package/test/integration/NodeInfoRpc.test.ts +10 -10
- package/test/integration/joining-streams-on-offline-peers.test.ts +3 -3
- package/test/integration/streamEntryPointReplacing.test.ts +6 -4
- package/test/unit/ContentDeliveryManager.test.ts +96 -0
- package/test/unit/{DeliveryRpcLocal.test.ts → ContentDeliveryRpcLocal.test.ts} +4 -4
- package/test/unit/HandshakeRpcLocal.test.ts +19 -19
- package/test/unit/Handshaker.test.ts +2 -2
- package/test/unit/NeighborFinder.test.ts +2 -2
- package/test/unit/NeighborUpdateRpcLocal.test.ts +8 -8
- package/test/unit/NetworkNode.test.ts +6 -6
- package/test/unit/NodeList.test.ts +6 -6
- package/test/unit/RandomGraphNode.test.ts +3 -3
- package/test/utils/utils.ts +9 -6
- package/dist/src/logic/DeliveryRpcLocal.js.map +0 -1
- package/dist/src/logic/DeliveryRpcRemote.js.map +0 -1
- package/dist/src/logic/StreamrNode.js.map +0 -1
- package/test/integration/StreamrNode.test.ts +0 -131
- package/test/unit/StreamrNode.test.ts +0 -98
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import { DhtNode, PeerDescriptor, Simulator, SimulatorTransport } from '@streamr/dht'
|
|
2
|
-
import { StreamrNode, Events } from '../../src/logic/StreamrNode'
|
|
3
|
-
import { waitForEvent3, waitForCondition } from '@streamr/utils'
|
|
4
|
-
import { createMockPeerDescriptor, createStreamMessage } from '../utils/utils'
|
|
5
|
-
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
6
|
-
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
7
|
-
import { Layer0Node } from '../../src/logic/Layer0Node'
|
|
8
|
-
|
|
9
|
-
describe('StreamrNode', () => {
|
|
10
|
-
|
|
11
|
-
let layer0Node1: Layer0Node
|
|
12
|
-
let layer0Node2: Layer0Node
|
|
13
|
-
let transport1: SimulatorTransport
|
|
14
|
-
let transport2: SimulatorTransport
|
|
15
|
-
let node1: StreamrNode
|
|
16
|
-
let node2: StreamrNode
|
|
17
|
-
|
|
18
|
-
const peerDescriptor1: PeerDescriptor = createMockPeerDescriptor()
|
|
19
|
-
const peerDescriptor2: PeerDescriptor = createMockPeerDescriptor()
|
|
20
|
-
const STREAM_PART_ID = StreamPartIDUtils.parse('test#0')
|
|
21
|
-
|
|
22
|
-
const msg = createStreamMessage(
|
|
23
|
-
JSON.stringify({ hello: 'WORLD' }),
|
|
24
|
-
STREAM_PART_ID,
|
|
25
|
-
randomEthereumAddress()
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
afterEach(async () => {
|
|
29
|
-
await Promise.all([
|
|
30
|
-
node1.destroy(),
|
|
31
|
-
node2.destroy()
|
|
32
|
-
])
|
|
33
|
-
})
|
|
34
|
-
|
|
35
|
-
beforeEach(async () => {
|
|
36
|
-
const simulator = new Simulator()
|
|
37
|
-
transport1 = new SimulatorTransport(peerDescriptor1, simulator)
|
|
38
|
-
await transport1.start()
|
|
39
|
-
transport2 = new SimulatorTransport(peerDescriptor2, simulator)
|
|
40
|
-
await transport2.start()
|
|
41
|
-
layer0Node1 = new DhtNode({
|
|
42
|
-
transport: transport1,
|
|
43
|
-
peerDescriptor: peerDescriptor1,
|
|
44
|
-
entryPoints: [peerDescriptor1]
|
|
45
|
-
})
|
|
46
|
-
layer0Node2 = new DhtNode({
|
|
47
|
-
transport: transport2,
|
|
48
|
-
peerDescriptor: peerDescriptor2,
|
|
49
|
-
entryPoints: [peerDescriptor1]
|
|
50
|
-
})
|
|
51
|
-
await Promise.all([
|
|
52
|
-
layer0Node1.start(),
|
|
53
|
-
layer0Node2.start()
|
|
54
|
-
])
|
|
55
|
-
await Promise.all([
|
|
56
|
-
layer0Node1.joinDht([peerDescriptor1]),
|
|
57
|
-
layer0Node2.joinDht([peerDescriptor1])
|
|
58
|
-
])
|
|
59
|
-
|
|
60
|
-
node1 = new StreamrNode({})
|
|
61
|
-
node2 = new StreamrNode({})
|
|
62
|
-
await node1.start(layer0Node1, transport1, transport1)
|
|
63
|
-
node1.setStreamPartEntryPoints(STREAM_PART_ID, [peerDescriptor1])
|
|
64
|
-
await node2.start(layer0Node2, transport2, transport2)
|
|
65
|
-
node2.setStreamPartEntryPoints(STREAM_PART_ID, [peerDescriptor1])
|
|
66
|
-
})
|
|
67
|
-
|
|
68
|
-
it('starts', async () => {
|
|
69
|
-
expect(node1.getPeerDescriptor()).toEqual(peerDescriptor1)
|
|
70
|
-
expect(node2.getPeerDescriptor()).toEqual(peerDescriptor2)
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
it('Joining stream', async () => {
|
|
74
|
-
node1.joinStreamPart(STREAM_PART_ID)
|
|
75
|
-
node2.joinStreamPart(STREAM_PART_ID)
|
|
76
|
-
await waitForCondition(() => node1.getNeighbors(STREAM_PART_ID).length === 1)
|
|
77
|
-
await waitForCondition(() => node2.getNeighbors(STREAM_PART_ID).length === 1)
|
|
78
|
-
expect(node1.getNeighbors(STREAM_PART_ID).length).toEqual(1)
|
|
79
|
-
expect(node2.getNeighbors(STREAM_PART_ID).length).toEqual(1)
|
|
80
|
-
})
|
|
81
|
-
|
|
82
|
-
it('Publishing after joining and waiting for neighbors', async () => {
|
|
83
|
-
node1.joinStreamPart(STREAM_PART_ID)
|
|
84
|
-
node2.joinStreamPart(STREAM_PART_ID)
|
|
85
|
-
await waitForCondition(() => node1.getNeighbors(STREAM_PART_ID).length === 1)
|
|
86
|
-
await waitForCondition(() => node2.getNeighbors(STREAM_PART_ID).length === 1)
|
|
87
|
-
await Promise.all([
|
|
88
|
-
waitForEvent3<Events>(node1, 'newMessage'),
|
|
89
|
-
node2.broadcast(msg)
|
|
90
|
-
])
|
|
91
|
-
})
|
|
92
|
-
|
|
93
|
-
it('multi-stream pub/sub', async () => {
|
|
94
|
-
const streamPartId2 = StreamPartIDUtils.parse('test2#0')
|
|
95
|
-
node1.setStreamPartEntryPoints(streamPartId2, [peerDescriptor1])
|
|
96
|
-
node2.setStreamPartEntryPoints(streamPartId2, [peerDescriptor1])
|
|
97
|
-
node1.joinStreamPart(STREAM_PART_ID)
|
|
98
|
-
node1.joinStreamPart(streamPartId2)
|
|
99
|
-
node2.joinStreamPart(STREAM_PART_ID)
|
|
100
|
-
node2.joinStreamPart(streamPartId2)
|
|
101
|
-
await Promise.all([
|
|
102
|
-
waitForCondition(() => node1.getNeighbors(STREAM_PART_ID).length === 1),
|
|
103
|
-
waitForCondition(() => node2.getNeighbors(STREAM_PART_ID).length === 1),
|
|
104
|
-
waitForCondition(() => node1.getNeighbors(streamPartId2).length === 1),
|
|
105
|
-
waitForCondition(() => node2.getNeighbors(streamPartId2).length === 1)
|
|
106
|
-
])
|
|
107
|
-
const msg2 = createStreamMessage(
|
|
108
|
-
JSON.stringify({ hello: 'WORLD' }),
|
|
109
|
-
streamPartId2,
|
|
110
|
-
randomEthereumAddress()
|
|
111
|
-
)
|
|
112
|
-
await Promise.all([
|
|
113
|
-
waitForEvent3<Events>(node1, 'newMessage'),
|
|
114
|
-
waitForEvent3<Events>(node2, 'newMessage'),
|
|
115
|
-
node1.broadcast(msg2),
|
|
116
|
-
node2.broadcast(msg)
|
|
117
|
-
])
|
|
118
|
-
})
|
|
119
|
-
|
|
120
|
-
it('leaving stream parts', async () => {
|
|
121
|
-
node1.joinStreamPart(STREAM_PART_ID)
|
|
122
|
-
node2.joinStreamPart(STREAM_PART_ID)
|
|
123
|
-
await Promise.all([
|
|
124
|
-
waitForCondition(() => node1.getNeighbors(STREAM_PART_ID).length === 1),
|
|
125
|
-
waitForCondition(() => node2.getNeighbors(STREAM_PART_ID).length === 1)
|
|
126
|
-
])
|
|
127
|
-
await node2.leaveStreamPart(STREAM_PART_ID)
|
|
128
|
-
await waitForCondition(() => node1.getNeighbors(STREAM_PART_ID).length === 0)
|
|
129
|
-
})
|
|
130
|
-
|
|
131
|
-
})
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { areEqualPeerDescriptors } from '@streamr/dht'
|
|
2
|
-
import { StreamPartIDUtils } from '@streamr/protocol'
|
|
3
|
-
import { randomEthereumAddress } from '@streamr/test-utils'
|
|
4
|
-
import { waitForCondition } from '@streamr/utils'
|
|
5
|
-
import { StreamrNode } from '../../src/logic/StreamrNode'
|
|
6
|
-
import { MockLayer0Node } from '../utils/mock/MockLayer0Node'
|
|
7
|
-
import { MockTransport } from '../utils/mock/Transport'
|
|
8
|
-
import { createMockPeerDescriptor, createStreamMessage, mockConnectionLocker } from '../utils/utils'
|
|
9
|
-
import { ProxyDirection } from '../../src/proto/packages/trackerless-network/protos/NetworkRpc'
|
|
10
|
-
|
|
11
|
-
describe('StreamrNode', () => {
|
|
12
|
-
|
|
13
|
-
let node: StreamrNode
|
|
14
|
-
const peerDescriptor = createMockPeerDescriptor()
|
|
15
|
-
|
|
16
|
-
beforeEach(async () => {
|
|
17
|
-
node = new StreamrNode({})
|
|
18
|
-
const mockLayer0 = new MockLayer0Node(peerDescriptor)
|
|
19
|
-
await node.start(mockLayer0, new MockTransport(), mockConnectionLocker)
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
afterEach(async () => {
|
|
23
|
-
await node.destroy()
|
|
24
|
-
})
|
|
25
|
-
|
|
26
|
-
it('PeerDescriptor is correct', () => {
|
|
27
|
-
expect(areEqualPeerDescriptors(peerDescriptor, node.getPeerDescriptor()))
|
|
28
|
-
})
|
|
29
|
-
|
|
30
|
-
describe('join and leave', () => {
|
|
31
|
-
|
|
32
|
-
const streamPartId = StreamPartIDUtils.parse('stream#0')
|
|
33
|
-
const message = createStreamMessage(
|
|
34
|
-
JSON.stringify({ hello: 'WORLD' }),
|
|
35
|
-
streamPartId,
|
|
36
|
-
randomEthereumAddress()
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
beforeEach(async () => {
|
|
40
|
-
node.setStreamPartEntryPoints(streamPartId, [node.getPeerDescriptor()])
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
it('can join stream part', async () => {
|
|
44
|
-
node.joinStreamPart(streamPartId)
|
|
45
|
-
expect(node.hasStreamPart(streamPartId)).toEqual(true)
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
it('can leave stream part', async () => {
|
|
49
|
-
node.joinStreamPart(streamPartId)
|
|
50
|
-
expect(node.hasStreamPart(streamPartId)).toEqual(true)
|
|
51
|
-
await node.leaveStreamPart(streamPartId)
|
|
52
|
-
expect(node.hasStreamPart(streamPartId)).toEqual(false)
|
|
53
|
-
})
|
|
54
|
-
|
|
55
|
-
it('broadcast joins stream', async () => {
|
|
56
|
-
node.broadcast(message)
|
|
57
|
-
await waitForCondition(() => node.hasStreamPart(streamPartId))
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
})
|
|
61
|
-
|
|
62
|
-
describe('proxied stream', () => {
|
|
63
|
-
it('happy path', async () => {
|
|
64
|
-
const streamPartId = StreamPartIDUtils.parse('stream#0')
|
|
65
|
-
const proxy = createMockPeerDescriptor()
|
|
66
|
-
const userId = randomEthereumAddress()
|
|
67
|
-
await node.setProxies(streamPartId, [proxy], ProxyDirection.PUBLISH, userId)
|
|
68
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(true)
|
|
69
|
-
await node.setProxies(streamPartId, [], ProxyDirection.PUBLISH, userId)
|
|
70
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(false)
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
it('empty node list', async () => {
|
|
74
|
-
const streamPartId = StreamPartIDUtils.parse('stream#0')
|
|
75
|
-
const proxy = createMockPeerDescriptor()
|
|
76
|
-
const userId = randomEthereumAddress()
|
|
77
|
-
await node.setProxies(streamPartId, [], ProxyDirection.PUBLISH, userId)
|
|
78
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(false)
|
|
79
|
-
await node.setProxies(streamPartId, [proxy], ProxyDirection.PUBLISH, userId)
|
|
80
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(true)
|
|
81
|
-
await node.setProxies(streamPartId, [], ProxyDirection.PUBLISH, userId)
|
|
82
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(false)
|
|
83
|
-
})
|
|
84
|
-
|
|
85
|
-
it('connection count to 0', async () => {
|
|
86
|
-
const streamPartId = StreamPartIDUtils.parse('stream#0')
|
|
87
|
-
const proxy = createMockPeerDescriptor()
|
|
88
|
-
const userId = randomEthereumAddress()
|
|
89
|
-
await node.setProxies(streamPartId, [proxy], ProxyDirection.PUBLISH, userId, 0)
|
|
90
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(false)
|
|
91
|
-
await node.setProxies(streamPartId, [proxy], ProxyDirection.PUBLISH, userId)
|
|
92
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(true)
|
|
93
|
-
await node.setProxies(streamPartId, [proxy], ProxyDirection.PUBLISH, userId, 0)
|
|
94
|
-
expect(node.isProxiedStreamPart(streamPartId)).toBe(false)
|
|
95
|
-
})
|
|
96
|
-
})
|
|
97
|
-
|
|
98
|
-
})
|