1import pytest
2
3from vcr.persisters.filesystem import FilesystemPersister
4from vcr.serializers import jsonserializer, yamlserializer
5
6
7@pytest.mark.parametrize("cassette_path, serializer", [
8    ('tests/fixtures/migration/old_cassette.json', jsonserializer),
9    ('tests/fixtures/migration/old_cassette.yaml', yamlserializer),
10])
11def test_load_cassette_with_old_cassettes(cassette_path, serializer):
12    with pytest.raises(ValueError) as excinfo:
13        FilesystemPersister.load_cassette(cassette_path, serializer)
14    assert "run the migration script" in excinfo.exconly()
15
16
17@pytest.mark.parametrize("cassette_path, serializer", [
18    ('tests/fixtures/migration/not_cassette.txt', jsonserializer),
19    ('tests/fixtures/migration/not_cassette.txt', yamlserializer),
20])
21def test_load_cassette_with_invalid_cassettes(cassette_path, serializer):
22    with pytest.raises(Exception) as excinfo:
23        FilesystemPersister.load_cassette(cassette_path, serializer)
24    assert "run the migration script" not in excinfo.exconly()
25