Back to index

python3.2  3.2.2
Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes
test.test_smtplib.SimSMTPServer Class Reference
Inheritance diagram for test.test_smtplib.SimSMTPServer:
Inheritance graph
[legend]
Collaboration diagram for test.test_smtplib.SimSMTPServer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def handle_accepted
def process_message
def add_feature
def handle_error
def __repr__
def add_channel
def del_channel
def create_socket
def set_socket

Public Attributes

 socket
 family_and_type

Static Public Attributes

 channel_class = SMTPChannel
 debug = False
 connected = False
 accepting = False
 closing = False
 addr = None
tuple ignore_log_types = frozenset(['warning'])

Private Attributes

 _extra_features
 _SMTPchannel

Detailed Description

Definition at line 619 of file test_smtplib.py.


Constructor & Destructor Documentation

def test.test_smtplib.SimSMTPServer.__init__ (   self,
  args,
  kw 
)

Reimplemented from smtpd.SMTPServer.

Definition at line 621 of file test_smtplib.py.

00621 
00622     def __init__(self, *args, **kw):
00623         self._extra_features = []
00624         smtpd.SMTPServer.__init__(self, *args, **kw)

Here is the caller graph for this function:


Member Function Documentation

def asyncore.dispatcher.__repr__ (   self) [inherited]

Definition at line 264 of file asyncore.py.

00264 
00265     def __repr__(self):
00266         status = [self.__class__.__module__+"."+self.__class__.__name__]
00267         if self.accepting and self.addr:
00268             status.append('listening')
00269         elif self.connected:
00270             status.append('connected')
00271         if self.addr is not None:
00272             try:
00273                 status.append('%s:%d' % self.addr)
00274             except TypeError:
00275                 status.append(repr(self.addr))
00276         return '<%s at %#x>' % (' '.join(status), id(self))

def asyncore.dispatcher.add_channel (   self,
  map = None 
) [inherited]

Definition at line 279 of file asyncore.py.

00279 
00280     def add_channel(self, map=None):
00281         #self.log_info('adding channel %s' % self)
00282         if map is None:
00283             map = self._map
00284         map[self._fileno] = self

Here is the caller graph for this function:

def test.test_smtplib.SimSMTPServer.add_feature (   self,
  feature 
)

Definition at line 632 of file test_smtplib.py.

00632 
00633     def add_feature(self, feature):
00634         self._extra_features.append(feature)

def asyncore.dispatcher.create_socket (   self,
  family,
  type 
) [inherited]

Definition at line 294 of file asyncore.py.

00294 
00295     def create_socket(self, family, type):
00296         self.family_and_type = family, type
00297         sock = socket.socket(family, type)
00298         sock.setblocking(0)
00299         self.set_socket(sock)

Here is the caller graph for this function:

def asyncore.dispatcher.del_channel (   self,
  map = None 
) [inherited]

Definition at line 285 of file asyncore.py.

00285 
00286     def del_channel(self, map=None):
00287         fd = self._fileno
00288         if map is None:
00289             map = self._map
00290         if fd in map:
00291             #self.log_info('closing channel %d:%s' % (fd, self))
00292             del map[fd]
00293         self._fileno = None

Here is the caller graph for this function:

def test.test_smtplib.SimSMTPServer.handle_accepted (   self,
  conn,
  addr 
)

Reimplemented from smtpd.SMTPServer.

Definition at line 625 of file test_smtplib.py.

00625 
00626     def handle_accepted(self, conn, addr):
00627         self._SMTPchannel = SimSMTPChannel(self._extra_features,
00628                                            self, conn, addr)

Definition at line 635 of file test_smtplib.py.

00635 
00636     def handle_error(self):
00637         raise
00638 
00639 
00640 # Test various SMTP & ESMTP commands/behaviors that require a simulated server
00641 # (i.e., something with more features than DebuggingServer)
@unittest.skipUnless(threading, 'Threading required for this test.')

Here is the caller graph for this function:

def test.test_smtplib.SimSMTPServer.process_message (   self,
  peer,
  mailfrom,
  rcpttos,
  data 
)
Override this abstract method to handle messages from the client.

peer is a tuple containing (ipaddr, port) of the client that made the
socket connection to our smtp port.

mailfrom is the raw address the client claims the message is coming
from.

rcpttos is a list of raw addresses the client wishes to deliver the
message to.

data is a string containing the entire full text of the message,
headers (if supplied) and all.  It has been `de-transparencied'
according to RFC 821, Section 4.5.2.  In other words, a line
containing a `.' followed by other text has had the leading dot
removed.

This function should return None, for a normal `250 Ok' response;
otherwise it returns the desired response string in RFC 821 format.

Reimplemented from smtpd.SMTPServer.

Definition at line 629 of file test_smtplib.py.

00629 
00630     def process_message(self, peer, mailfrom, rcpttos, data):
00631         pass

def asyncore.dispatcher.set_socket (   self,
  sock,
  map = None 
) [inherited]

Definition at line 300 of file asyncore.py.

00300 
00301     def set_socket(self, sock, map=None):
        self.socket = sock

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 622 of file test_smtplib.py.

Definition at line 626 of file test_smtplib.py.

asyncore.dispatcher.accepting = False [static, inherited]

Definition at line 227 of file asyncore.py.

asyncore.dispatcher.addr = None [static, inherited]

Reimplemented in smtpd.SMTPChannel.

Definition at line 229 of file asyncore.py.

smtpd.SMTPServer.channel_class = SMTPChannel [static, inherited]

Definition at line 428 of file smtpd.py.

asyncore.dispatcher.closing = False [static, inherited]

Definition at line 228 of file asyncore.py.

asyncore.dispatcher.connected = False [static, inherited]

Reimplemented in asyncore.file_dispatcher.

Definition at line 226 of file asyncore.py.

asyncore.dispatcher.debug = False [static, inherited]

Definition at line 225 of file asyncore.py.

Definition at line 295 of file asyncore.py.

tuple asyncore.dispatcher.ignore_log_types = frozenset(['warning']) [static, inherited]

Definition at line 230 of file asyncore.py.


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