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.
|
|
import osimport jsonimport pytestimport _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.fixturedef 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.fixturedef 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
|