Пример #1
0
    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
Пример #2
0
 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
Пример #3
0
 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()