Skip to content
This repository has been archived by the owner on Jun 14, 2021. It is now read-only.

Test Cases

Kyle Machulis edited this page Dec 31, 2017 · 4 revisions

Message Parsing/Handling Test Cases

  • Convert message(s) to JSON
  • Convert message(s) from JSON
  • Error on schema violation
  • Error on invalid JSON

Client Test Cases

Connection

  • Successful connect to server
  • Server disconnect during handshake/RequestServerInfo

Device Handling

  • Device connect (send event to owner)
  • Device disconnect (send event to owner)
  • Send fully updated device list on RequestDeviceList
  • Device scanning finished (send event to owner)
  • Error on incorrect device index in device command (?)
  • Error on incorrect device attributes in generic device command (?)
  • Error on message that violates schema check

Logging

  • Send log messages on RequestLogMessage
  • Only send log messages up to level set by RequestLogMessage
  • Turn off sending log messages when Off level sent.
  • Emit log messages to owner

Server Test Cases

Client Handling

  • Disconnect on ping timeout

Device Handling

  • Device connect (send event to client)
  • Device disconnect (send event to client)
  • Reject device message with wrong device id
  • Reject device message with correct id but no handler (i.e. sending VibrateCmd to a Launch)

Message Handling

  • Message downgrading to older client version
  • Reject "outgoing only" message.
  • Reject valid message with System Id (0)

Websocket Server Test Cases

  • Non-SSL connections
  • SSL connections
  • Websocket timeout handling
  • Remote websocket disconnect handling

Device Specific Test Cases

  • Fleshlight "Funscript" algorithm accuracy
  • Generic to specific command conversion (i.e. VibrateCmd with Speed 1.0 turns into a Lovense command of "Vibrate:20;", etc...)