def test_get_flow_returns_flow(): with tempfile.TemporaryDirectory() as tmpdir: storage = Local(directory=tmpdir) f = Flow("test") loc = storage.add_flow(f) runner = storage.get_flow(loc) assert runner == f
def test_get_flow_from_file_returns_flow(tmpdir): contents = """from prefect import Flow\nf=Flow('test-flow')""" full_path = os.path.join(tmpdir, "flow.py") with open(full_path, "w") as f: f.write(contents) f = Flow("test-flow") storage = Local(stored_as_script=True, path=full_path) storage.add_flow(f) flow = storage.get_flow(full_path) assert flow.run()
def test_add_flow_to_storage(tmpdir): storage = Local(directory=str(tmpdir)) f = Flow("test") assert f.name not in storage res = storage.add_flow(f) flow_dir = os.path.join(tmpdir, "test") assert os.path.exists(flow_dir) assert len(os.listdir(flow_dir)) == 1 assert res.startswith(flow_dir) assert f.name in storage f2 = storage.get_flow(f.name) assert f2.name == "test"
def test_multiple_flows_in_storage(tmpdir): s = Local(directory=str(tmpdir)) f = Flow("test") g = Flow("other") f_loc = s.add_flow(f) g_loc = s.add_flow(g) assert "test" in s assert "other" in s assert "not" not in s assert s.get_flow(f.name) == f assert s.get_flow(g.name) == g assert s.flows["test"] == f_loc assert s.flows["other"] == g_loc
def test_multiple_flows_in_storage(): with tempfile.TemporaryDirectory() as tmpdir: s = Local(directory=tmpdir) f = Flow("test") g = Flow("other") z = Flow("not") f_loc = s.add_flow(f) g_loc = s.add_flow(g) assert "test" in s assert "other" in s assert "not" not in s assert s.get_flow(f_loc) == f assert s.get_flow(g_loc) == g assert s.flows["test"] == f_loc assert s.flows["other"] == g_loc
def test_get_flow_from_file_returns_flow(tmpdir): contents = textwrap.dedent(""" from prefect import Flow f1 = Flow('flow-1') f2 = Flow('flow-2') """) full_path = os.path.join(tmpdir, "flow.py") with open(full_path, "w") as f: f.write(contents) f1 = Flow("flow-1") f2 = Flow("flow-2") storage = Local(stored_as_script=True, path=full_path) storage.add_flow(f1) storage.add_flow(f2) f1_2 = storage.get_flow(f1.name) f2_2 = storage.get_flow(f2.name) assert f1_2.name == f1.name assert f2_2.name == f2.name f1_2.run() f2_2.run()
def test_get_flow_returns_flow(tmpdir): storage = Local(directory=str(tmpdir)) f = Flow("test") storage.add_flow(f) f2 = storage.get_flow(f.name) assert f2 == f
def test_get_flow_raises_if_flow_not_present(): s = Local() with pytest.raises(ValueError): s.get_flow("test")
def test_get_flow_returns_flow(tmpdir): storage = Local(directory=str(tmpdir)) f = Flow("test") loc = storage.add_flow(f) runner = storage.get_flow(loc) assert runner == f