mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +00:00
Format with line length 110 to match flake8 make black part of linting check Update travis spec for updated black requirements Add diff output for black on failure update changelog
59 lines
1.7 KiB
Python
59 lines
1.7 KiB
Python
import os
|
|
import json
|
|
import pytest
|
|
import vcr
|
|
from six.moves.urllib.request import urlopen
|
|
|
|
|
|
def test_set_serializer_default_config(tmpdir, httpbin):
|
|
my_vcr = vcr.VCR(serializer="json")
|
|
|
|
with my_vcr.use_cassette(str(tmpdir.join("test.json"))):
|
|
assert my_vcr.serializer == "json"
|
|
urlopen(httpbin.url + "/get")
|
|
|
|
with open(str(tmpdir.join("test.json"))) as f:
|
|
assert json.loads(f.read())
|
|
|
|
|
|
def test_default_set_cassette_library_dir(tmpdir, httpbin):
|
|
my_vcr = vcr.VCR(cassette_library_dir=str(tmpdir.join("subdir")))
|
|
|
|
with my_vcr.use_cassette("test.json"):
|
|
urlopen(httpbin.url + "/get")
|
|
|
|
assert os.path.exists(str(tmpdir.join("subdir").join("test.json")))
|
|
|
|
|
|
def test_override_set_cassette_library_dir(tmpdir, httpbin):
|
|
my_vcr = vcr.VCR(cassette_library_dir=str(tmpdir.join("subdir")))
|
|
|
|
cld = str(tmpdir.join("subdir2"))
|
|
|
|
with my_vcr.use_cassette("test.json", cassette_library_dir=cld):
|
|
urlopen(httpbin.url + "/get")
|
|
|
|
assert os.path.exists(str(tmpdir.join("subdir2").join("test.json")))
|
|
assert not os.path.exists(str(tmpdir.join("subdir").join("test.json")))
|
|
|
|
|
|
def test_override_match_on(tmpdir, httpbin):
|
|
my_vcr = vcr.VCR(match_on=["method"])
|
|
|
|
with my_vcr.use_cassette(str(tmpdir.join("test.json"))):
|
|
urlopen(httpbin.url)
|
|
|
|
with my_vcr.use_cassette(str(tmpdir.join("test.json"))) as cass:
|
|
urlopen(httpbin.url + "/get")
|
|
|
|
assert len(cass) == 1
|
|
assert cass.play_count == 1
|
|
|
|
|
|
def test_missing_matcher():
|
|
my_vcr = vcr.VCR()
|
|
my_vcr.register_matcher("awesome", object)
|
|
with pytest.raises(KeyError):
|
|
with my_vcr.use_cassette("test.yaml", match_on=["notawesome"]):
|
|
pass
|