29 lines
915 B
C++
29 lines
915 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "ctrl_packet.h"
|
|
|
|
TEST(CTRL_PACKET, PARSE)
|
|
{
|
|
const char *data = "{\"tsync\":\"1.0\",\"session_id\":\"123456789\",\"state\":\"active\",\"method\":\"policy_update\",\"params\":{\"service_chaining\":[1,2,3],\"shaping\":[4,5,6]}}";
|
|
size_t length = strlen(data);
|
|
|
|
struct ctrl_pkt_parser parser;
|
|
ctrl_packet_parser_init(&parser);
|
|
EXPECT_TRUE(ctrl_packet_parser_parse(&parser, data, length) == 0);
|
|
ctrl_packet_parser_dump(&parser);
|
|
|
|
EXPECT_STREQ(parser.tsync, "1.0");
|
|
EXPECT_TRUE(parser.session_id == 123456789);
|
|
EXPECT_TRUE(parser.state == SESSION_STATE_ACTIVE);
|
|
EXPECT_STREQ(parser.method, "policy_update");
|
|
EXPECT_TRUE(parser.policy_id_num == 3);
|
|
EXPECT_TRUE(parser.policy_ids[0] == 1);
|
|
EXPECT_TRUE(parser.policy_ids[1] == 2);
|
|
EXPECT_TRUE(parser.policy_ids[2] == 3);
|
|
}
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
::testing::InitGoogleTest(&argc, argv);
|
|
return RUN_ALL_TESTS();
|
|
} |