#include #include #include #include #include #include #include "tests/rpc_serialize.h" /** Used because serialize message header loads di_time_get_stamp */ TEST(time, init) { di_time_init(); } /** Serialize RPC message publish */ TEST(rpc, serialize_rpc_msg_pub) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_msg msg; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.msg_type = DI_RPC_MSG_TYPE_PUBLISH; msg.type = DI_RPC_TYPE_NOTIFY_INFO; di_rpc_serialize_msg(writer->get(), &msg); } /** Serialize RPC message request */ TEST(rpc, serialize_rpc_msg_req) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_msg msg; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.msg_type = DI_RPC_MSG_TYPE_REQUEST; msg.type = DI_RPC_TYPE_NOTIFY_INFO; msg.id = 1; di_rpc_serialize_msg(writer->get(), &msg); } /** Serialize RPC message reply */ TEST(rpc, serialize_rpc_msg_rep) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_msg msg; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.id = 2; msg.msg_type = DI_RPC_MSG_TYPE_REPLY; msg.type = DI_RPC_TYPE_NOTIFY_INFO; msg.err = DNOK; di_rpc_serialize_msg(writer->get(), &msg); } /** Serialize RPC message reply error */ TEST(rpc, serialize_rpc_msg_rep_error) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_msg msg; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.id = 1234; msg.msg_type = DI_RPC_MSG_TYPE_REPLY; msg.type = DI_RPC_TYPE_NOTIFY_INFO; di_rpc_serialize_msg(writer->get(), &msg); } /** Serialize RPC message reply error */ TEST(rpc, serialize_rpc_msg_rep_error_unknown_type) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_msg msg; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.id = 1234; msg.err = DNE_OPNOTSUPP; msg.msg_type = DI_RPC_MSG_TYPE_REPLY; msg.type = DI_RPC_TYPE_UNKNOWN; di_rpc_serialize_msg(writer->get(), &msg); }