Code

store: Fixed handling of metric store values.
[sysdb.git] / t / integration / mock_plugin.c
index 8dcb410af3492a0da588c6ba56f5cc7c3b5ddfaf..5a9718de9d7c0d2698e977a8033096673a8027ea 100644 (file)
@@ -51,6 +51,29 @@ static const char *hostnames[] = {
        "localhost",
 };
 
+static struct {
+       const char *hostname;
+       const char *metric;
+       sdb_metric_store_t store;
+} metrics[] = {
+       { "some.host.name", "foo/bar/qux",
+               { "mock", "/var/lib/collectd/rrd/foo/bar/qux.rrd" } },
+       { "some.host.name", "foo/bar/baz",
+               { "mock", "/var/lib/collectd/rrd/foo/bar/baz.rrd" } },
+       { "some.host.name", "foo2/bar/qux",
+               { "mock", "/var/lib/collectd/rrd/foo2/bar/qux.rrd" } },
+       { "some.host.name", "foo2/bar/baz",
+               { "mock", "/var/lib/collectd/rrd/foo2/bar/baz.rrd" } },
+       { "other.host.name", "foo/bar/qux",
+               { "mock", "/var/lib/collectd/rrd/foo/bar/qux.rrd" } },
+       { "other.host.name", "foo/bar/baz",
+               { "mock", "/var/lib/collectd/rrd/foo/bar/baz.rrd" } },
+       { "other.host.name", "foo2/bar/qux",
+               { "mock", "/var/lib/collectd/rrd/foo2/bar/qux.rrd" } },
+       { "other.host.name", "foo2/bar/baz",
+               { "mock", "/var/lib/collectd/rrd/foo2/bar/baz.rrd" } },
+};
+
 static struct {
        const char *hostname;
        const char *service;
@@ -136,6 +159,15 @@ mock_collect(sdb_object_t *user_data)
                        exit(1);
                }
        }
+       for (i = 0; i < SDB_STATIC_ARRAY_LEN(metrics); ++i) {
+               if ((check = sdb_store_metric(metrics[i].hostname,
+                                               metrics[i].metric, &metrics[i].store,
+                                               sdb_gettime()))) {
+                       sdb_log(SDB_LOG_ERR, "mock::plugin: Failed to store metric: "
+                                       "status %d", check);
+                       exit(1);
+               }
+       }
        for (i = 0; i < SDB_STATIC_ARRAY_LEN(services); ++i) {
                if ((check = sdb_store_service(services[i].hostname,
                                                services[i].service, sdb_gettime()))) {