Files
nadlan-mcp/tests/vcr_config.py
T
Nitzan Pomerantz e4aa6487ff Ruff fixes
2025-10-30 22:24:40 +02:00

45 lines
1.4 KiB
Python

"""
VCR.py configuration for recording/replaying HTTP interactions.
This allows tests to run fast by replaying recorded API responses instead of
making real HTTP calls every time.
"""
import vcr
# Configure VCR instance
my_vcr = vcr.VCR(
# Store cassettes in tests/cassettes/ directory
cassette_library_dir="tests/cassettes",
# Record mode: once = record once, then replay
# Use 'new_episodes' to record new interactions but replay existing ones
record_mode="once",
# Match requests by method and URI
match_on=["method", "scheme", "host", "port", "path", "query"],
# Filter out sensitive data from recordings
filter_headers=["authorization", "x-api-key"],
# Decode compressed responses for better diffs
decode_compressed_response=True,
# Serialize as YAML for human-readable diffs
serializer="yaml",
# Path transformer to organize cassettes
path_transformer=vcr.VCR.ensure_suffix(".yaml"),
)
def scrub_request(request):
"""Remove sensitive data from recorded requests."""
# Add any request scrubbing logic here
return request
def scrub_response(response):
"""Remove sensitive data from recorded responses."""
# Add any response scrubbing logic here
return response
# Register request/response scrubbers
my_vcr.before_record_request = scrub_request
my_vcr.before_record_response = scrub_response