188 lines
6.0 KiB
C++
188 lines
6.0 KiB
C++
#include <gtest/gtest.h>
|
|
#include <arpa/inet.h>
|
|
|
|
#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();
|
|
} |