Esempio n. 1
0
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
Esempio n. 2
0
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()
Esempio n. 3
0
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"
Esempio n. 4
0
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
Esempio n. 5
0
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
Esempio n. 6
0
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()
Esempio n. 7
0
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
Esempio n. 8
0
def test_get_flow_raises_if_flow_not_present():
    s = Local()
    with pytest.raises(ValueError):
        s.get_flow("test")
Esempio n. 9
0
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