#include #include #include "bfd.h" #include "policy.h" #include "health_check.h" TEST(HEALTH_CHECK_TABLE, INSERT) { uint64_t session_id1 = 0; uint64_t session_id2 = 0; uint64_t session_id3 = 0; uint64_t session_id4 = 0; uint64_t session_id5 = 0; // TEST Create health_check_session_init("./sce.conf"); // TEST Insert struct health_check policy1; memset(&policy1, 0, sizeof(policy1)); policy1.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy1.address, sizeof(policy1.address), "1.1.1.1"); policy1.retires = 11; policy1.interval_ms = 111; EXPECT_TRUE((session_id1 = health_check_session_add(1, 0, &policy1)) > 0); struct health_check policy2; memset(&policy2, 0, sizeof(policy2)); policy2.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy2.address, sizeof(policy2.address), "2.2.2.2"); policy2.retires = 22; policy2.interval_ms = 222; EXPECT_TRUE((session_id2 = health_check_session_add(2, 0, &policy2)) > 0); EXPECT_TRUE((session_id3 = health_check_session_add(3, 0, &policy2)) > 0); struct health_check policy3; memset(&policy3, 0, sizeof(policy3)); policy3.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy3.address, sizeof(policy3.address), "2001:0db8:0000:0000:0000:8a2e:0370:7334"); policy3.retires = 33; policy3.interval_ms = 333; EXPECT_TRUE((session_id4 = health_check_session_add(4, 0, &policy3)) > 0); EXPECT_TRUE((session_id5 = health_check_session_add(5, 0, &policy3)) > 0); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(session_id1, 1) == 0); EXPECT_TRUE(health_check_session_del(session_id2, 2) == 0); EXPECT_TRUE(health_check_session_del(session_id3, 3) == 0); EXPECT_TRUE(health_check_session_del(session_id4, 4) == 0); EXPECT_TRUE(health_check_session_del(session_id5, 5) == 0); } TEST(HEALTH_CHECK_TABLE, GET_STATUS) { uint64_t session_id1 = 0; uint64_t session_id2 = 0; uint64_t session_id3 = 0; // TEST Insert struct health_check policy1; memset(&policy1, 0, sizeof(policy1)); policy1.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy1.address, sizeof(policy1.address), "4.4.4.4"); policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE((session_id1 = health_check_session_add(1, 0, &policy1)) > 0); struct health_check policy2; memset(&policy2, 0, sizeof(policy2)); policy2.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy2.address, sizeof(policy2.address), "5.5.5.5"); policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE((session_id2 = health_check_session_add(2, 0, &policy2)) > 0); struct health_check policy3; memset(&policy3, 0, sizeof(policy3)); policy3.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy3.address, sizeof(policy3.address), "6.6.6.6"); policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE((session_id3 = health_check_session_add(3, 0, &policy3)) > 0); // TEST get status EXPECT_TRUE(health_check_session_get_status(session_id1) == 0); EXPECT_TRUE(health_check_session_get_status(session_id2) == 0); EXPECT_TRUE(health_check_session_get_status(session_id3) == 0); EXPECT_TRUE(health_check_session_get_status(7) == -1); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(session_id1, 1) == 0); EXPECT_TRUE(health_check_session_del(session_id2, 2) == 0); EXPECT_TRUE(health_check_session_del(session_id3, 3) == 0); } TEST(HEALTH_CHECK_TABLE, SET_STATUS) { uint64_t session_id1 = 0; uint64_t session_id2 = 0; uint64_t session_id3 = 0; // TEST Insert struct health_check policy1; memset(&policy1, 0, sizeof(policy1)); policy1.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy1.address, sizeof(policy1.address), "7.7.7.7"); policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE((session_id1 = health_check_session_add(1, 0, &policy1)) > 0); struct health_check policy2; memset(&policy2, 0, sizeof(policy2)); policy2.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy2.address, sizeof(policy2.address), "8.8.8.8"); policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE((session_id2 = health_check_session_add(2, 0, &policy2)) > 0); struct health_check policy3; memset(&policy3, 0, sizeof(policy3)); policy3.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy3.address, sizeof(policy3.address), "9.9.9.9"); policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE((session_id3 = health_check_session_add(3, 0, &policy3)) > 0); // TEST get status EXPECT_TRUE(health_check_session_get_status(session_id1) == 0); EXPECT_TRUE(health_check_session_get_status(session_id2) == 0); EXPECT_TRUE(health_check_session_get_status(session_id3) == 0); // TEST set status EXPECT_TRUE(health_check_session_set_status(session_id1, 1) == 0); EXPECT_TRUE(health_check_session_set_status(session_id2, 1) == 0); EXPECT_TRUE(health_check_session_set_status(session_id3, 1) == 0); EXPECT_TRUE(health_check_session_set_status(10, 1) == -1); // TEST get status EXPECT_TRUE(health_check_session_get_status(session_id1) == 1); EXPECT_TRUE(health_check_session_get_status(session_id2) == 1); EXPECT_TRUE(health_check_session_get_status(session_id3) == 1); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(session_id1, 1) == 0); EXPECT_TRUE(health_check_session_del(session_id2, 2) == 0); EXPECT_TRUE(health_check_session_del(session_id3, 3) == 0); } #if 0 TEST(HEALTH_CHECK_TABLE, DELETE) { uint64_t session_id1 = 0; uint64_t session_id2 = 0; uint64_t session_id3 = 0; uint64_t session_id4 = 0; uint64_t session_id5 = 0; uint64_t session_id6 = 0; // TEST Insert struct health_check policy1; memset(&policy1, 0, sizeof(policy1)); policy1.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy1.address, sizeof(policy1.address), "10.10.10.10"); policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE((session_id1 = health_check_session_add(1, 0, &policy1)) > 0); struct health_check policy2; memset(&policy2, 0, sizeof(policy2)); policy2.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy2.address, sizeof(policy2.address), "11.11.11.11"); policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE((session_id2 = health_check_session_add(2, 0, &policy2)) > 0); EXPECT_TRUE((session_id3 = health_check_session_add(3, 0, &policy2)) > 0); struct health_check policy3; memset(&policy3, 0, sizeof(policy3)); policy3.method = HEALTH_CHECK_METHOD_BFD; snprintf(policy3.address, sizeof(policy3.address), "12.12.12.12"); policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE((session_id4 = health_check_session_add(4, 0, &policy3)) > 0); EXPECT_TRUE((session_id5 = health_check_session_add(5, 0, &policy3)) > 0); EXPECT_TRUE((session_id6 = health_check_session_add(6, 0, &policy3)) > 0); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(session_id1, 1) == 0); EXPECT_TRUE(health_check_session_del(session_id1, 1) == -1); EXPECT_TRUE(health_check_session_del(session_id2, 2) == 0); EXPECT_TRUE(health_check_session_del(session_id3, 3) == 0); EXPECT_TRUE(health_check_session_del(session_id3, 3) == -1); EXPECT_TRUE(health_check_session_del(session_id5, 4) == 0); EXPECT_TRUE(health_check_session_del(session_id5, 5) == 0); EXPECT_TRUE(health_check_session_del(session_id6, 6) == 0); EXPECT_TRUE(health_check_session_del(session_id6, 6) == -1); } #endif int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }