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

Function testUserFunctionsAsAdmin

db/functions/function_test.go:254–289  ·  view source on GitHub ↗

User-function tests, run as admin:

(t *testing.T, ctx context.Context, db *db.Database)

Source from the content-addressed store, hash-verified

252
253// User-function tests, run as admin:
254func testUserFunctionsAsAdmin(t *testing.T, ctx context.Context, db *db.Database) {
255 testUserFunctionsCommon(t, ctx, db)
256
257 // Admin-only (success):
258 result, err := db.CallUserFunction(ctx, "admin_only", nil, true)
259 assert.NoError(t, err)
260 assert.EqualValues(t, "OK", result)
261
262 result, err = db.CallUserFunction(ctx, "require_admin", nil, true)
263 assert.NoError(t, err)
264 assert.EqualValues(t, "OK", result)
265
266 result, err = db.CallUserFunction(ctx, "pevensies_only", nil, true)
267 assert.NoError(t, err)
268 assert.EqualValues(t, "OK", result)
269
270 result, err = db.CallUserFunction(ctx, "narnia_only", nil, true)
271 assert.NoError(t, err)
272 assert.EqualValues(t, "OK", result)
273
274 result, err = db.CallUserFunction(ctx, "villain_only", nil, true)
275 assert.NoError(t, err)
276 assert.EqualValues(t, "OK", result)
277
278 // ERRORS:
279
280 // Checking `context.user.name`:
281 _, err = db.CallUserFunction(ctx, "user_only", nil, true)
282 assert.ErrorContains(t, err, "No user")
283 jserr := err.(*jsError)
284 assert.NotNil(t, jserr)
285
286 // No such function:
287 _, err = db.CallUserFunction(ctx, "xxxx", nil, true)
288 assertHTTPError(t, err, 404)
289}
290
291// User-function tests, run as user "alice":
292func testUserFunctionsAsUser(t *testing.T, ctx context.Context, db *db.Database) {

Callers 1

TestUserFunctionsFunction · 0.70

Calls 3

CallUserFunctionMethod · 0.80
testUserFunctionsCommonFunction · 0.70
assertHTTPErrorFunction · 0.70

Tested by

no test coverage detected