Git init
[pkgs/e/elektra.git] / src / bindings / python / test.py
1 #!/usr/bin/python
2 # try:
3 #     python test.py -v
4 # You need the kdb tool installed
5
6
7 """
8 >>> ###################### libelektra tests   ########################
9 >>> # Set user/key using the kdbtool and then remove it using kdbRemove
10 >>> import libelektra
11 >>> import elektra
12 >>> import os
13 >>> import string
14 >>> os.system("kdb set user/key 'text'")
15 0
16 >>> kdb=libelektra.kdbOpen()
17 >>> libelektra.kdbRemove(kdb,"user/key")
18 0
19 >>> ks=libelektra.ksNew()
20 >>> string.strip(os.popen("kdb get user/key").read())
21 ''
22 >>> # Create a new key using libelektra and check the new key using kdb
23 >>> k=libelektra.keyNew("user/key")
24 >>> libelektra.keySetString(k,"text")!=0
25 True
26 >>> libelektra.kdbSetKey(kdb,k)
27 0
28 >>> string.strip(os.popen("kdb get user/key").read())
29 'text'
30 >>> libelektra.kdbGetChildKeys(kdb,"user",ks,1)!=-1
31 True
32 >>> k=libelektra.ksLookupByName(ks,"/key",0)
33 >>> libelektra.keyGetString(k)
34 'text'
35 >>> # Close the handles
36 >>> libelektra.keyClose(k)
37 0
38 >>> libelektra.kdbClose(kdb)
39 0
40 >>> #######################  elektra tests  #######################
41 >>> kdb=elektra.Kdb()
42 >>> kdb.open()
43 >>> os.system("kdb set user/key 'text'")
44 0
45 >>> # Remove key
46 >>> kdb.remove("user/key")
47 0
48 >>> # Set Key
49 >>> ks=elektra.KeySet()
50 >>> ks.new()
51 >>> k=elektra.Key()
52 >>> k.new("user/key")
53 >>> k.setString("text")
54 5
55 >>> kdb.setKey(k)
56 0
57 >>> string.strip(os.popen("kdb get user/key").read())
58 'text'
59 >>> ks=kdb.getChildKeys("user",norecursive=True)
60 >>> key=ks.lookupByName("/key")
61 >>> key.getString()
62 'text'
63 >>> k.close()
64 >>> kdb.close()
65 """
66
67 def _test():
68     import doctest
69     doctest.testmod()
70
71 if __name__ == "__main__":
72     _test()