(t *testing.T)
| 1567 | } |
| 1568 | |
| 1569 | func TestReplicatorRevocationsNoRev(t *testing.T) { |
| 1570 | base.RequireNumTestBuckets(t, 2) |
| 1571 | |
| 1572 | sgrRunner := NewSGRTestRunner(t) |
| 1573 | sgrRunner.Run(func(t *testing.T) { |
| 1574 | // Passive |
| 1575 | revocationTester, rt2 := InitScenario(t, nil) |
| 1576 | defer rt2.Close() |
| 1577 | |
| 1578 | // Active |
| 1579 | rt1 := NewRestTester(t, |
| 1580 | &RestTesterConfig{ |
| 1581 | CustomTestBucket: base.GetTestBucket(t), |
| 1582 | SyncFn: channels.DocChannelsSyncFunction, |
| 1583 | }) |
| 1584 | defer rt1.Close() |
| 1585 | ctx1 := rt1.Context() |
| 1586 | |
| 1587 | revocationTester.addRole("user", "foo") |
| 1588 | revocationTester.addRoleChannel("foo", "chanA") |
| 1589 | |
| 1590 | const doc1ID = "doc1" |
| 1591 | doc1Version := rt2.PutDoc(doc1ID, `{"channels": "chanA"}`) |
| 1592 | rt2.WaitForPendingChanges() |
| 1593 | |
| 1594 | srv := httptest.NewServer(rt2.TestPublicHandler()) |
| 1595 | defer srv.Close() |
| 1596 | |
| 1597 | passiveDBURL, err := url.Parse(srv.URL + "/db") |
| 1598 | require.NoError(t, err) |
| 1599 | |
| 1600 | passiveDBURL.User = url.UserPassword("user", RestTesterDefaultUserPassword) |
| 1601 | id := SafeDocumentName(t, t.Name()) |
| 1602 | sgwStats, err := base.SyncGatewayStats.NewDBStats(id, false, false, false, nil, nil) |
| 1603 | require.NoError(t, err) |
| 1604 | dbstats, err := sgwStats.DBReplicatorStats(id) |
| 1605 | require.NoError(t, err) |
| 1606 | |
| 1607 | ar, err := db.NewActiveReplicator(ctx1, &db.ActiveReplicatorConfig{ |
| 1608 | ID: id, |
| 1609 | Direction: db.ActiveReplicatorTypePull, |
| 1610 | RemoteDBURL: passiveDBURL, |
| 1611 | ActiveDB: &db.Database{ |
| 1612 | DatabaseContext: rt1.GetDatabase(), |
| 1613 | }, |
| 1614 | Continuous: false, |
| 1615 | PurgeOnRemoval: true, |
| 1616 | ReplicationStatsMap: dbstats, |
| 1617 | CollectionsEnabled: base.TestsUseNamedCollections(), |
| 1618 | SupportedBLIPProtocols: sgrRunner.SupportedSubprotocols, |
| 1619 | }) |
| 1620 | require.NoError(t, err) |
| 1621 | |
| 1622 | require.NoError(t, ar.Start(ctx1)) |
| 1623 | rt1.WaitForReplicationStatus(ar.ID, db.ReplicationStateStopped) |
| 1624 | |
| 1625 | resp := rt1.SendAdminRequest("GET", "/{{.keyspace}}/doc1", "") |
| 1626 | RequireStatus(t, resp, http.StatusOK) |
nothing calls this directly
no test coverage detected