classification
Title: test_imaplib needs a TLS server accepting self-signed certificates
Type: behavior Stage: resolved
Components: Tests Versions: Python 3.7, Python 3.6, Python 3.5
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, berker.peksag, dstufft, gregory.p.smith, larry, martin.panter, ned.deily, pitrou, vstinner
Priority: normal Keywords:

Created on 2017-05-02 14:44 by vstinner, last changed 2019-05-10 18:11 by ned.deily. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 1419 merged vstinner, 2017-05-03 07:11
PR 2192 merged vstinner, 2017-06-14 17:00
PR 2193 merged vstinner, 2017-06-14 17:02
PR 2481 vstinner, 2017-07-04 13:12
Messages (12)
msg292768 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-02 14:44
The public cyrus.andrew.cmu.edu IMAP server (port 993) doesn't accept TLS connection using our self-signed x509 certificate. The following two tests of test_imaplib were skipped by the issue #30175:

* test_logincapa_with_client_certfile() of RemoteIMAP_SSLTest
* test_logincapa_with_client_ssl_context() of RemoteIMAP_SSLTest

We should either remove these tests or spawn an IMAP server which accepts such certificate on pythontest.net.

@Benjamin: Is there someone available to build such IMAP server on pythontest.net? Or do you suggest to just remove the 2 unit tests?
msg292840 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2017-05-03 05:10
I can't say I'm very interested in running a imap server. It would be best if these tests could be replaced by something local. Failing that, I suppose we'll have to remove them.
msg292848 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-03 07:13
> It would be best if these tests could be replaced by something local.

Is there someone interested to write such local IMAP server to test test_imaplib using a client x509 certificate?

> Failing that, I suppose we'll have to remove them.

That's not my favorite option, but I wrote a patch for that:
https://github.com/python/cpython/pull/1419
msg293037 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-05 01:52
If no one speak up to propose a fix for the two skipped tests before a deadline of two weeks, I will removed them, apply:
https://github.com/python/cpython/pull/1419
msg293131 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2017-05-05 17:41
I'd suggest marking them with @unittest.expectedFailure as an alternative way to move forward.
msg293442 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-05-10 17:11
> I'd suggest marking them with @unittest.expectedFailure as an alternative way to move forward.

I don't understand the purpose of tests known to fail. Is it to validate that we have bugs? :)
msg293450 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2017-05-10 19:26
> Is it to validate that we have bugs? :)

More or less, yes. Since the problem is not in the library code and the tests are not completely useless, using @unittest.expectedFailure might be a better short term solution than skipping or removing them (at least we are not going to forget them :))

Yet another alternative is to tweak test_logincapa_with_client_certfile to just check for DeprecationWarning. See https://github.com/python/cpython/pull/1419/files#r115050499 for details.
msg296017 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-06-14 16:48
New changeset b18563da8803433509e9a0e29718e0271014659f by Victor Stinner in branch 'master':
bpo-30231: Remove skipped test_imaplib tests (#1419)
https://github.com/python/cpython/commit/b18563da8803433509e9a0e29718e0271014659f
msg296035 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-06-14 20:43
New changeset 8a39af945796164a16a607fecfef5297b7a87deb by Victor Stinner in branch '3.6':
bpo-30231: Remove skipped test_imaplib tests (#1419) (#2192)
https://github.com/python/cpython/commit/8a39af945796164a16a607fecfef5297b7a87deb
msg296036 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2017-06-14 20:43
New changeset 7895a0585b4b6a1c8082d17227307c6ce2c8bb8b by Victor Stinner in branch '3.5':
bpo-30231: Remove skipped test_imaplib tests (#1419) (#2193)
https://github.com/python/cpython/commit/7895a0585b4b6a1c8082d17227307c6ce2c8bb8b
msg298743 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2017-07-20 18:04
New changeset b5f20ea91ec4d9dc7e1c31629903888c651bd02c by Ned Deily (Victor Stinner) in branch '3.3':
[3.3] Backport CI config from master and remove skipped imaplib tests (#2481)
https://github.com/python/cpython/commit/b5f20ea91ec4d9dc7e1c31629903888c651bd02c
msg298866 - (view) Author: Larry Hastings (larry) * (Python committer) Date: 2017-07-22 19:22
New changeset b1549175ed30f2931e2bb980a7e3c360ed19e1c9 by larryhastings (Victor Stinner) in branch '3.4':
[3.4] Backport CI config from master (#2475)
https://github.com/python/cpython/commit/b1549175ed30f2931e2bb980a7e3c360ed19e1c9
History
Date User Action Args
2019-05-10 18:11:27ned.deilysetmessages: - msg342100
2019-05-10 17:36:39ned.deilysetmessages: + msg342100
2017-07-22 19:22:34larrysetnosy: + larry
messages: + msg298866
2017-07-20 18:04:52ned.deilysetnosy: + ned.deily
messages: + msg298743
2017-07-04 13:12:39vstinnersetpull_requests: + pull_request2634
2017-06-14 21:01:55vstinnersetstatus: open -> closed
stage: patch review -> resolved
resolution: fixed
versions: + Python 3.5, Python 3.6
2017-06-14 20:43:04vstinnersetmessages: + msg296036
2017-06-14 20:43:03vstinnersetmessages: + msg296035
2017-06-14 17:02:00vstinnersetpull_requests: + pull_request2238
2017-06-14 17:00:32vstinnersetpull_requests: + pull_request2237
2017-06-14 16:48:35vstinnersetmessages: + msg296017
2017-05-10 19:26:42berker.peksagsetmessages: + msg293450
2017-05-10 17:11:14vstinnersetmessages: + msg293442
2017-05-05 17:41:33berker.peksagsetnosy: + berker.peksag
messages: + msg293131

type: behavior
stage: patch review
2017-05-05 01:52:03vstinnersetmessages: + msg293037
2017-05-03 07:13:11vstinnersetnosy: + martin.panter
messages: + msg292848
2017-05-03 07:11:20vstinnersetpull_requests: + pull_request1525
2017-05-03 05:10:07benjamin.petersonsetmessages: + msg292840
2017-05-02 14:44:44vstinnercreate