summaryrefslogtreecommitdiff
path: root/common/test
diff options
context:
space:
mode:
Diffstat (limited to 'common/test')
-rw-r--r--common/test/test_session_table.cpp163
1 files changed, 143 insertions, 20 deletions
diff --git a/common/test/test_session_table.cpp b/common/test/test_session_table.cpp
index 2ef913a..aa4895b 100644
--- a/common/test/test_session_table.cpp
+++ b/common/test/test_session_table.cpp
@@ -36,12 +36,12 @@ TEST(STREAM_TABLE, INSERT)
INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == -1);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == -1);
EXPECT_TRUE(session_table_count(table) == 1);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == -1);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == -1);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Destory
@@ -61,8 +61,8 @@ TEST(STREAM_TABLE, SEARCH_BY_ID)
INIT_ADDR_V4(addr3, "1.1.1.1", 1111, "2.2.2.2", 2222);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Search By Session ID
@@ -93,8 +93,8 @@ TEST(STREAM_TABLE, SEARCH_BY_ADDR)
INIT_ADDR_V4(addr3, "1.1.1.1", 1111, "2.2.2.2", 2222);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Search By Session Addr
@@ -128,8 +128,8 @@ TEST(STREAM_TABLE, SEARCH_BY_REVERSE_ADDR)
tuple4_reverse(&addr2, &addr2_reverse);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Search By Session Reverse Addr
@@ -161,8 +161,8 @@ TEST(STREAM_TABLE, DELETE_BY_ID)
tuple4_reverse(&addr2, &addr2_reverse);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Delete By Session ID
@@ -198,8 +198,8 @@ TEST(STREAM_TABLE, DELETE_BY_ADDR)
tuple4_reverse(&addr2, &addr2_reverse);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Delete By Session Addr
@@ -235,8 +235,8 @@ TEST(STREAM_TABLE, DELETE_BY_REVERSE_ADDR)
tuple4_reverse(&addr2, &addr2_reverse);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
EXPECT_TRUE(session_table_count(table) == 2);
// TEST Delete By Session Reverse Addr
@@ -268,8 +268,8 @@ TEST(STREAM_TABLE, RESET)
INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
// TEST Insert
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 1, &addr1, val_hello, free) == -1);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 1, &addr1, val_hello, free) == -1);
EXPECT_TRUE(session_table_count(table) == 1);
// TEST Reset
@@ -278,8 +278,8 @@ TEST(STREAM_TABLE, RESET)
EXPECT_TRUE(session_table_search_by_addr(table, &addr1) == nullptr);
EXPECT_TRUE(session_table_count(table) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == 0);
- EXPECT_TRUE(session_table_insert(table, 2, &addr2, val_world, free) == -1);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 0, 2, &addr2, val_world, free) == -1);
EXPECT_TRUE(session_table_search_by_id(table, 2) != nullptr);
EXPECT_TRUE(session_table_search_by_addr(table, &addr2) != nullptr);
EXPECT_TRUE(session_table_count(table) == 1);
@@ -288,6 +288,129 @@ TEST(STREAM_TABLE, RESET)
session_table_destory(table);
}
+TEST(STREAM_TABLE_SESSION_ID_ONLY_KEY, INSERT)
+{
+ // TEST Create
+ struct session_table *table = session_table_create();
+ EXPECT_TRUE(table != nullptr);
+
+ char *val_hello = strdup("HELLO");
+ char *val_world = strdup("WORLD");
+ INIT_ADDR_V4(addr1, "1.2.3.4", 1234, "4.3.2.1", 4321);
+ INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
+
+ // TEST Insert
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == -1);
+ EXPECT_TRUE(session_table_count(table) == 1);
+
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == -1);
+ EXPECT_TRUE(session_table_count(table) == 2);
+
+ // TEST Destory
+ session_table_destory(table);
+}
+
+TEST(STREAM_TABLE_SESSION_ID_ONLY_KEY, SEARCH_BY_ID)
+{
+ // TEST Create
+ struct session_table *table = session_table_create();
+ EXPECT_TRUE(table != nullptr);
+
+ char *val_hello = strdup("HELLO");
+ char *val_world = strdup("WORLD");
+ INIT_ADDR_V4(addr1, "1.2.3.4", 1234, "4.3.2.1", 4321);
+ INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
+ INIT_ADDR_V4(addr3, "1.1.1.1", 1111, "2.2.2.2", 2222);
+
+ // TEST Insert
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_count(table) == 2);
+
+ // TEST Search By Session ID
+ struct session_node *node = NULL;
+ node = session_table_search_by_id(table, 1);
+ EXPECT_TRUE(node != nullptr);
+ EXPECT_STREQ((const char *)node->val_data, "HELLO");
+ node = session_table_search_by_id(table, 2);
+ EXPECT_TRUE(node != nullptr);
+ EXPECT_STREQ((const char *)node->val_data, "WORLD");
+ node = session_table_search_by_id(table, 3);
+ EXPECT_TRUE(node == nullptr);
+
+ // TEST Destory
+ session_table_destory(table);
+}
+
+TEST(STREAM_TABLE_SESSION_ID_ONLY_KEY, DELETE_BY_ID)
+{
+ // TEST Create
+ struct session_table *table = session_table_create();
+ EXPECT_TRUE(table != nullptr);
+
+ char *val_hello = strdup("HELLO");
+ char *val_world = strdup("WORLD");
+ INIT_ADDR_V4(addr1, "1.2.3.4", 1234, "4.3.2.1", 4321);
+ INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
+ struct tuple4 addr1_reverse;
+ struct tuple4 addr2_reverse;
+ tuple4_reverse(&addr1, &addr1_reverse);
+ tuple4_reverse(&addr2, &addr2_reverse);
+
+ // TEST Insert
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_count(table) == 2);
+
+ // TEST Delete By Session ID
+ EXPECT_TRUE(session_table_delete_by_id(table, 1) == 0);
+ EXPECT_TRUE(session_table_search_by_id(table, 1) == NULL);
+ EXPECT_TRUE(session_table_search_by_addr(table, &addr1) == NULL);
+ EXPECT_TRUE(session_table_search_by_addr(table, &addr1_reverse) == NULL);
+ EXPECT_TRUE(session_table_count(table) == 1);
+
+ EXPECT_TRUE(session_table_delete_by_id(table, 2) == 0);
+ EXPECT_TRUE(session_table_search_by_id(table, 2) == NULL);
+ EXPECT_TRUE(session_table_search_by_addr(table, &addr2) == NULL);
+ EXPECT_TRUE(session_table_search_by_addr(table, &addr2_reverse) == NULL);
+ EXPECT_TRUE(session_table_count(table) == 0);
+
+ // TEST Destory
+ session_table_destory(table);
+}
+
+TEST(STREAM_TABLE_SESSION_ID_ONLY_KEY, RESET)
+{
+ // TEST Create
+ struct session_table *table = session_table_create();
+ EXPECT_TRUE(table != nullptr);
+
+ char *val_hello = strdup("HELLO");
+ char *val_world = strdup("WORLD");
+ INIT_ADDR_V4(addr1, "1.2.3.4", 1234, "4.3.2.1", 4321);
+ INIT_ADDR_V6(addr2, "2:3:4::5", 2345, "5:4:3::2", 5342);
+
+ // TEST Insert
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 1, &addr1, val_hello, free) == -1);
+ EXPECT_TRUE(session_table_count(table) == 1);
+
+ // TEST Reset
+ session_table_reset(table);
+ EXPECT_TRUE(session_table_search_by_id(table, 1) == nullptr);
+ EXPECT_TRUE(session_table_count(table) == 0);
+
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == 0);
+ EXPECT_TRUE(session_table_insert(table, 1, 2, &addr2, val_world, free) == -1);
+ EXPECT_TRUE(session_table_search_by_id(table, 2) != nullptr);
+ EXPECT_TRUE(session_table_count(table) == 1);
+
+ // TEST Destory
+ session_table_destory(table);
+}
+
int main(int argc, char **argv)
{
::testing::InitGoogleTest(&argc, argv);