Standard Test Cases
The following are standard test cases the any language binding should test for. Note that some of these tests require the client account to be an admin user so may not be possible using the foundation test POD.
These tests listed are focused on integration and require two end-points on the network to validate features (client & reply bot)
Stream Identification
Creation of a StreamID on client and validated from reply bot.
Validate 1:1 stream
Validate 1:N multi-party stream
Validate room stream.
Validate x-pod communication (TBD)
Transmit Message
Format: TEXT and Format: MESSAGEML should be validated.
Echo response from reply bot
Transmit 1 char
Transmit 1K char
Transmit unicode
Transmit >1 messages and ensure they are received in order
Retrieve Presence
Obtain presence status of client from client
Request presence of client from relay bot
Change presence states of client and verify by requesting from reply bot.
Room Communications
Access a room stream public from client bot and submit a message (two formats)
Client send request to confirm message from reply bot
Replay above with private with membership allowed and denied room streams.
Client to send message to public room with read only rights.
Directory Lookup
Client lookup user by email, username and uid. Can confirm through reply bot.
X-Pod directory call by uid, email and username. Username should fail.
Connection Requests
TBD- This is very hard to test!
Room Management
Create room (single pod, x-pod)
Manage users in room (add, remove, change role, invite x-pod users)
Update room properties and validate controls (Hide from search, members can add users)
Delete room
Search
TODO
Firehose(?)
TODO: is this a supported part of the public API?