test_system.py 2.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # coding=utf-8
  2. """
  3. Tests for /api/v2/system subpath endpoints.
  4. """
  5. from tracim.tests import FunctionalTest
  6. class TestApplicationsEndpoint(FunctionalTest):
  7. """
  8. Tests for /api/v2/system/applications
  9. """
  10. def test_api__get_applications__ok_200__nominal_case(self):
  11. """
  12. Get applications list with a registered user.
  13. """
  14. self.testapp.authorization = (
  15. 'Basic',
  16. (
  17. 'admin@admin.admin',
  18. 'admin@admin.admin'
  19. )
  20. )
  21. res = self.testapp.get('/api/v2/system/applications', status=200)
  22. res = res.json_body
  23. application = res[0]
  24. assert application['label'] == "Text Documents"
  25. assert application['slug'] == 'contents/htmlpage'
  26. assert application['icon'] == 'file-text-o'
  27. assert application['hexcolor'] == '#3f52e3'
  28. assert application['is_active'] is True
  29. assert 'config' in application
  30. application = res[1]
  31. assert application['label'] == "Markdown Plus Documents"
  32. assert application['slug'] == 'contents/markdownpluspage'
  33. assert application['icon'] == 'file-code'
  34. assert application['hexcolor'] == '#f12d2d'
  35. assert application['is_active'] is True
  36. assert 'config' in application
  37. application = res[2]
  38. assert application['label'] == "Files"
  39. assert application['slug'] == 'contents/files'
  40. assert application['icon'] == 'paperclip'
  41. assert application['hexcolor'] == '#FF9900'
  42. assert application['is_active'] is True
  43. assert 'config' in application
  44. application = res[3]
  45. assert application['label'] == "Threads"
  46. assert application['slug'] == 'contents/threads'
  47. assert application['icon'] == 'comments-o'
  48. assert application['hexcolor'] == '#ad4cf9'
  49. assert application['is_active'] is True
  50. assert 'config' in application
  51. application = res[4]
  52. assert application['label'] == "Calendar"
  53. assert application['slug'] == 'calendar'
  54. assert application['icon'] == 'calendar-alt'
  55. assert application['hexcolor'] == '#757575'
  56. assert application['is_active'] is True
  57. assert 'config' in application
  58. def test_api__get_workspace__err_401__unregistered_user(self):
  59. """
  60. Get applications list with an unregistered user (bad auth)
  61. """
  62. self.testapp.authorization = (
  63. 'Basic',
  64. (
  65. 'john@doe.doe',
  66. 'lapin'
  67. )
  68. )
  69. res = self.testapp.get('/api/v2/system/applications', status=401)
  70. assert isinstance(res.json, dict)
  71. assert 'code' in res.json.keys()
  72. assert 'message' in res.json.keys()
  73. assert 'details' in res.json.keys()