You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

50 lines
1.3 KiB

import os
import json
import pytest
import _pytest
from tibi_hardlinks.backup_parser import parse_property_text
# random_data fixture
# sample data fixture
TEST_PROPERTY_DATA_ROOT = "test_data/property_files"
@pytest.fixture
def canned_data_input(pytestconfig: _pytest.config.Config):
# def canned_data_input():
def get_canned_data(filename):
full_path = os.path.join(
pytestconfig.rootdir, TEST_PROPERTY_DATA_ROOT, filename
)
with open(full_path + ".txt", "r") as test_file:
return test_file.read()
return get_canned_data
@pytest.fixture
def canned_data_output(pytestconfig: _pytest.config.Config):
# def canned_data_output():
def get_canned_data(filename):
full_path = os.path.join(
pytestconfig.rootdir, TEST_PROPERTY_DATA_ROOT, filename
)
with open(full_path + ".json", "r") as test_file:
return json.load(test_file)
return get_canned_data
@pytest.mark.parametrize("filename", [("example-new"), ("example-old")])
def test_canned_data(filename, canned_data_input, canned_data_output):
data = canned_data_input(filename)
expected_output = canned_data_output(filename)
experimental = parse_property_text(data)
for key, value in expected_output.items():
assert experimental[key] == value