mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-08 16:53:23 +00:00
This commit not only changes the default method of matching requests (just match on method and URI instead of the entire request + headers) but also allows the user to add custom matchers.
33 lines
984 B
Python
33 lines
984 B
Python
import urllib2
|
|
import vcr
|
|
|
|
|
|
def true_matcher(r1, r2):
|
|
return True
|
|
|
|
|
|
def false_matcher(r1, r2):
|
|
return False
|
|
|
|
|
|
def test_registered_serializer_true_matcher(tmpdir):
|
|
my_vcr = vcr.VCR()
|
|
my_vcr.register_matcher('true', true_matcher)
|
|
testfile = str(tmpdir.join('test.yml'))
|
|
with my_vcr.use_cassette(testfile, match_on=['true']) as cass:
|
|
# These 2 different urls are stored as the same request
|
|
urllib2.urlopen('http://httpbin.org/')
|
|
urllib2.urlopen('https://httpbin.org/get')
|
|
assert len(cass) == 1
|
|
|
|
|
|
def test_registered_serializer_false_matcher(tmpdir):
|
|
my_vcr = vcr.VCR()
|
|
my_vcr.register_matcher('false', false_matcher)
|
|
testfile = str(tmpdir.join('test.yml'))
|
|
with my_vcr.use_cassette(testfile, match_on=['false']) as cass:
|
|
# These 2 different urls are stored as different requests
|
|
urllib2.urlopen('http://httpbin.org/')
|
|
urllib2.urlopen('https://httpbin.org/get')
|
|
assert len(cass) == 2
|