From 8fb404ff3d803964764452f7e027ded5bf1d85b3 Mon Sep 17 00:00:00 2001 From: Dmitri Pal Date: Thu, 26 Feb 2009 16:32:20 -0500 Subject: Major changes. Added high level API. Unstable. Checkin before testing. --- dispatcher/elapi_dispatcher_ut.c | 136 +++++++++++++++++++++++++++++++++------ 1 file changed, 116 insertions(+), 20 deletions(-) (limited to 'dispatcher/elapi_dispatcher_ut.c') diff --git a/dispatcher/elapi_dispatcher_ut.c b/dispatcher/elapi_dispatcher_ut.c index e860096..aa0a041 100644 --- a/dispatcher/elapi_dispatcher_ut.c +++ b/dispatcher/elapi_dispatcher_ut.c @@ -124,25 +124,102 @@ int construct_event() return EOK; } - -int main() +int high_level_test() { int error = EOK; struct dispatcher_handle *dispatcher; struct dispatcher_handle *dispatcher2; - char *sinks[]= { "foo", "stderr", "bar", NULL }; + char *sinks[]= { "foo", "stderr", "file", NULL }; + char bin[] = { '\1','\2','\3','\4','\5','\6','\7','\8' }; - printf("Test start\n"); + printf("High level test start\n"); + printf("%s","=================\nOpening audit\n"); + error = open_audit("my_app1",sinks); + if(error!) { + printf("open_audit returned %d\n", error); + return error; + } + else printf("Success : %d\n",error); - error = create_audit_dispatcher(&dispatcher,"my_app",sinks,NULL,NULL); - printf("create_audit_dispatcher returned %d\n", error); + printf("%s","=================\nAdding syslog - first time - expect success\n"); + error = alter_audit_dispatcher(get_dispatcher(),"syslog",ELAPI_SINK_ACTION_ADD); + if(error != 0) { + printf("Expected success got failure %d\n",error); + return error; + } + else printf("Success : %d\n",error); + + printf("%s","=================\nAdding syslog again\n"); + error = alter_audit_dispatcher(get_dispatcher(),"syslog",ELAPI_SINK_ACTION_ADD); + if(error == 0) { + printf("Expected failure got success %d\n",error); + return EINVAL; + } + else printf("Expected error : %d\n",error); + + printf("%s","=================\nAdding syslog - first time - expect success\n"); + error = alter_audit_dispatcher(get_dispatcher(),"foo",ELAPI_SINK_ACTION_DELETE); + if(error != 0) { + printf("Expected success got failure %d\n",error); + return error; + } + else printf("Success : %d\n",error); + + printf("%s","=================\nCreating collection\n"); + if((error=create_event(&event,"test_event")) || + (error=add_str_property(event,NULL,"name","some name",0)) || + (error=add_int_property(event,NULL,"number",-100)) || + (error=add_binary_property(event,NULL,"binary",bin,8)) || + (error=add_double_property(event,NULL,"double",3.141592))) { + printf("Failed to create collection. Error %d\n",error); + return error; + } + else printf("Success : %d\n",error); + + printf("%s","=================\nLog event using NULL format\n"); + log_event(NULL, event); + + printf("%s","=================\nLog event using First format\n"); + log_event("%(timestamp), %s(name), %(number), %(bin), %%, %e(double)", event); + + printf("%s","=================\nLog event using Second format\n"); + log_event("%08X(time), %50s(name), %u(number), %s(bin), %%, %A(double)", event); + + printf("%s","=================\nLog event using Third format\n"); + log_event("%-50s(timestamp), %50s(name), %lo(number), %a(bin), %%, %.8f(double)", event); - /* Try to log with invalid parameters */ - printf("%s","=================\nNegative test1\n"); - log_audit_event(NULL, NULL); - printf("%s","=================\nNegative test2\n"); - log_audit_event(dispatcher, NULL); + + printf("%s","=================\nNegative tests\n"); + printf("%s","=================\nLog event using Third format\n"); + log_event("%-50s(timestamp), %50s(name, %lo(number), %a(bin), %%, %.8f(double)", event); + log_event("%(times), %z(name), %lo(number), %a(bin), %%, %.8f(double)", event); + log_event("%(times), %(name ), %lo(number), %a(bin), %%, %.8f(double)", event); + log_event("%(times), (name ), %lo(number), %a(bin), %%, %.8f(double)", event); + log_event("%(times), (name ) %, %.8f(double)", event); + log_event("%(times), (name ) %f (double)", event); + + + destroy_collection(event); + close_audit(void); + + printf("Low level test end\n"); + return error; +} + + +int low_level_test() +{ + int error = EOK; + char *sinks[]= { "foo", "stderr", "bar", NULL }; + + printf("Low level test start\n"); + + error = create_audit_dispatcher(&dispatcher,"my_app",sinks,NULL,NULL); + if(error!) { + printf("create_audit_dispatcher returned %d\n", error); + return error; + } printf("%s","=================\nCreating collection\n"); error = construct_event(); @@ -154,16 +231,16 @@ int main() printf("%s","=================\nLogging peer - expect success\n"); print_collection(peer); - log_audit_event(dispatcher, peer); + log_audit_event(dispatcher, NULL, peer); printf("%s","=================\nLogging host - expect success\n"); print_collection(host); - log_audit_event(dispatcher, host); + log_audit_event(dispatcher, NULL, host); printf("%s","=================\nLogging socket - expect success\n"); print_collection(socket); - log_audit_event(dispatcher, socket); + log_audit_event(dispatcher, NULL, socket); printf("%s","=================\nLogging event - expect success\n"); print_collection(event); - log_audit_event(dispatcher, event); + log_audit_event(dispatcher, NULL, event); /* Try to alter list of sinks */ printf("%s","=================\nSeries of negative test cases.\n"); @@ -201,16 +278,16 @@ int main() /* Log event into syslog */ printf("%s","=================\nLogging peer - expect success\n"); print_collection(peer); - log_audit_event(dispatcher, peer); + log_audit_event(dispatcher, NULL, peer); printf("%s","=================\nLogging host - expect success\n"); print_collection(host); - log_audit_event(dispatcher, host); + log_audit_event(dispatcher, NULL, host); printf("%s","=================\nLogging socket - expect success\n"); print_collection(socket); - log_audit_event(dispatcher, socket); + log_audit_event(dispatcher, NULL, socket); printf("%s","=================\nLogging event - expect success\n"); print_collection(event); - log_audit_event(dispatcher, event); + log_audit_event(dispatcher, NULL, event); /* Pulse */ error = alter_audit_dispatcher(dispatcher,"syslog",ELAPI_SINK_ACTION_PULSE); @@ -251,7 +328,26 @@ int main() destroy_collection(host); destroy_collection(socket); destroy_collection(event); - printf("Test end\n"); + printf("Low level test end\n"); + return error; +} + + +int main() +{ + int error = EOK; + + error = low_level_test(); + printf("Low level test returned: %d\n",error); + if(error) return error; + + error = high_level_test(); + printf("High level test first run returned: %d\n",error); + if(error) return error; + + error = high_level_test(); + printf("High level test second run returned: %d\n",error); + return error; } -- cgit