Skip to content

Test Cases

Rick Zhou edited this page Jul 1, 2015 · 3 revisions
  • Connection
    • test initial handshake
    • test disconnection
      1. connect
      2. turn off internet
      3. dslink should retry evern 1 second 2 seoncd ... in the end it should retry once every 60 seconds
      4. turn internet back
      5. dslink should reused the previous salt send back by broker, instead of doing a full handshake (in websocket message, not the initial one returned by /conn)
      6. restart broker, dslink should try the previous salt first, after that failed, do a full handshake
    • test reconnection
      1. start dslink before broker
      2. dslink should retry
      3. start broker and it should get connected.
  • Responder
    • subscribe
      1. subscribe (method close should be sent to requester)
      2. update value (value should be sent in rid 0)
      3. subscribe again on same path with same sid
      4. update value (value shouldn't be sent twice)
      5. ubsubscribe (method close should be sent)
      6. update value (value shouldn't be sent)
    • list
      1. list (existing data should be sent to requester)
      • children node's $is $type $invokable $writable should be sent
      1. add config value ( update sent)
      2. change existing config value ( update sent)
      3. add attribute and change value (update sent)
      4. remove config and remove attribute ( update sent)
      5. change $is and remove $is (no update, and the change api or remove api should close with error)
      6. add child, remove child (update sent)
    • invoke
      1. invoke action with parameter and result
      2. invoke action with no parameter and blank result
      3. invoke action and return error
      4. invoke action with column in the result
      5. do the above 4 test with delayed response, (return result after 2 seconds, nothing should be returned before that)
      6. invoke streaming action, send several rows in every 2 seconds.
    • api on node that doesn't exist
      • subscribe
        1. subscribe on a node that doesn't exist
        2. use invoke action to create that node
        3. test updating value, (update should be sent to requester)
        4. remove node with action (error should be sent to requester in the subscription stream)
        5. add node back with action
        6. test updating value
      • list
        1. list on a node that doesn't exist
        2. use invoke action to create that node (update should be sent to requester)
        3. test updating config and children, (update should be sent)
        4. remove node with action ($disconnectedTs should be sent to requester in the list stream)
        5. add node back with action (update should be sent)
        6. test updating config and children, (update should be sent)
      • invoke and other api
        1. error should be sent to requester

Protocol
 ◌ Design
 ◌ Initializing Connection
 ◌ Node API
  ◌ Methods
  ◌ Broker
   ◌ Broker Discovery
  ◌ Configs
  ◌ Value Types
 ◌ Tokens
 ◌ Quality of Service
DSLink Manager
 ◌ dslink.json
 ◌ Startup Command
SDK Development
 ◌ Implementation Guide
DSA Server
 ◌ Installation
 ◌ Update Server
 ◌ Server Configuration
 ◌ CLI Tools
 ◌ DSA Permission Basics
 ◌ DSA Permission Model
  ◌ Permission List for the Root
 ◌ Authentication
  ◌ OpenID Connect
  ◌ Password Hasher
 ◌ DGLux Server SSL (HTTPS)
 ◌ Docker
 ◌ Audit
 ◌ Data Node
 ◌ Install NGINX with DSA Server
 ◌ Configure Ubuntu Linux to auto start DSA server
 ◌ Troubleshooting

Clone this wiki locally