summaryrefslogtreecommitdiff
path: root/websocket/tests/test_app.py
Commit message (Collapse)AuthorAgeFilesLines
* Remove incorrect commentengn33r2023-01-261-1/+0
|
* Refactor and fix reconnect and ping (#862)j-a-n2023-01-261-0/+85
| | | | | | | | | | | | | | | | | | | | * Refactor and fix reconnect and ping - Dispatcher: do not reconnect in loop - Avoid reconnect in recursion and hit maximum recursion depth - Close websocket before reconnect to avoid unclosed ssl.SSLSocket warnings - Start ping thread on socket connect - Stop ping thread on socket disconnect - Add reconnect test - Add callback exception test * Remove duplicate function * Also check passed app in testCallbackException * Test exception in callback method Co-authored-by: Jan Schneider <j.schneider@uib.de> Co-authored-by: engn33r <engn33r@users.noreply.github.com>
* remove problematic CI test URLengn33r2023-01-261-7/+8
|
* create_dispatcher() w/ is_ssl determined by url instead of sslopt (#875)bubbleboy142022-11-031-1/+1
| | | | | | | | | | | * create_dispatcher() w/ is_ssl determined by url instead of sslopt * added .lower() (per @rm-you's suggestion) * create_dispatcher() w/ parse_url()-derived is_ssl * Fix failing test, missing wss Co-authored-by: engn33r <engn33r@users.noreply.github.com>
* fix for stack growth on reconnect (#854)bubbleboy142022-09-041-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * rel example * tweaked rel example for linter * added rel note to examples.rst * slightly more compact example * added example header * matched wording * _socket.recv(): _recv() except socket.error - changed or to and; added except TimeoutError - raise WebSocketTimeoutException * _app - custom dispatcher check_callback() integration (and fixed pyevent compatibility): WrappedDispatcher (for use with generic event dispatchers such as pyevent and rel); create_dispatcher() accepts dispatcher kwarg (default None), and if it is specified, returns a WrappedDispatcher; use create_dispatcher() (passing specified dispatcher if any) every time (regardless of dispatcher specification) * Add clarifying comment, rerun CI tests * Add space to make linter happy * working reconnect * rmed logs * added _logging.warning() disconnected/reconnected notifications to handleDisconnect() * moved connect notification and dispatcher.read() (if doread kwarg [default False] is True) to setSock() (prevents those lines from running on ConnectionRefusedError) * run_forever(): reconnect kwarg now specifies sleep() time (defualt 5) * handleDisconnect(): fixed log msg * run_forever() refactor: stabilized stack frame count (at least in rel mode); added stack frame count to disconnect (warning) log; grossly oversimplified ;) * dispatcher simplification via DispatcherBase and DispatcherBase/WrappedDispatcher.timeout() * _logging: info(); enableTrace() supports level kwarg (default "DEBUG") * handleDisconnect() uses info() log * Fix linting errors * moved timeout() from Dispatcher to DispatcherBase (thus also applying to SSLDispatcher) * reconnect()s for DispatcherBase (uses while loop) and WrappedDispatcher (uses timeout()); setSock() reconnecting (default False) kwarg - if reconnecting, skip handleDisconnect(); handleDisconnect() calls dispatcher.reconnect() * custom_dispatcher switch in handleDisconnect() * WrappedDispatcher constructor registers keyboard interrupt signal * DispatcherBase.reconnect(): wrapped while loop in KeyboardInterrupt try/except * fixed lint errors * _app: RECONNECT (default 5) and setReconnect() setter; WebSocketApp.run_forever() reconnect kwarg defaults to RECONNECT * tests.test_app: ws.setReconnect(0) (may fix test stall issue) * oops, added setReconnect import to websocket __init__ * blank line for linter * linter line * added rel to setup extras_require{test}[] * adjusted testRunForeverDispatcher() to use rel (including dispatch()) * setup: moved rel dep from extras_require{test}[] to tests_require[] * meh trying install_requires[] (tests_require[] depped??) * set RECONNECT (run_forever() reconnect kwarg default) to 0 (can be altered with setReconnect()) to preserve old (non-reconnecting) default behavior for existing integrations * rmed rel from install_requires[] (only added for tests, and was not working...) * test_app: rmed ws.setReconnect(0) (0 is new default) * run_forever() reconnect->RECONNECT fallback in func instead of kwarg default * test_app: disabled rel import (unsure how to set up test dependency) and testRunForeverDispatcher() (also not working previously afaik) * linter fixes * linter comment spaces * run_forever() returns False to pass testRunForeverTeardownCleanExit test * run_forever() returns False unless error (handleDisconnect() changes to True before calling on_error callback) * rval->self.has_errored Co-authored-by: engn33r <engn33r@users.noreply.github.com>
* Linting improvements, improved flake8 linting CI cmdengn33r2022-02-251-7/+7
|
* fix!: `WebSocketApp.run_forever()` returning `None` after `close()` is ↵FujiApple2022-02-251-1/+32
| | | | | | | | | | | | | called (#788) * fix!: `WebSocketApp.run_forever()` returning `None` after `close()` is called BREAKING CHANGE: the return value of `WebSocketApp.run_forever()` will no longer return the (undocumented) `None` value. * fix(tests): replace the defunct `wss://stream.meetup.com/2/rsvps` with `wss://api.bitfinex.com/ws/2` in several tests * test: added two new local server tests to cover the changes in #785 * Remove newline to fix lint error
* Update copyright year to 2022engn33r2021-12-311-1/+1
|
* Minor test improvements for better code coverageengn33r2021-12-131-1/+21
|
* Revert 998c496, fix #769engn33r2021-12-071-0/+42
|
* Fix #752 remove keep_running variable in library and testsengn33r2021-11-261-42/+0
|
* Py2->3: simplify class definition (#750)谭九鼎2021-10-201-1/+1
| | | Remove implied and redundant object class type declarations
* Improve usage of LOCAL_WS_SERVER_PORTengn33r2021-08-141-1/+1
|
* Improve unit tests with LOCAL_WS_SERVER_PORT variableengn33r2021-08-131-5/+6
|
* Fix python-socks dependency and replace echo.websocket.org in testsengn33r2021-08-111-1/+1
| | | | | | | | The recent addition of python-socks required it to be a dependency. This was mentioned in #728. Additional changes were made to prevent python-socks from becoming a required dependency for every install, so now it is only required for SOCKS proxy usage. Additionally, because echo.websockets.org was experiencing downtime issues during this fix, echo.websockets.org was replaced in unit tests with a local echo server from the Python websockets library. This should speed up tests, avoid test errors cause by external website downtime, and reduce traffic to echo.websocket.org caused by this project.
* Transition from LGPL 2.1 license to Apache 2.0 - fix #697engn33r2021-08-101-13/+11
|
* Minor code coverage unit test improvementengn33r2021-06-081-2/+6
|
* Improve _app.py, _http.py unit testsengn33r2021-05-171-0/+16
|
* Add status code examples to docs, improve unit testsengn33r2021-05-061-25/+56
|
* First pass removing Python 2 code, mostly six dependencyengn33r2021-05-041-10/+2
|
* PEP8 style compliance fixesengn33r2021-05-041-4/+2
|
* Improve _core.py test coverageengn33r2021-03-291-3/+0
|
* Improve _app.py code coverageengn33r2021-03-281-0/+142