TSG-22707 tfe adapts to maat interface changes

This commit is contained in:
fengweihao
2024-09-29 20:01:49 +08:00
parent a94b7d55b5
commit a032f97535
16 changed files with 909 additions and 1361 deletions

View File

@@ -163,10 +163,11 @@ static int lua_http_default_headers_init(struct def_lua_http_headers *lua_http_h
return 0;
}
int http_lua_profile_for_test(int profile_id, struct elua_script ***elua_ctx, char **profile_msg, size_t *msg_len, int *timeout)
int http_lua_profile_for_test(char *profile_id_str, struct elua_script ***elua_ctx, char **profile_msg, size_t *msg_len, int *timeout)
{
size_t input_sz;
const char *filename[]= {"./test_data/http_session.lua", "./test_data/header_filter_by_lua.lua"};
int profile_id=atoi(profile_id_str);
char *input= tfe_read_file(filename[profile_id], &input_sz);
*profile_msg=tfe_strdup(input);
@@ -221,7 +222,8 @@ const struct tfe_http_session *lua_http_session_init()
TEST(TSG_LUA_SCRIPT, Lua_TimeOut)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
struct timespec start_time, end_time;
@@ -235,7 +237,7 @@ TEST(TSG_LUA_SCRIPT, Lua_TimeOut)
lua_script->http_lua_profile = http_lua_profile_for_test;
clock_gettime(CLOCK_REALTIME, &(start_time));
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret!=0);
clock_gettime(CLOCK_REALTIME, &(end_time));
@@ -250,7 +252,8 @@ TEST(TSG_LUA_SCRIPT, Lua_TimeOut)
TEST(TSG_LUA_SCRIPT, Req_Uri)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx, 0, sizeof(tsg_ctx));
@@ -262,7 +265,7 @@ TEST(TSG_LUA_SCRIPT, Req_Uri)
lua_script->http_lua_profile = http_lua_profile_for_test;
tsg_ctx.session->req->req_spec.uri = tfe_strdup("forecast");
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
EXPECT_STREQ(tsg_ctx.rewrite_uri,"team");
@@ -276,7 +279,8 @@ TEST(TSG_LUA_SCRIPT, Req_Uri)
TEST(TSG_LUA_SCRIPT, Req_Header)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx, 0, sizeof(tsg_ctx));
@@ -287,7 +291,7 @@ TEST(TSG_LUA_SCRIPT, Req_Header)
lua_script->http_lua_profile = http_lua_profile_for_test;
tsg_ctx.session->req->req_spec.method = TFE_HTTP_METHOD_GET;
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
const char* user_agent_val=tfe_http_std_field_read(tsg_ctx.session->resp, TFE_HTTP_USER_AGENT);
@@ -307,7 +311,8 @@ TEST(TSG_LUA_SCRIPT, Req_Header)
TEST(TSG_LUA_SCRIPT, Resp_Header)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx,0,sizeof(struct tsg_script_ctx));
@@ -318,7 +323,7 @@ TEST(TSG_LUA_SCRIPT, Resp_Header)
lua_script->http_lua_profile = http_lua_profile_for_test;
tsg_ctx.session->resp->resp_spec.resp_code = 200;
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
const char* content_type_val=tfe_http_std_field_read(tsg_ctx.session->resp, TFE_HTTP_CONT_TYPE);
@@ -334,7 +339,8 @@ TEST(TSG_LUA_SCRIPT, Resp_Header)
TEST(TSG_LUA_SCRIPT, Req_Data)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx,0,sizeof(struct tsg_script_ctx));
@@ -348,7 +354,7 @@ TEST(TSG_LUA_SCRIPT, Req_Data)
tsg_ctx.http_body = evbuffer_new();
evbuffer_add(tsg_ctx.http_body, input, strlen(input));
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
ASSERT_TRUE(tsg_ctx.http_lua_body!=NULL);
@@ -372,7 +378,8 @@ TEST(TSG_LUA_SCRIPT, Req_Data)
TEST(TSG_LUA_SCRIPT, Resq_Data)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx,0,sizeof(struct tsg_script_ctx));
@@ -386,7 +393,7 @@ TEST(TSG_LUA_SCRIPT, Resq_Data)
tsg_ctx.http_body = evbuffer_new();
evbuffer_add(tsg_ctx.http_body, input, strlen(input));
ret = execute_lua_script_rule(lua_script, profile_id, NULL, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, NULL, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
ASSERT_TRUE(tsg_ctx.http_lua_body!=NULL);
@@ -410,7 +417,8 @@ TEST(TSG_LUA_SCRIPT, Resq_Data)
TEST(TSG_LUA_SCRIPT, Lua_Http_Session)
{
int ret=0;
int profile_id=0,thread_id=0;
int thread_id=0;
const char *profile_id_str = "0";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx,0,sizeof(struct tsg_script_ctx));
@@ -421,7 +429,7 @@ TEST(TSG_LUA_SCRIPT, Lua_Http_Session)
lua_script->http_lua_profile = http_lua_profile_for_test;
tsg_ctx.elua_ctx=http_lua_ctx_new(lua_script, thread_id);
ret = execute_lua_script_rule(lua_script, profile_id, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
const char* content_type_val=tfe_http_std_field_read(tsg_ctx.session->resp, TFE_HTTP_CONT_TYPE);
@@ -433,7 +441,7 @@ TEST(TSG_LUA_SCRIPT, Lua_Http_Session)
const char *user_input="This is response data";
evbuffer_add(tsg_ctx.http_body, user_input, strlen(user_input));
ret = execute_lua_script_rule(lua_script, profile_id, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
EXPECT_TRUE(tsg_ctx.http_lua_body!=NULL);
@@ -458,7 +466,8 @@ TEST(TSG_LUA_SCRIPT, Lua_Http_Session)
TEST(TSG_LUA_SCRIPT, Lua_Http_Header_Filter)
{
int ret=0;
int profile_id=1,thread_id=0;
int thread_id=0;
const char *profile_id_str = "1";
struct tsg_script_ctx tsg_ctx;
memset(&tsg_ctx,0,sizeof(struct tsg_script_ctx));
@@ -471,7 +480,7 @@ TEST(TSG_LUA_SCRIPT, Lua_Http_Header_Filter)
lua_http_headers_clear();
tsg_ctx.replacing=tsg_ctx.session->resp;
ret = execute_lua_script_rule(lua_script, profile_id, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
const char *server_type_val=tfe_http_std_field_read(tsg_ctx.replacing, TFE_HTTP_SERVER);
@@ -489,7 +498,7 @@ TEST(TSG_LUA_SCRIPT, Lua_Http_Header_Filter)
const char *user_input="This is response data";
evbuffer_add(tsg_ctx.http_body, user_input, strlen(user_input));
ret = execute_lua_script_rule(lua_script, profile_id, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
ret = execute_lua_script_rule(lua_script, (char *)profile_id_str, tsg_ctx.elua_ctx, thread_id, (void *)&tsg_ctx);
EXPECT_TRUE(ret==0);
EXPECT_TRUE(tsg_ctx.http_lua_body!=NULL);
char *__http_body=(char *) evbuffer_pullup(tsg_ctx.http_lua_body, -1);