refactor: more compact test codes
All checks were successful
build / build (push) Successful in 1m50s

This commit is contained in:
张泊明518370910136 2024-10-23 01:39:36 -04:00
parent 087b10a7b3
commit 48d01045b5
GPG Key ID: D47306D7062CDA9D
4 changed files with 25 additions and 17 deletions

View File

@ -1,8 +1,5 @@
from joj3_config_generator.convert import convert
from tests.convert.utils import read_convert_files
from tests.convert.utils import load_case
def test_basic() -> None:
repo, task, expected_result = read_convert_files("basic")
result = convert(repo, task).model_dump(by_alias=True)
assert result == expected_result
load_case("basic")

View File

@ -4,6 +4,7 @@ from typing import Any, Dict, Tuple
import rtoml
from joj3_config_generator.convert import convert
from joj3_config_generator.models import repo, task
@ -12,14 +13,20 @@ def read_convert_files(
) -> Tuple[repo.Config, task.Config, Dict[str, Any]]:
root = os.path.dirname(os.path.realpath(__file__))
repo_toml_path = os.path.join(root, case_name, "repo.toml")
with open(repo_toml_path) as f:
repo_toml = f.read()
task_toml_path = os.path.join(root, case_name, "task.toml")
with open(task_toml_path) as f:
task_toml = f.read()
result_json_path = os.path.join(root, case_name, "task.json")
with open(repo_toml_path) as repo_file:
repo_toml = repo_file.read()
with open(task_toml_path) as task_file:
task_toml = task_file.read()
with open(result_json_path) as result_file:
result: Dict[str, Any] = json.load(result_file)
with open(result_json_path) as f:
result: Dict[str, Any] = json.load(f)
repo_obj = rtoml.loads(repo_toml)
task_obj = rtoml.loads(task_toml)
return repo.Config(**repo_obj), task.Config(**task_obj), result
def load_case(case_name: str) -> None:
repo, task, expected_result = read_convert_files(case_name)
result = convert(repo, task).model_dump(mode="json", by_alias=True)
assert result == expected_result

View File

@ -1,11 +1,8 @@
import pytest
from joj3_config_generator.convert import convert_joj1
from tests.convert_joj1.utils import read_convert_joj1_files
from tests.convert_joj1.utils import load_case
@pytest.mark.xfail
def test_basic() -> None:
joj1, expected_result = read_convert_joj1_files("basic")
result = convert_joj1(joj1).model_dump(by_alias=True)
assert result == expected_result
load_case("basic")

View File

@ -4,17 +4,24 @@ from typing import Any, Dict, Tuple
import rtoml
import yaml
from joj3_config_generator.convert import convert_joj1
from joj3_config_generator.models import joj1
def read_convert_joj1_files(case_name: str) -> Tuple[joj1.Config, Dict[str, Any]]:
root = os.path.dirname(os.path.realpath(__file__))
task_yaml_path = os.path.join(root, case_name, "task.yaml")
task_toml_path = os.path.join(root, case_name, "task.toml")
with open(task_yaml_path) as f:
task_yaml = f.read()
task_toml_path = os.path.join(root, case_name, "task.toml")
with open(task_toml_path) as f:
task_toml = f.read()
joj1_obj = yaml.safe_load(task_yaml)
task_obj = rtoml.loads(task_toml)
return joj1.Config(**joj1_obj), task_obj
def load_case(case_name: str) -> None:
joj1, expected_result = read_convert_joj1_files(case_name)
result = convert_joj1(joj1).model_dump(by_alias=True)
assert result == expected_result