示例#1
0
 def test_reattach_old_to_new(self):
     threadid1 = self.messages[0]["Message-ID-Hash"]
     threadid2 = self.messages[1]["Message-ID-Hash"]
     request = self.factory.post(reverse(
         'thread_reattach', args=["*****@*****.**", threadid1]),
                                 data={"parent": threadid2})
     request.user = self.user
     self.store.attach_to_thread = Mock()
     response = reattach(request, "*****@*****.**", threadid1)
     self.assertFalse(self.store.attach_to_thread.called)
     now = datetime.datetime.now()
     threads = self.store.get_threads("*****@*****.**",
                                      now - datetime.timedelta(days=1),
                                      now + datetime.timedelta(days=1))
     self.assertEqual(len(threads), 2)
     errormsg = '<div class="flashmsgs"><div class="flashmsg-wrapper"><div class="alert alert-error">'
     self.assertContains(response,
                         '<div class="alert alert-error">',
                         count=1,
                         status_code=200)
     self.assertContains(
         response,
         "Can&#39;t attach an older thread to a newer thread.",
         count=1,
         status_code=200)
示例#2
0
 def test_reattach_on_unknown(self):
     threadid = self.messages[0]["Message-ID-Hash"]
     threadid_unknown = "L36TVP2EFFDSXGVNQJCY44W5AB2YMJ65"
     request = self.factory.post(reverse('thread_reattach',
                                 args=["*****@*****.**", threadid]),
                                 data={"parent": threadid_unknown})
     request.user = self.user
     self.store.attach_to_thread = Mock()
     response = reattach(request, "*****@*****.**", threadid)
     self.assertFalse(self.store.attach_to_thread.called)
     now = datetime.datetime.now()
     errormsg = '<div class="flashmsgs"><div class="flashmsg-wrapper"><div class="alert alert-error">'
     self.assertContains(response, '<div class="alert alert-warning">',
             count=1, status_code=200)
     self.assertContains(response, "Unknown thread")
示例#3
0
 def test_reattach(self):
     threadid1 = self.messages[0]["Message-ID-Hash"]
     threadid2 = self.messages[1]["Message-ID-Hash"]
     request = self.factory.post(reverse('thread_reattach',
                                 args=["*****@*****.**", threadid2]),
                                 data={"parent": threadid1})
     request.user = self.user
     response = reattach(request, "*****@*****.**", threadid2)
     now = datetime.datetime.now()
     threads = self.store.get_threads("*****@*****.**",
             now - datetime.timedelta(days=1),
             now + datetime.timedelta(days=1))
     self.assertEqual(len(threads), 1)
     self.assertEqual(threads[0].thread_id, threadid1)
     expected_url = reverse('thread', args=["*****@*****.**", threadid1]) + "?msg=attached-ok"
     self.assertEqual(response["location"], expected_url)
示例#4
0
 def test_reattach_on_unknown(self):
     threadid = self.messages[0]["Message-ID-Hash"]
     threadid_unknown = "L36TVP2EFFDSXGVNQJCY44W5AB2YMJ65"
     request = self.factory.post(reverse(
         'thread_reattach', args=["*****@*****.**", threadid]),
                                 data={"parent": threadid_unknown})
     request.user = self.user
     self.store.attach_to_thread = Mock()
     response = reattach(request, "*****@*****.**", threadid)
     self.assertFalse(self.store.attach_to_thread.called)
     now = datetime.datetime.now()
     errormsg = '<div class="flashmsgs"><div class="flashmsg-wrapper"><div class="alert alert-error">'
     self.assertContains(response,
                         '<div class="alert alert-warning">',
                         count=1,
                         status_code=200)
     self.assertContains(response, "Unknown thread")
示例#5
0
 def test_reattach(self):
     threadid1 = self.messages[0]["Message-ID-Hash"]
     threadid2 = self.messages[1]["Message-ID-Hash"]
     request = self.factory.post(reverse(
         'thread_reattach', args=["*****@*****.**", threadid2]),
                                 data={"parent": threadid1})
     request.user = self.user
     response = reattach(request, "*****@*****.**", threadid2)
     now = datetime.datetime.now()
     threads = self.store.get_threads("*****@*****.**",
                                      now - datetime.timedelta(days=1),
                                      now + datetime.timedelta(days=1))
     self.assertEqual(len(threads), 1)
     self.assertEqual(threads[0].thread_id, threadid1)
     expected_url = reverse('thread', args=["*****@*****.**", threadid1
                                            ]) + "?msg=attached-ok"
     self.assertEqual(response["location"], expected_url)
示例#6
0
 def test_reattach_on_itself(self):
     threadid = self.messages[0]["Message-ID-Hash"]
     request = self.factory.post(reverse('thread_reattach',
                                 args=["*****@*****.**", threadid]),
                                 data={"parent": threadid})
     request.user = self.user
     self.store.attach_to_thread = Mock()
     response = reattach(request, "*****@*****.**", threadid)
     self.assertFalse(self.store.attach_to_thread.called)
     now = datetime.datetime.now()
     threads = self.store.get_threads("*****@*****.**",
             now - datetime.timedelta(days=1),
             now + datetime.timedelta(days=1))
     self.assertEqual(len(threads), 2)
     errormsg = '<div class="flashmsgs"><div class="flashmsg-wrapper"><div class="alert alert-error">'
     self.assertContains(response, '<div class="alert alert-warning">',
             count=1, status_code=200)
     self.assertContains(response, "Can&#39;t re-attach a thread to itself")
示例#7
0
 def test_reattach_invalid(self):
     threadid = self.messages[0]["Message-ID-Hash"]
     request = self.factory.post(reverse(
         'thread_reattach', args=["*****@*****.**", threadid]),
                                 data={"parent": "invalid-data"})
     request.user = self.user
     self.store.attach_to_thread = Mock()
     response = reattach(request, "*****@*****.**", threadid)
     self.assertFalse(self.store.attach_to_thread.called)
     now = datetime.datetime.now()
     threads = self.store.get_threads("*****@*****.**",
                                      now - datetime.timedelta(days=1),
                                      now + datetime.timedelta(days=1))
     self.assertEqual(len(threads), 2)
     errormsg = '<div class="flashmsgs"><div class="flashmsg-wrapper"><div class="alert alert-error">'
     self.assertContains(response,
                         '<div class="alert alert-warning">',
                         count=1,
                         status_code=200)
     self.assertContains(response, "Invalid thread id, it should look")