summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryangwei <[email protected]>2024-09-04 14:44:30 +0800
committeryangwei <[email protected]>2024-09-04 14:44:30 +0800
commit2846142c7c2214ca41045b112cfdf76cb23e3ecc (patch)
tree89b0e624e9765655f230f04ed4eba296e0e79247
parent9ee8df58a7df931a46f2cd1b169379cbf7b71b53 (diff)
🧪 test(lpi test plugin): publish test result on session free
-rw-r--r--test/lpi_plugin/gtest_lpi_plugin.cpp18
1 files changed, 3 insertions, 15 deletions
diff --git a/test/lpi_plugin/gtest_lpi_plugin.cpp b/test/lpi_plugin/gtest_lpi_plugin.cpp
index fbf4b9c..41478f8 100644
--- a/test/lpi_plugin/gtest_lpi_plugin.cpp
+++ b/test/lpi_plugin/gtest_lpi_plugin.cpp
@@ -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");