test_cursesmon.py 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. from celery.tests.utils import unittest
  2. from celery.events import cursesmon
  3. class MockWindow(object):
  4. def getmaxyx(self):
  5. return self.y, self.x
  6. class TestCursesDisplay(unittest.TestCase):
  7. def setUp(self):
  8. self.monitor = cursesmon.CursesMonitor(object())
  9. self.win = MockWindow()
  10. self.monitor.win = self.win
  11. def test_format_row_with_default_widths(self):
  12. self.win.x, self.win.y = 91, 24
  13. row = self.monitor.format_row(
  14. '783da208-77d0-40ca-b3d6-37dd6dbb55d3',
  15. 'task.task.task.task.task.task.task.task.task.tas',
  16. 'workerworkerworkerworkerworkerworkerworkerworker',
  17. '21:13:20',
  18. 'SUCCESS')
  19. self.assertEqual('783da208-77d0-40ca-b3d6-37dd6dbb55d3 '
  20. 'workerworker... task.task.[.]tas 21:13:20 SUCCESS ',
  21. row)
  22. def test_format_row_with_truncated_uuid(self):
  23. self.win.x, self.win.y = 80, 24
  24. row = self.monitor.format_row(
  25. '783da208-77d0-40ca-b3d6-37dd6dbb55d3',
  26. 'task.task.task.task.task.task.task.task.task.tas',
  27. 'workerworkerworkerworkerworkerworkerworkerworker',
  28. '21:13:20',
  29. 'SUCCESS')
  30. self.assertEqual('783da208-77d0-40ca-b3d... workerworker... '
  31. 'task.task.[.]tas 21:13:20 SUCCESS ',
  32. row)
  33. def test_format_title_row(self):
  34. self.win.x, self.win.y = 80, 24
  35. row = self.monitor.format_row("UUID", "TASK",
  36. "WORKER", "TIME", "STATE")
  37. self.assertEqual('UUID WORKER '
  38. 'TASK TIME STATE ',
  39. row)
  40. def test_format_row_for_wide_screen_with_short_uuid(self):
  41. self.win.x, self.win.y = 140, 24
  42. row = self.monitor.format_row(
  43. '783da208-77d0-40ca-b3d6-37dd6dbb55d3',
  44. 'task.task.task.task.task.task.task.task.task.tas',
  45. 'workerworkerworkerworkerworkerworkerworkerworker',
  46. '21:13:20',
  47. 'SUCCESS')
  48. self.assertEqual(136, len(row))
  49. self.assertEqual('783da208-77d0-40ca-b3d6-37dd6dbb55d3 '
  50. 'workerworkerworkerworkerworkerworker... '
  51. 'task.task.task.task.task.task.task.[.]tas '
  52. '21:13:20 SUCCESS ',
  53. row)