#include "test_utils.h" #if 1 TEST(TIMEOUT, UDP_TIMEOUT_DATA1) { struct packet pkt; struct session *sess = NULL; struct session_manager *mgr = NULL; timestamp_update(); mgr = session_manager_create(&config); EXPECT_TRUE(mgr != NULL); // C2S REQ Packet printf("=> packet parse: UDP C2S REQ packet\n"); packet_parse(&pkt, (const char *)udp_pkt1_dns_req, sizeof(udp_pkt1_dns_req)); printf("<= packet parse\n\n"); sess = session_manager_update_session(mgr, &pkt); EXPECT_TRUE(sess); __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0); __session_manager_check_udp_timeout_data(mgr, &config, SESSION_STATE_OPENING); EXPECT_TRUE(session_manager_get_expired_session(mgr) == NULL); __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } #endif #if 1 TEST(TIMEOUT, UDP_TIMEOUT_DATA2) { struct packet pkt; struct session *sess = NULL; struct session_manager *mgr = NULL; timestamp_update(); mgr = session_manager_create(&config); EXPECT_TRUE(mgr != NULL); // C2S REQ Packet printf("=> packet parse: UDP C2S REQ packet\n"); packet_parse(&pkt, (const char *)udp_pkt1_dns_req, sizeof(udp_pkt1_dns_req)); printf("<= packet parse\n\n"); sess = session_manager_update_session(mgr, &pkt); EXPECT_TRUE(sess); // S2C RESP Packet printf("=> packet parse: UDP S2C RESP packet\n"); packet_parse(&pkt, (const char *)udp_pkt2_dns_resp, sizeof(udp_pkt2_dns_resp)); printf("<= packet parse\n\n"); sess = session_manager_update_session(mgr, &pkt); EXPECT_TRUE(sess); __session_manager_check_counter(mgr, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0); __session_manager_check_udp_timeout_data(mgr, &config, SESSION_STATE_ACTIVE); EXPECT_TRUE(session_manager_get_expired_session(mgr) == NULL); __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } #endif int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }