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

Function TestRequireAdmin

channels/sync_runner_test.go:64–78  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

62}
63
64func TestRequireAdmin(t *testing.T) {
65 ctx := base.TestCtx(t)
66 const funcSource = `function(doc, oldDoc) { requireAdmin() }`
67 runner, err := NewSyncRunner(ctx, funcSource, 0)
68 require.NoError(t, err)
69 var result interface{}
70 result, _ = runner.Call(ctx, parse(t, `{}`), parse(t, `{}`), emptyMetaMap(), parse(t, `{}`))
71 assertNotRejected(t, result)
72 result, _ = runner.Call(ctx, parse(t, `{}`), parse(t, `{}`), emptyMetaMap(), parse(t, `{"name": ""}`))
73 assertRejected(t, result, base.HTTPErrorf(http.StatusForbidden, base.SyncFnErrorAdminRequired))
74 result, _ = runner.Call(ctx, parse(t, `{}`), parse(t, `{}`), emptyMetaMap(), parse(t, `{"name": "GUEST"}`))
75 assertRejected(t, result, base.HTTPErrorf(http.StatusForbidden, base.SyncFnErrorAdminRequired))
76 result, _ = runner.Call(ctx, parse(t, `{}`), parse(t, `{}`), emptyMetaMap(), parse(t, `{"name": "beta"}`))
77 assertRejected(t, result, base.HTTPErrorf(http.StatusForbidden, base.SyncFnErrorAdminRequired))
78}
79
80// Helpers
81func assertRejected(t *testing.T, result interface{}, err *base.HTTPError) {

Callers

nothing calls this directly

Calls 7

TestCtxFunction · 0.92
HTTPErrorfFunction · 0.92
NewSyncRunnerFunction · 0.85
parseFunction · 0.85
emptyMetaMapFunction · 0.85
assertNotRejectedFunction · 0.85
assertRejectedFunction · 0.85

Tested by

no test coverage detected