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

Function TestBypassSingleChannelCache

db/channel_cache_single_test.go:691–717  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

689}
690
691func TestBypassSingleChannelCache(t *testing.T) {
692 base.SetUpTestLogging(t, base.LevelInfo, base.KeyCache)
693
694 terminator := make(chan bool)
695 defer close(terminator)
696
697 // Seed the query handler with 100 docs across 10 channels
698 queryHandler := &testQueryHandler{}
699 for seq := 1; seq <= 100; seq++ {
700 channelName := fmt.Sprintf("chan_%d", seq%10)
701 queryEntry := testLogEntryForChannels(seq, []string{channelName})
702 queryHandler.seedEntries(LogEntries{queryEntry})
703 }
704
705 bypassCache := &bypassChannelCache{
706 channel: channels.NewID("chan_1", base.DefaultCollectionID),
707 queryHandler: queryHandler,
708 }
709
710 entries, err := bypassCache.GetChanges(base.TestCtx(t), getChangesOptionsWithZeroSeq(t))
711 assert.NoError(t, err)
712 require.Len(t, entries, 10)
713
714 validFrom, cachedEntries := bypassCache.GetCachedChanges(getChangesOptionsWithZeroSeq(t))
715 assert.Equal(t, uint64(math.MaxUint64), validFrom)
716 require.Len(t, cachedEntries, 0)
717}
718
719func BenchmarkChannelCacheUniqueDocs_Ordered(b *testing.B) {
720

Callers

nothing calls this directly

Calls 10

seedEntriesMethod · 0.95
GetChangesMethod · 0.95
GetCachedChangesMethod · 0.95
SetUpTestLoggingFunction · 0.92
NewIDFunction · 0.92
TestCtxFunction · 0.92
testLogEntryForChannelsFunction · 0.85
LenMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected