1
0
mirror of https://github.com/kevin1024/vcrpy.git synced 2025-12-08 16:53:23 +00:00

Add test_case method to VCR

this method provides a class that can be inherited from to decorate all
test methods on the desired class with use_cassette using the relevant vcr
This commit is contained in:
Ivan Malison
2015-08-28 01:40:35 -07:00
parent 420f83b6b1
commit 6fd04f3675
3 changed files with 49 additions and 2 deletions

View File

@@ -1,11 +1,13 @@
import os
import pytest
from six.moves import http_client as httplib
from vcr import VCR, use_cassette
from vcr.compat import mock
from vcr.request import Request
from vcr.stubs import VCRHTTPSConnection
from vcr.patch import _HTTPConnection, force_reset
def test_vcr_use_cassette():
@@ -243,6 +245,7 @@ def test_path_transformer():
def test_cassette_name_generator_defaults_to_using_module_function_defined_in():
vcr = VCR(inject_cassette=True)
@vcr.use_cassette
def function_name(cassette):
assert cassette._path == os.path.join(os.path.dirname(__file__),
@@ -274,3 +277,19 @@ def test_additional_matchers():
function_defaults()
function_additional()
class TestVCRClass(VCR().test_case()):
def no_decoration(self):
assert httplib.HTTPConnection == _HTTPConnection
def test_one(self):
with force_reset():
self.no_decoration()
with force_reset():
self.test_two()
assert httplib.HTTPConnection != _HTTPConnection
def test_two(self):
assert httplib.HTTPConnection != _HTTPConnection