MCPcopy Create free account
hub / github.com/Kaggle/docker-python / _test_integration

Method _test_integration

tests/test_bigquery.py:20–56  ·  view source on GitHub ↗
(self, client)

Source from the content-addressed store, hash-verified

18
19 API_BASE_URL = "http://127.0.0.1:2121"
20 def _test_integration(self, client):
21 class HTTPHandler(BaseHTTPRequestHandler):
22 called = False
23 bearer_header_found = False
24
25 def do_HEAD(self):
26 self.send_response(200)
27
28 def do_GET(self):
29 HTTPHandler.called = True
30 HTTPHandler.bearer_header_found = any(
31 k for k in self.headers if k == "authorization" and self.headers[k] == "Bearer secret")
32 self.send_response(200)
33 self.send_header("Content-type", "application/json")
34 self.end_headers()
35 sample_dataset = {
36 "id": "bigqueryproject:datasetname",
37 "datasetReference": {
38 "datasetId": "datasetname",
39 "projectId": "bigqueryproject"
40 }
41 }
42 self.wfile.write(json.dumps({"kind": "bigquery#datasetList", "datasets": [sample_dataset]}).encode("utf-8"))
43
44 server_address = urlparse(self.API_BASE_URL)
45 with HTTPServer((server_address.hostname, server_address.port), HTTPHandler) as httpd:
46 threading.Thread(target=httpd.serve_forever).start()
47
48 for dataset in client.list_datasets():
49 self.assertEqual(dataset.dataset_id, "datasetname")
50
51 httpd.shutdown()
52 self.assertTrue(
53 HTTPHandler.called, msg="Fake server was not called from the BQ client, but should have been.")
54
55 self.assertTrue(
56 HTTPHandler.bearer_header_found, msg="authorization header was missing from the BQ request.")
57
58 def _setup_mocks(self, api_url_mock):
59 api_url_mock.__str__.return_value = self.API_BASE_URL

Calls

no outgoing calls

Tested by

no test coverage detected