Optimize requests/api/merge_requests_spec.rb spec
What does this MR do?
Related issue: https://gitlab.com/gitlab-org/plan/-/issues/145
Use let_it_be
for most instances and create multiple merge requests only for those tests, for which this list is required.
The spec has still room for improvement but reducing the time from 12m to 5m (locally) is a good start.
Before
- Total events: 165297
- Finished in 12 minutes 19 seconds
[TEST PROF INFO] Factories usage
Total: 4845
Total top-level: 3795
Total time: 536.6095s
Total uniq factories: 20
total top-level total time time per call top-level time name
1784 1453 455.0385s 0.2551s 308.7574s merge_request
680 680 15.7812s 0.0232s 15.7812s note_on_merge_request
651 307 105.9408s 0.1627s 44.0130s project
366 366 9.0752s 0.0248s 9.0752s milestone
364 0 15.1531s 0.0416s 0.0000s namespace
336 336 3.3638s 0.0100s 3.3638s personal_access_token
332 332 148.5581s 0.4475s 148.5581s merge_request_context_commit
111 111 0.4086s 0.0037s 0.4086s label_link
99 99 0.7392s 0.0075s 0.7392s label
76 72 2.8093s 0.0370s 2.6019s user
17 17 0.5923s 0.0348s 0.5923s group
11 7 1.4540s 0.1322s 1.3708s ci_pipeline
8 8 0.4107s 0.0513s 0.4107s ci_empty_pipeline
3 3 0.3411s 0.1137s 0.3411s award_emoji
2 2 0.1081s 0.0541s 0.1081s issue
1 0 0.0347s 0.0347s 0.0000s jira_tracker_data
1 0 0.1570s 0.1570s 0.0000s ci_job_artifact
1 1 0.4736s 0.4736s 0.4736s jira_project
1 0 0.3135s 0.3135s 0.0000s jira_service
1 1 0.0146s 0.0146s 0.0146s license
After
- Total events: 58311
- Finished in 4 minutes 18.7 seconds
[TEST PROF INFO] Factories usage
Total: 1047
Total top-level: 995
Total time: 65.6347s
Total uniq factories: 20
total top-level total time time per call top-level time name
336 336 3.2268s 0.0096s 3.2268s personal_access_token
227 227 46.0061s 0.2027s 46.0061s merge_request
111 111 0.4031s 0.0036s 0.4031s label_link
99 99 1.0764s 0.0109s 1.0764s label
75 64 10.4595s 0.1395s 8.7727s project
50 46 1.9550s 0.0391s 1.8352s user
47 47 1.0816s 0.0230s 1.0816s milestone
33 0 1.3452s 0.0408s 0.0000s namespace
17 17 0.5907s 0.0347s 0.5907s group
14 14 0.0921s 0.0066s 0.0921s merge_request_context_commit
12 12 0.4272s 0.0356s 0.4272s note_on_merge_request
8 8 0.5046s 0.0631s 0.5046s ci_empty_pipeline
8 7 0.9387s 0.1173s 0.9103s ci_pipeline
3 3 0.2520s 0.0840s 0.2520s award_emoji
2 2 0.0915s 0.0458s 0.0915s issue
1 0 0.0276s 0.0276s 0.0000s jira_tracker_data
1 0 0.1797s 0.1797s 0.0000s ci_job_artifact
1 1 0.3476s 0.3476s 0.3476s jira_project
1 0 0.2002s 0.2002s 0.0000s jira_service
1 1 0.0167s 0.0167s 0.0167s license
Queries saved: 106989
Edited by Igor Drozdov