a ze @sddlZddlmZddlmZddlZddlZedZe dddZ Gdd d ej Z Gd d d ej Z ed kredS) N)support) socket_helpersslZnetworkc Cst}t||f\}z|j||d}Wn tyJYWddS0|WddSWdn1sx0YdS)N)Zserver_hostnameFT)rcreate_default_contextsocketcreate_connectionZ wrap_socket Exceptionclose)hostportcontextsockrE/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_smtpnet.pycheck_ssl_verifiy s rc@seZdZdZdZddZdS)SmtpTestsmtp.gmail.comiKc Csttdttj}d|_tj|_t |j t |j |j }z|j|dWnHtjy}z.|jddkrt|jdnWYd}~n d}~00||Wdn1s0YdS)NSMTP_SSLFr rz+STARTTLS extension not supported by server.)r get_attributesmtplibr SSLContextPROTOCOL_TLS_CLIENTcheck_hostname CERT_NONE verify_modertransient_internet testServerZSMTP remotePortZstarttlsZ SMTPExceptionargsunittestskipehloquit)selfr servererrrtest_connect_starttlss  zSmtpTest.test_connect_starttlsN)__name__ __module__ __qualname__rrr'rrrrrsrc@s4eZdZdZdZddZddZddZd d Zd S) SmtpSSLTestricCs\ttdt|j0t|j|j}|| Wdn1sN0YdSNr) rrrrrrrrr"r#r$r%rrr test_connect1s  zSmtpSSLTest.test_connectcCsXttdt|j,t|j}||Wdn1sJ0YdSr,) rrrrrrrr"r#r-rrrtest_connect_default_port8s   z%SmtpSSLTest.test_connect_default_portcCszttj}d|_tj|_ttdt |j 4tj |j |j |d}||Wdn1sl0YdS)NFrr)rrrrrrrrrrrrrrr"r#)r$r r%rrrtest_connect_using_sslcontext?s  z)SmtpSSLTest.test_connect_using_sslcontextcCst|j,t|j|j}|s*|dWdn1s>0Yttdt }t|j4tj |j|j|d}| | Wdn1s0YdS)Nz!SSL certificate can't be verifiedrr)rrrrrZskipTestrrrrrrr"r#)r$Z can_verifyr r%rrr&test_connect_using_sslcontext_verifiedIs( z2SmtpSSLTest.test_connect_using_sslcontext_verifiedN) r(r)r*rrr.r/r0r1rrrrr+-s  r+__main__)r testrZ test.supportrrr import_modulerZrequiresrZTestCaserr+r(mainrrrrs     *