|
|
@ -70,7 +70,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -86,7 +86,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': True, |
|
|
'binary': True, |
|
|
'data': [{'_placeholder': True, 'num': 0}, 'YmFy'], |
|
|
'data': [[{'_placeholder': True, 'num': 0}], 'YmFy'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -100,7 +100,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': True, |
|
|
'binary': True, |
|
|
'data': [{'foo': {'_placeholder': True, 'num': 0}}, 'YmFy'], |
|
|
'data': [[{'foo': {'_placeholder': True, 'num': 0}}], 'YmFy'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -116,7 +116,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': True, |
|
|
'binary': True, |
|
|
'data': [{'_placeholder': True, 'num': 0}, 'YmFy'], |
|
|
'data': [[{'_placeholder': True, 'num': 0}], 'YmFy'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -130,7 +130,87 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': True, |
|
|
'binary': True, |
|
|
'data': [{'foo': {'_placeholder': True, 'num': 0}}, 'YmFy'], |
|
|
'data': [[{'foo': {'_placeholder': True, 'num': 0}}], 'YmFy'], |
|
|
|
|
|
'namespace': '/', |
|
|
|
|
|
'room': None, |
|
|
|
|
|
'skip_sid': None, |
|
|
|
|
|
'callback': None, |
|
|
|
|
|
'host_id': '123456', |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_emit_list(self): |
|
|
|
|
|
self.pm.emit('foo', [1, 'two']) |
|
|
|
|
|
self.pm._publish.assert_called_once_with( |
|
|
|
|
|
{ |
|
|
|
|
|
'method': 'emit', |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': False, |
|
|
|
|
|
'data': [[1, 'two']], |
|
|
|
|
|
'namespace': '/', |
|
|
|
|
|
'room': None, |
|
|
|
|
|
'skip_sid': None, |
|
|
|
|
|
'callback': None, |
|
|
|
|
|
'host_id': '123456', |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
self.pm.emit('foo', [1, b'two', 'three']) |
|
|
|
|
|
self.pm._publish.assert_called_with( |
|
|
|
|
|
{ |
|
|
|
|
|
'method': 'emit', |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [ |
|
|
|
|
|
[[1, {'_placeholder': True, 'num': 0}, 'three']], 'dHdv', |
|
|
|
|
|
], |
|
|
|
|
|
'namespace': '/', |
|
|
|
|
|
'room': None, |
|
|
|
|
|
'skip_sid': None, |
|
|
|
|
|
'callback': None, |
|
|
|
|
|
'host_id': '123456', |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_emit_no_arguments(self): |
|
|
|
|
|
self.pm.emit('foo', ()) |
|
|
|
|
|
self.pm._publish.assert_called_once_with( |
|
|
|
|
|
{ |
|
|
|
|
|
'method': 'emit', |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': False, |
|
|
|
|
|
'data': [], |
|
|
|
|
|
'namespace': '/', |
|
|
|
|
|
'room': None, |
|
|
|
|
|
'skip_sid': None, |
|
|
|
|
|
'callback': None, |
|
|
|
|
|
'host_id': '123456', |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_emit_multiple_arguments(self): |
|
|
|
|
|
self.pm.emit('foo', (1, 'two')) |
|
|
|
|
|
self.pm._publish.assert_called_once_with( |
|
|
|
|
|
{ |
|
|
|
|
|
'method': 'emit', |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': False, |
|
|
|
|
|
'data': [1, 'two'], |
|
|
|
|
|
'namespace': '/', |
|
|
|
|
|
'room': None, |
|
|
|
|
|
'skip_sid': None, |
|
|
|
|
|
'callback': None, |
|
|
|
|
|
'host_id': '123456', |
|
|
|
|
|
} |
|
|
|
|
|
) |
|
|
|
|
|
self.pm.emit('foo', (1, b'two', 'three')) |
|
|
|
|
|
self.pm._publish.assert_called_with( |
|
|
|
|
|
{ |
|
|
|
|
|
'method': 'emit', |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [ |
|
|
|
|
|
[1, {'_placeholder': True, 'num': 0}, 'three'], 'dHdv', |
|
|
|
|
|
], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -147,7 +227,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': sid, |
|
|
'room': sid, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -163,7 +243,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/baz', |
|
|
'namespace': '/baz', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -179,7 +259,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': 'baz', |
|
|
'room': 'baz', |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -195,7 +275,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': None, |
|
|
'room': None, |
|
|
'skip_sid': 'baz', |
|
|
'skip_sid': 'baz', |
|
|
@ -214,7 +294,7 @@ class TestPubSubManager: |
|
|
'method': 'emit', |
|
|
'method': 'emit', |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
'binary': False, |
|
|
'binary': False, |
|
|
'data': 'bar', |
|
|
'data': ['bar'], |
|
|
'namespace': '/', |
|
|
'namespace': '/', |
|
|
'room': 'baz', |
|
|
'room': 'baz', |
|
|
'skip_sid': None, |
|
|
'skip_sid': None, |
|
|
@ -305,6 +385,18 @@ class TestPubSubManager: |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
def test_handle_emit(self): |
|
|
def test_handle_emit(self): |
|
|
|
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
|
|
|
self.pm._handle_emit({'event': 'foo', 'data': ['bar']}) |
|
|
|
|
|
super_emit.assert_called_once_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
'bar', |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_handle_legacy_emit(self): |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
self.pm._handle_emit({'event': 'foo', 'data': 'bar'}) |
|
|
self.pm._handle_emit({'event': 'foo', 'data': 'bar'}) |
|
|
super_emit.assert_called_once_with( |
|
|
super_emit.assert_called_once_with( |
|
|
@ -317,6 +409,35 @@ class TestPubSubManager: |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
def test_handle_emit_binary(self): |
|
|
def test_handle_emit_binary(self): |
|
|
|
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
|
|
|
self.pm._handle_emit({ |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [[{'_placeholder': True, 'num': 0}], 'YmFy'], |
|
|
|
|
|
}) |
|
|
|
|
|
super_emit.assert_called_once_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
b'bar', |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
self.pm._handle_emit({ |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [[{'foo': {'_placeholder': True, 'num': 0}}], 'YmFy'], |
|
|
|
|
|
}) |
|
|
|
|
|
super_emit.assert_called_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
{'foo': b'bar'}, |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_handle_legacy_emit_binary(self): |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
self.pm._handle_emit({ |
|
|
self.pm._handle_emit({ |
|
|
'event': 'foo', |
|
|
'event': 'foo', |
|
|
@ -345,6 +466,72 @@ class TestPubSubManager: |
|
|
callback=None, |
|
|
callback=None, |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_handle_emit_list(self): |
|
|
|
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
|
|
|
self.pm._handle_emit({'event': 'foo', 'data': [[1, 'two']]}) |
|
|
|
|
|
super_emit.assert_called_once_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
[1, 'two'], |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
self.pm._handle_emit({ |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [ |
|
|
|
|
|
[[1, {'_placeholder': True, 'num': 0}, 'three']], 'dHdv' |
|
|
|
|
|
], |
|
|
|
|
|
}) |
|
|
|
|
|
super_emit.assert_called_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
[1, b'two', 'three'], |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_handle_emit_no_arguments(self): |
|
|
|
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
|
|
|
self.pm._handle_emit({'event': 'foo', 'data': []}) |
|
|
|
|
|
super_emit.assert_called_once_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
(), |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
def test_handle_emit_multiple_arguments(self): |
|
|
|
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
|
|
|
self.pm._handle_emit({'event': 'foo', 'data': [1, 'two']}) |
|
|
|
|
|
super_emit.assert_called_once_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
(1, 'two'), |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
self.pm._handle_emit({ |
|
|
|
|
|
'event': 'foo', |
|
|
|
|
|
'binary': True, |
|
|
|
|
|
'data': [ |
|
|
|
|
|
[1, {'_placeholder': True, 'num': 0}, 'three'], 'dHdv' |
|
|
|
|
|
], |
|
|
|
|
|
}) |
|
|
|
|
|
super_emit.assert_called_with( |
|
|
|
|
|
'foo', |
|
|
|
|
|
(1, b'two', 'three'), |
|
|
|
|
|
namespace=None, |
|
|
|
|
|
room=None, |
|
|
|
|
|
skip_sid=None, |
|
|
|
|
|
callback=None, |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
def test_handle_emit_with_namespace(self): |
|
|
def test_handle_emit_with_namespace(self): |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
with mock.patch.object(manager.Manager, 'emit') as super_emit: |
|
|
self.pm._handle_emit( |
|
|
self.pm._handle_emit( |
|
|
|