The Faye WebSocket stack consists of these modules:
- faye-websocket: node, ruby
- websocket-driver: node, ruby
- websocket-extensions: node, ruby
- permessage-deflate: node, ruby
These are all tested using Autobahn, an exhaustive black-box test suite for WebSocket servers and clients.
This repo contains everything we use to run the test suite for all the combinations of languages, versions and app servers we support. It is very much in a "works on my machines" state, and assumes you have nvm and chruby installed in the canonical locations, and that you have all the required Node and Ruby versions installed.
To get set up:
git clone git://github.com/faye/wstest.git cd wstest virtualenv .venv . .venv/bin/activate pip install -r requirements.txt
To update all the WebSocket modules from source and set up their dependencies:
To run the server tests:
./scripts/node-servers ./scripts/ruby-servers wstest -m fuzzingclient killall node ruby java
To run the client tests:
wstest -m fuzzingserver & ./scripts/run-clients