Changeset 104 for trunk

Show
Ignore:
Timestamp:
10/04/08 11:17:12 (3 months ago)
Author:
fs
Message:

debug provider now stores all mails so you can check then in unit tests (#78)

Location:
trunk
Files:
1 added
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/turbomail/providers/debug.py

    r84 r104  
    11# encoding: utf-8 
    2  
    3 """TurboMail extension API.""" 
    42 
    53__version__ = "$Revision$" 
    64 
     5import copy 
    76import logging 
     7 
     8from turbomail.api import ProviderFactory, Provider 
     9 
     10 
    811log = logging.getLogger("turbomail.provider") 
    912deliverylog = logging.getLogger("turbomail.delivery") 
    10  
    11 import turbomail 
    12 from turbomail.api import ProviderFactory, Provider 
    13 from turbomail.exceptions import ProviderExhaustedException 
    1413 
    1514__all__ = ['load'] 
     
    2423        super(DebugProvider, self).__init__() 
    2524        log.debug("Debug provider setup.") 
     25        self._sent_mails = [] 
    2626     
    2727    def __del__(self): 
    28         if log: log.debug("Debug provider teardown.") 
     28        if log: 
     29            log.debug("Debug provider teardown.") 
    2930     
    3031    def deliver(self, message): 
    3132        log.info("Attempting delivery of message %s." % message.id) 
    3233        deliverylog.info("%s DELIVER" % message.id) 
    33          
    34         for i in str(message).split("\n"): 
     34        msg_string = str(message) 
     35        self._sent_mails.append(msg_string) 
     36        for i in msg_string.split("\n"): 
    3537            deliverylog.debug("%s BODY %s" % (message.id, str(i))) 
    3638         
    3739        deliverylog.info("%s SENT" % message.id) 
    3840        return True 
     41     
     42    def get_sent_mails(self): 
     43        return copy.copy(self._sent_mails) 
    3944 
    4045 
     
    4449    url = "http://www.python-turbomail.org/wiki/DebugProvider" 
    4550    provider = DebugProvider 
     51