summaryrefslogtreecommitdiffstats
path: root/dispatcher/elapi_dispatcher_ut.c
diff options
context:
space:
mode:
Diffstat (limited to 'dispatcher/elapi_dispatcher_ut.c')
-rw-r--r--dispatcher/elapi_dispatcher_ut.c136
1 files changed, 116 insertions, 20 deletions
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;
}