Move parse_header to Milter.utils.

Test case for delayed DSN parsing.
Fix plock when source missing or cannot set owner/group.
This commit is contained in:
Stuart Gathman
2007-01-19 23:31:38 +00:00
parent 393aa6140a
commit 4c72135b0e
8 changed files with 112 additions and 66 deletions
+36
View File
@@ -0,0 +1,36 @@
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())