🧪 test(lpi test plugin): publish test result on session free

This commit is contained in:
yangwei
2024-09-04 14:44:30 +08:00
parent 9ee8df58a7
commit 2846142c7c

View File

@@ -108,8 +108,7 @@ static void publish_session_test_result(struct lpi_test_plugin_env *env, cJSON
return;
}
void *lpi_test_ctx_new(struct session *sess, void *plugin_env)
static void gtest_lpi_on_session_free(struct session *sess, void *per_session_ctx, void *plugin_env)
{
cJSON *ctx =cJSON_CreateObject();
cJSON_AddStringToObject(ctx, "Tuple4", session_get0_readable_addr(sess));
@@ -122,16 +121,7 @@ static void publish_session_test_result(struct lpi_test_plugin_env *env, cJSON
{
cJSON_AddStringToObject(ctx, "STREAM_TYPE", "UDP");
}
return ctx;
}
static void gtest_lpi_plugin_on_msg(struct session *sess, int topic_id, const void *msg, void *per_session_ctx, void *plugin_env)
{
if(session_get_current_state(sess)==SESSION_STATE_CLOSED)
{
publish_session_test_result((struct lpi_test_plugin_env*)plugin_env, (cJSON *)per_session_ctx, sess);
}
return;
publish_session_test_result((struct lpi_test_plugin_env*)plugin_env, ctx, sess);
}
extern "C" void *gtest_lpi_plugin_load(struct stellar *st)
@@ -152,7 +142,7 @@ extern "C" void *gtest_lpi_plugin_load(struct stellar *st)
perror("gtest_lpi_plugin_load:l7_protocol_mapper failed !!!\n");
exit(-1);
}
env->test_app_plugin_id=stellar_session_plugin_register(st, lpi_test_ctx_new, NULL, env);
env->test_app_plugin_id=stellar_session_plugin_register_with_hook(st, NULL, NULL, NULL, gtest_lpi_on_session_free, env);
if(env->test_app_plugin_id < 0)
{
perror("gtest_lpi_plugin_load:stellar_plugin_register failed !!!\n");
@@ -167,8 +157,6 @@ extern "C" void *gtest_lpi_plugin_load(struct stellar *st)
exit(-1);
}
stellar_session_mq_subscribe(st, tcp_topic_id, gtest_lpi_plugin_on_msg, env->test_app_plugin_id);
stellar_session_mq_subscribe(st, udp_topic_id, gtest_lpi_plugin_on_msg, env->test_app_plugin_id);
env->expect_json_topic_id = stellar_mq_create_topic(st, "EXPECT_JSON", stellar_msg_free_default, NULL);
printf("gtest_lpi_plugin_load OK!\n");