Пример #1
0
def test_post_result(mock_urlopen: MagicMock, helpers: Helpers) -> None:
    with helpers.nixpkgs() as nixpkgs:
        os.environ["PR"] = "1"
        os.environ["NIX_PATH"] = f"nixpkgs={nixpkgs.path}"
        os.environ["GITHUB_TOKEN"] = "foo"
        mock_urlopen.side_effect = [mock_open(read_data="{}")()]

        report = nixpkgs.path.joinpath("..", "report.md")
        with open(report, "w") as f:
            f.write("")

        main("nixpkgs-review", ["post-result"])
Пример #2
0
    def test_pr_command_borg_eval(self, mock_run: MagicMock,
                                  mock_urlopen: MagicMock) -> None:
        effects = Mock(borg_eval_cmds() + build_cmds)
        mock_run.side_effect = effects
        mock_urlopen.side_effect = effects

        main(
            "nixpkgs-review",
            [
                "pr",
                "--build-args",
                '--builders "ssh://[email protected] aarch64-linux"',
                "37200",
            ],
        )
Пример #3
0
    def test_wip_command(self, mock_popen: MagicMock,
                         mock_run: MagicMock) -> None:
        effects = Mock(self, wip_command_cmds() + build_cmds)
        mock_run.side_effect = effects

        popen_instance = mock_popen.return_value
        popen_instance.__enter__.side_effect = effects

        main(
            "nixpkgs-review",
            [
                "wip",
                "--build-args",
                '--builders "ssh://[email protected] aarch64-linux"',
            ],
        )
Пример #4
0
def test_pr_ofborg_eval(mock_urlopen: MagicMock, helpers: Helpers) -> None:
    with helpers.nixpkgs() as nixpkgs:
        with open(nixpkgs.path.joinpath("pkg1.txt"), "w") as f:
            f.write("foo")
        subprocess.run(["git", "add", "."])
        subprocess.run(["git", "commit", "-m", "example-change"])
        subprocess.run(["git", "checkout", "-b", "pull/37200/head"])
        subprocess.run(["git", "push", str(nixpkgs.remote), "pull/37200/head"])

        mock_urlopen.side_effect = [
            mock_open(
                read_data=helpers.read_asset("github-pull-37200.json"))(),
            mock_open(read_data=helpers.read_asset(
                "github-pull-37200-statuses.json"))(),
            helpers.read_asset("gist-37200.txt").encode("utf-8").split(b"\n"),
        ]

        path = main(
            "nixpkgs-review",
            [
                "pr",
                "--remote",
                str(nixpkgs.remote),
                "--run",
                "exit 0",
                "37200",
            ],
        )
        report = helpers.load_report(path)
        assert report["built"] == ["pkg1"]
Пример #5
0
def test_wip_command(helpers: Helpers) -> None:
    with helpers.nixpkgs() as nixpkgs:
        with open(nixpkgs.path.joinpath("pkg1.txt"), "w") as f:
            f.write("foo")
        path = main(
            "nixpkgs-review",
            ["wip", "--remote",
             str(nixpkgs.remote), "--run", "exit 0"],
        )
        report = helpers.load_report(path)
        assert report["built"] == ["pkg1"]
    def test_post_result(self, mock_run: MagicMock,
                         mock_urlopen: MagicMock) -> None:
        directory = Path(self.directory.name)
        nix_instantiate = [(
            ["nix-instantiate", "--find-file", "nixpkgs"],
            MockCompletedProcess(stdout=str(directory.joinpath("nixpkgs"))),
        )]
        effects = Mock(nix_instantiate + dummy_api_response())
        mock_urlopen.side_effect = effects
        mock_run.side_effect = effects

        report = os.path.join(self.directory.name, "report.md")
        with open(report, "w") as f:
            f.write("")

        print(os.environ["GITHUB_TOKEN"])

        main(
            "nixpkgs-review",
            ["post-result"],
        )
Пример #7
0
def test_rev_command(helpers: Helpers) -> None:
    with helpers.nixpkgs() as nixpkgs:
        with open(nixpkgs.path.joinpath("pkg1.txt"), "w") as f:
            f.write("foo")
        subprocess.run(["git", "add", "."])
        subprocess.run(["git", "commit", "-m", "example-change"])
        path = main(
            "nixpkgs-review",
            [
                "rev", "HEAD", "--remote",
                str(nixpkgs.remote), "--run", "exit 0"
            ],
        )
        report = helpers.load_report(path)
        assert report["built"] == ["pkg1"]
Пример #8
0
def test_pr_local_eval(helpers: Helpers) -> None:
    with helpers.nixpkgs() as nixpkgs:
        with open(nixpkgs.path.joinpath("pkg1.txt"), "w") as f:
            f.write("foo")
        subprocess.run(["git", "add", "."])
        subprocess.run(["git", "commit", "-m", "example-change"])
        subprocess.run(["git", "checkout", "-b", "pull/1/head"])
        subprocess.run(["git", "push", str(nixpkgs.remote), "pull/1/head"])

        path = main(
            "nixpkgs-review",
            [
                "pr",
                "--remote",
                str(nixpkgs.remote),
                "--run",
                "exit 0",
                "1",
            ],
        )
        report = helpers.load_report(path)
        assert report["built"] == ["pkg1"]
 def test_approve(self, mock_urlopen: MagicMock) -> None:
     mock_urlopen.side_effect = Mock(dummy_api_response())
     main("nixpkgs-review", ["approve"])
Пример #10
0
def test_approve(mock_urlopen: MagicMock, helpers: Helpers) -> None:
    with helpers.save_environ():
        os.environ["PR"] = "1"
        os.environ["GITHUB_TOKEN"] = "foo"
        mock_urlopen.side_effect = [mock_open(read_data="{}")()]
        main("nixpkgs-review", ["approve"])