Exemple #1
0
    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="*****@*****.**")
Exemple #2
0
    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"}
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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'}
Exemple #6
0
    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