Test mixin for unit testing milter applications.
More...
Public Member Functions |
|
def | __init__ |
|
def | log |
| def | setsymval |
| | Set a macro value.
|
|
def | getsymval |
|
def | replacebody |
|
def | chgheader |
|
def | addheader |
|
def | delrcpt |
|
def | addrcpt |
| def | setreply |
| | Save the reply codes and messages in self._reply.
|
|
def | setsymlist |
| def | feedFile |
| | Feed a file like object to the milter.
|
| def | feedMsg |
| | Feed an email contained in a file to the milter.
|
| def | connect |
| | Call the connect and helo callbacks.
|
Private Attributes |
|
| _protocol |
|
| _delrcpt |
| | List of recipients deleted.
|
|
| _addrcpt |
| | List of recipients added.
|
|
| _macros |
| | Macros defined.
|
| | _body |
| | The message body.
|
| | _bodyreplaced |
| | True if the milter replaced the message body.
|
| | _headerschanged |
| | True if the milter changed any headers.
|
|
| _reply |
| | Reply codes and messages set by milter.
|
| | _msg |
| | The rfc822 message object for the current email being fed to the milter.
|
|
| _symlist |
Detailed Description
Test mixin for unit testing milter applications.
This mixin overrides many Milter.MilterBase methods with stub versions that simply record what was done.
- Since
- 0.9.8
Member Function Documentation
| def Milter.test.TestBase.connect |
( |
|
self, |
|
|
|
host = 'localhost', |
|
|
|
helo = 'spamrelay', |
|
|
|
ip = '1.2.3.4' |
|
) |
| |
Call the connect and helo callbacks.
The helo callback is not called if connect does not return CONTINUE.
- Parameters
-
| host | the hostname passed to the connect callback |
| helo | the hostname passed to the helo callback |
| ip | the IP address passed to the connect callback |
| def Milter.test.TestBase.feedFile |
( |
|
self, |
|
|
|
fp, |
|
|
|
sender = "spam@adv.com", |
|
|
|
rcpt = "victim@lamb.com", |
|
|
|
rcpts |
|
) |
| |
Feed a file like object to the milter.
Calls envfrom, envrcpt for each recipient, header for each header field, body for each body block, and finally eom. A return code from the milter other than CONTINUE returns immediately with that return code.
This is a convenience method, a test could invoke the callbacks in sequence on its own - and for some complex tests, this may be necessary.
- Parameters
-
| fp | the file with rfc2822 message stream |
| sender | the MAIL FROM |
| rcpt | RCPT TO - additional recipients may follow |
| def Milter.test.TestBase.feedMsg |
( |
|
self, |
|
|
|
fname, |
|
|
|
sender = "spam@adv.com", |
|
|
|
rcpts |
|
) |
| |
Feed an email contained in a file to the milter.
This is a convenience method that invokes feedFile .
- Parameters
-
| sender | MAIL FROM |
| rcpts | RCPT TO, multiple recipients may be supplied |
| def Milter.test.TestBase.setreply |
( |
|
self, |
|
|
|
rcode, |
|
|
|
xcode, |
|
|
|
msg |
|
) |
| |
Save the reply codes and messages in self._reply.
| def Milter.test.TestBase.setsymval |
( |
|
self, |
|
|
|
name, |
|
|
|
val |
|
) |
| |
Set a macro value.
These are retrieved by the milter with getsymval.
- Parameters
-
| name | the macro name, as passed to getsymval |
| val | the macro value |
Member Data Documentation
| Milter.test.TestBase._body |
|
private |
| Milter.test.TestBase._bodyreplaced |
|
private |
True if the milter replaced the message body.
| Milter.test.TestBase._headerschanged |
|
private |
True if the milter changed any headers.
| Milter.test.TestBase._msg |
|
private |
The rfc822 message object for the current email being fed to the milter.
The documentation for this class was generated from the following file: