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
- Manage users in room (add, remove, change role)
- Delete room
Search
- TODO
Firehose(?)
- TODO: is this a supported part of the public API?