123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- # -*- coding: utf-8 -*-
- """
- Tests for /api/v2/users subpath endpoints.
- """
- from tracim.tests import FunctionalTest
- from tracim.fixtures.content import Content as ContentFixtures
- from tracim.fixtures.users_and_groups import Base as BaseFixture
-
-
- class TestUserWorkspaceEndpoint(FunctionalTest):
- # -*- coding: utf-8 -*-
- """
- Tests for /api/v2/users/{user_id}/workspaces
- """
- fixtures = [BaseFixture, ContentFixtures]
-
- def test_api__get_user_workspaces__ok_200__nominal_case(self):
- """
- Check obtain all workspaces reachables for user with user auth.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/users/1/workspaces', status=200)
- res = res.json_body
- workspace = res[0]
- assert workspace['workspace_id'] == 1
- assert workspace['label'] == 'Business'
- assert workspace['slug'] == 'business'
- assert len(workspace['sidebar_entries']) == 7
-
- sidebar_entry = workspace['sidebar_entries'][0]
- assert sidebar_entry['slug'] == 'dashboard'
- assert sidebar_entry['label'] == 'Dashboard'
- assert sidebar_entry['route'] == '/#/workspaces/1/dashboard' # nopep8
- assert sidebar_entry['hexcolor'] == "#252525"
- assert sidebar_entry['fa_icon'] == "signal"
-
- sidebar_entry = workspace['sidebar_entries'][1]
- assert sidebar_entry['slug'] == 'contents/all'
- assert sidebar_entry['label'] == 'All Contents'
- assert sidebar_entry['route'] == "/#/workspaces/1/contents" # nopep8
- assert sidebar_entry['hexcolor'] == "#fdfdfd"
- assert sidebar_entry['fa_icon'] == "th"
-
- sidebar_entry = workspace['sidebar_entries'][2]
- assert sidebar_entry['slug'] == 'contents/html-documents'
- assert sidebar_entry['label'] == 'Text Documents'
- assert sidebar_entry['route'] == '/#/workspaces/1/contents?type=html-documents' # nopep8
- assert sidebar_entry['hexcolor'] == "#3f52e3"
- assert sidebar_entry['fa_icon'] == "file-text-o"
-
- sidebar_entry = workspace['sidebar_entries'][3]
- assert sidebar_entry['slug'] == 'contents/markdownpluspage'
- assert sidebar_entry['label'] == 'Markdown Plus Documents'
- assert sidebar_entry['route'] == "/#/workspaces/1/contents?type=markdownpluspage" # nopep8
- assert sidebar_entry['hexcolor'] == "#f12d2d"
- assert sidebar_entry['fa_icon'] == "file-code-o"
-
- sidebar_entry = workspace['sidebar_entries'][4]
- assert sidebar_entry['slug'] == 'contents/files'
- assert sidebar_entry['label'] == 'Files'
- assert sidebar_entry['route'] == "/#/workspaces/1/contents?type=file" # nopep8
- assert sidebar_entry['hexcolor'] == "#FF9900"
- assert sidebar_entry['fa_icon'] == "paperclip"
-
- sidebar_entry = workspace['sidebar_entries'][5]
- assert sidebar_entry['slug'] == 'contents/threads'
- assert sidebar_entry['label'] == 'Threads'
- assert sidebar_entry['route'] == "/#/workspaces/1/contents?type=thread" # nopep8
- assert sidebar_entry['hexcolor'] == "#ad4cf9"
- assert sidebar_entry['fa_icon'] == "comments-o"
-
- sidebar_entry = workspace['sidebar_entries'][6]
- assert sidebar_entry['slug'] == 'calendar'
- assert sidebar_entry['label'] == 'Calendar'
- assert sidebar_entry['route'] == "/#/workspaces/1/calendar" # nopep8
- assert sidebar_entry['hexcolor'] == "#757575"
- assert sidebar_entry['fa_icon'] == "calendar"
-
- def test_api__get_user_workspaces__err_403__unallowed_user(self):
- """
- Check obtain all workspaces reachables for one user
- with another non-admin user auth.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'lawrence-not-real-email@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get('/api/v2/users/1/workspaces', status=403)
- assert isinstance(res.json, dict)
- assert 'code' in res.json.keys()
- assert 'message' in res.json.keys()
- assert 'details' in res.json.keys()
-
- def test_api__get_user_workspaces__err_401__unregistered_user(self):
- """
- Check obtain all workspaces reachables for one user
- without correct user auth (user unregistered).
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'john@doe.doe',
- 'lapin'
- )
- )
- res = self.testapp.get('/api/v2/users/1/workspaces', status=401)
- assert isinstance(res.json, dict)
- assert 'code' in res.json.keys()
- assert 'message' in res.json.keys()
- assert 'details' in res.json.keys()
-
- def test_api__get_user_workspaces__err_400__user_does_not_exist(self):
- """
- Check obtain all workspaces reachables for one user who does
- not exist
- with a correct user auth.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/users/5/workspaces', status=400)
- assert isinstance(res.json, dict)
- assert 'code' in res.json.keys()
- assert 'message' in res.json.keys()
- assert 'details' in res.json.keys()
|