MCPcopy
hub / github.com/dgraph-io/badger / TestGet

Function TestGet

db_test.go:234–297  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

232}
233
234func TestGet(t *testing.T) {
235 test := func(t *testing.T, db *DB) {
236 txnSet(t, db, []byte("key1"), []byte("val1"), 0x08)
237
238 txn := db.NewTransaction(false)
239 item, err := txn.Get([]byte("key1"))
240 require.NoError(t, err)
241 require.EqualValues(t, "val1", getItemValue(t, item))
242 require.Equal(t, byte(0x08), item.UserMeta())
243 txn.Discard()
244
245 txnSet(t, db, []byte("key1"), []byte("val2"), 0x09)
246
247 txn = db.NewTransaction(false)
248 item, err = txn.Get([]byte("key1"))
249 require.NoError(t, err)
250 require.EqualValues(t, "val2", getItemValue(t, item))
251 require.Equal(t, byte(0x09), item.UserMeta())
252 txn.Discard()
253
254 txnDelete(t, db, []byte("key1"))
255
256 txn = db.NewTransaction(false)
257 _, err = txn.Get([]byte("key1"))
258 require.Equal(t, ErrKeyNotFound, err)
259 txn.Discard()
260
261 txnSet(t, db, []byte("key1"), []byte("val3"), 0x01)
262
263 txn = db.NewTransaction(false)
264 item, err = txn.Get([]byte("key1"))
265 require.NoError(t, err)
266 require.EqualValues(t, "val3", getItemValue(t, item))
267 require.Equal(t, byte(0x01), item.UserMeta())
268
269 longVal := make([]byte, 1000)
270 txnSet(t, db, []byte("key1"), longVal, 0x00)
271
272 txn = db.NewTransaction(false)
273 item, err = txn.Get([]byte("key1"))
274 require.NoError(t, err)
275 require.EqualValues(t, longVal, getItemValue(t, item))
276 txn.Discard()
277 }
278 t.Run("disk mode", func(t *testing.T) {
279 runBadgerTest(t, nil, func(t *testing.T, db *DB) {
280 test(t, db)
281 })
282 })
283 t.Run("InMemory mode", func(t *testing.T) {
284 opts := DefaultOptions("").WithInMemory(true)
285 db, err := Open(opts)
286 require.NoError(t, err)
287 test(t, db)
288 require.NoError(t, db.Close())
289 })
290 t.Run("cache disabled", func(t *testing.T) {
291 opts := DefaultOptions("").WithInMemory(true).WithMaxCacheSize(0)

Callers

nothing calls this directly

Calls 13

txnSetFunction · 0.85
getItemValueFunction · 0.85
txnDeleteFunction · 0.85
runBadgerTestFunction · 0.85
DefaultOptionsFunction · 0.85
OpenFunction · 0.85
NewTransactionMethod · 0.80
UserMetaMethod · 0.80
DiscardMethod · 0.80
WithInMemoryMethod · 0.80
WithMaxCacheSizeMethod · 0.80
CloseMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…