test_user.py 2.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # coding=utf-8
  2. from tracim.tests import FunctionalTest
  3. class TestUserWorkspaceEndpoint(FunctionalTest):
  4. def test_api__get_user_workspaces__ok_200__nominal_case(self):
  5. self.testapp.authorization = (
  6. 'Basic',
  7. (
  8. 'admin@admin.admin',
  9. 'admin@admin.admin'
  10. )
  11. )
  12. res = self.testapp.post_json('/api/v2/users/1/workspaces', status=200)
  13. workspace = res[0]
  14. assert workspace['id'] == 1
  15. assert workspace['slug'] == 'w1'
  16. assert workspace['label'] == 'w1'
  17. assert workspace['description'] == 'Just another description'
  18. assert len(workspace['sidebar_entries']) == 3 # TODO change this
  19. sidebar_entry = workspace['sidebar_entries'][0]
  20. assert sidebar_entry['slug'] == 'markdown-pages'
  21. assert sidebar_entry['label'] == 'Document Markdown'
  22. assert sidebar_entry['route'] == "/#/workspace/{workspace_id}/contents/?type=mardown-page" # nopep8
  23. assert sidebar_entry['hexcolor'] == "#F0F9DC"
  24. assert sidebar_entry['icon'] == "file-text-o"
  25. # TODO To this for the other
  26. def test_api__get_user_workspaces__err_403__unallowed_user(self):
  27. self.testapp.authorization = (
  28. 'Basic',
  29. (
  30. 'lawrence-not-real-email@fsf.local',
  31. 'foobarbaz'
  32. )
  33. )
  34. res = self.testapp.post_json('/api/v2/users/1/workspaces', status=403)
  35. assert isinstance(res.json, dict)
  36. assert 'code' in res.json.keys()
  37. assert 'message' in res.json.keys()
  38. assert 'details' in res.json.keys()
  39. def test_api__get_user_workspaces__err_401__unregistered_user(self):
  40. self.testapp.authorization = (
  41. 'Basic',
  42. (
  43. 'john@doe.doe',
  44. 'lapin'
  45. )
  46. )
  47. res = self.testapp.post_json('/api/v2/users/1/workspaces', status=401)
  48. assert isinstance(res.json, dict)
  49. assert 'code' in res.json.keys()
  50. assert 'message' in res.json.keys()
  51. assert 'details' in res.json.keys()
  52. def test_api__get_user_workspaces__err_404__user_does_not_exist(self):
  53. self.testapp.authorization = (
  54. 'Basic',
  55. (
  56. 'admin@admin.admin',
  57. 'admin@admin.admin'
  58. )
  59. )
  60. res = self.testapp.post_json('/api/v2/users/5/workspaces', status=404)
  61. assert isinstance(res.json, dict)
  62. assert 'code' in res.json.keys()
  63. assert 'message' in res.json.keys()
  64. assert 'details' in res.json.keys()