#include #include #include "bfd.h" #include "policy.h" #include "health_check.h" TEST(HEALTH_CHECK_TABLE, INSERT) { // 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.port = 65535; policy1.retires = 11; policy1.interval_ms = 111; EXPECT_TRUE(health_check_session_add(1, &policy1) == 0); EXPECT_TRUE(health_check_session_add(1, &policy1) == -1); 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.port = 65535; policy2.retires = 22; policy2.interval_ms = 222; EXPECT_TRUE(health_check_session_add(2, &policy2) == 0); EXPECT_TRUE(health_check_session_add(2, &policy2) == -1); 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.port = 65535; policy3.retires = 33; policy3.interval_ms = 333; EXPECT_TRUE(health_check_session_add(3, &policy3) == 0); EXPECT_TRUE(health_check_session_add(3, &policy3) == -1); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(1) == 0); EXPECT_TRUE(health_check_session_del(2) == 0); EXPECT_TRUE(health_check_session_del(3) == 0); } TEST(HEALTH_CHECK_TABLE, GET_STATUS) { // 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.port = 65535; policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE(health_check_session_add(4, &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.port = 65535; policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE(health_check_session_add(5, &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.port = 65535; policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE(health_check_session_add(6, &policy3) == 0); // TEST get status EXPECT_TRUE(health_check_session_get_status(4) == 0); EXPECT_TRUE(health_check_session_get_status(5) == 0); EXPECT_TRUE(health_check_session_get_status(6) == 0); EXPECT_TRUE(health_check_session_get_status(7) == -1); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(4) == 0); EXPECT_TRUE(health_check_session_del(5) == 0); EXPECT_TRUE(health_check_session_del(6) == 0); } TEST(HEALTH_CHECK_TABLE, SET_STATUS) { // 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.port = 65535; policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE(health_check_session_add(7, &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.port = 65535; policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE(health_check_session_add(8, &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.port = 65535; policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE(health_check_session_add(9, &policy3) == 0); // TEST get status EXPECT_TRUE(health_check_session_get_status(7) == 0); EXPECT_TRUE(health_check_session_get_status(8) == 0); EXPECT_TRUE(health_check_session_get_status(9) == 0); // TEST set status EXPECT_TRUE(health_check_session_set_status(7, 1) == 0); EXPECT_TRUE(health_check_session_set_status(8, 1) == 0); EXPECT_TRUE(health_check_session_set_status(9, 1) == 0); EXPECT_TRUE(health_check_session_set_status(10, 1) == -1); // TEST get status EXPECT_TRUE(health_check_session_get_status(7) == 1); EXPECT_TRUE(health_check_session_get_status(8) == 1); EXPECT_TRUE(health_check_session_get_status(9) == 1); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(7) == 0); EXPECT_TRUE(health_check_session_del(8) == 0); EXPECT_TRUE(health_check_session_del(9) == 0); } TEST(HEALTH_CHECK_TABLE, DELETE) { // 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.port = 65535; policy1.retires = 5; policy1.interval_ms = 300; EXPECT_TRUE(health_check_session_add(10, &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.port = 65535; policy2.retires = 5; policy2.interval_ms = 300; EXPECT_TRUE(health_check_session_add(11, &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.port = 65535; policy3.retires = 5; policy3.interval_ms = 300; EXPECT_TRUE(health_check_session_add(12, &policy3) == 0); // TEST Delete By Session ID EXPECT_TRUE(health_check_session_del(10) == 0); EXPECT_TRUE(health_check_session_del(10) == -1); EXPECT_TRUE(health_check_session_del(11) == 0); EXPECT_TRUE(health_check_session_del(11) == -1); EXPECT_TRUE(health_check_session_del(12) == 0); EXPECT_TRUE(health_check_session_del(12) == -1); } int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }