Example #1
0
    def setUp(self):
        startUpTestTimer(100)
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))
        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)

        self.message1 = TransitMessage(serialized={ 'text' : u'мама'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())
Example #2
0
class MessageLogFetchCommandTestCase(unittest.TestCase):
    """
    Тест на L{spamfighter.api.message.log.MessageLogFetchCommand}.
    """

    def setUp(self):
        startUpTestTimer(100)
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))
        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)

        self.message1 = TransitMessage(serialized={ 'text' : u'мама'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())

        self.c = MessageLogFetchCommand()
        self.c.params.getUnserialized({'partner' : None, 'log' : 'testLog'})

        return self.log.put(message=self.message1, when=90).addCallback(lambda _: self.log.put(message=self.message2, when=95, tags=['aaa']))

    def tearDown(self):
        tearDownTestTimer()
        getDefaultDomain().delete('testStorage')
        getDefaultDomain().delete('testLog')

    def testRun1(self):
        return self.c.run().addCallback(lambda _: self.assertEquals(self.c.result.entries, 
            [LogEntry(when=90, message=self.message1, id=1), LogEntry(when=95, message=self.message2, tags=['aaa'], id=2)]))

    def testRun2(self):
        self.c.params.first = 92
        return self.c.run().addCallback(lambda _: self.assertEquals(self.c.result.entries, 
            [LogEntry(when=95, message=self.message2, tags=['aaa'], id=2)]))

    def testRun3(self):
        self.c.params.last = 92
        return self.c.run().addCallback(lambda _: self.assertEquals(self.c.result.entries, 
            [LogEntry(when=90, message=self.message1, id=1)]))

    def testRun4(self):
        self.c.params.first = 80
        self.c.params.last = 100
        self.c.params.firstID = 2
        return self.c.run().addCallback(lambda _: self.assertEquals(self.c.result.entries, 
            [LogEntry(when=95, message=self.message2, tags=['aaa'], id=2)]))
Example #3
0
    def setUp(self):
        startUpTestTimer(100)
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))
        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)

        self.message1 = TransitMessage(serialized={ 'text' : u'мама'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())

        self.c = MessageLogFetchCommand()
        self.c.params.getUnserialized({'partner' : None, 'log' : 'testLog'})

        return self.log.put(message=self.message1, when=90).addCallback(lambda _: self.log.put(message=self.message2, when=95, tags=['aaa']))
Example #4
0
    def setUp(self):
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))

        self.message1 = TransitMessage(serialized={ 'text' : u'мама мыла раму папы'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())
        self.message3 = TransitMessage(serialized={ 'text' : u'привет всем в чате!'}).getMessage(getDefaultDomain())
        self.message4 = TaggedMessage(TransitMessage(serialized={ 'text' : u'и тебе привет!',}).getMessage(getDefaultDomain()))
        self.message4.addTag('good')
        self.message4.addTag('bad')

        startUpTestTimer(1000)

        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)
Example #5
0
class MessageLogPutTestCase(unittest.TestCase):
    """
    Тест на L{spamfighter.rules.log.messageLogPut}.
    """

    def setUp(self):
        startUpTestTimer(100)
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))
        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)

        self.message1 = TransitMessage(serialized={ 'text' : u'мама'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())

    def tearDown(self):
        tearDownTestTimer()
        getDefaultDomain().delete('testStorage')
        getDefaultDomain().delete('testLog')

    def testNoLog(self):
        return defer.maybeDeferred(messageLogPut, log="__noSUCHLOG__", domain=getDefaultDomain(), message=self.message1).addCallback(lambda _: self.assert_(False)) \
                .addErrback(lambda failure: failure.trap("spamfighter.core.commands.errors.AttributeKeyException"))

    def testNotALog(self):
        return defer.maybeDeferred(messageLogPut, log="messageDomain", domain=getDefaultDomain(), message=self.message1).addCallback(lambda _: self.assert_(False)) \
                .addErrback(lambda failure: failure.trap("spamfighter.core.commands.errors.NotAMessageLogError"))

    def testPut1(self):
        return defer.maybeDeferred(messageLogPut, log="testLog", domain=getDefaultDomain(), message=self.message2).addCallback(lambda _: self.log.fetch()) \
                .addCallback(self.assertEquals, [LogEntry(when=100, tags=[], message=TransitMessage(message=self.message2), id=1)])

    def testPut2(self):
        return defer.maybeDeferred(messageLogPut, log="testLog", domain=getDefaultDomain(), message=self.message1, tag='oops').addCallback(lambda _: self.log.fetch()) \
                .addCallback(self.assertEquals, [LogEntry(when=100, tags=['oops'], message=TransitMessage(message=self.message1), id=1)])
Example #6
0
class MessageLogTestCase(unittest.TestCase):
    """
    Тест на L{spamfighter.core.log.MessageLog}.
    """

    def setUp(self):
        getDefaultDomain().set('testStorage', DomainMemoryStorage(storage=MemoryStorage(cleanupInterval=0)))

        self.message1 = TransitMessage(serialized={ 'text' : u'мама мыла раму папы'}).getMessage(getDefaultDomain())
        self.message2 = TransitMessage(serialized={ 'text' : u'папа'}).getMessage(getDefaultDomain())
        self.message3 = TransitMessage(serialized={ 'text' : u'привет всем в чате!'}).getMessage(getDefaultDomain())
        self.message4 = TaggedMessage(TransitMessage(serialized={ 'text' : u'и тебе привет!',}).getMessage(getDefaultDomain()))
        self.message4.addTag('good')
        self.message4.addTag('bad')

        startUpTestTimer(1000)

        self.log = MessageLog(storage='testStorage')
        getDefaultDomain().set('testLog', self.log)

    def tearDown(self):
        tearDownTestTimer()
        getDefaultDomain().delete('testLog')
        getDefaultDomain().delete('testStorage')

    def testInterface(self):
        ziv.verifyClass(IMessageLog, MessageLog)

    def testPutFetch(self):
        return self.log.put(self.message1).addCallback(lambda _: self.log.fetch()) \
                .addCallback(self.assertEquals, [LogEntry(when=1000, message=self.message1, id=1)] )

    def testPutFetchLong(self):
        return self.log.put(self.message1).addCallback(lambda _: advanceTestTimer(989)).addCallback(lambda _: self.log.fetch()) \
                .addCallback(self.assertEquals, [LogEntry(when=1000, message=self.message1, id=1)] ) \
                .addCallback(lambda _: advanceTestTimer(1)).addCallback(lambda _: self.log.fetch()).addCallback(self.assertEquals, [])

    def testFirst(self):
        return defer.DeferredList([self.log.put(self.message2, when=when) for when in [850, 852, 900, 901, 920]]) \
                .addCallback(lambda _: self.log.fetch(first=852)) \
                .addCallback(lambda result: self.assertEquals([852, 900, 901, 920], map(lambda i: i.when, result)))

    def testLast(self):
        return defer.DeferredList([self.log.put(self.message2, when=when) for when in [850, 852, 900, 901, 920]]) \
                .addCallback(lambda _: self.log.fetch(last=900)) \
                .addCallback(lambda result: self.assertEquals([850, 852, 900], map(lambda i: i.when, result)))

    def testFirstLast(self):
        return defer.DeferredList([self.log.put(self.message2, when=when) for when in [850, 852, 900, 901, 920]]) \
                .addCallback(lambda _: self.log.fetch(first=852, last=901)) \
                .addCallback(lambda result: self.assertEquals([852, 900, 901], map(lambda i: i.when, result)))

    def testFirstWithShift(self):
        return defer.DeferredList([self.log.put(self.message2, when=when) for when in [850, 852, 900, 901, 920]]) \
                .addCallback(lambda _: advanceTestTimer(500)).addCallback(lambda _: self.log.fetch(first=852)) \
                .addCallback(lambda result: self.assertEquals([852, 900, 901, 920], map(lambda i: i.when, result)))

    def testFirstID(self):
        return defer.DeferredList([self.log.put(self.message2, when=when) for when in [850, 852, 900, 901, 920]]) \
                .addCallback(lambda _: self.log.fetch(first=800, firstID=3)) \
                .addCallback(lambda result: self.assertEquals([900, 901, 920], map(lambda i: i.when, result)))

    def testPickling(self):
        import pickle

        l = pickle.loads(pickle.dumps(self.log))