Ejemplo n.º 1
0
def test_recovery_list():
    # Check push pop single recovery
    t = Task(id="task-id")
    recovery1 = Recovery("name_1", "storage_1", "task_1", "func_1", [])
    t.pushRecovery(recovery1)
    assert t.popRecovery() is recovery1

    # Check replace recovery by another
    t.pushRecovery(recovery1)
    recovery2 = Recovery("name_2", "storage_2", "task_2", "func_2", [])
    t.replaceRecoveries(recovery2)
    assert t.popRecovery() is recovery2
    assert t.popRecovery() is None

    # Check replace recovery over an empty list
    t.replaceRecoveries(recovery1)
    assert t.popRecovery() is recovery1

    # Check clearing recoveries
    t.pushRecovery(recovery1)
    t.pushRecovery(recovery2)
    t.clearRecoveries()
    assert t.popRecovery() is None
Ejemplo n.º 2
0
def fake_task(monkeypatch):
    """
    Create fake task, expected in various places in the code. In the real code
    a task is created for every HSM public call by the dispatcher.
    """
    monkeypatch.setattr(threadlocal.vars, 'task', Task("fake-task-id"))