Example #1
0
def test_load_invalid_xtrigger_for_restart():
    """Test loading an invalid xtrigger for restart.

    It simulates that the DB has a value that is not valid JSON.
    """
    xtrigger_mgr = XtriggerManager(suite="sample_suite", user="******")
    row = "get_name", "{name: \"function\"}"  # missing double quotes
    with pytest.raises(ValueError):
        xtrigger_mgr.load_xtrigger_for_restart(row_idx=0, row=row)
Example #2
0
def test_load_xtrigger_for_restart():
    """Test loading a xtrigger for restart.

    The function is loaded from database, where the value is formatted
    as JSON."""
    xtrigger_mgr = XtriggerManager(suite="sample_suite", user="******")
    row = "get_name", "{\"name\": \"function\"}"
    xtrigger_mgr.load_xtrigger_for_restart(row_idx=0, row=row)
    assert xtrigger_mgr.sat_xtrig["get_name"]["name"] == "function"
Example #3
0
def test_housekeeping_nothing_satisfied():
    """The housekeeping method makes sure only satisfied xtrigger function
    are kept."""
    xtrigger_mgr = XtriggerManager(suite="sample_suite", user="******")
    row = "get_name", "{\"name\": \"function\"}"
    # now XtriggerManager#sat_xtrigger will contain the get_name xtrigger
    xtrigger_mgr.load_xtrigger_for_restart(row_idx=0, row=row)
    # but we have nothing in the XtriggerManager#all_xclock, which means
    # nothing was satisfied yet
    xtrigger_mgr.all_xclock.clear()
    assert xtrigger_mgr.sat_xtrig
    xtrigger_mgr.housekeep()
    assert not xtrigger_mgr.sat_xtrig