File: //usr/lib/python3/dist-packages/twisted/mail/test/__pycache__/test_mailmail.cpython-310.pyc
o
�bk2 � @ s� d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl m
Z
ddlmZ ddl
mZ dd lmZ dd
lmZ ddlmZ ddlmZ dd
lmZ G dd� de�ZdS )zi
Tests for L{twisted.mail.scripts.mailmail}, the implementation of the
command line program I{mailmail}.
� N)�StringIO)�skipIf)�version)�Deferred)�smtp)�mailmail)�parseOptions)�Failure)�platformType)�
MemoryReactor)�TestCasec @ s� e Zd ZdZe� Zdd� Zdd� Zdd� Zdd � Z d
d� Z
dd
� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zeedkd�dd� �Zeedkd�dd� �Zd d!� Zd"d#� Zd$d%� Zd&S )'�OptionsTestsz�
Tests for L{parseOptions} which parses command line arguments and reads
message text from stdin to produce an L{Options} instance which can be
used to send a message.
c sf t � � _ddlm}m} |� j�}� �td||d�� d� _d� _d� _ � fdd�}� �td|� dS ) zz
Override some things in mailmail, so that we capture C{stdout},
and do not call L{reactor.stop}.
r )�Logger�textFileLogObserver�_log)�observerNc s. | � _ |� _|� _tj| |j|j|j� jd�S )N)�reactor) �host�options�identr �sendmail�sender�to�body�
memoryReactor)r r r ��self� �A/usr/lib/python3/dist-packages/twisted/mail/test/test_mailmail.pyr 3 s �z$OptionsTests.setUp.<locals>.sendmailr )
r �out�twisted.loggerr r �patchr r r r )r r r �logObserverr r r r �setUp# s
zOptionsTests.setUpc C s2 | � tdtd�� | �ttg �}| �|jd� dS )z�
If no recipients are given in the argument list and there is no
recipient header in the message text, L{parseOptions} raises
L{SystemExit} with a string describing the problem.
�stdinzSubject: foo
Hello, goodbye.
)zNo recipients specified.N)r! �sysr �assertRaises�
SystemExitr �assertEqual�args�r �excr r r �test_unspecifiedRecipientsA s z'OptionsTests.test_unspecifiedRecipientsc C �"