Milter.testctx.TestCtx Class Reference

Milter context for unit testing milter applications. More...

Inheritance diagram for Milter.testctx.TestCtx:

## Public Member Functions

def | __init__ (self, logfile='test/milter.log')
def | getpriv (self)
def | setpriv (self, priv)
def | getsymval (self, name)
def | setreply (self, rcode, xcode, *msg)
def | setsymlist (self, stage, macros)
def | addheader (self, field, value, idx)
def | chgheader (self, field, idx, value)
def | addrcpt (self, rcpt, params)
def | delrcpt (self, rcpt)
def | replacebody (self, chunk)
def | chgfrom (self, sender, params=None)
def | quarantine (self, reason)
def | progress (self)
| Reset activity timer.

## Static Public Attributes

list | default_opts = [Milter.CURR_ACTS,0x1fffff,0,0]

## Private Member Functions

def | _setsymval (self, name, val)
def | _abort (self)
def | _close (self)
def | _negotiate (self)
def | _connect (self, host='localhost', helo='spamrelay', ip='1.2.3.4')
def | _helo (self, helo)
def | _envfrom (self, *s)
def | _envrcpt (self, s)
def | _data (self)
def | _header (self, fld, val)
def | _eoh (self)
def | _feed_body (self, bfp)
def | _eom (self)
def | _feedFile (self, fp, sender="spam@adv.com", rcpt="victim@lamb.com", *rcpts)
| Feed a file like object to the ctx. More...
def | _feedMsg (self, fname, sender="spam@adv.com", *rcpts)
| Feed an email contained in a file to the milter. More...

## Private Attributes

| _priv
| Usually the Milter application derived from Milter.Base.
| _delrcpt
| List of recipients deleted.
| _addrcpt
| List of recipients added.
| _macros
| Macros defined.
| _reply
| Reply codes and messages set by the milter.
| _symlist
| The macros returned by protocol stage.
| _body
| The message body.
| _bodyreplaced
| True if the milter replaced the message body.
| _headerschanged
| True if the milter changed any headers.
| _msg
| The rfc822 message object for the current email being fed to the milter.
| _sender
| The MAIL FROM for the current email being fed to the milter.
| _envfromchanged
| True if the milter changed the envelope from.
| _opts
| Negotiated options.
| _activity
| Last activity.
| _stage
| _protocol

## Detailed Description

Milter context for unit testing milter applications.

A substitute for milter.milterContext that can be passed to Milter.Base._setctx().

Since
  1.0.3

## Member Function Documentation

## _feedFile()

def Milter.testctx.TestCtx._feedFile | ( |  | self,
|  |  | fp,
|  |  | sender = `"spam@adv.com"`,
|  |  | rcpt = `"victim@lamb.com"`,
|  | * | rcpts
| ) |  |

private

Feed a file like object to the ctx.

Calls the callbacks in the same sequence as libmilter.

Parameters

  fp | the file with rfc2822 message stream
  sender | the MAIL FROM
  rcpt | RCPT TO - additional recipients may follow

References Milter.test.TestBase._body, Milter.testctx.TestCtx._body, Milter.test.TestBase._bodyreplaced, Milter.testctx.TestCtx._bodyreplaced, Milter.testctx.TestCtx._data(), Milter.testctx.TestCtx._envfrom(), Milter.testctx.TestCtx._envrcpt(), Milter.testctx.TestCtx._eoh(), Milter.testctx.TestCtx._eom(), Milter.testctx.TestCtx._feed_body(), Milter.testctx.TestCtx._header(), Milter.test.TestBase._headerschanged, Milter.testctx.TestCtx._headerschanged, Milter.test.TestBase._msg, Milter.testctx.TestCtx._msg, Milter.test.TestBase._reply, and Milter.testctx.TestCtx._reply.

Referenced by Milter.testctx.TestCtx._feedMsg().

## _feedMsg()

def Milter.testctx.TestCtx._feedMsg | ( |  | self,
|  |  | fname,
|  |  | sender = `"spam@adv.com"`,
|  | * | rcpts
| ) |  |

private

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

References Milter.testctx.TestCtx._feedFile().

The documentation for this class was generated from the following file:

- Milter/testctx.py