def test_unit___get_content_info__err_403__no_right_to_see(self): content_json = {"code": None, "details": {"error_detail": {}}, "message": "more info..."} responses.add( responses.GET, "http://127.0.0.1:6543/api/contents/1", json=content_json, status=403 ) mf = MailFetcher( host="host_imap", port="993", use_ssl=True, password="******", folder="INBOX", use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path="email_fetcher.lock", api_base_url="http://127.0.0.1:6543/api/", burst=True, api_key="apikey", connection_max_lifetime=60, heartbeat=60, reply_to_pattern="", references_pattern="", user="******", ) auth_headers = {"Tracim-Api-Key": "apikey", "Tracim-Api-Login": "******"} mock = Mock() mock.return_value = auth_headers mf._get_auth_headers = mock with pytest.raises(BadStatusCode): mf._get_content_info(1, user_email="*****@*****.**")
def test_unit__create_comment_request__ok__nominal_test(self): mail = Mock() mail.get_body.return_value = "CONTENT" mail.get_key.return_value = "1" mail.get_from_address.return_value = "*****@*****.**" content_info = { "author": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "content_id": 1, "content_type": "thread", "created": "2018-08-24T15:00:08Z", "current_revision_id": 29, "is_archived": False, "is_deleted": False, "label": "coucou", "last_modifier": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "modified": "2018-08-24T15:00:08Z", "parent_id": None, "raw_content": "", "show_in_ui": True, "slug": "coucou", "status": "open", "sub_content_types": ["comment"], "workspace_id": 4, } mf = MailFetcher( host="host_imap", port="993", use_ssl=True, password="******", folder="INBOX", use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path="email_fetcher.lock", api_base_url="http://127.0.0.1:6543/api/", burst=True, api_key="apikey", connection_max_lifetime=60, heartbeat=60, reply_to_pattern="", references_pattern="", user="******", ) mf._get_content_info = Mock() mf._get_content_info.return_value = content_info method, endpoint, body = mf._create_comment_request(mail) assert method == "POST" assert endpoint == "http://127.0.0.1:6543/api/workspaces/4/contents/1/comments" assert body == {"raw_content": "CONTENT"}
def test_unit___get_content_info__err_403__no_right_to_see(self): content_json = { "code": None, "details": { "error_detail": {} }, "message": "more info..." } responses.add( responses.GET, 'http://127.0.0.1:6543/api/contents/1', json=content_json, status=403 ) mf = MailFetcher( host='host_imap', port='993', use_ssl=True, password='******', folder='INBOX', use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path='email_fetcher.lock', api_base_url='http://127.0.0.1:6543/api/', burst=True, api_key='apikey', connection_max_lifetime=60, heartbeat=60, reply_to_pattern='', references_pattern='', user='******', ) auth_headers = { 'Tracim-Api-Key': 'apikey', 'Tracim-Api-Login': '******' } mock = Mock() mock.return_value = auth_headers mf._get_auth_headers = mock with pytest.raises(BadStatusCode): mf._get_content_info(1, user_email='*****@*****.**') # nopep8
def test_unit___get_content_info__ok__nominal_test(self): content_json = { "author": {"avatar_url": None, "public_name": "Global manager", "user_id": 1}, "content_id": 1, "content_type": "thread", "created": "2018-08-24T15:00:08Z", "current_revision_id": 29, "is_archived": False, "is_deleted": False, "label": "coucou", "last_modifier": {"avatar_url": None, "public_name": "Global manager", "user_id": 1}, "modified": "2018-08-24T15:00:08Z", "parent_id": None, "raw_content": "", "show_in_ui": True, "slug": "coucou", "status": "open", "sub_content_types": ["comment"], "workspace_id": 4, } responses.add( responses.GET, "http://127.0.0.1:6543/api/contents/1", json=content_json, status=200 ) mf = MailFetcher( host="host_imap", port="993", use_ssl=True, password="******", folder="INBOX", use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path="email_fetcher.lock", api_base_url="http://127.0.0.1:6543/api/", burst=True, api_key="apikey", connection_max_lifetime=60, heartbeat=60, reply_to_pattern="", references_pattern="", user="******", ) auth_headers = {"Tracim-Api-Key": "apikey", "Tracim-Api-Login": "******"} mock = Mock() mock.return_value = auth_headers mf._get_auth_headers = mock content_info = mf._get_content_info(1, user_email="*****@*****.**") assert content_info == content_json
def test_unit__create_comment_request__ok__nominal_test(self): mail = Mock() mail.get_body.return_value = 'CONTENT' mail.get_key.return_value = '1' mail.get_from_address.return_value = '*****@*****.**' content_info = { "author": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "content_id": 1, "content_type": "thread", "created": "2018-08-24T15:00:08Z", "current_revision_id": 29, "is_archived": False, "is_deleted": False, "label": "coucou", "last_modifier": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "modified": "2018-08-24T15:00:08Z", "parent_id": None, "raw_content": "", "show_in_ui": True, "slug": "coucou", "status": "open", "sub_content_types": [ "comment" ], "workspace_id": 4 } mf = MailFetcher( host='host_imap', port='993', use_ssl=True, password='******', folder='INBOX', use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path='email_fetcher.lock', api_base_url='http://127.0.0.1:6543/api/', burst=True, api_key='apikey', connection_max_lifetime=60, heartbeat=60, reply_to_pattern='', references_pattern='', user='******', ) mf._get_content_info = Mock() mf._get_content_info.return_value = content_info method, endpoint, body = mf._create_comment_request(mail) assert method == 'POST' assert endpoint == 'http://127.0.0.1:6543/api/workspaces/4/contents/1/comments' # nopep8 assert body == {'raw_content': 'CONTENT'}
def test_unit___get_content_info__ok__nominal_test(self): content_json = { "author": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "content_id": 1, "content_type": "thread", "created": "2018-08-24T15:00:08Z", "current_revision_id": 29, "is_archived": False, "is_deleted": False, "label": "coucou", "last_modifier": { "avatar_url": None, "public_name": "Global manager", "user_id": 1 }, "modified": "2018-08-24T15:00:08Z", "parent_id": None, "raw_content": "", "show_in_ui": True, "slug": "coucou", "status": "open", "sub_content_types": [ "comment" ], "workspace_id": 4 } responses.add( responses.GET, 'http://127.0.0.1:6543/api/contents/1', json=content_json, status=200 ) mf = MailFetcher( host='host_imap', port='993', use_ssl=True, password='******', folder='INBOX', use_idle=True, use_html_parsing=True, use_txt_parsing=True, lockfile_path='email_fetcher.lock', api_base_url='http://127.0.0.1:6543/api/', burst=True, api_key='apikey', connection_max_lifetime=60, heartbeat=60, reply_to_pattern='', references_pattern='', user='******', ) auth_headers = { 'Tracim-Api-Key': 'apikey', 'Tracim-Api-Login': '******' } mock = Mock() mock.return_value = auth_headers mf._get_auth_headers = mock content_info = mf._get_content_info(1, user_email='*****@*****.**') # nopep8 assert content_info == content_json