def _server_factory(permanent_keys=None): if permanent_keys is None: permanent_keys = server_permanent_keys # Setup server port = unused_tcp_port() coroutine = serve( util.create_ssl_context( pytest.saltyrtc.cert, keyfile=pytest.saltyrtc.key, dh_params_file=pytest.saltyrtc.dh_params), permanent_keys, host=pytest.saltyrtc.host, port=port, loop=event_loop, server_class=TestServer, ) server_ = event_loop.run_until_complete(coroutine) # Inject timeout and address (little bit of a hack but meh...) server_.timeout = _get_timeout(request=request) server_.address = (pytest.saltyrtc.host, port) _server_instances.append(server_) def fin(): server_.close() event_loop.run_until_complete(server_.wait_closed()) _server_instances.remove(server_) if len(_server_instances) == 0: logging_handler.pop_application() request.addfinalizer(fin) return server_
def _server_factory(permanent_keys=None): if permanent_keys is None: permanent_keys = server_permanent_keys # Setup server port = unused_tcp_port() coroutine = serve(util.create_ssl_context(pytest.saltyrtc.cert), permanent_keys, host=pytest.saltyrtc.ip, port=port, loop=event_loop) server_ = event_loop.run_until_complete(coroutine) # Inject address (little bit of a hack but meh...) server_.address = (pytest.saltyrtc.ip, port) _server_instances.append(server_) def fin(): server_.close() event_loop.run_until_complete(server_.wait_closed()) _server_instances.remove(server_) if pytest.saltyrtc.debug and len(_server_instances) == 0: logging_handler.pop_application() request.addfinalizer(fin) return server_
def test_repeated_permanent_keys(self, server_permanent_keys): """ Ensure the server does not accept repeated keys. """ keys = server_permanent_keys + [server_permanent_keys[1]] with pytest.raises(server.ServerKeyError) as exc_info: yield from server.serve(None, keys) assert 'Repeated permanent keys' in str(exc_info.value)