test_SOURCES = \
tests/unit/ejdb_tests.c \
+ tests/unit/action_executed_event_tests.c \
tests/unit/decision_made_event_tests.c \
+ tests/unit/faultd_started_event_tests.c \
tests/unit/resource_violation_event_tests.c \
tests/unit/service_failed_event_tests.c \
tests/unit/system_booted_event_tests.c \
src/util/log.c \
src/util/common.c \
src/database/ejdb.c \
+ src/event_types/action_executed_event.c \
src/event_types/decision_made_event.c \
+ src/event_types/faultd_started_event.c \
src/event_types/resource_violation_event.c \
src/event_types/service_failed_event.c \
src/event_types/system_booted_event.c
--- /dev/null
+#include "action_executed_event.h"
+#include "helpers.h"
+
+#define TESTED_MOD action_executed_event
+
+DECLARE_TEST_ENTRY_POINT(TESTED_MOD, ae_event_serialize, void);
+
+static struct faultd_event *alloc_event()
+{
+ struct action_executed_event *ae_ev;
+
+ ae_ev = calloc(1, sizeof(*ae_ev));
+ assert_non_null(ae_ev);
+
+ fill_event(&ae_ev->event);
+
+ ae_ev->reason = calloc(1, sizeof(*(ae_ev->reason)));
+ assert_non_null(ae_ev->reason);
+
+ ae_ev->reason->oid = generate_oid();
+ ae_ev->action = generate_string(STR_SIZE);
+ ae_ev->action_impl = generate_string(STR_SIZE);
+
+ faultd_object_new(&ae_ev->action_log);
+ faultd_object_append_string(ae_ev->action_log, AE_EV_ACTION, ae_ev->action);
+
+ ae_ev->result = generate_int();
+
+ return &ae_ev->event;
+}
+
+static void generate_test_attrs(struct serialize_test_data *td)
+{
+ struct action_executed_event *ae_ev = to_action_executed_event(td->ev);
+ struct serialized_element action_log[] = {
+ S_ELEMENT(AE_EV_ACTION, TYPE_STRING, &ae_ev->action)
+ };
+
+ struct serialized_element serialized_attrs[] = {
+ S_ELEMENT_EVENT(ae_ev->event),
+ S_ELEMENT(AE_EV_REASON, TYPE_OID, &ae_ev->reason->oid),
+ S_ELEMENT(AE_EV_ACTION, TYPE_STRING, &ae_ev->action),
+ S_ELEMENT(AE_EV_ACTION_IMPL, TYPE_STRING, &ae_ev->action_impl),
+ S_ELEMENT_OBJ(AE_EV_ACTION_LOG, ae_ev->action_log,
+ action_log, ARRAY_SIZE(action_log)),
+ S_ELEMENT(AE_EV_RESULT, TYPE_INT, &ae_ev->result),
+ };
+
+ td->test_data = serialized_elems_dup(serialized_attrs,
+ ARRAY_SIZE(serialized_attrs));
+ td->size = ARRAY_SIZE(serialized_attrs);
+}
+
+static int setup(void **state)
+{
+ return setup_event_serialization(state, alloc_event, generate_test_attrs,
+ (serialize_func_t)CALL_TEST_ENTRY_POINT(
+ TESTED_MOD, ae_event_serialize),
+ NULL);
+}
+
+static int teardown(void **state)
+{
+ struct serialize_test_data *td = *state;
+ struct action_executed_event *ae_ev = to_action_executed_event(td->ev);
+
+ faultd_object_unref(ae_ev->action_log);
+ free_event(&ae_ev->event);
+ free(ae_ev->action);
+ free(ae_ev->action_impl);
+ free(ae_ev->reason);
+ free(ae_ev);
+ free_test_data(td);
+
+ return 0;
+}
+
+FAULTD_TEST_GROUP(
+ FAULTD_TEST_CASE_NST("ae_ev_serialize_test", test_event_serialization,
+ setup, teardown)
+)
--- /dev/null
+#include "faultd_started_event.h"
+#include "helpers.h"
+
+#define TESTED_MOD faultd_started_event
+
+DECLARE_TEST_ENTRY_POINT(TESTED_MOD, fs_event_serialize, void);
+
+static struct faultd_event *alloc_event()
+{
+ struct faultd_started_event *fs_ev;
+
+ fs_ev = calloc(1, sizeof(*fs_ev));
+ assert_non_null(fs_ev);
+
+ fill_event(&fs_ev->event);
+
+ return &fs_ev->event;
+}
+
+static void generate_test_attrs(struct serialize_test_data *td)
+{
+ struct faultd_started_event *fs_ev = to_faultd_started_event(td->ev);
+
+ struct serialized_element serialized_attrs[] = {
+ S_ELEMENT_EVENT(fs_ev->event),
+ };
+
+ td->test_data = serialized_elems_dup(serialized_attrs,
+ ARRAY_SIZE(serialized_attrs));
+ td->size = ARRAY_SIZE(serialized_attrs);
+}
+
+static int setup(void **state)
+{
+ return setup_event_serialization(state, alloc_event, generate_test_attrs,
+ (serialize_func_t)CALL_TEST_ENTRY_POINT(
+ TESTED_MOD, fs_event_serialize),
+ NULL);
+}
+
+static int teardown(void **state)
+{
+ struct serialize_test_data *td = *state;
+ struct faultd_started_event *fs_ev = to_faultd_started_event(td->ev);
+
+ free_event(&fs_ev->event);
+ free(fs_ev);
+ free_test_data(td);
+
+ return 0;
+}
+
+FAULTD_TEST_GROUP(
+ FAULTD_TEST_CASE_NST("fs_ev_serialize_test", test_event_serialization,
+ setup, teardown)
+)