Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/test/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/test/__pycache__/test_smtpd.cpython-34.pyc

�
f f9X�@s�ddlZddlmZmZddlZddlZddlZddlZGdd�dej�Z	Gdd�de
�ZGdd�de	�ZGd	d
�d
ej
�ZGdd�dej
�ZGd
d�dej
�Zedkr�ej�ndS)�N)�support�mock_socketc@s(eZdZdd�Zdd�ZdS)�DummyServercCs#tjj|||�g|_dS)N)�smtpd�
SMTPServer�__init__�messages)�selfZ	localaddrZ
remoteaddr�r
�4/opt/alt/python34/lib64/python3.4/test/test_smtpd.pyr
szDummyServer.__init__cCs0|jj||||f�|dkr,dSdS)Nz
return statusz	250 Okish)r�append)r	�peer�mailfromZrcpttos�datar
r
r�process_messageszDummyServer.process_messageN)�__name__�
__module__�__qualname__rrr
r
r
rr	src@seZdZdS)�DummyDispatcherBrokenN)rrrr
r
r
rrsrc@seZdZdd�ZdS)�BrokenDummyServercCs
t��dS)N)r)r	Znumr
r
r�listenszBrokenDummyServer.listenN)rrrrr
r
r
rrsrc@s4eZdZdd�Zdd�Zdd�ZdS)�SMTPDServerTestcCstt_t_dS)N)rr�socket�asyncore)r	r
r
r�setUpszSMTPDServerTest.setUpcs�tjdd�}|j�\}}tj|||���fdd�}|d�|d�|d�|d�|jt|d	�dS)
N�a�bcs�jj|��j�dS)N)r�
queue_recv�handle_read)�line)�channelr
r�
write_line&szFSMTPDServerTest.test_process_message_unimplemented.<locals>.write_linesHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesDATAs	spam
.
)rr�accept�SMTPChannel�assertRaises�NotImplementedError)r	�server�conn�addrr!r
)r r�"test_process_message_unimplemented!s



z2SMTPDServerTest.test_process_message_unimplementedcCstj�tt_t_dS)N)r�	close_allrr)r	r
r
r�tearDown0s
zSMTPDServerTest.tearDownN)rrrrr)r+r
r
r
rrsrc@seZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Zd/d0�Zd1d2�Zd3d4�Zd5d6�Zd7d8�Zd9d:�Zd;d<�Z d=d>�Z!d?d@�Z"dAdB�Z#dCdD�Z$dEdF�Z%dGdH�Z&dIdJ�Z'dKdL�Z(dMdN�Z)dOdP�Z*dQdR�Z+dSdT�Z,dUdV�Z-dWdX�Z.dYdZ�Z/d[d\�Z0d]d^�Z1d_d`�Z2dadb�Z3dcdd�Z4dedf�Z5dgdh�Z6didj�Z7dkdl�Z8dmdn�Z9dodp�Z:dqdr�Z;dsdt�Z<dudv�Z=dwdx�Z>dydz�Z?d{d|�Z@d}d~�ZAdd��ZBd�d��ZCd�S)��SMTPDChannelTestcCsxtt_t_tj|_tj�|_t_t	dd�|_
|j
j�\}}tj|j
||�|_
dS)Nrr)rrrr�DEBUGSTREAM�old_debugstream�io�StringIO�debugrr&r"r#r )r	r'r(r
r
rr6szSMTPDChannelTest.setUpcCs*tj�tt_t_|jt_dS)N)rr*rrr.r-)r	r
r
rr+>s
zSMTPDChannelTest.tearDowncCs$|jjj|�|jj�dS)N)r rrr)r	rr
r
rr!CszSMTPDChannelTest.write_linecCs|jttdd�dS)Nrr)r$rr)r	r
r
r�test_broken_connectGsz$SMTPDChannelTest.test_broken_connectcCs|jj�dS)N)r&Z
handle_accept)r	r
r
r�test_server_acceptJsz#SMTPDChannelTest.test_server_acceptcCs*|jd�|j|jjjd�dS)N�s500 Error: bad syntax
)r!�assertEqualr r�last)r	r
r
r�test_missing_dataMs
z"SMTPDChannelTest.test_missing_datacCs*|jd�|j|jjjd�dS)NsEHLO examples
250 HELP
)r!r5r rr6)r	r
r
r�	test_EHLORs
zSMTPDChannelTest.test_EHLOcCs*|jd�|j|jjjd�dS)NsEHLOs501 Syntax: EHLO hostname
)r!r5r rr6)r	r
r
r�test_EHLO_bad_syntaxVs
z%SMTPDChannelTest.test_EHLO_bad_syntaxcCs7|jd�|jd�|j|jjjd�dS)NsEHLO examples503 Duplicate HELO/EHLO
)r!r5r rr6)r	r
r
r�test_EHLO_duplicate[s

z$SMTPDChannelTest.test_EHLO_duplicatecCs7|jd�|jd�|j|jjjd�dS)NsEHLO examplesHELO examples503 Duplicate HELO/EHLO
)r!r5r rr6)r	r
r
r�test_EHLO_HELO_duplicateas

z)SMTPDChannelTest.test_EHLO_HELO_duplicatecCsKtjj�}|jd�|j|jjjdj|�jd��dS)NsHELO examplez250 {}
�ascii)	rrZgetfqdnr!r5r r6�format�encode)r	�namer
r
r�	test_HELOgs
zSMTPDChannelTest.test_HELOcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesEHLO examples503 Duplicate HELO/EHLO
)r!r5r rr6)r	r
r
r�test_HELO_EHLO_duplicatems

z)SMTPDChannelTest.test_HELO_EHLO_duplicatecCs.|jd�|j|jjjdd�dS)NsHELPs,250 Supported commands: EHLO HELO MAIL RCPT sDATA RSET NOOP QUIT VRFY
)r!r5r rr6)r	r
r
r�	test_HELPss
zSMTPDChannelTest.test_HELPcCs*|jd�|j|jjjd�dS)Ns	HELP MAILs"250 Syntax: MAIL FROM: <address>
)r!r5r rr6)r	r
r
r�test_HELP_commandys
z"SMTPDChannelTest.test_HELP_commandcCs.|jd�|j|jjjdd�dS)Ns	HELP SPAMs,501 Supported commands: EHLO HELO MAIL RCPT sDATA RSET NOOP QUIT VRFY
)r!r5r rr6)r	r
r
r�test_HELP_command_unknown~s
z*SMTPDChannelTest.test_HELP_command_unknowncCs*|jd�|j|jjjd�dS)NsHELOs501 Syntax: HELO hostname
)r!r5r rr6)r	r
r
r�test_HELO_bad_syntax�s
z%SMTPDChannelTest.test_HELO_bad_syntaxcCs7|jd�|jd�|j|jjjd�dS)NsHELO examples503 Duplicate HELO/EHLO
)r!r5r rr6)r	r
r
r�test_HELO_duplicate�s

z$SMTPDChannelTest.test_HELO_duplicatecCs@d|_|jd�|jd�|j|jjjd�dS)NFsHELO examples%MAIL from:<foo@example.com> SIZE=1234s"501 Syntax: MAIL FROM: <address>
)Z
extended_smtpr!r5r rr6)r	r
r
r�8test_HELO_parameter_rejected_when_extensions_not_enabled�s
	

zISMTPDChannelTest.test_HELO_parameter_rejected_when_extensions_not_enabledcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL from:   <foo@example.com>s250 OK
)r!r5r rr6)r	r
r
r�"test_MAIL_allows_space_after_colon�s

z3SMTPDChannelTest.test_MAIL_allows_space_after_coloncCs7|jd�|jd�|j|jjjd�dS)NsEHLO examples&MAIL from:   <foo@example.com> size=20s250 OK
)r!r5r rr6)r	r
r
r�+test_extended_MAIL_allows_space_after_colon�s

z<SMTPDChannelTest.test_extended_MAIL_allows_space_after_coloncCs*|jd�|j|jjjd�dS)NsNOOPs250 OK
)r!r5r rr6)r	r
r
r�	test_NOOP�s
zSMTPDChannelTest.test_NOOPcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesNOOPs250 OK
)r!r5r rr6)r	r
r
r�test_HELO_NOOP�s

zSMTPDChannelTest.test_HELO_NOOPcCs*|jd�|j|jjjd�dS)NsNOOP his501 Syntax: NOOP
)r!r5r rr6)r	r
r
r�test_NOOP_bad_syntax�s
z%SMTPDChannelTest.test_NOOP_bad_syntaxcCs*|jd�|j|jjjd�dS)NsQUITs	221 Bye
)r!r5r rr6)r	r
r
r�	test_QUIT�s
zSMTPDChannelTest.test_QUITcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesQUITs	221 Bye
)r!r5r rr6)r	r
r
r�test_HELO_QUIT�s

zSMTPDChannelTest.test_HELO_QUITcCs*|jd�|j|jjjd�dS)NsQUIT bye byes	221 Bye
)r!r5r rr6)r	r
r
r�test_QUIT_arg_ignored�s
z&SMTPDChannelTest.test_QUIT_arg_ignoredcCs6d|j_|jd�|j|jjjd�dS)Nz	BAD STATEsHELO examples451 Internal confusion
)r Z
smtp_stater!r5rr6)r	r
r
r�test_bad_state�s
zSMTPDChannelTest.test_bad_statecCsI|jd�|jdd|jjd�|j|jjjd�dS)NsHELO examplesMAIL from: �as@examples500 Error: line too long
)r!r �command_size_limitr5rr6)r	r
r
r�test_command_too_long�s
z&SMTPDChannelTest.test_command_too_longcCs�|jd�|jjtd�}|jdd|d�|j|jjjd�|jdd|dd�|j|jjjd�dS)	NsEHLO examplezMAIL from:<@example>sMAIL from:<rQs@example> SIZE=1234s250 OK
�s500 Error: line too long
)r!r rR�lenr5rr6)r	Zfill_lenr
r
r�*test_MAIL_command_limit_extended_with_SIZE�s
z;SMTPDChannelTest.test_MAIL_command_limit_extended_with_SIZEcCsxd|j_|jd�|jd�|jd�|jd�|jd|jjd�|j|jjjd�dS)	NisHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesDATA�AsA
.s552 Error: Too much mail data
)r �data_size_limitr!r5rr6)r	r
r
r�-test_data_longer_than_default_data_size_limit�s



z>SMTPDChannelTest.test_data_longer_than_default_data_size_limitcCs7|jd�|jd�|j|jjjd�dS)NsEHLO examples!MAIL FROM:<eggs@example> SIZE=512s250 OK
)r!r5r rr6)r	r
r
r�test_MAIL_size_parameter�s

z)SMTPDChannelTest.test_MAIL_size_parametercCs7|jd�|jd�|j|jjjd�dS)NsEHLO examples%MAIL FROM:<eggs@example> SIZE=invalids9501 Syntax: MAIL FROM: <address> [SP <mail-parameters>]
)r!r5r rr6)r	r
r
r� test_MAIL_invalid_size_parameter�s

z1SMTPDChannelTest.test_MAIL_invalid_size_parametercCsj|jd�|jd�|j|jjjd�|jd�|jd�|j|jjjd�dS)NsEHLO examples"MAIL FROM:<eggs@example> ham=greens<555 MAIL FROM parameters not recognized or not implemented
sMAIL FROM:<eggs@example>s RCPT TO:<eggs@example> ham=greens:555 RCPT TO parameters not recognized or not implemented
)r!r5r rr6)r	r
r
r�!test_MAIL_RCPT_unknown_parameters�s



z2SMTPDChannelTest.test_MAIL_RCPT_unknown_parameterscCsCd|j_|jd�|jd�|j|jjjd�dS)NisEHLO examples"MAIL FROM:<eggs@example> SIZE=2096s<552 Error: message size exceeds fixed maximum message size
)r rXr!r5rr6)r	r
r
r�<test_MAIL_size_parameter_larger_than_default_data_size_limit�s


zMSMTPDChannelTest.test_MAIL_size_parameter_larger_than_default_data_size_limitcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesRCPT to:spam@examples503 Error: need MAIL command
)r!r5r rr6)r	r
r
r�test_need_MAILs

zSMTPDChannelTest.test_need_MAILcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL from eggs@examples"501 Syntax: MAIL FROM: <address>
)r!r5r rr6)r	r
r
r�test_MAIL_syntax_HELO	s

z&SMTPDChannelTest.test_MAIL_syntax_HELOcCs7|jd�|jd�|j|jjjd�dS)NsEHLO examplesMAIL from eggs@examples9501 Syntax: MAIL FROM: <address> [SP <mail-parameters>]
)r!r5r rr6)r	r
r
r�test_MAIL_syntax_EHLOs

z&SMTPDChannelTest.test_MAIL_syntax_EHLOcCs7|jd�|jd�|j|jjjd�dS)NsHELO examples
MAIL from:s"501 Syntax: MAIL FROM: <address>
)r!r5r rr6)r	r
r
r�test_MAIL_missing_addresss

z*SMTPDChannelTest.test_MAIL_missing_addresscCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL from:<eggs@example>s250 OK
)r!r5r rr6)r	r
r
r�test_MAIL_chevronss

z#SMTPDChannelTest.test_MAIL_chevronscCs7|jd�|jd�|j|jjjd�dS)NsEHLO examplesMAIL from:<>s250 OK
)r!r5r rr6)r	r
r
r�test_MAIL_empty_chevrons s

z)SMTPDChannelTest.test_MAIL_empty_chevronscCsM|jd�|jd�|j|jjjd�|j|jjd�dS)NsEHLO examples%MAIL from: <"Fred Blogs"@example.com>s250 OK
z"Fred Blogs"@example.com)r!r5r rr6r)r	r
r
r�test_MAIL_quoted_localpart%s

z+SMTPDChannelTest.test_MAIL_quoted_localpartcCsM|jd�|jd�|j|jjjd�|j|jjd�dS)NsEHLO examples#MAIL from: "Fred Blogs"@example.coms250 OK
z"Fred Blogs"@example.com)r!r5r rr6r)r	r
r
r�$test_MAIL_quoted_localpart_no_angles+s

z5SMTPDChannelTest.test_MAIL_quoted_localpart_no_anglescCsM|jd�|jd�|j|jjjd�|j|jjd�dS)NsEHLO examples/MAIL from: <"Fred Blogs"@example.com> SIZE=1000s250 OK
z"Fred Blogs"@example.com)r!r5r rr6r)r	r
r
r�$test_MAIL_quoted_localpart_with_size1s

z5SMTPDChannelTest.test_MAIL_quoted_localpart_with_sizecCsM|jd�|jd�|j|jjjd�|j|jjd�dS)NsEHLO examples-MAIL from: "Fred Blogs"@example.com SIZE=1000s250 OK
z"Fred Blogs"@example.com)r!r5r rr6r)r	r
r
r�.test_MAIL_quoted_localpart_with_size_no_angles7s

z?SMTPDChannelTest.test_MAIL_quoted_localpart_with_size_no_anglescCsD|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL from:eggs@examplesMAIL from:spam@examples 503 Error: nested MAIL command
)r!r5r rr6)r	r
r
r�test_nested_MAIL=s



z!SMTPDChannelTest.test_nested_MAILcCs.|jd�|j|jjjdd�dS)NsVRFY eggs@examples:252 Cannot VRFY user, but will accept message and attempt s
delivery
)r!r5r rr6)r	r
r
r�	test_VRFYDs
zSMTPDChannelTest.test_VRFYcCs*|jd�|j|jjjd�dS)NsVRFYs501 Syntax: VRFY <address>
)r!r5r rr6)r	r
r
r�test_VRFY_syntaxJs
z!SMTPDChannelTest.test_VRFY_syntaxcCs*|jd�|j|jjjd�dS)NsEXPNs502 EXPN not implemented
)r!r5r rr6)r	r
r
r�test_EXPN_not_implementedOs
z*SMTPDChannelTest.test_EXPN_not_implementedcCs*|jd�|j|jjjd�dS)NsMAIL from:<foo@example.com>s503 Error: send HELO first
)r!r5r rr6)r	r
r
r�test_no_HELO_MAILTs
z"SMTPDChannelTest.test_no_HELO_MAILcCsD|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL From:eggs@examplesDATAs503 Error: need RCPT command
)r!r5r rr6)r	r
r
r�test_need_RCPTYs



zSMTPDChannelTest.test_need_RCPTcCsD|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL From: eggs@examplesRCPT to eggs@examples 501 Syntax: RCPT TO: <address>
)r!r5r rr6)r	r
r
r�test_RCPT_syntax_HELO`s



z&SMTPDChannelTest.test_RCPT_syntax_HELOcCsD|jd�|jd�|jd�|j|jjjd�dS)NsEHLO examplesMAIL From: eggs@examplesRCPT to eggs@examples7501 Syntax: RCPT TO: <address> [SP <mail-parameters>]
)r!r5r rr6)r	r
r
r�test_RCPT_syntax_EHLOgs



z&SMTPDChannelTest.test_RCPT_syntax_EHLOcCsD|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL From: eggs@examplesRCPT to: <eggs@example>s250 OK
)r!r5r rr6)r	r
r
r�test_RCPT_lowercase_to_OKns


z*SMTPDChannelTest.test_RCPT_lowercase_to_OKcCs*|jd�|j|jjjd�dS)NsRCPT to eggs@examples503 Error: send HELO first
)r!r5r rr6)r	r
r
r�test_no_HELO_RCPTts
z"SMTPDChannelTest.test_no_HELO_RCPTcCs�|jd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�|j|jjdd	d
gdfg�dS)NsHELO examplesMAIL From:eggs@examples250 OK
sRCPT To:spam@examplesDATAs%354 End data with <CR><LF>.<CR><LF>
s
data
more
.r
zeggs@examplezspam@examplez	data
more)r!r5r rr6r&r)r	r
r
r�test_data_dialogys




z!SMTPDChannelTest.test_data_dialogcCsQ|jd�|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL From:eggs@examplesRCPT To:spam@examples	DATA spams501 Syntax: DATA
)r!r5r rr6)r	r
r
r�test_DATA_syntax�s




z!SMTPDChannelTest.test_DATA_syntaxcCs*|jd�|j|jjjd�dS)Ns	DATA spams503 Error: send HELO first
)r!r5r rr6)r	r
r
r�test_no_HELO_DATA�s
z"SMTPDChannelTest.test_no_HELO_DATAcCs[|jd�|jd�|jd�|jd�|jd�|j|jjd�dS)NsHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesDATAs..
.
�.)r!r5r Z
received_data)r	r
r
r�$test_data_transparency_section_4_5_2�s




z5SMTPDChannelTest.test_data_transparency_section_4_5_2cCs}|jd�|jd�|jd�|jd�|jd�|jd�|j|jjddd	d
gdfg�dS)NsHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesRCPT To:ham@examplesDATAsdata
.r
zeggs@examplezspam@examplezham@exampler)r!r5r&r)r	r
r
r�test_multiple_RCPT�s





z#SMTPDChannelTest.test_multiple_RCPTcCs^|jd�|jd�|jd�|jd�|jd�|j|jjjd�dS)NsHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesDATAsreturn status
.s250 Okish
)r!r5r rr6)r	r
r
r�test_manual_status�s




z#SMTPDChannelTest.test_manual_statuscCs�|jd�|jd�|jd�|jd�|j|jjjd�|jd�|jd�|jd�|jd	�|j|jjd
ddgd
fg�dS)NsHELO examplesMAIL From:eggs@examplesRCPT To:spam@examplesRSETs250 OK
sMAIL From:foo@examplesRCPT To:eggs@examplesDATAsdata
.r
zfoo@examplezeggs@exampler)r!r5r rr6r&r)r	r
r
r�	test_RSET�s







zSMTPDChannelTest.test_RSETcCs7|jd�|jd�|j|jjjd�dS)NsHELO examplesRSETs250 OK
)r!r5r rr6)r	r
r
r�test_HELO_RSET�s

zSMTPDChannelTest.test_HELO_RSETcCs*|jd�|j|jjjd�dS)NsRSET his501 Syntax: RSET
)r!r5r rr6)r	r
r
r�test_RSET_syntax�s
z!SMTPDChannelTest.test_RSET_syntaxcCs.|jd�|j|jjjdd�dS)NsUNKNOWN_CMDs%500 Error: command "UNKNOWN_CMD" not srecognized
)r!r5r rr6)r	r
r
r�test_unknown_command�s
z%SMTPDChannelTest.test_unknown_commandc�Csttjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj	}WdQXtjdtf��d|j_	WdQXtjdtf��|jj
}WdQXtjdtf��d|j_
WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXtjdtf��|jj
}WdQXtjdtf��d|j_
WdQXtjdtf��|jj}WdQXtjdtf��d|j_WdQXdS)N��spam)rZcheck_warnings�DeprecationWarningr Z_SMTPChannel__serverZ_SMTPChannel__lineZ_SMTPChannel__stateZ_SMTPChannel__greetingZ_SMTPChannel__mailfromZ_SMTPChannel__rcpttosZ_SMTPChannel__dataZ_SMTPChannel__fqdnZ_SMTPChannel__peerZ_SMTPChannel__connZ_SMTPChannel__addr)r	r~r
r
r�test_attribute_deprecations�sXz,SMTPDChannelTest.test_attribute_deprecationsN)Drrrrr+r!r2r3r7r8r9r:r;r@rArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrSrVrYrZr[r\r]r^r_r`rarbrcrdrerfrgrhrirjrkrlrmrnrorprqrrrsrtrvrwrxryrzr{r|r�r
r
r
rr,5s�
	
r,c@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�!SMTPDChannelWithDataSizeLimitTestcCs{tt_t_tj|_tj�|_t_t	dd�|_
|j
j�\}}tj|j
||d�|_
dS)Nrr� )rrrrr-r.r/r0r1rr&r"r#r )r	r'r(r
r
rr�sz'SMTPDChannelWithDataSizeLimitTest.setUpcCs*tj�tt_t_|jt_dS)N)rr*rrr.r-)r	r
r
rr+s
z*SMTPDChannelWithDataSizeLimitTest.tearDowncCs$|jjj|�|jj�dS)N)r rrr)r	rr
r
rr!
sz,SMTPDChannelWithDataSizeLimitTest.write_linecCs�|jd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�|j|jjdd	d
gdfg�dS)NsHELO examplesMAIL From:eggs@examples250 OK
sRCPT To:spam@examplesDATAs%354 End data with <CR><LF>.<CR><LF>
s
data
more
.r
zeggs@examplezspam@examplez	data
more)r!r5r rr6r&r)r	r
r
r�test_data_limit_dialogs




z8SMTPDChannelWithDataSizeLimitTest.test_data_limit_dialogcCs�|jd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�|jd�|j|jjjd�dS)	NsHELO examplesMAIL From:eggs@examples250 OK
sRCPT To:spam@examplesDATAs%354 End data with <CR><LF>.<CR><LF>
s'This message is longer than 32 bytes
.s552 Error: Too much mail data
)r!r5r rr6)r	r
r
r�$test_data_limit_dialog_too_much_datas




zFSMTPDChannelWithDataSizeLimitTest.test_data_limit_dialog_too_much_dataN)rrrrr+r!r�r�r
r
r
rr��s
	r��__main__)ZunittestZtestrrrr/rrrr�	ExceptionrrZTestCaserr,r�r�mainr
r
r
r�<module>s��2