Exemplo n.º 1
0
 def test_start_stop_repeatedly(self):
     self.svc = maildir.MaildirService(self.maildir)
     self.svc.startService()
     yield self.svc.stopService()
     self.svc.startService()
     yield self.svc.stopService()
     self.assertEqual(len(list(self.svc)), 0)
Exemplo n.º 2
0
    def test_messageReceived(self):
        self.svc = maildir.MaildirService(self.maildir)

        # add a fake messageReceived method
        messagesReceived = []

        def messageReceived(filename):
            messagesReceived.append(filename)
            return defer.succeed(None)
        self.svc.messageReceived = messageReceived
        d = defer.maybeDeferred(self.svc.startService)

        def check_empty(_):
            self.assertEqual(messagesReceived, [])
        d.addCallback(check_empty)

        def add_msg(_):
            tmpfile = os.path.join(self.tmpdir, "newmsg")
            newfile = os.path.join(self.newdir, "newmsg")
            open(tmpfile, "w").close()
            os.rename(tmpfile, newfile)
        d.addCallback(add_msg)

        def trigger(_):
            # TODO: can we wait for a dnotify somehow, if enabled?
            return self.svc.poll()
        d.addCallback(trigger)

        def check_nonempty(_):
            self.assertEqual(messagesReceived, ['newmsg'])
        d.addCallback(check_nonempty)
        return d
Exemplo n.º 3
0
    def test_messageReceived(self):
        self.svc = maildir.MaildirService(self.maildir)

        # add a fake messageReceived method
        messagesReceived = []

        def messageReceived(filename):
            messagesReceived.append(filename)
            return defer.succeed(None)

        self.svc.messageReceived = messageReceived
        yield self.svc.startService()

        self.assertEqual(messagesReceived, [])

        tmpfile = os.path.join(self.tmpdir, "newmsg")
        newfile = os.path.join(self.newdir, "newmsg")
        with open(tmpfile, "w", encoding='utf-8'):
            pass
        os.rename(tmpfile, newfile)

        # TODO: can we wait for a dnotify somehow, if enabled?
        yield self.svc.poll()

        self.assertEqual(messagesReceived, ['newmsg'])
Exemplo n.º 4
0
 def test_moveToCurDir(self):
     self.svc = maildir.MaildirService(self.maildir)
     tmpfile = os.path.join(self.tmpdir, "newmsg")
     newfile = os.path.join(self.newdir, "newmsg")
     open(tmpfile, "w").close()
     os.rename(tmpfile, newfile)
     self.svc.moveToCurDir("newmsg")
     self.assertEqual([os.path.exists(os.path.join(d, "newmsg"))
                       for d in (self.newdir, self.curdir, self.tmpdir)],
                      [False, True, False])