MCPcopy Create free account
hub / github.com/couchbase/sync_gateway / TestRevisionCacheRemove

Function TestRevisionCacheRemove

db/revision_cache_test.go:1336–1370  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1334}
1335
1336func TestRevisionCacheRemove(t *testing.T) {
1337 db, ctx := setupTestDB(t)
1338 defer db.Close(ctx)
1339 collection, ctx := GetSingleDatabaseCollectionWithUser(ctx, t, db)
1340
1341 rev1id, _, err := collection.Put(ctx, "doc", Body{"val": 123})
1342 assert.NoError(t, err)
1343
1344 docRev, err := collection.revisionCache.GetWithRev(base.TestCtx(t), "doc", rev1id, true)
1345 assert.NoError(t, err)
1346 assert.Equal(t, rev1id, docRev.RevID)
1347 assert.Equal(t, int64(0), db.DbStats.Cache().RevisionCacheMisses.Value())
1348
1349 collection.revisionCache.RemoveWithRev(ctx, "doc", rev1id)
1350
1351 docRev, err = collection.revisionCache.GetWithRev(base.TestCtx(t), "doc", rev1id, true)
1352 assert.NoError(t, err)
1353 assert.Equal(t, rev1id, docRev.RevID)
1354 assert.Equal(t, int64(1), db.DbStats.Cache().RevisionCacheMisses.Value())
1355
1356 docRev, err = collection.revisionCache.GetActive(ctx, "doc")
1357 assert.NoError(t, err)
1358 assert.Equal(t, rev1id, docRev.RevID)
1359 assert.Equal(t, int64(1), db.DbStats.Cache().RevisionCacheMisses.Value())
1360
1361 docRev, err = collection.GetRev(ctx, "doc", docRev.RevID, true, nil)
1362 assert.NoError(t, err)
1363 assert.Equal(t, rev1id, docRev.RevID)
1364 assert.Equal(t, int64(1), db.DbStats.Cache().RevisionCacheMisses.Value())
1365
1366 docRev, err = collection.GetRev(ctx, "doc", "", true, nil)
1367 assert.NoError(t, err)
1368 assert.Equal(t, rev1id, docRev.RevID)
1369 assert.Equal(t, int64(1), db.DbStats.Cache().RevisionCacheMisses.Value())
1370}
1371
1372// TestRevCacheHitMultiCollection:
1373// - Create db with two collections

Callers

nothing calls this directly

Calls 12

TestCtxFunction · 0.92
setupTestDBFunction · 0.85
CacheMethod · 0.80
GetRevMethod · 0.80
CloseMethod · 0.65
PutMethod · 0.65
GetWithRevMethod · 0.65
RemoveWithRevMethod · 0.65
GetActiveMethod · 0.65
EqualMethod · 0.45
ValueMethod · 0.45

Tested by

no test coverage detected