misc: fix missing variable in bounce processing
This commit is contained in:
parent
01027d0887
commit
6e7f88400f
|
@ -3,16 +3,10 @@ import StringIO
|
|||
|
||||
from wcs.ctl.process_bounce import CmdProcessBounce
|
||||
|
||||
def test_garbage():
|
||||
msg = StringIO.StringIO('garbage')
|
||||
addrs = CmdProcessBounce.get_bounce_addrs(msg)
|
||||
assert addrs is None
|
||||
|
||||
def test_normal_email():
|
||||
msg = email.message_from_string('test')
|
||||
msg['From'] = 'bar@example.net'
|
||||
msg['To'] = 'foo@example.net'
|
||||
msg = StringIO.StringIO(msg.as_string())
|
||||
addrs = CmdProcessBounce.get_bounce_addrs(msg)
|
||||
assert addrs is None
|
||||
|
||||
|
@ -24,6 +18,5 @@ def test_bounce_email():
|
|||
# this is how exim adds failed recipients in its outgoing bounce emails
|
||||
msg['x-failed-recipients'] = 'baz@example.net'
|
||||
|
||||
msg = StringIO.StringIO(msg.as_string())
|
||||
addrs = CmdProcessBounce.get_bounce_addrs(msg)
|
||||
assert addrs == ['baz@example.net']
|
||||
|
|
|
@ -42,7 +42,9 @@ class CmdProcessBounce(Command):
|
|||
return
|
||||
|
||||
try:
|
||||
addrs = self.get_bounce_addrs(sys.stdin)
|
||||
parser = email.Parser.Parser()
|
||||
msg = parser.parse(sys.stdin)
|
||||
addrs = self.get_bounce_addrs(msg)
|
||||
if addrs is None:
|
||||
# not a bounce
|
||||
return
|
||||
|
@ -81,11 +83,9 @@ class CmdProcessBounce(Command):
|
|||
sys.exit(1)
|
||||
|
||||
@classmethod
|
||||
def get_bounce_addrs(cls, message_fd):
|
||||
parser = email.Parser.Parser()
|
||||
def get_bounce_addrs(cls, msg):
|
||||
bouncers_dir = os.path.join(os.path.dirname(__file__), 'Bouncers')
|
||||
sys.path.append(bouncers_dir)
|
||||
msg = parser.parse(message_fd)
|
||||
for modname in BouncerAPI.BOUNCE_PIPELINE:
|
||||
__import__(modname)
|
||||
addrs = sys.modules[modname].process(msg)
|
||||
|
|
Loading…
Reference in New Issue