Exemplo n.º 1
0
async def test_send_message(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4Message, "message_response/message.json")
    message = await message_service.send_message("stream_id", "test_message")

    assert message.message_id == "-AANBHKtUC-2q6_0WSjBGX___pHnSfBKdA"
    assert message.user.user_id == 7078106482890
Exemplo n.º 2
0
async def test_suppress_message(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(MessageSuppressionResponse, "message_response/supress_message.json")
    suppress_response = await message_service.suppress_message("test-message-id")

    assert suppress_response.message_id == "test-message-id"
    assert suppress_response.suppression_date == 1461565603191
Exemplo n.º 3
0
async def test_list_messages(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json")
    messages_list = await message_service.list_messages("stream_id")

    assert len(messages_list) == 1
    assert messages_list[0].message_id == "test-message1"
async def test_get_session(session_api, session_service):
    session_api.v2_sessioninfo_get = AsyncMock()
    session_api.v2_sessioninfo_get.return_value = get_deserialized_object_from_resource(
        UserV2, "session/get_session.json")

    session = await session_service.get_session()
    assert session.display_name == "Symphony Admin"
async def test_update_message(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4Message, "message_response/update_message.json")
    message = await message_service.update_message("stream_id", "message_id",
                                                   "test_message")

    assert message.message_id == "ikCBeVCgQT876veVzQzOV3___oNI6f8obQ"
    assert message.user.user_id == 11338713662703
Exemplo n.º 6
0
async def test_blast_message(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageBlastResponse, "message_response/blast_message.json")
    blast_message = await message_service.blast_message(["stream_id1", "stream_id2"], "test_message")

    assert len(blast_message.messages) == 2
    assert blast_message.messages[0].message_id == "-AANBHKtUC-2q6_0WSjBGX___pHnSfBKdA-1"
    assert blast_message.messages[1].message_id == "-AANBHKtUC-2q6_0WSjBGX___pHnSfBKdA-2"
async def test_search_messages_with_stream_type_text_and_no_sid(
        mocked_api_client, message_service, stream_type):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json")

    with pytest.raises(ValueError):
        await message_service.search_messages(
            MessageSearchQuery(text="some text", stream_type=stream_type))
async def test_search_messages_with_invalid_stream_type(
        mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json")

    with pytest.raises(ValueError):
        await message_service.search_messages(
            MessageSearchQuery(stream_type="invalid"))
async def test_search_messages_with_hashtag(mocked_api_client,
                                            message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json")

    messages = await message_service.search_messages(
        MessageSearchQuery(hashtag="tag"))
    assert len(messages) == 1
    assert messages[0].message_id == "test-message1"
Exemplo n.º 10
0
async def test_get_message(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(V4Message,
                                                                                    "message_response/message.json")

    message = await message_service.get_message("-AANBHKtUC-2q6_0WSjBGX___pHnSfBKdA")

    assert message.message_id == "-AANBHKtUC-2q6_0WSjBGX___pHnSfBKdA"
    assert message.timestamp == 1572372615137
    assert message.user.user_id == 7078106482890
Exemplo n.º 11
0
async def test_list_attachments(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(StreamAttachmentResponse, "message_response/list_attachments.json")

    attachments = await message_service.list_attachments("stream_id")

    assert len(attachments) == 2
    assert attachments[0].message_id == "PYLHNm/1K6ppeOpj+FbQ"
    assert attachments[1].file_id == "internal_14362370637825%2FeM6zGAILWFakDObCwMANrw%3D%3D"
Exemplo n.º 12
0
async def test_message_receipts(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(MessageReceiptDetailResponse, "message_response/message_receipts.json")

    message_receipts = await message_service.list_message_receipts("test-message-id")

    assert message_receipts.creator.id == 7215545058329
    assert message_receipts.stream.id == "lFpyw0ATFmji+Cc/cSzbk3///pZkWpe1dA=="
    assert message_receipts.message_receipt_detail[0].user.id == 7215545058329
Exemplo n.º 13
0
async def test_get_message_relationships(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(MessageMetadataResponse, "message_response/message_relationships.json")

    message_relationships = await message_service.get_message_relationships("TYgOZ65dVsu3SeK7u2YdfH///o6fzBu")

    assert message_relationships.message_id == "TYgOZ65dVsu3SeK7u2YdfH///o6fzBu"
    assert message_relationships.parent.message_id == "/rbLQW5UHKZffM0FlLO2rn///o6vTck"
    assert message_relationships.parent.relationship_type == "REPLY"
Exemplo n.º 14
0
async def test_get_message_status(mocked_api_client, message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(MessageStatus, "message_response/message_status.json")

    message_status = await message_service.get_message_status("test-message-id")

    assert message_status.author.user_id == "7078106103901"
    assert len(message_status.read) == 2
    assert len(message_status.sent) == 1
async def test_search_messages_with_text_and_sid(mocked_api_client,
                                                 message_service):
    mocked_api_client.call_api.return_value = \
        get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json")

    messages = await message_service.search_messages(
        MessageSearchQuery(text="some text", stream_id="sid"))
    assert len(messages) == 1
    assert messages[0].message_id == "test-message1"
async def test_create_im_admin(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        Stream, "stream/create_im_or_mim.json")

    user_ids = [12334]
    stream = await stream_service.create_im_admin(user_ids)

    streams_api.v1_admin_im_create_post.assert_called_once_with(
        uid_list=UserIdList(value=user_ids), session_token=SESSION_TOKEN)
    assert stream.id == "-M8s5WG7K8lAP7cpIiuyTH___oh4zK8EdA"
async def test_send_simple_message_without_mml_tags(message_service):
    message_service._send_message = AsyncMock(
        return_value=get_deserialized_object_from_resource(
            V4Message, "message_response/message.json"))
    stream_id = "stream_id"

    await message_service.send_message(stream_id, "Hello")

    message_service._send_message.assert_called_once_with(
        stream_id, "<messageML>Hello</messageML>", "", "", [], [])
async def test_blast_simple_message_without_mml_tags(message_service):
    blast_message_response = get_deserialized_object_from_resource(
        V4MessageBlastResponse, "message_response/blast_message.json")
    message_service._blast_message = AsyncMock(
        return_value=blast_message_response)
    stream_ids = ["sid1", "sid2"]
    await message_service.blast_message(stream_ids, "Hello")

    message_service._blast_message.assert_called_once_with(
        stream_ids, "<messageML>Hello</messageML>", "", "", [], [])
async def test_create_room(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        V3RoomDetail, "stream/create_room.json")

    room_attributes = V3RoomAttributes()
    room_details = await stream_service.create_room(room_attributes)

    streams_api.v3_room_create_post.assert_called_once_with(
        payload=room_attributes, session_token=SESSION_TOKEN)
    assert room_details.room_attributes.name == "New fancy room"
    assert room_details.room_system_info.id == "7X1cP_3wMD4mr6rcp7j26X___oh4uDkVdA"
async def test_get_room_info(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        V3RoomDetail, "stream/get_room_info.json")

    room_id = "room_id"
    room_detail = await stream_service.get_room_info(room_id)

    streams_api.v3_room_id_info_get.assert_called_once_with(
        id=room_id, session_token=SESSION_TOKEN)
    assert room_detail.room_attributes.name == "New room name"
    assert room_detail.room_system_info.id == "ubaSiuUsc_j-_lVQ8vhAz3___opSJdJZdA"
async def test_get_im_info(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        V1IMDetail, "stream/get_im_info.json")

    im_id = "im_id"
    im_details = await stream_service.get_im_info(im_id)

    streams_api.v1_im_id_info_get.assert_called_once_with(
        id=im_id, session_token=SESSION_TOKEN)
    assert im_details.v1_im_attributes.pinned_message_id == "vd7qwNb6hLoUV0BfXXPC43___oPIvkwJbQ"
    assert im_details.im_system_info.id == "usnBKBkH_BVrGOiVpaupEH___okFfE7QdA"
async def test_set_room_active(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        RoomDetail, "stream/deactivate_room.json")

    room_id = "room_id"
    active = False
    room_detail = await stream_service.set_room_active(room_id, active)

    streams_api.v1_room_id_set_active_post.assert_called_once_with(
        id=room_id, active=active, session_token=SESSION_TOKEN)
    assert not room_detail.room_system_info.active
Exemplo n.º 23
0
async def test_get_disclaimer(user_api, user_service):
    user_api.v1_admin_user_uid_disclaimer_get = AsyncMock()
    user_api.v1_admin_user_uid_disclaimer_get.return_value = \
        get_deserialized_object_from_resource(Disclaimer, "disclaimer/disclaimer.json")

    disclaimer = await user_service.get_disclaimer(1234)

    user_api.v1_admin_user_uid_disclaimer_get.assert_called_with(
        uid=1234, session_token="session_token")

    assert disclaimer.id == "571d2052e4b042aaf06d2e7a"
    assert disclaimer.name == "Enterprise Disclaimer"
async def test_update_room(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        V3RoomDetail, "stream/update_room.json")

    room_id = "room_id"
    room_attributes = V3RoomAttributes()
    room_details = await stream_service.update_room(room_id, room_attributes)

    streams_api.v3_room_id_update_post.assert_called_once_with(
        id=room_id, payload=room_attributes, session_token=SESSION_TOKEN)
    assert room_details.room_attributes.name == "Test bot room"
    assert room_details.room_system_info.id == "ubaSiuUsc_j-_lVQ8vhAz3___opSJdJZdA"
async def test_get_stream(mocked_api_client, stream_service, streams_api):
    mocked_api_client.call_api.return_value = get_deserialized_object_from_resource(
        V2StreamAttributes, "stream/get_stream.json")

    stream_id = "stream_id"
    stream_attributes = await stream_service.get_stream(stream_id)

    streams_api.v2_streams_sid_info_get.assert_called_once_with(
        sid=stream_id, session_token=SESSION_TOKEN)
    assert stream_attributes.id == "ubaSiuUsc_j-_lVQ8vhAz3___opSJdJZdA"
    assert stream_attributes.room_attributes.name == "New room name"
    assert stream_attributes.stream_type.type == "ROOM"
async def test_get_application(application_api, application_service):
    application_api.v1_admin_app_id_get_get = AsyncMock()
    application_api.v1_admin_app_id_get_get.return_value = \
        get_deserialized_object_from_resource(ApplicationDetail, "application/get_application.json")

    application_detail = await application_service.get_application(
        "my-test-app")

    application_api.v1_admin_app_id_get_get.assert_called_with(
        session_token="session_token", id="my-test-app")

    assert application_detail.application_info.app_id == "my-test-app"
    assert application_detail.description == "get an app"
Exemplo n.º 27
0
async def test_list_roles(system_api, user_service):
    system_api.v1_admin_system_roles_list_get = AsyncMock()
    system_api.v1_admin_system_roles_list_get.return_value = \
        get_deserialized_object_from_resource(RoleDetailList, "user/list_roles.json")

    role_list = await user_service.list_roles()

    system_api.v1_admin_system_roles_list_get.assert_called_with(
        session_token="session_token")

    assert len(role_list) == 12
    assert role_list[0].id == "CONTENT_MANAGEMENT"
    assert role_list[1].id == "COMPLIANCE_OFFICER"
Exemplo n.º 28
0
async def test_list_user_details(user_api, user_service):
    user_api.v2_admin_user_list_get = AsyncMock()
    user_api.v2_admin_user_list_get.return_value = get_deserialized_object_from_resource(
        V2UserDetailList, "user/list_user_detail.json")

    user_detail_list = await user_service.list_user_details()

    user_api.v2_admin_user_list_get.assert_called_with(
        skip=0, limit=50, session_token="session_token")

    assert len(user_detail_list) == 5
    assert user_detail_list[0].user_attributes.user_name == "agentservice"
    assert user_detail_list[1].user_system_info.id == 9826885173258
Exemplo n.º 29
0
async def test_get_user_detail(user_api, user_service):
    user_api.v2_admin_user_uid_get = AsyncMock()
    user_api.v2_admin_user_uid_get.return_value = get_deserialized_object_from_resource(
        V2UserDetail, "user/user_detail.json")

    user_detail = await user_service.get_user_detail(7215545078461)

    user_api.v2_admin_user_uid_get.assert_called_with(
        uid=7215545078461, session_token="session_token")

    assert user_detail.user_attributes.user_name == "johndoe"
    assert user_detail.user_system_info.status == "ENABLED"
    assert len(user_detail.roles.value) == 6
async def test_search_all_messages(mocked_api_client, message_service):
    mocked_api_client.call_api.side_effect = \
        [get_deserialized_object_from_resource(V4MessageList, "message_response/list_messages.json"),
         V4MessageList(value=[])]
    chunk_size = 1

    message_generator = await message_service.search_all_messages(
        MessageSearchQuery(hashtag="tag"), chunk_size=chunk_size)
    messages = [m async for m in message_generator]
    assert len(messages) == 1
    assert messages[0].message_id == "test-message1"

    assert mocked_api_client.call_api.call_count == 2