test_text.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. from __future__ import absolute_import
  2. from celery.utils.text import (
  3. indent,
  4. ensure_2lines,
  5. abbr,
  6. truncate,
  7. abbrtask,
  8. pretty,
  9. )
  10. from celery.tests.case import AppCase, Case
  11. RANDTEXT = """\
  12. The quick brown
  13. fox jumps
  14. over the
  15. lazy dog\
  16. """
  17. RANDTEXT_RES = """\
  18. The quick brown
  19. fox jumps
  20. over the
  21. lazy dog\
  22. """
  23. QUEUES = {
  24. 'queue1': {
  25. 'exchange': 'exchange1',
  26. 'exchange_type': 'type1',
  27. 'routing_key': 'bind1',
  28. },
  29. 'queue2': {
  30. 'exchange': 'exchange2',
  31. 'exchange_type': 'type2',
  32. 'routing_key': 'bind2',
  33. },
  34. }
  35. QUEUE_FORMAT1 = '.> queue1 exchange=exchange1(type1) key=bind1'
  36. QUEUE_FORMAT2 = '.> queue2 exchange=exchange2(type2) key=bind2'
  37. class test_Info(AppCase):
  38. def test_textindent(self):
  39. self.assertEqual(indent(RANDTEXT, 4), RANDTEXT_RES)
  40. def test_format_queues(self):
  41. self.app.amqp.queues = self.app.amqp.Queues(QUEUES)
  42. self.assertEqual(sorted(self.app.amqp.queues.format().split('\n')),
  43. sorted([QUEUE_FORMAT1, QUEUE_FORMAT2]))
  44. def test_ensure_2lines(self):
  45. self.assertEqual(
  46. len(ensure_2lines('foo\nbar\nbaz\n').splitlines()), 3,
  47. )
  48. self.assertEqual(
  49. len(ensure_2lines('foo\nbar').splitlines()), 2,
  50. )
  51. class test_utils(Case):
  52. def test_truncate_text(self):
  53. self.assertEqual(truncate('ABCDEFGHI', 3), 'ABC...')
  54. self.assertEqual(truncate('ABCDEFGHI', 10), 'ABCDEFGHI')
  55. def test_abbr(self):
  56. self.assertEqual(abbr(None, 3), '???')
  57. self.assertEqual(abbr('ABCDEFGHI', 6), 'ABC...')
  58. self.assertEqual(abbr('ABCDEFGHI', 20), 'ABCDEFGHI')
  59. self.assertEqual(abbr('ABCDEFGHI', 6, None), 'ABCDEF')
  60. def test_abbrtask(self):
  61. self.assertEqual(abbrtask(None, 3), '???')
  62. self.assertEqual(
  63. abbrtask('feeds.tasks.refresh', 10),
  64. '[.]refresh',
  65. )
  66. self.assertEqual(
  67. abbrtask('feeds.tasks.refresh', 30),
  68. 'feeds.tasks.refresh',
  69. )
  70. def test_pretty(self):
  71. self.assertTrue(pretty(('a', 'b', 'c')))