def __init__(self, read_permissions=None,
                 write_permissions=None, users=None, plugins=None, base_path=None,
                 server_version=Version(SERVER_VERSION),
                 min_client_compatible_version=Version(MIN_CLIENT_COMPATIBLE_VERSION)):
        # Unique identifier for this server, will be used by TestRequester
        # to determine where to call. Why? remote_manager just assing an url
        # to the rest_client, so rest_client doesn't know about object instances,
        # just urls, so testing framework performs a map between fake urls and instances
        self.fake_url = "http://fake%s.com" % str(uuid.uuid4()).replace("-", "")
        self.test_server = TestServerLauncher(base_path, read_permissions,
                                      write_permissions, users,
                                      base_url=self.fake_url + "/v1",
                                      plugins=plugins,
                                      server_version=server_version,
                                      min_client_compatible_version=min_client_compatible_version)
        self.app = TestApp(self.test_server.ra.root_app)
Decorator for marking test's service requirements,
dataset/ETHPy150Open conan-io/conan/conans/test/tools.py/TestServer.__init__--crossover with--dataset/ETHPy150Open openstack/horizon/openstack_dashboard/test/integration_tests/decorators.py/services_required