Line data Source code
1 : /**
2 : * @file
3 : *
4 : * @brief
5 : *
6 : * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
7 : */
8 :
9 : #include <tests.hpp>
10 :
11 20 : TEST (kdb, get_set)
12 : {
13 : // cout << "testing kdbSet() and kdbGet()" << endl;
14 :
15 : {
16 8 : KeySet ks_set (5, *Key ("user/tests/key3", KEY_END), *Key ("user/tests/key3/1", KEY_END),
17 16 : *Key ("user/tests/key3/2", KEY_END), *Key ("user/tests/key3/3", KEY_VALUE, "value", KEY_END), KS_END);
18 4 : KeySet ks;
19 4 : KDB kdb;
20 8 : kdb.get (ks, "user/tests/key3");
21 2 : ks.append (ks_set);
22 8 : kdb.set (ks, "user/tests/key3");
23 : }
24 :
25 : // check if they were written
26 : {
27 4 : KDB kdb;
28 4 : KeySet ks;
29 8 : kdb.get (ks, "user/tests/key3");
30 18 : exit_if_fail (ks.lookup ("user/tests/key3/3"), "could not find previously written key");
31 22 : succeed_if (ks.lookup ("user/tests/key3/3").get<std::string> () == "value", "could not get value");
32 18 : succeed_if (!ks.lookup ("user/tests/key3/3").needSync (), "should not need sync");
33 : }
34 :
35 : // now remove keys (cleanup)
36 : {
37 4 : KeySet ks;
38 4 : KDB kdb;
39 8 : kdb.get (ks, "user/tests/key3");
40 8 : ks.cut (Key ("user/tests/key3", KEY_END));
41 8 : kdb.set (ks, "user/tests/key3");
42 : }
43 :
44 : // check if its gone now
45 : {
46 4 : KDB kdb;
47 4 : KeySet ks;
48 8 : kdb.get (ks, "user/tests/key3");
49 18 : succeed_if (!ks.lookup ("user/tests/key3/3"), "key was not removed");
50 : }
51 6 : }
|