summaryrefslogtreecommitdiff
path: root/platform/test/gtest_sf_status.cpp
blob: 79962f104dd09bfb65a531185127bd726b41aaa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <gtest/gtest.h>

#include "sf_status.h"

TEST(SF_STATUS, TEST)
{
	uuid_t sf_uuid1;
	uuid_t sf_uuid2;
	uuid_generate(sf_uuid1);
	uuid_generate(sf_uuid2);
	struct kafka *kfk = kafka_create("./test_resource/sce.conf");
	EXPECT_TRUE(kfk != NULL);
	struct sf_status *status = sf_status_create("./test_resource/sce.conf", kfk);
	EXPECT_TRUE(status != NULL);

	EXPECT_TRUE(sf_status_get_ouput_interval_ms(status) == 1000);

	struct sf_status_key key1 = {0};
	key1.vsys_id = 11;
	uuid_copy(key1.sf_uuid, sf_uuid1);

	struct sf_status_key key2 = {0};
	key2.vsys_id = 22;
	uuid_copy(key2.sf_uuid, sf_uuid2);

	sf_status_update(status, &key1, 0, 1);
	sf_status_update(status, &key2, 1, 2);

	printf("\n========================================\n expect key1 + key2 \n========================================\n");
	sf_status_output(status);

	sf_status_delete(status, &key1);
	printf("\n========================================\n expect only key2   \n========================================\n");
	sf_status_output(status);

	sf_status_delete(status, &key2);
	printf("\n========================================\n expect no output   \n========================================\n");
	sf_status_output(status);

	sleep(2);

	sf_status_destory(status);
	kafka_destroy(kfk);
}

int main(int argc, char **argv)
{
	::testing::InitGoogleTest(&argc, argv);
	return RUN_ALL_TESTS();
}