Files
pymilter/testutils.py
T
Stuart Gathman 4c72135b0e Move parse_header to Milter.utils.
Test case for delayed DSN parsing.
Fix plock when source missing or cannot set owner/group.
2007-01-19 23:31:38 +00:00

37 lines
1003 B
Python

import unittest
import doctest
import os
import Milter.utils
from Milter.cache import AddrCache
class AddrCacheTestCase(unittest.TestCase):
def setUp(self):
self.fname = 'test.dat'
self.cache = AddrCache(fname=self.fname)
def tearDown(self):
os.remove(self.fname)
def testAdd(self):
cache = self.cache
cache['foo@bar.com'] = None
cache.addperm('baz@bar.com')
cache['temp@bar.com'] = 'testing'
self.failUnless(cache.has_key('foo@bar.com'))
self.failUnless(not cache.has_key('hello@bar.com'))
self.failUnless('baz@bar.com' in cache)
self.assertEquals(cache['temp@bar.com'],'testing')
s = open(self.fname).readlines()
self.failUnless(len(s) == 2)
self.failUnless(s[0].startswith('foo@bar.com '))
self.assertEquals(s[1].strip(),'baz@bar.com')
def suite():
s = unittest.makeSuite(AddrCacheTestCase,'test')
s.addTest(doctest.DocTestSuite(Milter.utils))
return s
if __name__ == '__main__':
unittest.TextTestRunner().run(suite())