def start_moto_server( key, port, name=None, backend_port=None, asynchronous=False, update_listener=None ) -> MotoServerProperties: # TODO: refactor this method! the name and parameters suggest that a server is started, but it actually only adds # a proxy listener around the already started motoserver singleton. # TODO: remove asynchronous parameter (from all calls to this function) # TODO: re-think backend_port parameter (still needed since determined by motoserver singleton?) if not name: name = key log_startup_message(name) if not backend_port: if config.FORWARD_EDGE_INMEM: backend_port = motoserver.get_moto_server().port elif config.USE_SSL or update_listener: backend_port = get_free_tcp_port() if backend_port or config.FORWARD_EDGE_INMEM: start_proxy_for_service(key, port, backend_port, update_listener) server = motoserver.get_moto_server() return MotoServerProperties(server._thread, server.port)
def start_sqs_moto(port=None, asynchronous=False, update_listener=None) -> Server: from localstack.services import motoserver port = port or config.PORT_SQS patch_moto() start_moto_server( "sqs", port, name="SQS", asynchronous=asynchronous, update_listener=update_listener, ) return motoserver.get_moto_server()
def get_moto_server_port(): # TODO: deprecated, remove return motoserver.get_moto_server().port
def test_get_moto_server_returns_singleton(): assert get_moto_server() is get_moto_server()