コード例 #1
0
ファイル: message_test.py プロジェクト: joshz/udacityplus
    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")
コード例 #2
0
ファイル: message_test.py プロジェクト: joshz/udacityplus
    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")
コード例 #3
0
ファイル: message_test.py プロジェクト: joshz/udacityplus
    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")
コード例 #4
0
ファイル: messages.py プロジェクト: joshz/udacityplus
    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)
コード例 #5
0
ファイル: message_test.py プロジェクト: joshz/udacityplus
    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)
コード例 #6
0
ファイル: message_test.py プロジェクト: joshz/udacityplus
    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")