(t *testing.T)
| 2459 | } |
| 2460 | |
| 2461 | func TestAccessFunctionValidation(t *testing.T) { |
| 2462 | |
| 2463 | db, ctx := setupTestDB(t) |
| 2464 | defer db.Close(ctx) |
| 2465 | collection, ctx := GetSingleDatabaseCollectionWithUser(ctx, t, db) |
| 2466 | |
| 2467 | _, err := collection.UpdateSyncFun(ctx, `function(doc){access(doc.users,doc.userChannels);}`) |
| 2468 | require.NoError(t, err) |
| 2469 | |
| 2470 | body := Body{"users": []string{"username"}, "userChannels": []string{"BBC1"}} |
| 2471 | _, _, err = collection.Put(ctx, "doc1", body) |
| 2472 | assert.NoError(t, err, "") |
| 2473 | |
| 2474 | body = Body{"users": []string{"role:rolename"}, "userChannels": []string{"BBC1"}} |
| 2475 | _, _, err = collection.Put(ctx, "doc2", body) |
| 2476 | assert.NoError(t, err, "") |
| 2477 | |
| 2478 | body = Body{"users": []string{"bad,username"}, "userChannels": []string{"BBC1"}} |
| 2479 | _, _, err = collection.Put(ctx, "doc3", body) |
| 2480 | assertHTTPError(t, err, 500) |
| 2481 | |
| 2482 | body = Body{"users": []string{"role:bad:rolename"}, "userChannels": []string{"BBC1"}} |
| 2483 | _, _, err = collection.Put(ctx, "doc4", body) |
| 2484 | assertHTTPError(t, err, 500) |
| 2485 | |
| 2486 | body = Body{"users": []string{",.,.,.,.,."}, "userChannels": []string{"BBC1"}} |
| 2487 | _, _, err = collection.Put(ctx, "doc5", body) |
| 2488 | assertHTTPError(t, err, 500) |
| 2489 | |
| 2490 | body = Body{"users": []string{"username"}, "userChannels": []string{"bad,name"}} |
| 2491 | _, _, err = collection.Put(ctx, "doc6", body) |
| 2492 | assertHTTPError(t, err, 500) |
| 2493 | } |
| 2494 | |
| 2495 | func TestAccessFunctionDb(t *testing.T) { |
| 2496 |
nothing calls this directly
no test coverage detected