src.dualinventive.com/fw/libdi_fw-tests/libdi/tests/rpc_serialize_data.cpp

40 lines
849 B
C++

#include <string>
#include <memory>
#include <di/errno.h>
#include <di/stdio.h>
#include <di/rpc.h>
#include <di/time.h>
#include <gtest/gtest.h>
#include <di/device/uid.h>
#include <di/rpc/serialize.h>
#include "tests/rpc_serialize.h"
/** Used because serialize message header loads di_time_get_stamp */
TEST(time, init)
{
di_time_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));
}