本文整理汇总了Python中aioxmpp.callbacks.TagDispatcher类的典型用法代码示例。如果您正苦于以下问题:Python TagDispatcher类的具体用法?Python TagDispatcher怎么用?Python TagDispatcher使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TagDispatcher类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_unicast_error
def test_unicast_error(self):
data = unittest.mock.Mock()
error1 = unittest.mock.Mock()
error1.return_value = False
error2 = unittest.mock.Mock()
error2.return_value = False
l1 = TagListener(data, error1)
l2 = TagListener(data, error2)
obj = object()
nh = TagDispatcher()
nh.add_listener("tag1", l1)
nh.add_listener("tag2", l2)
nh.unicast_error("tag1", obj)
data.assert_not_called()
self.assertSequenceEqual(
[
unittest.mock.call(obj),
],
error1.mock_calls
)
self.assertSequenceEqual(
[
],
error2.mock_calls
)
示例2: test_add_callback_async
def test_add_callback_async(self, AsyncTagListener):
AsyncTagListener().is_valid.return_value = True
AsyncTagListener.mock_calls.clear()
data = unittest.mock.Mock()
loop = unittest.mock.Mock()
obj = object()
nh = TagDispatcher()
nh.add_callback_async("tag", data, loop=loop)
self.assertSequenceEqual(
[
unittest.mock.call(data, loop=loop)
],
AsyncTagListener.mock_calls
)
del AsyncTagListener.mock_calls[:]
nh.unicast("tag", obj)
self.assertSequenceEqual(
[
unittest.mock.call().is_valid(),
unittest.mock.call().data(obj),
unittest.mock.call().data().__bool__(),
],
AsyncTagListener.mock_calls
)
示例3: test_add_callback
def test_add_callback(self):
mock = unittest.mock.Mock()
nh = TagDispatcher()
nh.add_callback("tag", mock)
with self.assertRaisesRegex(ValueError,
"only one listener is allowed"):
nh.add_callback("tag", mock)
示例4: test_unicast_fails_for_invalid
def test_unicast_fails_for_invalid(self):
obj = object()
l = unittest.mock.Mock()
l.is_valid.return_value = False
nh = TagDispatcher()
nh.add_listener("tag", l)
with self.assertRaises(KeyError):
nh.unicast("tag", obj)
示例5: test_broadcast_error_skip_invalid
def test_broadcast_error_skip_invalid(self):
obj = object()
l = unittest.mock.Mock()
l.is_valid.return_value = False
nh = TagDispatcher()
nh.add_listener("tag", l)
nh.broadcast_error(obj)
self.assertSequenceEqual(
[
unittest.mock.call.is_valid()
],
l.mock_calls
)
示例6: test_unicast_error_skip_and_remove_invalid_and_raise_KeyError
def test_unicast_error_skip_and_remove_invalid_and_raise_KeyError(self):
obj = object()
l = unittest.mock.Mock()
l.is_valid.return_value = False
nh = TagDispatcher()
nh.add_listener("tag", l)
with self.assertRaises(KeyError):
nh.unicast_error("tag", obj)
self.assertSequenceEqual(
[
unittest.mock.call.is_valid()
],
l.mock_calls
)
示例7: test_unicast
def test_unicast(self):
mock = unittest.mock.Mock()
mock.return_value = False
obj = object()
nh = TagDispatcher()
nh.add_callback("tag", mock)
nh.unicast("tag", obj)
nh.unicast("tag", obj)
self.assertSequenceEqual(
[
unittest.mock.call(obj),
unittest.mock.call(obj),
],
mock.mock_calls
)
示例8: test_add_listener_skips_invalid
def test_add_listener_skips_invalid(self):
mock = unittest.mock.Mock()
l1 = unittest.mock.Mock()
l1.is_valid.return_value = True
l2 = TagListener(mock)
nh = TagDispatcher()
nh.add_listener("tag", l1)
l1.is_valid.return_value = False
nh.add_listener("tag", l2)
obj = object()
nh.unicast("tag", obj)
self.assertSequenceEqual(
[
unittest.mock.call.is_valid(),
],
l1.mock_calls
)
self.assertSequenceEqual(
[
unittest.mock.call(obj),
],
mock.mock_calls
)
示例9: test_unicast_to_cancelled_oneshot
def test_unicast_to_cancelled_oneshot(self):
mock = unittest.mock.Mock()
obj = object()
l = OneshotTagListener(mock)
nh = TagDispatcher()
nh.add_listener("tag", l)
l.cancel()
with self.assertRaises(KeyError):
nh.unicast("tag", obj)
self.assertSequenceEqual(
[],
mock.mock_calls
)
示例10: test_remove_listener
def test_remove_listener(self):
mock = unittest.mock.Mock()
nh = TagDispatcher()
nh.add_callback("tag", mock)
nh.remove_listener("tag")
with self.assertRaises(KeyError):
nh.unicast("tag", object())
mock.assert_not_called()
示例11: test_broadcast_error_removes_on_true_result
def test_broadcast_error_removes_on_true_result(self):
data = unittest.mock.Mock()
error1 = unittest.mock.Mock()
error1.return_value = True
l1 = TagListener(data, error1)
obj = object()
nh = TagDispatcher()
nh.add_listener("tag1", l1)
nh.broadcast_error(obj)
nh.broadcast_error(obj)
data.assert_not_called()
self.assertSequenceEqual(
[
unittest.mock.call(obj),
],
error1.mock_calls
)
示例12: test_unicast_removes_for_true_result
def test_unicast_removes_for_true_result(self):
mock = unittest.mock.Mock()
mock.return_value = True
obj = object()
nh = TagDispatcher()
nh.add_callback("tag", mock)
nh.unicast("tag", obj)
with self.assertRaises(KeyError):
nh.unicast("tag", obj)
mock.assert_called_once_with(obj)
示例13: test_broadcast_error_to_cancelled_oneshot
def test_broadcast_error_to_cancelled_oneshot(self):
data = unittest.mock.Mock()
error = unittest.mock.Mock()
obj = object()
l = OneshotTagListener(data, error)
nh = TagDispatcher()
nh.add_listener("tag", l)
l.cancel()
nh.broadcast_error(obj)
with self.assertRaises(KeyError):
nh.unicast("tag", obj)
self.assertSequenceEqual(
[],
error.mock_calls
)
self.assertFalse(data.mock_calls)
示例14: test_close
def test_close(self):
data = unittest.mock.Mock()
error1 = unittest.mock.Mock()
error2 = unittest.mock.Mock()
l1 = TagListener(data, error1)
l2 = TagListener(data, error2)
obj = object()
nh = TagDispatcher()
nh.add_listener("tag1", l1)
nh.add_listener("tag2", l2)
nh.close_all(obj)
data.assert_not_called()
error1.assert_called_once_with(obj)
error2.assert_called_once_with(obj)
with self.assertRaises(KeyError):
nh.remove_listener("tag1")
with self.assertRaises(KeyError):
nh.remove_listener("tag2")
with self.assertRaises(KeyError):
nh.unicast("tag1", None)
with self.assertRaises(KeyError):
nh.unicast("tag2", None)
示例15: test_unicast_fails_for_nonexistent
def test_unicast_fails_for_nonexistent(self):
obj = object()
nh = TagDispatcher()
with self.assertRaises(KeyError):
nh.unicast("tag", obj)