1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-09 17:15:35 +00:00

Refactored unit test for matchers

This commit is contained in:
Max Shytikov
2014-04-07 00:55:06 +02:00
parent edf1df9188
commit 6cca703eee

View File

@@ -1,30 +1,41 @@
import itertools
from vcr import matchers from vcr import matchers
from vcr import request from vcr import request
# the dict contains requests with corresponding to its key difference
def test_method(): # with 'base' request.
req_get = request.Request('GET', 'http://google.com:80/', '', {}) REQUESTS = {
assert True == matchers.method(req_get, req_get) 'base': request.Request('GET', 'http://host.com:80/', '', {}),
'method': request.Request('POST', 'http://host.com:80/', '', {}),
req_get1 = request.Request('GET', 'https://httpbin.org:80/', '', {}) 'protocol': request.Request('GET', 'https://host.com:80/', '', {}),
assert True == matchers.method(req_get, req_get1) 'host': request.Request('GET', 'http://another-host.com:80/', '', {}),
'port': request.Request('GET', 'http://host.com:90/', '', {}),
req_post = request.Request('POST', 'http://google.com:80/', '', {}) 'path': request.Request('GET', 'http://host.com:80/a', '', {}),
assert False == matchers.method(req_get, req_post) 'query': request.Request('GET', 'http://host.com:80/?a=b', '', {}),
}
def test_url(): def assert_matcher(matcher_name):
req1 = request.Request('GET', 'http://google.com:80/', '', {}) matcher = getattr(matchers, matcher_name)
assert True == matchers.url(req1, req1) for k1, k2 in itertools.permutations(REQUESTS, 2):
matched = matcher(REQUESTS[k1], REQUESTS[k2])
if matcher_name in {k1, k2}:
assert not matched
else:
assert matched
req2 = request.Request('GET', 'https://httpbin.org:80/', '', {})
assert False == matchers.url(req1, req2)
req1_post = request.Request('POST', 'http://google.com:80/', '', {}) def test_url_matcher():
assert True == matchers.url(req1, req1_post) for k1, k2 in itertools.permutations(REQUESTS, 2):
matched = matchers.url(REQUESTS[k1], REQUESTS[k2])
if {k1, k2} != {'base', 'method'}:
assert not matched
else:
assert matched
req_query_string = request.Request(
'GET', 'http://google.com:80/?p1=t1&p2=t2', '', {}) def test_metchers():
req_query_string1 = request.Request( assert_matcher('method')
'GET', 'http://google.com:80/?p2=t2&p1=t1', '', {}) #assert_matcher('method')
assert False == matchers.url(req_query_string, req_query_string1) #assert_matcher('method')