#include #include #include #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(); di_device_init(); } TEST(rpc_serialize_data, error) { auto writer = TEST_RPC_SERIALIZE_WRITER; mpack_writer_t w; struct di_rpc_msg msg; struct di_rpc_error err; uint8_t buf[128]; di_rpc_msg_reset(&msg, di_device_uid_get()); msg.msg_type = DI_RPC_MSG_TYPE_REPLY; msg.type = DI_RPC_TYPE_CONFIG_SET; err.code = DNE_OPDENIED; mpack_writer_init(&w, (char *)&buf, sizeof(buf)); di_rpc_serialize_item_error(&w, &err); di_rpc_serialize_msg_data(writer->get(), &msg, buf, mpack_writer_buffer_used(&w)); } TEST(rpc_serialize_device_data_errors, error) { auto writer = TEST_RPC_SERIALIZE_WRITER; struct di_rpc_device_data data; di_errno_t errors[DI_DEVICE_ERROR_LIST_SIZE]; di_device_error_set(DNE_FIRMWARE_SPEAKER); di_device_error_set(DNE_FIRMWARE_EEPROM); memset(&data, 0, sizeof(data)); data.state = di_device_state_get_string(); data.errors = errors; data.errorsn = di_device_error_list_copy(errors); di_rpc_serialize_item(writer->get(), &data); }