diff --git a/t-tap/test_commands.c b/t-tap/test_commands.c index fe004053..01464f7b 100644 --- a/t-tap/test_commands.c +++ b/t-tap/test_commands.c @@ -447,6 +447,7 @@ void test_host_commands(void) int pre = 0, prev_comment_id = next_comment_id; unsigned int prev_downtime_id; time_t check_time = 0; + time_t current_time = 0; char *cmdstr = NULL; scheduled_downtime *downtime = NULL; target_host = find_host(host_name); @@ -522,6 +523,17 @@ void test_host_commands(void) ok(!target_host->problem_has_been_acknowledged, "ACKNOWLEDGE_HOST_PROBLEM_EXPIRE with past end_time doesn't acknowledge a host problem"); target_host->current_state = STATE_UP; + clear_event_queue(); + target_host->current_state = STATE_DOWN; + time(¤t_time); + nm_asprintf(&cmdstr, "[1234567890] ACKNOWLEDGE_HOST_PROBLEM_EXPIRE;host1;2;0;0;%llu;myself;expire in two seconds", (unsigned long long int)current_time+2); + ok(CMD_ERROR_OK == process_external_command1(cmdstr), "core command: ACKNOWLEDGE_HOST_PROBLEM_EXPIRE"); + ok(target_host->problem_has_been_acknowledged, "ACKNOWLEDGE_HOST_PROBLEM_EXPIRE acknowledgement present before event"); + sleep(3); + event_poll(); + ok(!target_host->problem_has_been_acknowledged, "ACKNOWLEDGE_HOST_PROBLEM_EXPIRE acknowledgement gone after event"); + free(cmdstr); + ok(CMD_ERROR_OK == process_external_command1("[1234567890] DISABLE_HOST_EVENT_HANDLER;host1"), "core command: DISABLE_HOST_EVENT_HANDLER"); ok(!target_host->event_handler_enabled, "DISABLE_HOST_EVENT_HANDLER disables event handler for a host"); @@ -683,7 +695,7 @@ void test_core_commands(void) int main(int /*@unused@*/ argc, char /*@unused@*/ **arv) { const char *test_config_file = TESTDIR "naemon.cfg"; - plan_tests(513); + plan_tests(516); init_event_queue(); config_file_dir = nspath_absolute_dirname(test_config_file, NULL);