MCPcopy Index your code
hub / github.com/python/cpython / test_internal_chain_client

Method test_internal_chain_client

Lib/test/test_ssl.py:5226–5261  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

5224 self.assertEqual(s.getpeercert(), {})
5225
5226 def test_internal_chain_client(self):
5227 client_context, server_context, hostname = testing_context(
5228 server_chain=False
5229 )
5230 server = ThreadedEchoServer(context=server_context, chatty=False)
5231 with server:
5232 with client_context.wrap_socket(
5233 socket.socket(),
5234 server_hostname=hostname
5235 ) as s:
5236 s.connect((HOST, server.port))
5237 vc = s._sslobj.get_verified_chain()
5238 self.assertEqual(len(vc), 2)
5239 ee, ca = vc
5240 uvc = s._sslobj.get_unverified_chain()
5241 self.assertEqual(len(uvc), 1)
5242
5243 self.assertEqual(ee, uvc[0])
5244 self.assertEqual(hash(ee), hash(uvc[0]))
5245 self.assertEqual(repr(ee), repr(uvc[0]))
5246
5247 self.assertNotEqual(ee, ca)
5248 self.assertNotEqual(hash(ee), hash(ca))
5249 self.assertNotEqual(repr(ee), repr(ca))
5250 self.assertNotEqual(ee.get_info(), ca.get_info())
5251 self.assertIn("CN=localhost", repr(ee))
5252 self.assertIn("CN=our-ca-server", repr(ca))
5253
5254 pem = ee.public_bytes(_ssl.ENCODING_PEM)
5255 der = ee.public_bytes(_ssl.ENCODING_DER)
5256 self.assertIsInstance(pem, str)
5257 self.assertIn("-----BEGIN CERTIFICATE-----", pem)
5258 self.assertIsInstance(der, bytes)
5259 self.assertEqual(
5260 ssl.PEM_cert_to_DER_cert(pem), der
5261 )
5262
5263 def test_certificate_chain(self):
5264 client_context, server_context, hostname = testing_context(

Callers

nothing calls this directly

Calls 12

testing_contextFunction · 0.85
ThreadedEchoServerClass · 0.85
wrap_socketMethod · 0.80
socketMethod · 0.80
assertNotEqualMethod · 0.80
assertInMethod · 0.80
assertIsInstanceMethod · 0.80
connectMethod · 0.45
get_verified_chainMethod · 0.45
assertEqualMethod · 0.45
get_unverified_chainMethod · 0.45
get_infoMethod · 0.45

Tested by

no test coverage detected