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

Function TestUserHasDocAccessDocNotFound

rest/access_test.go:266–297  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

264 base.RequireWaitForStat(t, func() int64 { return rt.GetDatabase().DbStats.SecurityStats.NumAccessErrors.Value() }, 1)
265}
266func TestUserHasDocAccessDocNotFound(t *testing.T) {
267 rt := NewRestTester(t, &RestTesterConfig{
268 DatabaseConfig: &DatabaseConfig{DbConfig: DbConfig{
269 QueryPaginationLimit: base.Ptr(2),
270 CacheConfig: &CacheConfig{
271 RevCacheConfig: &RevCacheConfig{
272 MaxItemCount: base.Ptr(uint32(0)),
273 },
274 ChannelCacheConfig: &ChannelCacheConfig{
275 MaxNumber: base.Ptr(0),
276 },
277 },
278 }},
279 })
280 defer rt.Close()
281
282 resp := rt.SendAdminRequest("PUT", "/{{.keyspace}}/doc", `{"channels": ["A"]}`)
283 RequireStatus(t, resp, http.StatusCreated)
284
285 collection, ctx := rt.GetSingleTestDatabaseCollectionWithUser()
286 userHasDocAccess, err := db.UserHasDocAccess(ctx, collection, "doc")
287 assert.NoError(t, err)
288 assert.True(t, userHasDocAccess)
289
290 // Purge the document from the bucket to force 'not found'
291 err = collection.Purge(ctx, "doc", true)
292 require.NoError(t, err)
293
294 userHasDocAccess, err = db.UserHasDocAccess(ctx, collection, "doc")
295 assert.NoError(t, err)
296 assert.False(t, userHasDocAccess)
297}
298
299// CBG-2143: Make sure the REST API is returning forbidden errors if when unsupported config option is set
300func TestForceAPIForbiddenErrors(t *testing.T) {

Callers

nothing calls this directly

Calls 8

CloseMethod · 0.95
SendAdminRequestMethod · 0.95
PtrFunction · 0.92
UserHasDocAccessFunction · 0.92
NewRestTesterFunction · 0.85
RequireStatusFunction · 0.85
PurgeMethod · 0.65

Tested by

no test coverage detected