mirror of
https://github.com/kevin1024/vcrpy.git
synced 2025-12-09 01:03:24 +00:00
* fix typo in pytest.mark.xskip Change xskip by skipif marker as xskip is an unknown pytest marker. * fix FileModeWarning This fix the following warning: FileModeWarning: Requests has determined the content-length for this request using the binary size of the file: however, the file has been opened in text mode (i.e. without the 'b' flag in the mode). This may lead to an incorrect content-length. In Requests 3.0, support will be removed for files in text mode. * fix waring "calling yaml.load() without Loader=... is deprecated" This fix the following warning: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. * fix collections.abc deprecation warning in python 3.7. * update Flask dependency in order to get rid of the Request.is_xhr warning This fix the following warning: DeprecationWarning: 'Request.is_xhr' is deprecated as of version 0.13 and will be removed in version 1.0. The 'X-Requested-With' header is not standard and is unreliable. You may be able to use 'accept_mimetypes' instead.
48 lines
1.5 KiB
Python
48 lines
1.5 KiB
Python
import filecmp
|
|
import json
|
|
import shutil
|
|
import yaml
|
|
|
|
import vcr.migration
|
|
|
|
# Use the libYAML versions if possible
|
|
try:
|
|
from yaml import CLoader as Loader
|
|
except ImportError:
|
|
from yaml import Loader
|
|
|
|
|
|
def test_try_migrate_with_json(tmpdir):
|
|
cassette = tmpdir.join('cassette.json').strpath
|
|
shutil.copy('tests/fixtures/migration/old_cassette.json', cassette)
|
|
assert vcr.migration.try_migrate(cassette)
|
|
with open('tests/fixtures/migration/new_cassette.json', 'r') as f:
|
|
expected_json = json.load(f)
|
|
with open(cassette, 'r') as f:
|
|
actual_json = json.load(f)
|
|
assert actual_json == expected_json
|
|
|
|
|
|
def test_try_migrate_with_yaml(tmpdir):
|
|
cassette = tmpdir.join('cassette.yaml').strpath
|
|
shutil.copy('tests/fixtures/migration/old_cassette.yaml', cassette)
|
|
assert vcr.migration.try_migrate(cassette)
|
|
with open('tests/fixtures/migration/new_cassette.yaml', 'r') as f:
|
|
expected_yaml = yaml.load(f, Loader=Loader)
|
|
with open(cassette, 'r') as f:
|
|
actual_yaml = yaml.load(f, Loader=Loader)
|
|
assert actual_yaml == expected_yaml
|
|
|
|
|
|
def test_try_migrate_with_invalid_or_new_cassettes(tmpdir):
|
|
cassette = tmpdir.join('cassette').strpath
|
|
files = [
|
|
'tests/fixtures/migration/not_cassette.txt',
|
|
'tests/fixtures/migration/new_cassette.yaml',
|
|
'tests/fixtures/migration/new_cassette.json',
|
|
]
|
|
for file_path in files:
|
|
shutil.copy(file_path, cassette)
|
|
assert not vcr.migration.try_migrate(cassette)
|
|
assert filecmp.cmp(cassette, file_path) # shold not change file
|