mirror of
https://github.com/fluencelabs/js-libp2p-interfaces
synced 2025-04-01 20:21:08 +00:00
BREAKING CHANGE: new getMsgId return type is not backwards compatible with prior `string` return type.
79 lines
2.4 KiB
JavaScript
79 lines
2.4 KiB
JavaScript
/* eslint-env mocha */
|
|
'use strict'
|
|
|
|
const { expect } = require('aegir/utils/chai')
|
|
const utils = require('../../src/pubsub/utils')
|
|
const uint8ArrayFromString = require('uint8arrays/from-string')
|
|
|
|
describe('utils', () => {
|
|
it('randomSeqno', () => {
|
|
const first = utils.randomSeqno()
|
|
const second = utils.randomSeqno()
|
|
|
|
expect(first).to.have.length(8)
|
|
expect(second).to.have.length(8)
|
|
expect(first).to.not.eql(second)
|
|
})
|
|
|
|
it('msgId should not generate same ID for two different Uint8Arrays', () => {
|
|
const peerId = 'QmPNdSYk5Rfpo5euNqwtyizzmKXMNHdXeLjTQhcN4yfX22'
|
|
const msgId0 = utils.msgId(peerId, uint8ArrayFromString('15603533e990dfde', 'base16'))
|
|
const msgId1 = utils.msgId(peerId, uint8ArrayFromString('15603533e990dfe0', 'base16'))
|
|
expect(msgId0).to.not.deep.equal(msgId1)
|
|
})
|
|
|
|
it('anyMatch', () => {
|
|
[
|
|
[[1, 2, 3], [4, 5, 6], false],
|
|
[[1, 2], [1, 2], true],
|
|
[[1, 2, 3], [4, 5, 1], true],
|
|
[[5, 6, 1], [1, 2, 3], true],
|
|
[[], [], false],
|
|
[[1], [2], false]
|
|
].forEach((test) => {
|
|
expect(utils.anyMatch(new Set(test[0]), new Set(test[1])))
|
|
.to.eql(test[2])
|
|
|
|
expect(utils.anyMatch(new Set(test[0]), test[1]))
|
|
.to.eql(test[2])
|
|
})
|
|
})
|
|
|
|
it('ensureArray', () => {
|
|
expect(utils.ensureArray('hello')).to.be.eql(['hello'])
|
|
expect(utils.ensureArray([1, 2])).to.be.eql([1, 2])
|
|
})
|
|
|
|
it('converts an IN msg.from to b58', () => {
|
|
const binaryId = uint8ArrayFromString('1220e2187eb3e6c4fb3e7ff9ad4658610624a6315e0240fc6f37130eedb661e939cc', 'base16')
|
|
const stringId = 'QmdZEWgtaWAxBh93fELFT298La1rsZfhiC2pqwMVwy3jZM'
|
|
const m = [
|
|
{ from: binaryId },
|
|
{ from: stringId }
|
|
]
|
|
const expected = [
|
|
{ from: stringId },
|
|
{ from: stringId }
|
|
]
|
|
for (let i = 0; i < m.length; i++) {
|
|
expect(utils.normalizeInRpcMessage(m[i])).to.deep.eql(expected[i])
|
|
}
|
|
})
|
|
|
|
it('converts an OUT msg.from to binary', () => {
|
|
const binaryId = uint8ArrayFromString('1220e2187eb3e6c4fb3e7ff9ad4658610624a6315e0240fc6f37130eedb661e939cc', 'base16')
|
|
const stringId = 'QmdZEWgtaWAxBh93fELFT298La1rsZfhiC2pqwMVwy3jZM'
|
|
const m = [
|
|
{ from: binaryId },
|
|
{ from: stringId }
|
|
]
|
|
const expected = [
|
|
{ from: binaryId },
|
|
{ from: binaryId }
|
|
]
|
|
for (let i = 0; i < m.length; i++) {
|
|
expect(utils.normalizeOutRpcMessage(m[i])).to.deep.eql(expected[i])
|
|
}
|
|
})
|
|
})
|