Skip to content
Snippets Groups Projects
Select Git revision
  • a2215124bb8cc8744f1a81dc9dcb776184161195
  • master default protected
  • pymilter-1.0.4
  • pymilter-1.0.3
  • pymilter-1.0.2
  • pymilter-1.0.1
  • pymilter-1_0
  • milter-0_8_18
  • pymilter-0_9_8
  • pymilter-0_9_7
  • pymilter-0_9_6
  • pymilter-0_9_5
  • pymilter-0_9_4
  • pymilter-0_9_2
  • pymilter-0_9_1
  • pymilter-0_9_0
  • pymilter-0_8_12
  • pymilter-0_8_11
  • pymilter-0_8_10
  • pymilter-0_8_9
  • milter-0_8_8
  • milter-0_8_7
22 results

testutils.py

Blame
  • testutils.py 1.28 KiB
    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'
    
      def tearDown(self):
        os.remove(self.fname)
    
      def testAdd(self):
        cache = AddrCache(fname=self.fname)
        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')
        # check that new result overrides old
        cache['temp@bar.com'] = None
        self.failUnless(not cache['temp@bar.com'])
    
      def testDomain(self):
        fp = open(self.fname,'w')
        print >>fp,'spammer.com'
        fp.close()
        cache = AddrCache(fname=self.fname)
        cache.load(self.fname,30)
        self.failUnless('spammer.com' in cache)
    
    def suite(): 
      s = unittest.makeSuite(AddrCacheTestCase,'test')
      s.addTest(doctest.DocTestSuite(Milter.utils))
      return s
    
    if __name__ == '__main__':
      unittest.TextTestRunner().run(suite())