def _process_config(path: Optional[pathlib.Path]) -> Config: if not path: return Config() try: return Config.load_from_path(path=path) except: # noqa raise typer.BadParameter("Unable to parse config")
def test_load_from_path(mocker): safe_load = mocker.patch("yaml.safe_load", return_value={}) fake_path = mocker.MagicMock(autospec=pathlib.Path) load_config = mocker.patch( "openapi_python_client.config.Config.load_config") Config.load_from_path(fake_path) safe_load.assert_called() load_config.assert_called()
def test_project_and_package_name_overrides(self): config = Config(project_name_override="project-name", package_name_override="package_name") config.load_config() from openapi_python_client import Project assert Project.project_name_override == "project-name" assert Project.package_name_override == "package_name"
def test_load_from_path(mocker): from openapi_python_client import utils override1 = {"class_name": "ExampleClass", "module_name": "example_module"} override2 = { "class_name": "DifferentClass", "module_name": "different_module" } safe_load = mocker.patch( "yaml.safe_load", return_value={ "field_prefix": "blah", "class_overrides": { "Class1": override1, "Class2": override2 }, "project_name_override": "project-name", "package_name_override": "package_name", "package_version_override": "package_version", }, ) fake_path = mocker.MagicMock(autospec=pathlib.Path) config = Config.load_from_path(fake_path) safe_load.assert_called() assert utils.FIELD_PREFIX == "blah" assert config.class_overrides["Class1"] == override1 assert config.class_overrides["Class2"] == override2 assert config.project_name_override == "project-name" assert config.package_name_override == "package_name" assert config.package_version_override == "package_version" utils.FIELD_PREFIX = "field_"
def test_load_from_path(tmp_path: Path, filename, dump, relative): yml_file = tmp_path.joinpath(filename) if relative: if not os.getenv("TASKIPY"): pytest.skip( "Only test relative paths when running with `task check`") return yml_file = yml_file.relative_to(Path.cwd()) override1 = {"class_name": "ExampleClass", "module_name": "example_module"} override2 = { "class_name": "DifferentClass", "module_name": "different_module" } data = { "field_prefix": "blah", "class_overrides": { "Class1": override1, "Class2": override2 }, "project_name_override": "project-name", "package_name_override": "package_name", "package_version_override": "package_version", } yml_file.write_text(dump(data)) config = Config.load_from_path(yml_file) assert config.field_prefix == "blah" assert config.class_overrides["Class1"] == override1 assert config.class_overrides["Class2"] == override2 assert config.project_name_override == "project-name" assert config.package_name_override == "package_name" assert config.package_version_override == "package_version"
def test_field_prefix(self): Config(field_prefix="blah").load_config() from openapi_python_client import utils assert utils.FIELD_PREFIX == "blah" utils.FIELD_PREFIX = "field_"
def test_class_overrides(self): from openapi_python_client.parser import reference override1 = { "class_name": "ExampleClass", "module_name": "example_module" } override2 = { "class_name": "DifferentClass", "module_name": "different_module" } config = Config(class_overrides={ "Class1": override1, "Class2": override2 }) config.load_config() assert reference.class_overrides["Class1"] == reference.Reference( **override1) assert reference.class_overrides["Class2"] == reference.Reference( **override2)