mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 12:52:32 +00:00
82 lines
1.8 KiB
JavaScript
82 lines
1.8 KiB
JavaScript
/* eslint-env mocha */
|
|
|
|
const expect = require('chai').expect
|
|
const TCPlibp2p = require('../src')
|
|
const net = require('net')
|
|
const multiaddr = require('multiaddr')
|
|
|
|
describe('libp2p-tcp', function () {
|
|
this.timeout(10000)
|
|
var tcp
|
|
|
|
it('create', (done) => {
|
|
tcp = new TCPlibp2p()
|
|
expect(tcp).to.exist
|
|
done()
|
|
})
|
|
|
|
it('listen', (done) => {
|
|
const mh = multiaddr('/ip4/127.0.0.1/tcp/9090')
|
|
tcp.createListener(mh, (socket) => {
|
|
expect(socket).to.exist
|
|
socket.end()
|
|
tcp.close(() => {
|
|
done()
|
|
})
|
|
}, () => {
|
|
const socket = net.connect({ host: '127.0.0.1', port: 9090 })
|
|
socket.end()
|
|
})
|
|
})
|
|
|
|
it('dial', (done) => {
|
|
const server = net.createServer((socket) => {
|
|
expect(socket).to.exist
|
|
socket.end()
|
|
server.close(done)
|
|
})
|
|
|
|
server.listen(9090, () => {
|
|
const mh = multiaddr('/ip4/127.0.0.1/tcp/9090')
|
|
const socket = tcp.dial(mh)
|
|
socket.end()
|
|
})
|
|
})
|
|
|
|
it('listen on several', (done) => {
|
|
const mh1 = multiaddr('/ip4/127.0.0.1/tcp/9090')
|
|
const mh2 = multiaddr('/ip4/127.0.0.1/tcp/9091')
|
|
const tcp = new TCPlibp2p()
|
|
|
|
tcp.createListener([mh1, mh2], (socket) => {}, () => {
|
|
tcp.close(done)
|
|
})
|
|
})
|
|
|
|
it('get observed addrs', (done) => {
|
|
const mh = multiaddr('/ip4/127.0.0.1/tcp/9090')
|
|
var dialerObsAddrs
|
|
var listenerObsAddrs
|
|
|
|
tcp.createListener(mh, (conn) => {
|
|
expect(conn).to.exist
|
|
dialerObsAddrs = conn.getObservedAddrs()
|
|
conn.end()
|
|
}, () => {
|
|
const conn = tcp.dial(mh)
|
|
conn.on('end', () => {
|
|
listenerObsAddrs = conn.getObservedAddrs()
|
|
conn.end()
|
|
|
|
tcp.close(() => {
|
|
expect(listenerObsAddrs[0]).to.deep.equal(mh)
|
|
expect(dialerObsAddrs.length).to.equal(1)
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
})
|
|
|
|
it.skip('listen on IPv6', (done) => {})
|
|
})
|