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)
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"
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