1 |
|
2 |
|
3 | 'use strict'
|
4 |
|
5 | const chai = require('chai')
|
6 | chai.use(require('dirty-chai'))
|
7 | const expect = chai.expect
|
8 |
|
9 | const PubSubRoom = require('../')
|
10 | const createLibp2p = require('./utils/create-libp2p')
|
11 |
|
12 | const topic = 'pubsub-same-node-test-' + Date.now() + '-' + Math.random()
|
13 |
|
14 | describe('same node', function () {
|
15 | this.timeout(30000)
|
16 | let node
|
17 | const rooms = []
|
18 |
|
19 | before(async () => {
|
20 | node = await createLibp2p()
|
21 | })
|
22 |
|
23 | before(() => {
|
24 | for (let i = 0; i < 2; i++) {
|
25 | rooms.push(new PubSubRoom(node, topic))
|
26 | }
|
27 | })
|
28 |
|
29 | after(() => {
|
30 | return Promise.all(
|
31 | rooms.map(room => room.leave())
|
32 | )
|
33 | })
|
34 |
|
35 | after(() => node.stop())
|
36 |
|
37 | it('mirrors broadcast', (done) => {
|
38 | rooms[0].once('message', (message) => {
|
39 | expect(message.data.toString()).to.equal('message 1')
|
40 | rooms[0].once('message', (message) => {
|
41 | expect(message.data.toString()).to.equal('message 2')
|
42 | done()
|
43 | })
|
44 | })
|
45 | rooms[1].broadcast('message 1')
|
46 | rooms[1].broadcast('message 2')
|
47 | })
|
48 | })
|