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

Function TestReplicatorRevocationsWithStarChannel

rest/revocation_test.go:2028–2124  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

2026}
2027
2028func TestReplicatorRevocationsWithStarChannel(t *testing.T) {
2029 base.RequireNumTestBuckets(t, 2)
2030
2031 base.SetUpTestLogging(t, base.LevelDebug, base.KeyAll) // CBG-1981
2032
2033 sgrRunner := NewSGRTestRunner(t)
2034 sgrRunner.Run(func(t *testing.T) {
2035 // Passive
2036 _, rt2 := InitScenario(t, nil)
2037 defer rt2.Close()
2038 rt2ds := rt2.GetSingleDataStore()
2039
2040 // Active
2041 rt1 := NewRestTester(t,
2042 &RestTesterConfig{
2043 CustomTestBucket: base.GetTestBucket(t),
2044 SyncFn: channels.DocChannelsSyncFunction,
2045 })
2046 defer rt1.Close()
2047 ctx1 := rt1.Context()
2048
2049 // Setup replicator
2050 srv := httptest.NewServer(rt2.TestPublicHandler())
2051 defer srv.Close()
2052
2053 passiveDBURL, err := url.Parse(srv.URL + "/db")
2054 require.NoError(t, err)
2055
2056 passiveDBURL.User = url.UserPassword("user", RestTesterDefaultUserPassword)
2057 id := SafeDocumentName(t, t.Name())
2058 sgwStats, err := base.SyncGatewayStats.NewDBStats(id, false, false, false, nil, nil)
2059 require.NoError(t, err)
2060 dbstats, err := sgwStats.DBReplicatorStats(id)
2061 require.NoError(t, err)
2062
2063 _ = rt2.PutDoc("docA", `{"channels": ["A"]}`)
2064 _ = rt2.PutDoc("docAB", `{"channels": ["A","B"]}`)
2065 _ = rt2.PutDoc("docB", `{"channels": ["B"]}`)
2066 _ = rt2.PutDoc("docABC", `{"channels": ["A","B", "C"]}`)
2067 _ = rt2.PutDoc("docC", `{"channels": ["C"]}`)
2068 rt2.WaitForPendingChanges()
2069
2070 ar, err := db.NewActiveReplicator(ctx1, &db.ActiveReplicatorConfig{
2071 ID: id,
2072 Direction: db.ActiveReplicatorTypePull,
2073 RemoteDBURL: passiveDBURL,
2074 ActiveDB: &db.Database{
2075 DatabaseContext: rt1.GetDatabase(),
2076 },
2077 Continuous: false,
2078 PurgeOnRemoval: true,
2079 ReplicationStatsMap: dbstats,
2080 CollectionsEnabled: base.TestsUseNamedCollections(),
2081 SupportedBLIPProtocols: sgrRunner.SupportedSubprotocols,
2082 })
2083 require.NoError(t, err)
2084
2085 resp := rt2.SendAdminRequest("PUT", "/db/_user/user", GetUserPayload(t, "user", RestTesterDefaultUserPassword, "", rt2ds, []string{"*"}, nil))

Callers

nothing calls this directly

Calls 15

RunMethod · 0.95
CloseMethod · 0.95
ContextMethod · 0.95
GetDatabaseMethod · 0.95
SendAdminRequestMethod · 0.95
StartMethod · 0.95
StopMethod · 0.95
WaitForChangesMethod · 0.95
WaitForConditionMethod · 0.95
RequireNumTestBucketsFunction · 0.92
SetUpTestLoggingFunction · 0.92
GetTestBucketFunction · 0.92

Tested by

no test coverage detected