User-function tests, run as admin:
(t *testing.T, ctx context.Context, db *db.Database)
| 252 | |
| 253 | // User-function tests, run as admin: |
| 254 | func 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": |
| 292 | func testUserFunctionsAsUser(t *testing.T, ctx context.Context, db *db.Database) { |
no test coverage detected