def test_server_credentials(self): root_certificates = b'Trust starts here. Really.' first_private_key = b'This is a really bad private key, yo.' first_certificate_chain = b'Trust me! Do I not look trustworty?' second_private_key = b'This is another bad private key, yo.' second_certificate_chain = b'Look into my eyes; you can totes trust me.' _c.init() server_credentials = _c.ServerCredentials( None, ((first_private_key, first_certificate_chain), )) del server_credentials server_credentials = _c.ServerCredentials( root_certificates, ((first_private_key, first_certificate_chain), )) del server_credentials server_credentials = _c.ServerCredentials(root_certificates, ( (first_private_key, first_certificate_chain), (second_private_key, second_certificate_chain), )) del server_credentials with self.assertRaises(TypeError): _c.ServerCredentials(root_certificates, first_private_key, second_certificate_chain) _c.shut_down()
def test_secure_server(self): _c.init() server_credentials = _c.ServerCredentials( 'root certificate', (('private key', 'certificate chain'),)) completion_queue = _c.CompletionQueue() server = _c.Server(completion_queue, server_credentials) server.add_http2_addr('[::]:0') server.start() thread = threading.Thread(target=completion_queue.get, args=(_FUTURE,)) thread.start() time.sleep(1) server.stop() completion_queue.stop() for _ in range(_IDEMPOTENCE_DEMONSTRATION): event = completion_queue.get(time.time() + _TIMEOUT) self.assertIs(event.kind, _datatypes.Event.Kind.STOP) thread.join() del server del completion_queue _c.shut_down()