(b *testing.B)
| 260 | } |
| 261 | |
| 262 | func BenchmarkReadOps_RevsDiff(b *testing.B) { |
| 263 | |
| 264 | base.DisableTestLogging(b) |
| 265 | |
| 266 | rt := NewRestTester(b, nil) |
| 267 | defer rt.Close() |
| 268 | defer PurgeDoc(rt, "doc1k") |
| 269 | |
| 270 | // Create target doc for revs_diff: |
| 271 | doc1k_bulkDocs_meta := `"_id":"doc1k", |
| 272 | "_rev":"12-abc", |
| 273 | "_revisions":{ |
| 274 | "start": 12, |
| 275 | "ids": ["abc", "eleven", "ten", "nine"] |
| 276 | },` |
| 277 | |
| 278 | doc1k_bulkDocs_entry := fmt.Sprintf(doc_1k_format, doc1k_bulkDocs_meta) |
| 279 | bulkDocs_body := fmt.Sprintf(`{"new_edits":false, "docs": [%s]}`, doc1k_bulkDocs_entry) |
| 280 | response := rt.SendAdminRequest("POST", "/{{.keyspace}}/_bulk_docs", bulkDocs_body) |
| 281 | if response.Code != 201 { |
| 282 | log.Printf("Unexpected response: %d", response.Code) |
| 283 | log.Printf("Response:%s", response.Body.Bytes()) |
| 284 | } |
| 285 | |
| 286 | // Create user |
| 287 | username := "user1" |
| 288 | rt.SendAdminRequest("PUT", fmt.Sprintf("/{{.db}}/_user/%s", username), fmt.Sprintf(`{"name":"%s", "password":"letmein", "admin_channels":["channel_1"]}`, username)) |
| 289 | |
| 290 | revsDiffBody := `{"doc1k": ["10-ten", "9-nine"]}` |
| 291 | revsDiffBenchmarks := []struct { |
| 292 | name string |
| 293 | URI string |
| 294 | asUser string |
| 295 | }{ |
| 296 | {"Admin", "/{{.keyspace}}/_revs_diff", ""}, |
| 297 | {"User", "/{{.keyspace}}/_revs_diff", username}, |
| 298 | } |
| 299 | |
| 300 | for _, bm := range revsDiffBenchmarks { |
| 301 | b.Run(bm.name, func(b *testing.B) { |
| 302 | var getResponse *TestResponse |
| 303 | for i := 0; i < b.N; i++ { |
| 304 | if bm.asUser == "" { |
| 305 | getResponse = rt.SendAdminRequest("POST", bm.URI, revsDiffBody) |
| 306 | } else { |
| 307 | getResponse = rt.SendUserRequest("POST", bm.URI, revsDiffBody, bm.asUser) |
| 308 | } |
| 309 | b.StopTimer() |
| 310 | if getResponse.Code != 200 { |
| 311 | b.Logf("Unexpected response: %v", getResponse) |
| 312 | } |
| 313 | b.StartTimer() |
| 314 | } |
| 315 | }) |
| 316 | } |
| 317 | |
| 318 | } |
| 319 |
nothing calls this directly
no test coverage detected