index c056ac7c6d23e132f4a32d83a82ac2dc61173952..796c50cb1eddda2c6b030ccfc50ed73b23e3c83c 100644 (file)
--- a/t/unit/core/store_test.c
+++ b/t/unit/core/store_test.c
sdb_store_attribute("h1", "k2", &datum, 1);
sdb_store_attribute("h1", "k3", &datum, 2);
- sdb_store_metric("h1", "m1", 2);
- sdb_store_metric("h1", "m2", 1);
+ sdb_store_metric("h1", "m1", /* store */ NULL, 2);
+ sdb_store_metric("h1", "m2", /* store */ NULL, 1);
sdb_store_service("h2", "s1", 1);
sdb_store_service("h2", "s2", 2);
START_TEST(test_store_metric)
{
+ sdb_metric_store_t store1 = { "dummy-type1", "dummy-id1" };
+ sdb_metric_store_t store2 = { "dummy-type2", "dummy-id2" };
+
struct {
const char *host;
const char *metric;
+ sdb_metric_store_t *store;
sdb_time_t last_update;
int expected;
} golden_data[] = {
- { "k", "m", 1, -1 },
- { "k", "m", 1, -1 }, /* retry to ensure the host is not created */
- { "l", "m1", 1, 0 },
- { "l", "m1", 2, 0 },
- { "l", "m1", 2, 1 },
- { "l", "m2", 1, 0 },
- { "m", "m", 1, 0 },
- { "m", "m", 1, 1 },
+ { "k", "m", NULL, 1, -1 },
+ { "k", "m", NULL, 1, -1 }, /* retry to ensure the host is not created */
+ { "k", "m", &store1, 1, -1 },
+ { "l", "m1", NULL, 1, 0 },
+ { "l", "m1", &store1, 2, 0 },
+ { "l", "m1", &store1, 3, 0 },
+ { "l", "m1", NULL, 3, 1 },
+ { "l", "m2", &store1, 1, 0 },
+ { "l", "m2", &store2, 2, 0 },
+ { "l", "m2", NULL, 3, 0 },
+ { "m", "m", &store1, 1, 0 },
+ { "m", "m", NULL, 2, 0 },
+ { "m", "m", NULL, 2, 1 },
+ { "m", "m", &store1, 3, 0 },
+ { "m", "m", &store2, 4, 0 },
+ { "m", "m", NULL, 5, 0 },
};
size_t i;
int status;
status = sdb_store_metric(golden_data[i].host,
- golden_data[i].metric, golden_data[i].last_update);
+ golden_data[i].metric, golden_data[i].store,
+ golden_data[i].last_update);
fail_unless(status == golden_data[i].expected,
- "sdb_store_metric(%s, %s, %d) = %d; expected: %d",
+ "sdb_store_metric(%s, %s, %p, %d) = %d; expected: %d",
golden_data[i].host, golden_data[i].metric,
- golden_data[i].last_update, status, golden_data[i].expected);
+ golden_data[i].store, golden_data[i].last_update,
+ status, golden_data[i].expected);
}
}
END_TEST
sdb_store_host("m", 1);
sdb_store_host("l", 1);
- sdb_store_metric("m", "m1", 1);
- sdb_store_metric("l", "m1", 1);
- sdb_store_metric("l", "m2", 1);
+ sdb_store_metric("m", "m1", NULL, 1);
+ sdb_store_metric("l", "m1", NULL, 1);
+ sdb_store_metric("l", "m2", NULL, 1);
for (i = 0; i < SDB_STATIC_ARRAY_LEN(golden_data); ++i) {
int status;
const char *expected;
} golden_data[] = {
{ { NULL, 0, SDB_DATA_INIT }, 0,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]}"
- "]}" },
+ "]" },
{ { NULL, 0, SDB_DATA_INIT }, SDB_SKIP_SERVICES,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": [], "
"\"metrics\": []}"
- "]}" },
+ "]" },
{ { NULL, 0, SDB_DATA_INIT }, SDB_SKIP_METRICS,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]}"
- "]}" },
+ "]" },
{ { NULL, 0, SDB_DATA_INIT }, SDB_SKIP_ATTRIBUTES,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"metrics\": ["
"\"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]}"
- "]}" },
+ "]" },
{ { NULL, 0, SDB_DATA_INIT }, SDB_SKIP_ALL,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
- "]}" },
+ "]" },
{ { sdb_store_gt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 } } }, 0,
- "{\"hosts\":["
+ "["
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": [], "
"\"update_interval\": \"0s\", \"backends\": []},"
"]}"
"]}"
- "]}" },
+ "]" },
{ { sdb_store_le_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 } } }, 0,
- "{\"hosts\":["
+ "["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"attributes\": []}"
"], "
"\"services\": []}"
- "]}" },
+ "]" },
{ { sdb_store_ge_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 3 } } }, 0,
- "{\"hosts\":["
+ "["
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": [], "
"\"metrics\": [], "
"\"services\": []}"
- "]}" },
+ "]" },
};
buf = sdb_strbuf_create(0);