# coding=utf-8 from tracim_backend.tests import FunctionalTest """ Tests for /api/v2/system subpath endpoints. """ class TestApplicationEndpoint(FunctionalTest): """ Tests for /api/v2/system/applications """ def test_api__get_applications__ok_200__nominal_case(self): """ Get applications list with a registered user. """ self.testapp.authorization = ( 'Basic', ( 'admin@admin.admin', 'admin@admin.admin' ) ) res = self.testapp.get('/api/v2/system/applications', status=200) res = res.json_body application = res[0] assert application['label'] == "Text Documents" assert application['slug'] == 'contents/html-documents' assert application['fa_icon'] == 'file-text-o' assert application['hexcolor'] == '#3f52e3' assert application['is_active'] is True assert 'config' in application application = res[1] assert application['label'] == "Markdown Plus Documents" assert application['slug'] == 'contents/markdownpluspage' assert application['fa_icon'] == 'file-code-o' assert application['hexcolor'] == '#f12d2d' assert application['is_active'] is True assert 'config' in application application = res[2] assert application['label'] == "Files" assert application['slug'] == 'contents/files' assert application['fa_icon'] == 'paperclip' assert application['hexcolor'] == '#FF9900' assert application['is_active'] is True assert 'config' in application application = res[3] assert application['label'] == "Threads" assert application['slug'] == 'contents/threads' assert application['fa_icon'] == 'comments-o' assert application['hexcolor'] == '#ad4cf9' assert application['is_active'] is True assert 'config' in application application = res[4] assert application['label'] == "Calendar" assert application['slug'] == 'calendar' assert application['fa_icon'] == 'calendar' assert application['hexcolor'] == '#757575' assert application['is_active'] is True assert 'config' in application def test_api__get_applications__err_401__unregistered_user(self): """ Get applications list with an unregistered user (bad auth) """ self.testapp.authorization = ( 'Basic', ( 'john@doe.doe', 'lapin' ) ) res = self.testapp.get('/api/v2/system/applications', 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() class TestContentsTypesEndpoint(FunctionalTest): """ Tests for /api/v2/system/content_types """ def test_api__get_content_types__ok_200__nominal_case(self): """ Get system content_types list with a registered user. """ self.testapp.authorization = ( 'Basic', ( 'admin@admin.admin', 'admin@admin.admin' ) ) res = self.testapp.get('/api/v2/system/content_types', status=200) res = res.json_body content_type = res[0] assert content_type['slug'] == 'thread' assert content_type['fa_icon'] == 'comments-o' assert content_type['hexcolor'] == '#ad4cf9' assert content_type['label'] == 'Thread' assert content_type['creation_label'] == 'Discuss about a topic' assert 'available_statuses' in content_type assert len(content_type['available_statuses']) == 4 content_type = res[1] assert content_type['slug'] == 'file' assert content_type['fa_icon'] == 'paperclip' assert content_type['hexcolor'] == '#FF9900' assert content_type['label'] == 'File' assert content_type['creation_label'] == 'Upload a file' assert 'available_statuses' in content_type assert len(content_type['available_statuses']) == 4 content_type = res[2] assert content_type['slug'] == 'markdownpage' assert content_type['fa_icon'] == 'file-code-o' assert content_type['hexcolor'] == '#f12d2d' assert content_type['label'] == 'Rich Markdown File' assert content_type['creation_label'] == 'Create a Markdown document' assert 'available_statuses' in content_type assert len(content_type['available_statuses']) == 4 content_type = res[3] assert content_type['slug'] == 'html-documents' assert content_type['fa_icon'] == 'file-text-o' assert content_type['hexcolor'] == '#3f52e3' assert content_type['label'] == 'Text Document' assert content_type['creation_label'] == 'Write a document' assert 'available_statuses' in content_type assert len(content_type['available_statuses']) == 4 # TODO - G.M - 31-05-2018 - Check Folder type # TODO - G.M - 29-05-2018 - Better check for available_statuses def test_api__get_content_types__err_401__unregistered_user(self): """ Get system content_types list with an unregistered user (bad auth) """ self.testapp.authorization = ( 'Basic', ( 'john@doe.doe', 'lapin' ) ) res = self.testapp.get('/api/v2/system/content_types', 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()