def test_get_module_v1(tmp_working_dir: py.path.local): metadata_file: str = tmp_working_dir.join("module.yml") metadata_file.write(""" name: mod license: ASL version: 1.2.3 compiler_version: 2017.2 """.strip()) mt = ModuleTool() mod: module.Module = mt.get_module() assert mod.GENERATION == module.ModuleGeneration.V1
def test_freeze_basic(modules_dir, modules_repo): install_project(modules_dir, "projectA") modtool = ModuleTool() cmod = modtool.get_module("modC") assert cmod.get_freeze("modC", recursive=False, mode="==") == { "std": "== 3.2", "modE": "== 3.2", "modF": "== 3.2" } assert cmod.get_freeze("modC", recursive=True, mode="==") == { "std": "== 3.2", "modE": "== 3.2", "modF": "== 3.2", "modH": "== 3.2", "modJ": "== 3.2", } assert cmod.get_freeze("modC::a", recursive=False, mode="==") == { "std": "== 3.2", "modI": "== 3.2" }
def test_get_module_v2(tmp_working_dir: py.path.local): metadata_file: str = tmp_working_dir.join("setup.cfg") metadata_file.write(""" [metadata] name = inmanta-module-mod version = 1.2.3 license = ASL [options] install_requires = inmanta-modules-net ~=0.2.4 inmanta-modules-std >1.0,<2.5 cookiecutter~=1.7.0 cryptography>1.0,<3.5 """.strip()) model_dir: py.path.local = tmp_working_dir.join("model") os.makedirs(str(model_dir)) open(str(model_dir.join("_init.cf")), "w").close() mt = ModuleTool() mod: module.Module = mt.get_module() assert mod.GENERATION == module.ModuleGeneration.V2
def test_get_module_metadata_file_not_found(tmp_working_dir: py.path.local): mt = ModuleTool() with pytest.raises(module.InvalidModuleException, match="No module can be found at "): mt.get_module()