Skip to content

Commit 9dce607

Browse files
committed
parameterize flatdata-py tests
Signed-off-by: mohapatr3 <[email protected]>
1 parent 08c051b commit 9dce607

File tree

2 files changed

+24
-17
lines changed

2 files changed

+24
-17
lines changed

.github/workflows/py.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ jobs:
2727
- name: Run tests
2828
run: |
2929
cd flatdata-py
30-
uv run --with pytest --with ../flatdata-generator pytest
30+
uv run --with pytest --with ../flatdata-generator pytest -v
3131
pip install .
3232
flatdata-inspector --help

flatdata-py/tests/test_archive_validation.py

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,16 @@
55
import pytest
66

77

8-
def test_archive_does_not_open_on_signature_resource_or_schemas_missing():
8+
@pytest.mark.parametrize("case", [
9+
"missing_signature",
10+
"corrupt_signature",
11+
"missing_schema",
12+
"corrupt_schema",
13+
"missing_resource",
14+
"missing_resource_schema",
15+
"corrupt_resource_schema"
16+
])
17+
def test_archive_does_not_open_on_signature_resource_or_schemas_missing(case):
918
module = Engine(INSTANCE_TEST_SCHEMA).render_python_module()
1019
valid_data = {
1120
"Archive.archive": ARCHIVE_SIGNATURE_PAYLOAD,
@@ -38,21 +47,19 @@ def test_archive_does_not_open_on_signature_resource_or_schemas_missing():
3847
corrupt_resource_schema = valid_data.copy()
3948
corrupt_resource_schema["resource.schema"] = b"foo"
4049

41-
datasets = [
42-
(missing_signature, CorruptArchiveError),
43-
(corrupt_signature, CorruptArchiveError),
44-
(missing_schema, CorruptArchiveError),
45-
(corrupt_schema, SchemaMismatchError),
46-
(missing_resource, CorruptArchiveError),
47-
(missing_resource_schema, CorruptArchiveError),
48-
(corrupt_resource_schema, SchemaMismatchError),
49-
]
50-
51-
def _test(index, data, error_type):
50+
datasets = {
51+
"missing_signature": (missing_signature, CorruptArchiveError),
52+
"corrupt_signature": (corrupt_signature, CorruptArchiveError),
53+
"missing_schema": (missing_schema, CorruptArchiveError),
54+
"corrupt_schema": (corrupt_schema, SchemaMismatchError),
55+
"missing_resource": (missing_resource, CorruptArchiveError),
56+
"missing_resource_schema": (missing_resource_schema, CorruptArchiveError),
57+
"corrupt_resource_schema": (corrupt_resource_schema, SchemaMismatchError),
58+
}
59+
60+
def _test(data, error_type):
5261
with pytest.raises(error_type):
5362
module.backward_compatibility_Archive(DictResourceStorage(data))
5463

55-
for index, payload in enumerate(datasets):
56-
data, error_type = payload
57-
58-
_test(index, data, error_type)
64+
data, error_type = datasets[case]
65+
_test(data, error_type)

0 commit comments

Comments
 (0)