Fail unit tests without errors
This commit is contained in:
parent
dec8e09327
commit
5806f23492
3 changed files with 25 additions and 18 deletions
|
|
@ -1,7 +1,9 @@
|
|||
from .exceptions import ConnectionError, TimeoutError, PacketError
|
||||
from .heartbeats import HeartbeatThread
|
||||
from .logs import LoggingMixin
|
||||
from .namespaces import EngineIONamespace, SocketIONamespace, find_callback
|
||||
from .namespaces import (
|
||||
EngineIONamespace, SocketIONamespace, LoggingSocketIONamespace,
|
||||
find_callback)
|
||||
from .parsers import (
|
||||
parse_host, parse_engineIO_session,
|
||||
format_socketIO_packet_data, parse_socketIO_packet_data,
|
||||
|
|
@ -12,6 +14,8 @@ from .transports import XHR_PollingTransport, prepare_http_session, TRANSPORTS
|
|||
|
||||
__all__ = 'SocketIO', 'SocketIONamespace'
|
||||
__version__ = '0.6.1'
|
||||
BaseNamespace = SocketIONamespace
|
||||
LoggingNamespace = LoggingSocketIONamespace
|
||||
|
||||
|
||||
class EngineIO(LoggingMixin):
|
||||
|
|
@ -34,24 +38,23 @@ class EngineIO(LoggingMixin):
|
|||
@property
|
||||
def connected(self):
|
||||
try:
|
||||
transport = self.__transport
|
||||
return self._connected
|
||||
except AttributeError:
|
||||
return False
|
||||
else:
|
||||
return transport.connected
|
||||
|
||||
@property
|
||||
def _transport(self):
|
||||
try:
|
||||
if self.connected:
|
||||
return self.__transport
|
||||
return self._transport_instance
|
||||
except AttributeError:
|
||||
pass
|
||||
self._engineIO_session = self._get_engineIO_session()
|
||||
self._negotiate_transport()
|
||||
self._reset_heartbeat()
|
||||
self._connect_namespaces()
|
||||
return self.__transport
|
||||
self._connected = True
|
||||
self._reset_heartbeat()
|
||||
return self._transport_instance
|
||||
|
||||
def _get_engineIO_session(self):
|
||||
warning_screen = self._yield_warning_screen()
|
||||
|
|
@ -61,6 +64,7 @@ class EngineIO(LoggingMixin):
|
|||
try:
|
||||
engineIO_packet_type, engineIO_packet_data = next(
|
||||
transport.recv_packet())
|
||||
break
|
||||
except (TimeoutError, ConnectionError) as e:
|
||||
if not self._wait_for_connection:
|
||||
raise
|
||||
|
|
@ -71,7 +75,7 @@ class EngineIO(LoggingMixin):
|
|||
|
||||
def _negotiate_transport(self):
|
||||
transport_name = 'xhr-polling'
|
||||
self.__transport = self._get_transport(transport_name)
|
||||
self._transport_instance = self._get_transport(transport_name)
|
||||
self._transport_name = transport_name
|
||||
|
||||
def _reset_heartbeat(self):
|
||||
|
|
@ -143,6 +147,7 @@ class EngineIO(LoggingMixin):
|
|||
return
|
||||
engineIO_packet_type = 1
|
||||
self._transport.send_packet(engineIO_packet_type, '')
|
||||
self._connected = False
|
||||
|
||||
def _ping(self, engineIO_packet_data=''):
|
||||
engineIO_packet_type = 2
|
||||
|
|
@ -278,7 +283,7 @@ class SocketIO(EngineIO):
|
|||
|
||||
def _connect_namespaces(self):
|
||||
for path, namespace in self._namespace_by_path.items():
|
||||
namespace._transport = self.__transport
|
||||
namespace._transport = self._transport_instance
|
||||
if path:
|
||||
self.connect(path)
|
||||
|
||||
|
|
@ -294,7 +299,7 @@ class SocketIO(EngineIO):
|
|||
|
||||
def define(self, Namespace, path=''):
|
||||
if path:
|
||||
self._connect(path)
|
||||
self.connect(path)
|
||||
self._namespace_by_path[path] = namespace = Namespace(self, path)
|
||||
return namespace
|
||||
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ def parse_socketIO_packet_data(socketIO_packet_data):
|
|||
|
||||
|
||||
def get_namespace_path(socketIO_packet_data):
|
||||
if '/' != get_character(socketIO_packet_data, 0):
|
||||
if not socketIO_packet_data.startswith(b'/'):
|
||||
return ''
|
||||
# Loop incrementally in case there is binary data
|
||||
parts = []
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import logging
|
|||
import time
|
||||
from unittest import TestCase
|
||||
|
||||
from .. import SocketIO, LoggingSocketIONamespace, find_callback
|
||||
from .. import SocketIO, LoggingNamespace, find_callback
|
||||
|
||||
|
||||
HOST = 'localhost'
|
||||
|
|
@ -15,14 +15,16 @@ logging.basicConfig(level=logging.DEBUG)
|
|||
class BaseMixin(object):
|
||||
|
||||
def setUp(self):
|
||||
super(BaseMixin, self).setUp()
|
||||
self.called_on_response = False
|
||||
|
||||
def tearDown(self):
|
||||
super(BaseMixin, self).tearDown()
|
||||
del self.socketIO
|
||||
|
||||
def test_disconnect(self):
|
||||
'Disconnect'
|
||||
self.socketIO.define(LoggingSocketIONamespace)
|
||||
self.socketIO.define(LoggingNamespace)
|
||||
self.assertTrue(self.socketIO.connected)
|
||||
self.socketIO.disconnect()
|
||||
self.assertFalse(self.socketIO.connected)
|
||||
|
|
@ -63,14 +65,14 @@ class BaseMixin(object):
|
|||
|
||||
def test_emit_with_callback(self):
|
||||
'Emit with callback'
|
||||
self.socketIO.define(LoggingSocketIONamespace)
|
||||
self.socketIO.define(LoggingNamespace)
|
||||
self.socketIO.emit('emit_with_callback', self.on_response)
|
||||
self.socketIO.wait_for_callbacks(seconds=self.wait_time_in_seconds)
|
||||
self.assertTrue(self.called_on_response)
|
||||
|
||||
def test_emit_with_callback_with_payload(self):
|
||||
'Emit with callback with payload'
|
||||
self.socketIO.define(LoggingSocketIONamespace)
|
||||
self.socketIO.define(LoggingNamespace)
|
||||
self.socketIO.emit(
|
||||
'emit_with_callback_with_payload', self.on_response)
|
||||
self.socketIO.wait_for_callbacks(seconds=self.wait_time_in_seconds)
|
||||
|
|
@ -78,7 +80,7 @@ class BaseMixin(object):
|
|||
|
||||
def test_emit_with_callback_with_multiple_payloads(self):
|
||||
'Emit with callback with multiple payloads'
|
||||
self.socketIO.define(LoggingSocketIONamespace)
|
||||
self.socketIO.define(LoggingNamespace)
|
||||
self.socketIO.emit(
|
||||
'emit_with_callback_with_multiple_payloads', self.on_response)
|
||||
self.socketIO.wait_for_callbacks(seconds=self.wait_time_in_seconds)
|
||||
|
|
@ -156,7 +158,7 @@ class BaseMixin(object):
|
|||
self.called_on_response = True
|
||||
|
||||
|
||||
class Test_XHR_PollingTransport(TestCase, BaseMixin):
|
||||
class Test_XHR_PollingTransport(BaseMixin, TestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(Test_XHR_PollingTransport, self).setUp()
|
||||
|
|
@ -164,7 +166,7 @@ class Test_XHR_PollingTransport(TestCase, BaseMixin):
|
|||
self.wait_time_in_seconds = 1
|
||||
|
||||
|
||||
class Namespace(LoggingSocketIONamespace):
|
||||
class Namespace(LoggingNamespace):
|
||||
|
||||
def initialize(self):
|
||||
self.called_on_disconnect = False
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue