diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_easy_fs.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/test_easy_fs.cpp b/test/test_easy_fs.cpp index 44dbed9..0595593 100644 --- a/test/test_easy_fs.cpp +++ b/test/test_easy_fs.cpp @@ -40,6 +40,33 @@ TEST(test_easy_fieldstat, output_to_buff) fieldstat_easy_free(fse); } +TEST(test_easy_fieldstat, output_to_buff_with_delta) +{ + struct fieldstat_easy *fse = fieldstat_easy_new(10, NULL, &TEST_TAG_STRING, 1); + fieldstat_easy_enable_delta_in_active_output(fse); + fieldstat_easy_register_counter(fse, "metric counter"); + fieldstat_easy_counter_incrby(fse, 0, 0, &TEST_TAG_INT, 1, 1); + char *buff = NULL; + size_t buff_len = 0; + fieldstat_easy_output(fse, &buff, &buff_len); + free(buff); + fieldstat_easy_counter_incrby(fse, 0, 0, &TEST_TAG_INT, 1, 1); + fieldstat_easy_output(fse, &buff, &buff_len); + + cJSON *root = cJSON_Parse(buff); + cJSON *cell = cJSON_GetArrayItem(root, 0); + cJSON *metric = cJSON_GetObjectItem(cell, "fields"); + long long value = cJSON_GetObjectItem(metric, "metric counter")->valueint; + EXPECT_EQ(value, 2); + cJSON *metric_delta = cJSON_GetObjectItem(cell, "fields_delta"); + long long value_delta = cJSON_GetObjectItem(metric_delta, "metric counter")->valueint; + EXPECT_EQ(value_delta, 1); + + cJSON_Delete(root); + free(buff); + fieldstat_easy_free(fse); +} + cJSON *read_file() { std::ifstream ifs(FILENAME); |
