Exemple #1
0
def test_2312_code_loader_missing_init(tmp_path) -> None:
    cl = loader.CodeLoader(tmp_path)

    code: str = """
def test():
    return 10
        """
    sha1sum = hashlib.new("sha1")
    sha1sum.update(code.encode())
    hv: str = sha1sum.hexdigest()
    cl.deploy_version([ModuleSource("inmanta_plugins.my_module.my_sub_mod", code, hv)])

    import inmanta_plugins.my_module.my_sub_mod as sm

    assert sm.test() == 10
Exemple #2
0
def test_code_loader_import_error(tmp_path, caplog):
    """Test loading code with an import error"""
    cl = loader.CodeLoader(tmp_path)
    code = """
import badimmport
def test():
    return 10
    """

    sha1sum = hashlib.new("sha1")
    sha1sum.update(code.encode())
    hv = sha1sum.hexdigest()

    with pytest.raises(ImportError):
        import inmanta_bad_unit_test  # NOQA

    cl.deploy_version([ModuleSource("inmanta_plugins.inmanta_bad_unit_test", code, hv)])

    assert "ModuleNotFoundError: No module named 'badimmport'" in caplog.text
Exemple #3
0
 def deploy(code: str) -> None:
     sha1sum = hashlib.new("sha1")
     sha1sum.update(code.encode())
     hv: str = sha1sum.hexdigest()
     cl.deploy_version([ModuleSource("inmanta_plugins.inmanta_unit_test", code, hv)])
Exemple #4
0
 def get_module_source(module: str, code: str) -> ModuleSource:
     sha1sum = hashlib.new("sha1")
     sha1sum.update(code.encode())
     hv: str = sha1sum.hexdigest()
     return ModuleSource(module, code, hv)