123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730 |
- # -*- coding: utf-8 -*-
- """
- Tests for /api/v2/workspaces 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 TestWorkspaceEndpoint(FunctionalTest):
- """
- Tests for /api/v2/workspaces/{workspace_id} endpoint
- """
-
- fixtures = [BaseFixture, ContentFixtures]
-
- def test_api__get_workspace__ok_200__nominal_case(self) -> None:
- """
- Check obtain workspace reachable for user.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1', status=200)
- workspace = res.json_body
- assert workspace['id'] == 1
- assert workspace['slug'] == 'business'
- assert workspace['label'] == 'Business'
- assert workspace['description'] == 'All importants documents'
- 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['icon'] == ""
-
- 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['icon'] == ""
-
- sidebar_entry = workspace['sidebar_entries'][2]
- assert sidebar_entry['slug'] == 'contents/pagehtml'
- assert sidebar_entry['label'] == 'Text Documents'
- assert sidebar_entry['route'] == '/#/workspaces/1/contents?type=pagehtml' # nopep8
- assert sidebar_entry['hexcolor'] == "#3f52e3"
- assert sidebar_entry['icon'] == "file-text-o"
-
- sidebar_entry = workspace['sidebar_entries'][3]
- assert sidebar_entry['slug'] == 'contents/pagemarkdownplus'
- assert sidebar_entry['label'] == 'Rich Markdown Files'
- assert sidebar_entry['route'] == "/#/workspaces/1/contents?type=pagemarkdownplus" # nopep8
- assert sidebar_entry['hexcolor'] == "#f12d2d"
- assert sidebar_entry['icon'] == "file-code"
-
- 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['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['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['icon'] == "calendar-alt"
-
- def test_api__get_workspace__err_403__unallowed_user(self) -> None:
- """
- Check obtain workspace unreachable for user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'lawrence-not-real-email@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1', 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_workspace__err_401__unregistered_user(self) -> None:
- """
- Check obtain workspace without registered user.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'john@doe.doe',
- 'lapin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1', 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_workspace__err_403__workspace_does_not_exist(self) -> None: # nopep8
- """
- Check obtain workspace who does not exist with an existing user.
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/5', 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()
-
-
- class TestWorkspaceMembersEndpoint(FunctionalTest):
- """
- Tests for /api/v2/workspaces/{workspace_id}/members endpoint
- """
-
- fixtures = [BaseFixture, ContentFixtures]
-
- def test_api__get_workspace_members__ok_200__nominal_case(self):
- """
- Check obtain workspace members list with a reachable workspace for user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1/members', status=200).json_body # nopep8
- assert len(res) == 1
- user_role = res[0]
- assert user_role['role_slug'] == 'workspace_manager'
- assert user_role['user_id'] == 1
- assert user_role['workspace_id'] == 1
- assert user_role['user']['display_name'] == 'Global manager'
- # TODO - G.M - 24-05-2018 - [Avatar] Replace
- # by correct value when avatar feature will be enabled
- assert user_role['user']['avatar_url'] is None
-
- def test_api__get_workspace_members__err_403__unallowed_user(self):
- """
- Check obtain workspace members list with an unreachable workspace for
- user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'lawrence-not-real-email@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/3/members', 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_workspace_members__err_401__unregistered_user(self):
- """
- Check obtain workspace members list with an unregistered user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'john@doe.doe',
- 'lapin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1/members', 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_workspace_members__err_403__workspace_does_not_exist(self): # nopep8
- """
- Check obtain workspace members list with an existing user but
- an unexisting workspace
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/5/members', 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()
-
-
- class TestWorkspaceContents(FunctionalTest):
- """
- Tests for /api/v2/workspaces/{workspace_id}/contents endpoint
- """
-
- fixtures = [BaseFixture, ContentFixtures]
-
- def test_api__get_workspace_content__ok_200__get_default(self):
- """
- Check obtain workspace contents with defaults filters
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1/contents', status=200).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
- assert len(res) == 3
- content = res[0]
- assert content['id'] == 1
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'Tools'
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'] == 'tools'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 1
- content = res[1]
- assert content['id'] == 2
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'Menus'
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'] == 'menus'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 1
- content = res[2]
- assert content['id'] == 11
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'Current Menu'
- assert content['parent_id'] == 2
- assert content['show_in_ui'] is True
- assert content['slug'] == 'current-menu'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 1
-
- # Root related
-
- def test_api__get_workspace_content__ok_200__get_all_root_content(self):
- """
- Check obtain workspace all root contents
- """
- params = {
- 'parent_id': 0,
- 'show_archived': 1,
- 'show_deleted': 1,
- 'show_active': 1,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'bob@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/3/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
- assert len(res) == 4
- content = res[1]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 15
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'New Fruit Salad'
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'] == 'new-fruit-salad'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- content = res[2]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 16
- assert content['is_archived'] is True
- assert content['is_deleted'] is False
- assert content['label'].startswith('Fruit Salad')
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- content = res[3]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 17
- assert content['is_archived'] is False
- assert content['is_deleted'] is True
- assert content['label'].startswith('Bad Fruit Salad')
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('bad-fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- def test_api__get_workspace_content__ok_200__get_only_active_root_content(self): # nopep8
- """
- Check obtain workspace root active contents
- """
- params = {
- 'parent_id': 0,
- 'show_archived': 0,
- 'show_deleted': 0,
- 'show_active': 1,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'bob@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/3/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
- assert len(res) == 2
- content = res[1]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 15
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'New Fruit Salad'
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'] == 'new-fruit-salad'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- def test_api__get_workspace_content__ok_200__get_only_archived_root_content(self): # nopep8
- """
- Check obtain workspace root archived contents
- """
- params = {
- 'parent_id': 0,
- 'show_archived': 1,
- 'show_deleted': 0,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'bob@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/3/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- assert len(res) == 1
- content = res[0]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 16
- assert content['is_archived'] is True
- assert content['is_deleted'] is False
- assert content['label'].startswith('Fruit Salad')
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- def test_api__get_workspace_content__ok_200__get_only_deleted_root_content(self): # nopep8
- """
- Check obtain workspace root deleted contents
- """
- params = {
- 'parent_id': 0,
- 'show_archived': 0,
- 'show_deleted': 1,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'bob@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/3/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
-
- assert len(res) == 1
- content = res[0]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 17
- assert content['is_archived'] is False
- assert content['is_deleted'] is True
- assert content['label'].startswith('Bad Fruit Salad')
- assert content['parent_id'] is None
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('bad-fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 3
-
- def test_api__get_workspace_content__ok_200__get_nothing_root_content(self):
- """
- Check obtain workspace root content who does not match any type
- (archived, deleted, active) result should be empty list.
- """
- params = {
- 'parent_id': 0,
- 'show_archived': 0,
- 'show_deleted': 0,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'bob@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/3/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
- assert res == []
-
- # Folder related
-
- def test_api__get_workspace_content__ok_200__get_all_folder_content(self):
- """
- Check obtain workspace folder all contents
- """
- params = {
- 'parent_id': 10, # TODO - G.M - 30-05-2018 - Find a real id
- 'show_archived': 1,
- 'show_deleted': 1,
- 'show_active': 1,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/2/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- assert len(res) == 3
- content = res[0]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 12
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'New Fruit Salad'
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'] == 'new-fruit-salad'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- content = res[1]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 13
- assert content['is_archived'] is True
- assert content['is_deleted'] is False
- assert content['label'].startswith('Fruit Salad')
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- content = res[2]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 14
- assert content['is_archived'] is False
- assert content['is_deleted'] is True
- assert content['label'].startswith('Bad Fruit Salad')
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('bad-fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- def test_api__get_workspace_content__ok_200__get_only_active_folder_content(self): # nopep8
- """
- Check obtain workspace folder active contents
- """
- params = {
- 'parent_id': 10,
- 'show_archived': 0,
- 'show_deleted': 0,
- 'show_active': 1,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/2/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- assert len(res) == 1
- content = res[0]
- assert content['content_type_slug']
- assert content['id'] == 12
- assert content['is_archived'] is False
- assert content['is_deleted'] is False
- assert content['label'] == 'New Fruit Salad'
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'] == 'new-fruit-salad'
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- def test_api__get_workspace_content__ok_200__get_only_archived_folder_content(self): # nopep8
- """
- Check obtain workspace folder archived contents
- """
- params = {
- 'parent_id': 10,
- 'show_archived': 1,
- 'show_deleted': 0,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/2/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- assert len(res) == 1
- content = res[0]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 13
- assert content['is_archived'] is True
- assert content['is_deleted'] is False
- assert content['label'].startswith('Fruit Salad')
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- def test_api__get_workspace_content__ok_200__get_only_deleted_folder_content(self): # nopep8
- """
- Check obtain workspace folder deleted contents
- """
- params = {
- 'parent_id': 10,
- 'show_archived': 0,
- 'show_deleted': 1,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/2/contents',
- status=200,
- params=params,
- ).json_body # nopep8
-
- assert len(res) == 1
- content = res[0]
- assert content['content_type_slug'] == 'page'
- assert content['id'] == 14
- assert content['is_archived'] is False
- assert content['is_deleted'] is True
- assert content['label'].startswith('Bad Fruit Salad')
- assert content['parent_id'] == 10
- assert content['show_in_ui'] is True
- assert content['slug'].startswith('bad-fruit-salad')
- assert content['status_slug'] == 'open'
- assert set(content['sub_content_type_slug']) == {'thread', 'page', 'folder', 'file'} # nopep8
- assert content['workspace_id'] == 2
-
- def test_api__get_workspace_content__ok_200__get_nothing_folder_content(self): # nopep8
- """
- Check obtain workspace folder content who does not match any type
- (archived, deleted, active) result should be empty list.
- """
- params = {
- 'parent_id': 10,
- 'show_archived': 0,
- 'show_deleted': 0,
- 'show_active': 0,
- }
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get(
- '/api/v2/workspaces/2/contents',
- status=200,
- params=params,
- ).json_body # nopep8
- # TODO - G.M - 30-05-2018 - Check this test
- assert res == []
-
- # Error case
-
- def test_api__get_workspace_content__err_403__unallowed_user(self):
- """
- Check obtain workspace content list with an unreachable workspace for
- user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'lawrence-not-real-email@fsf.local',
- 'foobarbaz'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/3/contents', 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_workspace_content__err_401__unregistered_user(self):
- """
- Check obtain workspace content list with an unregistered user
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'john@doe.doe',
- 'lapin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/1/contents', 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_workspace_content__err_403__workspace_does_not_exist(self): # nopep8
- """
- Check obtain workspace contents list with an existing user but
- an unexisting workspace
- """
- self.testapp.authorization = (
- 'Basic',
- (
- 'admin@admin.admin',
- 'admin@admin.admin'
- )
- )
- res = self.testapp.get('/api/v2/workspaces/5/contents', 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()
|