| 249 | } |
| 250 | |
| 251 | static int test_update(cachedb_funcs *api, cachedb_con *con, |
| 252 | cdb_dict_t *out_pairs) |
| 253 | { |
| 254 | cdb_filter_t *filter; |
| 255 | int_str_t isv; |
| 256 | cdb_key_t key; |
| 257 | str subkey; |
| 258 | cdb_pair_t *pair, *dict_pair; |
| 259 | |
| 260 | cdb_pkey_init(&key, "aor"); |
| 261 | init_str(&isv.s, "foo@opensips.org"); isv.is_str = 1; |
| 262 | filter = cdb_append_filter(NULL, &key, CDB_OP_EQ, &isv); |
| 263 | |
| 264 | cdb_dict_init(out_pairs); |
| 265 | |
| 266 | cdb_key_init(&key, "key_null"); |
| 267 | pair = cdb_mk_pair(&key, NULL); |
| 268 | pair->val.type = CDB_NULL; |
| 269 | cdb_dict_add(pair, out_pairs); |
| 270 | |
| 271 | cdb_key_init(&key, "key_32bit"); |
| 272 | pair = cdb_mk_pair(&key, NULL); |
| 273 | pair->val.type = CDB_INT32; |
| 274 | pair->val.val.i32 = 2147483647; |
| 275 | cdb_dict_add(pair, out_pairs); |
| 276 | |
| 277 | cdb_key_init(&key, "key_64bit"); |
| 278 | pair = cdb_mk_pair(&key, NULL); |
| 279 | pair->val.type = CDB_INT64; |
| 280 | pair->val.val.i64 = 9223372036854775807; |
| 281 | cdb_dict_add(pair, out_pairs); |
| 282 | |
| 283 | cdb_key_init(&key, "key_str"); |
| 284 | pair = cdb_mk_pair(&key, NULL); |
| 285 | pair->val.type = CDB_STR; |
| 286 | init_str(&pair->val.val.st, pkg_strdup("31337")); |
| 287 | cdb_dict_add(pair, out_pairs); |
| 288 | |
| 289 | /* set a dict subkey which contains a dict */ |
| 290 | cdb_key_init(&key, "key_dict"); init_str(&subkey, "subkey-dict"); |
| 291 | dict_pair = cdb_mk_pair(&key, &subkey); |
| 292 | dict_pair->val.type = CDB_DICT; |
| 293 | cdb_dict_init(&dict_pair->val.val.dict); |
| 294 | cdb_key_init(&key, "foo"); |
| 295 | pair = cdb_mk_pair(&key, NULL); |
| 296 | pair->val.type = CDB_INT64; |
| 297 | pair->val.val.i64 = 9223372036854775807; |
| 298 | cdb_dict_add(pair, &dict_pair->val.val.dict); |
| 299 | cdb_key_init(&key, "bar"); |
| 300 | pair = cdb_mk_pair(&key, NULL); |
| 301 | pair->val.type = CDB_STR; |
| 302 | init_str(&pair->val.val.st, pkg_strdup("hello, world!")); |
| 303 | cdb_dict_add(pair, &dict_pair->val.val.dict); |
| 304 | cdb_dict_add(dict_pair, out_pairs); |
| 305 | |
| 306 | ok(api->update(con, filter, out_pairs) == 0, "test_update #1"); |
| 307 | |
| 308 | cdb_free_filters(filter); |
no test coverage detected