2023-04-07 14:28:57 +00:00
|
|
|
import os
|
2023-12-11 21:53:30 +00:00
|
|
|
from typing import Union
|
2023-04-07 14:28:57 +00:00
|
|
|
|
|
|
|
import pytest
|
2023-04-14 04:49:31 +00:00
|
|
|
from vcr.request import Request
|
2023-04-07 14:28:57 +00:00
|
|
|
|
2023-04-15 17:49:16 +00:00
|
|
|
# Those environment variables turn on Deep Lake pytest mode.
|
|
|
|
# It significantly makes tests run much faster.
|
|
|
|
# Need to run before `import deeplake`
|
|
|
|
os.environ["BUGGER_OFF"] = "true"
|
|
|
|
os.environ["DEEPLAKE_DOWNLOAD_PATH"] = "./testing/local_storage"
|
|
|
|
os.environ["DEEPLAKE_PYTEST_ENABLED"] = "true"
|
|
|
|
|
2023-04-07 14:28:57 +00:00
|
|
|
|
2023-04-14 04:49:31 +00:00
|
|
|
# This fixture returns a dictionary containing filter_headers options
|
|
|
|
# for replacing certain headers with dummy values during cassette playback
|
|
|
|
# Specifically, it replaces the authorization header with a dummy value to
|
|
|
|
# prevent sensitive data from being recorded in the cassette.
|
|
|
|
# It also filters request to certain hosts (specified in the `ignored_hosts` list)
|
|
|
|
# to prevent data from being recorded in the cassette.
|
2023-04-07 14:28:57 +00:00
|
|
|
@pytest.fixture(scope="module")
|
2023-04-14 04:49:31 +00:00
|
|
|
def vcr_config() -> dict:
|
|
|
|
skipped_host = ["pinecone.io"]
|
|
|
|
|
|
|
|
def before_record_response(response: dict) -> Union[dict, None]:
|
|
|
|
return response
|
|
|
|
|
|
|
|
def before_record_request(request: Request) -> Union[Request, None]:
|
|
|
|
for host in skipped_host:
|
|
|
|
if request.host.startswith(host) or request.host.endswith(host):
|
|
|
|
return None
|
|
|
|
return request
|
|
|
|
|
|
|
|
return {
|
|
|
|
"before_record_request": before_record_request,
|
|
|
|
"before_record_response": before_record_response,
|
|
|
|
"filter_headers": [
|
|
|
|
("authorization", "authorization-DUMMY"),
|
|
|
|
("X-OpenAI-Client-User-Agent", "X-OpenAI-Client-User-Agent-DUMMY"),
|
|
|
|
("Api-Key", "Api-Key-DUMMY"),
|
|
|
|
("User-Agent", "User-Agent-DUMMY"),
|
|
|
|
],
|
|
|
|
"ignore_localhost": True,
|
|
|
|
}
|