Ejemplo n.º 1
0
def test_can_evaluate_expression_of_fetched_file(logger: Logger,
                                                 nix: Nix) -> None:
    test_file = UrlTextFile(
        url=
        "https://raw.githubusercontent.com/nix-community/pypi2nix/6fe6265b62b53377b4677a39c6ee48550c1f2186/.gitignore",
        logger=logger,
        name="testname",
    )
    nix.build_expression(
        expression=
        f"let pkgs = import <nixpkgs> {{}}; in {test_file.nix_expression() }")
Ejemplo n.º 2
0
def test_fetch_content_equals_file_content_from_nix_expression(
        network_file: NetworkFile, nix: Nix):
    fetch_content = network_file.fetch()

    nix_expression = "with builtins;"
    nix_expression += "let pkgs = import <nixpkgs> {};"
    nix_expression += f"fileContent = readFile ({network_file.nix_expression()});"
    nix_expression += " in "
    nix_expression += 'pkgs.writeTextFile { name = "test"; text = fileContent; }'
    with tempfile.TemporaryDirectory() as target_directory:
        target_file = os.path.join(target_directory, "result")
        nix.build_expression(nix_expression, out_link=target_file)
        with open(target_file) as f:
            nix_content = f.read()
    assert nix_content == fetch_content