Code

t/unit/core/timeseries_test: Add minimalistic test for timeseries.
[sysdb.git] / t / unit / core / store_json_test.c
index 461c583396583d87793809875659cac6ff02a941..ea33ea8416b085a3dbac9eb1b3685ba2540a62a1 100644 (file)
@@ -50,45 +50,43 @@ populate(void)
        store = sdb_memstore_create();
        ck_assert(store != NULL);
 
-       sdb_memstore_host(store, "h1", 1 * SDB_INTERVAL_SECOND);
-       sdb_memstore_host(store, "h2", 3 * SDB_INTERVAL_SECOND);
+       sdb_memstore_host(store, "h1", 1 * SDB_INTERVAL_SECOND, 0);
+       sdb_memstore_host(store, "h2", 3 * SDB_INTERVAL_SECOND, 0);
 
        datum.type = SDB_TYPE_STRING;
        datum.data.string = "v1";
-       sdb_memstore_attribute(store, "h1", "k1", &datum, 1 * SDB_INTERVAL_SECOND);
+       sdb_memstore_attribute(store, "h1", "k1", &datum, 1 * SDB_INTERVAL_SECOND, 0);
        datum.data.string = "v2";
-       sdb_memstore_attribute(store, "h1", "k2", &datum, 2 * SDB_INTERVAL_SECOND);
+       sdb_memstore_attribute(store, "h1", "k2", &datum, 2 * SDB_INTERVAL_SECOND, 0);
        datum.data.string = "v3";
-       sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
+       sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND, 0);
 
+/* TODO: move these tests into generic store tests */
+#if 0
        /* make sure that older updates don't overwrite existing values */
        datum.data.string = "fail";
-       sdb_memstore_attribute(store, "h1", "k2", &datum, 1 * SDB_INTERVAL_SECOND);
-       sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
+       sdb_memstore_attribute(store, "h1", "k2", &datum, 1 * SDB_INTERVAL_SECOND, 0);
+       sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND, 0);
+#endif
 
-       sdb_memstore_metric(store, "h1", "m1", /* store */ NULL, 2 * SDB_INTERVAL_SECOND);
-       sdb_memstore_metric(store, "h1", "m2", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
-       sdb_memstore_metric(store, "h2", "m1", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
+       sdb_memstore_metric(store, "h1", "m1", /* store */ NULL, 2 * SDB_INTERVAL_SECOND, 0);
+       sdb_memstore_metric(store, "h1", "m2", /* store */ NULL, 1 * SDB_INTERVAL_SECOND, 0);
+       sdb_memstore_metric(store, "h2", "m1", /* store */ NULL, 1 * SDB_INTERVAL_SECOND, 0);
 
-       sdb_memstore_service(store, "h2", "s1", 1 * SDB_INTERVAL_SECOND);
-       sdb_memstore_service(store, "h2", "s2", 2 * SDB_INTERVAL_SECOND);
+       sdb_memstore_service(store, "h2", "s1", 1 * SDB_INTERVAL_SECOND, 0);
+       sdb_memstore_service(store, "h2", "s2", 2 * SDB_INTERVAL_SECOND, 0);
 
        datum.type = SDB_TYPE_INTEGER;
        datum.data.integer = 42;
        sdb_memstore_metric_attr(store, "h1", "m1", "k3",
-                       &datum, 2 * SDB_INTERVAL_SECOND);
+                       &datum, 2 * SDB_INTERVAL_SECOND, 0);
 
        datum.data.integer = 123;
        sdb_memstore_service_attr(store, "h2", "s2", "k1",
-                       &datum, 2 * SDB_INTERVAL_SECOND);
+                       &datum, 2 * SDB_INTERVAL_SECOND, 0);
        datum.data.integer = 4711;
        sdb_memstore_service_attr(store, "h2", "s2", "k2",
-                       &datum, 1 * SDB_INTERVAL_SECOND);
-
-       /* don't overwrite k1 */
-       datum.data.integer = 666;
-       sdb_memstore_service_attr(store, "h2", "s2", "k1",
-                       &datum, 2 * SDB_INTERVAL_SECOND);
+                       &datum, 1 * SDB_INTERVAL_SECOND, 0);
 } /* populate */
 
 static void
@@ -116,27 +114,8 @@ scan_tojson_full(sdb_memstore_obj_t *obj, sdb_memstore_matcher_t *filter,
 static void
 verify_json_output(sdb_strbuf_t *buf, const char *expected)
 {
-       const char *got = sdb_strbuf_string(buf);
-       size_t len1 = strlen(got);
-       size_t len2 = strlen(expected);
-
-       size_t i;
-       int pos = -1;
-
-       if (len1 != len2)
-               pos = (int)SDB_MIN(len1, len2);
-
-       for (i = 0; i < SDB_MIN(len1, len2); ++i) {
-               if (got[i] != expected[i]) {
-                       pos = (int)i;
-                       break;
-               }
-       }
-
-       fail_unless(pos == -1,
-                       "Serializing hosts to JSON returned unexpected result\n"
-                       "         got: %s\n              %*s\n    expected: %s",
-                       got, pos + 1, "^", expected);
+       sdb_diff_strings("Serializing hosts to JSON returned unexpected result",
+                       sdb_strbuf_string(buf), expected);
 } /* verify_json_output */
 
 struct {