(t *testing.T)
| 243 | } |
| 244 | |
| 245 | func TestNumAccessErrors(t *testing.T) { |
| 246 | rtConfig := RestTesterConfig{ |
| 247 | SyncFn: `function(doc, oldDoc){if (doc.channels.indexOf("foo") > -1){requireRole("foobar")}}`, |
| 248 | } |
| 249 | |
| 250 | rt := NewRestTester(t, &rtConfig) |
| 251 | defer rt.Close() |
| 252 | |
| 253 | ctx := rt.Context() |
| 254 | a := rt.ServerContext().Database(ctx, "db").Authenticator(ctx) |
| 255 | |
| 256 | // Create a test user |
| 257 | user, err := a.NewUser("user", "letmein", channels.BaseSetOf(t, "A")) |
| 258 | assert.NoError(t, err) |
| 259 | assert.NoError(t, a.Save(user)) |
| 260 | |
| 261 | response := rt.SendUserRequest("PUT", "/{{.keyspace}}/doc", `{"prop":true, "channels":["foo"]}`, "user") |
| 262 | RequireStatus(t, response, 403) |
| 263 | |
| 264 | base.RequireWaitForStat(t, func() int64 { return rt.GetDatabase().DbStats.SecurityStats.NumAccessErrors.Value() }, 1) |
| 265 | } |
| 266 | func TestUserHasDocAccessDocNotFound(t *testing.T) { |
| 267 | rt := NewRestTester(t, &RestTesterConfig{ |
| 268 | DatabaseConfig: &DatabaseConfig{DbConfig: DbConfig{ |
nothing calls this directly
no test coverage detected