feat: improve filter subscriptions #6377
544 passed, 3 failed and 43 skipped
❌ packages/tests/reports/mocha-results.json
590 tests were completed in 465s with 544 passed, 3 failed and 43 skipped.
✅ packages/tests/tests/connection-mananger/connection_state.spec.ts
Connection state
✅ `waku:online` between 2 js-waku relay nodes
✅ isConnected between 2 js-waku relay nodes
✅ isConnected return false after peer stops
✅ isConnected should return false after all peers disconnect
✅ isConnected should return true after first peer connects
✅ should emit `waku:offline` event only when all peers disconnect
✅ should emit `waku:online` event only when first peer is connected
✅ packages/tests/tests/connection-mananger/dials.spec.ts
Dials attemptDial method
✅ should be called at least once on all `peer:discovery` events
Dials dialPeer method For bootstrap peers
✅ should be called for bootstrap peers
✅ should not be called more than DEFAULT_MAX_BOOTSTRAP_PEERS_ALLOWED times for bootstrap peers
Dials dialPeer method For peer-exchange peers
✅ should be called for every peer with PEER_EXCHANGE tags
✅ should be called for peers with PEER_EXCHANGE tags
✅ packages/tests/tests/connection-mananger/events.spec.ts
Events peer:connect
✅ should emit `peer:connected:bootstrap` event when a peer is connected
✅ should emit `peer:connected:peer-exchange` event when a peer is connected
Events peer:discovery
✅ should emit `peer:discovery:bootstrap` event when a peer is discovered
✅ should emit `peer:discovery:peer-exchange` event when a peer is discovered
Events waku:connection
✅ should be online or offline if network state changed
✅ should emit events and trasition isConnected state when has peers or no peers
✅ packages/tests/tests/connection-mananger/methods.spec.ts
Public methods
✅ addEventListener with correct event
✅ addEventListener with wrong event
✅ dispatchEvent via connectionManager
✅ getPeersByDiscovery
✅ listenerCount
✅ removeEventListener with correct event
✅ removeEventListener with wrong event
✅ safeDispatchEvent
✅ stop
✅ packages/tests/tests/dns-peer-discovery.spec.ts
DNS Discovery: Compliance Test interface-peer-discovery compliance tests
✅ can start and stop the service
✅ can start the service
✅ should emit a peer event after start
✅ should not fail to start the service if it is already started
✅ should not fail to stop the service if it was not started
✅ should not receive a peer event after stop
✅ should not receive a peer event before start
DNS Node Discovery [live data]
⚪ passes more than one ENR URLs and attempts connection
⚪ should retrieve 3 multiaddrs for test.waku.nodes.status.im
⚪ should use DNS peer discovery with light client
✅ packages/tests/tests/enr.node.spec.ts
ENR Interop: ServiceNode
✅ All
✅ Relay
✅ Relay + Store
✅ packages/tests/tests/ephemeral.node.spec.ts
Waku Message Ephemeral field
✅ Ephemeral field is preserved - asymmetric encryption
✅ Ephemeral field is preserved - encoder v0
✅ Ephemeral field is preserved - symmetric encryption
✅ Ephemeral messages are not stored
✅ packages/tests/tests/filter/ping.node.spec.ts
Waku Filter V2: Ping: Multiple Nodes: Strict Checking: false
✅ Ping on peer without subscriptions
✅ Ping on subscribed peer
✅ Ping on unsubscribed peer
✅ Reopen subscription with peer with lost subscription
Waku Filter V2: Ping: Multiple Nodes: Strict Checking: true
✅ Ping on peer without subscriptions
✅ Ping on subscribed peer
✅ Ping on unsubscribed peer
✅ Reopen subscription with peer with lost subscription
✅ packages/tests/tests/filter/push.node.spec.ts
Waku Filter V2: FilterPush: Multiple Nodes: Strict Checking: false
✅ Check message on other pubsub topic is not received
⚪ Check message received after jswaku node is restarted
⚪ Check message received after nwaku node is restarted
✅ Check message with invalid timestamp is not received
✅ Check message with no content topic is not received
✅ Check message with no payload is not received
✅ Check message with non string payload is not received
✅ Check received message containing Arabic
✅ Check received message containing Basic HTML tag
✅ Check received message containing Chinese
✅ Check received message containing emoji
✅ Check received message containing escaped characters
✅ Check received message containing JSON
✅ Check received message containing long
✅ Check received message containing numeric
✅ Check received message containing Russian
✅ Check received message containing Script
✅ Check received message containing shell command
✅ Check received message containing short
✅ Check received message containing special chars
✅ Check received message containing SQL Injection
✅ Check received message containing unicode special characters
✅ Check received message containing XML
✅ Check received message with timestamp: 1649153314
✅ Check received message with timestamp: 1738168896402
✅ Check received message with timestamp: 1738168896402000000
✅ Check received message with timestamp: 1949153314000
Waku Filter V2: FilterPush: Multiple Nodes: Strict Checking: true
✅ Check message on other pubsub topic is not received
⚪ Check message received after jswaku node is restarted
⚪ Check message received after nwaku node is restarted
✅ Check message with invalid timestamp is not received
✅ Check message with no content topic is not received
✅ Check message with no payload is not received
✅ Check message with non string payload is not received
✅ Check received message containing Arabic
✅ Check received message containing Basic HTML tag
✅ Check received message containing Chinese
✅ Check received message containing emoji
✅ Check received message containing escaped characters
✅ Check received message containing JSON
✅ Check received message containing long
✅ Check received message containing numeric
✅ Check received message containing Russian
✅ Check received message containing Script
✅ Check received message containing shell command
✅ Check received message containing short
✅ Check received message containing special chars
✅ Check received message containing SQL Injection
✅ Check received message containing unicode special characters
✅ Check received message containing XML
✅ Check received message with timestamp: 1649153314
✅ Check received message with timestamp: 1738168896402
✅ Check received message with timestamp: 1738168896402000000
✅ Check received message with timestamp: 1949153314000
✅ packages/tests/tests/filter/single_node/multiple_pubsub.node.spec.ts
Waku Filter V2 (Autosharding): Multiple PubsubTopics
✅ Should fail to subscribe with decoder with wrong pubsubTopic
✅ Subscribe and receive messages from 2 nwaku nodes each with different pubsubtopics
✅ Subscribe and receive messages on 2 different pubsubtopics
✅ Subscribe and receive messages on autosharded pubsubtopic
Waku Filter V2 (Named sharding): Multiple PubsubTopics
✅ Should fail to subscribe with decoder with wrong pubsubTopic
✅ Subscribe and receive messages from 2 nwaku nodes each with different pubsubtopics
✅ Subscribe and receive messages on 2 different pubsubtopics
✅ Subscribe and receive messages on custom pubsubtopic
Waku Filter V2: Multiple PubsubTopics
✅ Subscribe and receive messages from 2 nwaku nodes each with different pubsubtopics
✅ Subscribe and receive messages on 2 different pubsubtopics
✅ Subscribe and receive messages on custom pubsubtopic
✅ packages/tests/tests/filter/single_node/ping.node.spec.ts
Waku Filter V2: Ping
✅ Ping on peer without subscriptions
✅ Ping on subscribed peer
✅ Ping on unsubscribed peer
✅ Reopen subscription with peer with lost subscription
✅ packages/tests/tests/filter/single_node/push.node.spec.ts
Waku Filter V2: FilterPush
✅ Check message on other pubsub topic is not received
⚪ Check message received after jswaku node is restarted
⚪ Check message received after nwaku node is restarted
✅ Check message with invalid timestamp is not received
✅ Check message with no content topic is not received
✅ Check message with no payload is not received
✅ Check message with no pubsub topic is not received
✅ Check message with non string payload is not received
✅ Check received message containing Arabic
✅ Check received message containing Basic HTML tag
✅ Check received message containing Chinese
✅ Check received message containing emoji
✅ Check received message containing escaped characters
✅ Check received message containing JSON
✅ Check received message containing long
✅ Check received message containing numeric
✅ Check received message containing Russian
✅ Check received message containing Script
✅ Check received message containing shell command
✅ Check received message containing short
✅ Check received message containing special chars
✅ Check received message containing SQL Injection
✅ Check received message containing unicode special characters
✅ Check received message containing XML
✅ Check received message with timestamp: 1649153314
✅ Check received message with timestamp: 1738168896651
✅ Check received message with timestamp: 1738168896651000000
✅ Check received message with timestamp: 1949153314000
✅ packages/tests/tests/filter/single_node/subscribe.node.spec.ts
Waku Filter V2: Subscribe: Single Service Node
✅ Add multiple subscription objects on single nwaku node
✅ Error when try to subscribe to more than 101 topics (new limit)
✅ Overlapping topic subscription
✅ Refresh subscription
✅ Subscribe and receive 2 messages on the same topic
✅ Subscribe and receive ecies encrypted messages via lightPush
✅ Subscribe and receive messages from multiple nwaku nodes
✅ Subscribe and receive messages on 2 different content topics
✅ Subscribe and receive messages via lightPush
✅ Subscribe and receive messages via waku relay post
✅ Subscribe and receive symmetrically encrypted messages via lightPush
✅ Subscribe and receives messages on 20 topics
✅ Subscribe to 100 topics (new limit) at once and receives messages
✅ Subscribe to topic containing Arabic and receive message
✅ Subscribe to topic containing Basic HTML tag and receive message
✅ Subscribe to topic containing Chinese and receive message
✅ Subscribe to topic containing emoji and receive message
✅ Subscribe to topic containing escaped characters and receive message
✅ Subscribe to topic containing JSON and receive message
✅ Subscribe to topic containing long and receive message
✅ Subscribe to topic containing numeric and receive message
✅ Subscribe to topic containing Russian and receive message
✅ Subscribe to topic containing Script and receive message
✅ Subscribe to topic containing shell command and receive message
✅ Subscribe to topic containing short and receive message
✅ Subscribe to topic containing special chars and receive message
✅ Subscribe to topic containing SQL Injection and receive message
✅ Subscribe to topic containing unicode special characters and receive message
✅ Subscribe to topic containing XML and receive message
✅ packages/tests/tests/filter/single_node/unsubscribe.node.spec.ts
Waku Filter V2: Unsubscribe
✅ Unsubscribe 1 topic - node subscribed to 1 topic
✅ Unsubscribe 1 topic - node subscribed to 2 topics
✅ Unsubscribe 2 topics - node subscribed to 2 topics
✅ Unsubscribe topics the node is not subscribed to
✅ Unsubscribes all - node subscribed to 1 topic
✅ Unsubscribes all - node subscribed to 10 topics
✅ packages/tests/tests/filter/subscribe.node.spec.ts
Waku Filter V2: Subscribe: Multiple Service Nodes: Strict Check mode: false
✅ Add multiple subscription objects on single nwaku node
✅ Error when try to subscribe to more than 101 topics (new limit)
✅ Overlapping topic subscription
✅ Refresh subscription
✅ Renews subscription after lossing a connection
✅ Subscribe and receive 2 messages on the same topic
✅ Subscribe and receive ecies encrypted messages via lightPush
✅ Subscribe and receive messages on 2 different content topics
✅ Subscribe and receive messages via lightPush
✅ Subscribe and receive messages via waku relay post
✅ Subscribe and receive symmetrically encrypted messages via lightPush
✅ Subscribe and receives messages on 20 topics
✅ Subscribe to 100 topics (new limit) at once and receives messages
✅ Subscribe to topic containing Arabic and receive message
✅ Subscribe to topic containing Basic HTML tag and receive message
✅ Subscribe to topic containing Chinese and receive message
✅ Subscribe to topic containing emoji and receive message
✅ Subscribe to topic containing escaped characters and receive message
✅ Subscribe to topic containing JSON and receive message
✅ Subscribe to topic containing long and receive message
✅ Subscribe to topic containing numeric and receive message
✅ Subscribe to topic containing Russian and receive message
✅ Subscribe to topic containing Script and receive message
✅ Subscribe to topic containing shell command and receive message
✅ Subscribe to topic containing short and receive message
✅ Subscribe to topic containing special chars and receive message
✅ Subscribe to topic containing SQL Injection and receive message
✅ Subscribe to topic containing unicode special characters and receive message
✅ Subscribe to topic containing XML and receive message
Waku Filter V2: Subscribe: Multiple Service Nodes: Strict Check mode: true
✅ Add multiple subscription objects on single nwaku node
✅ Error when try to subscribe to more than 101 topics (new limit)
✅ Overlapping topic subscription
✅ Refresh subscription
✅ Renews subscription after lossing a connection
✅ Subscribe and receive 2 messages on the same topic
✅ Subscribe and receive ecies encrypted messages via lightPush
✅ Subscribe and receive messages on 2 different content topics
✅ Subscribe and receive messages via lightPush
✅ Subscribe and receive messages via waku relay post
✅ Subscribe and receive symmetrically encrypted messages via lightPush
✅ Subscribe and receives messages on 20 topics
✅ Subscribe to 100 topics (new limit) at once and receives messages
✅ Subscribe to topic containing Arabic and receive message
✅ Subscribe to topic containing Basic HTML tag and receive message
✅ Subscribe to topic containing Chinese and receive message
✅ Subscribe to topic containing emoji and receive message
✅ Subscribe to topic containing escaped characters and receive message
✅ Subscribe to topic containing JSON and receive message
✅ Subscribe to topic containing long and receive message
✅ Subscribe to topic containing numeric and receive message
✅ Subscribe to topic containing Russian and receive message
✅ Subscribe to topic containing Script and receive message
✅ Subscribe to topic containing shell command and receive message
✅ Subscribe to topic containing short and receive message
✅ Subscribe to topic containing special chars and receive message
✅ Subscribe to topic containing SQL Injection and receive message
✅ Subscribe to topic containing unicode special characters and receive message
✅ Subscribe to topic containing XML and receive message
✅ packages/tests/tests/filter/unsubscribe.node.spec.ts
Waku Filter V2: Unsubscribe: Multiple Nodes: Strict Checking: false
✅ Unsubscribe 1 topic - node subscribed to 1 topic
✅ Unsubscribe 1 topic - node subscribed to 2 topics
✅ Unsubscribe 2 topics - node subscribed to 2 topics
✅ Unsubscribe topics the node is not subscribed to
✅ Unsubscribes all - node subscribed to 1 topic
✅ Unsubscribes all - node subscribed to 10 topics
Waku Filter V2: Unsubscribe: Multiple Nodes: Strict Checking: true
✅ Unsubscribe 1 topic - node subscribed to 1 topic
✅ Unsubscribe 1 topic - node subscribed to 2 topics
✅ Unsubscribe 2 topics - node subscribed to 2 topics
✅ Unsubscribe topics the node is not subscribed to
✅ Unsubscribes all - node subscribed to 1 topic
✅ Unsubscribes all - node subscribed to 10 topics
✅ packages/tests/tests/health-manager/node.spec.ts
Node Health Status Matrix Tests
⚪ LightPush: 0 peers, Filter: 0 peers
⚪ LightPush: 0 peers, Filter: 1 peers
⚪ LightPush: 0 peers, Filter: 2 peers
⚪ LightPush: 0 peers, Filter: 3 peers
⚪ LightPush: 1 peers, Filter: 0 peers
⚪ LightPush: 1 peers, Filter: 1 peers
⚪ LightPush: 1 peers, Filter: 2 peers
⚪ LightPush: 1 peers, Filter: 3 peers
⚪ LightPush: 2 peers, Filter: 0 peers
⚪ LightPush: 2 peers, Filter: 1 peers
⚪ LightPush: 2 peers, Filter: 2 peers
⚪ LightPush: 2 peers, Filter: 3 peers
⚪ LightPush: 3 peers, Filter: 0 peers
⚪ LightPush: 3 peers, Filter: 1 peers
⚪ LightPush: 3 peers, Filter: 2 peers
⚪ LightPush: 3 peers, Filter: 3 peers
✅ packages/tests/tests/health-manager/protocols.spec.ts
Health Manager Should update the health status for protocols
⚪ Filter with 0 connections
⚪ Filter with 1 connections
⚪ Filter with 2 connections
⚪ Filter with 3 connections
⚪ LightPush with 0 connections
⚪ LightPush with 1 connections
⚪ LightPush with 2 connections
⚪ LightPush with 3 connections
✅ packages/tests/tests/light-push/index.node.spec.ts
Waku Light Push: Multiple Nodes: Strict Check: true
✅ Fails to push message bigger that 1MB
✅ Fails to push message with empty content topic
✅ Fails to push message with large meta
✅ Push 30 different messages
✅ Push message equal or less that 1MB
✅ Push message with Arabic payload
✅ Push message with Basic HTML tag payload
✅ Push message with Chinese payload
✅ Push message with content topic containing Arabic
✅ Push message with content topic containing Basic HTML tag
✅ Push message with content topic containing Chinese
✅ Push message with content topic containing emoji
✅ Push message with content topic containing escaped characters
✅ Push message with content topic containing JSON
✅ Push message with content topic containing long
✅ Push message with content topic containing numeric
✅ Push message with content topic containing Russian
✅ Push message with content topic containing Script
✅ Push message with content topic containing shell command
✅ Push message with content topic containing short
✅ Push message with content topic containing special chars
✅ Push message with content topic containing SQL Injection
✅ Push message with content topic containing unicode special characters
✅ Push message with content topic containing XML
✅ Push message with custom timestamp: 1707410561733
✅ Push message with custom timestamp: 1738165361733
✅ Push message with custom timestamp: 1738172561733
✅ Push message with emoji payload
✅ Push message with escaped characters payload
✅ Push message with JSON payload
✅ Push message with long payload
✅ Push message with meta
✅ Push message with numeric payload
✅ Push message with rate limit
✅ Push message with Russian payload
✅ Push message with Script payload
✅ Push message with shell command payload
✅ Push message with short payload
✅ Push message with special chars payload
✅ Push message with SQL Injection payload
✅ Push message with unicode special characters payload
✅ Push message with XML payload
✅ Throws when trying to push message with empty payload
✅ packages/tests/tests/light-push/single_node/index.node.spec.ts
Waku Light Push: Single Node
✅ Fails to push message bigger that 1MB
✅ Fails to push message with empty content topic
✅ Fails to push message with large meta
✅ Push 30 different messages
✅ Push message equal or less that 1MB
✅ Push message with Arabic payload
✅ Push message with Basic HTML tag payload
✅ Push message with Chinese payload
✅ Push message with content topic containing Arabic
✅ Push message with content topic containing Basic HTML tag
✅ Push message with content topic containing Chinese
✅ Push message with content topic containing emoji
✅ Push message with content topic containing escaped characters
✅ Push message with content topic containing JSON
✅ Push message with content topic containing long
✅ Push message with content topic containing numeric
✅ Push message with content topic containing Russian
✅ Push message with content topic containing Script
✅ Push message with content topic containing shell command
✅ Push message with content topic containing short
✅ Push message with content topic containing special chars
✅ Push message with content topic containing SQL Injection
✅ Push message with content topic containing unicode special characters
✅ Push message with content topic containing XML
✅ Push message with custom timestamp: 1707410596086
✅ Push message with custom timestamp: 1738165396086
✅ Push message with custom timestamp: 1738172596086
✅ Push message with emoji payload
✅ Push message with escaped characters payload
✅ Push message with JSON payload
✅ Push message with long payload
✅ Push message with meta
✅ Push message with numeric payload
✅ Push message with rate limit
✅ Push message with Russian payload
✅ Push message with Script payload
✅ Push message with shell command payload
✅ Push message with short payload
✅ Push message with special chars payload
✅ Push message with SQL Injection payload
✅ Push message with unicode special characters payload
✅ Push message with XML payload
✅ Throws when trying to push message with empty payload
✅ packages/tests/tests/light-push/single_node/multiple_pubsub.node.spec.ts
Waku Light Push : Multiple PubsubTopics
✅ Light push messages to 2 nwaku nodes each with different pubsubtopics
✅ Push message on custom pubsubTopic
✅ Subscribe and receive messages on 2 different pubsubtopics
Waku Light Push (Autosharding): Multiple PubsubTopics
✅ Light push messages to 2 nwaku nodes each with different pubsubtopics
✅ Push message on custom pubsubTopic
✅ Subscribe and receive messages on 2 different pubsubtopics
Waku Light Push (named sharding): Multiple PubsubTopics
✅ Light push messages to 2 nwaku nodes each with different pubsubtopics
✅ Push message on custom pubsubTopic
✅ Subscribe and receive messages on 2 different pubsubtopics
✅ packages/tests/tests/log_file.node.spec.ts
This Is
✅ A test
This Is also
✅ A test
✅ packages/tests/tests/metadata.spec.ts
Metadata Protocol
✅ PeerStore has remote peer's shard info after successful connection
✅ receiving a ping from a peer does not overwrite shard info
Metadata Protocol connections
✅ different cluster, different shard: nodes don't connect
✅ different cluster, same shard: nodes don't connect
✅ same cluster, different shard: nodes connect
✅ same cluster, same shard: nodes connect
✅ packages/tests/tests/multiaddr.node.spec.ts
multiaddr: dialing
✅ can dial TLS multiaddrs
multiaddr: dialing does not attempt the same peer discovered multiple times more than once
✅ through manual discovery
✅ packages/tests/tests/nwaku.node.spec.ts
nwaku
✅ Correctly serialized arguments
✅ packages/tests/tests/peer-exchange/compliance.spec.ts
Peer Exchange Compliance Test interface-peer-discovery compliance tests
✅ can start and stop the service
✅ can start the service
✅ should emit a peer event after start
✅ should not fail to start the service if it is already started
✅ should not fail to stop the service if it was not started
✅ should not receive a peer event after stop
✅ should not receive a peer event before start
✅ packages/tests/tests/peer-exchange/continuous_discovery.spec.ts
Peer Exchange Continuous Discovery
✅ Should update multiaddrs
✅ Should update shard info
✅ packages/tests/tests/peer-exchange/index.spec.ts
Peer Exchange
✅ getPeersByDiscovery
⚪ new peer added after a peer was already found
✅ peerDiscovery without wakuPeerExchangeDiscovery
⚪ wrong wakuPeerExchangeDiscovery pubsub topic
✅ packages/tests/tests/peer-exchange/query.spec.ts
Peer Exchange Query
⚪ connected peers and dial
⚪ less peers than existing
⚪ more peers than existing
⚪ non connected peers
✅ packages/tests/tests/relay/index.node.spec.ts
Waku Relay
✅ Decrypt messages
✅ Delete observer
✅ packages/tests/tests/relay/interop.node.spec.ts
Waku Relay, Interop
✅ Js publishes, other Js receives
✅ Nwaku publishes
✅ nwaku subscribes
✅ Publishes to nwaku
✅ packages/tests/tests/relay/multiple_pubsub.node.spec.ts
Waku Relay (Autosharding), multiple pubsub topics
✅ 3 nodes on /waku/2/rs/7/0 topic
✅ 3 nodes on /waku/2/rs/7/1 topic
✅ n1 and n2 uses a custom pubsub, n3 uses the default pubsub
✅ Nodes with multiple pubsub topic
Waku Relay, multiple pubsub topics
✅ 3 nodes on /waku/2/rs/3/1 topic
✅ 3 nodes on /waku/2/rs/3/2 topic
✅ n1 and n2 uses a custom pubsub, n3 uses the default pubsub
✅ Nodes with multiple pubsub topic
✅ packages/tests/tests/relay/publish.node.spec.ts
Waku Relay, Publish
⚪ Check publish message after client node is restarted
⚪ Check publish message after service node is restarted
✅ Check publish message containing Arabic
✅ Check publish message containing Basic HTML tag
✅ Check publish message containing Chinese
✅ Check publish message containing emoji
✅ Check publish message containing escaped characters
✅ Check publish message containing JSON
✅ Check publish message containing long
✅ Check publish message containing numeric
✅ Check publish message containing Russian
✅ Check publish message containing Script
✅ Check publish message containing shell command
✅ Check publish message containing short
✅ Check publish message containing special chars
✅ Check publish message containing SQL Injection
✅ Check publish message containing unicode special characters
✅ Check publish message containing XML
✅ Fails to publish duplicate message
✅ Fails to publish message with empty text
✅ Fails to publish message with size larger than 1 MB
✅ Fails to publish message with size larger than 1 MB
✅ Fails to publish message with wrong content topic
✅ Fails to publish message with wrong pubsubtopic
✅ Publish message with custom timestamp: Sun Dec 17 1995 03:24:00 GMT+0000 (Coordinated Universal Time)
✅ Publish message with custom timestamp: Thu Feb 08 2024 16:45:26 GMT+0000 (Coordinated Universal Time)
✅ Publish message with custom timestamp: Wed Jan 29 2025 15:45:26 GMT+0000 (Coordinated Universal Time)
✅ Publish message with custom timestamp: Wed Jan 29 2025 17:45:26 GMT+0000 (Coordinated Universal Time)
✅ Publish message with large meta
✅ Publish message with rate limit
✅ packages/tests/tests/relay/subscribe.node.spec.ts
Waku Relay, Subscribe
✅ Mutual subscription
⚪ Overlapping topic subscription
✅ Publish without waiting for remote peer
⚪ Refresh subscription
✅ Register correct protocols
✅ Subscribe and publish 10000 messages on the same topic
✅ Subscribe and publish message
✅ Subscribe and publish messages on 2 different content topics
✅ Subscribe at once to 10000 topics and publish messages
✅ Subscribe one by one to 100 topics and publish messages
✅ Subscribe to topic containing Arabic and publish message
✅ Subscribe to topic containing Basic HTML tag and publish message
✅ Subscribe to topic containing Chinese and publish message
✅ Subscribe to topic containing emoji and publish message
✅ Subscribe to topic containing escaped characters and publish message
✅ Subscribe to topic containing JSON and publish message
✅ Subscribe to topic containing long and publish message
✅ Subscribe to topic containing numeric and publish message
✅ Subscribe to topic containing Russian and publish message
✅ Subscribe to topic containing Script and publish message
✅ Subscribe to topic containing shell command and publish message
✅ Subscribe to topic containing short and publish message
✅ Subscribe to topic containing special chars and publish message
✅ Subscribe to topic containing SQL Injection and publish message
✅ Subscribe to topic containing unicode special characters and publish message
✅ Subscribe to topic containing XML and publish message
✅ packages/tests/tests/sharding/auto_sharding.spec.ts
Autosharding: Running Nodes Different clusters and topics
✅ Cluster ID 0 - Default/Global Cluster
✅ Non TWN Cluster
✅ random auto sharding 1 - Cluster ID: 10, Content Topic: /app74/2/topic797/utf8
✅ random auto sharding 10 - Cluster ID: 10, Content Topic: /app20/1/topic260/proto
✅ random auto sharding 2 - Cluster ID: 10, Content Topic: /app55/7/topic173/xml
✅ random auto sharding 3 - Cluster ID: 10, Content Topic: /app1/4/topic936/json
✅ random auto sharding 4 - Cluster ID: 10, Content Topic: /app59/4/topic834/xml
✅ random auto sharding 5 - Cluster ID: 10, Content Topic: /app6/2/topic871/test.js
✅ random auto sharding 6 - Cluster ID: 10, Content Topic: /app61/9/topic84/xml
✅ random auto sharding 7 - Cluster ID: 10, Content Topic: /app48/9/topic587/utf8
✅ random auto sharding 8 - Cluster ID: 10, Content Topic: /app68/2/topic433/test.js
✅ random auto sharding 9 - Cluster ID: 10, Content Topic: /app17/7/topic595/xml
✅ Wrong topic
Autosharding: Running Nodes Others
✅ configure the node with multiple content topics
✅ start node with empty content topic
✅ using a protocol with unconfigured pubsub topic should fail
✅ packages/tests/tests/sharding/peer_management.spec.ts
Autosharding: Peer Management Peer Exchange
✅ all px service nodes subscribed to the shard topic should be dialed
✅ px service nodes not subscribed to the shard should not be dialed
Static Sharding: Peer Management Peer Exchange
✅ all px service nodes subscribed to the shard topic should be dialed
✅ px service nodes not subscribed to the shard should not be dialed
✅ packages/tests/tests/sharding/static_sharding.spec.ts
Static Sharding: Running Nodes Different clusters and shards
✅ Cluster ID 0 - Default/Global Cluster
✅ random static sharding 1 - Cluster ID: 965, Shard ID: 818
✅ random static sharding 10 - Cluster ID: 901, Shard ID: 969
✅ random static sharding 2 - Cluster ID: 896, Shard ID: 778
✅ random static sharding 3 - Cluster ID: 977, Shard ID: 951
✅ random static sharding 4 - Cluster ID: 429, Shard ID: 60
✅ random static sharding 5 - Cluster ID: 481, Shard ID: 689
✅ random static sharding 6 - Cluster ID: 287, Shard ID: 17
✅ random static sharding 7 - Cluster ID: 857, Shard ID: 719
✅ random static sharding 8 - Cluster ID: 370, Shard ID: 944
✅ random static sharding 9 - Cluster ID: 676, Shard ID: 891
✅ shard 0
Static Sharding: Running Nodes Others
✅ configure the node with multiple pubsub topics
✅ start node with empty shard should fail
✅ using a protocol with unconfigured pubsub topic should fail
✅ packages/tests/tests/store/cursor.node.spec.ts
Waku Store, cursor
✅ Passing a valid cursor at 0 index when there are 20 messages
✅ Passing a valid cursor at 10 index when there are 40 messages
✅ Passing a valid cursor at 110 index when there are 120 messages
✅ Passing a valid cursor at 19 index when there are 20 messages
✅ Passing a valid cursor at 19 index when there are 50 messages
✅ Passing a valid cursor at 2 index when there are 4 messages
✅ Passing cursor with wrong pubsubTopic
✅ Passing invalid cursor
✅ Reusing cursor across nodes
✅ packages/tests/tests/store/error_handling.node.spec.ts
Waku Store, error handling
✅ Query Generator, Multiple PubsubTopics
✅ Query Generator, No Decoder
✅ Query Generator, No message returned
✅ Query Generator, Wrong PubsubTopic
✅ Query with Ordered Callback, Multiple PubsubTopics
✅ Query with Ordered Callback, No Decoder
✅ Query with Ordered Callback, No message returned
✅ Query with Ordered Callback, Wrong PubsubTopic
✅ Query with Promise Callback, Multiple PubsubTopics
✅ Query with Promise Callback, No Decoder
✅ Query with Promise Callback, No message returned
✅ Query with Promise Callback, Wrong PubsubTopic
✅ packages/tests/tests/store/index.node.spec.ts
Waku Store, general
✅ Callback on promise
✅ Callback on promise, aborts when callback returns true
✅ Generator, with asymmetric & symmetric encrypted messages
✅ Ordered callback, aborts when callback returns true
✅ Query generator for 2000 messages
✅ Query generator for multiple messages
✅ Query generator for multiple messages with different content topic format
✅ Query generator for multiple messages with different message text format
✅ Query generator for multiple messages with multiple decoders
❌ packages/tests/tests/store/multiple_pubsub.spec.ts
Waku Store (Autosharding), custom pubsub topic
✅ Generator, 2 different pubsubtopics
❌ Generator, 2 nwaku nodes each with different pubsubtopics
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
✅ Generator, custom pubsub topic
Waku Store (named sharding), custom pubsub topic
✅ Generator, 2 different pubsubtopics
❌ Generator, 2 nwaku nodes each with different pubsubtopics
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
✅ Generator, custom pubsub topic
Waku Store, custom pubsub topic
✅ Generator, 2 different pubsubtopics
❌ Generator, 2 nwaku nodes each with different pubsubtopics
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
✅ Generator, custom pubsub topic
✅ packages/tests/tests/store/order.node.spec.ts
Waku Store, order
✅ Ordered Callback - false
✅ Ordered Callback - true
✅ Promise Callback - false
✅ Promise Callback - true
✅ Query Generator - false
✅ Query Generator - true
✅ packages/tests/tests/store/page_size.node.spec.ts
Waku Store, page size
✅ Default pageSize
✅ Passing page size 0 when there are 110 messages
✅ Passing page size 1 when there are 4 messages
✅ Passing page size 10 when there are 10 messages
✅ Passing page size 11 when there are 10 messages
✅ Passing page size 110 when there are 120 messages
✅ Passing page size 19 when there are 20 messages
✅ Passing page size 3 when there are 20 messages
✅ packages/tests/tests/store/sorting.node.spec.ts
Waku Store, sorting
✅ Ordered Callback sorting by timestamp while page direction is false
✅ Ordered Callback sorting by timestamp while page direction is true
✅ Query Generator sorting by timestamp while page direction is false
✅ Query Generator sorting by timestamp while page direction is true
✅ packages/tests/tests/store/time_filter.node.spec.ts
Waku Store, time filter
✅ msgTime: -19000 ms from now, startTime: -18990, endTime: -19010
✅ msgTime: -19000 ms from now, startTime: -18999, endTime: -18996
✅ msgTime: -19000 ms from now, startTime: -19000, endTime: -18000
✅ msgTime: -19000 ms from now, startTime: -19002, endTime: -19001
✅ msgTime: -19000 ms from now, startTime: -19010, endTime: -18990
✅ msgTime: -19000 ms from now, startTime: -20000, endTime: -19000
✅ msgTime: 19000 ms from now, startTime: 18990, endTime: 19010
✅ Timestamp too far from node time: -20000 ms from now
✅ Timestamp too far from node time: 40000 ms from now
✅ packages/tests/tests/utils.spec.ts
Util: toAsyncIterator: Filter
✅ creates an iterator
✅ handles multiple messages
✅ unsubscribes
✅ packages/tests/tests/wait_for_remote_peer.node.spec.ts
Wait for remote peer
✅ Filter
✅ Light Node - default protocols
✅ LightPush
✅ Privacy Node - default protocol
✅ Relay - dialed after
✅ Relay - dialed first
✅ Relay - times out
✅ Store - dialed after - with timeout
✅ Store - dialed first
✅ packages/tests/tests/waku.node.spec.ts
Decryption Keys
✅ Used by Waku Relay
User Agent
✅ Sets default value correctly
Waku Dial [node only] Bootstrap
✅ Passing an array
✅ Using a function
Waku Dial [node only] Interop: ServiceNode
✅ connects to nwaku
✅ Does not throw an exception when node disconnects
Annotations
Check failure on line 0 in packages/tests/reports/mocha-results.json
github-actions / Test Report - node
packages/tests/tests/store/multiple_pubsub.spec.ts ► Waku Store (Autosharding), custom pubsub topic ► Generator, 2 nwaku nodes each with different pubsubtopics
Failed test found in:
packages/tests/reports/mocha-results.json
Error:
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
Raw output
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7)
Check failure on line 0 in packages/tests/reports/mocha-results.json
github-actions / Test Report - node
packages/tests/tests/store/multiple_pubsub.spec.ts ► Waku Store (named sharding), custom pubsub topic ► Generator, 2 nwaku nodes each with different pubsubtopics
Failed test found in:
packages/tests/reports/mocha-results.json
Error:
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
Raw output
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7)
Check failure on line 0 in packages/tests/reports/mocha-results.json
github-actions / Test Report - node
packages/tests/tests/store/multiple_pubsub.spec.ts ► Waku Store, custom pubsub topic ► Generator, 2 nwaku nodes each with different pubsubtopics
Failed test found in:
packages/tests/reports/mocha-results.json
Error:
Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
Raw output
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (/home/runner/work/js-waku/js-waku/packages/tests/tests/store/multiple_pubsub.spec.ts)
at listOnTimeout (node:internal/timers:581:17)
at processTimers (node:internal/timers:519:7)