Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
17e3d698
Kaydet (Commit)
17e3d698
authored
Tem 31, 2010
tarafından
Georg Brandl
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Avoid triggering DeprecationWarnings in test_smtpd and smtpd.
üst
ca9400f0
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
27 deletions
+28
-27
smtpd.py
Lib/smtpd.py
+1
-1
test_smtpd.py
Lib/test/test_smtpd.py
+27
-26
No files found.
Lib/smtpd.py
Dosyayı görüntüle @
17e3d698
...
@@ -293,7 +293,7 @@ class SMTPChannel(asynchat.async_chat):
...
@@ -293,7 +293,7 @@ class SMTPChannel(asynchat.async_chat):
else
:
else
:
data
.
append
(
text
)
data
.
append
(
text
)
self
.
received_data
=
NEWLINE
.
join
(
data
)
self
.
received_data
=
NEWLINE
.
join
(
data
)
status
=
self
.
_
_server
.
process_message
(
self
.
peer
,
status
=
self
.
smtp
_server
.
process_message
(
self
.
peer
,
self
.
mailfrom
,
self
.
mailfrom
,
self
.
rcpttos
,
self
.
rcpttos
,
self
.
received_data
)
self
.
received_data
)
...
...
Lib/test/test_smtpd.py
Dosyayı görüntüle @
17e3d698
...
@@ -79,101 +79,102 @@ class SMTPDChannelTest(TestCase):
...
@@ -79,101 +79,102 @@ class SMTPDChannelTest(TestCase):
def
test_missing_data
(
self
):
def
test_missing_data
(
self
):
self
.
write_line
(
b
''
)
self
.
write_line
(
b
''
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'500 Error: bad syntax
\r\n
'
)
b
'500 Error: bad syntax
\r\n
'
)
def
test_EHLO_not_implemented
(
self
):
def
test_EHLO_not_implemented
(
self
):
self
.
write_line
(
b
'EHLO test.example'
)
self
.
write_line
(
b
'EHLO test.example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'502 Error: command "EHLO" not implemented
\r\n
'
)
b
'502 Error: command "EHLO" not implemented
\r\n
'
)
def
test_HELO
(
self
):
def
test_HELO
(
self
):
name
=
socket
.
getfqdn
()
name
=
socket
.
getfqdn
()
self
.
write_line
(
b
'HELO test.example'
)
self
.
write_line
(
b
'HELO test.example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
'250 {}
\r\n
'
.
format
(
name
)
.
encode
(
'ascii'
))
'250 {}
\r\n
'
.
format
(
name
)
.
encode
(
'ascii'
))
def
test_HELO_bad_syntax
(
self
):
def
test_HELO_bad_syntax
(
self
):
self
.
write_line
(
b
'HELO'
)
self
.
write_line
(
b
'HELO'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: HELO hostname
\r\n
'
)
b
'501 Syntax: HELO hostname
\r\n
'
)
def
test_HELO_duplicate
(
self
):
def
test_HELO_duplicate
(
self
):
self
.
write_line
(
b
'HELO test.example'
)
self
.
write_line
(
b
'HELO test.example'
)
self
.
write_line
(
b
'HELO test.example'
)
self
.
write_line
(
b
'HELO test.example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'503 Duplicate HELO/EHLO
\r\n
'
)
b
'503 Duplicate HELO/EHLO
\r\n
'
)
def
test_NOOP
(
self
):
def
test_NOOP
(
self
):
self
.
write_line
(
b
'NOOP'
)
self
.
write_line
(
b
'NOOP'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
def
test_NOOP_bad_syntax
(
self
):
def
test_NOOP_bad_syntax
(
self
):
self
.
write_line
(
b
'NOOP hi'
)
self
.
write_line
(
b
'NOOP hi'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: NOOP
\r\n
'
)
b
'501 Syntax: NOOP
\r\n
'
)
def
test_QUIT
(
self
):
def
test_QUIT
(
self
):
self
.
write_line
(
b
'QUIT'
)
self
.
write_line
(
b
'QUIT'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'221 Bye
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'221 Bye
\r\n
'
)
def
test_QUIT_arg_ignored
(
self
):
def
test_QUIT_arg_ignored
(
self
):
self
.
write_line
(
b
'QUIT bye bye'
)
self
.
write_line
(
b
'QUIT bye bye'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'221 Bye
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'221 Bye
\r\n
'
)
def
test_bad_state
(
self
):
def
test_bad_state
(
self
):
self
.
channel
.
_SMTPChannel_
_state
=
'BAD STATE'
self
.
channel
.
smtp
_state
=
'BAD STATE'
self
.
write_line
(
b
'HELO'
)
self
.
write_line
(
b
'HELO'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'451 Internal confusion
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'451 Internal confusion
\r\n
'
)
def
test_need_MAIL
(
self
):
def
test_need_MAIL
(
self
):
self
.
write_line
(
b
'RCPT to:spam@example'
)
self
.
write_line
(
b
'RCPT to:spam@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'503 Error: need MAIL command
\r\n
'
)
b
'503 Error: need MAIL command
\r\n
'
)
def
test_MAIL_syntax
(
self
):
def
test_MAIL_syntax
(
self
):
self
.
write_line
(
b
'MAIL from eggs@example'
)
self
.
write_line
(
b
'MAIL from eggs@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: MAIL FROM:<address>
\r\n
'
)
b
'501 Syntax: MAIL FROM:<address>
\r\n
'
)
def
test_MAIL_missing_from
(
self
):
def
test_MAIL_missing_from
(
self
):
self
.
write_line
(
b
'MAIL from:'
)
self
.
write_line
(
b
'MAIL from:'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: MAIL FROM:<address>
\r\n
'
)
b
'501 Syntax: MAIL FROM:<address>
\r\n
'
)
def
test_MAIL_chevrons
(
self
):
def
test_MAIL_chevrons
(
self
):
self
.
write_line
(
b
'MAIL from:<eggs@example>'
)
self
.
write_line
(
b
'MAIL from:<eggs@example>'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
def
test_nested_MAIL
(
self
):
def
test_nested_MAIL
(
self
):
self
.
write_line
(
b
'MAIL from:eggs@example'
)
self
.
write_line
(
b
'MAIL from:eggs@example'
)
self
.
write_line
(
b
'MAIL from:spam@example'
)
self
.
write_line
(
b
'MAIL from:spam@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'503 Error: nested MAIL command
\r\n
'
)
b
'503 Error: nested MAIL command
\r\n
'
)
def
test_need_RCPT
(
self
):
def
test_need_RCPT
(
self
):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'DATA'
)
self
.
write_line
(
b
'DATA'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'503 Error: need RCPT command
\r\n
'
)
b
'503 Error: need RCPT command
\r\n
'
)
def
test_RCPT_syntax
(
self
):
def
test_RCPT_syntax
(
self
):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'RCPT to eggs@example'
)
self
.
write_line
(
b
'RCPT to eggs@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: RCPT TO: <address>
\r\n
'
)
b
'501 Syntax: RCPT TO: <address>
\r\n
'
)
def
test_data_dialog
(
self
):
def
test_data_dialog
(
self
):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
self
.
write_line
(
b
'DATA'
)
self
.
write_line
(
b
'DATA'
)
self
.
assertEqual
(
self
.
channel
.
last
,
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'354 End data with <CR><LF>.<CR><LF>
\r\n
'
)
b
'354 End data with <CR><LF>.<CR><LF>
\r\n
'
)
self
.
write_line
(
b
'data
\r\n
more
\r\n
.'
)
self
.
write_line
(
b
'data
\r\n
more
\r\n
.'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
server
.
messages
[
-
1
],
self
.
assertEqual
(
self
.
server
.
messages
[
-
1
],
(
'peer'
,
'eggs@example'
,
[
'spam@example'
],
'data
\n
more'
))
(
'peer'
,
'eggs@example'
,
[
'spam@example'
],
'data
\n
more'
))
...
@@ -181,7 +182,7 @@ class SMTPDChannelTest(TestCase):
...
@@ -181,7 +182,7 @@ class SMTPDChannelTest(TestCase):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'DATA spam'
)
self
.
write_line
(
b
'DATA spam'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'501 Syntax: DATA
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: DATA
\r\n
'
)
def
test_multiple_RCPT
(
self
):
def
test_multiple_RCPT
(
self
):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
...
@@ -197,13 +198,13 @@ class SMTPDChannelTest(TestCase):
...
@@ -197,13 +198,13 @@ class SMTPDChannelTest(TestCase):
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'DATA'
)
self
.
write_line
(
b
'DATA'
)
self
.
write_line
(
b
'return status
\r\n
.'
)
self
.
write_line
(
b
'return status
\r\n
.'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Okish
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Okish
\r\n
'
)
def
test_RSET
(
self
):
def
test_RSET
(
self
):
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'MAIL From:eggs@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'RCPT To:spam@example'
)
self
.
write_line
(
b
'RSET'
)
self
.
write_line
(
b
'RSET'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'250 Ok
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'250 Ok
\r\n
'
)
self
.
write_line
(
b
'MAIL From:foo@example'
)
self
.
write_line
(
b
'MAIL From:foo@example'
)
self
.
write_line
(
b
'RCPT To:eggs@example'
)
self
.
write_line
(
b
'RCPT To:eggs@example'
)
self
.
write_line
(
b
'DATA'
)
self
.
write_line
(
b
'DATA'
)
...
@@ -213,7 +214,7 @@ class SMTPDChannelTest(TestCase):
...
@@ -213,7 +214,7 @@ class SMTPDChannelTest(TestCase):
def
test_RSET_syntax
(
self
):
def
test_RSET_syntax
(
self
):
self
.
write_line
(
b
'RSET hi'
)
self
.
write_line
(
b
'RSET hi'
)
self
.
assertEqual
(
self
.
channel
.
last
,
b
'501 Syntax: RSET
\r\n
'
)
self
.
assertEqual
(
self
.
channel
.
socket
.
last
,
b
'501 Syntax: RSET
\r\n
'
)
def
test_main
():
def
test_main
():
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment