示例#1
0
def test_make_message(client):
    pm = PrivateConversation.from_pk(1)
    pm.set_state(1)
    pm_state = PrivateConversationState.from_attrs(conv_id=1, user_id=1)
    assert (datetime.utcnow().replace(tzinfo=pytz.utc) -
            pm.last_response_time).total_seconds() > 60 * 60
    assert cache.has(pm_state.cache_key)
    PrivateMessage.new(conv_id=1, user_id=2, contents='hi')
    assert not cache.has(pm_state.cache_key)
    pm.set_state(1)
    assert (datetime.utcnow().replace(tzinfo=pytz.utc) -
            pm.last_response_time).total_seconds() < 15
示例#2
0
def modify_conversation(user: User,
                        id: int,
                        read: bool = None,
                        deleted: bool = None):
    pm_state = PrivateConversationState.from_attrs(conv_id=id,
                                                   user_id=user.id,
                                                   deleted='f')
    if not pm_state:
        raise _403Exception(
            'You cannot modify a conversation that you are not a member of.')
    if read:
        pm_state.read = read
    if deleted:
        pm_state.deleted = deleted
    db.session.commit()
    PrivateConversation.clear_cache_keys(user.id)
    return flask.jsonify(f'Successfully modified conversation {id}.')
示例#3
0
def test_view_conversation_deleted(app, authed_client):
    PrivateConversationState.from_attrs(conv_id=1, user_id=1).deleted = True
    db.session.commit()
    response = authed_client.get(
        '/messages/conversations/1').get_json()['response']
    assert response == 'PrivateConversation 1 does not exist.'