Files
MikrotikManager/lib/ospf-router-identity.test.ts

14 lines
1.1 KiB
TypeScript

import assert from "node:assert/strict"
import { test } from "node:test"
import { deriveOspfRouterIdentity } from "./ospf-router-identity"
test("only an unambiguous observed Router ID links devices",()=>{
const result=deriveOspfRouterIdentity([{serverId:1,routerId:"192.0.2.1"},{serverId:1,routerId:"192.0.2.1"},{serverId:2,routerId:"192.0.2.2"}])
assert.deepEqual(result.routerIds,{"1":"192.0.2.1","2":"192.0.2.2"});assert.equal(result.serverByRouterId["192.0.2.2"],"2")
})
test("named/unresolved/multiple/duplicate Router IDs never guess a device",()=>{
for(const routerId of [null,"main","0.0.0.0","999.0.0.1",""]) assert.deepEqual(deriveOspfRouterIdentity([{serverId:1,routerId}]).routerIds,{})
assert.deepEqual(deriveOspfRouterIdentity([{serverId:1,routerId:"192.0.2.1"},{serverId:1,routerId:"192.0.2.2"}]).routerIds,{})
assert.deepEqual(deriveOspfRouterIdentity([{serverId:1,routerId:"192.0.2.1"},{serverId:1,routerId:null}]).routerIds,{})
assert.deepEqual(deriveOspfRouterIdentity([{serverId:1,routerId:"192.0.2.1"},{serverId:2,routerId:"192.0.2.1"}]).serverByRouterId,{})
})