rspec integration pg12 6/8
Passed Started
by
@DylanGriffith

Dylan Griffith
1 returns error when authenticated but not a project owner2 PUT /projects/:id/integrations/unify-circuit3 updates unify_circuit settings4 returns if required fields missing5 DELETE /projects/:id/integrations/unify-circuit6 deletes unify_circuit7 GET /projects/:id/integrations/unify-circuit8 returns authentication error when unauthenticated9 returns all properties of active integration unify_circuit10 returns all properties of inactive integration unify_circuit11 returns not found if integration does not exist12 returns not found if integration exists but is in `Project#disabled_integrations`13 returns error when authenticated but not a project owner14 PUT /projects/:id/integrations/webex-teams15 updates webex_teams settings16 returns if required fields missing17 DELETE /projects/:id/integrations/webex-teams18 deletes webex_teams19 GET /projects/:id/integrations/webex-teams20 returns authentication error when unauthenticated21 returns all properties of active integration webex_teams22 returns all properties of inactive integration webex_teams23 returns not found if integration does not exist24 returns not found if integration exists but is in `Project#disabled_integrations`25 returns error when authenticated but not a project owner26 PUT /projects/:id/integrations/youtrack27 updates youtrack settings28 returns if required fields missing29 DELETE /projects/:id/integrations/youtrack30 deletes youtrack31 GET /projects/:id/integrations/youtrack32 returns authentication error when unauthenticated33 returns all properties of active integration youtrack34 returns all properties of inactive integration youtrack35 returns not found if integration does not exist36 returns not found if integration exists but is in `Project#disabled_integrations`37 returns error when authenticated but not a project owner38 PUT /projects/:id/integrations/zentao39 updates zentao settings40 returns if required fields missing41 DELETE /projects/:id/integrations/zentao42 deletes zentao43 GET /projects/:id/integrations/zentao44 returns authentication error when unauthenticated45 returns all properties of active integration zentao46 returns all properties of inactive integration zentao47 returns not found if integration does not exist48 returns not found if integration exists but is in `Project#disabled_integrations`49 returns error when authenticated but not a project owner50 POST /projects/:id/integrations/:slug/trigger51 Mattermost integration52 when no integration is available53 returns a not found message54 when the integration exists55 when the integration is not active56 when the integration is inactive57 when the integration is active58 returns status 20059 when the project can not be found60 returns a generic 40461 Slack Integration62 returns status 20063 Mattermost integration64 accepts a username for update65 Microsoft Teams integration66 accepts branches_to_be_notified for update67 accepts notify_only_broken_pipelines for update68 Hangouts Chat integration69 accepts branches_to_be_notified for update70 only requires the webhook param71 Pipelines Email Integration72 notify_only_broken_pipelines property was saved as a string73 returns boolean values for notify_only_broken_pipelines74 GET /projects/:id/services75 returns authentication error when unauthenticated76 returns error when authenticated but user is not a project owner77 with integrations78 returns a list of all active integrations79 PUT /projects/:id/services/asana80 updates asana settings81 returns if required fields missing82 DELETE /projects/:id/services/asana83 deletes asana84 GET /projects/:id/services/asana85 returns authentication error when unauthenticated86 returns all properties of active integration asana87 returns all properties of inactive integration asana88 returns not found if integration does not exist89 returns not found if integration exists but is in `Project#disabled_integrations`90 returns error when authenticated but not a project owner91 PUT /projects/:id/services/assembla92 updates assembla settings93 returns if required fields missing94 DELETE /projects/:id/services/assembla95 deletes assembla96 GET /projects/:id/services/assembla97 returns authentication error when unauthenticated98 returns all properties of active integration assembla99 returns all properties of inactive integration assembla100 returns not found if integration does not exist101 returns not found if integration exists but is in `Project#disabled_integrations`102 returns error when authenticated but not a project owner103 PUT /projects/:id/services/bamboo104 updates bamboo settings105 returns if required fields missing106 DELETE /projects/:id/services/bamboo107 deletes bamboo108 GET /projects/:id/services/bamboo109 returns authentication error when unauthenticated110 returns all properties of active integration bamboo111 returns all properties of inactive integration bamboo112 returns not found if integration does not exist113 returns not found if integration exists but is in `Project#disabled_integrations`114 returns error when authenticated but not a project owner115 PUT /projects/:id/services/bugzilla116 updates bugzilla settings117 returns if required fields missing118 DELETE /projects/:id/services/bugzilla119 deletes bugzilla120 GET /projects/:id/services/bugzilla121 returns authentication error when unauthenticated122 returns all properties of active integration bugzilla123 returns all properties of inactive integration bugzilla124 returns not found if integration does not exist125 returns not found if integration exists but is in `Project#disabled_integrations`126 returns error when authenticated but not a project owner127 PUT /projects/:id/services/buildkite128 updates buildkite settings129 returns if required fields missing130 DELETE /projects/:id/services/buildkite131 deletes buildkite132 GET /projects/:id/services/buildkite133 returns authentication error when unauthenticated134 returns all properties of active integration buildkite135 returns all properties of inactive integration buildkite136 returns not found if integration does not exist137 returns not found if integration exists but is in `Project#disabled_integrations`138 returns error when authenticated but not a project owner139 PUT /projects/:id/services/campfire140 updates campfire settings141 returns if required fields missing142 DELETE /projects/:id/services/campfire143 deletes campfire144 GET /projects/:id/services/campfire145 returns authentication error when unauthenticated146 returns all properties of active integration campfire147 returns all properties of inactive integration campfire148 returns not found if integration does not exist149 returns not found if integration exists but is in `Project#disabled_integrations`150 returns error when authenticated but not a project owner151 PUT /projects/:id/services/confluence152 updates confluence settings153 returns if required fields missing154 DELETE /projects/:id/services/confluence155 deletes confluence156 GET /projects/:id/services/confluence157 returns authentication error when unauthenticated158 returns all properties of active integration confluence159 returns all properties of inactive integration confluence160 returns not found if integration does not exist161 returns not found if integration exists but is in `Project#disabled_integrations`162 returns error when authenticated but not a project owner163 PUT /projects/:id/services/custom-issue-tracker164 updates custom_issue_tracker settings165 returns if required fields missing166 DELETE /projects/:id/services/custom-issue-tracker167 deletes custom_issue_tracker168 GET /projects/:id/services/custom-issue-tracker169 returns authentication error when unauthenticated170 returns all properties of active integration custom_issue_tracker171 returns all properties of inactive integration custom_issue_tracker172 returns not found if integration does not exist173 returns not found if integration exists but is in `Project#disabled_integrations`174 returns error when authenticated but not a project owner175 PUT /projects/:id/services/datadog176 updates datadog settings177 returns if required fields missing178 DELETE /projects/:id/services/datadog179 deletes datadog180 GET /projects/:id/services/datadog181 returns authentication error when unauthenticated182 returns all properties of active integration datadog183 returns all properties of inactive integration datadog184 returns not found if integration does not exist185 returns not found if integration exists but is in `Project#disabled_integrations`186 returns error when authenticated but not a project owner187 PUT /projects/:id/services/discord188 updates discord settings189 returns if required fields missing190 DELETE /projects/:id/services/discord191 deletes discord192 GET /projects/:id/services/discord193 returns authentication error when unauthenticated194 returns all properties of active integration discord195 returns all properties of inactive integration discord196 returns not found if integration does not exist197 returns not found if integration exists but is in `Project#disabled_integrations`198 returns error when authenticated but not a project owner199 PUT /projects/:id/services/drone-ci200 updates drone_ci settings201 returns if required fields missing202 DELETE /projects/:id/services/drone-ci203 deletes drone_ci204 GET /projects/:id/services/drone-ci205 returns authentication error when unauthenticated206 returns all properties of active integration drone_ci207 returns all properties of inactive integration drone_ci208 returns not found if integration does not exist209 returns not found if integration exists but is in `Project#disabled_integrations`210 returns error when authenticated but not a project owner211 PUT /projects/:id/services/emails-on-push212 updates emails_on_push settings213 returns if required fields missing214 DELETE /projects/:id/services/emails-on-push215 deletes emails_on_push216 GET /projects/:id/services/emails-on-push217 returns authentication error when unauthenticated218 returns all properties of active integration emails_on_push219 returns all properties of inactive integration emails_on_push220 returns not found if integration does not exist221 returns not found if integration exists but is in `Project#disabled_integrations`222 returns error when authenticated but not a project owner223 PUT /projects/:id/services/ewm224 updates ewm settings225 returns if required fields missing226 DELETE /projects/:id/services/ewm227 deletes ewm228 GET /projects/:id/services/ewm229 returns authentication error when unauthenticated230 returns all properties of active integration ewm231 returns all properties of inactive integration ewm232 returns not found if integration does not exist233 returns not found if integration exists but is in `Project#disabled_integrations`234 returns error when authenticated but not a project owner235 PUT /projects/:id/services/external-wiki236 updates external_wiki settings237 returns if required fields missing238 DELETE /projects/:id/services/external-wiki239 deletes external_wiki240 GET /projects/:id/services/external-wiki241 returns authentication error when unauthenticated242 returns all properties of active integration external_wiki243 returns all properties of inactive integration external_wiki244 returns not found if integration does not exist245 returns not found if integration exists but is in `Project#disabled_integrations`246 returns error when authenticated but not a project owner247 PUT /projects/:id/services/flowdock248 updates flowdock settings249 returns if required fields missing250 DELETE /projects/:id/services/flowdock251 deletes flowdock252 GET /projects/:id/services/flowdock253 returns authentication error when unauthenticated254 returns all properties of active integration flowdock255 returns all properties of inactive integration flowdock256 returns not found if integration does not exist257 returns not found if integration exists but is in `Project#disabled_integrations`258 returns error when authenticated but not a project owner259 PUT /projects/:id/services/github260 updates github settings261 returns if required fields missing262 DELETE /projects/:id/services/github263 deletes github264 GET /projects/:id/services/github265 returns authentication error when unauthenticated266 returns all properties of active integration github267 returns all properties of inactive integration github268 returns not found if integration does not exist269 returns not found if integration exists but is in `Project#disabled_integrations`270 returns error when authenticated but not a project owner271 PUT /projects/:id/services/hangouts-chat272 updates hangouts_chat settings273 returns if required fields missing274 DELETE /projects/:id/services/hangouts-chat275 deletes hangouts_chat276 GET /projects/:id/services/hangouts-chat277 returns authentication error when unauthenticated278 returns all properties of active integration hangouts_chat279 returns all properties of inactive integration hangouts_chat280 returns not found if integration does not exist281 returns not found if integration exists but is in `Project#disabled_integrations`282 returns error when authenticated but not a project owner283 PUT /projects/:id/services/irker284 updates irker settings285 returns if required fields missing286 DELETE /projects/:id/services/irker287 deletes irker288 GET /projects/:id/services/irker289 returns authentication error when unauthenticated290 returns all properties of active integration irker291 returns all properties of inactive integration irker292 returns not found if integration does not exist293 returns not found if integration exists but is in `Project#disabled_integrations`294 returns error when authenticated but not a project owner295 PUT /projects/:id/services/jenkins296 updates jenkins settings297 returns if required fields missing298 DELETE /projects/:id/services/jenkins299 deletes jenkins300 GET /projects/:id/services/jenkins301 returns authentication error when unauthenticated302 returns all properties of active integration jenkins303 returns all properties of inactive integration jenkins304 returns not found if integration does not exist305 returns not found if integration exists but is in `Project#disabled_integrations`306 returns error when authenticated but not a project owner307 PUT /projects/:id/services/jira308 updates jira settings309 returns if required fields missing310 DELETE /projects/:id/services/jira311 deletes jira312 GET /projects/:id/services/jira313 returns authentication error when unauthenticated314 returns all properties of active integration jira315 returns all properties of inactive integration jira316 returns not found if integration does not exist317 returns not found if integration exists but is in `Project#disabled_integrations`318 returns error when authenticated but not a project owner319 PUT /projects/:id/services/mattermost320 updates mattermost settings321 returns if required fields missing322 DELETE /projects/:id/services/mattermost323 deletes mattermost324 GET /projects/:id/services/mattermost325 returns authentication error when unauthenticated326 returns all properties of active integration mattermost327 returns all properties of inactive integration mattermost328 returns not found if integration does not exist329 returns not found if integration exists but is in `Project#disabled_integrations`330 returns error when authenticated but not a project owner331 PUT /projects/:id/services/mattermost-slash-commands332 updates mattermost_slash_commands settings333 returns if required fields missing334 DELETE /projects/:id/services/mattermost-slash-commands335 deletes mattermost_slash_commands336 GET /projects/:id/services/mattermost-slash-commands337 returns authentication error when unauthenticated338 returns all properties of active integration mattermost_slash_commands339 returns all properties of inactive integration mattermost_slash_commands340 returns not found if integration does not exist341 returns not found if integration exists but is in `Project#disabled_integrations`342 returns error when authenticated but not a project owner343 PUT /projects/:id/services/microsoft-teams344 updates microsoft_teams settings345 returns if required fields missing346 DELETE /projects/:id/services/microsoft-teams347 deletes microsoft_teams348 GET /projects/:id/services/microsoft-teams349 returns authentication error when unauthenticated350 returns all properties of active integration microsoft_teams351 returns all properties of inactive integration microsoft_teams352 returns not found if integration does not exist353 returns not found if integration exists but is in `Project#disabled_integrations`354 returns error when authenticated but not a project owner355 PUT /projects/:id/services/packagist356 updates packagist settings357 returns if required fields missing358 DELETE /projects/:id/services/packagist359 deletes packagist360 GET /projects/:id/services/packagist361 returns authentication error when unauthenticated362 returns all properties of active integration packagist363 returns all properties of inactive integration packagist364 returns not found if integration does not exist365 returns not found if integration exists but is in `Project#disabled_integrations`366 returns error when authenticated but not a project owner367 PUT /projects/:id/services/pipelines-email368 updates pipelines_email settings369 returns if required fields missing370 DELETE /projects/:id/services/pipelines-email371 deletes pipelines_email372 GET /projects/:id/services/pipelines-email373 returns authentication error when unauthenticated374 returns all properties of active integration pipelines_email375 returns all properties of inactive integration pipelines_email376 returns not found if integration does not exist377 returns not found if integration exists but is in `Project#disabled_integrations`378 returns error when authenticated but not a project owner379 PUT /projects/:id/services/pivotaltracker380 updates pivotaltracker settings381 returns if required fields missing382 DELETE /projects/:id/services/pivotaltracker383 deletes pivotaltracker384 GET /projects/:id/services/pivotaltracker385 returns authentication error when unauthenticated386 returns all properties of active integration pivotaltracker387 returns all properties of inactive integration pivotaltracker388 returns not found if integration does not exist389 returns not found if integration exists but is in `Project#disabled_integrations`390 returns error when authenticated but not a project owner391 PUT /projects/:id/services/prometheus392 updates prometheus settings393 returns if required fields missing394 DELETE /projects/:id/services/prometheus395 deletes prometheus396 GET /projects/:id/services/prometheus397 returns authentication error when unauthenticated398 returns all properties of active integration prometheus399 returns all properties of inactive integration prometheus400 returns not found if integration does not exist401 returns not found if integration exists but is in `Project#disabled_integrations`402 returns error when authenticated but not a project owner403 PUT /projects/:id/services/pushover404 updates pushover settings405 returns if required fields missing406 DELETE /projects/:id/services/pushover407 deletes pushover408 GET /projects/:id/services/pushover409 returns authentication error when unauthenticated410 returns all properties of active integration pushover411 returns all properties of inactive integration pushover412 returns not found if integration does not exist413 returns not found if integration exists but is in `Project#disabled_integrations`414 returns error when authenticated but not a project owner415 PUT /projects/:id/services/redmine416 updates redmine settings417 returns if required fields missing418 DELETE /projects/:id/services/redmine419 deletes redmine420 GET /projects/:id/services/redmine421 returns authentication error when unauthenticated422 returns all properties of active integration redmine423 returns all properties of inactive integration redmine424 returns not found if integration does not exist425 returns not found if integration exists but is in `Project#disabled_integrations`426 returns error when authenticated but not a project owner427 PUT /projects/:id/services/slack428 updates slack settings429 returns if required fields missing430 DELETE /projects/:id/services/slack431 deletes slack432 GET /projects/:id/services/slack433 returns authentication error when unauthenticated434 returns all properties of active integration slack435 returns all properties of inactive integration slack436 returns not found if integration does not exist437 returns not found if integration exists but is in `Project#disabled_integrations`438 returns error when authenticated but not a project owner439 PUT /projects/:id/services/slack-slash-commands440 updates slack_slash_commands settings441 returns if required fields missing442 DELETE /projects/:id/services/slack-slash-commands443 deletes slack_slash_commands444 GET /projects/:id/services/slack-slash-commands445 returns authentication error when unauthenticated446 returns all properties of active integration slack_slash_commands447 returns all properties of inactive integration slack_slash_commands448 returns not found if integration does not exist449 returns not found if integration exists but is in `Project#disabled_integrations`450 returns error when authenticated but not a project owner451 PUT /projects/:id/services/teamcity452 updates teamcity settings453 returns if required fields missing454 DELETE /projects/:id/services/teamcity455 deletes teamcity456 GET /projects/:id/services/teamcity457 returns authentication error when unauthenticated458 returns all properties of active integration teamcity459 returns all properties of inactive integration teamcity460 returns not found if integration does not exist461 returns not found if integration exists but is in `Project#disabled_integrations`462 returns error when authenticated but not a project owner463 PUT /projects/:id/services/unify-circuit464 updates unify_circuit settings465 returns if required fields missing466 DELETE /projects/:id/services/unify-circuit467 deletes unify_circuit468 GET /projects/:id/services/unify-circuit469 returns authentication error when unauthenticated470 returns all properties of active integration unify_circuit471 returns all properties of inactive integration unify_circuit472 returns not found if integration does not exist473 returns not found if integration exists but is in `Project#disabled_integrations`474 returns error when authenticated but not a project owner475 PUT /projects/:id/services/webex-teams476 updates webex_teams settings477 returns if required fields missing478 DELETE /projects/:id/services/webex-teams479 deletes webex_teams480 GET /projects/:id/services/webex-teams481 returns authentication error when unauthenticated482 returns all properties of active integration webex_teams483 returns all properties of inactive integration webex_teams484 returns not found if integration does not exist485 returns not found if integration exists but is in `Project#disabled_integrations`486 returns error when authenticated but not a project owner487 PUT /projects/:id/services/youtrack488 updates youtrack settings489 returns if required fields missing490 DELETE /projects/:id/services/youtrack491 deletes youtrack492 GET /projects/:id/services/youtrack493 returns authentication error when unauthenticated494 returns all properties of active integration youtrack495 returns all properties of inactive integration youtrack496 returns not found if integration does not exist497 returns not found if integration exists but is in `Project#disabled_integrations`498 returns error when authenticated but not a project owner499 PUT /projects/:id/services/zentao500 updates zentao settings501 returns if required fields missing502 DELETE /projects/:id/services/zentao503 deletes zentao504 GET /projects/:id/services/zentao505 returns authentication error when unauthenticated506 returns all properties of active integration zentao507 returns all properties of inactive integration zentao508 returns not found if integration does not exist509 returns not found if integration exists but is in `Project#disabled_integrations`510 returns error when authenticated but not a project owner511 POST /projects/:id/services/:slug/trigger512 Mattermost integration513 when no integration is available514 returns a not found message515 when the integration exists516 when the integration is not active517 when the integration is inactive518 when the integration is active519 returns status 200520 when the project can not be found521 returns a generic 404522 Slack Integration523 returns status 200524 Mattermost integration525 accepts a username for update526 Microsoft Teams integration527 accepts branches_to_be_notified for update528 accepts notify_only_broken_pipelines for update529 Hangouts Chat integration530 accepts branches_to_be_notified for update531 only requires the webhook param532 Pipelines Email Integration533 notify_only_broken_pipelines property was saved as a string534 returns boolean values for notify_only_broken_pipelines535API::Releases536 GET /projects/:id/releases537 returns an upcoming_release status for a future release538 returns an upcoming_release status for a past release539 avoids N+1 queries540 serializes releases for the first time and read cached data from the second time541 increments the cache key when link is updated542 increments the cache key when evidence is updated543 when there are two releases544 returns 200 HTTP status545 returns releases ordered by released_at546 does not include description_html547 matches response schema548 returns rendered helper paths549 return releases in sorted order550 behaves like release sorting551 sorting by released_at552 ascending order553 returns the sorted releases554 descending order555 returns the sorted releases556 behaves like release sorting557 sorting by created_at558 ascending order559 returns the sorted releases560 descending order561 returns the sorted releases562 when include_html_description option is true563 includes description_html field564 when tag does not exist in git repository565 returns the tag566 when tag contains a slash567 returns 200 HTTP status568 when user is a guest569 responds 200 OK570 does not expose tag, commit, source code or helper paths571 when project is public572 responds 200 OK573 exposes tag, commit, source code and helper paths574 when user is not a project member575 cannot find the project576 when project is public577 allows the request578 when releases are public and request user is absent579 returns the releases580 GET /projects/:id/releases/:tag_name581 when there is a release582 returns 200 HTTP status583 returns a release entry584 matches response schema585 contains source information as assets586 does not include description_html587 with evidence588 returns the evidence589 #collected_at590 when release is associated to mutiple milestones591 milestones order592 behaves like correct release milestone order593 due_date594 when both milestones have a due_date595 behaves like correct sort order596 sorts milestonee_1 before milestone_2597 when one milestone does not have a due_date598 behaves like correct sort order599 sorts milestonee_1 before milestone_2600 start_date601 when both milestones have a start_date602 behaves like correct sort order603 sorts milestonee_1 before milestone_2604 when one milestone does not have a start_date605 behaves like correct sort order606 sorts milestonee_1 before milestone_2607 title608 behaves like correct sort order609 sorts milestonee_1 before milestone_2610 when release has link asset611 contains link information as assets612 when link is internal613 has external false614 when include_html_description option is true615 includes description_html field616 when user is a guest617 responds 403 Forbidden618 when project is public619 responds 200 OK620 exposes tag and commit621 when specified tag is not found in the project622 returns 404 for maintater623 returns project not found for no user624 returns forbidden for guest625 when user is not a project member626 cannot find the project627 when project is public628 allows the request629 when release is associated to a milestone630 matches schema631 exposes milestones632 returns issue stats for milestone633 when project restricts visibility of issues and merge requests634 does not expose milestones635 when project restricts visibility of issues636 exposes milestones637 POST /projects/:id/releases638 accepts the request639 creates a new release640 creates a new release without description641 sets the released_at to the current time if the released_at parameter is not provided642 sets the released_at to the value in the parameters if specified643 assumes the utc timezone for released_at if the timezone is not provided644 allows specifying a released_at with a local time zone645 matches response schema646 does not create a new tag647 with protected tag648 when user has access to the protected tag649 accepts the request650 when user does not have access to the protected tag651 forbids the request652 when user is a reporter653 forbids the request654 when user is not a project member655 forbids the request656 when project is public657 forbids the request658 when create assets altogether659 when create one asset660 accepts the request661 creates an asset with specified parameters662 matches response schema663 when creating two assets664 creates two assets with specified parameters665 when link names are duplicates666 recognizes as a bad request667 when using JOB-TOKEN auth668 when no token is provided669 returns a :not_found error670 when an invalid token is provided671 returns an :unauthorized error672 when a valid token is provided673 creates the release for a running job674 returns an :unauthorized error for a completed job675 when tag does not exist in git repository676 creates a new tag677 creates a new release678 when tag name is HEAD679 returns a 400 error as failure on tag creation680 when tag name is empty681 returns a 400 error as failure on tag creation682 when release already exists683 returns an error as conflicted request684 with milestones685 with a project milestone686 adds the milestone687 with multiple milestones688 adds all milestones689 with an empty milestone690 removes all milestones691 with a non-existant milestone692 returns a 400 error as milestone not found693 with a milestone from a different project694 returns a 400 error as milestone not found695 PUT /projects/:id/releases/:tag_name696 accepts the request697 updates the description698 does not change other attributes699 matches response schema700 updates released_at701 with protected tag702 when user has access to the protected tag703 accepts the request704 when user does not have access to the protected tag705 forbids the request706 when user tries to update sha707 does not allow the request708 when params is empty709 does not allow the request710 when there are no corresponding releases711 forbids the request712 when user is a reporter713 forbids the request714 when user is not a project member715 forbids the request716 when project is public717 forbids the request718 with milestones719 when a milestone is passed in720 a different milestone721 replaces the milestone722 an identical milestone723 does not change the milestone724 an empty milestone725 removes the milestone726 without milestones parameter727 does not change the milestone728 multiple milestones729 with one new730 adds the new milestone731 with all new732 replaces the milestones733 DELETE /projects/:id/releases/:tag_name734 accepts the request735 destroys the release736 does not remove a tag in repository737 matches response schema738 with protected tag739 when user has access to the protected tag740 accepts the request741 when user does not have access to the protected tag742 forbids the request743 when there are no corresponding releases744 forbids the request745 when user is a reporter746 forbids the request747 when user is not a project member748 forbids the request749 when project is public750 forbids the request751 Track API events752 when tracking event with labels from User-Agent753 adds the tracked User-Agent to the label of the tracked event754 skips label when User-Agent is invalid755API::Members756 GET /:source_type/:id/members/all757 finds all project members including inherited members758 returns only one member for each user without returning duplicated members759 finds all group members including inherited members760 DELETE /groups/:id/members/:user_id761 deletes only the member with skip_subresources=true762 deletes member and its sub memberships with skip_subresources=false763 behaves like GET /:source_type/:id/members/(all)764 with :source_type == projects765 avoids N+1 queries766 does not return invitees767 finds members with the given user_ids768 finds all members with no query specified769 behaves like a 404 response when source is private770 returns 404771 when authenticated as a maintainer772 returns 200773 when authenticated as a developer774 returns 200775 when authenticated as a access_requester776 returns 200777 when authenticated as a stranger778 returns 200779 with cross db check disabled780 finds members with query string781 behaves like GET /:source_type/:id/members/(all)782 with :source_type == groups783 avoids N+1 queries784 does not return invitees785 finds members with the given user_ids786 finds all members with no query specified787 behaves like a 404 response when source is private788 returns 404789 when authenticated as a maintainer790 returns 200791 when authenticated as a developer792 returns 200793 when authenticated as a access_requester794 returns 200795 when authenticated as a stranger796 returns 200797 with cross db check disabled798 finds members with query string799 behaves like GET /:source_type/:id/members/(all)800 with :source_type == projects801 avoids N+1 queries802 does not return invitees803 finds members with the given user_ids804 finds all members with no query specified805 behaves like a 404 response when source is private806 returns 404807 when authenticated as a maintainer808 returns 200809 when authenticated as a developer810 returns 200811 when authenticated as a access_requester812 returns 200813 when authenticated as a stranger814 returns 200815 with cross db check disabled816 finds members with query string817 behaves like GET /:source_type/:id/members/(all)818 with :source_type == groups819 avoids N+1 queries820 does not return invitees821 finds members with the given user_ids822 finds all members with no query specified823 behaves like a 404 response when source is private824 returns 404825 when authenticated as a maintainer826 returns 200827 when authenticated as a developer828 returns 200829 when authenticated as a access_requester830 returns 200831 when authenticated as a stranger832 returns 200833 with cross db check disabled834 finds members with query string835 behaves like GET /:source_type/:id/members/(all/):user_id836 with :source_type == projects and all == false837 behaves like a 404 response when source is private838 returns 404839 when authenticated as a non-member840 as a access_requester841 returns 200842 as a stranger843 returns 200844 behaves like GET /:source_type/:id/members/(all/):user_id845 with :source_type == groups and all == false846 behaves like a 404 response when source is private847 returns 404848 when authenticated as a non-member849 as a access_requester850 returns 200851 as a stranger852 returns 200853 behaves like GET /:source_type/:id/members/(all/):user_id854 with :source_type == projects and all == true855 behaves like a 404 response when source is private856 returns 404857 when authenticated as a non-member858 as a access_requester859 returns 200860 as a stranger861 returns 200862 behaves like GET /:source_type/:id/members/(all/):user_id863 with :source_type == groups and all == true864 behaves like a 404 response when source is private865 returns 404866 when authenticated as a non-member867 as a access_requester868 returns 200869 as a stranger870 returns 200871 POST /projects/:id/members872 behaves like POST /:source_type/:id/members873 with :source_type == projects874 returns 409 if member already exists875 returns 404 when the user_id is not valid876 returns 400 when user_id is not given877 returns 400 when access_level is not given878 returns 400 when access_level is not valid879 behaves like a 404 response when source is private880 returns 404881 when authenticated as a non-member or member with insufficient rights882 as a access_requester883 returns 403884 as a stranger885 returns 403886 as a developer887 returns 403888 when authenticated as a maintainer/owner889 creates a new member890 and new member is already a requester891 transforms the requester into a proper member892 with invite_source considerations893 tracks the invite source as api894 tracks the invite source from params895 when executing the Members::CreateService for multiple user_ids896 returns success when it successfully create all members897 returns the error message if there was an error adding members to group898 access levels899 does not create the member if group level is higher900 creates the member if group level is lower901 access expiry date902 when set to a date in the past903 does not create a member904 when set to a date in the future905 creates a member906 with areas_of_focus considerations907 when areas_of_focus is present in params908 tracks the areas_of_focus909 when areas_of_focus is not present in params910 does not track the areas_of_focus911 with tasks_to_be_done and tasks_project_id in the params912 when there is 1 user to add913 creates a member_task with the correct attributes914 when there are multiple users to add915 creates a member_task with the correct attributes916 adding project bot917 returns 400918 adding owner to project919 returns 403920 remove bot from project921 returns a 403 forbidden922 behaves like POST /:source_type/:id/members923 with :source_type == groups924 returns 409 if member already exists925 returns 404 when the user_id is not valid926 returns 400 when user_id is not given927 returns 400 when access_level is not given928 returns 400 when access_level is not valid929 behaves like a 404 response when source is private930 returns 404931 when authenticated as a non-member or member with insufficient rights932 as a access_requester933 returns 403934 as a stranger935 returns 403936 as a developer937 returns 403938 when authenticated as a maintainer/owner939 creates a new member940 and new member is already a requester941 transforms the requester into a proper member942 with invite_source considerations943 tracks the invite source as api944 tracks the invite source from params945 when executing the Members::CreateService for multiple user_ids946 returns success when it successfully create all members947 returns the error message if there was an error adding members to group948 access levels949 does not create the member if group level is higher950 creates the member if group level is lower951 access expiry date952 when set to a date in the past953 does not create a member954 when set to a date in the future955 creates a member956 with areas_of_focus considerations957 when areas_of_focus is present in params958 tracks the areas_of_focus959 when areas_of_focus is not present in params960 does not track the areas_of_focus961 with tasks_to_be_done and tasks_project_id in the params962 when there is 1 user to add963 creates a member_task with the correct attributes964 when there are multiple users to add965 creates a member_task with the correct attributes966 adding project bot967 returns 400968 behaves like PUT /:source_type/:id/members/:user_id969 with :source_type == projects970 returns 409 if member does not exist971 returns 400 when access_level is not given972 returns 400 when access level is not valid973 behaves like a 404 response when source is private974 returns 404975 when authenticated as a non-member or member with insufficient rights976 as a access_requester977 returns 403978 as a stranger979 returns 403980 as a developer981 returns 403982 when authenticated as a maintainer/owner983 updates the member984 access expiry date985 when set to a date in the past986 does not update the member987 when set to a date in the future988 updates the member989 behaves like PUT /:source_type/:id/members/:user_id990 with :source_type == groups991 returns 409 if member does not exist992 returns 400 when access_level is not given993 returns 400 when access level is not valid994 behaves like a 404 response when source is private995 returns 404996 when authenticated as a non-member or member with insufficient rights997 as a access_requester998 returns 403999 as a stranger1000 returns 4031001 as a developer1002 returns 4031003 when authenticated as a maintainer/owner1004 updates the member1005 access expiry date1006 when set to a date in the past1007 does not update the member1008 when set to a date in the future1009 updates the member1010 behaves like DELETE /:source_type/:id/members/:user_id1011 with :source_type == projects1012 returns 404 if member does not exist1013 behaves like a 404 response when source is private1014 returns 4041015 when authenticated as a non-member or member with insufficient rights1016 as a access_requester1017 returns 4031018 as a stranger1019 returns 4031020 when authenticated as a member and deleting themself1021 deletes the member1022 when authenticated as a maintainer/owner1023 deletes the member1024 and member is a requester1025 returns 4041026 behaves like 412 response1027 for a modified ressource1028 returns 412 with a JSON error1029 for an unmodified ressource1030 returns 204 with an empty body1031 behaves like DELETE /:source_type/:id/members/:user_id1032 with :source_type == groups1033 returns 404 if member does not exist1034 behaves like a 404 response when source is private1035 returns 4041036 when authenticated as a non-member or member with insufficient rights1037 as a access_requester1038 returns 4031039 as a stranger1040 returns 4031041 when authenticated as a member and deleting themself1042 deletes the member1043 when authenticated as a maintainer/owner1044 deletes the member1045 and member is a requester1046 returns 4041047 behaves like 412 response1048 for a modified ressource1049 returns 412 with a JSON error1050 for an unmodified ressource1051 returns 204 with an empty body1052API::PypiPackages1053 simple API endpoint1054 GET /api/v4/groups/:id/-/packages/pypi/simple/:package_name1055 behaves like pypi simple API endpoint1056 with valid project1057 visibility_level: :public, user_role: :developer, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1058 behaves like PyPI package versions1059 for user type developer1060 returns the package listing1061 behaves like returning response status1062 returns success1063 behaves like a package tracking event1064 creates a gitlab tracking event list_package1065 visibility_level: :public, user_role: :guest, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1066 behaves like PyPI package versions1067 for user type guest1068 returns the package listing1069 behaves like returning response status1070 returns success1071 behaves like a package tracking event1072 creates a gitlab tracking event list_package1073 visibility_level: :public, user_role: :developer, member: true, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1074 behaves like PyPI package versions1075 for user type developer1076 returns the package listing1077 behaves like returning response status1078 returns success1079 behaves like a package tracking event1080 creates a gitlab tracking event list_package1081 visibility_level: :public, user_role: :guest, member: true, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1082 behaves like PyPI package versions1083 for user type guest1084 returns the package listing1085 behaves like returning response status1086 returns success1087 behaves like a package tracking event1088 creates a gitlab tracking event list_package1089 visibility_level: :public, user_role: :developer, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1090 behaves like PyPI package versions1091 for user type developer1092 returns the package listing1093 behaves like returning response status1094 returns success1095 behaves like a package tracking event1096 creates a gitlab tracking event list_package1097 visibility_level: :public, user_role: :guest, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1098 behaves like PyPI package versions1099 for user type guest1100 returns the package listing1101 behaves like returning response status1102 returns success1103 behaves like a package tracking event1104 creates a gitlab tracking event list_package1105 visibility_level: :public, user_role: :developer, member: false, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1106 behaves like PyPI package versions1107 for user type developer1108 returns the package listing1109 behaves like returning response status1110 returns success1111 behaves like a package tracking event1112 creates a gitlab tracking event list_package1113 visibility_level: :public, user_role: :guest, member: false, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1114 behaves like PyPI package versions1115 for user type guest1116 returns the package listing1117 behaves like returning response status1118 returns success1119 behaves like a package tracking event1120 creates a gitlab tracking event list_package1121 visibility_level: :public, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1122 behaves like PyPI package versions1123 for user type anonymous1124 returns the package listing1125 behaves like returning response status1126 returns success1127 behaves like a package tracking event1128 creates a gitlab tracking event list_package1129 visibility_level: :private, user_role: :developer, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1130 behaves like PyPI package versions1131 for user type developer1132 returns the package listing1133 behaves like returning response status1134 returns success1135 behaves like a package tracking event1136 creates a gitlab tracking event list_package1137 visibility_level: :private, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1138 behaves like process PyPI api request1139 for user type guest1140 behaves like returning response status1141 returns forbidden1142 visibility_level: :private, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1143 behaves like process PyPI api request1144 for user type developer1145 behaves like returning response status1146 returns unauthorized1147 visibility_level: :private, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1148 behaves like process PyPI api request1149 for user type guest1150 behaves like returning response status1151 returns unauthorized1152 visibility_level: :private, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1153 behaves like process PyPI api request1154 for user type developer1155 behaves like returning response status1156 returns not_found1157 visibility_level: :private, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1158 behaves like process PyPI api request1159 for user type guest1160 behaves like returning response status1161 returns not_found1162 visibility_level: :private, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1163 behaves like process PyPI api request1164 for user type developer1165 behaves like returning response status1166 returns unauthorized1167 visibility_level: :private, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1168 behaves like process PyPI api request1169 for user type guest1170 behaves like returning response status1171 returns unauthorized1172 visibility_level: :private, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1173 behaves like process PyPI api request1174 for user type anonymous1175 behaves like returning response status1176 returns unauthorized1177 with a normalized package name1178 behaves like PyPI package versions1179 for user type developer1180 returns the package listing1181 behaves like returning response status1182 returns success1183 behaves like a package tracking event1184 creates a gitlab tracking event list_package1185 package request forward1186 forward: true, package_in_project: true, shared_examples_name: "PyPI package versions", expected_status: :success1187 behaves like PyPI package versions1188 for user type reporter1189 returns the package listing1190 behaves like returning response status1191 returns success1192 behaves like a package tracking event1193 creates a gitlab tracking event list_package1194 forward: true, package_in_project: false, shared_examples_name: "process PyPI api request", expected_status: :redirect1195 behaves like process PyPI api request1196 for user type reporter1197 behaves like returning response status1198 returns redirect1199 forward: false, package_in_project: true, shared_examples_name: "PyPI package versions", expected_status: :success1200 behaves like PyPI package versions1201 for user type reporter1202 returns the package listing1203 behaves like returning response status1204 returns success1205 behaves like a package tracking event1206 creates a gitlab tracking event list_package1207 forward: false, package_in_project: false, shared_examples_name: "process PyPI api request", expected_status: :not_found1208 behaves like process PyPI api request1209 for user type reporter1210 behaves like returning response status1211 returns not_found1212 behaves like rejects PyPI access with unknown group id1213 with an unknown project1214 behaves like unknown PyPI scope id1215 as anonymous1216 behaves like process PyPI api request1217 for user type anonymous1218 behaves like returning response status1219 returns not_found1220 as authenticated user1221 behaves like process PyPI api request1222 for user type anonymous1223 behaves like returning response status1224 returns not_found1225 deploy tokens1226 behaves like deploy token for package GET requests1227 with deploy token headers1228 valid token1229 behaves like returning response status1230 returns success1231 invalid token1232 behaves like returning response status1233 returns unauthorized1234 with group path as id1235 behaves like deploy token for package GET requests1236 with deploy token headers1237 valid token1238 behaves like returning response status1239 returns success1240 invalid token1241 behaves like returning response status1242 returns unauthorized1243 job token1244 behaves like job token for package GET requests1245 with job token headers1246 valid token1247 behaves like returning response status1248 returns success1249 invalid token1250 behaves like returning response status1251 returns unauthorized1252 invalid user1253 behaves like returning response status1254 returns unauthorized1255 behaves like a pypi user namespace endpoint1256 visibility_level: :public, user_role: :owner, expected_status: :not_found1257 behaves like returning response status1258 returns not_found1259 visibility_level: :private, user_role: :owner, expected_status: :not_found1260 behaves like returning response status1261 returns not_found1262 visibility_level: :public, user_role: :external, expected_status: :not_found1263 behaves like returning response status1264 returns not_found1265 visibility_level: :private, user_role: :external, expected_status: :not_found1266 behaves like returning response status1267 returns not_found1268 visibility_level: :public, user_role: :anonymous, expected_status: :not_found1269 behaves like returning response status1270 returns not_found1271 visibility_level: :private, user_role: :anonymous, expected_status: :not_found1272 behaves like returning response status1273 returns not_found1274 GET /api/v4/projects/:id/packages/pypi/simple/:package_name1275 behaves like pypi simple API endpoint1276 with valid project1277 visibility_level: :public, user_role: :developer, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1278 behaves like PyPI package versions1279 for user type developer1280 returns the package listing1281 behaves like returning response status1282 returns success1283 behaves like a package tracking event1284 creates a gitlab tracking event list_package1285 visibility_level: :public, user_role: :guest, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1286 behaves like PyPI package versions1287 for user type guest1288 returns the package listing1289 behaves like returning response status1290 returns success1291 behaves like a package tracking event1292 creates a gitlab tracking event list_package1293 visibility_level: :public, user_role: :developer, member: true, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1294 behaves like PyPI package versions1295 for user type developer1296 returns the package listing1297 behaves like returning response status1298 returns success1299 behaves like a package tracking event1300 creates a gitlab tracking event list_package1301 visibility_level: :public, user_role: :guest, member: true, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1302 behaves like PyPI package versions1303 for user type guest1304 returns the package listing1305 behaves like returning response status1306 returns success1307 behaves like a package tracking event1308 creates a gitlab tracking event list_package1309 visibility_level: :public, user_role: :developer, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1310 behaves like PyPI package versions1311 for user type developer1312 returns the package listing1313 behaves like returning response status1314 returns success1315 behaves like a package tracking event1316 creates a gitlab tracking event list_package1317 visibility_level: :public, user_role: :guest, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1318 behaves like PyPI package versions1319 for user type guest1320 returns the package listing1321 behaves like returning response status1322 returns success1323 behaves like a package tracking event1324 creates a gitlab tracking event list_package1325 visibility_level: :public, user_role: :developer, member: false, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1326 behaves like PyPI package versions1327 for user type developer1328 returns the package listing1329 behaves like returning response status1330 returns success1331 behaves like a package tracking event1332 creates a gitlab tracking event list_package1333 visibility_level: :public, user_role: :guest, member: false, user_token: false, shared_examples_name: "PyPI package versions", expected_status: :success1334 behaves like PyPI package versions1335 for user type guest1336 returns the package listing1337 behaves like returning response status1338 returns success1339 behaves like a package tracking event1340 creates a gitlab tracking event list_package1341 visibility_level: :public, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1342 behaves like PyPI package versions1343 for user type anonymous1344 returns the package listing1345 behaves like returning response status1346 returns success1347 behaves like a package tracking event1348 creates a gitlab tracking event list_package1349 visibility_level: :private, user_role: :developer, member: true, user_token: true, shared_examples_name: "PyPI package versions", expected_status: :success1350 behaves like PyPI package versions1351 for user type developer1352 returns the package listing1353 behaves like returning response status1354 returns success1355 behaves like a package tracking event1356 creates a gitlab tracking event list_package1357 visibility_level: :private, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1358 behaves like process PyPI api request1359 for user type guest1360 behaves like returning response status1361 returns forbidden1362 visibility_level: :private, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1363 behaves like process PyPI api request1364 for user type developer1365 behaves like returning response status1366 returns unauthorized1367 visibility_level: :private, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1368 behaves like process PyPI api request1369 for user type guest1370 behaves like returning response status1371 returns unauthorized1372 visibility_level: :private, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1373 behaves like process PyPI api request1374 for user type developer1375 behaves like returning response status1376 returns not_found1377 visibility_level: :private, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1378 behaves like process PyPI api request1379 for user type guest1380 behaves like returning response status1381 returns not_found1382 visibility_level: :private, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1383 behaves like process PyPI api request1384 for user type developer1385 behaves like returning response status1386 returns unauthorized1387 visibility_level: :private, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1388 behaves like process PyPI api request1389 for user type guest1390 behaves like returning response status1391 returns unauthorized1392 visibility_level: :private, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1393 behaves like process PyPI api request1394 for user type anonymous1395 behaves like returning response status1396 returns unauthorized1397 with a normalized package name1398 behaves like PyPI package versions1399 for user type developer1400 returns the package listing1401 behaves like returning response status1402 returns success1403 behaves like a package tracking event1404 creates a gitlab tracking event list_package1405 package request forward1406 forward: true, package_in_project: true, shared_examples_name: "PyPI package versions", expected_status: :success1407 behaves like PyPI package versions1408 for user type reporter1409 returns the package listing1410 behaves like returning response status1411 returns success1412 behaves like a package tracking event1413 creates a gitlab tracking event list_package1414 forward: true, package_in_project: false, shared_examples_name: "process PyPI api request", expected_status: :redirect1415 behaves like process PyPI api request1416 for user type reporter1417 behaves like returning response status1418 returns redirect1419 forward: false, package_in_project: true, shared_examples_name: "PyPI package versions", expected_status: :success1420 behaves like PyPI package versions1421 for user type reporter1422 returns the package listing1423 behaves like returning response status1424 returns success1425 behaves like a package tracking event1426 creates a gitlab tracking event list_package1427 forward: false, package_in_project: false, shared_examples_name: "process PyPI api request", expected_status: :not_found1428 behaves like process PyPI api request1429 for user type reporter1430 behaves like returning response status1431 returns not_found1432 behaves like rejects PyPI access with unknown project id1433 with an unknown project1434 behaves like unknown PyPI scope id1435 as anonymous1436 behaves like process PyPI api request1437 for user type anonymous1438 behaves like returning response status1439 returns not_found1440 as authenticated user1441 behaves like process PyPI api request1442 for user type anonymous1443 behaves like returning response status1444 returns not_found1445 behaves like deploy token for package GET requests1446 with deploy token headers1447 valid token1448 behaves like returning response status1449 returns success1450 invalid token1451 behaves like returning response status1452 returns unauthorized1453 behaves like job token for package GET requests1454 with job token headers1455 valid token1456 behaves like returning response status1457 returns success1458 invalid token1459 behaves like returning response status1460 returns unauthorized1461 invalid user1462 behaves like returning response status1463 returns unauthorized1464 with project path as id1465 behaves like deploy token for package GET requests1466 with deploy token headers1467 valid token1468 behaves like returning response status1469 returns success1470 invalid token1471 behaves like returning response status1472 returns unauthorized1473 POST /api/v4/projects/:id/packages/pypi/authorize1474 with valid project1475 visibility_level: :public, user_role: :developer, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :success1476 behaves like process PyPI api request1477 for user type developer1478 behaves like returning response status1479 returns success1480 visibility_level: :public, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1481 behaves like process PyPI api request1482 for user type guest1483 behaves like returning response status1484 returns forbidden1485 visibility_level: :public, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1486 behaves like process PyPI api request1487 for user type developer1488 behaves like returning response status1489 returns unauthorized1490 visibility_level: :public, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1491 behaves like process PyPI api request1492 for user type guest1493 behaves like returning response status1494 returns unauthorized1495 visibility_level: :public, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1496 behaves like process PyPI api request1497 for user type developer1498 behaves like returning response status1499 returns forbidden1500 visibility_level: :public, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1501 behaves like process PyPI api request1502 for user type guest1503 behaves like returning response status1504 returns forbidden1505 visibility_level: :public, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1506 behaves like process PyPI api request1507 for user type developer1508 behaves like returning response status1509 returns unauthorized1510 visibility_level: :public, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1511 behaves like process PyPI api request1512 for user type guest1513 behaves like returning response status1514 returns unauthorized1515 visibility_level: :public, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1516 behaves like process PyPI api request1517 for user type anonymous1518 behaves like returning response status1519 returns unauthorized1520 visibility_level: :private, user_role: :developer, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :success1521 behaves like process PyPI api request1522 for user type developer1523 behaves like returning response status1524 returns success1525 visibility_level: :private, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1526 behaves like process PyPI api request1527 for user type guest1528 behaves like returning response status1529 returns forbidden1530 visibility_level: :private, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1531 behaves like process PyPI api request1532 for user type developer1533 behaves like returning response status1534 returns unauthorized1535 visibility_level: :private, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1536 behaves like process PyPI api request1537 for user type guest1538 behaves like returning response status1539 returns unauthorized1540 visibility_level: :private, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1541 behaves like process PyPI api request1542 for user type developer1543 behaves like returning response status1544 returns not_found1545 visibility_level: :private, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1546 behaves like process PyPI api request1547 for user type guest1548 behaves like returning response status1549 returns not_found1550 visibility_level: :private, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1551 behaves like process PyPI api request1552 for user type developer1553 behaves like returning response status1554 returns unauthorized1555 visibility_level: :private, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1556 behaves like process PyPI api request1557 for user type guest1558 behaves like returning response status1559 returns unauthorized1560 visibility_level: :private, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1561 behaves like process PyPI api request1562 for user type anonymous1563 behaves like returning response status1564 returns unauthorized1565 behaves like deploy token for package uploads1566 with deploy token headers1567 valid token1568 behaves like returning response status1569 returns success1570 invalid token1571 behaves like returning response status1572 returns unauthorized1573 behaves like job token for package uploads1574 with job token headers1575 valid token1576 behaves like returning response status1577 returns success1578 invalid token1579 behaves like returning response status1580 returns unauthorized1581 invalid user1582 behaves like returning response status1583 returns unauthorized1584 behaves like rejects PyPI access with unknown project id1585 with an unknown project1586 behaves like unknown PyPI scope id1587 as anonymous1588 behaves like process PyPI api request1589 for user type anonymous1590 behaves like returning response status1591 returns not_found1592 as authenticated user1593 behaves like process PyPI api request1594 for user type anonymous1595 behaves like returning response status1596 returns not_found1597 POST /api/v4/projects/:id/packages/pypi1598 with valid project1599 visibility_level: :public, user_role: :developer, member: true, user_token: true, shared_examples_name: "PyPI package creation", expected_status: :created1600 behaves like PyPI package creation1601 for user type developer1602 behaves like creating pypi package files1603 creates package files1604 with a pre-existing file1605 rejects the duplicated file1606 with object storage disabled1607 without a file from workhorse1608 behaves like returning response status1609 returns bad_request1610 with correct params1611 behaves like package workhorse uploads1612 without a workhorse header1613 logs an error1614 behaves like returning response status1615 returns forbidden1616 behaves like creating pypi package files1617 creates package files1618 behaves like a package tracking event1619 creates a gitlab tracking event push_package1620 with object storage enabled1621 and direct upload enabled1622 behaves like creating pypi package files1623 creates package files1624 with invalid remote_id: 1231231625 behaves like returning response status1626 returns forbidden1627 with invalid remote_id: ../../1231231628 behaves like returning response status1629 returns forbidden1630 and direct upload disabled1631 and background upload disabled1632 behaves like creating pypi package files1633 creates package files1634 and background upload enabled1635 behaves like creating pypi package files1636 creates package files1637 behaves like background upload schedules a file migration1638 background upload enabled1639 schedules migration of file to object storage1640 visibility_level: :public, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1641 behaves like process PyPI api request1642 for user type guest1643 behaves like returning response status1644 returns forbidden1645 visibility_level: :public, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1646 behaves like process PyPI api request1647 for user type developer1648 behaves like returning response status1649 returns unauthorized1650 visibility_level: :public, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1651 behaves like process PyPI api request1652 for user type guest1653 behaves like returning response status1654 returns unauthorized1655 visibility_level: :public, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1656 behaves like process PyPI api request1657 for user type developer1658 behaves like returning response status1659 returns forbidden1660 visibility_level: :public, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1661 behaves like process PyPI api request1662 for user type guest1663 behaves like returning response status1664 returns forbidden1665 visibility_level: :public, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1666 behaves like process PyPI api request1667 for user type developer1668 behaves like returning response status1669 returns unauthorized1670 visibility_level: :public, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1671 behaves like process PyPI api request1672 for user type guest1673 behaves like returning response status1674 returns unauthorized1675 visibility_level: :public, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1676 behaves like process PyPI api request1677 for user type anonymous1678 behaves like returning response status1679 returns unauthorized1680 visibility_level: :private, user_role: :developer, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :created1681 behaves like process PyPI api request1682 for user type developer1683 behaves like returning response status1684 returns created1685 visibility_level: :private, user_role: :guest, member: true, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :forbidden1686 behaves like process PyPI api request1687 for user type guest1688 behaves like returning response status1689 returns forbidden1690 visibility_level: :private, user_role: :developer, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1691 behaves like process PyPI api request1692 for user type developer1693 behaves like returning response status1694 returns unauthorized1695 visibility_level: :private, user_role: :guest, member: true, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1696 behaves like process PyPI api request1697 for user type guest1698 behaves like returning response status1699 returns unauthorized1700 visibility_level: :private, user_role: :developer, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1701 behaves like process PyPI api request1702 for user type developer1703 behaves like returning response status1704 returns not_found1705 visibility_level: :private, user_role: :guest, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :not_found1706 behaves like process PyPI api request1707 for user type guest1708 behaves like returning response status1709 returns not_found1710 visibility_level: :private, user_role: :developer, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1711 behaves like process PyPI api request1712 for user type developer1713 behaves like returning response status1714 returns unauthorized1715 visibility_level: :private, user_role: :guest, member: false, user_token: false, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1716 behaves like process PyPI api request1717 for user type guest1718 behaves like returning response status1719 returns unauthorized1720 visibility_level: :private, user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process PyPI api request", expected_status: :unauthorized1721 behaves like process PyPI api request1722 for user type anonymous1723 behaves like returning response status1724 returns unauthorized1725 with required_python too big1726 behaves like process PyPI api request1727 for user type developer1728 behaves like returning response status1729 returns bad_request1730 with an invalid package1731 behaves like returning response status1732 returns bad_request1733 behaves like deploy token for package uploads1734 with deploy token headers1735 valid token1736 behaves like returning response status1737 returns success1738 invalid token1739 behaves like returning response status1740 returns unauthorized1741 behaves like job token for package uploads1742 with job token headers1743 valid token1744 creates a package with build info1745 behaves like returning response status1746 returns success1747 invalid token1748 behaves like returning response status1749 returns unauthorized1750 invalid user1751 behaves like returning response status1752 returns unauthorized1753 behaves like rejects PyPI access with unknown project id1754 with an unknown project1755 behaves like unknown PyPI scope id1756 as anonymous1757 behaves like process PyPI api request1758 for user type anonymous1759 behaves like returning response status1760 returns not_found1761 as authenticated user1762 behaves like process PyPI api request1763 for user type anonymous1764 behaves like returning response status1765 returns not_found1766 file size above maximum limit1767 behaves like returning response status1768 returns bad_request1769 file download endpoint1770 GET /api/v4/groups/:id/-/packages/pypi/files/:sha256/*file_identifier1771 behaves like pypi file download endpoint1772 with valid project1773 visibility_level: :public, user_role: :developer, member: true, user_token: true1774 behaves like PyPI package download1775 for user type developer1776 returns the package listing1777 behaves like returning response status1778 returns success1779 behaves like a package tracking event1780 creates a gitlab tracking event pull_package1781 visibility_level: :public, user_role: :guest, member: true, user_token: true1782 behaves like PyPI package download1783 for user type guest1784 returns the package listing1785 behaves like returning response status1786 returns success1787 behaves like a package tracking event1788 creates a gitlab tracking event pull_package1789 visibility_level: :public, user_role: :developer, member: true, user_token: false1790 behaves like PyPI package download1791 for user type developer1792 returns the package listing1793 behaves like returning response status1794 returns success1795 behaves like a package tracking event1796 creates a gitlab tracking event pull_package1797 visibility_level: :public, user_role: :guest, member: true, user_token: false1798 behaves like PyPI package download1799 for user type guest1800 returns the package listing1801 behaves like returning response status1802 returns success1803 behaves like a package tracking event1804 creates a gitlab tracking event pull_package1805 visibility_level: :public, user_role: :developer, member: false, user_token: true1806 behaves like PyPI package download1807 for user type developer1808 returns the package listing1809 behaves like returning response status1810 returns success1811 behaves like a package tracking event1812 creates a gitlab tracking event pull_package1813 visibility_level: :public, user_role: :guest, member: false, user_token: true1814 behaves like PyPI package download1815 for user type guest1816 returns the package listing1817 behaves like returning response status1818 returns success1819 behaves like a package tracking event1820 creates a gitlab tracking event pull_package1821 visibility_level: :public, user_role: :developer, member: false, user_token: false1822 behaves like PyPI package download1823 for user type developer1824 returns the package listing1825 behaves like returning response status1826 returns success1827 behaves like a package tracking event1828 creates a gitlab tracking event pull_package1829 visibility_level: :public, user_role: :guest, member: false, user_token: false1830 behaves like PyPI package download1831 for user type guest1832 returns the package listing1833 behaves like returning response status1834 returns success1835 behaves like a package tracking event1836 creates a gitlab tracking event pull_package1837 visibility_level: :public, user_role: :anonymous, member: false, user_token: true1838 behaves like PyPI package download1839 for user type anonymous1840 returns the package listing1841 behaves like returning response status1842 returns success1843 behaves like a package tracking event1844 creates a gitlab tracking event pull_package1845 visibility_level: :private, user_role: :developer, member: true, user_token: true1846 behaves like PyPI package download1847 for user type developer1848 returns the package listing1849 behaves like returning response status1850 returns success1851 behaves like a package tracking event1852 creates a gitlab tracking event pull_package1853 visibility_level: :private, user_role: :guest, member: true, user_token: true1854 behaves like PyPI package download1855 for user type guest1856 returns the package listing1857 behaves like returning response status1858 returns success1859 behaves like a package tracking event1860 creates a gitlab tracking event pull_package1861 visibility_level: :private, user_role: :developer, member: true, user_token: false1862 behaves like PyPI package download1863 for user type developer1864 returns the package listing1865 behaves like returning response status1866 returns success1867 behaves like a package tracking event1868 creates a gitlab tracking event pull_package1869 visibility_level: :private, user_role: :guest, member: true, user_token: false1870 behaves like PyPI package download1871 for user type guest1872 returns the package listing1873 behaves like returning response status1874 returns success1875 behaves like a package tracking event1876 creates a gitlab tracking event pull_package1877 visibility_level: :private, user_role: :developer, member: false, user_token: true1878 behaves like PyPI package download1879 for user type developer1880 returns the package listing1881 behaves like returning response status1882 returns success1883 behaves like a package tracking event1884 creates a gitlab tracking event pull_package1885 visibility_level: :private, user_role: :guest, member: false, user_token: true1886 behaves like PyPI package download1887 for user type guest1888 returns the package listing1889 behaves like returning response status1890 returns success1891 behaves like a package tracking event1892 creates a gitlab tracking event pull_package1893 visibility_level: :private, user_role: :developer, member: false, user_token: false1894 behaves like PyPI package download1895 for user type developer1896 returns the package listing1897 behaves like returning response status1898 returns success1899 behaves like a package tracking event1900 creates a gitlab tracking event pull_package1901 visibility_level: :private, user_role: :guest, member: false, user_token: false1902 behaves like PyPI package download1903 for user type guest1904 returns the package listing1905 behaves like returning response status1906 returns success1907 behaves like a package tracking event1908 creates a gitlab tracking event pull_package1909 visibility_level: :private, user_role: :anonymous, member: false, user_token: true1910 behaves like PyPI package download1911 for user type anonymous1912 returns the package listing1913 behaves like returning response status1914 returns success1915 behaves like a package tracking event1916 creates a gitlab tracking event pull_package1917 with deploy token headers1918 valid token1919 behaves like returning response status1920 returns success1921 invalid token1922 behaves like returning response status1923 returns success1924 with job token headers1925 valid token1926 behaves like returning response status1927 returns success1928 invalid token1929 behaves like returning response status1930 returns unauthorized1931 invalid user1932 behaves like returning response status1933 returns success1934 behaves like rejects PyPI access with unknown group id1935 with an unknown project1936 behaves like unknown PyPI scope id1937 as anonymous1938 behaves like process PyPI api request1939 for user type anonymous1940 behaves like returning response status1941 returns not_found1942 as authenticated user1943 behaves like process PyPI api request1944 for user type anonymous1945 behaves like returning response status1946 returns not_found1947 behaves like a pypi user namespace endpoint1948 visibility_level: :public, user_role: :owner, expected_status: :not_found1949 behaves like returning response status1950 returns not_found1951 visibility_level: :private, user_role: :owner, expected_status: :not_found1952 behaves like returning response status1953 returns not_found1954 visibility_level: :public, user_role: :external, expected_status: :not_found1955 behaves like returning response status1956 returns not_found1957 visibility_level: :private, user_role: :external, expected_status: :not_found1958 behaves like returning response status1959 returns not_found1960 visibility_level: :public, user_role: :anonymous, expected_status: :not_found1961 behaves like returning response status1962 returns not_found1963 visibility_level: :private, user_role: :anonymous, expected_status: :not_found1964 behaves like returning response status1965 returns not_found1966 GET /api/v4/projects/:id/packages/pypi/files/:sha256/*file_identifier1967 behaves like pypi file download endpoint1968 with valid project1969 visibility_level: :public, user_role: :developer, member: true, user_token: true1970 behaves like PyPI package download1971 for user type developer1972 returns the package listing1973 behaves like returning response status1974 returns success1975 behaves like a package tracking event1976 creates a gitlab tracking event pull_package1977 visibility_level: :public, user_role: :guest, member: true, user_token: true1978 behaves like PyPI package download1979 for user type guest1980 returns the package listing1981 behaves like returning response status1982 returns success1983 behaves like a package tracking event1984 creates a gitlab tracking event pull_package1985 visibility_level: :public, user_role: :developer, member: true, user_token: false1986 behaves like PyPI package download1987 for user type developer1988 returns the package listing1989 behaves like returning response status1990 returns success1991 behaves like a package tracking event1992 creates a gitlab tracking event pull_package1993 visibility_level: :public, user_role: :guest, member: true, user_token: false1994 behaves like PyPI package download1995 for user type guest1996 returns the package listing1997 behaves like returning response status1998 returns success1999 behaves like a package tracking event2000 creates a gitlab tracking event pull_package2001 visibility_level: :public, user_role: :developer, member: false, user_token: true2002 behaves like PyPI package download2003 for user type developer2004 returns the package listing2005 behaves like returning response status2006 returns success2007 behaves like a package tracking event2008 creates a gitlab tracking event pull_package2009 visibility_level: :public, user_role: :guest, member: false, user_token: true2010 behaves like PyPI package download2011 for user type guest2012 returns the package listing2013 behaves like returning response status2014 returns success2015 behaves like a package tracking event2016 creates a gitlab tracking event pull_package2017 visibility_level: :public, user_role: :developer, member: false, user_token: false2018 behaves like PyPI package download2019 for user type developer2020 returns the package listing2021 behaves like returning response status2022 returns success2023 behaves like a package tracking event2024 creates a gitlab tracking event pull_package2025 visibility_level: :public, user_role: :guest, member: false, user_token: false2026 behaves like PyPI package download2027 for user type guest2028 returns the package listing2029 behaves like returning response status2030 returns success2031 behaves like a package tracking event2032 creates a gitlab tracking event pull_package2033 visibility_level: :public, user_role: :anonymous, member: false, user_token: true2034 behaves like PyPI package download2035 for user type anonymous2036 returns the package listing2037 behaves like returning response status2038 returns success2039 behaves like a package tracking event2040 creates a gitlab tracking event pull_package2041 visibility_level: :private, user_role: :developer, member: true, user_token: true2042 behaves like PyPI package download2043 for user type developer2044 returns the package listing2045 behaves like returning response status2046 returns success2047 behaves like a package tracking event2048 creates a gitlab tracking event pull_package2049 visibility_level: :private, user_role: :guest, member: true, user_token: true2050 behaves like PyPI package download2051 for user type guest2052 returns the package listing2053 behaves like returning response status2054 returns success2055 behaves like a package tracking event2056 creates a gitlab tracking event pull_package2057 visibility_level: :private, user_role: :developer, member: true, user_token: false2058 behaves like PyPI package download2059 for user type developer2060 returns the package listing2061 behaves like returning response status2062 returns success2063 behaves like a package tracking event2064 creates a gitlab tracking event pull_package2065 visibility_level: :private, user_role: :guest, member: true, user_token: false2066 behaves like PyPI package download2067 for user type guest2068 returns the package listing2069 behaves like returning response status2070 returns success2071 behaves like a package tracking event2072 creates a gitlab tracking event pull_package2073 visibility_level: :private, user_role: :developer, member: false, user_token: true2074 behaves like PyPI package download2075 for user type developer2076 returns the package listing2077 behaves like returning response status2078 returns success2079 behaves like a package tracking event2080 creates a gitlab tracking event pull_package2081 visibility_level: :private, user_role: :guest, member: false, user_token: true2082 behaves like PyPI package download2083 for user type guest2084 returns the package listing2085 behaves like returning response status2086 returns success2087 behaves like a package tracking event2088 creates a gitlab tracking event pull_package2089 visibility_level: :private, user_role: :developer, member: false, user_token: false2090 behaves like PyPI package download2091 for user type developer2092 returns the package listing2093 behaves like returning response status2094 returns success2095 behaves like a package tracking event2096 creates a gitlab tracking event pull_package2097 visibility_level: :private, user_role: :guest, member: false, user_token: false2098 behaves like PyPI package download2099 for user type guest2100 returns the package listing2101 behaves like returning response status2102 returns success2103 behaves like a package tracking event2104 creates a gitlab tracking event pull_package2105 visibility_level: :private, user_role: :anonymous, member: false, user_token: true2106 behaves like PyPI package download2107 for user type anonymous2108 returns the package listing2109 behaves like returning response status2110 returns success2111 behaves like a package tracking event2112 creates a gitlab tracking event pull_package2113 with deploy token headers2114 valid token2115 behaves like returning response status2116 returns success2117 invalid token2118 behaves like returning response status2119 returns success2120 with job token headers2121 valid token2122 behaves like returning response status2123 returns success2124 invalid token2125 behaves like returning response status2126 returns unauthorized2127 invalid user2128 behaves like returning response status2129 returns success2130 behaves like rejects PyPI access with unknown project id2131 with an unknown project2132 behaves like unknown PyPI scope id2133 as anonymous2134 behaves like process PyPI api request2135 for user type anonymous2136 behaves like returning response status2137 returns not_found2138 as authenticated user2139 behaves like process PyPI api request2140 for user type anonymous2141 behaves like returning response status2142 returns not_found2143API::ComposerPackages2144 GET /api/v4/group/:id/-/packages/composer/packages2145 with valid project2146 with a public group2147 with basic auth2148 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, include_package: :include_package2149 behaves like Composer package index2150 behaves like Composer package index with version2151 returns the package index2152 with version 22153 behaves like Composer package index with version2154 returns the package index2155 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, include_package: :include_package2156 behaves like Composer package index2157 behaves like Composer package index with version2158 returns the package index2159 with version 22160 behaves like Composer package index with version2161 returns the package index2162 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, include_package: :include_package2163 behaves like Composer package index2164 behaves like Composer package index with version2165 returns the package index2166 with version 22167 behaves like Composer package index with version2168 returns the package index2169 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, include_package: :include_package2170 behaves like Composer package index2171 behaves like Composer package index with version2172 returns the package index2173 with version 22174 behaves like Composer package index with version2175 returns the package index2176 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, include_package: :include_package2177 behaves like Composer package index2178 behaves like Composer package index with version2179 returns the package index2180 with version 22181 behaves like Composer package index with version2182 returns the package index2183 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, include_package: :include_package2184 behaves like Composer package index2185 behaves like Composer package index with version2186 returns the package index2187 with version 22188 behaves like Composer package index with version2189 returns the package index2190 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, include_package: :does_not_include_package2191 behaves like Composer package index2192 behaves like Composer package index with version2193 returns the package index2194 with version 22195 behaves like Composer package index with version2196 returns the package index2197 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, include_package: :does_not_include_package2198 behaves like Composer package index2199 behaves like Composer package index with version2200 returns the package index2201 with version 22202 behaves like Composer package index with version2203 returns the package index2204 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, include_package: :does_not_include_package2205 behaves like Composer package index2206 behaves like Composer package index with version2207 returns the package index2208 with version 22209 behaves like Composer package index with version2210 returns the package index2211 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, include_package: :does_not_include_package2212 behaves like Composer package index2213 behaves like Composer package index with version2214 returns the package index2215 with version 22216 behaves like Composer package index with version2217 returns the package index2218 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, include_package: :does_not_include_package2219 behaves like Composer package index2220 behaves like Composer package index with version2221 returns the package index2222 with version 22223 behaves like Composer package index with version2224 returns the package index2225 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, include_package: :does_not_include_package2226 behaves like Composer package index2227 behaves like Composer package index with version2228 returns the package index2229 with version 22230 behaves like Composer package index with version2231 returns the package index2232 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, include_package: :does_not_include_package2233 behaves like Composer package index2234 behaves like Composer package index with version2235 returns the package index2236 with version 22237 behaves like Composer package index with version2238 returns the package index2239 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, include_package: :does_not_include_package2240 behaves like Composer package index2241 behaves like Composer package index with version2242 returns the package index2243 with version 22244 behaves like Composer package index with version2245 returns the package index2246 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, include_package: :include_package2247 behaves like Composer package index2248 behaves like Composer package index with version2249 returns the package index2250 with version 22251 behaves like Composer package index with version2252 returns the package index2253 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, include_package: :include_package2254 behaves like Composer package index2255 behaves like Composer package index with version2256 returns the package index2257 with version 22258 behaves like Composer package index with version2259 returns the package index2260 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, include_package: :include_package2261 behaves like Composer package index2262 behaves like Composer package index with version2263 returns the package index2264 with version 22265 behaves like Composer package index with version2266 returns the package index2267 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, include_package: :include_package2268 behaves like Composer package index2269 behaves like Composer package index with version2270 returns the package index2271 with version 22272 behaves like Composer package index with version2273 returns the package index2274 with private token header auth2275 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, expected_status: :success, include_package: :include_package2276 behaves like Composer package index2277 behaves like Composer package index with version2278 returns the package index2279 with version 22280 behaves like Composer package index with version2281 returns the package index2282 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, expected_status: :success, include_package: :include_package2283 behaves like Composer package index2284 behaves like Composer package index with version2285 returns the package index2286 with version 22287 behaves like Composer package index with version2288 returns the package index2289 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, expected_status: :success, include_package: :include_package2290 behaves like Composer package index2291 behaves like Composer package index with version2292 returns the package index2293 with version 22294 behaves like Composer package index with version2295 returns the package index2296 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, expected_status: :success, include_package: :include_package2297 behaves like Composer package index2298 behaves like Composer package index with version2299 returns the package index2300 with version 22301 behaves like Composer package index with version2302 returns the package index2303 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, expected_status: :success, include_package: :include_package2304 behaves like Composer package index2305 behaves like Composer package index with version2306 returns the package index2307 with version 22308 behaves like Composer package index with version2309 returns the package index2310 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, expected_status: :success, include_package: :include_package2311 behaves like Composer package index2312 behaves like Composer package index with version2313 returns the package index2314 with version 22315 behaves like Composer package index with version2316 returns the package index2317 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2318 behaves like Composer package index2319 behaves like Composer package index with version2320 returns the package index2321 with version 22322 behaves like Composer package index with version2323 returns the package index2324 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, expected_status: :success, include_package: :does_not_include_package2325 behaves like Composer package index2326 behaves like Composer package index with version2327 returns the package index2328 with version 22329 behaves like Composer package index with version2330 returns the package index2331 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2332 behaves like Composer package index2333 behaves like Composer package index with version2334 returns the package index2335 with version 22336 behaves like Composer package index with version2337 returns the package index2338 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2339 behaves like Composer package index2340 behaves like Composer package index with version2341 returns the package index2342 with version 22343 behaves like Composer package index with version2344 returns the package index2345 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2346 behaves like Composer package index2347 behaves like Composer package index with version2348 returns the package index2349 with version 22350 behaves like Composer package index with version2351 returns the package index2352 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2353 behaves like Composer package index2354 behaves like Composer package index with version2355 returns the package index2356 with version 22357 behaves like Composer package index with version2358 returns the package index2359 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2360 behaves like Composer package index2361 behaves like Composer package index with version2362 returns the package index2363 with version 22364 behaves like Composer package index with version2365 returns the package index2366 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2367 behaves like Composer package index2368 behaves like Composer package index with version2369 returns the package index2370 with version 22371 behaves like Composer package index with version2372 returns the package index2373 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2374 behaves like Composer package index2375 behaves like Composer package index with version2376 returns the package index2377 with version 22378 behaves like Composer package index with version2379 returns the package index2380 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2381 behaves like Composer package index2382 behaves like Composer package index with version2383 returns the package index2384 with version 22385 behaves like Composer package index with version2386 returns the package index2387 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2388 behaves like Composer package index2389 behaves like Composer package index with version2390 returns the package index2391 with version 22392 behaves like Composer package index with version2393 returns the package index2394 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2395 behaves like Composer package index2396 behaves like Composer package index with version2397 returns the package index2398 with version 22399 behaves like Composer package index with version2400 returns the package index2401 with a private group2402 with access to the api2403 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, include_package: :include_package2404 behaves like Composer package index2405 behaves like Composer package index with version2406 returns the package index2407 with version 22408 behaves like Composer package index with version2409 returns the package index2410 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, include_package: :does_not_include_package2411 behaves like Composer package index2412 behaves like Composer package index with version2413 returns the package index2414 with version 22415 behaves like Composer package index with version2416 returns the package index2417 without access to the api2418 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false2419 behaves like process Composer api request2420 for user type developer2421 behaves like returning response status2422 returns not_found2423 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true2424 behaves like process Composer api request2425 for user type developer2426 behaves like returning response status2427 returns not_found2428 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false2429 behaves like process Composer api request2430 for user type developer2431 behaves like returning response status2432 returns not_found2433 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false2434 behaves like process Composer api request2435 for user type guest2436 behaves like returning response status2437 returns not_found2438 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true2439 behaves like process Composer api request2440 for user type guest2441 behaves like returning response status2442 returns not_found2443 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false2444 behaves like process Composer api request2445 for user type guest2446 behaves like returning response status2447 returns not_found2448 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true2449 behaves like process Composer api request2450 for user type anonymous2451 behaves like returning response status2452 returns not_found2453 behaves like rejects Composer access with unknown group id2454 with an unknown group2455 as anonymous2456 behaves like process Composer api request2457 for user type anonymous2458 behaves like returning response status2459 returns not_found2460 as authenticated user2461 behaves like process Composer api request2462 for user type anonymous2463 behaves like returning response status2464 returns not_found2465 GET /api/v4/group/:id/-/packages/composer/p/:sha.json2466 with valid project2467 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2468 behaves like Composer provider index2469 returns the package index2470 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2471 behaves like process Composer api request2472 for user type developer2473 behaves like returning response status2474 returns unauthorized2475 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2476 behaves like Composer provider index2477 returns the package index2478 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2479 behaves like process Composer api request2480 for user type developer2481 behaves like returning response status2482 returns unauthorized2483 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2484 behaves like Composer provider index2485 returns the package index2486 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2487 behaves like process Composer api request2488 for user type guest2489 behaves like returning response status2490 returns unauthorized2491 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2492 behaves like Composer provider index2493 returns the package index2494 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2495 behaves like process Composer api request2496 for user type guest2497 behaves like returning response status2498 returns unauthorized2499 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2500 behaves like Composer provider index2501 returns the package index2502 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2503 behaves like Composer provider index2504 returns the package index2505 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2506 behaves like process Composer api request2507 for user type developer2508 behaves like returning response status2509 returns unauthorized2510 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2511 behaves like process Composer api request2512 for user type developer2513 behaves like returning response status2514 returns not_found2515 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2516 behaves like process Composer api request2517 for user type developer2518 behaves like returning response status2519 returns unauthorized2520 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer empty provider index", expected_status: :success2521 behaves like Composer empty provider index2522 returns the package index2523 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2524 behaves like process Composer api request2525 for user type guest2526 behaves like returning response status2527 returns unauthorized2528 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2529 behaves like process Composer api request2530 for user type guest2531 behaves like returning response status2532 returns not_found2533 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2534 behaves like process Composer api request2535 for user type guest2536 behaves like returning response status2537 returns unauthorized2538 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2539 behaves like process Composer api request2540 for user type anonymous2541 behaves like returning response status2542 returns not_found2543 behaves like rejects Composer access with unknown group id2544 with an unknown group2545 as anonymous2546 behaves like process Composer api request2547 for user type anonymous2548 behaves like returning response status2549 returns not_found2550 as authenticated user2551 behaves like process Composer api request2552 for user type anonymous2553 behaves like returning response status2554 returns not_found2555 GET /api/v4/group/:id/-/packages/composer/*package_name.json2556 with no packages2557 behaves like returning response status2558 returns not_found2559 with valid project2560 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2561 behaves like Composer package api request2562 returns the package index2563 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2564 behaves like process Composer api request2565 for user type developer2566 behaves like returning response status2567 returns unauthorized2568 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2569 behaves like Composer package api request2570 returns the package index2571 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2572 behaves like process Composer api request2573 for user type developer2574 behaves like returning response status2575 returns unauthorized2576 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2577 behaves like Composer package api request2578 returns the package index2579 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2580 behaves like process Composer api request2581 for user type guest2582 behaves like returning response status2583 returns unauthorized2584 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2585 behaves like Composer package api request2586 returns the package index2587 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2588 behaves like process Composer api request2589 for user type guest2590 behaves like returning response status2591 returns unauthorized2592 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2593 behaves like Composer package api request2594 returns the package index2595 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2596 behaves like Composer package api request2597 returns the package index2598 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2599 behaves like process Composer api request2600 for user type developer2601 behaves like returning response status2602 returns unauthorized2603 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2604 behaves like process Composer api request2605 for user type developer2606 behaves like returning response status2607 returns not_found2608 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2609 behaves like process Composer api request2610 for user type developer2611 behaves like returning response status2612 returns unauthorized2613 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2614 behaves like process Composer api request2615 for user type guest2616 behaves like returning response status2617 returns not_found2618 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2619 behaves like process Composer api request2620 for user type guest2621 behaves like returning response status2622 returns unauthorized2623 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2624 behaves like process Composer api request2625 for user type guest2626 behaves like returning response status2627 returns not_found2628 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2629 behaves like process Composer api request2630 for user type guest2631 behaves like returning response status2632 returns unauthorized2633 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2634 behaves like process Composer api request2635 for user type anonymous2636 behaves like returning response status2637 returns not_found2638 without a sha2639 behaves like process Composer api request2640 for user type developer2641 behaves like returning response status2642 returns not_found2643 behaves like rejects Composer access with unknown group id2644 with an unknown group2645 as anonymous2646 behaves like process Composer api request2647 for user type anonymous2648 behaves like returning response status2649 returns not_found2650 as authenticated user2651 behaves like process Composer api request2652 for user type anonymous2653 behaves like returning response status2654 returns not_found2655 GET /api/v4/group/:id/-/packages/composer/p2/*package_name.json2656 with no packages2657 behaves like returning response status2658 returns not_found2659 with valid project2660 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2661 behaves like Composer package api request2662 returns the package index2663 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2664 behaves like process Composer api request2665 for user type developer2666 behaves like returning response status2667 returns unauthorized2668 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2669 behaves like Composer package api request2670 returns the package index2671 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2672 behaves like process Composer api request2673 for user type developer2674 behaves like returning response status2675 returns unauthorized2676 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2677 behaves like Composer package api request2678 returns the package index2679 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2680 behaves like process Composer api request2681 for user type guest2682 behaves like returning response status2683 returns unauthorized2684 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2685 behaves like Composer package api request2686 returns the package index2687 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2688 behaves like process Composer api request2689 for user type guest2690 behaves like returning response status2691 returns unauthorized2692 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2693 behaves like Composer package api request2694 returns the package index2695 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2696 behaves like Composer package api request2697 returns the package index2698 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2699 behaves like process Composer api request2700 for user type developer2701 behaves like returning response status2702 returns unauthorized2703 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2704 behaves like process Composer api request2705 for user type developer2706 behaves like returning response status2707 returns not_found2708 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2709 behaves like process Composer api request2710 for user type developer2711 behaves like returning response status2712 returns unauthorized2713 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2714 behaves like process Composer api request2715 for user type guest2716 behaves like returning response status2717 returns not_found2718 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2719 behaves like process Composer api request2720 for user type guest2721 behaves like returning response status2722 returns unauthorized2723 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2724 behaves like process Composer api request2725 for user type guest2726 behaves like returning response status2727 returns not_found2728 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2729 behaves like process Composer api request2730 for user type guest2731 behaves like returning response status2732 returns unauthorized2733 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2734 behaves like process Composer api request2735 for user type anonymous2736 behaves like returning response status2737 returns not_found2738 behaves like rejects Composer access with unknown group id2739 with an unknown group2740 as anonymous2741 behaves like process Composer api request2742 for user type anonymous2743 behaves like returning response status2744 returns not_found2745 as authenticated user2746 behaves like process Composer api request2747 for user type anonymous2748 behaves like returning response status2749 returns not_found2750 POST /api/v4/projects/:id/packages/composer2751 with no tag or branch params2752 behaves like process Composer api request2753 for user type developer2754 behaves like returning response status2755 returns bad_request2756 with a tag2757 with an existing branch2758 behaves like composer package publish2759 with valid project2760 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2761 behaves like Composer package creation2762 for user type developer2763 creates package files2764 behaves like a package tracking event2765 creates a gitlab tracking event push_package2766 when package creation fails2767 behaves like not a package tracking event2768 does not create a gitlab tracking event2769 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2770 behaves like process Composer api request2771 for user type developer2772 behaves like returning response status2773 returns unauthorized2774 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2775 behaves like process Composer api request2776 for user type developer2777 behaves like returning response status2778 returns forbidden2779 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2780 behaves like process Composer api request2781 for user type developer2782 behaves like returning response status2783 returns unauthorized2784 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2785 behaves like process Composer api request2786 for user type guest2787 behaves like returning response status2788 returns forbidden2789 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2790 behaves like process Composer api request2791 for user type guest2792 behaves like returning response status2793 returns unauthorized2794 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2795 behaves like process Composer api request2796 for user type guest2797 behaves like returning response status2798 returns forbidden2799 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2800 behaves like process Composer api request2801 for user type guest2802 behaves like returning response status2803 returns unauthorized2804 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2805 behaves like process Composer api request2806 for user type anonymous2807 behaves like returning response status2808 returns unauthorized2809 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2810 behaves like Composer package creation2811 for user type developer2812 creates package files2813 behaves like a package tracking event2814 creates a gitlab tracking event push_package2815 when package creation fails2816 behaves like not a package tracking event2817 does not create a gitlab tracking event2818 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2819 behaves like process Composer api request2820 for user type developer2821 behaves like returning response status2822 returns unauthorized2823 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2824 behaves like process Composer api request2825 for user type developer2826 behaves like returning response status2827 returns not_found2828 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2829 behaves like process Composer api request2830 for user type developer2831 behaves like returning response status2832 returns unauthorized2833 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2834 behaves like process Composer api request2835 for user type guest2836 behaves like returning response status2837 returns forbidden2838 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2839 behaves like process Composer api request2840 for user type guest2841 behaves like returning response status2842 returns unauthorized2843 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2844 behaves like process Composer api request2845 for user type guest2846 behaves like returning response status2847 returns not_found2848 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2849 behaves like process Composer api request2850 for user type guest2851 behaves like returning response status2852 returns unauthorized2853 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2854 behaves like process Composer api request2855 for user type anonymous2856 behaves like returning response status2857 returns unauthorized2858 behaves like rejects Composer access with unknown project id2859 with an unknown project2860 as anonymous2861 behaves like process Composer api request2862 for user type anonymous2863 behaves like returning response status2864 returns not_found2865 as authenticated user2866 behaves like process Composer api request2867 for user type anonymous2868 behaves like returning response status2869 returns not_found2870 with a non existing tag2871 behaves like process Composer api request2872 for user type developer2873 behaves like returning response status2874 returns not_found2875 with a branch2876 with an existing branch2877 behaves like composer package publish2878 with valid project2879 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2880 behaves like Composer package creation2881 for user type developer2882 creates package files2883 behaves like a package tracking event2884 creates a gitlab tracking event push_package2885 when package creation fails2886 behaves like not a package tracking event2887 does not create a gitlab tracking event2888 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2889 behaves like process Composer api request2890 for user type developer2891 behaves like returning response status2892 returns unauthorized2893 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2894 behaves like process Composer api request2895 for user type developer2896 behaves like returning response status2897 returns forbidden2898 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2899 behaves like process Composer api request2900 for user type developer2901 behaves like returning response status2902 returns unauthorized2903 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2904 behaves like process Composer api request2905 for user type guest2906 behaves like returning response status2907 returns forbidden2908 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2909 behaves like process Composer api request2910 for user type guest2911 behaves like returning response status2912 returns unauthorized2913 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2914 behaves like process Composer api request2915 for user type guest2916 behaves like returning response status2917 returns forbidden2918 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2919 behaves like process Composer api request2920 for user type guest2921 behaves like returning response status2922 returns unauthorized2923 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2924 behaves like process Composer api request2925 for user type anonymous2926 behaves like returning response status2927 returns unauthorized2928 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2929 behaves like Composer package creation2930 for user type developer2931 creates package files2932 behaves like a package tracking event2933 creates a gitlab tracking event push_package2934 when package creation fails2935 behaves like not a package tracking event2936 does not create a gitlab tracking event2937 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2938 behaves like process Composer api request2939 for user type developer2940 behaves like returning response status2941 returns unauthorized2942 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2943 behaves like process Composer api request2944 for user type developer2945 behaves like returning response status2946 returns not_found2947 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2948 behaves like process Composer api request2949 for user type developer2950 behaves like returning response status2951 returns unauthorized2952 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2953 behaves like process Composer api request2954 for user type guest2955 behaves like returning response status2956 returns forbidden2957 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2958 behaves like process Composer api request2959 for user type guest2960 behaves like returning response status2961 returns unauthorized2962 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2963 behaves like process Composer api request2964 for user type guest2965 behaves like returning response status2966 returns not_found2967 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2968 behaves like process Composer api request2969 for user type guest2970 behaves like returning response status2971 returns unauthorized2972 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2973 behaves like process Composer api request2974 for user type anonymous2975 behaves like returning response status2976 returns unauthorized2977 behaves like rejects Composer access with unknown project id2978 with an unknown project2979 as anonymous2980 behaves like process Composer api request2981 for user type anonymous2982 behaves like returning response status2983 returns not_found2984 as authenticated user2985 behaves like process Composer api request2986 for user type anonymous2987 behaves like returning response status2988 returns not_found2989 with a non existing branch2990 behaves like process Composer api request2991 for user type developer2992 behaves like returning response status2993 returns not_found2994 with invalid composer.json2995 with a missing composer.json file2996 behaves like process Composer api request2997 for user type developer2998 behaves like returning response status2999 returns unprocessable_entity3000 with an empty composer.json file3001 behaves like process Composer api request3002 for user type developer3003 behaves like returning response status3004 returns unprocessable_entity3005 with a malformed composer.json file3006 behaves like process Composer api request3007 for user type developer3008 behaves like returning response status3009 returns unprocessable_entity3010 GET /api/v4/projects/:id/packages/composer/archives/*package_name?sha=:sha3011 with valid project3012 when the sha does not match the package name3013 behaves like process Composer api request3014 for user type anonymous3015 behaves like returning response status3016 returns not_found3017 when the package name does not match the sha3018 behaves like process Composer api request3019 for user type anonymous3020 behaves like returning response status3021 returns not_found3022 with a match package name and sha3023 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, expected_status: :success3024 behaves like process Composer api request3025 for user type developer3026 behaves like returning response status3027 returns success3028 behaves like a package tracking event3029 creates a gitlab tracking event pull_package3030 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, expected_status: :success3031 behaves like process Composer api request3032 for user type developer3033 behaves like returning response status3034 returns success3035 behaves like a package tracking event3036 creates a gitlab tracking event pull_package3037 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, expected_status: :success3038 behaves like process Composer api request3039 for user type developer3040 behaves like returning response status3041 returns success3042 behaves like a package tracking event3043 creates a gitlab tracking event pull_package3044 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, expected_status: :success3045 behaves like process Composer api request3046 for user type developer3047 behaves like returning response status3048 returns success3049 behaves like a package tracking event3050 creates a gitlab tracking event pull_package3051 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, expected_status: :success3052 behaves like process Composer api request3053 for user type guest3054 behaves like returning response status3055 returns success3056 behaves like a package tracking event3057 creates a gitlab tracking event pull_package3058 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, expected_status: :success3059 behaves like process Composer api request3060 for user type guest3061 behaves like returning response status3062 returns success3063 behaves like a package tracking event3064 creates a gitlab tracking event pull_package3065 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, expected_status: :success3066 behaves like process Composer api request3067 for user type guest3068 behaves like returning response status3069 returns success3070 behaves like a package tracking event3071 creates a gitlab tracking event pull_package3072 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, expected_status: :success3073 behaves like process Composer api request3074 for user type guest3075 behaves like returning response status3076 returns success3077 behaves like a package tracking event3078 creates a gitlab tracking event pull_package3079 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, expected_status: :success3080 behaves like process Composer api request3081 for user type anonymous3082 behaves like returning response status3083 returns success3084 behaves like a package tracking event3085 creates a gitlab tracking event pull_package3086 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, expected_status: :success3087 behaves like process Composer api request3088 for user type developer3089 behaves like returning response status3090 returns success3091 behaves like a package tracking event3092 creates a gitlab tracking event pull_package3093 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, expected_status: :success3094 behaves like process Composer api request3095 for user type developer3096 behaves like returning response status3097 returns success3098 behaves like a package tracking event3099 creates a gitlab tracking event pull_package3100 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, expected_status: :success3101 behaves like process Composer api request3102 for user type developer3103 behaves like returning response status3104 returns success3105 behaves like a package tracking event3106 creates a gitlab tracking event pull_package3107 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, expected_status: :success3108 behaves like process Composer api request3109 for user type developer3110 behaves like returning response status3111 returns success3112 behaves like a package tracking event3113 creates a gitlab tracking event pull_package3114 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, expected_status: :success3115 behaves like process Composer api request3116 for user type guest3117 behaves like returning response status3118 returns success3119 behaves like a package tracking event3120 creates a gitlab tracking event pull_package3121 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, expected_status: :success3122 behaves like process Composer api request3123 for user type guest3124 behaves like returning response status3125 returns success3126 behaves like a package tracking event3127 creates a gitlab tracking event pull_package3128 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, expected_status: :success3129 behaves like process Composer api request3130 for user type guest3131 behaves like returning response status3132 returns success3133 behaves like a package tracking event3134 creates a gitlab tracking event pull_package3135 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, expected_status: :success3136 behaves like process Composer api request3137 for user type guest3138 behaves like returning response status3139 returns success3140 behaves like a package tracking event3141 creates a gitlab tracking event pull_package3142 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, expected_status: :success3143 behaves like process Composer api request3144 for user type anonymous3145 behaves like returning response status3146 returns success3147 behaves like a package tracking event3148 creates a gitlab tracking event pull_package3149 behaves like rejects Composer access with unknown project id3150 with an unknown project3151 as anonymous3152 behaves like process Composer api request3153 for user type anonymous3154 behaves like returning response status3155 returns not_found3156 as authenticated user3157 behaves like process Composer api request3158 for user type anonymous3159 behaves like returning response status3160 returns not_found3161Projects::MergeRequests::DiffsController3162 GET show3163 with default params3164 for the same project3165 serializes merge request diff collection3166 when note is a legacy diff note3167 serializes merge request diff collection3168 behaves like forked project with submodules3169 renders3170 behaves like cached diff collection3171 ensures diff highlighting cache writing3172 behaves like diff note on-demand position creation3173 updates diff discussion positions3174 GET diffs_metadata3175 behaves like 404 for unexistent diffable3176 when diffable does not exists3177 returns 4043178 when the merge_request_diff.id is blank3179 returns 4043180 behaves like show the right diff files with previous diff_id3181 with previous diff_id3182 shows the right diff files3183 when not authorized3184 returns 404 when not a member3185 returns 404 when visibility level is not enough3186 with valid diff_id3187 behaves like serializes diffs metadata with expected arguments3188 returns success3189 serializes paginated merge request diff collection3190 with the :default_merge_ref_for_diffs flag on3191 correctly generates the right diff between versions3192 with diff_head param passed3193 the merge request can be compared with head3194 compares diffs with the head3195 the merge request cannot be compared with head3196 compares diffs with the base3197 with MR regular diff params3198 behaves like serializes diffs metadata with expected arguments3199 returns success3200 serializes paginated merge request diff collection3201 with commit param3202 behaves like serializes diffs metadata with expected arguments3203 returns success3204 serializes paginated merge request diff collection3205 when display_merge_conflicts_in_diff is disabled3206 behaves like serializes diffs metadata with expected arguments3207 returns success3208 serializes paginated merge request diff collection3209 GET diff_for_path3210 when the merge request exists3211 when the user can view the merge request3212 when the path exists in the diff3213 enables diff notes3214 only renders the diffs for the path given3215 when the user cannot view the merge request3216 returns a 40432181st Try error in ./spec/controllers/projects/merge_requests/diffs_controller_spec.rb:391:3219expected the response to have status code :not_found but it was 200. The response was: {"real_size":"20","size":1,"branch_name":"master","source_branch_exists":true,"target_branch_name":"feature","commit":null,"context_commits":[],"merge_request_diff":{"version_index":null,"created_at":"2021-10-26T21:35:07.831Z","commits_count":29,"latest":true,"short_commit_sha":"b83d6e39","base_version_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26","head_version_path":null,"version_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26","compare_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26\u0026start_sha=b83d6e391c22777fca1ed3012fce84f633d7fed0"},"start_version":null,"latest_diff":true,"latest_version_path":"/namespace167/project304/-/merge_requests/1/diffs","added_lines":10,"removed_lines":3,"render_overflow_warning":false,"email_patch_path":"/namespace167/project304/-/merge_requests/1.patch","plain_diff_path":"/namespace167/project304/-/merge_requests/1.diff","diff_files":[{"content_sha":"b83d6e391c22777fca1ed3012fce84f633d7fed0","submodule":false,"submodule_link":null,"submodule_tree_url":null,"submodule_compare":null,"edit_path":"/namespace167/project304/-/edit/master/files/ruby/popen.rb?from_merge_request_iid=1","ide_edit_path":"/-/ide/project/namespace167/project304/merge_requests/1","old_path_html":"files/ruby/popen.rb","new_path_html":"files/ruby/popen.rb","blob":{"id":"7e3e39ebb9b2bf433b4ad17313770fbe4051649c","path":"files/ruby/popen.rb","name":"popen.rb","mode":"100644","readable_text":true,"icon":"doc-text"},"can_modify_blob":true,"file_identifier_hash":"22d9646cb769ba60d81ae881f1646fc9eaf923ba","file_hash":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd","file_path":"files/ruby/popen.rb","old_path":"files/ruby/popen.rb","new_path":"files/ruby/popen.rb","new_file":false,"renamed_file":false,"deleted_file":false,"diff_refs":{"base_sha":"ae73cb07c9eeaf35924a10f713b364d32b2dd34f","start_sha":"0b4bc9a49b562e85de7cc9e834518ea6828729b9","head_sha":"b83d6e391c22777fca1ed3012fce84f633d7fed0"},"stored_externally":null,"external_storage":null,"mode_changed":false,"a_mode":"100644","b_mode":"100644","viewer":{"name":"text","error":null,"error_message":null,"collapsed":false},"alternate_viewer":null,"old_size":632,"new_size":669,"conflict_type":null,"added_lines":10,"removed_lines":3,"load_collapsed_diff_url":"/namespace167/project304/-/merge_requests/1/diff_for_path?file_identifier=files%2Fruby%2Fpopen.rb-false-false-false\u0026new_path=files%2Fruby%2Fpopen.rb\u0026old_path=files%2Fruby%2Fpopen.rb","view_path":"/namespace167/project304/-/blob/b83d6e391c22777fca1ed3012fce84f633d7fed0/files/ruby/popen.rb","replaced_view_path":null,"context_lines_path":"/namespace167/project304/-/blob/b83d6e391c22777fca1ed3012fce84f633d7fed0/files/ruby/popen.rb/diff","highlighted_diff_lines":[{"line_code":null,"type":"match","old_line":null,"new_line":null,"text":"@@ -6,12 +6,18 @@ module Popen","meta_data":{"old_pos":6,"new_pos":6},"rich_text":"@@ -6,12 +6,18 @@ module Popen","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_6_6","type":null,"old_line":6,"new_line":6,"text":" ","meta_data":null,"rich_text":" \n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_7_7","type":null,"old_line":7,"new_line":7,"text":" def popen(cmd, path=nil)","meta_data":null,"rich_text":" \u003cspan id=\"LC7\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003edef\u003c/span\u003e \u003cspan class=\"nf\"\u003epopen\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003ecmd\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"o\"\u003e=\u003c/span\u003e\u003cspan class=\"kp\"\u003enil\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_8_8","type":null,"old_line":8,"new_line":8,"text":" unless cmd.is_a?(Array)","meta_data":null,"rich_text":" \u003cspan id=\"LC8\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003eunless\u003c/span\u003e \u003cspan class=\"n\"\u003ecmd\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003eis_a?\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"no\"\u003eArray\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_9_9","type":"old","old_line":9,"new_line":null,"text":"- raise \"System commands must be given as an array of strings\"","meta_data":null,"rich_text":"-\u003cspan id=\"LC9\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003eraise\u003c/span\u003e \u003cspan class=\"s2\"\u003e\"System commands must be given as an array of strings\"\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":false},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_9","type":"new","old_line":null,"new_line":9,"text":"+ raise RuntimeError, \"System commands must be given as an array of strings\"","meta_data":null,"rich_text":"+\u003cspan id=\"LC9\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003eraise\u003c/span\u003e \u003cspan class=\"no\"\u003e\u003cspan class=\"idiff left addition\"\u003eRuntimeError\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"p\"\u003e\u003cspan class=\"idiff addition\"\u003e,\u003c/span\u003e\u003c/span\u003e\u003cspan class=\"idiff right addition\"\u003e \u003c/span\u003e\u003cspan class=\"s2\"\u003e\"System commands must be given as an array of strings\"\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_10_10","type":null,"old_line":10,"new_line":10,"text":" end","meta_data":null,"rich_text":" \u003cspan id=\"LC10\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003eend\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_11_11","type":null,"old_line":11,"new_line":11,"text":" ","meta_data":null,"rich_text":" \n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_12_12","type":null,"old_line":12,"new_line":12,"text":" path ||= Dir.pwd","meta_data":null,"rich_text":" \u003cspan id=\"LC12\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"n\"\u003epath\u003c/span\u003e \u003cspan class=\"o\"\u003e||=\u003c/span\u003e \u003cspan class=\"no\"\u003eDir\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003epwd\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_13_13","type":"old","old_line":13,"new_line":null,"text":"- vars = { \"PWD\" =\u003e path }","meta_data":null,"rich_text":"-\u003cspan id=\"LC13\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"n\"\u003evars\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"s2\"\u003e\"PWD\"\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003epath\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":false},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_14_13","type":"old","old_line":14,"new_line":null,"text":"- options = { chdir: path }","meta_data":null,"rich_text":"-\u003cspan id=\"LC14\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"n\"\u003eoptions\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e \u003cspan class=\"ss\"\u003echdir: \u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":false},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_13","type":"new","old_line":null,"new_line":13,"text":"+","meta_data":null,"rich_text":"+\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14","type":"new","old_line":null,"new_line":14,"text":"+ vars = {","meta_data":null,"rich_text":"+\u003cspan id=\"LC14\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"n\"\u003evars\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_15","type":"new","old_line":null,"new_line":15,"text":"+ \"PWD\" =\u003e path","meta_data":null,"rich_text":"+\u003cspan id=\"LC15\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"s2\"\u003e\"PWD\"\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u0026gt;\u003c/span\u003e \u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_16","type":"new","old_line":null,"new_line":16,"text":"+ }","meta_data":null,"rich_text":"+\u003cspan id=\"LC16\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_17","type":"new","old_line":null,"new_line":17,"text":"+","meta_data":null,"rich_text":"+\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_18","type":"new","old_line":null,"new_line":18,"text":"+ options = {","meta_data":null,"rich_text":"+\u003cspan id=\"LC18\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"n\"\u003eoptions\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"p\"\u003e{\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_19","type":"new","old_line":null,"new_line":19,"text":"+ chdir: path","meta_data":null,"rich_text":"+\u003cspan id=\"LC19\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"ss\"\u003echdir: \u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_20","type":"new","old_line":null,"new_line":20,"text":"+ }","meta_data":null,"rich_text":"+\u003cspan id=\"LC20\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"p\"\u003e}\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_21","type":null,"old_line":15,"new_line":21,"text":" ","meta_data":null,"rich_text":" \n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_16_22","type":null,"old_line":16,"new_line":22,"text":" unless File.directory?(path)","meta_data":null,"rich_text":" \u003cspan id=\"LC22\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"k\"\u003eunless\u003c/span\u003e \u003cspan class=\"no\"\u003eFile\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003edirectory?\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_17_23","type":null,"old_line":17,"new_line":23,"text":" FileUtils.mkdir_p(path)","meta_data":null,"rich_text":" \u003cspan id=\"LC23\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"no\"\u003eFileUtils\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003emkdir_p\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003epath\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":null,"type":"match","old_line":null,"new_line":null,"text":"@@ -19,6 +25,7 @@ module Popen","meta_data":{"old_pos":19,"new_pos":25},"rich_text":"@@ -19,6 +25,7 @@ module Popen","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_19_25","type":null,"old_line":19,"new_line":25,"text":" ","meta_data":null,"rich_text":" \n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_20_26","type":null,"old_line":20,"new_line":26,"text":" @cmd_output = \"\"","meta_data":null,"rich_text":" \u003cspan id=\"LC26\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"vi\"\u003e@cmd_output\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"s2\"\u003e\"\"\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_21_27","type":null,"old_line":21,"new_line":27,"text":" @cmd_status = 0","meta_data":null,"rich_text":" \u003cspan id=\"LC27\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"vi\"\u003e@cmd_status\u003c/span\u003e \u003cspan class=\"o\"\u003e=\u003c/span\u003e \u003cspan class=\"mi\"\u003e0\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_28","type":"new","old_line":null,"new_line":28,"text":"+","meta_data":null,"rich_text":"+\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_22_29","type":null,"old_line":22,"new_line":29,"text":" Open3.popen3(vars, *cmd, options) do |stdin, stdout, stderr, wait_thr|","meta_data":null,"rich_text":" \u003cspan id=\"LC29\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"no\"\u003eOpen3\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003epopen3\u003c/span\u003e\u003cspan class=\"p\"\u003e(\u003c/span\u003e\u003cspan class=\"n\"\u003evars\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"o\"\u003e*\u003c/span\u003e\u003cspan class=\"n\"\u003ecmd\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003eoptions\u003c/span\u003e\u003cspan class=\"p\"\u003e)\u003c/span\u003e \u003cspan class=\"k\"\u003edo\u003c/span\u003e \u003cspan class=\"o\"\u003e|\u003c/span\u003e\u003cspan class=\"n\"\u003estdin\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003estdout\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003estderr\u003c/span\u003e\u003cspan class=\"p\"\u003e,\u003c/span\u003e \u003cspan class=\"n\"\u003ewait_thr\u003c/span\u003e\u003cspan class=\"o\"\u003e|\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_23_30","type":null,"old_line":23,"new_line":30,"text":" @cmd_output \u003c\u003c stdout.read","meta_data":null,"rich_text":" \u003cspan id=\"LC30\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"vi\"\u003e@cmd_output\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan class=\"n\"\u003estdout\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003eread\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":"2f6fcd96b88b36ce98c38da085c795a27d92a3dd_24_31","type":null,"old_line":24,"new_line":31,"text":" @cmd_output \u003c\u003c stderr.read","meta_data":null,"rich_text":" \u003cspan id=\"LC31\" class=\"line\" lang=\"ruby\"\u003e \u003cspan class=\"vi\"\u003e@cmd_output\u003c/span\u003e \u003cspan class=\"o\"\u003e\u0026lt;\u0026lt;\u003c/span\u003e \u003cspan class=\"n\"\u003estderr\u003c/span\u003e\u003cspan class=\"p\"\u003e.\u003c/span\u003e\u003cspan class=\"nf\"\u003eread\u003c/span\u003e\u003c/span\u003e\n","can_receive_suggestion":true},{"line_code":null,"type":"match","old_line":null,"new_line":null,"text":"","meta_data":{"old_pos":24,"new_pos":31},"rich_text":"","can_receive_suggestion":true}],"is_fully_expanded":false,"code_navigation_path":null}],"merge_request_diffs":[{"version_index":null,"created_at":"2021-10-26T21:35:07.831Z","commits_count":29,"latest":true,"short_commit_sha":"b83d6e39","base_version_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26","head_version_path":null,"version_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26","compare_path":"/namespace167/project304/-/merge_requests/1/diffs?diff_id=26\u0026start_sha=b83d6e391c22777fca1ed3012fce84f633d7fed0"}],"definition_path_prefix":"/namespace167/project304/-/blob/b83d6e391c22777fca1ed3012fce84f633d7fed0","context_commits_diff":null}3221RSpec::Retry: 2nd try ./spec/controllers/projects/merge_requests/diffs_controller_spec.rb:3913222 when the merge request does not exist3223 returns a 4043224 when the merge request belongs to a different project3225 returns a 4043226 GET diffs_batch3227 behaves like 404 for unexistent diffable3228 when diffable does not exists3229 returns 4043230 when the merge_request_diff.id is blank3231 returns 4043232 behaves like show the right diff files with previous diff_id3233 with previous diff_id3234 shows the right diff files3235 when not authorized3236 returns 4043237 with valid diff_id3238 behaves like serializes diffs with expected arguments3239 serializes paginated merge request diff collection3240 behaves like successful request3241 returns success3242 tracks mr_diffs event3243 when DNT is enabled3244 does not track any mr_diffs event3245 when user has view_diffs_file_by_file set to false3246 does not track single_file_diffs events3247 when user has view_diffs_file_by_file set to true3248 tracks single_file_diffs events3249 with commit_id param3250 behaves like serializes diffs with expected arguments3251 serializes paginated merge request diff collection3252 with diff_id and start_sha params3253 behaves like serializes diffs with expected arguments3254 serializes paginated merge request diff collection3255 behaves like successful request3256 returns success3257 tracks mr_diffs event3258 when DNT is enabled3259 does not track any mr_diffs event3260 when user has view_diffs_file_by_file set to false3261 does not track single_file_diffs events3262 when user has view_diffs_file_by_file set to true3263 tracks single_file_diffs events3264 with paths param3265 filters down the response to the expected file path3266 behaves like serializes diffs with expected arguments3267 serializes paginated merge request diff collection3268 behaves like successful request3269 returns success3270 tracks mr_diffs event3271 when DNT is enabled3272 does not track any mr_diffs event3273 when user has view_diffs_file_by_file set to false3274 does not track single_file_diffs events3275 when user has view_diffs_file_by_file set to true3276 tracks single_file_diffs events3277 with default params3278 behaves like serializes diffs with expected arguments3279 serializes paginated merge request diff collection3280 behaves like successful request3281 returns success3282 tracks mr_diffs event3283 when DNT is enabled3284 does not track any mr_diffs event3285 when user has view_diffs_file_by_file set to false3286 does not track single_file_diffs events3287 when user has view_diffs_file_by_file set to true3288 tracks single_file_diffs events3289 with smaller diff batch params3290 behaves like serializes diffs with expected arguments3291 serializes paginated merge request diff collection3292 behaves like successful request3293 returns success3294 tracks mr_diffs event3295 when DNT is enabled3296 does not track any mr_diffs event3297 when user has view_diffs_file_by_file set to false3298 does not track single_file_diffs events3299 when user has view_diffs_file_by_file set to true3300 tracks single_file_diffs events3301 when display_merge_conflicts_in_diff is disabled3302 behaves like serializes diffs with expected arguments3303 serializes paginated merge request diff collection3304 behaves like successful request3305 returns success3306 tracks mr_diffs event3307 when DNT is enabled3308 does not track any mr_diffs event3309 when user has view_diffs_file_by_file set to false3310 does not track single_file_diffs events3311 when user has view_diffs_file_by_file set to true3312 tracks single_file_diffs events3313 behaves like forked project with submodules3314 renders3315 behaves like cached diff collection3316 ensures diff highlighting cache writing3317 diff unfolding3318 unfolds correct diff file positions3319API::ProjectSnippets3320 GET /projects/:project_id/snippets/:id/user_agent_detail3321 exposes known attributes3322 respects project scoping3323 returns unauthorized for non-admin users3324 with snippets disabled3325 behaves like 403 response3326 returns 4033327 GET /projects/:project_id/snippets/3328 returns all snippets available to team member3329 hides private snippets from regular user3330 with snippets disabled3331 behaves like 403 response3332 returns 4033333 GET /projects/:project_id/snippets/:id3334 returns snippet json3335 returns 404 for invalid snippet id3336 with snippets disabled3337 behaves like 403 response3338 returns 4033339 behaves like project snippet access levels3340 behaves like unauthenticated project snippet access3341 project_visibility: :public, snippet_visibility: :public, status: :ok3342 behaves like expected response status3343 returns the correct response3344 project_visibility: :public, snippet_visibility: :private, status: :not_found3345 behaves like expected response status3346 returns the correct response3347 project_visibility: :public, snippet_visibility: :internal, status: :not_found3348 behaves like expected response status3349 returns the correct response3350 project_visibility: :internal, snippet_visibility: :public, status: :not_found3351 behaves like expected response status3352 returns the correct response3353 project_visibility: :private, snippet_visibility: :public, status: :not_found3354 behaves like expected response status3355 returns the correct response3356 behaves like non-member project snippet access3357 project_visibility: :public, snippet_visibility: :public, status: :ok3358 behaves like expected response status3359 returns the correct response3360 project_visibility: :public, snippet_visibility: :internal, status: :ok3361 behaves like expected response status3362 returns the correct response3363 project_visibility: :internal, snippet_visibility: :public, status: :ok3364 behaves like expected response status3365 returns the correct response3366 project_visibility: :public, snippet_visibility: :private, status: :not_found3367 behaves like expected response status3368 returns the correct response3369 project_visibility: :private, snippet_visibility: :public, status: :not_found3370 behaves like expected response status3371 returns the correct response3372 behaves like member project snippet access3373 project_visibility: :public, snippet_visibility: :public, status: :ok3374 behaves like expected response status3375 returns the correct response3376 project_visibility: :public, snippet_visibility: :internal, status: :ok3377 behaves like expected response status3378 returns the correct response3379 project_visibility: :internal, snippet_visibility: :public, status: :ok3380 behaves like expected response status3381 returns the correct response3382 project_visibility: :public, snippet_visibility: :private, status: :ok3383 behaves like expected response status3384 returns the correct response3385 project_visibility: :private, snippet_visibility: :public, status: :ok3386 behaves like expected response status3387 returns the correct response3388 POST /projects/:project_id/snippets/3389 with an external user3390 that belongs to the project3391 creates a new snippet3392 that does not belong to the project3393 does not create a new snippet3394 with a regular user3395 creates a new snippet3396 behaves like project snippet repository actions3397 commit the files to the repository3398 with an admin3399 creates a new snippet3400 returns 400 for missing parameters3401 returns 400 if title is blank3402 behaves like project snippet repository actions3403 commit the files to the repository3404 behaves like snippet creation with files parameter3405 returns 400 if both files and content are provided3406 returns 400 when neither files or content are provided3407 path: ".gitattributes", content: "file content", status: :created, error: nil3408 responds correctly3409 path: "valid/path/file.rb", content: "file content", status: :created, error: nil3410 responds correctly3411 path: ".gitattributes", content: nil, status: :bad_request, error: "files[0][content] is empty"3412 responds correctly3413 path: ".gitattributes", content: "", status: :bad_request, error: "files[0][content] is empty"3414 responds correctly3415 path: "", content: "file content", status: :bad_request, error: "files[0][file_path] is empty"3416 responds correctly3417 path: nil, content: "file content", status: :bad_request, error: "files[0][file_path] should be a valid file path, files[0][file_path] is empty"3418 responds correctly3419 path: "../../etc/passwd", content: "file content", status: :bad_request, error: "files[0][file_path] should be a valid file path"3420 responds correctly3421 behaves like snippet creation without files parameter3422 allows file_name and content parameters3423 returns 400 if file_name and content are not both provided3424 returns 400 if content is blank3425 when save fails because the repository could not be created3426 returns 4003427 when the snippet is spam3428 when the snippet is private3429 creates the snippet3430 when the snippet is public3431 rejects the snippet3432 creates a spam log3433 with snippets disabled3434 behaves like 403 response3435 returns 4033436 PUT /projects/:project_id/snippets/:id/3437 behaves like snippet file updates3438 with various snippet file changes3439 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :success3440 has the correct response3441 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"update", :file_path=>"CHANGELOG", :content=>"bar"}], status: :success3442 has the correct response3443 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"move", :file_path=>".old-gitattributes", :previous_path=>".gitattributes"}], status: :success3444 has the correct response3445 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"delete", :file_path=>"CONTRIBUTING.md"}], status: :success3446 has the correct response3447 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}, {:action=>"update", :file_path=>"CHANGELOG", :content=>"bar"}], status: :success3448 has the correct response3449 is_multi_file: true, file_name: "foo.txt", content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3450 has the correct response3451 is_multi_file: true, file_name: "foo.txt", content: "bar", files: nil, status: :bad_request3452 has the correct response3453 is_multi_file: true, file_name: nil, content: nil, files: nil, status: :bad_request3454 has the correct response3455 is_multi_file: true, file_name: "foo.txt", content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3456 has the correct response3457 is_multi_file: true, file_name: nil, content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3458 has the correct response3459 is_multi_file: true, file_name: "", content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3460 has the correct response3461 is_multi_file: true, file_name: nil, content: "", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3462 has the correct response3463 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"../../etc/passwd", :content=>"bar"}], status: :bad_request3464 has the correct response3465 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :previous_path=>"../../etc/passwd", :file_path=>"CHANGELOG", :content=>"bar"}], status: :bad_request3466 has the correct response3467 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"move", :file_path=>"missing_previous_path.txt"}], status: :unprocessable_entity3468 has the correct response3469 is_multi_file: false, file_name: "foo.txt", content: "bar", files: nil, status: :success3470 has the correct response3471 is_multi_file: false, file_name: "foo.txt", content: nil, files: nil, status: :success3472 has the correct response3473 is_multi_file: false, file_name: nil, content: "bar", files: nil, status: :success3474 has the correct response3475 is_multi_file: false, file_name: "foo.txt", content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request3476 has the correct response3477 is_multi_file: false, file_name: nil, content: nil, files: nil, status: :bad_request3478 has the correct response3479 is_multi_file: false, file_name: nil, content: "", files: nil, status: :bad_request3480 has the correct response3481 is_multi_file: false, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"../../etc/passwd", :content=>"bar"}], status: :bad_request3482 has the correct response3483 is_multi_file: false, file_name: nil, content: nil, files: [{:action=>"create", :previous_path=>"../../etc/passwd", :file_path=>"CHANGELOG", :content=>"bar"}], status: :bad_request3484 has the correct response3485 when save fails due to a repository commit error3486 returns a bad request response3487 behaves like snippet non-file updates3488 updates a snippet non-file attributes3489 behaves like snippet individual non-file updates3490 attribute: :description, updated_value: "new description"3491 updates the attribute3492 attribute: :title, updated_value: "new title"3493 updates the attribute3494 attribute: :visibility, updated_value: "private"3495 updates the attribute3496 behaves like invalid snippet updates3497 returns 404 for invalid snippet id3498 returns 400 for missing parameters3499 returns 400 if content is blank3500 returns 400 if title is blank3501 behaves like update with repository actions3502 when the repository exists3503 commits the changes to the repository3504 when the repository does not exist3505 when update attributes does not include file_name or content3506 does not create the repository3507 when update attributes include file_name or content3508 creates the repository3509 commits the file to the repository3510 when save fails due to a repository creation error3511 returns 4003512 does not save the changes to the snippet object3513 when the snippet is spam3514 when the snippet is private3515 creates the snippet3516 when the snippet is public3517 rejects the snippet3518 creates a spam log3519 when the private snippet is made public3520 rejects the snippet3521 creates a spam log3522 with snippets disabled3523 behaves like 403 response3524 returns 4033525 DELETE /projects/:project_id/snippets/:id/3526 deletes snippet3527 returns 404 for invalid snippet id3528 behaves like 412 response3529 for a modified ressource3530 returns 412 with a JSON error3531 for an unmodified ressource3532 returns 204 with an empty body3533 with snippets disabled3534 behaves like 403 response3535 returns 4033536 GET /projects/:project_id/snippets/:id/raw3537 returns raw text3538 returns 404 for invalid snippet id3539 behaves like project snippet access levels3540 behaves like unauthenticated project snippet access3541 project_visibility: :public, snippet_visibility: :public, status: :ok3542 behaves like expected response status3543 returns the correct response3544 project_visibility: :public, snippet_visibility: :private, status: :not_found3545 behaves like expected response status3546 returns the correct response3547 project_visibility: :public, snippet_visibility: :internal, status: :not_found3548 behaves like expected response status3549 returns the correct response3550 project_visibility: :internal, snippet_visibility: :public, status: :not_found3551 behaves like expected response status3552 returns the correct response3553 project_visibility: :private, snippet_visibility: :public, status: :not_found3554 behaves like expected response status3555 returns the correct response3556 behaves like non-member project snippet access3557 project_visibility: :public, snippet_visibility: :public, status: :ok3558 behaves like expected response status3559 returns the correct response3560 project_visibility: :public, snippet_visibility: :internal, status: :ok3561 behaves like expected response status3562 returns the correct response3563 project_visibility: :internal, snippet_visibility: :public, status: :ok3564 behaves like expected response status3565 returns the correct response3566 project_visibility: :public, snippet_visibility: :private, status: :not_found3567 behaves like expected response status3568 returns the correct response3569 project_visibility: :private, snippet_visibility: :public, status: :not_found3570 behaves like expected response status3571 returns the correct response3572 behaves like member project snippet access3573 project_visibility: :public, snippet_visibility: :public, status: :ok3574 behaves like expected response status3575 returns the correct response3576 project_visibility: :public, snippet_visibility: :internal, status: :ok3577 behaves like expected response status3578 returns the correct response3579 project_visibility: :internal, snippet_visibility: :public, status: :ok3580 behaves like expected response status3581 returns the correct response3582 project_visibility: :public, snippet_visibility: :private, status: :ok3583 behaves like expected response status3584 returns the correct response3585 project_visibility: :private, snippet_visibility: :public, status: :ok3586 behaves like expected response status3587 returns the correct response3588 with snippets disabled3589 behaves like 403 response3590 returns 4033591 behaves like snippet blob content3592 returns content from repository3593 when snippet repository is empty3594 returns content from database3595 GET /projects/:project_id/snippets/:id/files/:ref/:file_path/raw3596 behaves like raw snippet files3597 with an invalid snippet ID3598 returns 4043599 with valid params3600 returns the raw file info3601 with unauthorized user3602 returns 4043603 with invalid params3604 file_path: "%2Egitattributes", ref: "invalid-ref", status: :not_found, key: "message", message: "404 Reference Not Found"3605 returns the proper response code and message3606 file_path: "%2Egitattributes", ref: nil, status: :not_found, key: "error", message: "404 Not Found"3607 returns the proper response code and message3608 file_path: "%2Egitattributes", ref: "", status: :not_found, key: "error", message: "404 Not Found"3609 returns the proper response code and message3610 file_path: "doesnotexist.rb", ref: "master", status: :not_found, key: "message", message: "404 File Not Found"3611 returns the proper response code and message3612 file_path: "/does/not/exist.rb", ref: "master", status: :not_found, key: "error", message: "404 Not Found"3613 returns the proper response code and message3614 file_path: "%2E%2E%2Fetc%2Fpasswd", ref: "master", status: :bad_request, key: "error", message: "file_path should be a valid file path"3615 returns the proper response code and message3616 file_path: "%2Fetc%2Fpasswd", ref: "master", status: :bad_request, key: "error", message: "file_path should be a valid file path"3617 returns the proper response code and message3618 file_path: "../../etc/passwd", ref: "master", status: :not_found, key: "error", message: "404 Not Found"3619 returns the proper response code and message3620 behaves like project snippet access levels3621 behaves like unauthenticated project snippet access3622 project_visibility: :public, snippet_visibility: :public, status: :ok3623 behaves like expected response status3624 returns the correct response3625 project_visibility: :public, snippet_visibility: :private, status: :not_found3626 behaves like expected response status3627 returns the correct response3628 project_visibility: :public, snippet_visibility: :internal, status: :not_found3629 behaves like expected response status3630 returns the correct response3631 project_visibility: :internal, snippet_visibility: :public, status: :not_found3632 behaves like expected response status3633 returns the correct response3634 project_visibility: :private, snippet_visibility: :public, status: :not_found3635 behaves like expected response status3636 returns the correct response3637 behaves like non-member project snippet access3638 project_visibility: :public, snippet_visibility: :public, status: :ok3639 behaves like expected response status3640 returns the correct response3641 project_visibility: :public, snippet_visibility: :internal, status: :ok3642 behaves like expected response status3643 returns the correct response3644 project_visibility: :internal, snippet_visibility: :public, status: :ok3645 behaves like expected response status3646 returns the correct response3647 project_visibility: :public, snippet_visibility: :private, status: :not_found3648 behaves like expected response status3649 returns the correct response3650 project_visibility: :private, snippet_visibility: :public, status: :not_found3651 behaves like expected response status3652 returns the correct response3653 behaves like member project snippet access3654 project_visibility: :public, snippet_visibility: :public, status: :ok3655 behaves like expected response status3656 returns the correct response3657 project_visibility: :public, snippet_visibility: :internal, status: :ok3658 behaves like expected response status3659 returns the correct response3660 project_visibility: :internal, snippet_visibility: :public, status: :ok3661 behaves like expected response status3662 returns the correct response3663 project_visibility: :public, snippet_visibility: :private, status: :ok3664 behaves like expected response status3665 returns the correct response3666 project_visibility: :private, snippet_visibility: :public, status: :ok3667 behaves like expected response status3668 returns the correct response3669ProjectsController3670 updates Service Desk attributes3671 GET new3672 with an authenticated user3673 when namespace_id param is present3674 when user has access to the namespace3675 renders the template3676 when user does not have access to the namespace3677 responds with status 4043678 GET index3679 as a user3680 redirects to root page3681 as a guest3682 redirects to Explore page3683 GET #activity as JSON3684 when user has permission to see the event3685 returns count3686 design events are visible3687 returns correct count3688 when user has no permission to see the event3689 filters out invisible event3690 GET show3691 user not project member3692 user does not have access to project3693 does not initialize notification setting3694 user has access to project3695 and does not have notification setting3696 initializes notification as disabled3697 and has notification setting3698 shows current notification setting3699 when project repository is disabled3700 shows wiki homepage3701 shows issues list page if wiki is disabled3702 shows activity page if wiki and issues are disabled3703 shows activity if enabled by user3704 project with empty repo3705 when user can push to default branch3706 creates an "view_project_show" experiment tracking event3707 with readme view set3708 renders the empty project view3709 with activity view set3710 renders the empty project view3711 with files view set3712 renders the empty project view3713 project with broken repo3714 with readme view set3715 renders the empty project view3716 with activity view set3717 renders the empty project view3718 with files view set3719 renders the empty project view3720 rendering default project view3721 renders the activity view3722 renders the files view3723 renders the readme view3724 does not make Gitaly requests3725 renders files even with invalid license3726 when the url contains .atom3727 expects an error creating the project3728 when the project is pending deletions3729 renders a 404 error3730 redirection from http://someproject.git3731 user_type: :anonymous, project_visibility: :public, expected_redirect: :redirect_to_project3732 returns the expected status3733 user_type: :anonymous, project_visibility: :internal, expected_redirect: :redirect_to_signup3734 returns the expected status3735 user_type: :anonymous, project_visibility: :private, expected_redirect: :redirect_to_signup3736 returns the expected status3737 user_type: :signed_in, project_visibility: :public, expected_redirect: :redirect_to_project3738 returns the expected status3739 user_type: :signed_in, project_visibility: :internal, expected_redirect: :redirect_to_project3740 returns the expected status3741 user_type: :signed_in, project_visibility: :private, expected_redirect: nil3742 returns the expected status3743 user_type: :member, project_visibility: :public, expected_redirect: :redirect_to_project3744 returns the expected status3745 user_type: :member, project_visibility: :internal, expected_redirect: :redirect_to_project3746 returns the expected status3747 user_type: :member, project_visibility: :private, expected_redirect: :redirect_to_project3748 returns the expected status3749 when project is moved and git format is requested3750 redirects to new project path3751 when the project is forked and has a repository3752 does not increase the number of queries when the project is forked3753 POST create3754 on import3755 when import by url is disabled3756 does not create project and reports an error3757 when import by url is enabled3758 creates project3759 with new_project_sast_enabled3760 tracks an event on project creation3761 GET edit3762 allows an admin user to access the page3763 sets the badge API endpoint3764 POST #archive3765 for a user with the ability to archive a project3766 archives the project3767 redirects to projects path3768 for a user that does not have the ability to archive a project3769 does not archive the project3770 returns 4043771 POST #unarchive3772 for a user with the ability to unarchive a project3773 unarchives the project3774 redirects to projects path3775 for a user that does not have the ability to unarchive a project3776 does not unarchive the project3777 returns 4043778 #housekeeping3779 when authenticated as owner3780 forces a full garbage collection3781 when authenticated as developer3782 does not execute housekeeping3783 #update3784 hashed storage3785 behaves like updating a project3786 updates Fast Forward Merge attributes3787 does not update namespace3788 when there is a conflicting project path3789DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_icon_service_desk.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)3790DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/icons/_icon_service_desk.svg (called from block in custom_icon at /builds/gitlab-org/gitlab/app/helpers/icons_helper.rb:14)3791 does not show any references to the conflicting path3792 when only renaming a project path3793 doesnt change the disk_path when using hashed storage3794 upgrades and move project to hashed storage when project was originally legacy (PENDING: No reason given)3795 when project has container repositories with tags3796 does not allow to rename the project3797 legacy storage3798 behaves like updating a project3799 updates Fast Forward Merge attributes3800 does not update namespace3801 when there is a conflicting project path3802 does not show any references to the conflicting path3803 when only renaming a project path3804 doesnt change the disk_path when using hashed storage (PENDING: No reason given)3805 upgrades and move project to hashed storage when project was originally legacy3806 when project has container repositories with tags3807 does not allow to rename the project3808 as maintainer3809 behaves like unauthorized when external service denies access3810 allows access when the authorization service allows it3811 allows access when the authorization service denies it3812 updates when the service allows access3813 does not update when the service rejects access3814 when updating boolean values on project_settings3815 boolean_value: "1", result: true3816 updates project settings attributes accordingly3817 boolean_value: "0", result: false3818 updates project settings attributes accordingly3819 boolean_value: 1, result: true3820 updates project settings attributes accordingly3821 boolean_value: 0, result: false3822 updates project settings attributes accordingly3823 boolean_value: true, result: true3824 updates project settings attributes accordingly3825 boolean_value: false, result: false3826 updates project settings attributes accordingly3827 with project feature attributes3828 feature: :metrics_dashboard_access_level, initial_value: 10, update_to: 203829 updates the project_feature new3830 feature: :container_registry_access_level, initial_value: 20, update_to: 103831 updates the project_feature new3832 #transfer3833 updates namespace3834 when new namespace is empty3835 project namespace is not changed3836 #destroy3837 redirects to the dashboard3838 when the project is forked3839 closes all related merge requests3840 PUT #new_issuable_address for issue3841 has http status 2003842 changes the user incoming email token3843 changes projects new issue address3844 PUT #new_issuable_address for merge request3845 has http status 2003846 changes the user incoming email token3847 changes projects new merge request address3848 POST #toggle_star3849 toggles star if user is signed in3850 does nothing if user is not signed in3851 DELETE remove_fork3852 does nothing if user is not signed in3853 when signed in3854 with forked project3855 removes fork from project3856 when project not forked3857 does nothing if project was not forked3858 GET refs3859 gets a list of branches and tags3860 gets a list of branches, tags and commits3861 when preferred language is Japanese3862 gets a list of branches, tags and commits3863 when private project3864 as a guest3865 renders forbidden3866 POST #preview_markdown3867 renders json in a correct format3868 when not authorized3869 returns 4043870 state filter on references3871 renders JSON body with state filter for issues3872 renders JSON body with state filter for MRs3873 when path parameter is provided3874 renders JSON body with image links expanded3875 when path and ref parameters are provided3876 renders JSON body with image links expanded3877 #ensure_canonical_path3878 for a GET request3879 when requesting the canonical path3880 with exactly matching casing3881 loads the project3882 with different casing3883 redirects to the normalized path3884 when requesting a redirected path3885 redirects to the canonical path3886 redirects to the canonical path (testing non-show action)3887 for a POST request3888 when requesting the canonical path with different casing3889 does not 4043890 does not redirect to the correct casing3891 when requesting a redirected path3892 returns not found3893 for a DELETE request3894 when requesting the canonical path with different casing3895 does not 4043896 does not redirect to the correct casing3897 when requesting a redirected path3898 returns not found3899 project export3900 #export3901 when project export is enabled3902 returns 3023903 when project export is disabled3904 returns 4043905 when the endpoint receives requests above the limit3906 prevents requesting project export3907 #download_export3908 object storage enabled3909 when project export is enabled3910 returns 3023911 when project export file is absent3912 alerts the user and returns 3023913 when project export is disabled3914 returns 4043915 when the endpoint receives requests above the limit3916 prevents requesting project export3917 applies correct scope when throttling3918 #remove_export3919 when project export is enabled3920/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3921 returns 3023922 when project export is disabled3923 returns 4043924 #generate_new_export3925 when project export is enabled3926/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3927 returns 3023928 when project export is disabled3929 returns 4043930 when the endpoint receives requests above the limit3931 prevents requesting project export3932 private project with token authentication3933 behaves like authenticates sessionless user3934 doesn't log the user in otherwise3935 when the 'personal_access_token' param is populated with the personal access token3936DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: layouts/xml.atom (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:136)3937DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: layouts/xml.atom (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:136)3938 logs the user in3939 when the personal access token has no api scope3940 does not log the user in3941 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token3942 logs the user in3943 public project with token authentication3944 behaves like authenticates sessionless user3945 when the 'personal_access_token' param is populated with the personal access token3946 logs the user in3947 does not log the user in if page is public3948 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token3949 logs the user in3950 GET show.atom3951 filters by calling event.visible_to_user?3952 filters by calling event.visible_to_user?3953 GET resolve3954 with an authenticated user3955 gives 404 for non-existing project3956 when user has access to the project3957 behaves like resolvable endpoint3958 redirects to the project page3959 when user has no access to the project3960 gives 404 for existing project3961 non authenticated user3962 gives 404 for private project3963 with a public project3964 behaves like resolvable endpoint3965 redirects to the project page3966 GET #unfoldered_environment_names3967 shows the environment names of a public project to an anonymous user3968 does not show environment names of a private project to anonymous users3969 shows environment names of a private project to a project member3970 does not show environment names of a private project to a logged-in non-member3971API::GroupPackages3972 GET /groups/:id/packages3973 with sorting3974 without sorting params3975 sorts by created_at asc3976 behaves like package sorting3977 sorting by name3978 ascending order3979 returns the sorted packages3980 descending order3981 returns the sorted packages3982 behaves like package sorting3983 sorting by created_at3984 ascending order3985 returns the sorted packages3986 descending order3987 returns the sorted packages3988 behaves like package sorting3989 sorting by version3990 ascending order3991 returns the sorted packages3992 descending order3993 returns the sorted packages3994 behaves like package sorting3995 sorting by type3996 ascending order3997 returns the sorted packages3998 descending order3999 returns the sorted packages4000 behaves like package sorting4001 sorting by project_path4002 ascending order4003 returns the sorted packages4004 descending order4005 returns the sorted packages4006 with private group4007 with unauthenticated user4008 behaves like rejects packages access4009 for no_type4010 behaves like returning response status4011 returns not_found4012 with authenticated user4013 behaves like returns packages4014 for owner4015 returns success response4016 returns a valid response schema4017 returns two packages4018 behaves like returns packages4019 for maintainer4020 returns success response4021 returns a valid response schema4022 returns two packages4023 behaves like returns packages4024 for developer4025 returns success response4026 returns a valid response schema4027 returns two packages4028 behaves like returns packages4029 for reporter4030 returns success response4031 returns a valid response schema4032 returns two packages4033 behaves like rejects packages access4034 for guest4035 behaves like returning response status4036 returns forbidden4037 with subgroup4038 behaves like returns packages with subgroups4039 with subgroups for owner4040 returns success response4041 returns a valid response schema4042 returns three packages4043 behaves like returns packages with subgroups4044 with subgroups for maintainer4045 returns success response4046 returns a valid response schema4047 returns three packages4048 behaves like returns packages with subgroups4049 with subgroups for developer4050 returns success response4051 returns a valid response schema4052 returns three packages4053 behaves like returns packages with subgroups4054 with subgroups for reporter4055 returns success response4056 returns a valid response schema4057 returns three packages4058 behaves like rejects packages access4059 for guest4060 behaves like returning response status4061 returns forbidden4062 excluding subgroup4063 behaves like returns packages4064 for owner4065 returns success response4066 returns a valid response schema4067 returns two packages4068 behaves like returns packages4069 for maintainer4070 returns success response4071 returns a valid response schema4072 returns two packages4073 behaves like returns packages4074 for developer4075 returns success response4076 returns a valid response schema4077 returns two packages4078 behaves like returns packages4079 for reporter4080 returns success response4081 returns a valid response schema4082 returns two packages4083 behaves like rejects packages access4084 for guest4085 behaves like returning response status4086 returns forbidden4087 with public group4088 with unauthenticated user4089 behaves like returns packages4090 for no_type4091 returns success response4092 returns a valid response schema4093 returns two packages4094 with authenticated user4095 behaves like returns packages4096 for owner4097 returns success response4098 returns a valid response schema4099 returns two packages4100 behaves like returns packages4101 for maintainer4102 returns success response4103 returns a valid response schema4104 returns two packages4105 behaves like returns packages4106 for developer4107 returns success response4108 returns a valid response schema4109 returns two packages4110 behaves like returns packages4111 for reporter4112 returns success response4113 returns a valid response schema4114 returns two packages4115 behaves like returns packages4116 for guest4117 returns success response4118 returns a valid response schema4119 returns two packages4120 with pagination params4121 behaves like returns paginated packages4122 when viewing the first page4123 returns first 2 packages4124 when viewing the second page4125 returns first 2 packages4126 behaves like filters on each package_type4127 for package type maven4128 returns maven packages4129 for package type npm4130 returns npm packages4131 for package type conan4132 returns conan packages4133 for package type nuget4134 returns nuget packages4135 for package type pypi4136 returns pypi packages4137 for package type composer4138 returns composer packages4139 for package type generic4140 returns generic packages4141 for package type golang4142 returns golang packages4143 for package type debian4144 returns debian packages4145 for package type rubygems4146 returns rubygems packages4147 for package type helm4148 returns helm packages4149 for package type terraform_module4150 returns terraform_module packages4151 does not accept non supported package_type value4152 behaves like returning response status4153 returns bad_request4154 behaves like with versionless packages4155 with versionless package4156 behaves like not including the package4157 does not return the package4158 with include_versionless param4159 with true include_versionless param4160 for param true4161 returns the package4162 for param true4163 returns the package4164 for param 14165 returns the package4166 for param 14167 returns the package4168 with falsy include_versionless param4169 for param false4170 behaves like not including the package4171 does not return the package4172 for param4173 behaves like not including the package4174 does not return the package4175 for param4176 behaves like not including the package4177 does not return the package4178 for param false4179 behaves like not including the package4180 does not return the package4181 for param 04182 behaves like not including the package4183 does not return the package4184 for param 04185 behaves like not including the package4186 does not return the package4187 behaves like with status param4188 hidden packages4189 no status param4190 behaves like not including the hidden package4191 does not return the package4192 with hidden status param4193 returns the package4194 bad status param4195 returns the package4196 behaves like does not cause n^2 queries4197 avoids N^2 database queries4198IdeController4199 #index4200 /-/ide4201 returns 4044202 /-/ide/project4203 returns 4044204 /-/ide/project/:project4205 instantiates project instance var and returns 2004206 behaves like user access rights check4207 user can read project4208 increases the views counter4209 user can read project but cannot push code4210 when user does not have fork4211 instantiates fork_info instance var with fork_path and returns 2004212 has nil fork_info if user cannot fork4213 when user has fork4214 instantiates fork_info instance var with ide_path and returns 2004215 user cannot read project4216 returns 4044217 /-/ide/project/:project/edit4218 instantiates project instance var and returns 2004219 behaves like user access rights check4220 user can read project4221 increases the views counter4222 user can read project but cannot push code4223 when user does not have fork4224 instantiates fork_info instance var with fork_path and returns 2004225 has nil fork_info if user cannot fork4226 when user has fork4227 instantiates fork_info instance var with ide_path and returns 2004228 user cannot read project4229 returns 4044230 /-/ide/project/:project/edit/:branch4231 instantiates project and branch instance vars and returns 2004232 behaves like user access rights check4233 user can read project4234 increases the views counter4235 user can read project but cannot push code4236 when user does not have fork4237 instantiates fork_info instance var with fork_path and returns 2004238 has nil fork_info if user cannot fork4239 when user has fork4240 instantiates fork_info instance var with ide_path and returns 2004241 user cannot read project4242 returns 4044243 /-/ide/project/:project/edit/:branch/-4244 instantiates project and branch instance vars and returns 2004245 behaves like user access rights check4246 user can read project4247 increases the views counter4248 user can read project but cannot push code4249 when user does not have fork4250 instantiates fork_info instance var with fork_path and returns 2004251 has nil fork_info if user cannot fork4252 when user has fork4253 instantiates fork_info instance var with ide_path and returns 2004254 user cannot read project4255 returns 4044256 /-/ide/project/:project/edit/:branch/-/:path4257 instantiates project, branch, and path instance vars and returns 2004258 behaves like user access rights check4259 user can read project4260 increases the views counter4261 user can read project but cannot push code4262 when user does not have fork4263 instantiates fork_info instance var with fork_path and returns 2004264 has nil fork_info if user cannot fork4265 when user has fork4266 instantiates fork_info instance var with ide_path and returns 2004267 user cannot read project4268 returns 4044269 /-/ide/project/:project/blob4270 instantiates project instance var and returns 2004271 behaves like user access rights check4272 user can read project4273 increases the views counter4274 user can read project but cannot push code4275 when user does not have fork4276 instantiates fork_info instance var with fork_path and returns 2004277 has nil fork_info if user cannot fork4278 when user has fork4279 instantiates fork_info instance var with ide_path and returns 2004280 user cannot read project4281 returns 4044282 /-/ide/project/:project/blob/:branch4283 instantiates project and branch instance vars and returns 2004284 behaves like user access rights check4285 user can read project4286 increases the views counter4287 user can read project but cannot push code4288 when user does not have fork4289 instantiates fork_info instance var with fork_path and returns 2004290 has nil fork_info if user cannot fork4291 when user has fork4292 instantiates fork_info instance var with ide_path and returns 2004293 user cannot read project4294 returns 4044295 /-/ide/project/:project/blob/:branch/-4296 instantiates project and branch instance vars and returns 2004297 behaves like user access rights check4298 user can read project4299 increases the views counter4300 user can read project but cannot push code4301 when user does not have fork4302 instantiates fork_info instance var with fork_path and returns 2004303 has nil fork_info if user cannot fork4304 when user has fork4305 instantiates fork_info instance var with ide_path and returns 2004306 user cannot read project4307 returns 4044308 /-/ide/project/:project/blob/:branch/-/:path4309 instantiates project, branch, and path instance vars and returns 2004310 behaves like user access rights check4311 user can read project4312 increases the views counter4313 user can read project but cannot push code4314 when user does not have fork4315 instantiates fork_info instance var with fork_path and returns 2004316 has nil fork_info if user cannot fork4317 when user has fork4318 instantiates fork_info instance var with ide_path and returns 2004319 user cannot read project4320 returns 4044321 /-/ide/project/:project/tree4322 instantiates project instance var and returns 2004323 behaves like user access rights check4324 user can read project4325 increases the views counter4326 user can read project but cannot push code4327 when user does not have fork4328 instantiates fork_info instance var with fork_path and returns 2004329 has nil fork_info if user cannot fork4330 when user has fork4331 instantiates fork_info instance var with ide_path and returns 2004332 user cannot read project4333 returns 4044334 /-/ide/project/:project/tree/:branch4335 instantiates project and branch instance vars and returns 2004336 behaves like user access rights check4337 user can read project4338 increases the views counter4339 user can read project but cannot push code4340 when user does not have fork4341 instantiates fork_info instance var with fork_path and returns 2004342 has nil fork_info if user cannot fork4343 when user has fork4344 instantiates fork_info instance var with ide_path and returns 2004345 user cannot read project4346 returns 4044347 /-/ide/project/:project/tree/:branch/-4348 instantiates project and branch instance vars and returns 2004349 behaves like user access rights check4350 user can read project4351 increases the views counter4352 user can read project but cannot push code4353 when user does not have fork4354 instantiates fork_info instance var with fork_path and returns 2004355 has nil fork_info if user cannot fork4356 when user has fork4357 instantiates fork_info instance var with ide_path and returns 2004358 user cannot read project4359 returns 4044360 /-/ide/project/:project/tree/:branch/-/:path4361 instantiates project, branch, and path instance vars and returns 2004362 behaves like user access rights check4363 user can read project4364 increases the views counter4365 user can read project but cannot push code4366 when user does not have fork4367 instantiates fork_info instance var with fork_path and returns 2004368 has nil fork_info if user cannot fork4369 when user has fork4370 instantiates fork_info instance var with ide_path and returns 2004371 user cannot read project4372 returns 4044373 /-/ide/project/:project/merge_requests/:merge_request_id4374 instantiates project and merge_request instance vars and returns 2004375 behaves like user access rights check4376 user can read project4377 increases the views counter4378 user can read project but cannot push code4379 when user does not have fork4380 instantiates fork_info instance var with fork_path and returns 2004381 has nil fork_info if user cannot fork4382 when user has fork4383 instantiates fork_info instance var with ide_path and returns 2004384 user cannot read project4385 returns 4044386Projects::EnvironmentsController4387 GET index4388 when a request for the HTML is made4389 responds with status code 2004390 expires etag cache to force reload environments list4391 when requesting JSON response for folders4392 with default parameters4393 responds with a flat payload describing available environments4394 sets the polling interval header4395 when a folder-based nested structure is requested4396 responds with a payload containing the latest environment for each folder4397 when requesting available environments scope4398 responds with a payload describing available environments4399 contains values describing environment scopes sizes4400 when requesting stopped environments scope4401 responds with a payload describing stopped environments4402 contains values describing environment scopes sizes4403 GET folder4404 when using default format4405 responds with HTML4406 when using JSON format4407 sorts the subfolders lexicographically4408 GET show4409 with valid id4410 responds with a status code 2004411 with invalid id4412 responds with a status code 4044413 GET edit4414 responds with a status code 2004415 PATCH #update4416 when environment params are valid4417 returns ok and the path to the newly created environment4418 when environment params are invalid4419 returns bad request4420 when name is passed4421 ignores name4422 PATCH #stop4423 when env not available4424 returns 4044425 when stop action4426 returns action url4427 when no stop action4428 returns env url4429 POST #cancel_auto_stop4430 when environment is set as auto-stop4431 behaves like successful response for #cancel_auto_stop4432 when request is html4433 redirects to show page4434 expires etag caching4435 when request is js4436 responds as ok4437 expires etag caching4438 when user is reporter4439 shows NOT Found4440 when environment is not set as auto-stop4441 behaves like failed response for #cancel_auto_stop4442 when request is html4443 redirects to show page4444 when request is js4445 responds as unprocessable entity4446 GET #terminal4447 with valid id4448 responds with a status code 2004449 loads the terminals for the environment4450 with invalid id4451 responds with a status code 4044452 GET #terminal_websocket_authorize4453 with valid workhorse signature4454 and valid id4455 returns the first terminal for the environment4456 and invalid id4457 returns 4044458 with invalid workhorse signature4459 aborts with an exception4460 GET #metrics_redirect4461 redirects to metrics dashboard page4462 GET #metrics4463 when environment has no metrics4464 redirects to metrics dashboard page4465 when requesting metrics as JSON4466 returns a metrics JSON document4467 when environment has some metrics4468 returns a metrics JSON document4469 permissions4470 checks :metrics_dashboard ability4471 with anonymous user and public dashboard visibility4472 redirects to metrics dashboard page4473 GET #additional_metrics4474 when environment has no metrics4475 when requesting metrics as JSON4476 returns a metrics JSON document4477 when environment has some metrics4478 returns a metrics JSON document4479 when time params are missing4480 raises an error when window params are missing4481 when only one time param is provided4482 raises an error when start is missing4483 raises an error when end is missing4484 permissions4485 checks :metrics_dashboard ability4486 with anonymous user and public dashboard visibility4487 does not fail4488 GET #metrics_dashboard4489 behaves like the default dashboard4490 behaves like includes all dashboards4491 includes info for all findable dashboard4492 behaves like GET #metrics_dashboard for dashboard4493 returns correct dashboard4494 behaves like GET #metrics_dashboard correctly formatted response4495 returns a json object with the correct keys4496 behaves like dashboard can be specified4497 when dashboard is specified4498 behaves like error response4499 behaves like GET #metrics_dashboard correctly formatted response4500 returns a json object with the correct keys4501 when the project dashboard is available4502 behaves like the specified dashboard4503 behaves like includes all dashboards4504 includes info for all findable dashboard4505 behaves like GET #metrics_dashboard for dashboard4506 returns correct dashboard4507 behaves like GET #metrics_dashboard correctly formatted response4508 returns a json object with the correct keys4509 when the dashboard cannot not be processed4510 behaves like error response4511 behaves like GET #metrics_dashboard correctly formatted response4512 returns a json object with the correct keys4513 when the specified dashboard is the default dashboard4514 behaves like the default dashboard4515 behaves like includes all dashboards4516 includes info for all findable dashboard4517 behaves like GET #metrics_dashboard for dashboard4518 returns correct dashboard4519 behaves like GET #metrics_dashboard correctly formatted response4520 returns a json object with the correct keys4521 behaves like dashboard can be embedded4522 when the embedded flag is included4523 behaves like the default dynamic dashboard4524 behaves like specified dashboard embed4525 contains only the specified charts4526 behaves like 200 response4527 behaves like GET #metrics_dashboard correctly formatted response4528 returns a json object with the correct keys4529 when incomplete dashboard params are provided4530 behaves like the default dynamic dashboard4531 behaves like specified dashboard embed4532 contains only the specified charts4533 behaves like 200 response4534 behaves like GET #metrics_dashboard correctly formatted response4535 returns a json object with the correct keys4536 when invalid params are provided4537 behaves like the default dynamic dashboard4538 behaves like specified dashboard embed4539 contains only the specified charts4540 behaves like 200 response4541 behaves like GET #metrics_dashboard correctly formatted response4542 returns a json object with the correct keys4543 when the dashboard is correctly specified4544 behaves like error response4545 behaves like GET #metrics_dashboard correctly formatted response4546 returns a json object with the correct keys4547 and exists4548 behaves like specified dashboard embed4549 contains only the specified charts4550 behaves like 200 response4551 behaves like GET #metrics_dashboard correctly formatted response4552 returns a json object with the correct keys4553 with anonymous user and public dashboard visibility4554 behaves like the default dashboard4555 behaves like includes all dashboards4556 includes info for all findable dashboard4557 behaves like GET #metrics_dashboard for dashboard4558 returns correct dashboard4559 behaves like GET #metrics_dashboard correctly formatted response4560 returns a json object with the correct keys4561 permissions4562 checks :metrics_dashboard ability4563 GET #search4564 responds with status code 2004565 returns matched results4566 when query is review4567 returns matched results4568 when query is empty4569 returns matched results4570 when query is review/patch-34571 responds with status code 2044572 when query is partially matched in the middle of environment name4573 responds with status code 2044574 when query contains a wildcard character4575 prevents wildcard injection4576 when query matches case insensitively4577 returns matched results4578 POST #create4579 when environment params are valid4580 returns ok and the path to the newly created environment4581 when environment params are invalid4582 returns bad request4583API::ProjectClusters4584 GET /projects/:id/clusters4585 non-authorized user4586 responds with 4034587 authorized user4588 includes pagination headers4589 only includes authorized clusters4590 GET /projects/:id/clusters/:cluster_id4591 non-authorized user4592 responds with 4034593 authorized user4594 returns specific cluster4595 returns cluster information4596 returns project information4597 returns kubernetes platform information4598 returns user information4599 returns GCP provider information4600 when cluster has no provider4601 does not include GCP provider info4602 with non-existing cluster4603 returns 4044604 POST /projects/:id/clusters/user4605 non-authorized user4606 responds with 4034607 authorized user4608 with valid params4609 creates a new Cluster::Cluster4610 when user does not indicate authorization type4611 defaults to RBAC4612 when user sets authorization type as ABAC4613 creates an ABAC cluster4614 when namespace_per_environment is not set4615 defaults to true4616 current user does not have access to management_project_id4617 responds with 4004618 returns validation errors4619 with invalid params4620 does not create a new Clusters::Cluster4621 non-authorized user4622 responds with 4034623 POST /projects/:id/clusters/user with multiple clusters4624 when another cluster exists4625 responds with 2014626 allows multiple clusters to be associated to project4627 PUT /projects/:id/clusters/:cluster_id4628 non-authorized user4629 responds with 4034630 authorized user4631 with valid params4632 updates cluster attributes4633 with invalid params4634 does not update cluster attributes4635 returns validation errors4636 current user does not have access to management_project_id4637 returns validation errors4638 with a GCP cluster4639 when user tries to change GCP specific fields4640 returns validation error4641 when user tries to change namespace4642 responds with 2004643 with an user cluster4644 updates platform kubernetes attributes4645 with a cluster that does not belong to user4646 responds with 4044647 DELETE /projects/:id/clusters/:cluster_id4648 non-authorized user4649 responds with 4034650 authorized user4651 deletes the cluster4652 with a cluster that does not belong to user4653 responds with 4044654Import::GithubController4655 GET new4656 redirects to GitHub for an access token if logged in with GitHub4657 prompts for an access token if GitHub not configured4658 behaves like a GitHub-ish import controller: GET new4659 redirects to status if we already have a token4660 renders the :new page if no token is present in session4661 when importing a CI/CD project4662 always prompts for an access token4663 GET callback4664 updates access token4665 POST personal_access_token4666 behaves like a GitHub-ish import controller: POST personal_access_token4667 updates access token4668 strips access token with spaces4669 GET status4670 when using OAuth4671 when OAuth config is missing4672 returns missing config error4673 when feature remove_legacy_github_client is disabled4674 uses Gitlab::LegacyGitHubImport::Client4675 fetches repos using legacy client4676 behaves like a GitHub-ish import controller: GET status4677 returns variables for json request4678 touches the etag cache store4679 handles an invalid access token4680 does not produce N+1 database queries4681 when filtering4682 filters list of repositories by name4683 filters the list, ignoring the case of the name4684 when user input contains html4685 sanitizes user input4686 when the client returns a non-string name4687 does not raise an error4688 when feature remove_legacy_github_client is enabled4689 uses Gitlab::GithubImport::Client4690 fetches repos using latest github client4691 behaves like a GitHub-ish import controller: GET status4692 returns variables for json request4693 touches the etag cache store4694 handles an invalid access token4695 does not produce N+1 database queries4696 when filtering4697 filters list of repositories by name4698 filters the list, ignoring the case of the name4699 when user input contains html4700 sanitizes user input4701 when the client returns a non-string name4702 does not raise an error4703 pagination4704 when no page is specified4705 requests first page4706 when page is specified4707 requests repos with specified page4708 when filtering4709 makes request to github search api4710 pagination4711 when no page is specified4712 requests first page4713 when page is specified4714 requests repos with specified page4715 when user input contains colons and spaces4716 sanitizes user input4717 when rate limit threshold is exceeded4718 returns 4294719 POST create4720 behaves like a GitHub-ish import controller: POST create4721 returns 200 response when the project is imported successfully4722 returns 422 response with the base error when the project could not be imported4723 touches the etag cache store4724 when the repository owner is the provider user4725 when the provider user and GitLab user's usernames match4726 takes the current user's namespace4727 when the provider user and GitLab user's usernames don't match4728 takes the current user's namespace4729 when the repository owner is not the provider user4730 when a namespace with the provider user's username already exists4731 when the namespace is owned by the GitLab user4732 takes the existing namespace4733 when the namespace is not owned by the GitLab user4734 creates a project using user's namespace4735 when a namespace with the provider user's username doesn't exist4736 when current user can create namespaces4737 creates the namespace4738 takes the new namespace4739 when current user can't create namespaces4740 doesn't create the namespace4741 takes the current user's namespace4742 user has chosen a namespace and name for the project4743 takes the selected namespace and name4744 takes the selected name and default namespace4745 user has chosen an existing nested namespace and name for the project4746 takes the selected namespace and name4747 user has chosen a non-existent nested namespaces and name for the project4748 takes the selected namespace and name4749 creates the namespaces4750 new namespace has the right parent4751 user has chosen existent and non-existent nested namespaces and name for the project4752 takes the selected namespace and name4753 creates the namespaces4754 does not create a new namespace under the user namespace4755 user cannot create a subgroup inside a group is not a member of4756 does not take the selected namespace and name4757 does not create the namespaces4758 user can use a group without having permissions to create a group4759 takes the selected namespace and name4760 when user can not create projects in the chosen namespace4761 returns 422 response4762 behaves like project import rate limiter4763 when limit exceeds4764 notifies and redirects user4765 GET realtime_changes4766 behaves like a GitHub-ish import controller: GET realtime_changes4767 sets a Poll-Interval header4768Emails::MergeRequests4769 #new_mention_in_merge_request_email4770 has the correct subject and body4771 #merge_request_unmergeable_email4772 is sent as the merge request author4773 has the correct subject and body4774 behaves like an answer to an existing thread with reply-by-email enabled4775 has X-GitLab-Project headers4776 has X-GitLab-*-ID header4777 has X-GitLab-*-IID header if model has iid defined4778 has X-GitLab-Project headers4779 has X-GitLab-*-ID header4780 has X-GitLab-*-IID header if model has iid defined4781 has the characteristics of a threaded reply4782 when reply-by-email is enabled with incoming address with %{key}4783 has a Reply-To header4784 when reply-by-email is enabled with incoming address without %{key}4785 has X-GitLab-Project headers4786 has X-GitLab-*-ID header4787 has X-GitLab-*-IID header if model has iid defined4788 has the characteristics of a threaded reply4789 has a Reply-To header4790 behaves like a multiple recipients email4791 is sent to the given recipient4792 behaves like it should show Gmail Actions View Merge request link4793 is expected to have body including "View Merge request"4794 behaves like it should have Gmail Actions links4795 is expected to have body including "ViewAction"4796 behaves like an unsubscribeable thread4797 has a List-Unsubscribe header in the correct format, and a body link4798 behaves like an unsubscribeable thread with incoming address without %{key}4799 has a List-Unsubscribe header in the correct format, and a body link4800 behaves like appearance header and footer enabled4801 contains header and footer4802 behaves like appearance header and footer not enabled4803 does not contain header and footer4804 #closed_merge_request_email4805 is sent as the author4806 has the correct subject and body4807 behaves like an answer to an existing thread with reply-by-email enabled4808 has X-GitLab-Project headers4809 has X-GitLab-*-ID header4810 has X-GitLab-*-IID header if model has iid defined4811 has X-GitLab-Project headers4812 has X-GitLab-*-ID header4813 has X-GitLab-*-IID header if model has iid defined4814 has the characteristics of a threaded reply4815 when reply-by-email is enabled with incoming address with %{key}4816 has a Reply-To header4817 when reply-by-email is enabled with incoming address without %{key}4818 has X-GitLab-Project headers4819 has X-GitLab-*-ID header4820 has X-GitLab-*-IID header if model has iid defined4821 has the characteristics of a threaded reply4822 has a Reply-To header4823 behaves like it should show Gmail Actions View Merge request link4824 is expected to have body including "View Merge request"4825 behaves like it should have Gmail Actions links4826 is expected to have body including "ViewAction"4827 behaves like an unsubscribeable thread4828 has a List-Unsubscribe header in the correct format, and a body link4829 behaves like an unsubscribeable thread with incoming address without %{key}4830 has a List-Unsubscribe header in the correct format, and a body link4831 behaves like appearance header and footer enabled4832 contains header and footer4833 behaves like appearance header and footer not enabled4834 does not contain header and footer4835 #merged_merge_request_email4836 is sent as the merge author4837 has the correct subject and body4838 behaves like a multiple recipients email4839 is sent to the given recipient4840 behaves like an answer to an existing thread with reply-by-email enabled4841 has X-GitLab-Project headers4842 has X-GitLab-*-ID header4843 has X-GitLab-*-IID header if model has iid defined4844 has X-GitLab-Project headers4845 has X-GitLab-*-ID header4846 has X-GitLab-*-IID header if model has iid defined4847 has the characteristics of a threaded reply4848 when reply-by-email is enabled with incoming address with %{key}4849 has a Reply-To header4850 when reply-by-email is enabled with incoming address without %{key}4851 has X-GitLab-Project headers4852 has X-GitLab-*-ID header4853 has X-GitLab-*-IID header if model has iid defined4854 has the characteristics of a threaded reply4855 has a Reply-To header4856 behaves like it should show Gmail Actions View Merge request link4857 is expected to have body including "View Merge request"4858 behaves like it should have Gmail Actions links4859 is expected to have body including "ViewAction"4860 behaves like an unsubscribeable thread4861 has a List-Unsubscribe header in the correct format, and a body link4862 behaves like an unsubscribeable thread with incoming address without %{key}4863 has a List-Unsubscribe header in the correct format, and a body link4864 behaves like appearance header and footer enabled4865 contains header and footer4866 behaves like appearance header and footer not enabled4867 does not contain header and footer4868 #merge_request_status_email4869 is sent as the author4870 has the correct subject and body4871 behaves like an answer to an existing thread with reply-by-email enabled4872 has X-GitLab-Project headers4873 has X-GitLab-*-ID header4874 has X-GitLab-*-IID header if model has iid defined4875 has X-GitLab-Project headers4876 has X-GitLab-*-ID header4877 has X-GitLab-*-IID header if model has iid defined4878 has the characteristics of a threaded reply4879 when reply-by-email is enabled with incoming address with %{key}4880 has a Reply-To header4881 when reply-by-email is enabled with incoming address without %{key}4882 has X-GitLab-Project headers4883 has X-GitLab-*-ID header4884 has X-GitLab-*-IID header if model has iid defined4885 has the characteristics of a threaded reply4886 has a Reply-To header4887 behaves like it should show Gmail Actions View Merge request link4888 is expected to have body including "View Merge request"4889 behaves like it should have Gmail Actions links4890 is expected to have body including "ViewAction"4891 behaves like an unsubscribeable thread4892 has a List-Unsubscribe header in the correct format, and a body link4893 behaves like an unsubscribeable thread with incoming address without %{key}4894 has a List-Unsubscribe header in the correct format, and a body link4895 behaves like appearance header and footer enabled4896 contains header and footer4897 behaves like appearance header and footer not enabled4898 does not contain header and footer4899 #merge_when_pipeline_succeeds_email4900 has required details4901 #resolved_all_discussions_email4902 includes the name of the resolver4903 #merge_requests_csv_email4904 is expected to eq "project602 | Exported merge requests"4905 is expected to contain exactly "notifications@example.com"4906 is expected to have text "Your CSV export of 10 merge requests from project"4907 is expected to have text "Your CSV export of 10 merge requests from project"4908 when truncated4909 is expected to have text "attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15 MB."4910API::ProjectMilestones4911 behaves like group and project milestones4912 GET /projects/:id/milestones4913 returns milestones list4914 returns a 401 error if user not authenticated4915 returns an array of active milestones4916 returns an array of closed milestones4917 returns an array of milestones specified by iids4918 does not return any milestone if none found4919 returns a milestone by iids array4920 returns a milestone by title4921 returns a milestone by searching for title4922 returns a milestones by searching for description4923 GET /projects/:id/milestones/:milestone_id4924 returns a milestone by id4925 returns 401 error if user not authenticated4926 returns a 404 error if milestone id not found4927 POST /projects/:id/milestones4928 creates a new milestone4929 creates a new milestone with description and dates4930 returns a 400 error if title is missing4931 returns a 400 error if params are invalid (duplicate title)4932 creates a new milestone with reserved html characters4933 PUT /projects/:id/milestones/:milestone_id4934 updates a milestone4935 removes a due date if nil is passed4936 returns a 404 error if milestone id not found4937 closes milestone4938 updates milestone with only start date4939 DELETE /projects/:id/milestones/:milestone_id4940 rejects a member with reporter access from deleting a milestone4941 deletes the milestone when the user has developer access to the project4942 GET /projects/:id/milestones/:milestone_id/issues4943 returns issues for a particular milestone4944 returns issues sorted by label priority4945 matches V4 response schema for a list of issues4946 returns a 401 error if user not authenticated4947 confidential issues4948 returns confidential issues to team members4949 does not return confidential issues to team members with guest role4950 does not return confidential issues to regular users4951 returns issues ordered by label priority4952 GET /projects/:id/milestones/:milestone_id/merge_requests4953 returns merge_requests for a particular milestone4954 returns merge_requests sorted by label priority4955 returns a 404 error if milestone id not found4956 returns a 404 if the user has no access to the milestone4957 returns a 401 error if user not authenticated4958 returns merge_requests ordered by position asc4959 GET /projects/:id/milestones4960 when include_parent_milestones is true4961 when project parent is a namespace4962 behaves like listing all milestones4963 returns correct list of milestones4964 when project parent is a group4965 behaves like listing all milestones4966 returns correct list of milestones4967 when iids param is present4968 behaves like listing all milestones4969 returns correct list of milestones4970 when user is not a member of the private project4971 returns a 404 error4972 DELETE /projects/:id/milestones/:milestone_id4973 returns 404 response when the project does not exist4974 returns 404 response when the milestone does not exist4975 returns 404 from guest user deleting a milestone4976 PUT /projects/:id/milestones/:milestone_id to test observer on close4977 creates an activity event when a milestone is closed4978 POST /projects/:id/milestones/:milestone_id/promote4979 when user does not have permission to promote milestone4980 returns 4034981 when user has permission4982 returns 2004983 returns 200 for closed milestone4984 when no such resource4985 returns 404 response when the project does not exist4986 returns 404 response when the milestone does not exist4987 when project does not belong to group4988 returns 4034989Projects::BlobController4990 GET show4991 with file path4992 valid branch, valid file4993 is expected to respond with 2004994 valid branch, invalid file4995 redirects4996 invalid branch, valid file4997 is expected to respond with 4044998 renamed default branch, valid file4999 is expected to redirect to "/namespace376/project611/-/blob/master/README.md"5000 renamed default branch, invalid file5001 is expected to redirect to "/namespace377/project612/-/blob/master/invalid-path.rb"5002 binary file5003 is expected to respond with 2005004 Markdown file5005 is expected to respond with 2005006 with file path and JSON format5007 valid branch, valid file5008 is expected to have key "raw_path"5009 with viewer=none5010 is expected to have key "raw_path"5011 with tree path5012 redirect to tree5013 redirects5014 GET diff5015 when essential params are missing5016 renders nothing5017 when essential params are present5018 when rendering for commit5019 renders the diff content5020 when rendering for merge request5021 renders diff context lines Gitlab::Diff::Line array5022 handles full being true5023 GET edit5024 anonymous5025 redirects to sign in and returns5026 as guest5027 redirects to blob show5028 as developer5029 redirects to blob show5030 as maintainer5031 redirects to blob show5032 PUT update5033 redirects to blob5034 ?from_merge_request_iid5035 redirects to MR diff5036 when user doesn't have access5037 redirects to blob5038 when user has forked project5039 when editing on the fork5040 redirects to blob5041 when editing on the original repository5042 redirects to forked project new merge request5043 behaves like tracking unique hll events5044 tracks unique event5045 DELETE destroy5046 for a file in a subdirectory5047 redirects to the sub directory5048 when a validation failure occurs5049 redirects to a valid page5050 if deleted file is the last one in a subdirectory5051 redirects to the project root5052 when deleting a file in a branch other than master5053 redirects to the project root of the branch5054 POST preview5055 is successful5056 POST create5057 redirects to blob5058 behaves like tracking unique hll events5059 tracks unique event5060 when code_quality_walkthrough param is present5061 redirects to the pipelines page5062 creates an "commit_created" experiment tracking event5063Projects::ReleasesController5064 GET #index5065 as html5066 returns a text/html content_type5067 behaves like common access controls5068 renders a 2005069 when the project is private5070 when user is a developer5071 renders a 200 for a logged in developer5072 when user is an external user5073 renders a 404 when logged in but not in the project5074 when the project is private and the user is not logged in5075 returns a redirect5076 as json5077 returns an application/json content_type5078 returns the project's releases as JSON, ordered by released_at5079 behaves like common access controls5080 renders a 2005081 when the project is private5082 when user is a developer5083 renders a 200 for a logged in developer5084 when user is an external user5085 renders a 404 when logged in but not in the project5086 when the project is private and the user is not logged in5087 returns a redirect5088 GET #new5089 is expected to be denied for reporter. Expected: 401,404 Got: 4045090 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2005091 GET #edit5092 behaves like successful request5093 renders a 2005094 when tag name contains slash5095 is accesible at a URL encoded path5096 behaves like successful request5097 renders a 2005098 when release does not exist5099 behaves like not found5100 renders 4045101 when user is a reporter5102 behaves like not found5103 renders 4045104 GET #show5105 behaves like successful request5106 renders a 2005107 when tag name contains slash5108 is accesible at a URL encoded path5109 behaves like successful request5110 renders a 2005111 when release does not exist5112 behaves like not found5113 renders 4045114 when user is a guest5115 behaves like not found5116 renders 4045117Groups::DependencyProxyForContainersController5118 GET #manifest5119 feature enabled5120 behaves like without a token5121 is expected to respond with numeric status code unauthorized5122 feature flag disabled5123 is expected to respond with numeric status code ok5124 behaves like without permission5125 with invalid user5126 is expected to respond with numeric status code unauthorized5127 with valid user that does not have access5128 is expected to respond with numeric status code not_found5129 with deploy token from a different group,5130 is expected to respond with numeric status code not_found5131 with revoked deploy token5132 is expected to respond with numeric status code unauthorized5133 with expired deploy token5134 is expected to respond with numeric status code unauthorized5135 with deploy token with insufficient scopes5136 is expected to respond with numeric status code not_found5137 when a group is not found5138 is expected to respond with numeric status code not_found5139 when user is not found5140 is expected to respond with numeric status code unauthorized5141 behaves like feature flag disabled with private group5142 returns not found5143 remote token request fails5144 proxies status from the remote token request5145 remote manifest request fails5146 proxies status from the remote manifest request5147 a valid user5148 behaves like a successful manifest pull5149 sends a file5150 returns Content-Disposition: attachment5151 behaves like a package tracking event5152 creates a gitlab tracking event pull_manifest5153 with a cache entry5154 behaves like returning response status5155 returns success5156 behaves like a package tracking event5157 creates a gitlab tracking event pull_manifest_from_cache5158 a valid deploy token5159 behaves like a successful manifest pull5160 sends a file5161 returns Content-Disposition: attachment5162 pulling from a subgroup5163 behaves like a successful manifest pull5164 sends a file5165 returns Content-Disposition: attachment5166 behaves like not found when disabled5167 feature disabled5168 returns 4045169 GET #blob5170 feature enabled5171 behaves like without a token5172 is expected to respond with numeric status code unauthorized5173 feature flag disabled5174 is expected to respond with numeric status code ok5175 behaves like without permission5176 with invalid user5177 is expected to respond with numeric status code unauthorized5178 with valid user that does not have access5179 is expected to respond with numeric status code not_found5180 with deploy token from a different group,5181 is expected to respond with numeric status code not_found5182 with revoked deploy token5183 is expected to respond with numeric status code unauthorized5184 with expired deploy token5185 is expected to respond with numeric status code unauthorized5186 with deploy token with insufficient scopes5187 is expected to respond with numeric status code not_found5188 when a group is not found5189 is expected to respond with numeric status code not_found5190 when user is not found5191 is expected to respond with numeric status code unauthorized5192 behaves like feature flag disabled with private group5193 returns not found5194 a valid user5195 behaves like a successful blob pull5196 sends a file5197 returns Content-Disposition: attachment5198 behaves like a package tracking event5199 creates a gitlab tracking event pull_blob_from_cache5200 when cache entry does not exist5201 returns Workhorse send-dependency instructions5202 a valid deploy token5203 behaves like a successful blob pull5204 sends a file5205 returns Content-Disposition: attachment5206 pulling from a subgroup5207 behaves like a successful blob pull5208 sends a file5209 returns Content-Disposition: attachment5210 when dependency_proxy_workhorse disabled5211 remote blob request fails5212 proxies status from the remote blob request5213 a valid user5214 behaves like a successful blob pull5215 sends a file5216 returns Content-Disposition: attachment5217 behaves like a package tracking event5218 creates a gitlab tracking event pull_blob5219 with a cache entry5220 behaves like returning response status5221 returns success5222 behaves like a package tracking event5223 creates a gitlab tracking event pull_blob_from_cache5224 a valid deploy token5225 behaves like a successful blob pull5226 sends a file5227 returns Content-Disposition: attachment5228 pulling from a subgroup5229 behaves like a successful blob pull5230 sends a file5231 returns Content-Disposition: attachment5232 behaves like not found when disabled5233 feature disabled5234 returns 4045235 GET #authorize_upload_blob5236 behaves like without permission5237 with invalid user5238 is expected to respond with numeric status code unauthorized5239 with valid user that does not have access5240 is expected to respond with numeric status code not_found5241 with deploy token from a different group,5242 is expected to respond with numeric status code not_found5243 with revoked deploy token5244 is expected to respond with numeric status code unauthorized5245 with expired deploy token5246 is expected to respond with numeric status code unauthorized5247 with deploy token with insufficient scopes5248 is expected to respond with numeric status code not_found5249 when a group is not found5250 is expected to respond with numeric status code not_found5251 when user is not found5252 is expected to respond with numeric status code unauthorized5253 with a valid user5254 sends Workhorse local file instructions5255[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5256[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5257[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5258[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5259[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5260[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5261[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5262[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5263[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5264[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5265[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5266[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5267[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5268[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5269[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5270[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5271[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5272[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5273[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5274[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5275[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5276[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5277[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5278[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5279[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5280[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5281[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5282[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5283[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5284[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5285[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5286[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5287[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5288[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5289[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5290[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5291[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5292[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5293[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5294[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5295[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5296[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5297[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5298[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5299[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5300[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5301[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5302[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5303[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5304[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5305[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5306[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5307[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5308[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5309[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5310[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5311[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5312[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5313[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5314[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5315[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5316[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5317[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5318[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5319[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5320[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5321[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5322[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5323[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5324[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5325[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5326[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5327[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5328[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5329[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5330[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5331[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5332[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5333[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5334[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5335[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5336[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5337[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5338[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5339[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5340[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5341[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5342[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5343[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5344[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5345[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5346[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5347[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5348[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5349[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5350[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5351[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5352[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5353[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5354[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5355[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5356[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5357[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5358[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5359[fog][WARNING] fog: the specified s3 bucket name(dependency_proxy) is not a valid dns name, which will negatively impact performance. For details see: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html5360 sends Workhorse remote object instructions5361 GET #upload_blob5362 behaves like without permission5363 with invalid user5364 is expected to respond with numeric status code unauthorized5365 with valid user that does not have access5366 is expected to respond with numeric status code not_found5367 with deploy token from a different group,5368 is expected to respond with numeric status code not_found5369 with revoked deploy token5370 is expected to respond with numeric status code unauthorized5371 with expired deploy token5372 is expected to respond with numeric status code unauthorized5373 with deploy token with insufficient scopes5374 is expected to respond with numeric status code not_found5375 when a group is not found5376 is expected to respond with numeric status code not_found5377 when user is not found5378 is expected to respond with numeric status code unauthorized5379 with a valid user5380 behaves like a package tracking event5381 creates a gitlab tracking event pull_blob5382Creation of a new release5383 when the current user has access to create releases5384 when all available mutation arguments are provided5385 returns the new release data5386 behaves like no errors5387 returns no errors5388 when only the required mutation arguments are provided5389 returns the new release data5390 behaves like no errors5391 returns no errors5392 when the provided tag already exists5393 does not create a new tag5394 behaves like no errors5395 returns no errors5396 when the provided tag does not already exist5397 creates a new tag5398 behaves like no errors5399 returns no errors5400 when a local timezone is provided for releasedAt5401 returns the correct releasedAt date in UTC5402 behaves like no errors5403 returns no errors5404 when no releasedAt is provided5405 sets releasedAt to the current time5406 behaves like no errors5407 returns no errors5408 when a release asset doesn't include an explicit linkType5409 defaults the linkType to OTHER5410 behaves like no errors5411 returns no errors5412 when a release asset doesn't include a directAssetPath5413 returns the provided url as the directAssetUrl5414 behaves like no errors5415 returns no errors5416 empty milestones5417 when the milestones parameter is not provided5418 behaves like no associated milestones5419 creates a release with no associated milestones5420 behaves like no errors5421 returns no errors5422 when the milestones parameter is null5423 behaves like no associated milestones5424 creates a release with no associated milestones5425 behaves like no errors5426 returns no errors5427 when the milestones parameter is an empty array5428 behaves like no associated milestones5429 creates a release with no associated milestones5430 behaves like no errors5431 returns no errors5432 validation5433 when a release is already associated to the specified tag5434 behaves like errors-as-data with message5435 returns an error-as-data with message5436 when a provided milestone doesn't exist5437 behaves like errors-as-data with message5438 returns an error-as-data with message5439 when a provided milestone belongs to a different project than the release5440 behaves like errors-as-data with message5441 returns an error-as-data with message5442 when two release assets share the same name5443 behaves like errors-as-data with message5444 returns an error-as-data with message5445 when two release assets share the same URL5446 behaves like errors-as-data with message5447 returns an error-as-data with message5448 when the provided tag name is HEAD5449 behaves like errors-as-data with message5450 returns an error-as-data with message5451 when the provided tag name is empty5452 behaves like errors-as-data with message5453 returns an error-as-data with message5454 when the provided tag doesn't already exist, and no ref parameter was provided5455 behaves like errors-as-data with message5456 returns an error-as-data with message5457 when the current user doesn't have access to create releases5458 when the current user is a Reporter5459 behaves like top-level error with message5460 returns a top-level error with message5461 when the current user is a Guest5462 behaves like top-level error with message5463 returns a top-level error with message5464 when the current user is a public user5465 behaves like top-level error with message5466 returns a top-level error with message5467Projects::StarrersController5468 GET index5469 N+1 queries5470 avoids N+1s loading users5471 when project is public5472 when no user is logged in5473 with no searching5474 only users with public profiles are visible5475 starrers counts are correct5476 when searching by user5477 only users with public profiles are visible5478 starrers counts are correct5479 when public user is logged in5480 with no searching5481 their star is also visible5482 starrers counts are correct5483 when searching by user5484 only users with public profiles are visible5485 starrers counts are correct5486 when private user is logged in5487 with no searching5488 their star is also visible5489 starrers counts are correct5490 when searching by user5491 only users with public profiles are visible5492 starrers counts are correct5493 when admin is logged in5494 with no searching5495 all users are visible5496 starrers counts are correct5497 when searching by user5498 public and private starrers are visible5499 starrers counts are correct5500 when project is private5501 starrers are not visible for non logged in users5502 when user is logged in5503 only users with public profiles are visible5504 starrers counts are correct5505Projects::ArtifactsController5506 GET index5507 when feature flag is on5508 sets the artifacts variable5509 sets the total size variable5510 pagination5511 paginates artifacts5512 when feature flag is off5513 renders no content5514 does not set the artifacts variable5515 does not set the total size variable5516 DELETE destroy5517 deletes the artifact5518 redirects to artifacts index page5519 sets the notice5520 when artifact deletion fails5521 redirects to artifacts index page5522 sets the notice5523 when user is not authorized5524 does not delete the artifact5525 GET download5526 when no file type is supplied5527 sends the artifacts file5528 when a file type is supplied5529 when an invalid file type is supplied5530 returns 4045531 when codequality file type is supplied5532 when file is stored locally5533 sends the codequality report5534 when file is stored remotely5535 sends the codequality report5536 when proxied5537 sends the codequality report5538 GET browse5539 when the directory exists5540 renders the browse view5541 when the directory does not exist5542 responds Not Found5543 GET file5544 when the file is served by GitLab Pages5545 when the file exists5546 renders the file view5547 when the file does not exist5548 responds Not Found5549 when the file is served through Rails5550 when the file exists5551 renders the file view5552 when the file does not exist5553 responds Not Found5554 when the project is private5555 does not redirect the request5556 when the project is private and pages access control is enabled5557 renders the file view5558 GET raw5559 when the file exists5560 when using local file storage5561 behaves like a valid file5562 serves the file using workhorse5563 when using remote file storage5564 behaves like a valid file5565 serves the file using workhorse5566 fetching an artifact of different type5567 when the artifact is zip5568 behaves like a valid file5569 serves the file using workhorse5570 when the artifact is not zip5571 responds with not found5572 GET latest_succeeded5573 cannot find the job5574 has no such ref5575 behaves like not found5576 is expected to respond with numeric status code not_found5577 has no such job5578 behaves like not found5579 is expected to respond with numeric status code not_found5580 has no path5581 behaves like not found5582 is expected to respond with numeric status code not_found5583 found the job and redirect5584 with regular branch5585 behaves like redirect to the job5586 redirects5587 with branch name containing slash5588 behaves like redirect to the job5589 redirects5590 with branch name and path containing slashes5591 redirects5592 with a failed pipeline on an updated master5593 behaves like redirect to the job5594 redirects5595Projects::SnippetsController5596 GET #index5597 fetches snippet counts via the snippet count service5598 behaves like paginated collection5599DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5600 renders a page number that is not ouf of range5601DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5602 redirects to last_page if page number is larger than number of pages5603DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5604 does not redirect to external sites when provided a host field5605 behaves like snippets sort order5606 when no sort param is provided5607 calls SnippetsFinder with updated_at sort option5608 when sort param is provided5609 calls SnippetsFinder with the given sort param5610 behaves like snippets views5611 when rendered5612DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5613DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5614DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5615 avoids N+1 database queries5616 when the project snippet is private5617 when anonymous5618DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5619 does not include the private snippet5620 when signed in as the author5621DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5622 renders the snippet5623 when signed in as a project member5624DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)5625 renders the snippet5626 POST #mark_as_spam5627 updates the snippet5628 GET #show5629 when the project snippet is private5630 when anonymous5631 responds with status 4045632 when signed in as the author5633 behaves like successful response5634 renders the snippet5635 when signed in as a project member5636 behaves like successful response5637 renders the snippet5638 when the project snippet does not exist5639 when anonymous5640 responds with status 4045641 when signed in5642 responds with status 4045643 when the project snippet is public5644 when attempting to access from a different project route5645 responds with status 4045646 GET #raw5647 when the project snippet is private5648 when anonymous5649 responds with status 4045650 when signed in as the author5651 behaves like successful response5652 renders the snippet5653 when signed in as a project member5654 behaves like successful response5655 renders the snippet5656 when the project snippet does not exist5657 when anonymous5658 responds with status 4045659 when signed in5660 responds with status 4045661 when the project snippet is public5662 when attempting to access from a different project route5663 responds with status 4045664 GET #show for embeddable content5665 when snippet is private5666 responds with status 4045667 when snippet is public5668 renders the blob from the repository5669 does not show the blobs expanded by default5670 when param expanded is set5671 shows all blobs expanded5672 when the project is private5673 when snippet is public5674 responds with status 4045675 GET #raw5676 when repository is empty5677 CRLF line ending5678 returns LF line endings by default5679 when line_ending parameter present5680 does not convert line endings5681 when repository is not empty5682 sends the blob5683 behaves like project cache control headers5684 when project is public5685 returns cache_control public header to true5686 when project is private5687 returns cache_control public header to true5688 when project is internal5689 returns cache_control public header to true5690 behaves like content disposition headers5691 sets content disposition to inline5692 when inline param is false5693 sets content disposition to attachment5694SnippetsController5695 GET #index5696 when username parameter is present5697 renders snippets of a user when username is present5698 behaves like paginated collection5699 renders a page number that is not ouf of range5700 redirects to last_page if page number is larger than number of pages5701 does not redirect to external sites when provided a host field5702 when username parameter is not present5703 redirects to explore snippets page when user is not logged in5704 redirects to snippets dashboard page when user is logged in5705 behaves like snippets sort order5706 when no sort param is provided5707 calls SnippetsFinder with updated_at sort option5708 when sort param is provided5709 calls SnippetsFinder with the given sort param5710 GET #new5711 when signed in5712 responds with status 2005713 when user is not allowed to create a personal snippet5714 responds with status 4045715 when not signed in5716 redirects to the sign in page5717 GET #show5718 when the personal snippet is private5719 when signed in5720 when signed in user is not the author5721 responds with status 4045722 when signed in user is the author5723 responds with status 404 when embeddable content is requested5724 behaves like successful response5725 renders the snippet5726 when not signed in5727 redirects to the sign in page5728 when the personal snippet is internal5729 when signed in5730 responds with status 404 when embeddable content is requested5731 behaves like successful response5732 renders the snippet5733 when not signed in5734 redirects to the sign in page5735 when the personal snippet is public5736 when signed in5737 responds with status 200 when embeddable content is requested5738 behaves like successful response5739 renders the snippet5740 behaves like tracking unique hll events5741 tracks unique event5742 when not signed in5743 renders the snippet5744 when the personal snippet does not exist5745 when signed in5746 responds with status 4045747 when not signed in5748 responds with status 4045749 POST #mark_as_spam5750 updates the snippet5751 GET #raw5752 when the personal snippet is private5753 when signed in5754 when signed in user is not the author5755 responds with status 4045756 when signed in user is the author5757 behaves like successful response5758 has expected blob headers5759 sets cache_control public header based on snippet visibility5760 behaves like 200 status5761 responds with status 2005762 sets Gitlab-Workhorse-Detect-Content-Type header5763 behaves like content disposition headers5764 sets content disposition to inline5765 when inline param is false5766 sets content disposition to attachment5767 when snippet repository is empty5768 returns snippet database content5769 behaves like 200 status5770 responds with status 2005771 sets Gitlab-Workhorse-Detect-Content-Type header5772 behaves like CRLF line ending5773 returns LF line endings by default5774 when parameter present5775 does not convert line endings when parameter present5776 behaves like content disposition headers5777 sets content disposition to inline5778 when inline param is false5779 sets content disposition to attachment5780 when not signed in5781 redirects to the sign in page5782 when the personal snippet is internal5783 when signed in5784 behaves like successful response5785 has expected blob headers5786 sets cache_control public header based on snippet visibility5787 behaves like 200 status5788 responds with status 2005789 sets Gitlab-Workhorse-Detect-Content-Type header5790 behaves like content disposition headers5791 sets content disposition to inline5792 when inline param is false5793 sets content disposition to attachment5794 when snippet repository is empty5795 returns snippet database content5796 behaves like 200 status5797 responds with status 2005798 sets Gitlab-Workhorse-Detect-Content-Type header5799 behaves like CRLF line ending5800 returns LF line endings by default5801 when parameter present5802 does not convert line endings when parameter present5803 behaves like content disposition headers5804 sets content disposition to inline5805 when inline param is false5806 sets content disposition to attachment5807 when not signed in5808 redirects to the sign in page5809 when the personal snippet is public5810 when signed in5811 behaves like successful response5812 has expected blob headers5813 sets cache_control public header based on snippet visibility5814 behaves like 200 status5815 responds with status 2005816 sets Gitlab-Workhorse-Detect-Content-Type header5817 behaves like content disposition headers5818 sets content disposition to inline5819 when inline param is false5820 sets content disposition to attachment5821 when snippet repository is empty5822 returns snippet database content5823 behaves like 200 status5824 responds with status 2005825 sets Gitlab-Workhorse-Detect-Content-Type header5826 behaves like CRLF line ending5827 returns LF line endings by default5828 when parameter present5829 does not convert line endings when parameter present5830 behaves like content disposition headers5831 sets content disposition to inline5832 when inline param is false5833 sets content disposition to attachment5834 when not signed in5835 responds with status 2005836 when the personal snippet does not exist5837 when signed in5838 responds with status 4045839 when not signed in5840 redirects to the sign in path5841 award emoji on snippets5842 POST #toggle_award_emoji5843 toggles the award emoji5844 removes the already awarded emoji5845 POST #preview_markdown5846 renders json in a correct format5847Admin::IntegrationsController5848 behaves like IntegrationsActions5849 GET #edit5850 assigns the integration5851 PUT #update5852 updates the integration with the provided params and redirects to the form5853 when sending a password field5854 updates the integration with the password and other params5855 when sending a blank password field5856 ignores the password field and saves the other params5857 #edit5858 asana5859 successfully displays the template5860 assembla5861 successfully displays the template5862 bamboo5863 successfully displays the template5864 bugzilla5865 successfully displays the template5866 buildkite5867 successfully displays the template5868 campfire5869 successfully displays the template5870 confluence5871 successfully displays the template5872 custom_issue_tracker5873 successfully displays the template5874 datadog5875 successfully displays the template5876 discord5877 successfully displays the template5878 drone_ci5879 successfully displays the template5880 emails_on_push5881 successfully displays the template5882 ewm5883 successfully displays the template5884 external_wiki5885 successfully displays the template5886 flowdock5887 successfully displays the template5888 github5889 successfully displays the template5890 hangouts_chat5891 successfully displays the template5892 irker5893 successfully displays the template5894 jenkins5895 successfully displays the template5896 jira5897 successfully displays the template5898 mattermost5899 successfully displays the template5900 mattermost_slash_commands5901 successfully displays the template5902 microsoft_teams5903 successfully displays the template5904 packagist5905 successfully displays the template5906 pipelines_email5907 successfully displays the template5908 pivotaltracker5909 successfully displays the template5910 prometheus5911 successfully displays the template5912 pushover5913 successfully displays the template5914 redmine5915 successfully displays the template5916 slack5917 successfully displays the template5918 slack_slash_commands5919 successfully displays the template5920 teamcity5921 successfully displays the template5922 unify_circuit5923 successfully displays the template5924 webex_teams5925 successfully displays the template5926 youtrack5927 successfully displays the template5928 zentao5929 successfully displays the template5930 when GitLab.com5931 returns 4045932 #update5933 valid params5934 updates the integration5935 calls to PropagateIntegrationWorker5936 invalid params5937 does not update the integration5938 does not call to PropagateIntegrationWorker5939 #reset5940 returns 200 OK5941 deletes the integration and all inheriting integrations5942 #overrides5943 when format is JSON5944 returns projects with overrides5945 when format is HTML5946 renders template5947API::ResourceLabelEvents5948 when eventable is an Issue5949 behaves like resource_label_events API5950 GET /projects/:id/issues/:noteable_id/resource_label_events5951 with local label reference5952 returns an array of resource label events5953 returns a 404 error when eventable id not found5954 returns 404 when not authorized5955 with cross-project label reference5956 returns cross references accessible by user5957 does not return cross references not accessible by user5958 GET /projects/:id/issues/:noteable_id/resource_label_events/:event_id5959 with local label reference5960 returns a resource label event by id5961 returns 404 when not authorized5962 returns a 404 error if resource label event not found5963 with cross-project label reference5964 returns a 404 error if cross-reference project is not accessible5965 pagination5966 returns the second page5967 when eventable is a Merge Request5968 behaves like resource_label_events API5969 GET /projects/:id/merge_requests/:noteable_id/resource_label_events5970 with local label reference5971 returns an array of resource label events5972 returns a 404 error when eventable id not found5973 returns 404 when not authorized5974 with cross-project label reference5975 returns cross references accessible by user5976 does not return cross references not accessible by user5977 GET /projects/:id/merge_requests/:noteable_id/resource_label_events/:event_id5978 with local label reference5979 returns a resource label event by id5980 returns 404 when not authorized5981 returns a 404 error if resource label event not found5982 with cross-project label reference5983 returns a 404 error if cross-reference project is not accessible5984 pagination5985 returns the second page5986API::ResourceMilestoneEvents5987 when eventable is an Issue5988 behaves like resource_milestone_events API5989 GET /projects/:id/issues/:noteable_id/resource_milestone_events5990 returns an array of resource milestone events5991 returns a 404 error when eventable id not found5992 returns 404 when not authorized5993 when there is an event with a milestone which is not visible for requesting user5994 returns the expected events5995 GET /projects/:id/issues/:noteable_id/resource_milestone_events/:event_id5996 returns a resource milestone event by id5997 returns 404 when not authorized5998 returns a 404 error if resource milestone event not found5999 pagination6000 returns the second page6001 when eventable is a Merge Request6002 behaves like resource_milestone_events API6003 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events6004 returns an array of resource milestone events6005 returns a 404 error when eventable id not found6006 returns 404 when not authorized6007 when there is an event with a milestone which is not visible for requesting user6008 returns the expected events6009 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events/:event_id6010 returns a resource milestone event by id6011 returns 404 when not authorized6012 returns a 404 error if resource milestone event not found6013 pagination6014 returns the second page6015API::Namespaces6016 GET /namespaces6017 when unauthenticated6018 returns authentication error6019 when authenticated as admin6020 returns correct attributes6021 admin: returns an array of all namespaces6022 admin: returns an array of matched namespaces6023 when authenticated as a regular user6024 returns correct attributes when user can admin group6025 returns correct attributes when user cannot admin group6026 user: returns an array of namespaces6027 admin: returns an array of matched namespaces6028 with owned_only param6029 returns only owned groups6030 GET /namespaces/:id6031 when unauthenticated6032 returns authentication error6033 returns authentication error6034 when authenticated as regular user6035 when requested namespace is not owned by user6036 when requesting group6037 returns not-found6038 when requesting personal namespace6039 returns not-found6040 when requested namespace is owned by user6041 behaves like namespace reader6042 when namespace exists6043 when requested by ID6044 when requesting group6045 behaves like can access namespace6046 returns namespace details6047 when requesting personal namespace6048 behaves like can access namespace6049 returns namespace details6050 when requesting project_namespace6051 returns not-found6052 when requested by path6053 when requesting group6054 behaves like can access namespace6055 returns namespace details6056 when requesting personal namespace6057 behaves like can access namespace6058 returns namespace details6059 when requesting project_namespace6060 returns not-found6061 when namespace doesn't exist6062 returns not-found6063 when authenticated as admin6064 when requested namespace is not owned by user6065 when requesting group6066 behaves like can access namespace6067 returns namespace details6068 when requesting personal namespace6069 behaves like can access namespace6070 returns namespace details6071 when requested namespace is owned by user6072 behaves like namespace reader6073 when namespace exists6074 when requested by ID6075 when requesting group6076 behaves like can access namespace6077 returns namespace details6078 when requesting personal namespace6079 behaves like can access namespace6080 returns namespace details6081 when requesting project_namespace6082 returns not-found6083 when requested by path6084 when requesting group6085 behaves like can access namespace6086 returns namespace details6087 when requesting personal namespace6088 behaves like can access namespace6089 returns namespace details6090 when requesting project_namespace6091 returns not-found6092 when namespace doesn't exist6093 returns not-found6094 GET /namespaces/:namespace/exists6095 when unauthenticated6096 returns authentication error6097 when authenticated6098 returns JSON indicating the namespace exists and a suggestion6099 returns JSON indicating the namespace does not exist without a suggestion6100 checks the existence of a namespace in case-insensitive manner6101 checks the existence within the parent namespace only6102 ignores nested namespaces when checking for top-level namespace6103 ignores top-level namespaces when checking with parent_id6104 ignores namespaces of other parent namespaces when checking with parent_id6105get board lists6106 for a project6107 behaves like group and project board list issues query6108 when the user does not have access to the board6109 returns nil6110 when user can read the board6111 can access the issues6112 does not set the relative positions of the issues not being returned6113 for a group6114 behaves like group and project board list issues query6115 when the user does not have access to the board6116 returns nil6117 when user can read the board6118 can access the issues6119 does not set the relative positions of the issues not being returned6120getting group information6121 Query group(fullPath)6122 behaves like a working graphql query6123 returns a successful response6124 when unauthenticated6125 returns nil for a private group6126 returns a public group6127 when authenticated as user6128DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6129DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6130 returns one of user1's groups6131 does not return a non existing group6132 does not return a group not attached to user16133 avoids N+1 queries (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/245272)6134 when querying group's descendant groups6135 returns all descendant groups user has access to6136 when authenticated as admin6137 returns any existing group6138 does not return a non existing group6139API::Boards6140 behaves like group and project boards6141 avoids N+1 queries6142 GET /projects/:id/boards6143 when unauthenticated6144 returns authentication error6145 when authenticated6146 returns the issue boards6147 GET /projects/:id/boards/:board_id6148 get a single board by id6149 PUT /projects/:id/boards/:board_id6150 updates the board name6151 updates the issue board booleans6152 GET /projects/:id/boards/:board_id/lists6153 returns issue board lists6154 returns 404 if board not found6155 GET /projects/:id/boards/:board_id/lists/:list_id6156 returns a list6157 returns 404 if list not found6158 POST /projects/:id/boards/lists6159 creates a new issue board list for labels6160 returns 400 when creating a new list if label_id is invalid6161 returns 403 for members with guest role6162 PUT /projects/:id/boards/:board_id/lists/:list_id to update only position6163 updates a list6164 returns 404 error if list id not found6165 returns 403 for members with guest role6166 DELETE /projects/:id/boards/lists/:list_id6167 rejects a non member from deleting a list6168 rejects a user with guest role from deleting a list6169 returns 404 error if list id not found6170 when the user is parent owner6171 deletes the list if an admin requests it6172 behaves like 412 response6173 for a modified ressource6174 returns 412 with a JSON error6175 for an unmodified ressource6176 returns 204 with an empty body6177 POST /projects/:id/boards6178 creates a new issue board6179 fails to create a new board6180 DELETE /projects/:id/boards/:board_id6181 delete the issue board6182 POST /projects/:id/boards/:board_id/lists6183 creates a new issue board list for group labels6184 creates a new board list for ancestor group labels6185 POST /groups/:id/boards/:board_id/lists6186 creates a new board list for ancestor group labels6187Adding an image DiffNote6188 behaves like a Note mutation when the user does not have permission6189 behaves like a Note mutation that does not create a Note6190 is expected not to change `Note.count`6191 behaves like a mutation that returns top-level errors6192 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]6193 when the user has permission6194DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6195DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6196 returns the note with the correct position6197 behaves like a Note mutation that creates a Note6198DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6199DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6200 is expected to change `Note.count` by 16201 behaves like a Note mutation when there are active record validation errors6202 returns an empty Note6203 behaves like a Note mutation that does not create a Note6204 is expected not to change `Note.count`6205 behaves like a mutation that returns errors in the response6206 is expected to contain exactly "Error 1" and "Error 2"6207 behaves like a Note mutation when there are rate limit validation errors6208 behaves like a Note mutation that does not create a Note6209 is expected not to change `Note.count`6210 behaves like a mutation that returns top-level errors6211 is expected to eq ["This endpoint has been requested too many times. Try again later."]6212 when the user is in the allowlist6213 behaves like a Note mutation that creates a Note6214DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6215DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6216 is expected to change `Note.count` by 16218 behaves like a Note mutation when the given resource id is not for a Noteable6219 behaves like a Note mutation that does not create a Note6220 is expected not to change `Note.count`6221 behaves like a mutation that returns top-level errors6222 is expected to include / does not represent an instance of Noteable/6223Projects::ImportsController6224 GET #show6225 when user is not authenticated and the project is public6226 returns 404 response6227 when the user has maintainer rights6228 when repository does not exists6229 renders template6230 sets flash.now if params is present6231 when repository exists6232 when import is in progress6233 renders template6234 sets flash.now if params is present6235 when import failed6236 redirects to new_namespace_project_import_path6237 when import finished6238 when project is a fork6239 redirects to namespace_project_path6240 when project is external6241 redirects to namespace_project_path6242 when continue params is present6243 redirects to internal params[:to]6244 does not redirect to external params[:to]6245 when import never happened6246 redirects to namespace_project_path6247 when project is in group6248 when user has developer access to group and import is in progress6249 when group allows developers to create projects6250 renders template6251 when group prohibits developers to create projects6252 returns 404 response6253 POST #create6254 sets import_url to the project6255MetricsDashboard6256 GET #metrics_dashboard6257 when no parameters are provided6258 returns an error json_response6259 when params are provided6260 returns the specified dashboard6261 when the params are in an alternate format6262 returns the specified dashboard6263 when environment for dashboard is available6264 returns the specified dashboard6265 when dashboard path includes encoded characters6266 decodes dashboard path6267 when parameters are provided and the list of all dashboards is required6268 returns a dashboard in addition to the list of dashboards6269 in all_dashboard list6270 includes project_blob_path only for project dashboards6271 allows editing only for project dashboards6272 includes out_of_the_box_dashboard key6273 project permissions6274 can_collaborate: false, system_can_edit: false, project_can_edit: false6275 sets can_edit appropriately6276 can_collaborate: true, system_can_edit: false, project_can_edit: true6277 sets can_edit appropriately6278 starred dashboards6279 adds starred dashboard information and sorts the list6280API::ProjectRepositoryStorageMoves6281 behaves like repository_storage_moves API6282 GET /projects/:id/repository_storage_moves6283 behaves like get container repository storage move list6284 returns container repository storage moves6285 avoids N+1 queries6286 returns the most recently created first6287 permissions6288 is expected to be allowed for :admin6289 is expected to be denied for :user6290 non-existent container6291 returns not found6292 GET /projects/:id/repository_storage_moves/:repository_storage_move_id6293 behaves like get single container repository storage move6294 returns a container repository storage move6295 non-existent container repository storage move6296 returns not found6297 permissions6298 is expected to be allowed for :admin6299 is expected to be denied for :user6300 non-existent container6301 returns not found6302 GET /project_repository_storage_moves6303 behaves like get container repository storage move list6304 returns container repository storage moves6305 avoids N+1 queries6306 returns the most recently created first6307 permissions6308 is expected to be allowed for :admin6309 is expected to be denied for :user6310 GET /project_repository_storage_moves/:repository_storage_move_id6311 behaves like get single container repository storage move6312 returns a container repository storage move6313 non-existent container repository storage move6314 returns not found6315 permissions6316 is expected to be allowed for :admin6317 is expected to be denied for :user6318 POST /projects/:id/repository_storage_moves6319 schedules a container repository storage move6320 permissions6321 is expected to be allowed for :admin6322 is expected to be denied for :user6323 destination_storage_name is missing6324 schedules a container repository storage move6325 when container does not exist6326 returns not found6327 POST /project_repository_storage_moves6328 schedules the worker6329 source_storage_name is invalid6330 gives an error6331 destination_storage_name is missing6332 schedules the worker6333 destination_storage_name is invalid6334 gives an error6335 normal user6336 is expected to be denied for :user6337getting dependency proxy settings for a group6338 with the settings model created6339 behaves like dependency proxy group setting query6340 behaves like a working graphql query6341 returns a successful response6342 with different permissions6343 group_visibility: :private, role: :maintainer, access_granted: true6344 return the proper response6345 group_visibility: :private, role: :developer, access_granted: true6346 return the proper response6347 group_visibility: :private, role: :reporter, access_granted: true6348 return the proper response6349 group_visibility: :private, role: :guest, access_granted: true6350 return the proper response6351 group_visibility: :private, role: :anonymous, access_granted: false6352 return the proper response6353 group_visibility: :public, role: :maintainer, access_granted: true6354 return the proper response6355 group_visibility: :public, role: :developer, access_granted: true6356 return the proper response6357 group_visibility: :public, role: :reporter, access_granted: true6358 return the proper response6359 group_visibility: :public, role: :guest, access_granted: true6360 return the proper response6361 group_visibility: :public, role: :anonymous, access_granted: false6362 return the proper response6363 without the settings model created6364 behaves like dependency proxy group setting query6365 behaves like a working graphql query6366 returns a successful response6367 with different permissions6368 group_visibility: :private, role: :maintainer, access_granted: true6369 return the proper response6370 group_visibility: :private, role: :developer, access_granted: true6371 return the proper response6372 group_visibility: :private, role: :reporter, access_granted: true6373 return the proper response6374 group_visibility: :private, role: :guest, access_granted: true6375 return the proper response6376 group_visibility: :private, role: :anonymous, access_granted: false6377 return the proper response6378 group_visibility: :public, role: :maintainer, access_granted: true6379 return the proper response6380 group_visibility: :public, role: :developer, access_granted: true6381 return the proper response6382 group_visibility: :public, role: :reporter, access_granted: true6383 return the proper response6384 group_visibility: :public, role: :guest, access_granted: true6385 return the proper response6386 group_visibility: :public, role: :anonymous, access_granted: false6387 return the proper response6388Projects::IssueLinksController6389 GET /*namespace_id/:project_id/issues/:issue_id/links6390 returns JSON response6391 POST /*namespace_id/:project_id/issues/:issue_id/links6392 with success6393 returns success JSON6394 with failure6395 when unauthorized6396 returns 4036397 when failing service result6398 returns failure JSON6399 DELETE /*namespace_id/:project_id/issues/:issue_id/link/:id6400 when unauthorized6401 when no authorization on current project6402 returns 4036403 when no authorization on the related issue project6404 returns 4046405 when authorized6406 returns success JSON6407 when non of issues of the link is not the issue requested in the path6408 returns 4046409 does not delete the link6410API::Ci::Runner6411 /api/v4/jobs6412 PUT /api/v4/jobs/:id6413 updates runner info6414 behaves like API::CI::Runner application context metadata6415 contains correct context metadata6416 when status is given6417 marks job as succeeded6418 marks job as failed6419 when runner sends an unrecognized field in a payload6420 ignores unrecognized fields6421 when an exit_code is provided6422 when the exit_codes are acceptable6423 accepts an exit code6424 when the exit_codes are not defined6425 ignore the exit code6426 when failure_reason is script_failure6427 is expected to be script failure6428 when failure_reason is runner_system_failure6429 is expected to be runner system failure6430 when failure_reason is unrecognized value6431 is expected to be unknown failure6432 when failure_reason is job_execution_timeout6433 is expected to be job execution timeout6434 when failure_reason is unmet_prerequisites6435 is expected to be unmet prerequisites6436 when unmigrated live trace chunks exist6437 when accepting trace feature is enabled6438 when checksum is present6439 when live trace chunk is still live6440 responds with 2026441 when runner retries request after receiving 2026442 responds with 202 and then with 2006443 when live trace chunk has been migrated6444 responds with 2006445 when checksum is not present6446 responds with 2006447 when job has been erased6448 responds with forbidden6449 when job has already been finished6450 does not update job status6451 when job does not exist anymore6452 returns 403 Forbidden6453API::ResourceStateEvents6454 when eventable is an Issue6455 behaves like resource_state_events API6456 GET /projects/:id/issues/:noteable_id/resource_state_events6457 returns an array of resource state events6458 returns a 404 error when eventable id not found6459 returns 404 when not authorized6460 GET /projects/:id/issues/:noteable_id/resource_state_events/:event_id6461 returns a resource state event by id6462 returns 404 when not authorized6463 returns a 404 error if resource state event not found6464 pagination6465 returns the second page6466 when eventable is a Merge Request6467 behaves like resource_state_events API6468 GET /projects/:id/merge_requests/:noteable_id/resource_state_events6469 returns an array of resource state events6470 returns a 404 error when eventable id not found6471 returns 404 when not authorized6472 GET /projects/:id/merge_requests/:noteable_id/resource_state_events/:event_id6473 returns a resource state event by id6474 returns 404 when not authorized6475 returns a 404 error if resource state event not found6476 pagination6477 returns the second page6478Import::GitlabGroupsController6479 POST create6480 when importing without a parent group6481 successfully creates the group6482/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil6483 imports the group data6484 when importing to a parent group6485 creates a new group under the parent6486 when the parent is Public6487 imports a Public group6488 when the parent is Internal6489 imports a Internal group6490 when the parent is Private6491 imports a Private group6492 when supplied invalid params6493 responds with an error6494 when the user is not authorized to create groups6495 returns an error6496 when the requests exceed the rate limit6497 throttles the requests6498 when group import FF is disabled6499 returns an error6500 when the parent group is invalid6501 does not create a new group6502 when the user is not an owner of the parent group6503 returns an error6504 POST authorize6505 behaves like handle uploads authorize request6506 POST authorize6507 authorizes workhorse header6508 rejects requests that bypassed gitlab-workhorse6509 when using remote storage6510 when direct upload is enabled6511 responds with status 200, location of file remote store and object details6512 when direct upload is disabled6513 handles as a local file6514API::BroadcastMessages6515 GET /broadcast_messages6516 returns an Array of BroadcastMessages6517 GET /broadcast_messages/:id6518 returns the specified message6519 POST /broadcast_messages6520 returns a 401 for anonymous users6521 returns a 403 for users6522 as an admin6523 requires the `message` parameter6524 defines sane default start and end times6525 accepts a custom background and foreground color6526 accepts a target path6527 accepts a broadcast type6528 uses default broadcast type6529 errors for invalid broadcast type6530 accepts an active dismissable value6531 PUT /broadcast_messages/:id6532 returns a 401 for anonymous users6533 returns a 403 for users6534 as an admin6535 accepts new background and foreground colors6536 accepts new start and end times6537 accepts a new message6538 accepts a new target_path6539 accepts a new broadcast_type6540 errors for invalid broadcast type6541 accepts a new dismissable value6542 DELETE /broadcast_messages/:id6543 returns a 401 for anonymous users6544 returns a 403 for users6545 deletes the broadcast message for admins6546 behaves like 412 response6547 for a modified ressource6548 returns 412 with a JSON error6549 for an unmodified ressource6550 returns 204 with an empty body6551getting an issue list for a group6552 behaves like a working graphql query6553 returns a successful response6554 when there is a confidential issue6555 when the user cannot see confidential issues6556 returns issues without confidential issues for the group6557 filtering for confidential issues6558 returns no issues6559 filtering for non-confidential issues6560 returns correctly filtered issues6561 when the user can see confidential issues6562 returns issues with confidential issues for the group6563 filtering for confidential issues6564 returns correctly filtered issues6565 filtering for non-confidential issues6566 returns correctly filtered issues6567API::Ci::Runners6568 /api/v4/runners/reset_registration_token6569 POST /api/v4/runners/reset_registration_token6570 resets runner registration token6571 when unauthenticated6572 behaves like unauthenticated6573 returns 401 error6574 when unauthorized6575 with a non-admin instance member6576 behaves like unauthorized6577 returns 403 error6578 /api/v4/groups/:id/runners/reset_registration_token6579 POST /api/v4/groups/:id/runners/reset_registration_token6580 resets runner registration token6581 when unauthorized6582 when not a group member6583 behaves like not found6584 returns 404 error6585 with a non-admin group member6586 behaves like unauthorized6587 returns 403 error6588 when malformed id is provided6589 behaves like not found6590 returns 404 error6591 /api/v4/projects/:id/runners/reset_registration_token6592 POST /api/v4/projects/:id/runners/reset_registration_token6593 resets runner registration token6594 when unauthorized6595 when not a project member6596 behaves like not found6597 returns 404 error6598 with a non-admin project member6599 behaves like unauthorized6600 returns 403 error6601 when malformed id is provided6602 behaves like not found6603 returns 404 error6604Admin::RunnersController6605 #index6606 lists all runners6607 #show6608 shows a particular runner6609 shows 404 for unknown runner6610 avoids N+1 queries6611 #update6612 updates the runner and ticks the queue6613 #destroy6614 destroys the runner6615 #resume6616 marks the runner as active and ticks the queue6617 #pause6618 marks the runner as inactive and ticks the queue6619 GET #runner_setup_scripts6620 renders the setup scripts6621 renders errors if they occur6622SourcegraphDecorator6623 with feature enabled, application enabled, and user enabled6624 behaves like enabled6625 is expected to eq {:url=>"http://sourcegraph.gitlab.com"}6626 with feature enabled for specific project6627 behaves like enabled6628 is expected to eq {:url=>"http://sourcegraph.gitlab.com"}6629 with feature enabled for different project6630 behaves like disabled6631 is expected to be nil6632 with feature disabled6633 behaves like disabled6634 is expected to be nil6635 with admin settings disabled6636 behaves like disabled6637 is expected to be nil6638 with public only6639 with internal project6640 behaves like disabled6641 is expected to be nil6642 with public project6643 behaves like enabled6644 is expected to eq {:url=>"http://sourcegraph.gitlab.com"}6645 with user disabled6646 behaves like disabled6647 is expected to be nil6648 with no user6649 behaves like disabled6650 is expected to be nil6651 with non-html format6652 behaves like disabled6653 is expected to be nil6654Setting Draft status of a merge request6655 returns an error if the user is not allowed to update the merge request6656 marks the merge request as Draft6657 does not do anything if the merge request was already marked `Draft`6658 when passing Draft false as input6659 does not do anything if the merge reqeust was not marked draft6660 unmarks the merge request as `Draft`6661JiraConnect::InstallationsController6662 GET /-/jira_connect/installations6663 without JWT6664 returns 4036665 with valid JWT6666 returns status ok6667 returns the installation as json6668 with instance_url6669 returns the installation as json6670 PUT /-/jira_connect/installations6671 without JWT6672 returns 4036673 with valid JWT6674 returns 2006675 updates the instance_url6676 invalid URL6677 returns 422 and errors6678InternalRedirect6679 #safe_redirect_path6680 input: "Hello world" being invalid6681 returns nil6682 input: "//example.com/hello/world" being invalid6683 returns nil6684 input: "https://example.com/hello/world" being invalid6685 returns nil6686 input: "not-starting-with-a-slash\n/starting/with/slash" being invalid6687 returns nil6688 input: "/hello/world" being valid6689 returns the path6690 returns the path with querystring and fragment6691 input: "/-/ide/project/path" being valid6692 returns the path6693 returns the path with querystring and fragment6694 #safe_redirect_path_for_url6695 input: "Hello world" being invalid6696 returns nil6697 input: "http://example.com/hello/world" being invalid6698 returns nil6699 input: "http://test.host:3000/hello/world" being invalid6700 returns nil6701 input: "http://test.host/hello/world" being on the same host6702 returns the path6703 returns the path with querystring and fragment6704 #sanitize_redirect6705 returns `nil` for invalid paths6706 returns `nil` for invalid urls6707 returns input for valid paths6708 returns path for valid urls6709 #host_allowed?6710 allows URI with the same host and port6711 rejects URI with other host6712 rejects URI with other port6713getting a repository in a project6714 returns repository6715 as a non-authorized user6716 returns nil6717 as a non-admin6718 does not return diskPath6719 as an admin6720 returns diskPath6721 when the repository is only accessible to members6722 returns a repository for the owner6723 returns nil for the repository for other users6724 returns nil for the repository for other users6725 when paginated tree requested6726 returns paginated tree6727getting milestone listings nested in a project6728 behaves like a working graphql query6729 returns a successful response6730 there are no search params6731 behaves like searching with parameters6732 finds the right milestones6733 the search params do not match anything6734 behaves like searching with parameters6735 finds the right milestones6736 searching by state:closed6737 behaves like searching with parameters6738 finds the right milestones6739 searching by state:active6740 behaves like searching with parameters6741 finds the right milestones6742 searching by title6743 behaves like searching with parameters6744 finds the right milestones6745 searching by search_title6746 behaves like searching with parameters6747 finds the right milestones6748 searching by containing_date6749 behaves like searching with parameters6750 finds the right milestones6751 searching by containing_date = today6752 behaves like searching with parameters6753 finds the right milestones6754 searching by custom range6755 behaves like searching with parameters6756 finds the right milestones6757 using timeframe argument6758 behaves like searching with parameters6759 finds the right milestones6760 timeframe validations6761 is invalid to provide timeframe and start_date/end_date6762 is invalid to invert the timeframe arguments6763 behaves like a working graphql query6764 returns a successful response6765RunnersRegistrationTokenReset6766 applied to project6767 resets runner registration token6768 when unauthorized6769 when not a project member6770 behaves like unauthorized6771 returns an error6772 with a non-admin project member6773 behaves like unauthorized6774 returns an error6775 when malformed id is provided6776 returns errors6777 applied to group6778 resets runner registration token6779 when unauthorized6780 when not a group member6781 behaves like unauthorized6782 returns an error6783 with a non-admin group member6784 behaves like unauthorized6785 returns an error6786 when malformed id is provided6787 returns errors6788 applied to instance6789 resets runner registration token6790 when unauthorized6791 behaves like unauthorized6792 returns an error6793 when malformed id is provided6794 returns errors6795Projects::RunnersController6796 #update6797 updates the runner and ticks the queue6798 #destroy6799 destroys the runner6800 #resume6801 marks the runner as active and ticks the queue6802 #pause6803 marks the runner as inactive and ticks the queue6804 #toggle_shared_runners6805 toggles shared_runners_enabled when the group allows shared runners6806 toggles shared_runners_enabled when the group disallows shared runners but allows overrides6807 does not enable if the group disallows shared runners6808Query6809 .designManagement6810 .version6811 behaves like a working graphql query6812 returns a successful response6813 behaves like a query that needs authorization6814 the current user is not able to read designs6815 does not retrieve the record6816 raises an error6817 the current user is able to read designs6818 fetches the expected data6819 .designAtVersion6820 behaves like a working graphql query6821DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6822 returns a successful response6823 behaves like a query that needs authorization6824 the current user is not able to read designs6825 does not retrieve the record6826 raises an error6827 the current user is able to read designs6828DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6829 fetches the expected data, including the correct associations6830Starting a Jira Import6831 when the user does not have permission6832 with anonymous user6833 behaves like Jira import does not start6834 does not start the Jira import6835 behaves like a mutation that returns top-level errors6836 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]6837 with user without permissions6838 behaves like Jira import does not start6839 does not start the Jira import6840 behaves like a mutation that returns top-level errors6841 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]6842 when the user has permission6843 with project6844 when the project path is invalid6845 returns an an error6846 when project has no Jira integration6847 behaves like a mutation that returns errors in the response6848 is expected to contain exactly "Jira integration not configured."6849 when when project has Jira integration6850 when issues feature are disabled6851 behaves like a mutation that returns errors in the response6852 is expected to contain exactly "Cannot import because issues are not available in this project."6853 when jira_project_key not provided6854 behaves like a mutation that returns errors in the response6855 is expected to contain exactly "Unable to find Jira project to import data from."6856 when Jira import successfully scheduled6857 schedules a Jira import6858Projects::Environments::PrometheusApiController6859 GET #prometheus_proxy6860 behaves like metrics dashboard prometheus api proxy6861 with valid requests6862 with success result6863 returns prometheus response6864 with nil query6865 does not raise error6866 with nil result6867 returns 204 no_content6868 with 404 result6869 returns body6870 with error result6871 with http_status6872 sets the http response status code6873 without http_status6874 returns bad_request6875 with inappropriate requests6876 without correct permissions6877 returns 4046878 with invalid proxyable id6879 returns 4046880 with variables6881 replaces variables with values6882 with invalid variables6883 returns 4006884 with anonymous user6885 redirects to signin page6886Projects::Settings::RepositoryController6887 GET show6888 renders show with 200 status code6889 PUT cleanup6890 enqueues a project cleanup6891 POST create_deploy_token6892 when ajax_new_deploy_token feature flag is disabled for the project6893 behaves like a created deploy token6894 creates deploy token6895 when no scope is selected6896 creates a variable with a errored deploy token6897 when ajax_new_deploy_token feature flag is enabled for the project6898 a good request6899 creates the deploy token6900 a bad request6901 does not create the deploy token6902 an invalid request6903 raises a validation error6904Query.project.pipeline6905 .stages.groups.jobs6906 returns the jobs of a pipeline stage6907 when there are build needs6908 reports the build needs6909 performance6910 can find the first stage6911 can find all stages6912 does not generate N+1 queries6913 .jobs.artifacts6914 when the job is a build6915 returns the build's artifacts6916 when the job is not a build6917 returns nil6918Dashboard::SnippetsController6919 GET #index6920 fetches snippet counts via the snippet count service6921 behaves like paginated collection6922DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6923 renders a page number that is not ouf of range6924DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6925 redirects to last_page if page number is larger than number of pages6926DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6927 does not redirect to external sites when provided a host field6928 behaves like snippets sort order6929 when no sort param is provided6930 calls SnippetsFinder with updated_at sort option6931 when sort param is provided6932 calls SnippetsFinder with the given sort param6933 behaves like snippets views6934 when rendered6935DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6936DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6937DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from snippet_counts at /builds/gitlab-org/gitlab/app/services/snippets/count_service.rb:73)6938 avoids N+1 database queries6939API::UsageData6940 POST /usage_data/increment_counter6941 without CSRF token6942 returns forbidden6943 usage_data_api feature not enabled6944 returns not_found6945 without authentication6946 returns 401 response6947 with authentication6948 when event is missing from params6949 returns bad request6950 with correct params6951 returns status ok6952 with correct params6953 returns status ok6954 with unknown event6955 returns status ok6956 POST /usage_data/increment_unique_users6957 without CSRF token6958 returns forbidden6959 usage_data_api feature not enabled6960 returns not_found6961 without authentication6962 returns 401 response6963 with authentication6964 when event is missing from params6965 returns bad request6966 with correct params6967 returns status ok6968 with unknown event6969 returns status ok6970 GET /usage_data/metric_definitions6971 without authentication6972 returns a YAML file6973Projects::IncidentsController6974 GET #index6975 shows the page6976 when user is unauthorized6977 behaves like login required6978 redirects to the login page6979 when user is a guest6980 shows the page6981 GET #show6982DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from block in incident at /builds/gitlab-org/gitlab/app/controllers/projects/incidents_controller.rb:24)6983 renders incident page6984 with non existing id6985 behaves like not found6986DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from block in incident at /builds/gitlab-org/gitlab/app/controllers/projects/incidents_controller.rb:24)6987 returns not_found6988 for issue6989 behaves like not found6990DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from block in incident at /builds/gitlab-org/gitlab/app/controllers/projects/incidents_controller.rb:24)6991 returns not_found6992 when user is a guest6993DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from block in incident at /builds/gitlab-org/gitlab/app/controllers/projects/incidents_controller.rb:24)6994 shows the page6995 when unauthorized6996 behaves like login required6997 redirects to the login page6998getting Issue counts by status6999 with issue count data7000 without project permissions7001 is expected to equal nil7002 behaves like a working graphql query7003 returns a successful response7004 with project permissions7005 returns the correct counts for each status7006 behaves like a working graphql query7007 returns a successful response7008moving designs7009 the user is not allowed to move designs7010 returns an error7011 the neighbors do not have positions7012 maintains the correct order in the presence of other unpositioned designs7013 behaves like a successful move7014 does not error, and reports the current order7015 moving a design between two others7016 behaves like a successful move7017 does not error, and reports the current order7018 moving a design to the start7019 behaves like a successful move7020 does not error, and reports the current order7021 moving a design to the end7022 behaves like a successful move7023 does not error, and reports the current order7024getting custom emoji within namespace7025 Query CustomEmoji on Group7026 returns emojis when authorised7027 returns nil when unauthorised7028API::ContainerRepositories7029 GET /registry/repositories/:id7030 behaves like rejected container repository access7031 for guest7032 returns forbidden7033 behaves like rejected container repository access7034 for anonymous7035 returns unauthorized7036 for allowed user7037 returns a repository7038 returns a matching schema7039 with a network error7040 returns a matching schema7041 with tags param7042 returns a repository and its tags7043 with a network error7044caught error of type Faraday::Error in after callback inside Grape::Middleware::Formatter : 7045 returns a connection error message7046 with tags_count param7047 returns a repository and its tags_count7048 with invalid repository id7049 behaves like returning response status7050 returns not_found7051API::GroupAvatar7052 GET /groups/:id/avatar7053 when the group is public7054 retrieves the avatar successfully7055 when the avatar is in the object storage7056 redirects to the file in the object storage7057 when the group does not have avatar7058 returns :not_found7059 when the group is a subgroup7060 returns :ok7061 when the group is private7062 when the user is not authenticated7063 returns :not_found7064 when the the group user is authenticated7065 and have access to the group7066 retrieves the avatar successfully7067 and does not have access to the group7068 returns :not_found7069API::Appearance Appearance7070 GET /application/appearance7071 as a non-admin user7072 returns 4037073 as an admin user7074 returns appearance7075 PUT /application/appearance7076 as a non-admin user7077 returns 4037078 as an admin user7079 instance basics7080 allows updating the settings7081 system header and footer7082 allows updating the settings7083 fails on invalid color values7084 with message_font_color7085 with message_background_color7086 instance logos7087 allows updating the image files7088 fails on invalid color images7089 with string instead of file7090 with .svg file instead of .png7091accepting a merge request7092 when the user is not allowed to accept a merge request7093 behaves like a mutation that returns a top-level access error7094 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7095 when user has permissions to create a merge request7096 merges the merge request7097query terraform states7098 returns terraform state data7099 returns count of terraform states7100 unauthorized users7101 is expected to be nil7102Update of an existing board list7103 behaves like a GraphQL request to update board list7104 the user is not allowed to read board lists7105 behaves like a mutation that returns a top-level access error7106 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7107 when user has permissions to admin board lists7108 updates the list position and collapsed state7109 when user has permissions to read board lists7110 updates the list collapsed state but not the list position7111Dashboard::GroupsController7112 renders group trees7113 #index7114 only includes projects the user is a member of7115 works when the external authorization service is enabled7116 when rendering an expanded hierarchy with public groups you are not a member of7117 renders only groups the user is a member of when searching hierarchy correctly7118OAuth tokens7119 Resource Owner Password Credentials7120 when user has 2FA enabled7121 does not create an access token7122 when user does not have 2FA enabled7123 when no client credentials provided7124 creates an access token7125 when client credentials provided7126 with valid credentials7127 creates an access token7128 with invalid credentials7129 does not create an access token (PENDING: Enable this example after https://github.com/doorkeeper-gem/doorkeeper/pull/1488 is merged and released)7130 when user is blocked7131 is expected to respond with numeric status code bad_request7132 when user is ldap_blocked7133 is expected to respond with numeric status code bad_request7134 when user account is not confirmed7135 is expected to respond with numeric status code bad_request7136OAuth Tokens requests7137 when there is already a token for the application7138 and the request is done by the resource owner7139 reuses and returns the stored token7140 and the request is done by a different user7141 generates and returns a different token for a different owner7142 when there is no token stored for the application7143 generates and returns a new token7144 when the application is configured to use expiring tokens7145 generates an access token with an expiration7146 when the application is configured not to use expiring tokens7147 generates an access token without an expiration7148Create a new cluster agent token7149 without user permissions7150 does not create a token7151 behaves like a mutation that returns top-level errors7152 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7153 with project permissions7154 creates a new token7155 returns token information7156Projects::Settings::IntegrationsController7157 GET show7158 renders show with 200 status code7159getting Alert Management Alert Issue7160 with gitlab alert7161 includes the correct alert issue payload data7162 performance7163 with gitlab alert7164 avoids N+1 queries7165Query.project.pipeline.stages7166 returns the stage of a pipeline7167 behaves like a working graphql query7168 returns a successful response7169 job pagination7170 returns up to default limit jobs per stage7171 when the limit is manually set7172 returns up to custom limit jobs per stage7173unlock a terraform state7174 returns a successful response7175 unlocks the state7176Oauth::TokensController7177 POST /oauth/token7178 behaves like cross-origin POST request7179 allows cross-origin requests7180 OPTIONS /oauth/token7181 behaves like CORS preflight OPTIONS request7182 returns 2007183 allows cross-origin requests7184 POST /oauth/revoke7185 returns 2007186 behaves like cross-origin POST request7187 allows cross-origin requests7188 OPTIONS /oauth/revoke7189 behaves like CORS preflight OPTIONS request7190 returns 2007191 allows cross-origin requests7192Create a label or backlog board list7193 behaves like board lists create request7194 the user is not allowed to read board lists7195 behaves like a mutation that returns a top-level access error7196 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7197 when user has permissions to admin board lists7198 backlog list7199 creates the list7200 label list7201 creates the list7202Querying a Milestone7203 when the user has access to the milestone7204 is expected to include {"title" => "My title 677"}7205 behaves like a working graphql query7206 returns a successful response7207 when the user does not have access to the milestone7208 is expected to be nil7209 behaves like a working graphql query7210 returns a successful response7211 when ID argument is missing7212 raises an exception7213Project Usage Quotas7214 GET /:namespace/:project/usage_quotas7215 renders usage quotas path7216 renders :not_found for user without permission7217 behaves like response with 404 status7218 renders :not_found7219Setting subscribed status of an issue7220 behaves like a subscribable resource api7221 when the user is not authorized7222 behaves like a mutation that returns top-level errors7223 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7224 when user is authorized7225 marks the resource as subscribed7226 when passing subscribe false as input7227 unmarks the resource as subscribed7228Profiles::GpgKeysController7229 POST #create7230 creates a new key7231Create a todo7232 the user is not allowed to create todo7233 behaves like a mutation that returns a top-level access error7234 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]7235 when user has permissions to create todo7236 creates todo7237SpammableActions::CaptchaCheck::JsonFormatActionsSupport7238 #with_captcha_check_json_format7239 when spammable.render_recaptcha? is true7240 renders json containing spam_action_response_fields7241 when spammable.render_recaptcha? is false7242 yields to block7243Emails::Groups7244 #group_was_exported_email7245 sends success email7246 #group_was_not_exported_email7247 sends failure email7248getting namespace package settings in a namespace7249 behaves like a working graphql query7250 returns a successful response7251 matches the JSON schema7252ConfigureSecretDetection7253 when authorized7254 creates a branch with secret detection configured7255JwksController7256 GET /-/jwks7257 returns signing keys used to sign CI_JOB_JWT7258 does not leak private key data7259Removing an HTTP Integration7260 removes the integration7261Admin::GitalyServersController7262 #index7263 shows the gitaly servers page7264Profiles::ActiveSessionsController7265 DELETE destroy7266 invalidates all remember user tokens7267Knapsack report was generated. Preview:7268{7269 "spec/requests/api/integrations_spec.rb": 166.76371115799884,7270 "spec/requests/api/releases_spec.rb": 168.4452595640014,7271 "spec/requests/api/members_spec.rb": 228.87085684799968,7272 "spec/requests/api/pypi_packages_spec.rb": 119.14680824899915,7273 "spec/requests/api/composer_packages_spec.rb": 99.52379233099964,7274 "spec/controllers/projects/merge_requests/diffs_controller_spec.rb": 103.1759377749986,7275 "spec/requests/api/project_snippets_spec.rb": 61.91287889799969,7276 "spec/controllers/projects_controller_spec.rb": 59.04364091299976,7277 "spec/requests/api/group_packages_spec.rb": 54.945888096999624,7278 "spec/requests/ide_controller_spec.rb": 32.883124934998705,7279 "spec/controllers/projects/environments_controller_spec.rb": 26.631841058000646,7280 "spec/requests/api/project_clusters_spec.rb": 26.97333483500006,7281 "spec/controllers/import/github_controller_spec.rb": 25.83797908899942,7282 "spec/mailers/emails/merge_requests_spec.rb": 20.280061945999478,7283 "spec/requests/api/project_milestones_spec.rb": 20.79594648300008,7284 "spec/controllers/projects/blob_controller_spec.rb": 23.73305430400069,7285 "spec/controllers/projects/releases_controller_spec.rb": 18.848180348000824,7286 "spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb": 13.310059434001232,7287 "spec/requests/api/graphql/mutations/releases/create_spec.rb": 19.98087984599988,7288 "spec/controllers/projects/starrers_controller_spec.rb": 14.750922560999243,7289 "spec/controllers/projects/artifacts_controller_spec.rb": 8.870618119000937,7290 "spec/controllers/projects/snippets_controller_spec.rb": 13.799122251999506,7291 "spec/controllers/snippets_controller_spec.rb": 7.817571667001175,7292 "spec/controllers/admin/integrations_controller_spec.rb": 10.647437215999162,7293 "spec/requests/api/resource_label_events_spec.rb": 9.98407087799933,7294 "spec/requests/api/resource_milestone_events_spec.rb": 11.620222972000192,7295 "spec/requests/api/namespaces_spec.rb": 8.57094473899997,7296 "spec/requests/api/graphql/boards/board_list_issues_query_spec.rb": 10.576954449999903,7297 "spec/requests/api/graphql/group_query_spec.rb": 11.645574901000145,7298 "spec/requests/api/boards_spec.rb": 11.747184553998522,7299 "spec/requests/api/graphql/mutations/notes/create/image_diff_note_spec.rb": 11.70246628699897,7300 "spec/controllers/projects/imports_controller_spec.rb": 9.020640560000174,7301 "spec/controllers/concerns/metrics_dashboard_spec.rb": 5.456276218999847,7302 "spec/requests/api/project_repository_storage_moves_spec.rb": 5.997532224000679,7303 "spec/requests/api/graphql/group/dependency_proxy_group_setting_spec.rb": 8.554363449999073,7304 "spec/requests/projects/issue_links_controller_spec.rb": 8.106357549000677,7305 "spec/requests/api/ci/runner/jobs_put_spec.rb": 6.085166408000077,7306 "spec/requests/api/resource_state_events_spec.rb": 4.095547136999812,7307 "spec/requests/import/gitlab_groups_controller_spec.rb": 6.213496690001193,7308 "spec/requests/api/broadcast_messages_spec.rb": 1.8095009940007003,7309 "spec/requests/api/graphql/group/issues_spec.rb": 7.498405257998456,7310 "spec/requests/api/ci/runners_reset_registration_token_spec.rb": 3.310374478000085,7311 "spec/controllers/admin/runners_controller_spec.rb": 4.397631457000898,7312 "spec/controllers/concerns/sourcegraph_decorator_spec.rb": 5.213891275001515,7313 "spec/requests/api/graphql/mutations/merge_requests/set_wip_spec.rb": 5.46306007900057,7314 "spec/requests/jira_connect/installations_controller_spec.rb": 1.0666125520001515,7315 "spec/controllers/concerns/internal_redirect_spec.rb": 0.8647991550005827,7316 "spec/requests/api/graphql/project/repository_spec.rb": 4.121717924999757,7317 "spec/requests/api/graphql/project/milestones_spec.rb": 3.512143414000093,7318 "spec/requests/api/graphql/mutations/ci/runners_registration_token/reset_spec.rb": 4.295901514000434,7319 "spec/controllers/projects/runners_controller_spec.rb": 4.836556189000476,7320 "spec/requests/api/graphql/query_spec.rb": 3.4926754150001216,7321 "spec/requests/api/graphql/mutations/jira_import/start_spec.rb": 3.47655383700112,7322 "spec/controllers/projects/environments/prometheus_api_controller_spec.rb": 3.0251427949988283,7323 "spec/controllers/projects/settings/repository_controller_spec.rb": 4.359133539999675,7324 "spec/requests/api/graphql/ci/jobs_spec.rb": 3.1323345380005776,7325 "spec/controllers/dashboard/snippets_controller_spec.rb": 2.243435276001037,7326 "spec/requests/api/usage_data_spec.rb": 1.4979704430006677,7327 "spec/controllers/projects/incidents_controller_spec.rb": 1.756210106999788,7328 "spec/requests/api/graphql/issue_status_counts_spec.rb": 1.3242906049999874,7329 "spec/requests/api/graphql/mutations/design_management/move_spec.rb": 2.303301812000427,7330 "spec/requests/api/graphql/custom_emoji_query_spec.rb": 2.139891701999659,7331 "spec/requests/api/container_repositories_spec.rb": 3.0526103140000487,7332 "spec/requests/api/group_avatar_spec.rb": 1.839305122000951,7333 "spec/requests/api/appearance_spec.rb": 1.0921388799997658,7334 "spec/requests/api/graphql/mutations/merge_requests/accept_spec.rb": 2.1678349600006186,7335 "spec/requests/api/graphql/project/terraform/states_spec.rb": 1.2978053169990744,7336 "spec/requests/api/graphql/mutations/boards/lists/update_spec.rb": 1.5135453029997734,7337 "spec/controllers/dashboard/groups_controller_spec.rb": 1.74171376799859,7338 "spec/requests/api/oauth_tokens_spec.rb": 1.6983055510008853,7339 "spec/requests/oauth_tokens_spec.rb": 1.5122843930003,7340 "spec/requests/api/graphql/mutations/clusters/agent_tokens/agent_tokens/create_spec.rb": 1.3905993009993836,7341 "spec/controllers/projects/settings/integrations_controller_spec.rb": 0.8588823350000894,7342 "spec/requests/api/graphql/project/alert_management/alert/issue_spec.rb": 1.1842527239987248,7343 "spec/requests/api/graphql/ci/stages_spec.rb": 2.0960669050000433,7344 "spec/requests/api/graphql/terraform/state/unlock_spec.rb": 1.0709847910002281,7345 "spec/requests/oauth/tokens_controller_spec.rb": 0.44723526100096933,7346 "spec/requests/api/graphql/mutations/boards/lists/create_spec.rb": 1.4748372850008309,7347 "spec/requests/api/graphql/milestone_spec.rb": 1.0173723039988545,7348 "spec/requests/projects/usage_quotas_spec.rb": 1.1732409039996128,7349 "spec/requests/api/graphql/mutations/issues/set_subscription_spec.rb": 1.459499897000569,7350 "spec/controllers/profiles/gpg_keys_controller_spec.rb": 2.100381914000536,7351 "spec/requests/api/graphql/mutations/todos/create_spec.rb": 0.8787447539998539,7352 "spec/controllers/concerns/spammable_actions/captcha_check/json_format_actions_support_spec.rb": 0.597114522000993,7353 "spec/mailers/emails/groups_spec.rb": 0.9302572800006601,7354 "spec/requests/api/graphql/namespace/package_settings_spec.rb": 0.49494184800096264,7355 "spec/requests/api/graphql/mutations/security/ci_configuration/configure_secret_detection_spec.rb": 0.8017269579995627,7356 "spec/requests/jwks_controller_spec.rb": 0.3069537200008199,7357 "spec/requests/api/graphql/mutations/alert_management/http_integration/destroy_spec.rb": 0.6844889459989645,7358 "spec/controllers/admin/gitaly_servers_controller_spec.rb": 0.24844007400133705,7359 "spec/controllers/profiles/active_sessions_controller_spec.rb": 0.30411651099893797360}7361Knapsack global time execution for tests: 26m 26s7362Pending: (Failures listed here are expected and do not affect your suite's status)7363 1) ProjectsController#update hashed storage behaves like updating a project when only renaming a project path upgrades and move project to hashed storage when project was originally legacy7364 # No reason given7365 # ./spec/controllers/projects_controller_spec.rb:7007366 2) ProjectsController#update legacy storage behaves like updating a project when only renaming a project path doesnt change the disk_path when using hashed storage7367 # No reason given7368 # ./spec/controllers/projects_controller_spec.rb:6817369 3) getting group information Query group(fullPath) when authenticated as user avoids N+1 queries7371 Failure/Error:7372 expect { post_multiplex(queries, current_user: admin) }7373 .to issue_same_number_of_queries_as { post_graphql(group_query(group1), current_user: admin) }7374 Expected 103 queries, but got 1627375 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'wM6pWxMPOBqVQ9SmwneFgoiNdOwg31I3x2MwhHKdNtk=' LIMIT 1 /*application:test,correlation_id:a3c92bada6721a9d082b0475bdd03766,db_config_name:main*/7376 SAVEPOINT active_record_2 /*application:test,correlation_id:a3c92bada6721a9d082b0475bdd03766,db_config_name:main*/7377 INSERT INTO "personal_access_tokens" ("user_id", "name", "expires_at", "created_at", "updated_at", "scopes", "token_digest") VALUES (2305, 'PAT 1307', '2021-10-31', '2021-10-26 21:44:49.449718', '2021-10-26 21:44:49.449718', '---7378 - api7379 ', 'wM6pWxMPOBqVQ9SmwneFgoiNdOwg31I3x2MwhHKdNtk=') RETURNING "id" /*application:test,correlation_id:a3c92bada6721a9d082b0475bdd03766,db_config_name:main*/7380 RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:a3c92bada6721a9d082b0475bdd03766,db_config_name:main*/7381 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'wM6pWxMPOBqVQ9SmwneFgoiNdOwg31I3x2MwhHKdNtk=' LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7382 SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7383 SELECT 1 AS one FROM "geo_nodes" LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7384 UPDATE "personal_access_tokens" SET "last_used_at" = '2021-10-26 21:44:49.480340' WHERE "personal_access_tokens"."id" = 1307 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7385 SELECT "users".* FROM "users" WHERE "users"."id" = 2305 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7386 SELECT "namespaces"."id" AS t0_r0, "namespaces"."name" AS t0_r1, "namespaces"."path" AS t0_r2, "namespaces"."owner_id" AS t0_r3, "namespaces"."created_at" AS t0_r4, "namespaces"."updated_at" AS t0_r5, "namespaces"."type" AS t0_r6, "namespaces"."description" AS t0_r7, "namespaces"."avatar" AS t0_r8, "namespaces"."membership_lock" AS t0_r9, "namespaces"."share_with_group_lock" AS t0_r10, "namespaces"."visibility_level" AS t0_r11, "namespaces"."request_access_enabled" AS t0_r12, "namespaces"."ldap_sync_status" AS t0_r13, "namespaces"."ldap_sync_error" AS t0_r14, "namespaces"."ldap_sync_last_update_at" AS t0_r15, "namespaces"."ldap_sync_last_successful_update_at" AS t0_r16, "namespaces"."ldap_sync_last_sync_at" AS t0_r17, "namespaces"."description_html" AS t0_r18, "namespaces"."lfs_enabled" AS t0_r19, "namespaces"."parent_id" AS t0_r20, "namespaces"."shared_runners_minutes_limit" AS t0_r21, "namespaces"."repository_size_limit" AS t0_r22, "namespaces"."require_two_factor_authentication" AS t0_r23, "namespaces"."two_factor_grace_period" AS t0_r24, "namespaces"."cached_markdown_version" AS t0_r25, "namespaces"."project_creation_level" AS t0_r26, "namespaces"."runners_token" AS t0_r27, "namespaces"."file_template_project_id" AS t0_r28, "namespaces"."saml_discovery_token" AS t0_r29, "namespaces"."runners_token_encrypted" AS t0_r30, "namespaces"."custom_project_templates_group_id" AS t0_r31, "namespaces"."auto_devops_enabled" AS t0_r32, "namespaces"."extra_shared_runners_minutes_limit" AS t0_r33, "namespaces"."last_ci_minutes_notification_at" AS t0_r34, "namespaces"."last_ci_minutes_usage_notification_level" AS t0_r35, "namespaces"."subgroup_creation_level" AS t0_r36, "namespaces"."emails_disabled" AS t0_r37, "namespaces"."max_pages_size" AS t0_r38, "namespaces"."max_artifacts_size" AS t0_r39, "namespaces"."mentions_disabled" AS t0_r40, "namespaces"."default_branch_protection" AS t0_r41, "namespaces"."unlock_membership_to_ldap" AS t0_r42, "namespaces"."max_personal_access_token_lifetime" AS t0_r43, "namespaces"."push_rule_id" AS t0_r44, "namespaces"."shared_runners_enabled" AS t0_r45, "namespaces"."allow_descendants_override_disabled_shared_runners" AS t0_r46, "namespaces"."traversal_ids" AS t0_r47, "routes"."id" AS t1_r0, "routes"."source_id" AS t1_r1, "routes"."source_type" AS t1_r2, "routes"."path" AS t1_r3, "routes"."created_at" AS t1_r4, "routes"."updated_at" AS t1_r5, "routes"."name" AS t1_r6 FROM "namespaces" LEFT OUTER JOIN "routes" ON "routes"."source_type" = 'Namespace' AND "routes"."source_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND ((LOWER(routes.path) = LOWER('group284')) OR (LOWER(routes.path) = LOWER('group285'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7387 SELECT 1 AS one FROM "projects" WHERE "projects"."namespace_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7388 SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_coverage_regex", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."emails_disabled", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id" FROM "projects" WHERE "projects"."namespace_id" = 2621 ORDER BY "projects"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7389 SELECT "namespace_package_settings".* FROM "namespace_package_settings" WHERE "namespace_package_settings"."namespace_id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7390 SELECT "namespace_limits".* FROM "namespace_limits" WHERE "namespace_limits"."namespace_id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7391 SELECT SUM((("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") - "projects"."repository_size_limit")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7392 SELECT SUM(("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7393 SELECT COUNT(*) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7394 SELECT "gitlab_subscriptions".* FROM "gitlab_subscriptions" WHERE "gitlab_subscriptions"."namespace_id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7395 SELECT "plans".* FROM "plans" WHERE "plans"."name" = 'default' LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7396 SELECT "plan_limits"."id", "plan_limits"."plan_id", "plan_limits"."ci_active_pipelines", "plan_limits"."ci_pipeline_size", "plan_limits"."ci_active_jobs", "plan_limits"."project_hooks", "plan_limits"."group_hooks", "plan_limits"."ci_project_subscriptions", "plan_limits"."ci_pipeline_schedules", "plan_limits"."offset_pagination_limit", "plan_limits"."ci_instance_level_variables", "plan_limits"."storage_size_limit", "plan_limits"."ci_max_artifact_size_lsif", "plan_limits"."ci_max_artifact_size_archive", "plan_limits"."ci_max_artifact_size_metadata", "plan_limits"."ci_max_artifact_size_trace", "plan_limits"."ci_max_artifact_size_junit", "plan_limits"."ci_max_artifact_size_sast", "plan_limits"."ci_max_artifact_size_dependency_scanning", "plan_limits"."ci_max_artifact_size_container_scanning", "plan_limits"."ci_max_artifact_size_dast", "plan_limits"."ci_max_artifact_size_codequality", "plan_limits"."ci_max_artifact_size_license_management", "plan_limits"."ci_max_artifact_size_license_scanning", "plan_limits"."ci_max_artifact_size_performance", "plan_limits"."ci_max_artifact_size_metrics", "plan_limits"."ci_max_artifact_size_metrics_referee", "plan_limits"."ci_max_artifact_size_network_referee", "plan_limits"."ci_max_artifact_size_dotenv", "plan_limits"."ci_max_artifact_size_cobertura", "plan_limits"."ci_max_artifact_size_terraform", "plan_limits"."ci_max_artifact_size_accessibility", "plan_limits"."ci_max_artifact_size_cluster_applications", "plan_limits"."ci_max_artifact_size_secret_detection", "plan_limits"."ci_max_artifact_size_requirements", "plan_limits"."ci_max_artifact_size_coverage_fuzzing", "plan_limits"."ci_max_artifact_size_browser_performance", "plan_limits"."ci_max_artifact_size_load_performance", "plan_limits"."ci_needs_size_limit", "plan_limits"."conan_max_file_size", "plan_limits"."maven_max_file_size", "plan_limits"."npm_max_file_size", "plan_limits"."nuget_max_file_size", "plan_limits"."pypi_max_file_size", "plan_limits"."generic_packages_max_file_size", "plan_limits"."golang_max_file_size", "plan_limits"."debian_max_file_size", "plan_limits"."project_feature_flags", "plan_limits"."ci_max_artifact_size_api_fuzzing", "plan_limits"."ci_pipeline_deployments", "plan_limits"."pull_mirror_interval_seconds", "plan_limits"."daily_invites", "plan_limits"."rubygems_max_file_size", "plan_limits"."terraform_module_max_file_size", "plan_limits"."helm_max_file_size", "plan_limits"."ci_registered_group_runners", "plan_limits"."ci_registered_project_runners", "plan_limits"."web_hook_calls", "plan_limits"."ci_daily_pipeline_schedule_triggers", "plan_limits"."ci_max_artifact_size_cluster_image_scanning", "plan_limits"."ci_jobs_trace_size_limit", "plan_limits"."pages_file_entries", "plan_limits"."dast_profile_schedules", "plan_limits"."external_audit_event_destinations" FROM "plan_limits" WHERE "plan_limits"."plan_id" = 267 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7397 SELECT "uploads".* FROM "uploads" WHERE "uploads"."uploader" = 'AvatarUploader' AND "uploads"."path" IN ('uploads/-/system/group/avatar/2621/banana_sample.gif', 'group/avatar/2621/banana_sample.gif') ORDER BY "uploads"."id" ASC LIMIT 1000 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7398 SELECT 1 AS one FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7399 SELECT "custom_emoji".* FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2621 ORDER BY "custom_emoji"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7400 SELECT 1 AS one FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7401 SELECT "issues".* FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) ORDER BY "issues"."created_at" DESC, "issues"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7402 SELECT COUNT(*) FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7403 SELECT SUM("issues"."weight") FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7404 SELECT 1 AS one FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7405 SELECT "merge_requests".* FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) ORDER BY "merge_requests"."created_at" DESC, "merge_requests"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7406 SELECT COUNT(*) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7407 SELECT EXTRACT(epoch FROM SUM(AGE(merge_request_metrics.merged_at, merge_request_metrics.created_at))) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2621 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "merge_requests"."target_project_id" = "merge_request_metrics"."target_project_id" AND "merge_request_metrics"."merged_at" > "merge_request_metrics"."created_at" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7408 SELECT COUNT(*) FROM (SELECT 1 AS one FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)7409 UNION ALL7410 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2621)) milestones LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7411 SELECT "milestones".* FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)7412 UNION ALL7413 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2621)) milestones ORDER BY due_date ASC NULLS LAST, "milestones"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7414 SELECT 1 AS one FROM "boards" WHERE "boards"."group_id" = 2621 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2621 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) LIMIT 1 OFFSET 2000 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7415 SELECT "boards".* FROM "boards" WHERE "boards"."group_id" = 2621 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2621 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) ORDER BY "boards"."id" DESC LIMIT 2000 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7416 SELECT 1 AS one FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2621) AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7417 SELECT "members".* FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2621) AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' ORDER BY "members"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7418 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7419 SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7420 INSERT INTO "packages_events" ("event_type", "event_scope", "originator_type", "originator", "created_at") VALUES (5, 1000, 0, 2305, '2021-10-26 21:44:49.888091') RETURNING "id" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7421 RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7422 SELECT 1 AS one FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7423 SELECT "container_repositories".* FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id ORDER BY "container_repositories"."created_at" DESC, "container_repositories"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7424 SELECT COUNT(*) FROM "container_repositories" INNER JOIN "projects" ON "container_repositories"."project_id" = "projects"."id" WHERE "projects"."namespace_id" = 2621 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7425 SELECT 1 AS one FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7426 SELECT "packages_packages".* FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) ORDER BY "packages_packages"."created_at" DESC, "packages_packages"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7427 SELECT COUNT(*) FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7428 SELECT "dependency_proxy_group_settings".* FROM "dependency_proxy_group_settings" WHERE "dependency_proxy_group_settings"."group_id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7429 SELECT 1 AS one FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7430 SELECT "dependency_proxy_manifests".* FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2621 ORDER BY "dependency_proxy_manifests"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7431 SELECT 1 AS one FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7432 SELECT "dependency_proxy_blobs".* FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2621 ORDER BY "dependency_proxy_blobs"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7433 SELECT COUNT(*) FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2621 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7434 SELECT COUNT(*) FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2621 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7435 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2621 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7436 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2621 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7437 SELECT "dependency_proxy_image_ttl_group_policies".* FROM "dependency_proxy_image_ttl_group_policies" WHERE "dependency_proxy_image_ttl_group_policies"."group_id" = 2621 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7438 SELECT 1 AS one FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2621)7439 UNION7440 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621 AND "namespaces"."type" = 'Group'))7441 UNION7442 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7443 UNION7444 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621)))) labels LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7445 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2621)7446 UNION7447 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621 AND "namespaces"."type" = 'Group'))7448 UNION7449 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7450 UNION7451 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621)))) labels ORDER BY "labels"."title" ASC, "labels"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7452 SELECT COUNT(*) FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2621)7453 UNION7454 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621 AND "namespaces"."type" = 'Group'))7455 UNION7456 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7457 UNION7458 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2621)))) labels /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7459 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')) AND "namespaces"."id" != 2621) LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7460 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')) AND "namespaces"."id" != 2621) ORDER BY name ASC, "namespaces"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7461 SELECT 1 AS one FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')))))7462 UNION7463 (SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')))))) ci_runners /* allow_cross_joins_across_databases */ LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7464 SELECT "ci_runners".* FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')))))7465 UNION7466 (SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')))))) ci_runners /* allow_cross_joins_across_databases */ ORDER BY "ci_runners"."created_at" DESC, "ci_runners"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7467 SELECT 1 AS one FROM "customer_relations_organizations" WHERE "customer_relations_organizations"."group_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7468 SELECT "customer_relations_organizations".* FROM "customer_relations_organizations" WHERE "customer_relations_organizations"."group_id" = 2621 ORDER BY "customer_relations_organizations"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7469 SELECT 1 AS one FROM "customer_relations_contacts" WHERE "customer_relations_contacts"."group_id" = 2621 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7470 SELECT "customer_relations_contacts".* FROM "customer_relations_contacts" WHERE "customer_relations_contacts"."group_id" = 2621 ORDER BY "customer_relations_contacts"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7471 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2621) LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7472 SELECT "sprints".* FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2621) ORDER BY "sprints"."due_date" ASC, "sprints"."title" ASC, "sprints"."id" ASC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7473 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2621 LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7474 SELECT "iterations_cadences".* FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2621 ORDER BY "iterations_cadences"."title" ASC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7475 SELECT 1 AS one FROM "vulnerabilities" WHERE "vulnerabilities"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7476 SELECT "vulnerabilities".* FROM "vulnerabilities" WHERE "vulnerabilities"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerabilities"."severity" DESC, "vulnerabilities"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7477 SELECT DISTINCT ON ("vulnerability_scanners"."external_id", "report_types"."report_type") "vulnerability_scanners".*, "report_types"."report_type" AS "report_type" FROM "vulnerability_scanners" JOIN LATERAL (SELECT "vulnerability_occurrences"."report_type" FROM "vulnerability_occurrences" WHERE "vulnerability_occurrences"."scanner_id" = "vulnerability_scanners"."id" LIMIT 1) report_types ON true WHERE "vulnerability_scanners"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerability_scanners"."external_id" ASC, "report_types"."report_type" ASC /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7478 SELECT COUNT(*) FROM "releases" INNER JOIN "projects" ON "projects"."id" = "releases"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7479 SELECT (7480 COUNT(*) FILTER (WHERE EXISTS (SELECT 1 FROM releases WHERE releases.project_id = projects.id)) * 100.0 / GREATEST(COUNT(*), 1)7481 )::integer AS releases_percentage7482 FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7483 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7484 SELECT DISTINCT "users"."id" FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."user_type" IS NULL OR "users"."user_type" != 6) AND "users"."id" IN (SELECT DISTINCT "members"."user_id" FROM "members" WHERE "members"."type" = 'ProjectMember' AND "members"."source_type" = 'Project' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "projects"."id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."type" = 'Group' AND "namespaces"."id" = "projects"."namespace_id" AND "namespaces"."type" = 'Group' WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7485 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM (SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT unnest(traversal_ids) FROM "namespaces" INNER JOIN "group_group_links" ON "group_group_links"."shared_with_group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "group_group_links"."shared_group_id" IN (WITH "base_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids", LEAD (namespaces.traversal_ids, 1) OVER (ORDER BY namespaces.traversal_ids ASC) next_traversal_ids FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2621) SELECT "namespaces"."id" FROM "base_cte", "namespaces" WHERE "namespaces"."type" = 'Group' AND ("base_cte"."next_traversal_ids" IS NULL OR "base_cte"."next_traversal_ids" > "namespaces"."traversal_ids") AND next_traversal_ids_sibling("base_cte"."traversal_ids") > "namespaces"."traversal_ids" AND "base_cte"."traversal_ids" <= "namespaces"."traversal_ids"))) namespaces WHERE "namespaces"."type" = 'Group') /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7486 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM (SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT unnest(traversal_ids) FROM "namespaces" INNER JOIN "project_group_links" ON "project_group_links"."group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "project_group_links"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}')))))) namespaces WHERE "namespaces"."type" = 'Group') /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7487 SELECT 1 AS one FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7488 SELECT "timelogs".* FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2621}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') ORDER BY "timelogs"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7489 SELECT 1 AS one FROM "projects" WHERE "projects"."namespace_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7490 SELECT "projects"."id", "projects"."name", "projects"."path", "projects"."description", "projects"."created_at", "projects"."updated_at", "projects"."creator_id", "projects"."namespace_id", "projects"."last_activity_at", "projects"."import_url", "projects"."visibility_level", "projects"."archived", "projects"."avatar", "projects"."merge_requests_template", "projects"."star_count", "projects"."merge_requests_rebase_enabled", "projects"."import_type", "projects"."import_source", "projects"."approvals_before_merge", "projects"."reset_approvals_on_push", "projects"."merge_requests_ff_only_enabled", "projects"."issues_template", "projects"."mirror", "projects"."mirror_user_id", "projects"."shared_runners_enabled", "projects"."runners_token", "projects"."build_coverage_regex", "projects"."build_allow_git_fetch", "projects"."build_timeout", "projects"."mirror_trigger_builds", "projects"."pending_delete", "projects"."public_builds", "projects"."last_repository_check_failed", "projects"."last_repository_check_at", "projects"."only_allow_merge_if_pipeline_succeeds", "projects"."has_external_issue_tracker", "projects"."repository_storage", "projects"."repository_read_only", "projects"."request_access_enabled", "projects"."has_external_wiki", "projects"."ci_config_path", "projects"."lfs_enabled", "projects"."description_html", "projects"."only_allow_merge_if_all_discussions_are_resolved", "projects"."repository_size_limit", "projects"."printing_merge_request_link_enabled", "projects"."auto_cancel_pending_pipelines", "projects"."service_desk_enabled", "projects"."cached_markdown_version", "projects"."delete_error", "projects"."last_repository_updated_at", "projects"."disable_overriding_approvers_per_merge_request", "projects"."storage_version", "projects"."resolve_outdated_diff_discussions", "projects"."remote_mirror_available_overridden", "projects"."only_mirror_protected_branches", "projects"."pull_mirror_available_overridden", "projects"."jobs_cache_index", "projects"."external_authorization_classification_label", "projects"."mirror_overwrites_diverged_branches", "projects"."pages_https_only", "projects"."external_webhook_token", "projects"."packages_enabled", "projects"."merge_requests_author_approval", "projects"."pool_repository_id", "projects"."runners_token_encrypted", "projects"."bfg_object_map", "projects"."detected_repository_languages", "projects"."merge_requests_disable_committers_approval", "projects"."require_password_to_approve", "projects"."emails_disabled", "projects"."max_pages_size", "projects"."max_artifacts_size", "projects"."remove_source_branch_after_merge", "projects"."marked_for_deletion_at", "projects"."marked_for_deletion_by_user_id", "projects"."autoclose_referenced_issues", "projects"."suggestion_commit_message", "projects"."project_namespace_id" FROM "projects" WHERE "projects"."namespace_id" = 2622 ORDER BY "projects"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7491 SELECT "namespace_package_settings".* FROM "namespace_package_settings" WHERE "namespace_package_settings"."namespace_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7492 SELECT "namespace_limits".* FROM "namespace_limits" WHERE "namespace_limits"."namespace_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7493 SELECT SUM((("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") - "projects"."repository_size_limit")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7494 SELECT SUM(("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7495 SELECT COUNT(*) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7496 SELECT "gitlab_subscriptions".* FROM "gitlab_subscriptions" WHERE "gitlab_subscriptions"."namespace_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7497 SELECT "plans".* FROM "plans" WHERE "plans"."name" = 'free' LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7498 SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7499 SELECT 1 AS one FROM "gitlab_subscriptions" WHERE "gitlab_subscriptions"."namespace_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7500 INSERT INTO "gitlab_subscriptions" ("created_at", "updated_at", "start_date", "namespace_id", "trial") VALUES ('2021-10-26 21:44:50.122045', '2021-10-26 21:44:50.122045', '2021-10-26', 2622, NULL) RETURNING "id" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7501 RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7502 SELECT 1 AS one FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7503 SELECT "custom_emoji".* FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2622 ORDER BY "custom_emoji"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7504 SELECT 1 AS one FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7505 SELECT "issues".* FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) ORDER BY "issues"."created_at" DESC, "issues"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7506 SELECT COUNT(*) FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7507 SELECT SUM("issues"."weight") FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7508 SELECT 1 AS one FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7509 SELECT "merge_requests".* FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) ORDER BY "merge_requests"."created_at" DESC, "merge_requests"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7510 SELECT COUNT(*) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7511 SELECT EXTRACT(epoch FROM SUM(AGE(merge_request_metrics.merged_at, merge_request_metrics.created_at))) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2622 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "merge_requests"."target_project_id" = "merge_request_metrics"."target_project_id" AND "merge_request_metrics"."merged_at" > "merge_request_metrics"."created_at" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7512 SELECT COUNT(*) FROM (SELECT 1 AS one FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)7513 UNION ALL7514 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2622)) milestones LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7515 SELECT "milestones".* FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)7516 UNION ALL7517 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2622)) milestones ORDER BY due_date ASC NULLS LAST, "milestones"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7518 SELECT 1 AS one FROM "boards" WHERE "boards"."group_id" = 2622 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2622 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) LIMIT 1 OFFSET 2000 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7519 SELECT "boards".* FROM "boards" WHERE "boards"."group_id" = 2622 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2622 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) ORDER BY "boards"."id" DESC LIMIT 2000 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7520 SELECT 1 AS one FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2622) AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7521 SELECT "members".* FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2622) AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' ORDER BY "members"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7522 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7523 SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7524 INSERT INTO "packages_events" ("event_type", "event_scope", "originator_type", "originator", "created_at") VALUES (5, 1000, 0, 2305, '2021-10-26 21:44:50.204304') RETURNING "id" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7525 RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7526 SELECT 1 AS one FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7527 SELECT "container_repositories".* FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id ORDER BY "container_repositories"."created_at" DESC, "container_repositories"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7528 SELECT COUNT(*) FROM "container_repositories" INNER JOIN "projects" ON "container_repositories"."project_id" = "projects"."id" WHERE "projects"."namespace_id" = 2622 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7529 SELECT "dependency_proxy_group_settings".* FROM "dependency_proxy_group_settings" WHERE "dependency_proxy_group_settings"."group_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7530 SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7531 INSERT INTO "dependency_proxy_group_settings" ("group_id", "created_at", "updated_at", "enabled") VALUES (2622, '2021-10-26 21:44:50.220281', '2021-10-26 21:44:50.220281', TRUE) RETURNING "id" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7532 RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7533 SELECT 1 AS one FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7534 SELECT "dependency_proxy_manifests".* FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2622 ORDER BY "dependency_proxy_manifests"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7535 SELECT 1 AS one FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7536 SELECT "dependency_proxy_blobs".* FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2622 ORDER BY "dependency_proxy_blobs"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7537 SELECT COUNT(*) FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2622 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7538 SELECT COUNT(*) FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2622 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7539 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2622 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7540 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2622 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7541 SELECT "dependency_proxy_image_ttl_group_policies".* FROM "dependency_proxy_image_ttl_group_policies" WHERE "dependency_proxy_image_ttl_group_policies"."group_id" = 2622 LIMIT 1 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7542 SELECT 1 AS one FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2622)7543 UNION7544 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622 AND "namespaces"."type" = 'Group'))7545 UNION7546 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7547 UNION7548 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622)))) labels LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7549 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2622)7550 UNION7551 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622 AND "namespaces"."type" = 'Group'))7552 UNION7553 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7554 UNION7555 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622)))) labels ORDER BY "labels"."title" ASC, "labels"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7556 SELECT COUNT(*) FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2622)7557 UNION7558 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622 AND "namespaces"."type" = 'Group'))7559 UNION7560 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))7561 UNION7562 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2305 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 2622)))) labels /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7563 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')) AND "namespaces"."id" != 2622) LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7564 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')) AND "namespaces"."id" != 2622) ORDER BY name ASC, "namespaces"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7565 SELECT 1 AS one FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')))))7566 UNION7567 (SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')))))) ci_runners /* allow_cross_joins_across_databases */ LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7568 SELECT "ci_runners".* FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')))))7569 UNION7570 (SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')))))) ci_runners /* allow_cross_joins_across_databases */ ORDER BY "ci_runners"."created_at" DESC, "ci_runners"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7571 SELECT 1 AS one FROM "customer_relations_organizations" WHERE "customer_relations_organizations"."group_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7572 SELECT "customer_relations_organizations".* FROM "customer_relations_organizations" WHERE "customer_relations_organizations"."group_id" = 2622 ORDER BY "customer_relations_organizations"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7573 SELECT 1 AS one FROM "customer_relations_contacts" WHERE "customer_relations_contacts"."group_id" = 2622 LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7574 SELECT "customer_relations_contacts".* FROM "customer_relations_contacts" WHERE "customer_relations_contacts"."group_id" = 2622 ORDER BY "customer_relations_contacts"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7575 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2622) LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7576 SELECT "sprints".* FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2622) ORDER BY "sprints"."due_date" ASC, "sprints"."title" ASC, "sprints"."id" ASC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7577 SELECT COUNT(*) FROM (SELECT 1 AS one FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2622 LIMIT 101) subquery_for_count /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7578 SELECT "iterations_cadences".* FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2622 ORDER BY "iterations_cadences"."title" ASC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7579 SELECT 1 AS one FROM "vulnerabilities" WHERE "vulnerabilities"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7580 SELECT "vulnerabilities".* FROM "vulnerabilities" WHERE "vulnerabilities"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerabilities"."severity" DESC, "vulnerabilities"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7581 SELECT DISTINCT ON ("vulnerability_scanners"."external_id", "report_types"."report_type") "vulnerability_scanners".*, "report_types"."report_type" AS "report_type" FROM "vulnerability_scanners" JOIN LATERAL (SELECT "vulnerability_occurrences"."report_type" FROM "vulnerability_occurrences" WHERE "vulnerability_occurrences"."scanner_id" = "vulnerability_scanners"."id" LIMIT 1) report_types ON true WHERE "vulnerability_scanners"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerability_scanners"."external_id" ASC, "report_types"."report_type" ASC /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7582 SELECT COUNT(*) FROM "releases" INNER JOIN "projects" ON "projects"."id" = "releases"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7583 SELECT (7584 COUNT(*) FILTER (WHERE EXISTS (SELECT 1 FROM releases WHERE releases.project_id = projects.id)) * 100.0 / GREATEST(COUNT(*), 1)7585 )::integer AS releases_percentage7586 FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7587 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7588 SELECT DISTINCT "users"."id" FROM "users" WHERE ("users"."state" IN ('active')) AND ("users"."user_type" IS NULL OR "users"."user_type" != 6) AND "users"."id" IN (SELECT DISTINCT "members"."user_id" FROM "members" WHERE "members"."type" = 'ProjectMember' AND "members"."source_type" = 'Project' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "projects"."id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."type" = 'Group' AND "namespaces"."id" = "projects"."namespace_id" AND "namespaces"."type" = 'Group' WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))))) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7589 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM (SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT unnest(traversal_ids) FROM "namespaces" INNER JOIN "group_group_links" ON "group_group_links"."shared_with_group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "group_group_links"."shared_group_id" IN (WITH "base_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids", LEAD (namespaces.traversal_ids, 1) OVER (ORDER BY namespaces.traversal_ids ASC) next_traversal_ids FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2622) SELECT "namespaces"."id" FROM "base_cte", "namespaces" WHERE "namespaces"."type" = 'Group' AND ("base_cte"."next_traversal_ids" IS NULL OR "base_cte"."next_traversal_ids" > "namespaces"."traversal_ids") AND next_traversal_ids_sibling("base_cte"."traversal_ids") > "namespaces"."traversal_ids" AND "base_cte"."traversal_ids" <= "namespaces"."traversal_ids"))) namespaces WHERE "namespaces"."type" = 'Group') /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7590 SELECT DISTINCT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "members"."user_id" = "users"."id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM (SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT unnest(traversal_ids) FROM "namespaces" INNER JOIN "project_group_links" ON "project_group_links"."group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "project_group_links"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}')))))) namespaces WHERE "namespaces"."type" = 'Group') /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7591 SELECT 1 AS one FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') LIMIT 1 OFFSET 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7592 SELECT "timelogs".* FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2622}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') ORDER BY "timelogs"."id" DESC LIMIT 100 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7593 SELECT "namespace_root_storage_statistics".* FROM "namespace_root_storage_statistics" WHERE "namespace_root_storage_statistics"."namespace_id" IN (2621, 2622) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7594 SELECT "compliance_management_frameworks"."id" AS t0_r0, "compliance_management_frameworks"."name" AS t0_r1, "compliance_management_frameworks"."description" AS t0_r2, "compliance_management_frameworks"."color" AS t0_r3, "compliance_management_frameworks"."namespace_id" AS t0_r4, "compliance_management_frameworks"."regulated" AS t0_r5, "compliance_management_frameworks"."pipeline_configuration_full_path" AS t0_r6, "namespaces"."id" AS t1_r0, "namespaces"."name" AS t1_r1, "namespaces"."path" AS t1_r2, "namespaces"."owner_id" AS t1_r3, "namespaces"."created_at" AS t1_r4, "namespaces"."updated_at" AS t1_r5, "namespaces"."type" AS t1_r6, "namespaces"."description" AS t1_r7, "namespaces"."avatar" AS t1_r8, "namespaces"."membership_lock" AS t1_r9, "namespaces"."share_with_group_lock" AS t1_r10, "namespaces"."visibility_level" AS t1_r11, "namespaces"."request_access_enabled" AS t1_r12, "namespaces"."ldap_sync_status" AS t1_r13, "namespaces"."ldap_sync_error" AS t1_r14, "namespaces"."ldap_sync_last_update_at" AS t1_r15, "namespaces"."ldap_sync_last_successful_update_at" AS t1_r16, "namespaces"."ldap_sync_last_sync_at" AS t1_r17, "namespaces"."description_html" AS t1_r18, "namespaces"."lfs_enabled" AS t1_r19, "namespaces"."parent_id" AS t1_r20, "namespaces"."shared_runners_minutes_limit" AS t1_r21, "namespaces"."repository_size_limit" AS t1_r22, "namespaces"."require_two_factor_authentication" AS t1_r23, "namespaces"."two_factor_grace_period" AS t1_r24, "namespaces"."cached_markdown_version" AS t1_r25, "namespaces"."project_creation_level" AS t1_r26, "namespaces"."runners_token" AS t1_r27, "namespaces"."file_template_project_id" AS t1_r28, "namespaces"."saml_discovery_token" AS t1_r29, "namespaces"."runners_token_encrypted" AS t1_r30, "namespaces"."custom_project_templates_group_id" AS t1_r31, "namespaces"."auto_devops_enabled" AS t1_r32, "namespaces"."extra_shared_runners_minutes_limit" AS t1_r33, "namespaces"."last_ci_minutes_notification_at" AS t1_r34, "namespaces"."last_ci_minutes_usage_notification_level" AS t1_r35, "namespaces"."subgroup_creation_level" AS t1_r36, "namespaces"."emails_disabled" AS t1_r37, "namespaces"."max_pages_size" AS t1_r38, "namespaces"."max_artifacts_size" AS t1_r39, "namespaces"."mentions_disabled" AS t1_r40, "namespaces"."default_branch_protection" AS t1_r41, "namespaces"."unlock_membership_to_ldap" AS t1_r42, "namespaces"."max_personal_access_token_lifetime" AS t1_r43, "namespaces"."push_rule_id" AS t1_r44, "namespaces"."shared_runners_enabled" AS t1_r45, "namespaces"."allow_descendants_override_disabled_shared_runners" AS t1_r46, "namespaces"."traversal_ids" AS t1_r47 FROM "compliance_management_frameworks" LEFT OUTER JOIN "namespaces" ON "namespaces"."id" = "compliance_management_frameworks"."namespace_id" WHERE "namespaces"."id" IN (2621, 2622) /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7595 SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."unlock_membership_to_ldap", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 0 /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7596 SELECT "vulnerability_statistics"."letter_grade", array_agg(project_id) project_ids FROM "vulnerability_statistics" WHERE "vulnerability_statistics"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE ("projects"."namespace_id" = 2621 OR "projects"."namespace_id" = 2622)) GROUP BY "vulnerability_statistics"."letter_grade" /*application:test,correlation_id:55447494-a17c-4bc5-89fb-2a84bba26352,endpoint_id:GraphqlController#execute,db_config_name:main*/7597 # ./spec/requests/api/graphql/group_query_spec.rb:106:in `block (4 levels) in <top (required)>'7598 # ./spec/spec_helper.rb:408:in `block (3 levels) in <top (required)>'7599 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'7600 # ./spec/spec_helper.rb:399:in `block (2 levels) in <top (required)>'7601 # ./spec/spec_helper.rb:395:in `block (3 levels) in <top (required)>'7602 # ./lib/gitlab/application_context.rb:31:in `with_raw_context'7603 # ./spec/spec_helper.rb:395:in `block (2 levels) in <top (required)>'7604 # ./spec/support/database/prevent_cross_joins.rb:102:in `block (3 levels) in <top (required)>'7605 # ./spec/support/database/prevent_cross_joins.rb:56:in `with_cross_joins_prevented'7606 # ./spec/support/database/prevent_cross_joins.rb:102:in `block (2 levels) in <top (required)>'7607 4) OAuth tokens Resource Owner Password Credentials when user does not have 2FA enabled when client credentials provided with invalid credentials does not create an access token7608 # Enable this example after https://github.com/doorkeeper-gem/doorkeeper/pull/1488 is merged and released7609 Failure/Error: expect(response).to have_gitlab_http_status(:unauthorized)7610 expected the response to have status code :unauthorized but it was 200. The response was: {"access_token":"5a7aaa7567ac50652b130b237fb20d4f30fc80904b28f432fe4968cf372219ce","token_type":"Bearer","refresh_token":"fe9429e5ca1706b19cf83d18ae94f77e724913dcde487ca0871ba8ac9e22b8c7","scope":"api","created_at":1635284859}7611 # ./spec/requests/api/oauth_tokens_spec.rb:60:in `block (6 levels) in <top (required)>'7612 # ./spec/spec_helper.rb:408:in `block (3 levels) in <top (required)>'7613 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'7614 # ./spec/spec_helper.rb:399:in `block (2 levels) in <top (required)>'7615 # ./spec/spec_helper.rb:395:in `block (3 levels) in <top (required)>'7616 # ./lib/gitlab/application_context.rb:31:in `with_raw_context'7617 # ./spec/spec_helper.rb:395:in `block (2 levels) in <top (required)>'7618 # ./spec/support/database/prevent_cross_joins.rb:102:in `block (3 levels) in <top (required)>'7619 # ./spec/support/database/prevent_cross_joins.rb:56:in `with_cross_joins_prevented'7620 # ./spec/support/database/prevent_cross_joins.rb:102:in `block (2 levels) in <top (required)>'7621Finished in 26 minutes 30 seconds (files took 48.81 seconds to load)76223324 examples, 0 failures, 4 pending7623Tue 26 Oct 2021 09:48:18 PM UTC7625Not uploading cache ruby-gems-v1-5 due to policy7626Not uploading cache gitaly-ruby-gems-v1-5 due to policy7628Uploading artifacts...7629coverage/: found 5 matching files and directories 7630WARNING: crystalball/: no matching files 7631deprecations/: found 13 matching files and directories 7632knapsack/: found 3 matching files and directories 7633rspec_flaky/: found 4 matching files and directories 7634rspec_profiling/: found 1 matching files and directories 7635WARNING: tmp/capybara/: no matching files 7636tmp/memory_test/: found 2 matching files and directories 7637log/*.log: found 19 matching files and directories 7638Uploading artifacts as "archive" to coordinator... ok id=1718320240 responseStatus=201 Created token=ukgij4oo7639Uploading artifacts...7640junit_rspec.xml: found 1 matching files and directories 7641Uploading artifacts as "junit" to coordinator... ok id=1718320240 responseStatus=201 Created token=ukgij4oo7643Job succeeded