pymilter 1.0.5
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Milter.testctx.TestCtx Class Reference

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

Inheritance diagram for Milter.testctx.TestCtx:

Public Member Functions

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

Static Public Attributes

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

Protected Member Functions

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

Protected 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()

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

Feed a file like object to the ctx.

Calls the callbacks in the same sequence as libmilter.

Parameters
fpthe file with rfc2822 message stream
senderthe MAIL FROM
rcptRCPT 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()

Milter.testctx.TestCtx._feedMsg (   self,
  fname,
  sender = "spam@adv.com",
rcpts 
)
protected

Feed an email contained in a file to the milter.

This is a convenience method that invokes feedFile .

Parameters
senderMAIL FROM
rcptsRCPT TO, multiple recipients may be supplied

References Milter.testctx.TestCtx._feedFile().


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