]> granicus.if.org Git - python/commitdiff
separate cert loading tests into Windows and non-Windows cases
authorBenjamin Peterson <benjamin@python.org>
Fri, 3 Oct 2014 22:17:15 +0000 (18:17 -0400)
committerBenjamin Peterson <benjamin@python.org>
Fri, 3 Oct 2014 22:17:15 +0000 (18:17 -0400)
Lib/test/test_ssl.py

index c2a4f0e8111babbe7d44f804873755a51adc1fc1..e71a40016019acbc3d09c7eed0607effbdac1db8 100644 (file)
@@ -1016,6 +1016,7 @@ class ContextTests(unittest.TestCase):
         self.assertRaises(TypeError, ctx.load_default_certs, None)
         self.assertRaises(TypeError, ctx.load_default_certs, 'SERVER_AUTH')
 
+    @unittest.skipIf(sys.platform == "win32", "not-Windows specific")
     def test_load_default_certs_env(self):
         ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
         with support.EnvironmentVarGuard() as env:
@@ -1024,6 +1025,20 @@ class ContextTests(unittest.TestCase):
             ctx.load_default_certs()
             self.assertEqual(ctx.cert_store_stats(), {"crl": 0, "x509": 1, "x509_ca": 0})
 
+    @unittest.skipUnless(sys.platform == "win32", "Windows specific")
+    def test_load_default_certs_env_windows(self):
+        ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
+        ctx.load_default_certs()
+        stats = ctx.cert_store_stats()
+
+        ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
+        with support.EnvironmentVarGuard() as env:
+            env["SSL_CERT_DIR"] = CAPATH
+            env["SSL_CERT_FILE"] = CERTFILE
+            ctx.load_default_certs()
+            stats["x509"] += 1
+            self.assertEqual(ctx.cert_store_stats(), stats)
+
     def test_create_default_context(self):
         ctx = ssl.create_default_context()
         self.assertEqual(ctx.protocol, ssl.PROTOCOL_SSLv23)