Specification
In a rush to get #618 complete, we didn't finish or convert all the tests we wanted. Theses need to be completed but can be done along side manual integration testing with the testnet.
#618 (comment) contains a description of the tests that still need to be done. The tests already exist within the test files as test.todo()s.
Additional context
Tasks
-
findNode operations handle offline nodes/connection failures. Make sure that a single failing connection wont take up the full timeout of the process.
-
- Network entry with
syncNodeGraph, connects to 2 seed nodes and check we discover all active nodes in the network. Include active connection and direct connection links.
-
- network entry with
syncNodegraph handles offline nodes - just checking if we can handle offline nodes for the initial connections. The other connections are done by findNode. Also check that including our own NodeId in the initial connections list wont break.
-
- refresh buckets - simple test, check that a scheduled
refreshBucket triggers a findNode operation within that bucket. Not really worth the test.
-
- checking
NodeGraph updates when a connection is made.
-
- test
MDNS functionality. On that note, we need a way to disable it for testing so it doesn't break the findNode tests. Maybe just mock it out for most tests.
-
- bunch of tests for adding new nodes and the background pinging tasks.
-
- tests for signalling non-blocking and rate limiting logic.
Specification
In a rush to get #618 complete, we didn't finish or convert all the tests we wanted. Theses need to be completed but can be done along side manual integration testing with the testnet.
#618 (comment) contains a description of the tests that still need to be done. The tests already exist within the test files as
test.todo()s.Additional context
Tasks
findNodeoperations handle offline nodes/connection failures. Make sure that a single failing connection wont take up the full timeout of the process.syncNodeGraph, connects to 2 seed nodes and check we discover all active nodes in the network. Include active connection and direct connection links.syncNodegraphhandles offline nodes - just checking if we can handle offline nodes for the initial connections. The other connections are done byfindNode. Also check that including our ownNodeIdin the initial connections list wont break.refreshBuckettriggers afindNodeoperation within that bucket. Not really worth the test.NodeGraphupdates when a connection is made.MDNSfunctionality. On that note, we need a way to disable it for testing so it doesn't break thefindNodetests. Maybe just mock it out for most tests.