]>
git.proxmox.com Git - ceph.git/blob - ceph/src/rocksdb/tools/rdb/unit_test.js
1 assert
= require('assert')
2 RDB
= require('./build/Release/rdb').DBWrapper
3 exec
= require('child_process').exec
6 DB_NAME
= '/tmp/rocksdbtest-' + process
.getuid()
9 assert
.equal(a
.open(DB_NAME
, ['b']), false)
13 "node -e \"RDB = require('./build/Release/rdb').DBWrapper; \
14 a = RDB('%s'); a.createColumnFamily('b')\"",
22 "node -e \"RDB = require('./build/Release/rdb').DBWrapper; \
23 a = RDB('%s', ['b'])\"",
28 exec('rm -rf ' + DB_NAME
)
31 assert
.equal(a
.open(DB_NAME
, ['a']), false)
32 assert(a
.open(DB_NAME
), true)
33 assert(a
.createColumnFamily('temp'))
36 assert
.equal(b
.open(DB_NAME
), false)
38 exec('rm -rf ' + DB_NAME
)
43 assert(a
.open(DB_NAME
))
44 assert
.equal(a
.constructor.name
, 'DBWrapper')
45 assert
.equal(a
.createColumnFamily(), false)
46 assert
.equal(a
.createColumnFamily(1), false)
47 assert
.equal(a
.createColumnFamily(['']), false)
48 assert(a
.createColumnFamily('b'))
49 assert
.equal(a
.createColumnFamily('b'), false)
52 assert
.equal(a
.get(1), null)
53 assert
.equal(a
.get(['a']), null)
54 assert
.equal(a
.get('a', 1), null)
55 assert
.equal(a
.get(1, 'a'), null)
56 assert
.equal(a
.get(1, 1), null)
58 assert
.equal(a
.put(1), false)
59 assert
.equal(a
.put(['a']), false)
60 assert
.equal(a
.put('a', 1), false)
61 assert
.equal(a
.put(1, 'a'), false)
62 assert
.equal(a
.put(1, 1), false)
63 assert
.equal(a
.put('a', 'a', 1), false)
64 assert
.equal(a
.put('a', 1, 'a'), false)
65 assert
.equal(a
.put(1, 'a', 'a'), false)
66 assert
.equal(a
.put('a', 1, 1), false)
67 assert
.equal(a
.put(1, 'a', 1), false)
68 assert
.equal(a
.put(1, 1, 'a'), false)
69 assert
.equal(a
.put(1, 1, 1), false)
72 assert
.equal(a
.get(), null)
73 assert
.equal(a
.get('a'), null)
74 assert
.equal(a
.get('a', 'c'), null)
75 assert
.equal(a
.put(), false)
76 assert
.equal(a
.put('a'), false)
77 assert
.equal(a
.get('a', 'b', 'c'), null)
79 assert(a
.put('a', 'axe'))
80 assert(a
.put('a', 'first'))
81 assert
.equal(a
.get('a'), 'first')
82 assert
.equal(a
.get('a', 'b'), null)
83 assert
.equal(a
.get('a', 'c'), null)
85 assert(a
.put('a', 'apple', 'b'))
86 assert
.equal(a
.get('a', 'b'), 'apple')
87 assert
.equal(a
.get('a'), 'first')
88 assert(a
.put('b', 'butter', 'b'), 'butter')
89 assert(a
.put('b', 'banana', 'b'))
90 assert
.equal(a
.get('b', 'b'), 'banana')
91 assert
.equal(a
.get('b'), null)
92 assert
.equal(a
.get('b', 'c'), null)
95 assert
.equal(a
.delete(1), false)
96 assert
.equal(a
.delete('a', 1), false)
97 assert
.equal(a
.delete(1, 'a'), false)
98 assert
.equal(a
.delete(1, 1), false)
100 assert
.equal(a
.delete('b'), true)
101 assert(a
.delete('a'))
102 assert
.equal(a
.get('a'), null)
103 assert
.equal(a
.get('a', 'b'), 'apple')
104 assert
.equal(a
.delete('c', 'c'), false)
105 assert
.equal(a
.delete('c', 'b'), true)
106 assert(a
.delete('b', 'b'))
107 assert
.equal(a
.get('b', 'b'), null)
110 console
.log("MARKER 1")
112 console
.log("Should be no output between 'MARKER 1' and here\n")
113 console
.log('Next line should be "a" => "apple"')
116 console
.log("\nMARKER 2")
117 assert
.equal(a
.dump('c'), false)
118 console
.log("Should be no output between 'MARKER 2' and here\n")
123 // Clean up test database
124 exec('rm -rf ' + DB_NAME
)