def testDeleteWithoutOwner(self): c, msg = User.add_new_conversation(self.u1.username, self.u2.username, title_plain_text, content_plain_text) m = Conversation.add_new_message(self.u2.username, content_plain_text2, conv_key=c.key) Conversation.add_new_message(self.u1.username, content_plain_text, conv_key=c.key) # c.put() self.assertEqual(len(c.messages_list), 3, "Length of messages list != 3") Conversation.delete_message(self.u2.username, c.key.id(), m.key.id()) self.assertEqual(len(c.messages_list), 3, "Length of messages list != 3 after deletion") deleted = m.key.get() self.assertIsNotNone(deleted, "Message is None") self.assertEqual(deleted.deleted_for, self.u2.username, "Deleted for is incorrect") for k in c.messages_list: msg = k.get() if k != deleted.key: self.assertIsNone(msg.deleted_for, "deleted_for was not None for a message other than deleted")
def testDeleteOneMessageWithOwner(self): c, msg = User.add_new_conversation(self.u1.username, self.u2.username, title_plain_text, content_plain_text) m = Conversation.add_new_message(self.u2.username, content_plain_text2, conv_key=c.key) Conversation.add_new_message(self.u1.username, content_plain_text, conv_key=c.key) # c.put() self.assertEqual(len(c.messages_list), 3, "Length of messages list != 3") Conversation.delete_message(self.u1.username, c.key.id(), m.key.id()) self.assertEqual(len(c.messages_list), 2, "Length of messages list != 2 after deletion") deleted = m.key.get() self.assertIsNone(deleted, "Message was not deleted")
def testAddNewMessage(self): c, msg = User.add_new_conversation(self.u1.username, self.u2.username, title_plain_text, content_plain_text) m = Conversation.add_new_message(self.u2.username, content_plain_text2, conv_key=c.key) # c.put() self.assertEqual(len(c.messages_list), 2, "Length of message list %s != %s" % (len(c.messages_list), 2)) test_cont = (content_plain_text, content_plain_text2) for i, msg in enumerate(c.messages_list): newmsg = msg.get() self.assertEqual(newmsg.content, test_cont[i], "Message Content")
def post(self, conv_id=None, msg_id=None): if not self.form.validate(): return self.show_form_for_new_message() # Adds a new message to conversation if conv_id and msg_id and conv_id.isdigit() and msg_id.isdigit(): msg = Conversation.add_new_message(self.form.sender.data, self.form.content.data, conv_id=conv_id) self.notify_user(self.form.sender.data, conv_id, msg) # new conversation: adds a new conversation with first message elif self.form.receiver.data and self.form.title.data and self.form.content.data: data = [self.form.data.get(i) for i in ('sender', 'receiver', 'title', 'content')] (conv, msg) = User.add_new_conversation(*data) self.notify_user(self.form.sender.data, conv.key.id(), msg) else: self.response.out.write("Error in Messages.post()") self.redirect(self.request.referer)
def testDeleteConversationWithoutOwner(self): c, msg = User.add_new_conversation(self.u1.username, self.u2.username, title_plain_text, content_plain_text) m = Conversation.add_new_message(self.u2.username, content_plain_text2, conv_key=c.key) # c.put() Conversation.delete_conversation(self.u2.username, key=c.key) conv = c.key.get() self.assertIsNotNone(conv, "Conversation is None") self.assertEqual(conv.deleted_for, self.u2.username, "Conversation not deleted for %s" % self.u2.username) for m in conv.messages: self.assertEqual(m.deleted_for, self.u2.username, "Message not deleted for %s" % self.u2.username)
def testDeleteConversationWithOwner(self): c, msg = User.add_new_conversation(self.u1.username, self.u2.username, title_plain_text, content_plain_text) m = Conversation.add_new_message(self.u2.username, content_plain_text2, conv_key=c.key) message_keys = deepcopy(c.messages_list) # c.put() Conversation.delete_conversation(self.u1.username, key=c.key) conv = c.key.get() self.assertIsNone(conv, "Conversation is not None") for k in message_keys: msg = k.get() self.assertIsNone(msg, "Message is not None")