def test_message_conversation_validation(mocker, session_user, session_user2): """Ensure a new message conversation goes through expected validation.""" mocker.spy(MessageConversationSchema, "load") mocker.spy(SimpleString, "_validate") mocker.spy(Markdown, "_validate") MessageConversation(session_user, session_user2, "Subject", "Message") assert MessageConversationSchema.load.called assert SimpleString._validate.call_args[0][1] == "Subject" assert Markdown._validate.call_args[0][1] == "Message"
def test_message_conversation_validation(mocker, session_user, session_user2): """Ensure a new message conversation goes through expected validation.""" mocker.spy(MessageConversationSchema, 'load') mocker.spy(SimpleString, '_validate') mocker.spy(Markdown, '_validate') MessageConversation(session_user, session_user2, 'Subject', 'Message') assert MessageConversationSchema.load.called assert SimpleString._validate.call_args[0][1] == 'Subject' assert Markdown._validate.call_args[0][1] == 'Message'
def post_user_message(request: Request, subject: str, markdown: str) -> HTTPFound: """Start a new message conversation with a user.""" new_conversation = MessageConversation( sender=request.user, recipient=request.context, subject=subject, markdown=markdown, ) request.db_session.add(new_conversation) user_url = request.route_url("user", username=request.context.username) raise HTTPFound(location=user_url)
def conversation(db, session_user, session_user2): """Create a message conversation and delete it as teardown.""" new_conversation = MessageConversation(session_user, session_user2, "Subject", "Message") db.add(new_conversation) db.commit() yield new_conversation # delete any replies that were added to the conversation for reply in new_conversation.replies: db.delete(reply) db.delete(new_conversation) db.commit()
def _send_welcome_message(recipient: User, request: Request) -> None: """Send the welcome message if a sender is configured in the INI.""" sender_username = request.registry.settings.get( "tildes.welcome_message_sender") if not sender_username: return sender = request.query(User).filter( User.username == sender_username).one_or_none() if not sender: return welcome_message = MessageConversation(sender, recipient, WELCOME_MESSAGE_SUBJECT, WELCOME_MESSAGE_TEXT) request.db_session.add(welcome_message)