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
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
|