26 lines
871 B
TypeScript
26 lines
871 B
TypeScript
import assert from 'node:assert/strict'
|
|
import test from 'node:test'
|
|
|
|
import { parseTerracottaPublicNodes } from './terracotta.ts'
|
|
|
|
test('parses Terracotta public nodes from lines and commas', () => {
|
|
assert.deepEqual(
|
|
parseTerracottaPublicNodes(
|
|
'wss://center.node.1tmc.top\ntcp://example.com:11010, udp://example.net:11010',
|
|
),
|
|
{
|
|
nodes: ['wss://center.node.1tmc.top', 'tcp://example.com:11010', 'udp://example.net:11010'],
|
|
invalidNode: null,
|
|
},
|
|
)
|
|
})
|
|
|
|
test('allows an empty Terracotta public node list', () => {
|
|
assert.deepEqual(parseTerracottaPublicNodes(' \n'), { nodes: [], invalidNode: null })
|
|
})
|
|
|
|
test('rejects unsupported or incomplete Terracotta public nodes', () => {
|
|
assert.equal(parseTerracottaPublicNodes('ftp://example.com').invalidNode, 'ftp://example.com')
|
|
assert.equal(parseTerracottaPublicNodes('wss://').invalidNode, 'wss://')
|
|
})
|