def __init__(self, hge_url, pg_url, hge_key, hge_webhook, webhook_insecure, hge_jwt_key_file, hge_jwt_conf, metadata_disabled, ws_read_cookie): server_address = ('0.0.0.0', 5592) self.resp_queue = queue.Queue(maxsize=1) self.error_queue = queue.Queue() self.ws_queue = queue.Queue(maxsize=-1) self.httpd = WebhookServer(self.resp_queue, self.error_queue, server_address) self.web_server = threading.Thread(target=self.httpd.serve_forever) self.web_server.start() self.pg_url = pg_url self.engine = create_engine(self.pg_url) self.meta = MetaData() self.http = requests.Session() self.hge_url = hge_url self.hge_key = hge_key self.hge_webhook = hge_webhook if hge_jwt_key_file is None: self.hge_jwt_key = None else: with open(hge_jwt_key_file) as f: self.hge_jwt_key = f.read() self.hge_jwt_conf = hge_jwt_conf self.webhook_insecure = webhook_insecure self.metadata_disabled = metadata_disabled self.may_skip_test_teardown = False self.ws_url = urlparse(hge_url) self.ws_url = self.ws_url._replace(scheme='ws') self.ws_url = self.ws_url._replace(path='/v1alpha1/graphql') self.ws = websocket.WebSocketApp(self.ws_url.geturl(), on_message=self._on_message) self.wst = threading.Thread(target=self.ws.run_forever) self.wst.daemon = True self.wst.start() # start the graphql server self.graphql_server = graphql_server.create_server('127.0.0.1', 5000) self.gql_srvr_thread = threading.Thread( target=self.graphql_server.serve_forever) self.gql_srvr_thread.start() self.ws_read_cookie = ws_read_cookie result = subprocess.run(['../../scripts/get-version.sh'], shell=False, stdout=subprocess.PIPE, check=True) self.version = result.stdout.decode('utf-8').strip() if not self.metadata_disabled: try: st_code, resp = self.v1q_f('queries/clear_db.yaml') except requests.exceptions.RequestException as e: self.teardown() raise HGECtxError(repr(e)) assert st_code == 200, resp
def start_server(self): if not self.is_running: self.graphql_server = graphql_server.create_server('127.0.0.1', self.port) self.hge_urls = graphql_server.set_hge_urls(self._hge_urls) self.gql_srvr_thread = threading.Thread(target=self.graphql_server.serve_forever) self.gql_srvr_thread.start() self.is_running = True
def __init__(self, hge_urls): # start the graphql server self.graphql_server = graphql_server.create_server('127.0.0.1', 5000) self.hge_urls = graphql_server.set_hge_urls(hge_urls) self.gql_srvr_thread = threading.Thread( target=self.graphql_server.serve_forever) self.gql_srvr_thread.start()