summaryrefslogtreecommitdiff
path: root/test/src/gtest_dynamic_fieldstat.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/src/gtest_dynamic_fieldstat.cpp')
-rw-r--r--test/src/gtest_dynamic_fieldstat.cpp51
1 files changed, 50 insertions, 1 deletions
diff --git a/test/src/gtest_dynamic_fieldstat.cpp b/test/src/gtest_dynamic_fieldstat.cpp
index 669a980..c58d4f3 100644
--- a/test/src/gtest_dynamic_fieldstat.cpp
+++ b/test/src/gtest_dynamic_fieldstat.cpp
@@ -1034,7 +1034,6 @@ void parse_telegraf_cjson_output_not_equal(const char *compare)
FILE *fp;
char line[1024] = {0};
char *cjson_metric_str = NULL;
- int ret = 0;
fp = fopen(telegraf_output_file, "r");
EXPECT_NE(nullptr, fp);
@@ -2579,6 +2578,56 @@ TEST(FeildStatDynamicAPI, FieldStatDynamicInstanceMultiSetMultiMetric)
}
+TEST(FeildStatDynamicAPI, FieldStatDynamicMetricValueGet)
+{
+ int n_thread = 48;
+ int ret = 0;
+ long long value = 0;
+ struct fieldstat_dynamic_instance *instance = NULL;
+
+ instance = fieldstat_dynamic_instance_new("firewall", n_thread);
+ EXPECT_NE(nullptr, instance);
+
+ ret = fieldstat_dynamic_metric_value_incrby(instance, FIELD_TYPE_GAUGE, "Active_sessions", 1000, NULL, 0, 0);
+ EXPECT_EQ(0, ret);
+ value = fieldstat_dynamic_metric_value_get(instance, "Active_sessions", NULL, 0, 0);
+ EXPECT_EQ(1000, value);
+ fieldstat_dynamic_instance_free(instance);
+}
+
+
+TEST(FeildStatDynamicAPI, FieldStatDynamicTableMetricValueGet)
+{
+ int n_thread = 48;
+ int ret = 0;
+ int table_id = -1;
+ long long value = 0;
+
+ const char *column_name[] = {"packages", "bytes"};
+ enum field_type column_type[] = {FIELD_TYPE_COUNTER, FIELD_TYPE_COUNTER};
+ unsigned int out_column_ids[2];
+
+ struct fieldstat_dynamic_instance *instance = NULL;
+
+ instance = fieldstat_dynamic_instance_new("firewall", n_thread);
+ EXPECT_NE(nullptr, instance);
+
+ table_id = fieldstat_register_dynamic_table(instance, "shaping", column_name, column_type, sizeof(column_name)/sizeof(column_name[0]), out_column_ids);
+ EXPECT_EQ(0, table_id);
+
+ ret = fieldstat_dynamic_table_metric_value_incrby(instance, table_id, out_column_ids[0], "security_rule_hits", 1000, NULL, 0, 0);
+ EXPECT_EQ(0, ret);
+ ret = fieldstat_dynamic_table_metric_value_incrby(instance, table_id, out_column_ids[1], "security_rule_hits", 2000, NULL, 0, 0);
+ EXPECT_EQ(0, ret);
+
+ value = fieldstat_dynamic_table_metric_value_get(instance, table_id, out_column_ids[0], "security_rule_hits", NULL, 0, 0);
+ EXPECT_EQ(1000, value);
+
+ value = fieldstat_dynamic_table_metric_value_get(instance, table_id, out_column_ids[1], "security_rule_hits", NULL, 0, 0);
+ EXPECT_EQ(2000, value);
+
+ fieldstat_dynamic_instance_free(instance);
+}
int main(int argc, char *argv[])
{