Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test_debug.py 1.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from __future__ import absolute_import
  2. import logging
  3. from kombu.utils.debug import (
  4. setup_logging,
  5. Logwrapped,
  6. )
  7. from kombu.tests.case import Case, Mock, patch
  8. class test_setup_logging(Case):
  9. def test_adds_handlers_sets_level(self):
  10. with patch('kombu.utils.debug.get_logger') as get_logger:
  11. logger = get_logger.return_value = Mock()
  12. setup_logging(loggers=['kombu.test'])
  13. get_logger.assert_called_with('kombu.test')
  14. self.assertTrue(logger.addHandler.called)
  15. logger.setLevel.assert_called_with(logging.DEBUG)
  16. class test_Logwrapped(Case):
  17. def test_wraps(self):
  18. with patch('kombu.utils.debug.get_logger') as get_logger:
  19. logger = get_logger.return_value = Mock()
  20. W = Logwrapped(Mock(), 'kombu.test')
  21. get_logger.assert_called_with('kombu.test')
  22. self.assertIsNotNone(W.instance)
  23. self.assertIs(W.logger, logger)
  24. W.instance.__repr__ = lambda s: 'foo'
  25. self.assertEqual(repr(W), 'foo')
  26. W.instance.some_attr = 303
  27. self.assertEqual(W.some_attr, 303)
  28. W.instance.some_method.__name__ = 'some_method'
  29. W.some_method(1, 2, kw=1)
  30. W.instance.some_method.assert_called_with(1, 2, kw=1)
  31. W.some_method()
  32. W.instance.some_method.assert_called_with()
  33. W.some_method(kw=1)
  34. W.instance.some_method.assert_called_with(kw=1)
  35. W.ident = 'ident'
  36. W.some_method(kw=1)
  37. self.assertTrue(logger.debug.called)
  38. self.assertIn('ident', logger.debug.call_args[0][0])
  39. self.assertEqual(dir(W), dir(W.instance))