requirements/test-misc.txt
author Denis Laxalde <denis.laxalde@logilab.fr>
Tue, 06 Aug 2019 14:26:17 +0200
branch3.26
changeset 12719 9fb4a71f119d
parent 12615 7abe23cbfda1
child 12626 32ee89340e59
permissions -rw-r--r--
[py3] Pass bytes as "msg" to smtplib.SMTP.sendmail() When passing a unicode string to smtplib.SMTP.sendmail() as "msg" argument, there is an implicit bytes encoding using "ascii" encoding in python3. Of course this does not work if the string contains non-ASCII characters. In fact, config's sendmails method intent to pass bytes to smtplib.SMTP.sendmail() as it uses msg.as_string() method. Unfortunately, in python3, this method returns a unicode string whereas it returns a bytes string in python2; we thus fix this by calling as_bytes() method on python3. As there is no "as_bytes" method in python2, we need to handle python2 compatibility by hand and either call as_string() or as_bytes(). In testlib, where we mock smtplib.SMTP, we need to keep the "msg" argument of Email class (defined in testlib as well) a unicode string. Otherwise, it fails to be parsed by email.message_from_string() (from stdlib) if it is bytes on python3.

### Requirements for tests in various cubicweb/**/test directories. ###

## shared by several test folders
cubicweb-card == 0.5.8
docutils
Twisted < 16.0.0
webtest

## cubicweb/test
Pygments
pycrypto
mock
#fyzz XXX pip install fails
cubicweb-file == 1.18.0
cubicweb-localperms == 0.3.2
cubicweb-tag == 1.8.3

## cubicweb/devtools/test
flake8

## cubicweb/hooks/test
psycopg2-binary

## cubicweb/pyramid/test
pyramid >= 1.5.0
waitress >= 0.8.9
wsgicors >= 0.3
pyramid_multiauth
repoze.lru

## cubicweb/sobject/test
cubicweb-comment == 1.12.2