This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
tango-tsg-service-chaining-…/common/test/gtest_ctrl_packet.cpp

29 lines
915 B
C++
Raw Normal View History

#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();
}