2020-11-16 15:03:20 +01:00
|
|
|
'use strict'
|
|
|
|
/* eslint-env mocha */
|
|
|
|
|
|
|
|
const { expect } = require('aegir/utils/chai')
|
2021-04-08 18:34:20 +02:00
|
|
|
const { Multiaddr } = require('multiaddr')
|
2020-11-16 15:03:20 +01:00
|
|
|
|
|
|
|
const { publicAddressesFirst } = require('../src/address-sort')
|
|
|
|
|
|
|
|
describe('address-sort', () => {
|
|
|
|
it('should sort public addresses first', () => {
|
|
|
|
const addresses = [
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/127.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: false
|
|
|
|
},
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/30.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: false
|
|
|
|
},
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/31.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: false
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
const sortedAddresses = publicAddressesFirst(addresses)
|
2021-04-08 18:34:20 +02:00
|
|
|
expect(sortedAddresses[0].multiaddr.equals(new Multiaddr('/ip4/30.0.0.1/tcp/4000'))).to.eql(true)
|
|
|
|
expect(sortedAddresses[1].multiaddr.equals(new Multiaddr('/ip4/31.0.0.1/tcp/4000'))).to.eql(true)
|
|
|
|
expect(sortedAddresses[2].multiaddr.equals(new Multiaddr('/ip4/127.0.0.1/tcp/4000'))).to.eql(true)
|
2020-11-16 15:03:20 +01:00
|
|
|
})
|
|
|
|
|
|
|
|
it('should sort public certified addresses first', () => {
|
|
|
|
const addresses = [
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/127.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: false
|
|
|
|
},
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/30.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: false
|
|
|
|
},
|
|
|
|
{
|
2021-04-08 18:34:20 +02:00
|
|
|
multiaddr: new Multiaddr('/ip4/31.0.0.1/tcp/4000'),
|
2020-11-16 15:03:20 +01:00
|
|
|
isCertified: true
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
const sortedAddresses = publicAddressesFirst(addresses)
|
2021-04-08 18:34:20 +02:00
|
|
|
expect(sortedAddresses[0].multiaddr.equals(new Multiaddr('/ip4/31.0.0.1/tcp/4000'))).to.eql(true)
|
|
|
|
expect(sortedAddresses[1].multiaddr.equals(new Multiaddr('/ip4/30.0.0.1/tcp/4000'))).to.eql(true)
|
|
|
|
expect(sortedAddresses[2].multiaddr.equals(new Multiaddr('/ip4/127.0.0.1/tcp/4000'))).to.eql(true)
|
2020-11-16 15:03:20 +01:00
|
|
|
})
|
|
|
|
})
|