play websocket

https://img.shields.io/pypi/v/play_websocket.svg https://img.shields.io/travis/tierratelematics/play_websocket.svg Documentation Status https://codecov.io/gh/tierratelematics/play_websocket/branch/develop/graph/badge.svg

pytest-play support for websockets

More info and examples on:

Features

This project defines new pytest-play commands.

Connect

{'type': 'connect',
 'provider': 'play_websocket',
 'options': {
     'url': 'ws://echo.websocket.org/',
     'timeout': 2
     }
}

Send

{'type': 'send',
 'provider': 'play_websocket',
 'url': 'ws://echo.websocket.org/',
 'payload': 'Hello!'}

Receive

{'type': 'recv',
 'provider': 'play_websocket',
 'url': 'ws://echo.websocket.org/',
 'variable': 'data',
 'variable_expression': 'response.upper()',
 'assertion': 'data == "HELLO!"',
 'timeout': 10}

Receive until

If you want to filter the data returned by the websocked until you get what you expect:

{'provider': 'python',
 'type': 'wait_until',
 'expression': 'variables['data'] == "HELLO!"',
 'timeout': 60,
 'poll': 0,
 'sub_commands': [
     {
      'type': 'recv',
      'provider': 'play_websocket',
      'url': 'ws://echo.websocket.org/',
      'variable': 'data',
      'variable_expression': 'response.upper()',
      'timeout': 60}
     }]
}

Twitter

pytest-play tweets happens here:

Credits

This package was created with Cookiecutter and the cookiecutter-play-plugin (based on audreyr/cookiecutter-pypackage project template).