def test_single_match(single_host): results = single_host.run( task=wrap_task(get_regexp), tests=[t_regexp(regexp=r"Ethernet1 is up", assertion="is_not_none")], ) assert results["test"][0].tests[0].passed for result in results.values(): assert len(result[0].tests) == 1
def t_regexp_not_failed(single_host): results = single_host.run( task=wrap_task(echo_data), z="zzzsuperpassword!dkfj", tests=[t_regexp(result_attr="result", regexp=r".*uperpas*word")], ) for host, result in results.items(): assert hasattr(result[0], "tests") assert not result[0].failed assert len(result[0].tests) > 0 assert str(result[0]) != ""
def t_regexp_failed(single_host, fail): results = single_host.run( task=wrap_task(echo_data), z="zzzsuperpassword!dkfj", tests=[ t_regexp(result_attr="result", regexp=r".*upexyzrpas*word", fail_task=fail) ], ) for host, result in results.items(): assert hasattr(result[0], "tests") assert result[0].failed == fail assert len(result[0].tests) > 0 assert str(result[0].tests[0].exception).find("no match found for regex") != -1
def test_too_many_match_groups(single_host): results = single_host.run( task=wrap_task(get_regexp), tests=[ t_regexp( regexp=r"(.*?) is (.*)", assertion="is_equal_to", one_of=True, value="Ethernet1", ) ], ) assert not results["test"][0].tests[0].passed for result in results.values(): assert len(result[0].tests) == 1 assert len(result[0].tests[0].matches) == 0