void test_database_update_event() { scheduler_t* scheduler; char sql[512]; PGresult* db_result; scheduler = scheduler_init(testdb, NULL); FO_ASSERT_PTR_NULL(scheduler->db_conn); database_init(scheduler); FO_ASSERT_PTR_NOT_NULL(scheduler->db_conn); Prepare_Testing_Data(scheduler); database_update_event(scheduler, NULL); sprintf(sql, "SELECT * FROM job;"); db_result = database_exec(scheduler, sql); //printf("result: %s", PQget(db_result, 0, "job_name")); if(PQresultStatus(db_result) == PGRES_TUPLES_OK && PQntuples(db_result) != 0) { FO_ASSERT_STRING_EQUAL(PQget(db_result, 0, "job_name"), "testing file"); FO_ASSERT_EQUAL(atoi(PQget(db_result, 0, "job_user_fk")), 1); } PQclear(db_result); database_reset_queue(scheduler); scheduler_destroy(scheduler); }
void test_database_job() { scheduler_t* scheduler; job_t* job; arg_int* params; int jq_pk; job_t tmp_job; scheduler = scheduler_init(testdb, NULL); FO_ASSERT_PTR_NULL(scheduler->db_conn); database_init(scheduler); FO_ASSERT_PTR_NOT_NULL(scheduler->db_conn); jq_pk = Prepare_Testing_Data(scheduler); params = g_new0(arg_int, 1); params->second = jq_pk; params->first = g_tree_lookup(scheduler->job_list, ¶ms->second); job = params->first; if(params->first == NULL) { tmp_job.id = params->second; tmp_job.status = JB_NOT_AVAILABLE; tmp_job.running_agents = NULL; tmp_job.message = NULL; job = &tmp_job; } FO_ASSERT_STRING_EQUAL(job_status_strings[job->status], "JOB_NOT_AVAILABLE"); printf("jq: %d\n", jq_pk); database_job_processed(jq_pk, 2); database_job_log(jq_pk, "test log"); database_job_priority(scheduler, job, 1); g_free(params); scheduler_destroy(scheduler); }
void test_email_notify() { scheduler_t* scheduler; job_t* job; int jq_pk; scheduler = scheduler_init(testdb, NULL); FO_ASSERT_PTR_NULL(scheduler->db_conn); database_init(scheduler); email_init(scheduler); FO_ASSERT_PTR_NOT_NULL(scheduler->db_conn); jq_pk = Prepare_Testing_Data(scheduler); job = job_init(scheduler->job_list, scheduler->job_queue, "ununpack", "localhost", -1, 0, 0, 0, 0, NULL); job->id = jq_pk; database_update_job(scheduler, job, JB_FAILED); FO_ASSERT_STRING_EQUAL(job_status_strings[job->status], "JOB_CHECKEDOUT"); scheduler_destroy(scheduler); }
/** * Local function for testing data prepare */ int Prepare_Testing_Data_Scheduler(scheduler_t * scheduler) { return Prepare_Testing_Data(scheduler); }