MCPcopy Index your code
hub / github.com/RustPython/RustPython / test_session

Method test_session

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

Source from the content-addressed store, hash-verified

4361
4362 @unittest.expectedFailure # TODO: RUSTPYTHON
4363 def test_session(self):
4364 client_context, server_context, hostname = testing_context()
4365 # TODO: sessions aren't compatible with TLSv1.3 yet
4366 client_context.maximum_version = ssl.TLSVersion.TLSv1_2
4367
4368 # first connection without session
4369 stats = server_params_test(client_context, server_context,
4370 sni_name=hostname)
4371 session = stats['session']
4372 self.assertTrue(session.id)
4373 self.assertGreater(session.time, 0)
4374 self.assertGreater(session.timeout, 0)
4375 self.assertTrue(session.has_ticket)
4376 self.assertGreater(session.ticket_lifetime_hint, 0)
4377 self.assertFalse(stats['session_reused'])
4378 sess_stat = server_context.session_stats()
4379 self.assertEqual(sess_stat['accept'], 1)
4380 self.assertEqual(sess_stat['hits'], 0)
4381
4382 # reuse session
4383 stats = server_params_test(client_context, server_context,
4384 session=session, sni_name=hostname)
4385 sess_stat = server_context.session_stats()
4386 self.assertEqual(sess_stat['accept'], 2)
4387 self.assertEqual(sess_stat['hits'], 1)
4388 self.assertTrue(stats['session_reused'])
4389 session2 = stats['session']
4390 self.assertEqual(session2.id, session.id)
4391 self.assertEqual(session2, session)
4392 self.assertIsNot(session2, session)
4393 self.assertGreaterEqual(session2.time, session.time)
4394 self.assertGreaterEqual(session2.timeout, session.timeout)
4395
4396 # another one without session
4397 stats = server_params_test(client_context, server_context,
4398 sni_name=hostname)
4399 self.assertFalse(stats['session_reused'])
4400 session3 = stats['session']
4401 self.assertNotEqual(session3.id, session.id)
4402 self.assertNotEqual(session3, session)
4403 sess_stat = server_context.session_stats()
4404 self.assertEqual(sess_stat['accept'], 3)
4405 self.assertEqual(sess_stat['hits'], 1)
4406
4407 # reuse session again
4408 stats = server_params_test(client_context, server_context,
4409 session=session, sni_name=hostname)
4410 self.assertTrue(stats['session_reused'])
4411 session4 = stats['session']
4412 self.assertEqual(session4.id, session.id)
4413 self.assertEqual(session4, session)
4414 self.assertGreaterEqual(session4.time, session.time)
4415 self.assertGreaterEqual(session4.timeout, session.timeout)
4416 sess_stat = server_context.session_stats()
4417 self.assertEqual(sess_stat['accept'], 4)
4418 self.assertEqual(sess_stat['hits'], 2)
4419
4420 @unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: False != True

Callers

nothing calls this directly

Calls 10

testing_contextFunction · 0.85
server_params_testFunction · 0.85
assertTrueMethod · 0.80
assertGreaterMethod · 0.80
assertFalseMethod · 0.80
assertIsNotMethod · 0.80
assertGreaterEqualMethod · 0.80
assertNotEqualMethod · 0.80
session_statsMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected