TSG-13629 tsg-service-chaining-engine解封装从SAPP收到的控制报文

This commit is contained in:
luwenpeng
2023-02-17 17:15:53 +08:00
parent 737ca3d4be
commit e6a3f5c1dc
6 changed files with 200 additions and 4 deletions

View File

@@ -0,0 +1,29 @@
#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();
}