Esempio n. 1
0
 def test_load_flows_from_json_unsupported_version(self, monkeypatch, capsys):
     monkeypatch.setattr(
         "prefect.cli.build_register.read_bytes_from_path",
         MagicMock(return_value=json.dumps({"version": 2, "flows": []})),
     )
     with pytest.raises(TerminalError, match="is version 2, only version 1"):
         load_flows_from_json("https://some/url/flows.json")
 def test_load_flows_from_json_schema_error(self, monkeypatch):
     monkeypatch.setattr(
         "prefect.cli.build_register.read_bytes_from_path",
         MagicMock(return_value=json.dumps({"bad": "file"})),
     )
     with pytest.raises(TerminalError,
                        match="is not a valid Prefect flows `json` file."):
         load_flows_from_json("https://some/url/flows.json")
    def test_load_flows_from_json_fail_read(self, monkeypatch, capsys):
        monkeypatch.setattr(
            "prefect.cli.build_register.read_bytes_from_path",
            MagicMock(side_effect=ValueError("oh no!")),
        )
        with pytest.raises(TerminalError):
            load_flows_from_json("https://some/url/flows.json")

        out, _ = capsys.readouterr()
        assert "Error loading 'https://some/url/flows.json'" in out
        assert "oh no!" in out
 def test_load_flows_from_json(self, monkeypatch):
     flows = [
         Flow("flow 1").serialize(build=False),
         Flow("flow 2").serialize(build=False),
     ]
     data = json.dumps({"version": 1, "flows": flows}).encode("utf-8")
     monkeypatch.setattr(
         "prefect.cli.build_register.read_bytes_from_path",
         MagicMock(return_value=data),
     )
     res = load_flows_from_json("https://some/url/flows.json")
     assert res == flows