Example #1
0
 def testActionShouldBeTestForNotNewlyExpiredGL(self):
     session = self.Session()
     entry = GLEntry(client='client', helo='helo', sender='sender')
     entry.status = 'G'
     entry.expiry_date = datetime.now() - timedelta(weeks=1)
     session.add(entry)
     session.commit()
     self.failUnlessEqual('TEST', entry.get_action())
Example #2
0
 def testActionShouldReturnAllowForCurrentWL(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'W'
     entry.expiry_date = datetime.now() + timedelta(hours=1)
     self.session.add(entry)
     self.session.commit()
     self.glc.read_headers(self.header_file)
     self.assertEqual('ALLOW', self.glc.get_action())
Example #3
0
 def testActionShouldBeDenyForCurrentGL(self):
     session = self.Session()
     entry = GLEntry(client='client', helo='helo', sender='sender')
     entry.status = 'G'
     entry.expiry_date = datetime.now() + timedelta(hours=1)
     session.add(entry)
     session.commit()
     self.failUnlessEqual('DENY', entry.get_action())
Example #4
0
 def testPerformActionShouldReturnDunnoForExpiredGL(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'G'
     entry.expiry_date = datetime.now() - timedelta(minutes=5)
     entry.score = 1
     entry.count = 1
     self.session.add(entry)
     self.session.commit()
     self.glc.read_headers(self.header_file)
     self.assertEqual('action=DUNNO\n\n', self.glc.perform_action())
     self.assertEqual(None, self.glc.score)
Example #5
0
 def testPerformActionShouldWriteScoreForInactiveWL(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'W'
     entry.expiry_date = datetime.now() - timedelta(minutes=5)
     entry.score = 1
     entry.count = 1
     self.session.add(entry)
     self.session.commit()
     self.glc.read_headers(self.header_file)
     self.glc.perform_action()
     self.assertNotEqual(None, self.glc.score)
Example #6
0
 def testPerformActionShouldReturn450ForActiveGL(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'G'
     entry.expiry_date = datetime.now() + timedelta(minutes=5)
     entry.score = 1
     entry.count = 1
     self.session.add(entry)
     self.session.commit()
     self.glc.read_headers(self.header_file)
     self.assertEqual("action=%s\n\n" % self.glc.settings.greylist_message, 
                      self.glc.perform_action())
     self.assertEqual(None, self.glc.score)
Example #7
0
 def testShouldChangeExpiredGreylistedTestEntryToWhitelisted(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'G'
     last_activated = datetime.now() - timedelta(minutes=5)
     entry.last_activated = last_activated
     expiry_date = datetime.now() - timedelta(minutes=5)
     entry.expiry_date = expiry_date
     entry.score = 2
     entry.count = 3
     self.session.add(entry)
     self.glc.read_headers(self.header_file)
     self.assertEqual('action=DUNNO\n\n',
                      self.glc.perform_action())
     query = self.session.query(GLEntry)
     entry = query.first()
     self.assertEqual('W', entry.status)
     self.assertEqual(1, entry.count)
     self.failUnless(entry.last_activated > last_activated)
     self.failUnless(entry.expiry_date > expiry_date)
Example #8
0
 def testShouldUpdateGreylistedTestEntryCount(self):
     entry = GLEntry(client='1.2.3.4', helo='some.domain.tld', sender='bar.tld')
     entry.status = 'G'
     last_activated = datetime.now() - timedelta(minutes=5)
     entry.last_activated = last_activated
     expiry_date = datetime.now() + timedelta(minutes=5)
     entry.expiry_date = expiry_date
     entry.score = 1
     entry.count = 1
     self.session.add(entry)
     self.glc.read_headers(self.header_file)
     self.assertEqual("action=%s\n\n" % self.glc.settings.greylist_message,
                      self.glc.perform_action())
     query = self.session.query(GLEntry)
     entry = query.first()
     self.assertEqual('G', entry.status)
     self.assertEqual(2, entry.count)
     self.failUnless(entry.last_activated > last_activated)
     self.assertEqual(entry.expiry_date, expiry_date)
Example #9
0
 def testActionShouldBeTestForNoStatus(self):
     session = self.Session()
     entry = GLEntry(client='client', helo='helo', sender='sender')
     self.failUnlessEqual('TEST', entry.get_action())