rspec integration pg11 6/8
Passed Started
by
@lulalala

Mark Chao
1Running with gitlab-runner 13.3.1 (738bbe5a)2 on prm-com-gitlab-org bd0915564Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...5Starting service postgres:11.6 ...6Pulling docker image postgres:11.6 ...7Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 ...8Starting service redis:4.0-alpine ...9Pulling docker image redis:4.0-alpine ...10Using docker image sha256:e3dd0e49bca555d559ca2e97f06a1efa108ebd230fddcb17606723994f18ae3b for redis:4.0-alpine ...11Waiting for services to be up and running...12Authenticating with credentials from job payload (GitLab Registry)13Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...14Using docker image sha256:cd688957c9207f55272d81be6d4908692d78233833e3f09a9c0899b2f24eb3ff for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...16Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1598837453-562b0dc4...18$ eval "$CI_PRE_CLONE_SCRIPT"19Downloading archived master...20Connecting to storage.googleapis.com (172.217.204.128:443)21saving to '/tmp/gitlab.tar.gz'22gitlab.tar.gz 33% |********** | 339M 0:00:01 ETA23gitlab.tar.gz 72% |*********************** | 734M 0:00:00 ETA24gitlab.tar.gz 100% |********************************| 1007M 0:00:00 ETA25'/tmp/gitlab.tar.gz' saved26Extracting tarball into /builds/gitlab-org/gitlab...27Fetching changes with git depth set to 20...28Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30Checking out 7a9c83cd as master...31Skipping Git submodules setup33Checking cache for rails-v2-3...34Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/rails-v2-3 35Successfully extracted cache37Downloading artifacts for compile-test-assets (710807149)...38Downloading artifacts from coordinator... ok id=710807149 responseStatus=200 OK token=cMhXVmpy39Downloading artifacts for retrieve-tests-metadata (710807151)...40Downloading artifacts from coordinator... ok id=710807151 responseStatus=200 OK token=ySCBbL7Z41Downloading artifacts for setup-test-env (710807150)...42Downloading artifacts from coordinator... ok id=710807150 responseStatus=200 OK token=UGYkxRJB43WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 45$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb46$ export GOPATH=$CI_PROJECT_DIR/.go47$ mkdir -p $GOPATH48$ source scripts/utils.sh49$ source scripts/prepare_build.sh50Bundler version 1.17.251$ bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet52==> 'bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.53$ bundle check54Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.55The Gemfile's dependencies are satisfied56==> 'bundle check' succeeded in 0 seconds.57$ bundle pristine pg58Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.59Installing pg 1.2.2 with native extensions60==> 'bundle pristine pg' succeeded in 9 seconds.61$ gem install knapsack --no-document62Successfully installed knapsack-1.18.0631 gem installed64==> 'gem install knapsack --no-document' succeeded in 1 seconds.65$ setup_db_user_only66CREATE ROLE67GRANT68==> 'setup_db_user_only' succeeded in 0 seconds.69$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee70Dropped database 'gitlabhq_test'71Created database 'gitlabhq_test'72Dropped database 'gitlabhq_geo_test'73Created database 'gitlabhq_geo_test'74==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 25 seconds.75$ run_timed_command "scripts/gitaly-test-build"76$ scripts/gitaly-test-build77Settings are listed in order of priority. The top value will be used.78retry79Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 380path81Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"82jobs83Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 484app_config85Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"86gemfile87Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"88flags89Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"90silence_root_warning91Set via BUNDLE_SILENCE_ROOT_WARNING: true92go install -ldflags '-X gitlab.com/gitlab-org/gitaly/internal/version.version=13.3.0-rc5 -X gitlab.com/gitlab-org/gitaly/internal/version.buildtime=20200831.023544' -tags "tracer_static,tracer_static_jaeger,continuous_profiler_stackdriver" gitlab.com/gitlab-org/gitaly/cmd/praefect gitlab.com/gitlab-org/gitaly/cmd/gitaly-hooks gitlab.com/gitlab-org/gitaly/cmd/gitaly-blackbox gitlab.com/gitlab-org/gitaly/cmd/gitaly gitlab.com/gitlab-org/gitaly/cmd/gitaly-debug gitlab.com/gitlab-org/gitaly/cmd/gitaly-ssh gitlab.com/gitlab-org/gitaly/cmd/gitaly-wrapper93install /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/praefect /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-hooks /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-blackbox /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-debug /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-ssh /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-wrapper /builds/gitlab-org/gitlab/tmp/tests/gitaly94Checking gitaly-ruby Gemfile...95Checking gitaly-ruby bundle...96Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.97The Gemfile's dependencies are satisfied98Trying to connect to gitaly: ....... OK99Trying to connect to praefect: ...... OK100==> 'scripts/gitaly-test-build' succeeded in 40 seconds.101$ run_timed_command "scripts/gitaly-test-spawn"102$ scripts/gitaly-test-spawn103Checking gitaly-ruby Gemfile...104Checking gitaly-ruby bundle...105Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.106The Gemfile's dependencies are satisfied107Trying to connect to gitaly: ....... OK108Trying to connect to praefect: ....... OK109==> 'scripts/gitaly-test-spawn' succeeded in 2 seconds.110$ source scripts/rspec_helpers.sh111$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"112KNAPSACK_TEST_FILE_PATTERN: spec/{controllers,mailers,requests}{,/**/}*_spec.rb113Knapsack report generator started!114RSpec's reporter has already been initialized with #<IO:<STDERR>> as the deprecation stream, so your change to `deprecation_stream` will be ignored. You should configure it earlier for it to take effect, or use the `--deprecation-out` CLI option. (Called from /builds/gitlab-org/gitlab/spec/support/rspec.rb:12:in `block in <top (required)>')115Run options:116 include {:focus=>true}117 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}118All examples were filtered out; ignoring {:focus=>true}119==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...120 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.037576302 seconds...121Projects::IssuesController122 GET #index123 external issue tracker124 when GitLab issues disabled125 returns 404 status126 when GitLab issues enabled127 renders the "index" template128 when project has moved129 redirects to the new issue tracker from the old one130 redirects from an old issue correctly131 internal issue tracker132 returns index133 returns 301 if request path doesn't match project path134 returns 404 when issues are disabled135 behaves like issuables list meta-data136 creates indexed meta-data object for issuable notes and votes count137 avoids N+1 queries138 searching139 works when sorting by created_asc140 works when sorting by created_at_asc141 works when sorting by created_date142 works when sorting by created_desc143 works when sorting by created_at_desc144 works when sorting by id_asc145 works when sorting by id_desc146 works when sorting by updated_asc147 works when sorting by updated_at_asc148 works when sorting by updated_desc149 works when sorting by updated_at_desc150 works when sorting by closest_future_date151 works when sorting by closest_future_date_asc152 works when sorting by due_date153 works when sorting by due_date_asc154 works when sorting by due_date_desc155 works when sorting by relative_position156 works when sorting by relative_position_asc157 works when sorting by weight158 works when sorting by weight_asc159 works when sorting by weight_desc160 works when sorting by popularity161 works when sorting by priority162 works when sorting by label_priority163 when given empty collection164 doesn't execute any queries with false conditions165 behaves like set sort order from user preference166 #set_sort_order_from_user_preference167 when database is in read-only mode168 does not update user preference169 when database is not in read-only mode170 updates user preference171 behaves like paginated collection172 renders a page number that is not ouf of range173 redirects to last_page if page number is larger than number of pages174 does not redirect to external sites when provided a host field175 does not use pagination if disabled176 with relative_position sorting177 overrides the number allowed on the page178 allows the default number on the page179 external authorization180 behaves like unauthorized when external service denies access181 allows access when the authorization service allows it182 allows access when the authorization service denies it183 GET #new184 redirects to signin if not logged in185 internal issue tracker186 builds a new issue187 fills in an issue for a merge request188 fills in an issue for a discussion189 conf_value: true, conf_result: true190 sets the confidential flag to the expected value191 conf_value: "true", conf_result: true192 sets the confidential flag to the expected value193 conf_value: "TRUE", conf_result: true194 sets the confidential flag to the expected value195 conf_value: false, conf_result: false196 sets the confidential flag to the expected value197 conf_value: "false", conf_result: false198 sets the confidential flag to the expected value199 conf_value: "FALSE", conf_result: false200 sets the confidential flag to the expected value201 setting issue type202 is expected to eq "issue"203 incident issue204 is expected to eq "incident"205 external issue tracker206 when GitLab issues disabled207 returns 404 status208 when GitLab issues enabled209 renders the "new" template210 #related_branches211 the current user cannot download code212 prevents access213 there are no related branches214 assigns empty arrays215 there are related branches216 finds and assigns the appropriate branch information217 Redirect after sign in218 with an AJAX request219 does not store the visited URL220 without an AJAX request221 stores the visited URL222 POST #move223 when moving issue to another private project224 when user has access to move issue225 moves issue to another project226 when user does not have access to move issue227 responds with 404228 PUT #reorder229 when user has access230 with valid params231 reorders issues and returns a successful 200 response232 with invalid params233 returns a unprocessable entity 422 response for invalid move ids234 returns a not found 404 response for invalid issue id235 returns a unprocessable entity 422 response for issues not in group236 with unauthorized user237 responds with 404238 PUT #update239 when user has access to update issue240 updates the issue241 when the SpamVerdictService disallows242 when allow_possible_spam feature flag is false243 renders json with recaptcha_html244 when allow_possible_spam feature flag is true245 updates the issue246 when user does not have access to update issue247 responds with 404248 GET #realtime_changes249 when an issue was edited250 returns last edited time251 when an issue was edited by a deleted user252 returns 200253 when getting the changes254 returns the necessary data255 Confidential Issues256 GET #index257 does not list confidential issues for guests258 does not list confidential issues for non project members259 does not list confidential issues for project members with guest role260 lists confidential issues for author261 lists confidential issues for assignee262 lists confidential issues for project members263 when admin mode is enabled264 lists confidential issues for admin265 when admin mode is disabled266 does not list confidential issues for admin267 PUT #update268 behaves like restricted action269 returns 404 for guests270 returns 404 for non project members271 returns 404 for project members with guest role272 returns 200 for author273 returns 200 for assignee274 returns 200 for project members275 when admin mode is enabled276 returns 200 for admin277 when admin mode is disabled278 returns 404 for admin (PENDING: Temporarily skipped with xit)279 behaves like update invalid issuable280 when updating causes conflicts281 renders edit when format is html282 renders json error message when format is json283 when updating an invalid issuable284 renders edit when merge request is invalid285 changing the assignee286 limits the attributes exposed on the assignee287 Recaptcha is enabled288 when SpamVerdictService allows the issue289 normally updates the issue290 when an issue is identified as spam291 when recaptcha is not verified292 when allow_possible_spam feature flag is false293 rejects an issue recognized as spam294 rejects an issue recognized as a spam when reCAPTCHA disabled295 creates a spam log296 renders properly297 renders recaptcha_html json response298 when allow_possible_spam feature flag is true299 updates the issue recognized as spam300 creates a spam log301 returns 200 status302 when recaptcha is verified303 returns 200 status304 accepts an issue after reCAPTCHA is verified305 marks spam log as recaptcha_verified306 does not mark spam log as recaptcha_verified when it does not belong to current_user307 GET #show308 avoids (most) N+1s loading labels309 behaves like restricted action310 returns 404 for guests311 returns 404 for non project members312 returns 404 for project members with guest role313 returns 200 for author314 returns 200 for assignee315 returns 200 for project members316 when admin mode is enabled317 returns 200 for admin318 when admin mode is disabled319 returns 404 for admin (PENDING: Temporarily skipped with xit)320 real-time sidebar feature flag321 action_cable_in_app_enabled: true, feature_flag_enabled: true, gon_feature_flag: true322 broadcasts to the issues channel based on ActionCable and feature flag values323 action_cable_in_app_enabled: true, feature_flag_enabled: false, gon_feature_flag: true324 broadcasts to the issues channel based on ActionCable and feature flag values325 action_cable_in_app_enabled: false, feature_flag_enabled: true, gon_feature_flag: true326 broadcasts to the issues channel based on ActionCable and feature flag values327 action_cable_in_app_enabled: false, feature_flag_enabled: false, gon_feature_flag: false328 broadcasts to the issues channel based on ActionCable and feature flag values329 GET #realtime_changes330 behaves like restricted action331 returns 404 for guests332 returns 404 for non project members333 returns 404 for project members with guest role334 returns 200 for author335 returns 200 for assignee336 returns 200 for project members337 when admin mode is enabled338 returns 200 for admin339 when admin mode is disabled340 returns 404 for admin (PENDING: Temporarily skipped with xit)341 GET #edit342 behaves like restricted action343 returns 404 for guests344 returns 404 for non project members345 returns 404 for project members with guest role346 returns 200 for author347 returns 200 for assignee348 returns 200 for project members349 when admin mode is enabled350 returns 200 for admin351 when admin mode is disabled352 returns 404 for admin (PENDING: Temporarily skipped with xit)353 PUT #update354 behaves like restricted action355 returns 404 for guests356 returns 404 for non project members357 returns 404 for project members with guest role358 returns 302 for author359 returns 302 for assignee360 returns 302 for project members361 when admin mode is enabled362 returns 302 for admin363 when admin mode is disabled364 returns 404 for admin (PENDING: Temporarily skipped with xit)365 POST #create366 creates the issue successfully367 resolving discussions in MergeRequest368 creates an issue for the project369 doesn't overwrite given params370 resolves the discussion in the merge_request371 sets a flash message372 resolving a single discussion373 resolves a single discussion374 sets a flash message that one discussion was resolved375 Recaptcha is enabled376 when SpamVerdictService allows the issue377 creates an issue378 when SpamVerdictService requires recaptcha379 when captcha is not verified380 when allow_possible_spam feature flag is false381 rejects an issue recognized as spam382 creates a spam log383 does not create an issue when it is not valid384 does not create an issue when reCAPTCHA is not enabled385 when allow_possible_spam feature flag is true386 creates an issue recognized as spam387 creates a spam log388 does not create an issue when it is not valid389 when Recaptcha is verified390 accepts an issue after reCAPTCHA is verified391 marks spam log as recaptcha_verified392 does not mark spam log as recaptcha_verified when it does not belong to current_user393 user agent details are saved394 creates a user agent detail395 when description has quick actions396 can add spent time397 can set the time estimate398 when created from sentry error399 creates an issue400 creates a sentry issue401 when the endpoint receives requests above the limit402 prevents from creating more issues403 logs the event on auth.log404 setting issue type405 is expected to eq "issue"406 incident issue407 is expected to eq "incident"408 POST #mark_as_spam409 properly submits to Akismet410 updates issue411 DELETE #destroy412 when the user is a developer413 does not delete the issue, returning :not_found414 when the user is owner415 deletes the issue416 prevents deletion if destroy_confirm is not set417 prevents deletion in JSON format if destroy_confirm is not set418 delegates the update of the todos count cache to TodoService419 POST #toggle_award_emoji420 toggles the award emoji421 removes the already awarded emoji422 marks Todos on the Issue as done423 POST create_merge_request424 creates a new merge request425 render merge request as json426 is not available when the project is archived427 is not available for users who cannot create merge requests428 invalid branch name429 is unprocessable430 target_project_id is set431 creates a new merge request432 POST #import_csv433 unauthorized434 returns 404 for guests435 returns 404 for project members with reporter role436 authorized437 returns 302 for project members with developer role438 shows error when upload fails439 POST export_csv440 when logged in441 allows CSV export442 when not logged in443 redirects to the sign in page444 GET service_desk445 adds an author filter for the support bot user446 does not allow any other author to be set447 supports other filters448 allows an assignee to be specified by id449 GET #discussions450 when authenticated451 returns discussion json452 renders the author status html if there is a status453 does not cause an extra query for the status455 behaves like discussions provider456 returns the expected discussions457 when user is setting notes filters458 behaves like issuable notes filter459 sets discussion filter460 expires notes e-tag cache for issuable if filter changed461 does not expires notes e-tag cache for issuable if filter did not change462 does not set notes filter when database is in read only mode463 does not set notes filter when persist_filter param is false464 returns only user comments465 returns only activity notes466 when filter is set to "only_comments"467 does not merge label event notes468 with cross-reference system note469 filters notes that the user should not see470 does not result in N+1 queries471 private project472 user is allowed access473 displays all available notes474 user is a guest475 does not display notes w/type listed in TYPES_RESTRICTED_BY_ACCESS_LEVEL476 GET #designs477 when project has moved478 redirects from an old issue/designs correctly479 private project with token authentication480 behaves like authenticates sessionless user481 doesn't log the user in otherwise482 when the 'personal_access_token' param is populated with the personal access token483 logs the user in484 when the personal access token has no api scope485 does not log the user in486 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token487 logs the user in488 behaves like authenticates sessionless user489 doesn't log the user in otherwise490 when the 'personal_access_token' param is populated with the personal access token491 logs the user in492 when the personal access token has no api scope493 does not log the user in494 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token495 logs the user in496 public project with token authentication497 behaves like authenticates sessionless user498 when the 'personal_access_token' param is populated with the personal access token499 logs the user in500 does not log the user in if page is public501 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token502 logs the user in503 behaves like authenticates sessionless user504 when the 'personal_access_token' param is populated with the personal access token505 logs the user in506 does not log the user in if page is public507 when the 'PERSONAL_ACCESS_TOKEN' header is populated with the personal access token508 logs the user in509Projects::JobsController510 GET index511 when scope is pending512 has only pending builds513 when scope is running514 has only running jobs515 when scope is finished516 has only finished jobs517 when page is specified518 when page number is eligible519 redirects to the page520 number of queries521 verifies number of queries522 GET show523 when requesting HTML524 when job exists525 has a job526 has the correct build collection527 when job does not exist528 renders not_found529 when requesting JSON530 does not serialize builds in exposed stages531 exposes the stage the job belongs to532 when job failed533 exposes needed information534 when job is running535 job is cancelable536 cancel_path is present with correct redirect537 with web terminal538 exposes the terminal path539 when job has artifacts540 with not expiry date541 exposes needed information542 with expiry date543 exposes needed information544 when job passed with no trace545 exposes empty state illustrations546 with no deployment547 does not exposes the deployment information548 with deployment549 exposes the deployment information550 when user can edit runner551 that belongs to the project552 user can edit runner553 that belongs to group554 user can not edit runner555 that belongs to instance556 user can not edit runner557 when no runners are available558 exposes needed information559 when no runner is online560 exposes needed information561 settings_path562 when user is developer563 settings_path is not available564 when user is maintainer565 when admin mode is disabled566 settings_path is not available567 when admin mode is enabled568 settings_path is available569 when no trace is available570 has_trace is false571 when job has trace572 has_trace is true573 when requesting triggered job JSON574 with no variables575 exposes trigger information576 with variables577 user is a maintainer578 returns a job_detail579 exposes trigger information and variables580 exposes correct variable properties581 user is not a mantainer582 returns a job_detail583 exposes trigger information and variables584 exposes correct variable properties585 GET trace.json586 when job has a trace artifact587 returns a trace588 when job has a trace589 returns a trace590 sets being-watched flag for the job591 when job has no traces592 returns no traces593 when job has a trace with ANSI sequence and Unicode594 returns a trace with Unicode595 when trace artifact is in ObjectStorage596 when there are no network issues597 returns a trace598 when there is a network issue599 returns a trace600 GET status.json601 return a detailed job status in json602 POST retry603 when job is retryable604 redirects to the retried job page605 when job is not retryable606 renders unprocessable_entity607 POST play608 when job is playable609 redirects to the played job page610 transits to pending611 when job variables are specified612 assigns the job variables613 when job is not playable614 renders unprocessable_entity615 POST cancel616 when continue url is present617 when continue to is a safe url618 redirects to the continue url619 transits to canceled620 when continue to is not a safe url621WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<NoMethodError: undefined method `cancel_with_redirect' for #<RSpec::ExampleGroups::ProjectsJobsCont...resent::WhenContinueToIsNotASafeUrl:0x00005583c9430920>622Did you mean? cancel_project_pipeline_path>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/controllers/projects/jobs_controller_spec.rb:788:in `block (5 levels) in <top (required)>'.623 raises an error624 when continue url is not present625 when job is cancelable626 redirects to the builds page627 transits to canceled628 when job is not cancelable629 returns unprocessable_entity630 POST unschedule631 when job is scheduled632 redirects to the unscheduled job page633 transits to manual634 when job is not scheduled635 renders unprocessable_entity636 POST erase637 when job is erasable638 redirects to the erased job page639 erases artifacts640 erases trace641 when job is not erasable642 returns unprocessable_entity643 when user is developer644 when triggered by same user645 has successful status646 when triggered by different user647 does not have successful status648 GET raw649 when job has a trace artifact650 sets Gitlab-Workhorse-Detect-Content-Type header651 when job has a trace file652 sends a trace file653 when job has a trace in database654 sends a trace file655 when trace format is not text/plain656 sets content disposition to attachment657 when job does not have a trace file658 returns not_found659 when the trace artifact is in ObjectStorage660 redirect to the trace file url661 GET #terminal662 when job exists663 and it has a terminal664 has a job665 and does not have a terminal666 returns not_found667 when job does not exist668 renders not_found669 GET #terminal_websocket_authorize670 with valid workhorse signature671 and valid id672 returns the terminal for the job673 and invalid id674 returns 404675 with invalid workhorse signature676 aborts with an exception677 GET #proxy_websocket_authorize678 converts the url scheme into wss679 access rights680 with admin681 when admin mode is enabled682 returns 200683 when admin mode is disabled684 returns 404685 with owner686 returns 200687 with maintainer688 returns 200689 with developer690 returns 404691 with reporter692 returns 404693 with guest694 returns 404695 with non member696 returns 404697 when pipeline is not from a webide source698 with admin699 returns 404700 when workhorse signature is valid701 and the id is valid702 returns the proxy data for the service running in the job703 and the id is invalid704 returns 404705 with invalid workhorse signature706 aborts with an exception707 when feature flag :build_service_proxy is disabled708 returns 404709getting merge request listings nested in a project710 behaves like a working graphql query711 returns a successful response712 requesting a single field713 selecting any single scalar field714 field: "id"715 behaves like a working graphql query716 returns a successful response717 selects the correct MR718 field: "iid"719 behaves like a working graphql query720 returns a successful response721 selects the correct MR722 field: "title"723 behaves like a working graphql query724 returns a successful response725 selects the correct MR726 field: "titleHtml"727 behaves like a working graphql query728 returns a successful response729 selects the correct MR730 field: "description"731 behaves like a working graphql query732 returns a successful response733 selects the correct MR734 field: "descriptionHtml"735 behaves like a working graphql query736 returns a successful response737 selects the correct MR738 field: "state"739 behaves like a working graphql query740 returns a successful response741 selects the correct MR742 field: "createdAt"743 behaves like a working graphql query744 returns a successful response745 selects the correct MR746 field: "updatedAt"747 behaves like a working graphql query748 returns a successful response749 selects the correct MR750 field: "mergedAt"751 behaves like a working graphql query752 returns a successful response753 selects the correct MR754 field: "projectId"755 behaves like a working graphql query756 returns a successful response757 selects the correct MR758 field: "sourceProjectId"759 behaves like a working graphql query760 returns a successful response761 selects the correct MR762 field: "targetProjectId"763 behaves like a working graphql query764 returns a successful response765 selects the correct MR766 field: "sourceBranch"767 behaves like a working graphql query768 returns a successful response769 selects the correct MR770 field: "targetBranch"771 behaves like a working graphql query772 returns a successful response773 selects the correct MR774 field: "workInProgress"775 behaves like a working graphql query776 returns a successful response777 selects the correct MR778 field: "mergeWhenPipelineSucceeds"779 behaves like a working graphql query780 returns a successful response781 selects the correct MR782 field: "diffHeadSha"783 behaves like a working graphql query784 returns a successful response785 selects the correct MR786 field: "mergeCommitSha"787 behaves like a working graphql query788 returns a successful response789 selects the correct MR790 field: "userNotesCount"791 behaves like a working graphql query792 returns a successful response793 selects the correct MR794 field: "shouldRemoveSourceBranch"795 behaves like a working graphql query796 returns a successful response797 selects the correct MR798 field: "forceRemoveSourceBranch"799 behaves like a working graphql query800 returns a successful response801 selects the correct MR802 field: "mergeStatus"803 behaves like a working graphql query804 returns a successful response805 selects the correct MR806 field: "inProgressMergeCommitSha"807 behaves like a working graphql query808 returns a successful response809 selects the correct MR810 field: "mergeError"811 behaves like a working graphql query812 returns a successful response813 selects the correct MR814 field: "allowCollaboration"815 behaves like a working graphql query816 returns a successful response817 selects the correct MR818 field: "shouldBeRebased"819 behaves like a working graphql query820 returns a successful response821 selects the correct MR822 field: "rebaseCommitSha"823 behaves like a working graphql query824 returns a successful response825 selects the correct MR826 field: "rebaseInProgress"827 behaves like a working graphql query828 returns a successful response829 selects the correct MR830 field: "mergeCommitMessage"831 behaves like a working graphql query832 returns a successful response833 selects the correct MR834 field: "defaultMergeCommitMessage"835 behaves like a working graphql query836 returns a successful response837 selects the correct MR838 field: "mergeOngoing"839 behaves like a working graphql query840 returns a successful response841 selects the correct MR842 field: "sourceBranchExists"843 behaves like a working graphql query844 returns a successful response845 selects the correct MR846 field: "targetBranchExists"847 behaves like a working graphql query848 returns a successful response849 selects the correct MR850 field: "mergeableDiscussionsState"851 behaves like a working graphql query852 returns a successful response853 selects the correct MR854 field: "webUrl"855 behaves like a working graphql query856 returns a successful response857 selects the correct MR858 field: "upvotes"859 behaves like a working graphql query860 returns a successful response861 selects the correct MR862 field: "downvotes"863 behaves like a working graphql query864 returns a successful response865 selects the correct MR866 field: "subscribed"867 behaves like a working graphql query868 returns a successful response869 selects the correct MR870 field: "discussionLocked"871 behaves like a working graphql query872 returns a successful response873 selects the correct MR874 field: "timeEstimate"875 behaves like a working graphql query876 returns a successful response877 selects the correct MR878 field: "totalTimeSpent"879 behaves like a working graphql query880 returns a successful response881 selects the correct MR882 field: "reference"883 behaves like a working graphql query884 returns a successful response885 selects the correct MR886 field: "commitCount"887 behaves like a working graphql query888 returns a successful response889 selects the correct MR890 selecting any single nested field891 field: "notes", subfield: "resolved", is_connection: true892 behaves like a working graphql query893 returns a successful response894 selects the correct MR895 field: "notes", subfield: "resolvable", is_connection: true896 behaves like a working graphql query897 returns a successful response898 selects the correct MR899 field: "notes", subfield: "resolvedAt", is_connection: true900 behaves like a working graphql query901 returns a successful response902 selects the correct MR903 field: "notes", subfield: "id", is_connection: true904 behaves like a working graphql query905 returns a successful response906 selects the correct MR907 field: "notes", subfield: "system", is_connection: true908 behaves like a working graphql query909 returns a successful response910 selects the correct MR911 field: "notes", subfield: "systemNoteIconName", is_connection: true912 behaves like a working graphql query913 returns a successful response914 selects the correct MR915 field: "notes", subfield: "body", is_connection: true916 behaves like a working graphql query917 returns a successful response918 selects the correct MR919 field: "notes", subfield: "bodyHtml", is_connection: true920 behaves like a working graphql query921 returns a successful response922 selects the correct MR923 field: "notes", subfield: "createdAt", is_connection: true924 behaves like a working graphql query925 returns a successful response926 selects the correct MR927 field: "notes", subfield: "updatedAt", is_connection: true928 behaves like a working graphql query929 returns a successful response930 selects the correct MR931 field: "notes", subfield: "confidential", is_connection: true932 behaves like a working graphql query933 returns a successful response934 selects the correct MR935 field: "discussions", subfield: "resolved", is_connection: true936 behaves like a working graphql query937 returns a successful response938 selects the correct MR939 field: "discussions", subfield: "resolvable", is_connection: true940 behaves like a working graphql query941 returns a successful response942 selects the correct MR943 field: "discussions", subfield: "resolvedAt", is_connection: true944 behaves like a working graphql query945 returns a successful response946 selects the correct MR947 field: "discussions", subfield: "id", is_connection: true948 behaves like a working graphql query949 returns a successful response950 selects the correct MR951 field: "discussions", subfield: "replyId", is_connection: true952 behaves like a working graphql query953 returns a successful response954 selects the correct MR955 field: "discussions", subfield: "createdAt", is_connection: true956 behaves like a working graphql query957 returns a successful response958 selects the correct MR959 field: "userPermissions", subfield: "readMergeRequest", is_connection: false960 behaves like a working graphql query961 returns a successful response962 selects the correct MR963 field: "userPermissions", subfield: "adminMergeRequest", is_connection: false964 behaves like a working graphql query965 returns a successful response966 selects the correct MR967 field: "userPermissions", subfield: "updateMergeRequest", is_connection: false968 behaves like a working graphql query969 returns a successful response970 selects the correct MR971 field: "userPermissions", subfield: "createNote", is_connection: false972 behaves like a working graphql query973 returns a successful response974 selects the correct MR975 field: "userPermissions", subfield: "pushToSourceBranch", is_connection: false976 behaves like a working graphql query977 returns a successful response978 selects the correct MR979 field: "userPermissions", subfield: "removeSourceBranch", is_connection: false980 behaves like a working graphql query981 returns a successful response982 selects the correct MR983 field: "userPermissions", subfield: "cherryPickOnCurrentMergeRequest", is_connection: false984 behaves like a working graphql query985 returns a successful response986 selects the correct MR987 field: "userPermissions", subfield: "revertOnCurrentMergeRequest", is_connection: false988 behaves like a working graphql query989 returns a successful response990 selects the correct MR991 field: "sourceProject", subfield: "id", is_connection: false992 behaves like a working graphql query993 returns a successful response994 selects the correct MR995 field: "sourceProject", subfield: "fullPath", is_connection: false996 behaves like a working graphql query997 returns a successful response998 selects the correct MR999 field: "sourceProject", subfield: "path", is_connection: false1000 behaves like a working graphql query1001 returns a successful response1002 selects the correct MR1003 field: "sourceProject", subfield: "nameWithNamespace", is_connection: false1004 behaves like a working graphql query1005 returns a successful response1006 selects the correct MR1007 field: "sourceProject", subfield: "name", is_connection: false1008 behaves like a working graphql query1009 returns a successful response1010 selects the correct MR1011 field: "sourceProject", subfield: "description", is_connection: false1012 behaves like a working graphql query1013 returns a successful response1014 selects the correct MR1015 field: "sourceProject", subfield: "descriptionHtml", is_connection: false1016 behaves like a working graphql query1017 returns a successful response1018 selects the correct MR1019 field: "sourceProject", subfield: "tagList", is_connection: false1020 behaves like a working graphql query1021 returns a successful response1022 selects the correct MR1023 field: "sourceProject", subfield: "sshUrlToRepo", is_connection: false1024 behaves like a working graphql query1025 returns a successful response1026 selects the correct MR1027 field: "sourceProject", subfield: "httpUrlToRepo", is_connection: false1028 behaves like a working graphql query1029 returns a successful response1030 selects the correct MR1031 field: "sourceProject", subfield: "webUrl", is_connection: false1032 behaves like a working graphql query1033 returns a successful response1034 selects the correct MR1035 field: "sourceProject", subfield: "starCount", is_connection: false1036 behaves like a working graphql query1037 returns a successful response1038 selects the correct MR1039 field: "sourceProject", subfield: "forksCount", is_connection: false1040 behaves like a working graphql query1041 returns a successful response1042 selects the correct MR1043 field: "sourceProject", subfield: "createdAt", is_connection: false1044 behaves like a working graphql query1045 returns a successful response1046 selects the correct MR1047 field: "sourceProject", subfield: "lastActivityAt", is_connection: false1048 behaves like a working graphql query1049 returns a successful response1050 selects the correct MR1051 field: "sourceProject", subfield: "archived", is_connection: false1052 behaves like a working graphql query1053 returns a successful response1054 selects the correct MR1055 field: "sourceProject", subfield: "visibility", is_connection: false1056 behaves like a working graphql query1057 returns a successful response1058 selects the correct MR1059 field: "sourceProject", subfield: "containerRegistryEnabled", is_connection: false1060 behaves like a working graphql query1061 returns a successful response1062 selects the correct MR1063 field: "sourceProject", subfield: "sharedRunnersEnabled", is_connection: false1064 behaves like a working graphql query1065 returns a successful response1066 selects the correct MR1067 field: "sourceProject", subfield: "lfsEnabled", is_connection: false1068 behaves like a working graphql query1069 returns a successful response1070 selects the correct MR1071 field: "sourceProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1072 behaves like a working graphql query1073 returns a successful response1074 selects the correct MR1075 field: "sourceProject", subfield: "serviceDeskEnabled", is_connection: false1076 behaves like a working graphql query1077 returns a successful response1078 selects the correct MR1079 field: "sourceProject", subfield: "serviceDeskAddress", is_connection: false1080 behaves like a working graphql query1081 returns a successful response1082 selects the correct MR1083 field: "sourceProject", subfield: "avatarUrl", is_connection: false1084 behaves like a working graphql query1085 returns a successful response1086 selects the correct MR1087 field: "sourceProject", subfield: "issuesEnabled", is_connection: false1088 behaves like a working graphql query1089 returns a successful response1090 selects the correct MR1091 field: "sourceProject", subfield: "mergeRequestsEnabled", is_connection: false1092 behaves like a working graphql query1093 returns a successful response1094 selects the correct MR1095 field: "sourceProject", subfield: "wikiEnabled", is_connection: false1096 behaves like a working graphql query1097 returns a successful response1098 selects the correct MR1099 field: "sourceProject", subfield: "snippetsEnabled", is_connection: false1100 behaves like a working graphql query1101 returns a successful response1102 selects the correct MR1103 field: "sourceProject", subfield: "jobsEnabled", is_connection: false1104 behaves like a working graphql query1105 returns a successful response1106 selects the correct MR1107 field: "sourceProject", subfield: "publicJobs", is_connection: false1108 behaves like a working graphql query1109 returns a successful response1110 selects the correct MR1111 field: "sourceProject", subfield: "openIssuesCount", is_connection: false1112 behaves like a working graphql query1113 returns a successful response1114 selects the correct MR1115 field: "sourceProject", subfield: "importStatus", is_connection: false1116 behaves like a working graphql query1117 returns a successful response1118 selects the correct MR1119 field: "sourceProject", subfield: "jiraImportStatus", is_connection: false1120 behaves like a working graphql query1121 returns a successful response1122 selects the correct MR1123 field: "sourceProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1124 behaves like a working graphql query1125 returns a successful response1126 selects the correct MR1127 field: "sourceProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false1128 behaves like a working graphql query1129 returns a successful response1130 selects the correct MR1131 field: "sourceProject", subfield: "requestAccessEnabled", is_connection: false1132 behaves like a working graphql query1133 returns a successful response1134 selects the correct MR1135 field: "sourceProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1136 behaves like a working graphql query1137 returns a successful response1138 selects the correct MR1139 field: "sourceProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false1140 behaves like a working graphql query1141 returns a successful response1142 selects the correct MR1143 field: "sourceProject", subfield: "removeSourceBranchAfterMerge", is_connection: false1144 behaves like a working graphql query1145 returns a successful response1146 selects the correct MR1147 field: "sourceProject", subfield: "autocloseReferencedIssues", is_connection: false1148 behaves like a working graphql query1149 returns a successful response1150 selects the correct MR1151 field: "sourceProject", subfield: "suggestionCommitMessage", is_connection: false1152 behaves like a working graphql query1153 returns a successful response1154 selects the correct MR1155 field: "sourceProject", subfield: "securityDashboardPath", is_connection: false1156 behaves like a working graphql query1157 returns a successful response1158 selects the correct MR1159 field: "targetProject", subfield: "id", is_connection: false1160 behaves like a working graphql query1161 returns a successful response1162 selects the correct MR1163 field: "targetProject", subfield: "fullPath", is_connection: false1164 behaves like a working graphql query1165 returns a successful response1166 selects the correct MR1167 field: "targetProject", subfield: "path", is_connection: false1168 behaves like a working graphql query1169 returns a successful response1170 selects the correct MR1171 field: "targetProject", subfield: "nameWithNamespace", is_connection: false1172 behaves like a working graphql query1173 returns a successful response1174 selects the correct MR1175 field: "targetProject", subfield: "name", is_connection: false1176 behaves like a working graphql query1177 returns a successful response1178 selects the correct MR1179 field: "targetProject", subfield: "description", is_connection: false1180 behaves like a working graphql query1181 returns a successful response1182 selects the correct MR1183 field: "targetProject", subfield: "descriptionHtml", is_connection: false1184 behaves like a working graphql query1185 returns a successful response1186 selects the correct MR1187 field: "targetProject", subfield: "tagList", is_connection: false1188 behaves like a working graphql query1189 returns a successful response1190 selects the correct MR1191 field: "targetProject", subfield: "sshUrlToRepo", is_connection: false1192 behaves like a working graphql query1193 returns a successful response1194 selects the correct MR1195 field: "targetProject", subfield: "httpUrlToRepo", is_connection: false1196 behaves like a working graphql query1197 returns a successful response1198 selects the correct MR1199 field: "targetProject", subfield: "webUrl", is_connection: false1200 behaves like a working graphql query1201 returns a successful response1202 selects the correct MR1203 field: "targetProject", subfield: "starCount", is_connection: false1204 behaves like a working graphql query1205 returns a successful response1206 selects the correct MR1207 field: "targetProject", subfield: "forksCount", is_connection: false1208 behaves like a working graphql query1209 returns a successful response1210 selects the correct MR1211 field: "targetProject", subfield: "createdAt", is_connection: false1212 behaves like a working graphql query1213 returns a successful response1214 selects the correct MR1215 field: "targetProject", subfield: "lastActivityAt", is_connection: false1216 behaves like a working graphql query1217 returns a successful response1218 selects the correct MR1219 field: "targetProject", subfield: "archived", is_connection: false1220 behaves like a working graphql query1221 returns a successful response1222 selects the correct MR1223 field: "targetProject", subfield: "visibility", is_connection: false1224 behaves like a working graphql query1225 returns a successful response1226 selects the correct MR1227 field: "targetProject", subfield: "containerRegistryEnabled", is_connection: false1228 behaves like a working graphql query1229 returns a successful response1230 selects the correct MR1231 field: "targetProject", subfield: "sharedRunnersEnabled", is_connection: false1232 behaves like a working graphql query1233 returns a successful response1234 selects the correct MR1235 field: "targetProject", subfield: "lfsEnabled", is_connection: false1236 behaves like a working graphql query1237 returns a successful response1238 selects the correct MR1239 field: "targetProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1240 behaves like a working graphql query1241 returns a successful response1242 selects the correct MR1243 field: "targetProject", subfield: "serviceDeskEnabled", is_connection: false1244 behaves like a working graphql query1245 returns a successful response1246 selects the correct MR1247 field: "targetProject", subfield: "serviceDeskAddress", is_connection: false1248 behaves like a working graphql query1249 returns a successful response1250 selects the correct MR1251 field: "targetProject", subfield: "avatarUrl", is_connection: false1252 behaves like a working graphql query1253 returns a successful response1254 selects the correct MR1255 field: "targetProject", subfield: "issuesEnabled", is_connection: false1256 behaves like a working graphql query1257 returns a successful response1258 selects the correct MR1259 field: "targetProject", subfield: "mergeRequestsEnabled", is_connection: false1260 behaves like a working graphql query1261 returns a successful response1262 selects the correct MR1263 field: "targetProject", subfield: "wikiEnabled", is_connection: false1264 behaves like a working graphql query1265 returns a successful response1266 selects the correct MR1267 field: "targetProject", subfield: "snippetsEnabled", is_connection: false1268 behaves like a working graphql query1269 returns a successful response1270 selects the correct MR1271 field: "targetProject", subfield: "jobsEnabled", is_connection: false1272 behaves like a working graphql query1273 returns a successful response1274 selects the correct MR1275 field: "targetProject", subfield: "publicJobs", is_connection: false1276 behaves like a working graphql query1277 returns a successful response1278 selects the correct MR1279 field: "targetProject", subfield: "openIssuesCount", is_connection: false1280 behaves like a working graphql query1281 returns a successful response1282 selects the correct MR1283 field: "targetProject", subfield: "importStatus", is_connection: false1284 behaves like a working graphql query1285 returns a successful response1286 selects the correct MR1287 field: "targetProject", subfield: "jiraImportStatus", is_connection: false1288 behaves like a working graphql query1289 returns a successful response1290 selects the correct MR1291 field: "targetProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1292 behaves like a working graphql query1293 returns a successful response1294 selects the correct MR1295 field: "targetProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false1296 behaves like a working graphql query1297 returns a successful response1298 selects the correct MR1299 field: "targetProject", subfield: "requestAccessEnabled", is_connection: false1300 behaves like a working graphql query1301 returns a successful response1302 selects the correct MR1303 field: "targetProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1304 behaves like a working graphql query1305 returns a successful response1306 selects the correct MR1307 field: "targetProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false1308 behaves like a working graphql query1309 returns a successful response1310 selects the correct MR1311 field: "targetProject", subfield: "removeSourceBranchAfterMerge", is_connection: false1312 behaves like a working graphql query1313 returns a successful response1314 selects the correct MR1315 field: "targetProject", subfield: "autocloseReferencedIssues", is_connection: false1316 behaves like a working graphql query1317 returns a successful response1318 selects the correct MR1319 field: "targetProject", subfield: "suggestionCommitMessage", is_connection: false1320 behaves like a working graphql query1321 returns a successful response1322 selects the correct MR1323 field: "targetProject", subfield: "securityDashboardPath", is_connection: false1324 behaves like a working graphql query1325 returns a successful response1326 selects the correct MR1327 field: "diffRefs", subfield: "headSha", is_connection: false1328 behaves like a working graphql query1329 returns a successful response1330 selects the correct MR1331 field: "diffRefs", subfield: "baseSha", is_connection: false1332 behaves like a working graphql query1333 returns a successful response1334 selects the correct MR1335 field: "diffRefs", subfield: "startSha", is_connection: false1336 behaves like a working graphql query1337 returns a successful response1338 selects the correct MR1339 field: "project", subfield: "id", is_connection: false1340 behaves like a working graphql query1341 returns a successful response1342 selects the correct MR1343 field: "project", subfield: "fullPath", is_connection: false1344 behaves like a working graphql query1345 returns a successful response1346 selects the correct MR1347 field: "project", subfield: "path", is_connection: false1348 behaves like a working graphql query1349 returns a successful response1350 selects the correct MR1351 field: "project", subfield: "nameWithNamespace", is_connection: false1352 behaves like a working graphql query1353 returns a successful response1354 selects the correct MR1355 field: "project", subfield: "name", is_connection: false1356 behaves like a working graphql query1357 returns a successful response1358 selects the correct MR1359 field: "project", subfield: "description", is_connection: false1360 behaves like a working graphql query1361 returns a successful response1362 selects the correct MR1363 field: "project", subfield: "descriptionHtml", is_connection: false1364 behaves like a working graphql query1365 returns a successful response1366 selects the correct MR1367 field: "project", subfield: "tagList", is_connection: false1368 behaves like a working graphql query1369 returns a successful response1370 selects the correct MR1371 field: "project", subfield: "sshUrlToRepo", is_connection: false1372 behaves like a working graphql query1373 returns a successful response1374 selects the correct MR1375 field: "project", subfield: "httpUrlToRepo", is_connection: false1376 behaves like a working graphql query1377 returns a successful response1378 selects the correct MR1379 field: "project", subfield: "webUrl", is_connection: false1380 behaves like a working graphql query1381 returns a successful response1382 selects the correct MR1383 field: "project", subfield: "starCount", is_connection: false1384 behaves like a working graphql query1385 returns a successful response1386 selects the correct MR1387 field: "project", subfield: "forksCount", is_connection: false1388 behaves like a working graphql query1389 returns a successful response1390 selects the correct MR1391 field: "project", subfield: "createdAt", is_connection: false1392 behaves like a working graphql query1393 returns a successful response1394 selects the correct MR1395 field: "project", subfield: "lastActivityAt", is_connection: false1396 behaves like a working graphql query1397 returns a successful response1398 selects the correct MR1399 field: "project", subfield: "archived", is_connection: false1400 behaves like a working graphql query1401 returns a successful response1402 selects the correct MR1403 field: "project", subfield: "visibility", is_connection: false1404 behaves like a working graphql query1405 returns a successful response1406 selects the correct MR1407 field: "project", subfield: "containerRegistryEnabled", is_connection: false1408 behaves like a working graphql query1409 returns a successful response1410 selects the correct MR1411 field: "project", subfield: "sharedRunnersEnabled", is_connection: false1412 behaves like a working graphql query1413 returns a successful response1414 selects the correct MR1415 field: "project", subfield: "lfsEnabled", is_connection: false1416 behaves like a working graphql query1417 returns a successful response1418 selects the correct MR1419 field: "project", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1420 behaves like a working graphql query1421 returns a successful response1422 selects the correct MR1423 field: "project", subfield: "serviceDeskEnabled", is_connection: false1424 behaves like a working graphql query1425 returns a successful response1426 selects the correct MR1427 field: "project", subfield: "serviceDeskAddress", is_connection: false1428 behaves like a working graphql query1429 returns a successful response1430 selects the correct MR1431 field: "project", subfield: "avatarUrl", is_connection: false1432 behaves like a working graphql query1433 returns a successful response1434 selects the correct MR1435 field: "project", subfield: "issuesEnabled", is_connection: false1436 behaves like a working graphql query1437 returns a successful response1438 selects the correct MR1439 field: "project", subfield: "mergeRequestsEnabled", is_connection: false1440 behaves like a working graphql query1441 returns a successful response1442 selects the correct MR1443 field: "project", subfield: "wikiEnabled", is_connection: false1444 behaves like a working graphql query1445 returns a successful response1446 selects the correct MR1447 field: "project", subfield: "snippetsEnabled", is_connection: false1448 behaves like a working graphql query1449 returns a successful response1450 selects the correct MR1451 field: "project", subfield: "jobsEnabled", is_connection: false1452 behaves like a working graphql query1453 returns a successful response1454 selects the correct MR1455 field: "project", subfield: "publicJobs", is_connection: false1456 behaves like a working graphql query1457 returns a successful response1458 selects the correct MR1459 field: "project", subfield: "openIssuesCount", is_connection: false1460 behaves like a working graphql query1461 returns a successful response1462 selects the correct MR1463 field: "project", subfield: "importStatus", is_connection: false1464 behaves like a working graphql query1465 returns a successful response1466 selects the correct MR1467 field: "project", subfield: "jiraImportStatus", is_connection: false1468 behaves like a working graphql query1469 returns a successful response1470 selects the correct MR1471 field: "project", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1472 behaves like a working graphql query1473 returns a successful response1474 selects the correct MR1475 field: "project", subfield: "allowMergeOnSkippedPipeline", is_connection: false1476 behaves like a working graphql query1477 returns a successful response1478 selects the correct MR1479 field: "project", subfield: "requestAccessEnabled", is_connection: false1480 behaves like a working graphql query1481 returns a successful response1482 selects the correct MR1483 field: "project", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1484 behaves like a working graphql query1485 returns a successful response1486 selects the correct MR1487 field: "project", subfield: "printingMergeRequestLinkEnabled", is_connection: false1488 behaves like a working graphql query1489 returns a successful response1490 selects the correct MR1491 field: "project", subfield: "removeSourceBranchAfterMerge", is_connection: false1492 behaves like a working graphql query1493 returns a successful response1494 selects the correct MR1495 field: "project", subfield: "autocloseReferencedIssues", is_connection: false1496 behaves like a working graphql query1497 returns a successful response1498 selects the correct MR1499 field: "project", subfield: "suggestionCommitMessage", is_connection: false1500 behaves like a working graphql query1501 returns a successful response1502 selects the correct MR1503 field: "project", subfield: "securityDashboardPath", is_connection: false1504 behaves like a working graphql query1505 returns a successful response1506 selects the correct MR1507 field: "diffStats", subfield: "path", is_connection: false1508 behaves like a working graphql query1509 returns a successful response1510 selects the correct MR1511 field: "diffStats", subfield: "additions", is_connection: false1512 behaves like a working graphql query1513 returns a successful response1514 selects the correct MR1515 field: "diffStats", subfield: "deletions", is_connection: false1516 behaves like a working graphql query1517 returns a successful response1518 selects the correct MR1519 field: "diffStatsSummary", subfield: "additions", is_connection: false1520 behaves like a working graphql query1521 returns a successful response1522 selects the correct MR1523 field: "diffStatsSummary", subfield: "deletions", is_connection: false1524 behaves like a working graphql query1525 returns a successful response1526 selects the correct MR1527 field: "diffStatsSummary", subfield: "changes", is_connection: false1528 behaves like a working graphql query1529 returns a successful response1530 selects the correct MR1531 field: "diffStatsSummary", subfield: "fileCount", is_connection: false1532 behaves like a working graphql query1533 returns a successful response1534 selects the correct MR1535 field: "headPipeline", subfield: "id", is_connection: false1536 behaves like a working graphql query1537 returns a successful response1538 selects the correct MR1539 field: "headPipeline", subfield: "iid", is_connection: false1540 behaves like a working graphql query1541 returns a successful response1542 selects the correct MR1543 field: "headPipeline", subfield: "sha", is_connection: false1544 behaves like a working graphql query1545 returns a successful response1546 selects the correct MR1547 field: "headPipeline", subfield: "beforeSha", is_connection: false1548 behaves like a working graphql query1549 returns a successful response1550 selects the correct MR1551 field: "headPipeline", subfield: "status", is_connection: false1552 behaves like a working graphql query1553 returns a successful response1554 selects the correct MR1555 field: "headPipeline", subfield: "configSource", is_connection: false1556 behaves like a working graphql query1557 returns a successful response1558 selects the correct MR1559 field: "headPipeline", subfield: "duration", is_connection: false1560 behaves like a working graphql query1561 returns a successful response1562 selects the correct MR1563 field: "headPipeline", subfield: "coverage", is_connection: false1564 behaves like a working graphql query1565 returns a successful response1566 selects the correct MR1567 field: "headPipeline", subfield: "createdAt", is_connection: false1568 behaves like a working graphql query1569 returns a successful response1570 selects the correct MR1571 field: "headPipeline", subfield: "updatedAt", is_connection: false1572 behaves like a working graphql query1573 returns a successful response1574 selects the correct MR1575 field: "headPipeline", subfield: "startedAt", is_connection: false1576 behaves like a working graphql query1577 returns a successful response1578 selects the correct MR1579 field: "headPipeline", subfield: "finishedAt", is_connection: false1580 behaves like a working graphql query1581 returns a successful response1582 selects the correct MR1583 field: "headPipeline", subfield: "committedAt", is_connection: false1584 behaves like a working graphql query1585 returns a successful response1586 selects the correct MR1587 field: "pipelines", subfield: "id", is_connection: true1588 behaves like a working graphql query1589 returns a successful response1590 selects the correct MR1591 field: "pipelines", subfield: "iid", is_connection: true1592 behaves like a working graphql query1593 returns a successful response1594 selects the correct MR1595 field: "pipelines", subfield: "sha", is_connection: true1596 behaves like a working graphql query1597 returns a successful response1598 selects the correct MR1599 field: "pipelines", subfield: "beforeSha", is_connection: true1600 behaves like a working graphql query1601 returns a successful response1602 selects the correct MR1603 field: "pipelines", subfield: "status", is_connection: true1604 behaves like a working graphql query1605 returns a successful response1606 selects the correct MR1607 field: "pipelines", subfield: "configSource", is_connection: true1608 behaves like a working graphql query1609 returns a successful response1610 selects the correct MR1611 field: "pipelines", subfield: "duration", is_connection: true1612 behaves like a working graphql query1613 returns a successful response1614 selects the correct MR1615 field: "pipelines", subfield: "coverage", is_connection: true1616 behaves like a working graphql query1617 returns a successful response1618 selects the correct MR1619 field: "pipelines", subfield: "createdAt", is_connection: true1620 behaves like a working graphql query1621 returns a successful response1622 selects the correct MR1623 field: "pipelines", subfield: "updatedAt", is_connection: true1624 behaves like a working graphql query1625 returns a successful response1626 selects the correct MR1627 field: "pipelines", subfield: "startedAt", is_connection: true1628 behaves like a working graphql query1629 returns a successful response1630 selects the correct MR1631 field: "pipelines", subfield: "finishedAt", is_connection: true1632 behaves like a working graphql query1633 returns a successful response1634 selects the correct MR1635 field: "pipelines", subfield: "committedAt", is_connection: true1636 behaves like a working graphql query1637 returns a successful response1638 selects the correct MR1639 field: "milestone", subfield: "id", is_connection: false1640 behaves like a working graphql query1641 returns a successful response1642 selects the correct MR1643 field: "milestone", subfield: "title", is_connection: false1644 behaves like a working graphql query1645 returns a successful response1646 selects the correct MR1647 field: "milestone", subfield: "description", is_connection: false1648 behaves like a working graphql query1649 returns a successful response1650 selects the correct MR1651 field: "milestone", subfield: "state", is_connection: false1652 behaves like a working graphql query1653 returns a successful response1654 selects the correct MR1655 field: "milestone", subfield: "webPath", is_connection: false1656 behaves like a working graphql query1657 returns a successful response1658 selects the correct MR1659 field: "milestone", subfield: "dueDate", is_connection: false1660 behaves like a working graphql query1661 returns a successful response1662 selects the correct MR1663 field: "milestone", subfield: "startDate", is_connection: false1664 behaves like a working graphql query1665 returns a successful response1666 selects the correct MR1667 field: "milestone", subfield: "createdAt", is_connection: false1668 behaves like a working graphql query1669 returns a successful response1670 selects the correct MR1671 field: "milestone", subfield: "updatedAt", is_connection: false1672 behaves like a working graphql query1673 returns a successful response1674 selects the correct MR1675 field: "milestone", subfield: "projectMilestone", is_connection: false1676 behaves like a working graphql query1677 returns a successful response1678 selects the correct MR1679 field: "milestone", subfield: "groupMilestone", is_connection: false1680 behaves like a working graphql query1681 returns a successful response1682 selects the correct MR1683 field: "milestone", subfield: "subgroupMilestone", is_connection: false1684 behaves like a working graphql query1685 returns a successful response1686 selects the correct MR1687 field: "assignees", subfield: "id", is_connection: true1688 behaves like a working graphql query1689 returns a successful response1690 selects the correct MR1691 field: "assignees", subfield: "username", is_connection: true1692 behaves like a working graphql query1693 returns a successful response1694 selects the correct MR1695 field: "assignees", subfield: "name", is_connection: true1696 behaves like a working graphql query1697 returns a successful response1698 selects the correct MR1699 field: "assignees", subfield: "state", is_connection: true1700 behaves like a working graphql query1701 returns a successful response1702 selects the correct MR1703 field: "assignees", subfield: "email", is_connection: true1704 behaves like a working graphql query1705 returns a successful response1706 selects the correct MR1707 field: "assignees", subfield: "avatarUrl", is_connection: true1708 behaves like a working graphql query1709 returns a successful response1710 selects the correct MR1711 field: "assignees", subfield: "webUrl", is_connection: true1712 behaves like a working graphql query1713 returns a successful response1714 selects the correct MR1715 field: "assignees", subfield: "webPath", is_connection: true1716 behaves like a working graphql query1717 returns a successful response1718 selects the correct MR1719 field: "author", subfield: "id", is_connection: false1720 behaves like a working graphql query1721 returns a successful response1722 selects the correct MR1723 field: "author", subfield: "username", is_connection: false1724 behaves like a working graphql query1725 returns a successful response1726 selects the correct MR1727 field: "author", subfield: "name", is_connection: false1728 behaves like a working graphql query1729 returns a successful response1730 selects the correct MR1731 field: "author", subfield: "state", is_connection: false1732 behaves like a working graphql query1733 returns a successful response1734 selects the correct MR1735 field: "author", subfield: "email", is_connection: false1736 behaves like a working graphql query1737 returns a successful response1738 selects the correct MR1739 field: "author", subfield: "avatarUrl", is_connection: false1740 behaves like a working graphql query1741 returns a successful response1742 selects the correct MR1743 field: "author", subfield: "webUrl", is_connection: false1744 behaves like a working graphql query1745 returns a successful response1746 selects the correct MR1747 field: "author", subfield: "webPath", is_connection: false1748 behaves like a working graphql query1749 returns a successful response1750 selects the correct MR1751 field: "participants", subfield: "id", is_connection: true1752 behaves like a working graphql query1753 returns a successful response1754 selects the correct MR1755 field: "participants", subfield: "username", is_connection: true1756 behaves like a working graphql query1757 returns a successful response1758 selects the correct MR1759 field: "participants", subfield: "name", is_connection: true1760 behaves like a working graphql query1761 returns a successful response1762 selects the correct MR1763 field: "participants", subfield: "state", is_connection: true1764 behaves like a working graphql query1765 returns a successful response1766 selects the correct MR1767 field: "participants", subfield: "email", is_connection: true1768 behaves like a working graphql query1769 returns a successful response1770 selects the correct MR1771 field: "participants", subfield: "avatarUrl", is_connection: true1772 behaves like a working graphql query1773 returns a successful response1774 selects the correct MR1775 field: "participants", subfield: "webUrl", is_connection: true1776 behaves like a working graphql query1777 returns a successful response1778 selects the correct MR1779 field: "participants", subfield: "webPath", is_connection: true1780 behaves like a working graphql query1781 returns a successful response1782 selects the correct MR1783 field: "labels", subfield: "id", is_connection: true1784 behaves like a working graphql query1785 returns a successful response1786 selects the correct MR1787 field: "labels", subfield: "description", is_connection: true1788 behaves like a working graphql query1789 returns a successful response1790 selects the correct MR1791 field: "labels", subfield: "descriptionHtml", is_connection: true1792 behaves like a working graphql query1793 returns a successful response1794 selects the correct MR1795 field: "labels", subfield: "title", is_connection: true1796 behaves like a working graphql query1797 returns a successful response1798 selects the correct MR1799 field: "labels", subfield: "color", is_connection: true1800 behaves like a working graphql query1801 returns a successful response1802 selects the correct MR1803 field: "labels", subfield: "textColor", is_connection: true1804 behaves like a working graphql query1805 returns a successful response1806 selects the correct MR1807 field: "taskCompletionStatus", subfield: "count", is_connection: false1808 behaves like a working graphql query1809 returns a successful response1810 selects the correct MR1811 field: "taskCompletionStatus", subfield: "completedCount", is_connection: false1812 behaves like a working graphql query1813 returns a successful response1814 selects the correct MR1815 field: "approvedBy", subfield: "id", is_connection: true1816 behaves like a working graphql query1817 returns a successful response1818 selects the correct MR1819 field: "approvedBy", subfield: "username", is_connection: true1820 behaves like a working graphql query1821 returns a successful response1822 selects the correct MR1823 field: "approvedBy", subfield: "name", is_connection: true1824 behaves like a working graphql query1825 returns a successful response1826 selects the correct MR1827 field: "approvedBy", subfield: "state", is_connection: true1828 behaves like a working graphql query1829 returns a successful response1830 selects the correct MR1831 field: "approvedBy", subfield: "email", is_connection: true1832 behaves like a working graphql query1833 returns a successful response1834 selects the correct MR1835 field: "approvedBy", subfield: "avatarUrl", is_connection: true1836 behaves like a working graphql query1837 returns a successful response1838 selects the correct MR1839 field: "approvedBy", subfield: "webUrl", is_connection: true1840 behaves like a working graphql query1841 returns a successful response1842 selects the correct MR1843 field: "approvedBy", subfield: "webPath", is_connection: true1844 behaves like a working graphql query1845 returns a successful response1846 selects the correct MR1847 there are no search params1848 behaves like searching with parameters1849 finds the right mrs1850 the search params do not match anything1851 behaves like searching with parameters1852 finds the right mrs1853 searching by iids1854 behaves like searching with parameters1855 finds the right mrs1856 searching by state1857 behaves like searching with parameters1858 finds the right mrs1859 searching by source_branch1860 behaves like searching with parameters1861 finds the right mrs1862 searching by target_branch1863 behaves like searching with parameters1864 finds the right mrs1865 searching by label1866 behaves like searching with parameters1867 finds the right mrs1868 searching by combination1869 behaves like searching with parameters1870 finds the right mrs1871 fields1872 when requesting `commit_count`1873 exposes `commit_count`1874 prevents N+1 queries1875 when requesting `merged_at`1876 prevents N+1 queries1877API::Files1878 http headers1879 converts value into string1880 raises exception if value is an Enumerable1881 HEAD /projects/:id/repository/files/:file_path1882 when unauthenticated and project is public1883 behaves like repository files1884 returns 400 when file path is invalid1885 returns file attributes in headers1886 returns file by commit sha1887 behaves like when path is absolute1888 returns 400 when file path is absolute1889 when mandatory params are not given1890 responds with a 400 status1891 when file_path does not exist1892 responds with a 404 status1893 when file_path does not exist1894 responds with a 403 status1895 when unauthenticated and project is private1896 responds with a 404 status1897 when PATs are used1898 behaves like repository files1899 returns 400 when file path is invalid1900 returns file attributes in headers1901 returns file by commit sha1902 behaves like when path is absolute1903 returns 400 when file path is absolute1904 when mandatory params are not given1905 responds with a 400 status1906 when file_path does not exist1907 responds with a 404 status1908 when file_path does not exist1909 responds with a 403 status1910 when authenticated as a developer1911 behaves like repository files1912 returns 400 when file path is invalid1913 returns file attributes in headers1914 returns file by commit sha1915 behaves like when path is absolute1916 returns 400 when file path is absolute1917 when mandatory params are not given1918 responds with a 400 status1919 when file_path does not exist1920 responds with a 404 status1921 when file_path does not exist1922 responds with a 403 status1923 when authenticated as a guest1924 behaves like 403 response1925 returns 4031926 GET /projects/:id/repository/files/:file_path1927 when unauthenticated and project is public1928 behaves like repository files1929 returns 400 for invalid file path1930 returns file attributes as json1931DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/files_spec.rb:207)1932 returns json when file has txt extension1933 returns file by commit sha1934 returns raw file info1935 returns blame file info1936 sets inline content disposition by default1937 behaves like when path is absolute1938 returns 400 when file path is absolute1939 with filename with pathspec characters1940 returns JSON wth commit SHA1941 when mandatory params are not given1942 behaves like 400 response1943 returns 4001944 when file_path does not exist1945 behaves like 404 response1946 returns 4041947 when repository is disabled1948 behaves like 403 response1949 returns 4031950 when PATs are used1951 behaves like repository files1952 returns 400 for invalid file path1953 returns file attributes as json1954DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/files_spec.rb:207)1955 returns json when file has txt extension1956 returns file by commit sha1957 returns raw file info1958 returns blame file info1959 sets inline content disposition by default1960 behaves like when path is absolute1961 returns 400 when file path is absolute1962 with filename with pathspec characters1963 returns JSON wth commit SHA1964 when mandatory params are not given1965 behaves like 400 response1966 returns 4001967 when file_path does not exist1968 behaves like 404 response1969 returns 4041970 when repository is disabled1971 behaves like 403 response1972 returns 4031973 when unauthenticated and project is private1974 behaves like 404 response1975 returns 4041976 when authenticated as a developer1977 behaves like repository files1978 returns 400 for invalid file path1979 returns file attributes as json1980DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/files_spec.rb:207)1981 returns json when file has txt extension1982 returns file by commit sha1983 returns raw file info1984 returns blame file info1985 sets inline content disposition by default1986 behaves like when path is absolute1987 returns 400 when file path is absolute1988 with filename with pathspec characters1989 returns JSON wth commit SHA1990 when mandatory params are not given1991 behaves like 400 response1992 returns 4001993 when file_path does not exist1994 behaves like 404 response1995 returns 4041996 when repository is disabled1997 behaves like 403 response1998 returns 4031999 when authenticated as a guest2000 behaves like 403 response2001 returns 4032002 GET /projects/:id/repository/files/:file_path/blame2003 when unauthenticated and project is public2004 behaves like repository blame files2005 returns file attributes in headers2006 returns 400 when file path is invalid2007 returns blame file attributes as json2008 returns blame file info for files with dots2009 returns file by commit sha2010 behaves like when path is absolute2011 returns 400 when file path is absolute2012 when mandatory params are not given2013 behaves like 400 response2014 returns 4002015 when file_path does not exist2016 behaves like 404 response2017 returns 4042018 when commit does not exist2019 behaves like 404 response2020 returns 4042021 when repository is disabled2022 behaves like 403 response2023 returns 4032024 when unauthenticated and project is private2025 behaves like 404 response2026 returns 4042027 when authenticated as a developer2028 behaves like repository blame files2029 returns file attributes in headers2030 returns 400 when file path is invalid2031 returns blame file attributes as json2032 returns blame file info for files with dots2033 returns file by commit sha2034 behaves like when path is absolute2035 returns 400 when file path is absolute2036 when mandatory params are not given2037 behaves like 400 response2038 returns 4002039 when file_path does not exist2040 behaves like 404 response2041 returns 4042042 when commit does not exist2043 behaves like 404 response2044 returns 4042045 when repository is disabled2046 behaves like 403 response2047 returns 4032048 when authenticated as a guest2049 behaves like 403 response2050 returns 4032051 when PATs are used2052 returns blame file by commit sha2053 GET /projects/:id/repository/files/:file_path/raw2054 when unauthenticated and project is public2055 behaves like repository raw files2056 returns 400 when file path is invalid2057 returns raw file info2058 returns raw file info for files with dots2059 returns file by commit sha2060 sets no-cache headers2061 behaves like when path is absolute2062 returns 400 when file path is absolute2063 when mandatory params are not given2064 behaves like 400 response2065 returns 4002066 when file_path does not exist2067 behaves like 404 response2068 returns 4042069 when repository is disabled2070 behaves like 403 response2071 returns 4032072 when unauthenticated and project is private2073 behaves like 404 response2074 returns 4042075 when authenticated as a developer2076 behaves like repository raw files2077 returns 400 when file path is invalid2078 returns raw file info2079 returns raw file info for files with dots2080 returns file by commit sha2081 sets no-cache headers2082 behaves like when path is absolute2083 returns 400 when file path is absolute2084 when mandatory params are not given2085 behaves like 400 response2086 returns 4002087 when file_path does not exist2088 behaves like 404 response2089 returns 4042090 when repository is disabled2091 behaves like 403 response2092 returns 4032093 when authenticated as a guest2094 behaves like 403 response2095 returns 4032096 when PATs are used2097 returns file by commit sha2098 POST /projects/:id/repository/files/:file_path2099 returns 400 when file path is invalid2100 creates a new file in project repo2101 returns a 400 bad request if no mandatory params given2102 returns a 400 bad request if the commit message is empty2103 returns a 400 if editor fails to create file2104 behaves like when path is absolute2105 returns 400 when file path is absolute2106 with PATs2107 returns 403 with `read_repository` scope2108 returns 201 with `api` scope2109 when specifying an author2110DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/files_spec.rb:693)2111 creates a new file with the specified author2112 when the repo is empty2113 creates a new file in project repo2114 PUT /projects/:id/repository/files2115 updates existing file in project repo2116 returns a 400 bad request if the commit message is empty2117 returns a 400 bad request if update existing file with stale last commit id2118 updates existing file in project repo with accepts correct last commit id2119 returns 400 when file path is invalid2120 returns a 400 bad request if no params given2121 behaves like when path is absolute2122 returns 400 when file path is absolute2123 when specifying an author2124 updates a file with the specified author2125 DELETE /projects/:id/repository/files2126 returns 400 when file path is invalid2127 deletes existing file in project repo2128 returns a 400 bad request if no params given2129 returns a 400 bad request if the commit message is empty2130 returns a 400 if fails to delete file2131 behaves like when path is absolute2132 returns 400 when file path is absolute2133 when specifying an author2134 removes a file with the specified author2135 POST /projects/:id/repository/files with binary file2136 remains unchanged2137Groups::ClustersController2138 GET index2139 functionality2140 when group has one or more clusters2141 lists available clusters and renders html2142 lists available clusters with json serializer2143 sets the polling interval header for json requests2144 when page is specified2145 redirects to the page2146 displays cluster list for associated page2147 when group does not have a cluster2148 returns an empty state page2149 security2150 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002151 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2002152 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2002153 is expected to be denied for developer. Expected: 401,404 Got: 4042154 is expected to be denied for reporter. Expected: 401,404 Got: 4042155 is expected to be denied for guest. Expected: 401,404 Got: 4042156 is expected to be denied for user. Expected: 401,404 Got: 4042157 is expected to be denied for external. Expected: 401,404 Got: 4042158 GET new2159 functionality for new cluster2160 when omniauth has been configured2161 redirects to gcp authorize_url2162 when omniauth has not configured2163 does not have authorize_url2164 when access token is valid2165 has new object2166 when access token is expired2167 is expected to be falsey2168 when access token is not stored in session2169 is expected to be falsey2170 functionality for existing cluster2171 has new object2172 security2173 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022174 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022175 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022176 is expected to be denied for developer. Expected: 401,404 Got: 4042177 is expected to be denied for reporter. Expected: 401,404 Got: 4042178 is expected to be denied for guest. Expected: 401,404 Got: 4042179 is expected to be denied for user. Expected: 401,404 Got: 4042180 is expected to be denied for external. Expected: 401,404 Got: 4042181 behaves like GET #metrics_dashboard for dashboard2182 returns correct dashboard2183 behaves like GET #metrics_dashboard correctly formatted response2184 returns a json object with the correct keys2185 GET #prometheus_proxy2186 behaves like metrics dashboard prometheus api proxy2187 with valid requests2188 with success result2189 returns prometheus response2190 with nil query2191 does not raise error2192 with nil result2193 returns 204 no_content2194 with 404 result2195 returns body2196 with error result2197 with http_status2198 sets the http response status code2199 without http_status2200 returns bad_request2201 with inappropriate requests2202 without correct permissions2203 returns 4042204 with invalid proxyable id2205 returns 4042206 with anonymous user2207 returns 4042208 POST create for new cluster2209 functionality2210 when access token is valid2211 creates a new cluster2212 when legacy_abac param is false2213 creates a new cluster with legacy_abac_disabled2214 when access token is expired2215 is expected to be falsey2216 when access token is not stored in session2217 is expected to be falsey2218 security2219 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022220 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022221 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022222 is expected to be denied for developer. Expected: 401,404 Got: 4042223 is expected to be denied for reporter. Expected: 401,404 Got: 4042224 is expected to be denied for guest. Expected: 401,404 Got: 4042225 is expected to be denied for user. Expected: 401,404 Got: 4042226 is expected to be denied for external. Expected: 401,404 Got: 4042227 POST create for existing cluster2228 functionality2229 when creates a cluster2230 creates a new cluster2231 when creates a RBAC-enabled cluster2232 creates a new cluster2233 when creates a user-managed cluster2234 creates a new user-managed cluster2235 security2236 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022237 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022238 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022239 is expected to be denied for developer. Expected: 401,404 Got: 4042240 is expected to be denied for reporter. Expected: 401,404 Got: 4042241 is expected to be denied for guest. Expected: 401,404 Got: 4042242 is expected to be denied for user. Expected: 401,404 Got: 4042243 is expected to be denied for external. Expected: 401,404 Got: 4042244 POST #create_aws2245 creates a new cluster2246 params are invalid2247DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/groups/clusters_controller_spec.rb:474)2248 does not create a cluster2249 security2250 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2012251 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2012252 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2012253 is expected to be denied for developer. Expected: 401,404 Got: 4042254 is expected to be denied for reporter. Expected: 401,404 Got: 4042255 is expected to be denied for guest. Expected: 401,404 Got: 4042256 is expected to be denied for user. Expected: 401,404 Got: 4042257 is expected to be denied for external. Expected: 401,404 Got: 4042258 POST authorize AWS role for EKS cluster2259 creates an Aws::Role record2260 role cannot be created2261 does not create a record2262 security2263 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002264 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2002265 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2002266 is expected to be denied for developer. Expected: 401,404 Got: 4042267 is expected to be denied for reporter. Expected: 401,404 Got: 4042268 is expected to be denied for guest. Expected: 401,404 Got: 4042269 is expected to be denied for user. Expected: 401,404 Got: 4042270 is expected to be denied for external. Expected: 401,404 Got: 4042271 DELETE clear cluster cache2272 deletes the namespaces associated with the cluster2273 security2274 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022275 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022276 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022277 is expected to be denied for developer. Expected: 401,404 Got: 4042278 is expected to be denied for reporter. Expected: 401,404 Got: 4042279 is expected to be denied for guest. Expected: 401,404 Got: 4042280 is expected to be denied for user. Expected: 401,404 Got: 4042281 is expected to be denied for external. Expected: 401,404 Got: 4042282 GET cluster_status2283 functionality2284 responds with matching schema2285 invokes schedule_status_update on each application2286 security2287 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002288 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2002289 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2002290 is expected to be denied for developer. Expected: 401,404 Got: 4042291 is expected to be denied for reporter. Expected: 401,404 Got: 4042292 is expected to be denied for guest. Expected: 401,404 Got: 4042293 is expected to be denied for user. Expected: 401,404 Got: 4042294 is expected to be denied for external. Expected: 401,404 Got: 4042295 GET show2296 functionality2297 renders view2298 security2299 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002300 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2002301 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2002302 is expected to be denied for developer. Expected: 401,404 Got: 4042303 is expected to be denied for reporter. Expected: 401,404 Got: 4042304 is expected to be denied for guest. Expected: 401,404 Got: 4042305 is expected to be denied for user. Expected: 401,404 Got: 4042306 is expected to be denied for external. Expected: 401,404 Got: 4042307 PUT update2308 updates and redirects back to show page2309 when domain is invalid2310 does not update cluster attributes2311 when format is json2312 when changing parameters2313 when valid parameters are used2314 updates and redirects back to show page2315 when invalid parameters are used2316 rejects changes2317 security2318 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022319 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022320 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022321 is expected to be denied for developer. Expected: 401,404 Got: 4042322 is expected to be denied for reporter. Expected: 401,404 Got: 4042323 is expected to be denied for guest. Expected: 401,404 Got: 4042324 is expected to be denied for user. Expected: 401,404 Got: 4042325 is expected to be denied for external. Expected: 401,404 Got: 4042326 DELETE destroy2327 functionality2328 when cluster is provided by GCP2329 when cluster is created2330 destroys and redirects back to clusters list2331 when cluster is being created2332 destroys and redirects back to clusters list2333 when cluster is provided by user2334 destroys and redirects back to clusters list2335 security2336 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 3022337 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3022338 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3022339 is expected to be denied for developer. Expected: 401,404 Got: 4042340 is expected to be denied for reporter. Expected: 401,404 Got: 4042341 is expected to be denied for guest. Expected: 401,404 Got: 4042342 is expected to be denied for user. Expected: 401,404 Got: 4042343 is expected to be denied for external. Expected: 401,404 Got: 4042344 no group_id param2345 does not respond to any action without group_id param2346API::Issues2347 POST /projects/:id/issues2348 creates a new project issue2349 creates a new project issue with labels param as array2350 creates a new confidential project issue2351 creates a new confidential project issue with a different param2352 creates a public issue when confidential param is false2353 creates a public issue when confidential param is invalid2354 returns a 400 bad request if title not given2355 allows special label names2356 allows special label names with labels param as array2357 returns 400 if title is too long2358 support for deprecated assignee_id2359 creates a new project issue2360 creates a new project issue when assignee_id is empty2361 single assignee restrictions2362 creates a new project issue with no more than one assignee2363 user does not have permissions to create issue2364 renders 4032365 an internal ID is provided2366 by an admin2367 sets the internal ID on the new issue2368 by an owner2369 sets the internal ID on the new issue2370 by a group owner2371 sets the internal ID on the new issue2372 by another user2373 ignores the given internal ID2374 when an issue with the same IID exists on database2375 returns 4092376 resolving discussions2377 resolving all discussions in a merge request2378 behaves like creating an issue resolving discussions through the API2379 creates a new project issue2380 resolves the discussions in a merge request2381 assigns a description to the issue mentioning the merge request2382 resolving a single discussion2383 behaves like creating an issue resolving discussions through the API2384 creates a new project issue2385 resolves the discussions in a merge request2386 assigns a description to the issue mentioning the merge request2387 with due date2388 creates a new project issue2389 setting created_at2390 by an admin2391 sets the creation time on the new issue2392 by a project owner2393 sets the creation time on the new issue2394 by a group owner2395 sets the creation time on the new issue2396 by another user2397 ignores the given creation time2398 the user can only read the issue2399 cannot create new labels2400 cannot create new labels with labels param as array2401 when request exceeds the rate limit2402 prevents users from creating more issues2403 POST /projects/:id/issues with spam filtering2404 when allow_possible_spam feature flag is false2405 does not create a new project issue2406 returns correct status and message2407 creates a new spam log entry2408 when allow_possible_spam feature flag is true2409 does creates a new project issue2410 returns correct status2411 creates a new spam log entry2412 /projects/:id/issues/:issue_iid/move2413 moves an issue2414 moves the issue to another namespace if I am admin2415 when source and target projects are the same2416 returns 400 when trying to move an issue2417 when the user does not have the permission to move issues2418 returns 400 when trying to move an issue2419 when using the issue ID instead of iid2420 returns 404 when trying to move an issue2421 when issue does not exist2422 returns 404 when trying to move an issue2423 when source project does not exist2424 returns 404 when trying to move an issue2425 when target project does not exist2426 returns 404 when trying to move an issue2427 POST :id/issues/:issue_iid/subscribe2428 subscribes to an issue2429 returns 304 if already subscribed2430 returns 404 if the issue is not found2431 returns 404 if the issue ID is used instead of the iid2432 returns 404 if the issue is confidential2433 POST :id/issues/:issue_id/unsubscribe2434 unsubscribes from an issue2435 returns 304 if not subscribed2436 returns 404 if the issue is not found2437 returns 404 if using the issue ID instead of iid2438 returns 404 if the issue is confidential2439Projects::SnippetsController2440 GET #index2441 fetches snippet counts via the snippet count service2442 behaves like paginated collection2443 renders a page number that is not ouf of range2444 redirects to last_page if page number is larger than number of pages2445 does not redirect to external sites when provided a host field2446 behaves like snippets sort order2447 when no sort param is provided2448 calls SnippetsFinder with updated_at sort option2449 when sort param is provided2450 calls SnippetsFinder with the given sort param2451 when the project snippet is private2452 when anonymous2453 does not include the private snippet2454 when signed in as the author2455 renders the snippet2456 when signed in as a project member2457 renders the snippet2458 POST #create2459 creates the snippet correctly2460 when the snippet is spam2461 when the snippet is private2462 creates the snippet2463 when the snippet is public2464 rejects the snippet2465 creates a spam log2466 renders :new with reCAPTCHA disabled2467 reCAPTCHA enabled2468 renders :verify with reCAPTCHA enabled2469 renders snippet page when reCAPTCHA verified2470 PUT #update2471 when the snippet is spam2472 when the snippet is private2473 updates the snippet2474 when the snippet is public2475 rejects the snippet2476 creates a spam log2477 renders :edit with reCAPTCHA disabled2478 reCAPTCHA enabled2479 renders :verify with reCAPTCHA enabled2480 renders snippet page when reCAPTCHA verified2481 when the private snippet is made public2482 rejects the snippet2483 creates a spam log2484 renders :edit with reCAPTCHA disabled2485 reCAPTCHA enabled2486 renders :verify2487 renders snippet page2488 POST #mark_as_spam2489 updates the snippet2490 GET #show2491 when the project snippet is private2492 when anonymous2493 responds with status 4042494 when signed in as the author2495 behaves like successful response2496 renders the snippet2497 renders the blob from the repository2498 when signed in as a project member2499 behaves like successful response2500 renders the snippet2501 renders the blob from the repository2502 when the project snippet does not exist2503 when anonymous2504 responds with status 4042505 when signed in2506 responds with status 4042507 GET #raw2508 when the project snippet is private2509 when anonymous2510 responds with status 4042511 when signed in as the author2512 behaves like successful response2513 renders the snippet2514 renders the blob from the repository2515 when signed in as a project member2516 behaves like successful response2517 renders the snippet2518 renders the blob from the repository2519 when the project snippet does not exist2520 when anonymous2521 responds with status 4042522 when signed in2523 responds with status 4042524 GET #show for embeddable content2525 when snippet is private2526 responds with status 4042527 when snippet is public2528 renders the blob from the repository2529 does not show the blobs expanded by default2530 when param expanded is set2531 shows all blobs expanded2532 when the project is private2533 when snippet is public2534 responds with status 4042535 GET #raw2536 when repository is empty2537 CRLF line ending2538 returns LF line endings by default2539 when line_ending parameter present2540 does not convert line endings2541 when repository is not empty2542 sends the blob2543 behaves like project cache control headers2544 when project is public2545 returns cache_control public header to true2546 when project is private2547 returns cache_control public header to true2548 when project is internal2549 returns cache_control public header to true2550 behaves like content disposition headers2551 sets content disposition to inline2552 when inline param is false2553 sets content disposition to attachment2554 DELETE #destroy2555 when current user has ability to destroy the snippet2556 removes the snippet2557 when snippet is succesfuly destroyed2558 redirects to the project snippets page2559 when snippet is not destroyed2560 renders the snippet page with errors2561 when current_user does not have ability to destroy the snippet2562 responds with status 4042563API::ProjectImport2564 POST /projects/import2565 schedules an import using a namespace2566 schedules an import using the namespace path2567 schedules an import at the user namespace level2568 does not schedule an import for a namespace that does not exist2569 does not schedule an import if the user has no permission to the namespace2570 stores params that can be overridden2571 does not store params that are not allowed2572 when a name is explicitly set2573 schedules an import using a namespace and a different name2574 schedules an import using the namespace path and a different name2575 sets name correctly2576 sets name correctly with an overwrite2577 schedules an import using the path and name explicitly set to nil2578 if user uploads no valid file2579 does not schedule an import if the user uploads no valid file2580 when target path already exists in namespace2581 does not schedule an import2582 when param overwrite is true2583 schedules an import2584 when request exceeds the rate limit2585 prevents users from importing projects2586 when using remote storage2587 schedules an import2588 GET /projects/:id/import2589 returns the import status2590 returns the import status and the error if failed2591 POST /projects/import/authorize2592DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/project_import_spec.rb:306)2593 authorizes importing project with workhorse header2594 rejects requests that bypassed gitlab-workhorse2595 when using remote storage2596 when direct upload is enabled2597DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/project_import_spec.rb:328)2598 responds with status 200, location of file remote store and object details2599 when direct upload is disabled2600DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/project_import_spec.rb:347)2601 handles as a local file2602AutocompleteController2603 GET users2604 project members2605 GET #users with project ID2606 returns the project members2607 GET #users with unknown project2608 is expected to respond with numeric status code not_found2609 group members2610 GET #users with group ID2611 returns the group members2612 GET #users with unknown group ID2613 is expected to respond with numeric status code not_found2614 non-member login for public project2615 GET #users with project ID2616 returns the project members and non-members2617 all users2618 is expected to be a kind of Array2619 is expected to eq 32620 user order2621 shows exact matches first2622 limited users per page2623 is expected to be a kind of Array2624 is expected to eq 202625 unauthenticated user2626 GET #users with public project2627 is expected to be a kind of Array2628 is expected to eq 22629 GET #users with project2630 is expected to respond with numeric status code not_found2631 GET #users with unknown project2632 is expected to respond with numeric status code not_found2633 GET #users with inaccessible group2634 is expected to respond with numeric status code not_found2635 GET #users with no project2636 is expected to be a kind of Array2637 is expected to be empty2638 GET #users with todo filter2639 gives an array of users2640 author of issuable included2641 authenticated2642 includes the author2643 rejects non existent user ids2644 without authenticating2645 returns empty result2646 skip_users parameter included2647 skips the user IDs passed2648 merge_request_iid parameter included2649 includes can_merge option to users2650 GET projects2651 authorized projects2652 GET #projects with project ID2653 returns projects2654 authorized projects and search2655 GET #projects with project ID and search2656 returns projects2657 authorized projects apply limit2658 GET #projects with project ID2659 returns projects2660 authorized projects without admin_issue ability2661 GET #projects with project ID2662 returns no projects2663 GET award_emojis2664 unauthorized user2665 returns empty json2666 sign in as user without award emoji2667 returns empty json2668 sign in as user with award emoji2669 returns json sorted by name count2670 GET deploy_keys_with_owners2671 unauthorized user2672 returns a not found response2673 when the user who can read the project is logged in2674 renders the deploy key in a json payload, with its owner2675 with an unknown project2676 returns a not found response2677 and the user cannot read the owner of the key2678 returns a payload without owner2679 Get merge_request_target_branches2680 anonymous user2681 returns empty json2682 user without any accessible merge requests2683 returns empty json2684 user with an accessible merge request but no scope2685 params: {}2686 returns an error2687 params: {:group_id=>" "}2688 returns an error2689 params: {:project_id=>" "}2690 returns an error2691 params: {:group_id=>" ", :project_id=>" "}2692 returns an error2693 user with an accessible merge request by project2694 returns json2695 user with an accessible merge request by group2696 returns json2697API::Release::Links2698 GET /projects/:id/releases/:tag_name/assets/links2699 when there are two release links2700 returns 200 HTTP status2701 returns release links ordered by created_at2702 matches response schema2703 when release does not exist2704 behaves like 404 response2705 returns 4042706 when user is not a project member2707 behaves like 404 response2708 returns 4042709 when project is public2710 allows the request2711 when project is public and the repository is private2712 behaves like 403 response2713 returns 4032714 when the release does not exists2715 behaves like 403 response2716 returns 4032717 GET /projects/:id/releases/:tag_name/assets/links/:link_id2718 returns 200 HTTP status2719 returns a link entry2720 matches response schema2721 when specified tag is not found in the project2722 behaves like 404 response2723 returns 4042724 when user is not a project member2725 behaves like 404 response2726 returns 4042727 when project is public2728 allows the request2729 #direct_asset_url2730 when filepath is provided2731 is expected to eq "http://localhost/namespace534/project652/-/releases/v0.1/bin/bigfile.exe"2732 when filepath is not provided2733 is expected to eq "https://google.com/-/jobs/140463678/artifacts/download"2734 POST /projects/:id/releases/:tag_name/assets/links2735 accepts the request2736 creates a new release2737 matches response schema2738 when name is empty2739 behaves like 400 response2740 returns 4002741 when user is a reporter2742 behaves like 403 response2743 returns 4032744 when user is not a project member2745 forbids the request2746 when project is public2747 forbids the request2748 when the same link already exists2749 behaves like 400 response2750 returns 4002751 PUT /projects/:id/releases/:tag_name/assets/links/:link_id2752 accepts the request2753 updates the name2754 does not update the url2755 matches response schema2756 when params is empty2757 does not allow the request2758 when there are no corresponding release link2759 behaves like 404 response2760 returns 4042761 when user is a reporter2762 behaves like 403 response2763 returns 4032764 when user is not a project member2765 behaves like 404 response2766 returns 4042767 when project is public2768 behaves like 403 response2769 returns 4032770 DELETE /projects/:id/releases/:tag_name/assets/links/:link_id2771 accepts the request2772 destroys the release link2773 matches response schema2774 when there are no corresponding release link2775 behaves like 404 response2776 returns 4042777 when user is a reporter2778 behaves like 403 response2779 returns 4032780 when user is not a project member2781 behaves like 404 response2782 returns 4042783 when project is public2784 behaves like 403 response2785 returns 4032786Projects::EnvironmentsController2787 GET index2788 when a request for the HTML is made2789 responds with status code 2002790 expires etag cache to force reload environments list2791 when requesting JSON response for folders2792 with default parameters2793 responds with a flat payload describing available environments2794 sets the polling interval header2795 when a folder-based nested structure is requested2796 responds with a payload containing the latest environment for each folder2797 when requesting available environments scope2798 responds with a payload describing available environments2799 contains values describing environment scopes sizes2800 when requesting stopped environments scope2801 responds with a payload describing stopped environments2802 contains values describing environment scopes sizes2803 GET folder2804 when using default format2805 responds with HTML2806 when using JSON format2807 sorts the subfolders lexicographically2808 GET show2809 with valid id2810 responds with a status code 2002811 with invalid id2812 responds with a status code 4042813 GET edit2814 responds with a status code 2002815 PATCH #update2816 responds with a 3022817 PATCH #stop2818 when env not available2819 returns 4042820 when stop action2821 returns action url2822 when no stop action2823 returns env url2824 POST #cancel_auto_stop2825 when environment is set as auto-stop2826 behaves like successful response for #cancel_auto_stop2827 when request is html2828 redirects to show page2829 expires etag caching2830 when request is js2831 responds as ok2832 expires etag caching2833 when user is reporter2834 shows NOT Found2835 when environment is not set as auto-stop2836 behaves like failed response for #cancel_auto_stop2837 when request is html2838 redirects to show page2839 when request is js2840 responds as unprocessable entity2841 GET #terminal2842 with valid id2843 responds with a status code 2002844 loads the terminals for the environment2845 with invalid id2846 responds with a status code 4042847 GET #terminal_websocket_authorize2848 with valid workhorse signature2849 and valid id2850 returns the first terminal for the environment2851 and invalid id2852 returns 4042853 with invalid workhorse signature2854 aborts with an exception2855 GET #metrics_redirect2856 redirects to metrics dashboard page2857 GET #metrics2858 when environment has no metrics2859 redirects to metrics dashboard page2860 when requesting metrics as JSON2861 returns a metrics JSON document2862 when environment has some metrics2863 returns a metrics JSON document2864 permissions2865 checks :metrics_dashboard ability2866 with anonymous user and public dashboard visibility2867 redirects to metrics dashboard page2868 GET #additional_metrics2869 when environment has no metrics2870 when requesting metrics as JSON2871 returns a metrics JSON document2872 when environment has some metrics2873 returns a metrics JSON document2874 when time params are missing2875 raises an error when window params are missing2876 when only one time param is provided2877 raises an error when start is missing2878 raises an error when end is missing2879 permissions2880 checks :metrics_dashboard ability2881 with anonymous user and public dashboard visibility2882 does not fail2883 GET #metrics_dashboard2884 behaves like the default dashboard2885 behaves like includes all dashboards2886 includes info for all findable dashboard2887 behaves like GET #metrics_dashboard for dashboard2888 returns correct dashboard2889 behaves like GET #metrics_dashboard correctly formatted response2890 returns a json object with the correct keys2891 behaves like dashboard can be specified2892 when dashboard is specified2893 behaves like error response2894 behaves like GET #metrics_dashboard correctly formatted response2895 returns a json object with the correct keys2896 when the project dashboard is available2897 behaves like the specified dashboard2898 behaves like includes all dashboards2899 includes info for all findable dashboard2900 behaves like GET #metrics_dashboard for dashboard2901 returns correct dashboard2902 behaves like GET #metrics_dashboard correctly formatted response2903 returns a json object with the correct keys2904 when the dashboard cannot not be processed2905 behaves like error response2906 behaves like GET #metrics_dashboard correctly formatted response2907 returns a json object with the correct keys2908 when the specified dashboard is the default dashboard2909 behaves like the default dashboard2910 behaves like includes all dashboards2911 includes info for all findable dashboard2912 behaves like GET #metrics_dashboard for dashboard2913 returns correct dashboard2914 behaves like GET #metrics_dashboard correctly formatted response2915 returns a json object with the correct keys2916 behaves like dashboard can be embedded2917 when the embedded flag is included2918 behaves like the default dynamic dashboard2919 behaves like specified dashboard embed2920 contains only the specified charts2921 behaves like 200 response2922 behaves like GET #metrics_dashboard correctly formatted response2923 returns a json object with the correct keys2924 when incomplete dashboard params are provided2925 behaves like the default dynamic dashboard2926 behaves like specified dashboard embed2927 contains only the specified charts2928 behaves like 200 response2929 behaves like GET #metrics_dashboard correctly formatted response2930 returns a json object with the correct keys2931 when invalid params are provided2932 behaves like the default dynamic dashboard2933 behaves like specified dashboard embed2934 contains only the specified charts2935 behaves like 200 response2936 behaves like GET #metrics_dashboard correctly formatted response2937 returns a json object with the correct keys2938 when the dashboard is correctly specified2939 behaves like error response2940 behaves like GET #metrics_dashboard correctly formatted response2941 returns a json object with the correct keys2942 and exists2943 behaves like specified dashboard embed2944 contains only the specified charts2945 behaves like 200 response2946 behaves like GET #metrics_dashboard correctly formatted response2947 returns a json object with the correct keys2948 with anonymous user and public dashboard visibility2949 behaves like the default dashboard2950 behaves like includes all dashboards2951 includes info for all findable dashboard2952 behaves like GET #metrics_dashboard for dashboard2953 returns correct dashboard2954 behaves like GET #metrics_dashboard correctly formatted response2955 returns a json object with the correct keys2956 permissions2957 checks :metrics_dashboard ability2958 GET #search2959 responds with status code 2002960 returns matched results2961 when query is review2962 returns matched results2963 when query is empty2964 returns matched results2965 when query is review/patch-32966 responds with status code 2042967 when query is partially matched in the middle of environment name2968 responds with status code 2042969 when query contains a wildcard character2970 prevents wildcard injection2971 when query matches case insensitively2972 returns matched results2973Projects::RepositoriesController2974 GET archive2975 as a guest2976 responds with redirect in correct format2977 as a user2978 uses Gitlab::Workhorse2979 responds with redirect to the short name archive if fully qualified2980 responds with redirect for a path with multiple slashes2981 handles legacy queries with no ref2982 handles legacy queries with the ref specified as ref in params2983 handles legacy queries with the ref specified as id in params2984 prioritizes the id param over the ref param when both are specified2985 behaves like hotlink interceptor2986 DDOS prevention2987 hotlinked as media2988 response_status: :ok, accept_header: "*/*"2989 renders the response2990 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"2991 renders the response2992 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"2993 renders the response2994 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"2995 renders the response2996 response_status: :ok, accept_header: "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"2997 renders the response2998 response_status: :ok, accept_header: "image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/x-shockwave-flash, application/msword, */*"2999 renders the response3000 response_status: :ok, accept_header: "text/html, application/xhtml+xml, image/jxr, */*"3001 renders the response3002 response_status: :ok, accept_header: "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"3003 renders the response3004 response_status: :not_acceptable, accept_header: "image/webp,*/*"3005 renders the response3006 response_status: :not_acceptable, accept_header: "image/png,image/*;q=0.8,*/*;q=0.5"3007 renders the response3008 response_status: :not_acceptable, accept_header: "image/webp,image/apng,image/*,*/*;q=0.8"3009 renders the response3010 response_status: :not_acceptable, accept_header: "image/png,image/svg+xml,image/*;q=0.8, */*;q=0.5"3011 renders the response3012 response_status: :not_acceptable, accept_header: "video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5"3013 renders the response3014 response_status: :not_acceptable, accept_header: "audio/webm,audio/ogg,audio/wav,audio/*;q=0.9,application/ogg;q=0.7,video/*;q=0.6,*/*;q=0.5"3015 renders the response3016 response_status: :not_acceptable, accept_header: "text/css,*/*;q=0.1"3017 renders the response3018 response_status: :not_acceptable, accept_header: "text/css"3019 renders the response3020 response_status: :not_acceptable, accept_header: "text/css,*/*;q=0.1"3021 renders the response3022 hotlinked as a script3023 response_status: :ok, fetch_mode: "navigate"3024 renders the response3025 response_status: :ok, fetch_mode: "nested-navigate"3026 renders the response3027 response_status: :ok, fetch_mode: "same-origin"3028 renders the response3029 response_status: :not_acceptable, fetch_mode: "cors"3030 renders the response3031 response_status: :not_acceptable, fetch_mode: "no-cors"3032 renders the response3033 response_status: :not_acceptable, fetch_mode: "websocket"3034 renders the response3035 when the service raises an error3036 renders Not Found3037 when the request format is HTML3038 renders 4043039 rate limiting3040 rate limits user when thresholds hit3041 caching3042 sets appropriate caching headers3043 when project is public3044 sets appropriate caching headers3045 when ref is a commit SHA3046 max-age is set to 3600 in Cache-Control header3047 when If-None-Modified header is set3048 returns a 304 status3049 as a sessionless user3050 when no token is provided3051 redirects to sign in page3052 when a token param is present3053 when token is correct3054 calls the action normally3055 when token is incorrect3056 redirects to sign in page3057 when a token header is present3058 when token is correct3059 calls the action normally3060 when token is incorrect3061 redirects to sign in page3062API::ProjectMilestones3063 behaves like group and project milestones3064 GET /projects/:id/milestones3065 returns milestones list3066 returns a 401 error if user not authenticated3067 returns an array of active milestones3068 returns an array of closed milestones3069 returns an array of milestones specified by iids3070 does not return any milestone if none found3071 returns a milestone by iids array3072 returns a milestone by title3073 returns a milestone by searching for title3074 returns a milestones by searching for description3075 GET /projects/:id/milestones/:milestone_id3076 returns a milestone by id3077 returns 401 error if user not authenticated3078 returns a 404 error if milestone id not found3079 POST /projects/:id/milestones3080 creates a new milestone3081 creates a new milestone with description and dates3082 returns a 400 error if title is missing3083 returns a 400 error if params are invalid (duplicate title)3084 creates a new milestone with reserved html characters3085 PUT /projects/:id/milestones/:milestone_id3086 updates a milestone3087 removes a due date if nil is passed3088 returns a 404 error if milestone id not found3089 closes milestone3090 updates milestone with only start date3091 DELETE /projects/:id/milestones/:milestone_id3092 rejects a member with reporter access from deleting a milestone3093 deletes the milestone when the user has developer access to the project3094 GET /projects/:id/milestones/:milestone_id/issues3095 returns issues for a particular milestone3096 returns issues sorted by label priority3097 matches V4 response schema for a list of issues3098 returns a 401 error if user not authenticated3099 confidential issues3100 returns confidential issues to team members3101 does not return confidential issues to team members with guest role3102 does not return confidential issues to regular users3103 returns issues ordered by label priority3104 GET /projects/:id/milestones/:milestone_id/merge_requests3105 returns merge_requests for a particular milestone3106 returns merge_requests sorted by label priority3107 returns a 404 error if milestone id not found3108 returns a 404 if the user has no access to the milestone3109 returns a 401 error if user not authenticated3110 returns merge_requests ordered by position asc3111 GET /projects/:id/milestones3112 when include_parent_milestones is true3113 when project parent is a namespace3114 behaves like listing all milestones3115 returns correct list of milestones3116 when project parent is a group3117 behaves like listing all milestones3118 returns correct list of milestones3119 when iids param is present3120 behaves like listing all milestones3121 returns correct list of milestones3122 when user is not a member of the private project3123 returns a 404 error3124 DELETE /projects/:id/milestones/:milestone_id3125 returns 404 response when the project does not exist3126 returns 404 response when the milestone does not exist3127 returns 404 from guest user deleting a milestone3128 PUT /projects/:id/milestones/:milestone_id to test observer on close3129 creates an activity event when a milestone is closed3130 POST /projects/:id/milestones/:milestone_id/promote3131 when user does not have permission to promote milestone3132 returns 4033133 when user has permission3134 returns 2003135 returns 200 for closed milestone3136 when no such resource3137 returns 404 response when the project does not exist3138 returns 404 response when the milestone does not exist3139 when project does not belong to group3140 returns 4033141GitlabSchema configurations3142 depth, complexity and recursion checking3143 unauthenticated recursive queries3144 a not-quite-recursive-enough introspective query3145 succeeds3146 failing queries3147 a recursive introspective query3148 fails due to recursion3149 a recursive non-introspective query3150 using `nodes` notation3151 behaves like fails due to recursion, complexity and depth3152 fails due to recursion, complexity and depth3153 using `edges -> node` notation3154 behaves like fails due to recursion, complexity and depth3155 fails due to recursion, complexity and depth3156 regular queries3157 behaves like imposing query limits3158 timeouts3159 when timeout is reached3160 shows an error3161 #max_complexity3162 when complexity is too high3163 shows an error3164 #max_depth3165 when query depth is too high3166 shows error3167 when query depth is within range3168 has no error3169 multiplexed queries3170 does not authenticate all queries3171 behaves like imposing query limits3172 fails all queries when only one of the queries is too complex3173 timeouts3174 when timeout is reached3175 shows an error3176 #max_complexity3177 when complexity is too high3178 shows an error3179 #max_depth3180 when query depth is too high3181 shows error3182 when query depth is within range3183 has no error3184 authentication3185 authenticates all queries3186 when IntrospectionQuery3187 is not too complex nor recursive3188 logging3189 logs the query complexity and depth3190 logs using `format_message`3191 global id's3192 uses GlobalID to expose ids3193API::ProtectedBranches3194 GET /projects/:id/protected_branches3195 when authenticated as a maintainer3196 when search param is not present3197 behaves like protected branches3198 returns the protected branches3199 when search param is present3200 behaves like protected branches3201 returns the protected branches3202 when authenticated as a guest3203 behaves like 403 response3204 returns 4033205 GET /projects/:id/protected_branches/:branch3206 when authenticated as a maintainer3207 behaves like protected branch3208 returns the protected branch3209 when protected branch does not exist3210 behaves like 404 response3211 returns 4043212 when protected branch contains a wildcard3213 behaves like protected branch3214 returns the protected branch3215 when protected branch does not exist3216 behaves like 404 response3217 returns 4043218 when protected branch contains a period3219 behaves like protected branch3220 returns the protected branch3221 when protected branch does not exist3222 behaves like 404 response3223 returns 4043224 when authenticated as a guest3225 behaves like 403 response3226 returns 4033227 POST /projects/:id/protected_branches3228 when authenticated as a maintainer3229 protects a single branch3230 protects a single branch and developers can push3231 protects a single branch and developers can merge3232 protects a single branch and developers can push and merge3233 protects a single branch and no one can push3234 protects a single branch and no one can merge3235 protects a single branch and no one can push or merge3236 returns a 409 error if the same branch is protected twice3237 when branch has a wildcard in its name3238 protects multiple branches with a wildcard in the name3239 when a policy restricts rule deletion3240 prevents deletion of the protected branch rule3241 when authenticated as a guest3242 returns a 403 error if guest3243 DELETE /projects/:id/protected_branches/unprotect/:branch3244 unprotects a single branch3245 returns 404 if branch does not exist3246 behaves like 412 response3247 for a modified ressource3248 returns 412 with a JSON error3249 for an unmodified ressource3250 returns 204 with an empty body3251 when a policy restricts rule deletion3252 prevents deletion of the protected branch rule3253 when branch has a wildcard in its name3254 unprotects a wildcard branch3255API::Ci::Runner3256 /api/v4/jobs3257 PATCH /api/v4/jobs/:id/trace3258 updates runner info3259 behaves like API::CI::Runner application context metadata3260 contains correct context metadata3261 when request is valid3262 gets correct response3263 when job has been updated recently3264 is expected not to change `job.updated_at`3265 changes the job's trace3266 when Runner makes a force-patch3267 is expected not to change `job.updated_at`3268 doesn't change the build.trace3269 when job was not updated recently3270 is expected to change `job.updated_at`3271 changes the job.trace3272 when Runner makes a force-patch3273 is expected to change `job.updated_at`3274 doesn't change the job.trace3275 when project for the build has been deleted3276 responds with forbidden3277 when trace is patched3278 has valid trace3279 when job is cancelled3280 when trace is patched3281 returns Forbidden3282 when redis data are flushed3283 has empty trace3284 when we perform partial patch3285 returns an error3286 when we resend full trace3287 succeeds with updating trace3288 when concurrent update of trace is happening3289 returns that operation conflicts3290 when the job is canceled3291 receives status in header3292 when build trace is being watched3293 returns X-GitLab-Trace-Update-Interval as 33294 when build trace is not being watched3295 returns X-GitLab-Trace-Update-Interval as 303296 when Runner makes a force-patch3297 gets correct response3298 when content-range start is too big3299 gets 416 error response with range headers3300 when content-range start is too small3301 gets 416 error response with range headers3302 when Content-Range header is missing3303 is expected to respond with numeric status code bad_request3304 when job has been errased3305 is expected to respond with numeric status code forbidden3306API::ProjectHooks ProjectHooks3307 GET /projects/:id/hooks3308 authorized user3309 returns project hooks3310 unauthorized user3311 does not access project hooks3312 GET /projects/:id/hooks/:hook_id3313 authorized user3314 returns a project hook3315 returns a 404 error if hook id is not available3316 unauthorized user3317 does not access an existing hook3318 POST /projects/:id/hooks3319 adds hook to project3320 adds the token without including it in the response3321 returns a 400 error if url not given3322 returns a 422 error if url not valid3323 returns a 422 error if branch filter is not valid3324 PUT /projects/:id/hooks/:hook_id3325 updates an existing project hook3326 adds the token without including it in the response3327 returns 404 error if hook id not found3328 returns 400 error if url is not given3329 returns a 422 error if url is not valid3330 DELETE /projects/:id/hooks/:hook_id3331 deletes hook from project3332 returns a 404 error when deleting non existent hook3333 returns a 404 error if hook id not given3334 returns a 404 if a user attempts to delete project hooks they do not own3335 behaves like 412 response3336 for a modified ressource3337 returns 412 with a JSON error3338 for an unmodified ressource3339 returns 204 with an empty body3340Groups::RunnersController3341 #show3342 when user is owner3343 renders show with 200 status code3344 renders show with 200 status code project runner3345 when user is not owner3346 renders a 4043347 renders a 404 project runner3348 #edit3349 when user is owner3350 renders show with 200 status code3351 renders show with 200 status code project runner3352 when user is not owner3353 renders a 4043354 renders a 404 project runner3355 #update3356 when user is an owner3357 updates the runner, ticks the queue, and redirects3358 updates the project runner, ticks the queue, and redirects project runner3359 when user is not an owner3360 rejects the update and responds 4043361 rejects the update and responds 404 project runner3362 #destroy3363 when user is an owner3364 destroys the runner and redirects3365 destroys the project runner and redirects3366 when user is an owner and runner in multiple projects3367 does not destroy the project runner3368 when user is not an owner3369 responds 404 and does not destroy the runner3370 responds 404 and does not destroy the project runner3371 #resume3372 when user is an owner3373 marks the runner as active, ticks the queue, and redirects3374 marks the project runner as active, ticks the queue, and redirects3375 when user is not an owner3376 responds 404 and does not activate the runner3377 responds 404 and does not activate the project runner3378 #pause3379 when user is an owner3380 marks the runner as inactive, ticks the queue, and redirects3381 marks the project runner as inactive, ticks the queue, and redirects3382 when user is not an owner3383 responds 404 and does not update the runner or queue3384 responds 404 and does not update the project runner or queue3385API::ResourceMilestoneEvents3386 when eventable is an Issue3387 behaves like resource_milestone_events API3388 GET /projects/:id/issues/:noteable_id/resource_milestone_events3389 returns an array of resource milestone events3390 returns a 404 error when eventable id not found3391 returns 404 when not authorized3392 when there is an event with a milestone which is not visible for requesting user3393 returns the expected events3394 GET /projects/:id/issues/:noteable_id/resource_milestone_events/:event_id3395 returns a resource milestone event by id3396 returns 404 when not authorized3397 returns a 404 error if resource milestone event not found3398 pagination3399 returns the second page3400 when eventable is a Merge Request3401 behaves like resource_milestone_events API3402 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events3403 returns an array of resource milestone events3404 returns a 404 error when eventable id not found3405 returns 404 when not authorized3406 when there is an event with a milestone which is not visible for requesting user3407 returns the expected events3408 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events/:event_id3409 returns a resource milestone event by id3410 returns 404 when not authorized3411 returns a 404 error if resource milestone event not found3412 pagination3413 returns the second page3414API::ResourceLabelEvents3415 when eventable is an Issue3416 behaves like resource_label_events API3417 GET /projects/:id/issues/:noteable_id/resource_label_events3418 with local label reference3419 returns an array of resource label events3420 returns a 404 error when eventable id not found3421 returns 404 when not authorized3422 with cross-project label reference3423 returns cross references accessible by user3424 does not return cross references not accessible by user3425 GET /projects/:id/issues/:noteable_id/resource_label_events/:event_id3426 with local label reference3427 returns a resource label event by id3428 returns 404 when not authorized3429 returns a 404 error if resource label event not found3430 with cross-project label reference3431 returns a 404 error if cross-reference project is not accessible3432 pagination3433 returns the second page3434 when eventable is a Merge Request3435 behaves like resource_label_events API3436 GET /projects/:id/merge_requests/:noteable_id/resource_label_events3437 with local label reference3438 returns an array of resource label events3439 returns a 404 error when eventable id not found3440 returns 404 when not authorized3441 with cross-project label reference3442 returns cross references accessible by user3443 does not return cross references not accessible by user3444 GET /projects/:id/merge_requests/:noteable_id/resource_label_events/:event_id3445 with local label reference3446 returns a resource label event by id3447 returns 404 when not authorized3448 returns a 404 error if resource label event not found3449 with cross-project label reference3450 returns a 404 error if cross-reference project is not accessible3451 pagination3452 returns the second page3453Toggling an AwardEmoji3454 when the user has permission3455 when the given awardable is not an Awardable3456 behaves like a mutation that does not create or destroy an AwardEmoji3457 is expected not to change `AwardEmoji.count`3458 behaves like a mutation that returns top-level errors3459 is expected to eq ["Cannot award emoji to this resource"]3460 when the given awardable is an Awardable but still cannot be awarded an emoji3461 behaves like a mutation that does not create or destroy an AwardEmoji3462 is expected not to change `AwardEmoji.count`3463 behaves like a mutation that returns top-level errors3464 is expected to eq ["Cannot award emoji to this resource"]3465 when the given awardable is an Awardable3466 when no emoji has been awarded by the current_user yet3467 creates an emoji3468 returns the emoji3469 returns toggledOn as true3470 marking Todos as done3471 type: :issue, expectation: true3472 is expected to eq true3473 type: :merge_request, expectation: true3474 is expected to eq true3475 type: :project_snippet, expectation: false3476 is expected to eq false3477 for notes3478 regular Notes3479 marks the Todo as done3480 PersonalSnippet Notes3481 does not mark the Todo as done3482 when there were active record validation errors3483 returns an empty awardEmoji3484 behaves like a mutation that does not create or destroy an AwardEmoji3485 is expected not to change `AwardEmoji.count`3486 behaves like a mutation that returns errors in the response3487 is expected to eq ["Error 1", "Error 2"]3488 when an emoji has been awarded by the current_user3489 removes the emoji3490 returns no errors3491 returns an empty awardEmoji3492 returns toggledOn as false3493 when the user does not have permission3494 behaves like a mutation that does not create or destroy an AwardEmoji3495 is expected not to change `AwardEmoji.count`3496 behaves like a mutation that returns a top-level access error3497 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"]3498Projects::LabelsController3499 GET #index3500 @prioritized_labels3501 does not include labels without priority3502 is sorted by priority, then label title3503 @labels3504 is sorted by label title3505 does not include labels with priority3506 does not include group labels when project does not belong to a group3507 POST #generate3508 personal project3509 creates labels3510 project belonging to a group3511 creates labels3512 POST #toggle_subscription3513 allows user to toggle subscription on project labels3514 allows user to toggle subscription on group labels3515 POST #promote3516 not group reporters3517 denies access3518 group reporter3519 gives access3520 promotes the label3521 renders label name without parsing it as HTML3522 service raising InvalidRecord3523 returns to label list3524 #ensure_canonical_path3525 for a GET request3526 when requesting the canonical path3527 non-show path3528 with exactly matching casing3529 does not redirect3530 with different casing3531 redirects to the correct casing3532 when requesting a redirected path3533 redirects to the canonical path3534 with an AJAX request3535 redirects to the canonical path but does not set flash message3536 with JSON format3537 redirects to the canonical path but does not set flash message3538 for a non-GET request3539 when requesting the canonical path with different casing3540 does not 4043541 does not redirect to the correct casing3542 when requesting a redirected path3543 returns not found3544API::FreezePeriods3545 GET /projects/:id/freeze_periods3546 when the user is the admin3547 returns 200 HTTP status3548 when the user is the maintainer3549 when there are two freeze_periods3550 returns 200 HTTP status3551 returns freeze_periods ordered by created_at ascending3552 matches response schema3553 when there are no freeze_periods3554 returns 200 HTTP status3555 returns an empty response3556 when user is a guest3557 responds 403 Forbidden3558 when user is not a project member3559 responds 404 Not Found3560 when project is public3561 responds 403 Forbidden3562 GET /projects/:id/freeze_periods/:freeze_period_id3563 when there is a freeze period3564 when the user is the admin3565 responds 200 OK3566 when the user is the maintainer3567 responds 200 OK3568 returns a freeze period3569 matches response schema3570 when user is a guest3571 responds 403 Forbidden3572 when project is public3573 when freeze_period exists3574 responds 403 Forbidden3575 when freeze_period does not exist3576 responds 403 Forbidden3577 POST /projects/:id/freeze_periods3578 when the user is the admin3579 accepts the request3580 when user is the maintainer3581 with valid params3582 accepts the request3583 creates a new freeze period3584 matches response schema3585 with incomplete params3586 responds 400 Bad Request3587 with invalid params3588 responds 400 Bad Request3589 when user is a developer3590 responds 403 Forbidden3591 when user is a reporter3592 responds 403 Forbidden3593 when user is not a project member3594 responds 403 Forbidden3595 when project is public3596 responds 403 Forbidden3597 PUT /projects/:id/freeze_periods/:freeze_period_id3598 when user is the admin3599 accepts the request3600 when user is the maintainer3601 with valid params3602 accepts the request3603 performs the update3604 matches response schema3605 with invalid params3606 responds 400 Bad Request3607 when user is a reporter3608 responds 403 Forbidden3609 when user is not a project member3610 responds 404 Not Found3611 when project is public3612 responds 403 Forbidden3613 DELETE /projects/:id/freeze_periods/:freeze_period_id3614 when user is the admin3615 accepts the request3616 when user is the maintainer3617 accepts the request3618 destroys the freeze period3619 when it is a non-existing freeze period id3620 4043621 when user is a reporter3622 responds 403 Forbidden3623 when user is not a project member3624 responds 404 Not Found3625 when project is public3626 responds 403 Forbidden3627MetricsDashboard3628 GET #metrics_dashboard3629 when no parameters are provided3630 returns an error json_response3631 when params are provided3632 returns the specified dashboard3633 when the params are in an alternate format3634 returns the specified dashboard3635 when environment for dashboard is available3636 returns the specified dashboard3637 when dashboard path includes encoded characters3638 decodes dashboard path3639 when parameters are provided and the list of all dashboards is required3640 returns a dashboard in addition to the list of dashboards3641 in all_dashboard list3642 includes project_blob_path only for project dashboards3643 allows editing only for project dashboards3644 includes out_of_the_box_dashboard key3645 project permissions3646 can_collaborate: false, system_can_edit: false, project_can_edit: false3647 sets can_edit appropriately3648 can_collaborate: true, system_can_edit: false, project_can_edit: true3649 sets can_edit appropriately3650 starred dashboards3651 adds starred dashboard information and sorts the list3652Projects::BoardsController3653 GET index3654 creates a new project board when project does not have one3655 sets boards_endpoint instance variable to a boards path3656 when format is HTML3657DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:30)3658 renders template3659 with unauthorized user3660DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:44)3661 returns a not found 404 response3662 when user is signed out3663DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:60)3664 renders template3665 when format is JSON3666 returns a list of project boards3667 with unauthorized user3668DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:88)3669 returns a not found 404 response3670 issues are disabled3671 returns a not found 404 response3672 behaves like unauthorized when external service denies access3673 allows access when the authorization service allows it3674 allows access when the authorization service denies it3675 GET show3676 sets boards_endpoint instance variable to a boards path3677 when format is HTML3678DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:130)3679 renders template3680 with unauthorized user3681DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:144)3682 returns a not found 404 response3683 when user is signed out3684DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:157)3685 does not save visit3686 when format is JSON3687 returns project board3688 with unauthorized user3689DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/projects/boards_controller_spec.rb:182)3690 returns a not found 404 response3691 when board does not belong to project3692 returns a not found 404 response3693Projects::Settings::OperationsController3694 GET #show3695 renders show template3696 with insufficient permissions3697 renders 4043698 as an anonymous user3699 redirects to signup page3700 PATCH #update3701 with insufficient permissions3702 renders 4043703 as an anonymous user3704 redirects to signup page3705 incident management3706 GET #show3707 with existing setting3708 loads existing setting3709 without an existing setting3710 builds a new setting3711 PATCH #update3712 behaves like PATCHable3713 format json3714 when update succeeds3715 returns success status3716 when update fails3717 returns error3718 updating each incident management setting3719 behaves like a gitlab tracking event3720 creates a gitlab tracking event enabled_issue_auto_creation_on_alerts3721 behaves like a gitlab tracking event3722 creates a gitlab tracking event disabled_issue_auto_creation_on_alerts3723 behaves like a gitlab tracking event3724 creates a gitlab tracking event enabled_issue_template_on_alerts3725 behaves like a gitlab tracking event3726 creates a gitlab tracking event disabled_issue_template_on_alerts3727 behaves like a gitlab tracking event3728 creates a gitlab tracking event enabled_sending_emails3729 behaves like a gitlab tracking event3730 creates a gitlab tracking event disabled_sending_emails3731 behaves like a gitlab tracking event3732 creates a gitlab tracking event enabled_pagerduty_webhook3733 behaves like a gitlab tracking event3734 creates a gitlab tracking event disabled_pagerduty_webhook3735 behaves like a gitlab tracking event3736 creates a gitlab tracking event enabled_auto_close_incident3737 behaves like a gitlab tracking event3738 creates a gitlab tracking event disabled_auto_close_incident3739 POST #reset_pagerduty_token3740 with existing incident management setting has active PagerDuty webhook3741 returns newly reset token3742 without existing incident management setting3743 does not reset a token3744 when update fails3745 returns unprocessable_entity3746 with insufficient permissions3747 returns 4043748 as an anonymous user3749 returns a redirect3750 error tracking3751 GET #show3752 with existing setting3753 loads existing setting3754 without an existing setting3755 builds a new setting3756 PATCH #update3757 behaves like PATCHable3758 format json3759 when update succeeds3760 returns success status3761 when update fails3762 returns error3763 metrics dashboard setting3764 PATCH #update3765 behaves like PATCHable3766 format json3767 when update succeeds3768 returns success status3769 when update fails3770 returns error3771 grafana integration3772 PATCH #update3773 behaves like PATCHable3774 format json3775 when update succeeds3776 returns success status3777 when update fails3778 returns error3779 prometheus integration3780 PATCH #update3781 feature flag :settings_operations_prometheus_service is enabled3782 behaves like PATCHable3783 format json3784 when update succeeds3785 returns success status3786 when update fails3787 returns error3788 feature flag :settings_operations_prometheus_service is disabled3789 behaves like PATCHable3790 format json3791 when update succeeds3792 returns success status3793 when update fails3794 returns error3795 POST #reset_alerting_token3796 with existing alerting setting3797 returns newly reset token3798 without existing alerting setting3799 creates a token3800 when update fails3801 returns unprocessable_entity3802 with insufficient permissions3803 returns 4043804 as an anonymous user3805 returns a redirect3806Creating a Snippet3807 when the user does not have permission3808 does not create the Snippet3809 behaves like a mutation that returns top-level errors3810 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"]3811 when user is not authorized in the project3812 does not create the snippet when the user is not authorized3813 when the user has permission3814 with PersonalSnippet3815 behaves like creates snippet3816 returns the created Snippet3817 when action is invalid3818 behaves like a mutation that returns errors in the response3819 is expected to eq ["Snippet actions have invalid data"]3820 behaves like does not create snippet3821 does not create the Snippet3822 does not return Snippet3823 with ProjectSnippet3824 behaves like creates snippet3825 returns the created Snippet3826 when action is invalid3827 behaves like a mutation that returns errors in the response3828 is expected to eq ["Snippet actions have invalid data"]3829 behaves like does not create snippet3830 does not create the Snippet3831 does not return Snippet3832 when the project path is invalid3833 behaves like a mutation that returns top-level errors3834 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"]3835 when the feature is disabled3836 behaves like a mutation that returns top-level errors3837 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"]3838 when there are ActiveRecord validation errors3839 behaves like a mutation that returns errors in the response3840 is expected to eq ["Title can't be blank"]3841 behaves like does not create snippet3842 does not create the Snippet3843 does not return Snippet3844 when there non ActiveRecord errors3845 behaves like a mutation that returns errors in the response3846 is expected to eq ["Repository Error creating the snippet - Invalid file name"]3847 behaves like does not create snippet3848 does not create the Snippet3849 does not return Snippet3850 when there are uploaded files3851 behaves like expected files argument3852 is expected to receive new(nil, #<User id:2443 @user2475>, hash_including(:files=>nil)) 1 time3853 behaves like expected files argument3854 is expected to receive new(nil, #<User id:2443 @user2475>, hash_including(:files=>["foo", "bar"])) 1 time3855 behaves like expected files argument3856 is expected to receive new(nil, #<User id:2443 @user2475>, hash_including(:files=>["foo"])) 1 time3857 when files has an invalid value3858 returns an error3859uploading designs3860 returns an error if the user is not allowed to upload designs3861 succeeds (backward compatibility)3862 succeeds3863 responds with the created designs3864 can respond with skipped designs3865 when the issue does not exist3866 returns an error3867 when saving the designs raises an error3868 responds with errors3869API::PagesDomains3870 GET /pages/domains3871 when pages is disabled3872 behaves like 404 response3873 returns 4043874 when pages is enabled3875 when authenticated as an admin3876 returns paginated all pages domains3877 when authenticated as a non-member3878 behaves like 403 response3879 returns 4033880 GET /projects/:project_id/pages/domains3881 when pages is disabled3882 behaves like 404 response3883 returns 4043884 when user is a maintainer3885 behaves like get pages domains3886 returns paginated pages domains3887 when user is a developer3888 behaves like 403 response3889 returns 4033890 when user is a reporter3891 behaves like 403 response3892 returns 4033893 when user is a guest3894 behaves like 403 response3895 returns 4033896 when user is not a member3897 behaves like 404 response3898 returns 4043899 GET /projects/:project_id/pages/domains/:domain3900 when domain is vacant3901 behaves like 404 response3902 returns 4043903 when user is a maintainer3904 behaves like get pages domain3905 returns pages domain3906 returns pages domain with project path3907 returns pages domain with a certificate3908 returns pages domain with an expired certificate3909 returns pages domain with letsencrypt3910 when user is a developer3911 behaves like 403 response3912 returns 4033913 when user is a reporter3914 behaves like 403 response3915 returns 4033916 when user is a guest3917 behaves like 403 response3918 returns 4033919 when user is not a member3920 behaves like 404 response3921 returns 4043922 POST /projects/:project_id/pages/domains3923 when user is a maintainer3924 behaves like post pages domains3925 creates a new pages domain3926 creates a new secure pages domain3927 creates domain with letsencrypt enabled3928 creates domain with letsencrypt enabled and provided certificate3929 fails to create pages domain without key3930 fails to create pages domain with key missmatch3931 when user is a developer3932 behaves like 403 response3933 returns 4033934 when user is a reporter3935 behaves like 403 response3936 returns 4033937 when user is a guest3938 behaves like 403 response3939 returns 4033940 when user is not a member3941 behaves like 404 response3942 returns 4043943 PUT /projects/:project_id/pages/domains/:domain3944 when domain is vacant3945 behaves like 404 response3946 returns 4043947 when user is a maintainer3948 behaves like put pages domain3949 updates pages domain removing certificate3950 updates pages domain adding certificate3951 updates pages domain adding certificate with letsencrypt3952 updates pages domain enabling letsencrypt3953 updates pages domain disabling letsencrypt while preserving the certificate3954 updates pages domain with expired certificate3955 updates pages domain with expired certificate not updating key3956 updates certificate source to user_provided if is changed3957 fails to update pages domain adding certificate without key3958 fails to update pages domain adding certificate with missing chain3959 fails to update pages domain with key missmatch3960 when user is a developer3961 behaves like 403 response3962 returns 4033963 when user is a reporter3964 behaves like 403 response3965 returns 4033966 when user is a guest3967 behaves like 403 response3968 returns 4033969 when user is not a member3970 behaves like 404 response3971 returns 4043972 DELETE /projects/:project_id/pages/domains/:domain3973 when domain is vacant3974 behaves like 404 response3975 returns 4043976 when user is a maintainer3977 behaves like delete pages domain3978 deletes a pages domain3979 when user is a developer3980 behaves like 403 response3981 returns 4033982 when user is a reporter3983 behaves like 403 response3984 returns 4033985 when user is a guest3986 behaves like 403 response3987 returns 4033988 when user is not a member3989 behaves like 404 response3990 returns 4043991Projects::ImportsController3992 GET #show3993 when the user has maintainer rights3994 when repository does not exists3995 renders template3996 sets flash.now if params is present3997 when repository exists3998 when import is in progress3999 renders template4000 sets flash.now if params is present4001 when import failed4002 redirects to new_namespace_project_import_path4003 when import finished4004 when project is a fork4005 redirects to namespace_project_path4006 when project is external4007 redirects to namespace_project_path4008 when continue params is present4009 redirects to internal params[:to]4010 does not redirect to external params[:to]4011 when import never happened4012 redirects to namespace_project_path4013 when project is in group4014 when user has developer access to group and import is in progress4015 when group allows developers to create projects4016 renders template4017 when group prohibits developers to create projects4018 returns 404 response4019 POST #create4020 sets import_url to the project4021API::GroupImport4022 POST /groups/import4023 with object storage disabled4024 doesn't attempt to migrate file to object storage4025 without a file from workhorse4026 rejects the request4027 without a workhorse header4028 rejects request without a workhorse header4029 when params from workhorse are correct4030 when user is authorized to create new group4031 creates new group and accepts request4032 creates private group4033 when importing to a parent group4034 creates new group and accepts request4035 when parent group is private or internal4036 imports public group4037 imports internal group4038 when parent group is invalid4039 returns 404 and does not create new group4040 when user is not an owner of parent group4041 returns 403 Forbidden HTTP status4042 when group creation failed4043 returns 400 HTTP status4044 when user is not authorized to create new group4045 forbids the request4046 when required params are missing4047 returns 400 HTTP status4048 returns 400 HTTP status4049 with object storage enabled4050 with direct upload enabled4051 accepts the request and stores the file4052 when user is authorized to create new group4053 creates new group and accepts request4054 creates private group4055 when importing to a parent group4056 creates new group and accepts request4057 when parent group is private or internal4058 imports public group4059 imports internal group4060 when parent group is invalid4061 returns 404 and does not create new group4062 when user is not an owner of parent group4063 returns 403 Forbidden HTTP status4064 when group creation failed4065 returns 400 HTTP status4066 when user is not authorized to create new group4067 forbids the request4068 when required params are missing4069 returns 400 HTTP status4070 returns 400 HTTP status4071 POST /groups/import/authorize4072DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/group_import_spec.rb:267)4073 authorizes importing group with workhorse header4074 rejects requests that bypassed gitlab-workhorse4075 when using remote storage4076 when direct upload is enabled4077DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/group_import_spec.rb:288)4078 responds with status 200, location of file remote store and object details4079 when direct upload is disabled4080DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/requests/api/group_import_spec.rb:307)4081 handles as a local file4082API::ErrorTracking4083 PATCH /projects/:id/error_tracking/settings4084 when authenticated as maintainer4085 patch settings4086 updates enabled flag4087 behaves like returns project settings4088 returns correct project settings4089 active is invalid4090 returns active is invalid if non boolean4091 active is empty4092 returns 4004093 without a project setting4094 patch settings4095 behaves like returns 4044096 returns no project settings4097 when authenticated as reporter4098 patch request4099 returns 4034100 when authenticated as developer4101 patch request4102 returns 4034103 when authenticated as non-member4104 patch request4105 returns 4044106 when unauthenticated4107 patch request4108 returns 401 for update request4109 GET /projects/:id/error_tracking/settings4110 when authenticated as maintainer4111 get settings4112 behaves like returns project settings4113 returns correct project settings4114 without a project setting4115 get settings4116 behaves like returns 4044117 returns no project settings4118 when authenticated as reporter4119 returns 4034120 when authenticated as developer4121 returns 4034122 when authenticated as non-member4123 returns 4044124 when unauthenticated4125 returns 4014126Projects::CycleAnalyticsController4127 includes GracefulTimeoutHandling4128 counting page views for 'show'4129 increases the counter4130 tracking visits to html page4131 behaves like tracking unique visits4132 tracks unique visit if the format is HTML4133 tracks unique visit if DNT is not enabled4134 does not track unique visit if DNT is enabled4135 does not track unique visit if the format is JSON4136 cycle analytics not set up flag4137 with no data4138 is true4139 with data4140 is false4141RoutableActions4142 #find_routable!4143 when signed in4144 with a project4145 prevents access when not authorized4146 when authorized4147 returns the project4148 allows access4149 with a group4150 prevents access when not authorized4151 when authorized4152 returns the group4153 allows access4154 with a user4155 allows access when authorized4156 prevents access when unauthorized4157 when not signed in4158 redirects to sign in for private resouces4159 #perform_not_found_actions4160 performs multiple checks4161 performs checks in the context of the controller4162 skips checks once one has resulted in a render/redirect4163Projects::Registry::RepositoriesController4164 when user has access to registry4165 GET #index4166 behaves like renders a list of repositories4167 when root container repository exists4168 does not create root container repository4169 when root container repository is not created4170 when there are tags for this repository4171 successfully renders container repositories4172 tracks the event4173 creates a root container repository4174 json has a list of projects4175 behaves like with name parameter4176 returns the searched repo4177 when there are no tags for this repository4178 successfully renders container repositories4179 does not ensure root container repository4180 responds with json if asked4181 GET #show4182 behaves like renders a list of repositories4183 when root container repository exists4184 does not create root container repository4185 when root container repository is not created4186 when there are tags for this repository4187 successfully renders container repositories4188 tracks the event4189 creates a root container repository4190 json has a list of projects4191 behaves like with name parameter4192 returns the searched repo4193 when there are no tags for this repository4194 successfully renders container repositories4195 does not ensure root container repository4196 responds with json if asked4197 DELETE #destroy4198 when root container repository exists4199 schedules a job to delete a repository4200 tracks the event4201 when user does not have access to registry4202 GET #index4203 responds with 4044204 does not ensure root container repository4205API::Admin::InstanceClusters4206 GET /admin/clusters4207 when authenticated as a non-admin user4208 returns 4034209 when authenticated as admin4210 returns 2004211 includes pagination headers4212 only returns the instance clusters4213 GET /admin/clusters/:cluster_id4214 when authenticated as admin4215 when no cluster associated to the ID4216 returns 4044217 when cluster with cluster_id exists4218 returns 2004219 returns the cluster with cluster_id4220 returns the cluster information4221 returns kubernetes platform information4222 returns user information4223 returns GCP provider information4224 when cluster has no provider4225 does not include GCP provider info4226 when trying to get a project cluster via the instance cluster endpoint4227 returns 4044228 when authenticated as a non-admin user4229 returns 4034230 POST /admin/clusters/add4231 authorized user4232 with valid params4233 responds with 2014234 creates a new Clusters::Cluster4235 when user does not indicate authorization type4236 defaults to RBAC4237 when user sets authorization type as ABAC4238 creates an ABAC cluster4239 when an instance cluster already exists4240 allows user to add multiple clusters4241 with invalid params4242 when missing a required parameter4243 responds with 4004244 with a malformed api url4245 responds with 4004246 returns validation errors4247 non-authorized user4248 responds with 4034249 PUT /admin/clusters/:cluster_id4250 authorized user4251 with valid params4252 responds with 2004253 updates cluster attributes4254 with invalid params4255 responds with 4004256 does not update cluster attributes4257 returns validation errors4258 with a GCP cluster4259 when user tries to change GCP specific fields4260 responds with 4004261 returns validation error4262 when user tries to change domain4263 responds with 2004264 with an user cluster4265 responds with 2004266 updates platform kubernetes attributes4267 with a cluster that does not exist4268 returns 4044269 when trying to update a project cluster via the instance cluster endpoint4270 returns 4044271 non-authorized user4272 responds with 4034273 DELETE /admin/clusters/:cluster_id4274 authorized user4275 responds with 2044276 deletes the cluster4277 with a cluster that does not exist4278 returns 4044279 when trying to update a project cluster via the instance cluster endpoint4280 returns 4044281 non-authorized user4282 responds with 4034283Projects::BadgesController4284 #pipeline4285 behaves like a badge resource4286 when pipelines are public4287 when project is public4288 returns the pipeline badge to unauthenticated users4289 when project is restricted4290 returns the pipeline badge to guest users4291 format4292 renders the `flat` badge layout by default4293 when style param is set to `flat`4294 renders the `flat` badge layout4295 when style param is set to an invalid type4296 renders the `flat` (default) badge layout4297 when style param is set to `flat-square`4298 renders the `flat-square` badge layout4299 when pipelines are not public4300 when project is public4301 returns 404 to unauthenticated users4302 when project is restricted to the user4303 defaults to project permissions4304 customization4305 when key_text param is used4306 sets custom key text4307 when key_width param is used4308 sets custom key width4309 with ignore_skipped param4310 returns skipped badge if set to false4311 does not return skipped badge if set to true4312 #coverage4313 behaves like a badge resource4314 when pipelines are public4315 when project is public4316 returns the coverage badge to unauthenticated users4317 when project is restricted4318 returns the coverage badge to guest users4319 format4320 renders the `flat` badge layout by default4321 when style param is set to `flat`4322 renders the `flat` badge layout4323 when style param is set to an invalid type4324 renders the `flat` (default) badge layout4325 when style param is set to `flat-square`4326 renders the `flat-square` badge layout4327 when pipelines are not public4328 when project is public4329 returns 404 to unauthenticated users4330 when project is restricted to the user4331 defaults to project permissions4332 customization4333 when key_text param is used4334 sets custom key text4335 when key_width param is used4336 sets custom key width4337Projects::PerformanceMonitoring::DashboardsController4338 POST #create4339 authenticated user4340 project with repository feature4341 with rights to push to the repository4342 valid parameters4343 delegates cloning to ::Metrics::Dashboard::CloneDashboardService4344 request format json4345 returns services response4346 Metrics::Dashboard::CloneDashboardService failure4347 returns json with failure message4348 param commit_message is missing4349 responds with bad request status and error message4350 param file_name is missing4351 responds with bad request status and error message4352 param dashboard is missing4353 responds with bad request status and error message4354 param branch_name is missing4355 responds with bad request status and error message4356 without rights to push to repository4357 responds with :forbidden status code4358 project without repository feature4359 responds with :not_found status code4360 PUT #update4361 authenticated user4362 project with repository feature4363 with rights to push to the repository4364 valid parameters4365 request format json4366 returns path to new file4367 UpdateDashboardService failure4368 returns json with failure message4369 missing branch4370 raises responds with :bad_request status code and error message4371 without rights to push to repository4372 responds with :forbidden status code4373 project without repository feature4374 responds with :not_found status code4375Projects::Settings::AccessTokensController4376 #index4377 behaves like feature unavailability4378 when flag is disabled4379 is expected to respond with numeric status code not_found4380 when environment is Gitlab.com4381 is expected to respond with numeric status code not_found4382 when feature is available4383 retrieves active project access tokens4384 retrieves inactive project access tokens4385 lists all available scopes4386 retrieves newly created personal access token value4387 #create4388 behaves like feature unavailability4389 when flag is disabled4390 is expected to respond with numeric status code not_found4391 when environment is Gitlab.com4392 is expected to respond with numeric status code not_found4393 when feature is available4394 returns success message4395 creates project access token4396 creates project bot user4397 stores newly created token redis store4398 is expected to change `User.count` by 14399 is expected to change `PersonalAccessToken.count` by 14400 when unsuccessful4401 is expected to render template index4402 #revoke4403 behaves like feature unavailability4404 when flag is disabled4405 is expected to respond with numeric status code not_found4406 when environment is Gitlab.com4407 is expected to respond with numeric status code not_found4408 when feature is available4409 revokes token access4410 removed membership of bot user4411 blocks project bot user4412 converts issuables of the bot user to ghost user4413Groups::MilestonesController4414 N+1 DB queries4415 GET #index4416 avoids N+1 database queries4417 GET #show4418 avoids N+1 database queries4419API::Settings Settings4420 GET /application/settings4421 returns application settings4422 PUT /application/settings4423 supports legacy performance_bar_allowed_group_id4424 supports legacy performance_bar_enabled4425 supports legacy allow_local_requests_from_hooks_and_services4426 disables ability to switch to legacy storage4427 custom repository storage type set in the config4428 coerces repository_storages_weighted to an int4429 updates application settings4430 repository_storages_weighted value is outside a 0-100 range4431 returns a :bad_request for -14432 returns a :bad_request for 1014433 external policy classification settings4434 includes the attributes in the API4435 allows updating the settings4436 snowplow tracking settings4437 includes the attributes in the API4438 allows updating the settings4439 missing snowplow_collector_hostname value when snowplow_enabled is true4440 returns a blank parameter error message4441 handles validation errors4442 EKS integration settings4443 includes attributes in the API4444 does not include sensitive attributes in the API4445 allows updating the settings4446 EKS integration is enabled but params are blank4447 does not update the settings4448 missing plantuml_url value when plantuml_enabled is true4449 returns a blank parameter error message4450 asset_proxy settings4451 updates application settings4452 allows a string for asset_proxy_whitelist4453 domain_blacklist settings4454 rejects domain_blacklist_enabled when domain_blacklist is empty4455 allows array for domain_blacklist4456 allows a string for domain_blacklist4457 missing sourcegraph_url value when sourcegraph_enabled is true4458 returns a blank parameter error message4459 missing spam_check_endpoint_url value when spam_check_endpoint_enabled is true4460 returns a blank parameter error message4461doorkeeper access4462 unauthenticated4463 returns authentication success4464 allows user authenticating from the same ip4465 blocks user authenticating from two distinct ips4466 when token invalid4467 returns authentication error4468 authorization by OAuth token4469 returns authentication success4470 allows user authenticating from the same ip4471 blocks user authenticating from two distinct ips4472 when user is blocked4473 behaves like forbidden request4474 returns 403 response4475 when user is ldap_blocked4476 behaves like forbidden request4477 returns 403 response4478 when user is deactivated4479 behaves like forbidden request4480 returns 403 response4481API::Internal::Pages4482 GET /internal/pages/status4483 responds with 401 Unauthorized4484 responds with 204 no content4485 GET /internal/pages4486 not authenticated4487 responds with 401 Unauthorized4488 authenticated4489 domain does not exist4490 responds with 204 no content4491 serverless domain4492 without a knative ingress gateway IP4493 responds with 204 no content4494 with a knative ingress gateway IP4495 responds with proxy configuration4496 custom domain4497 when there are no pages deployed for the related project4498 responds with 204 No Content4499 when there are pages deployed for the related project4500 domain lookup is case insensitive4501 responds with the correct domain configuration4502 namespaced domain4503 regular project4504 responds with the correct domain configuration4505 group root project4506 responds with the correct domain configuration4507API::ResourceStateEvents4508 when eventable is an Issue4509 behaves like resource_state_events API4510 GET /projects/:id/issues/:noteable_id/resource_state_events4511 returns an array of resource state events4512 returns a 404 error when eventable id not found4513 returns 404 when not authorized4514 GET /projects/:id/issues/:noteable_id/resource_state_events/:event_id4515 returns a resource state event by id4516 returns 404 when not authorized4517 returns a 404 error if resource state event not found4518 pagination4519 returns the second page4520 when eventable is a Merge Request4521 behaves like resource_state_events API4522 GET /projects/:id/merge_requests/:noteable_id/resource_state_events4523 returns an array of resource state events4524 returns a 404 error when eventable id not found4525 returns 404 when not authorized4526 GET /projects/:id/merge_requests/:noteable_id/resource_state_events/:event_id4527 returns a resource state event by id4528 returns 404 when not authorized4529 returns a 404 error if resource state event not found4530 pagination4531 returns the second page4532Oauth::ApplicationsController4533 project members4534 GET #new4535 is expected to respond with numeric status code ok4536 behaves like redirects to login page when the user is not signed in4537 is expected to redirect to "/users/sign_in"4538 behaves like redirects to 2fa setup page when the user requires it4539 when 2fa is set up on application level4540 is expected to redirect to "/profile/two_factor_auth"4541 when 2fa is set up on group level4542 is expected to redirect to "/profile/two_factor_auth"4543 DELETE #destroy4544 is expected to redirect to "http://test.host/oauth/applications"4545 behaves like redirects to login page when the user is not signed in4546 is expected to redirect to "/users/sign_in"4547 behaves like redirects to 2fa setup page when the user requires it4548 when 2fa is set up on application level4549 is expected to redirect to "/profile/two_factor_auth"4550 when 2fa is set up on group level4551 is expected to redirect to "/profile/two_factor_auth"4552 GET #edit4553 is expected to respond with numeric status code ok4554 behaves like redirects to login page when the user is not signed in4555 is expected to redirect to "/users/sign_in"4556 behaves like redirects to 2fa setup page when the user requires it4557 when 2fa is set up on application level4558 is expected to redirect to "/profile/two_factor_auth"4559 when 2fa is set up on group level4560 is expected to redirect to "/profile/two_factor_auth"4561 PUT #update4562 is expected to redirect to "http://test.host/oauth/applications/19"4563 behaves like redirects to login page when the user is not signed in4564 is expected to redirect to "/users/sign_in"4565 behaves like redirects to 2fa setup page when the user requires it4566 when 2fa is set up on application level4567 is expected to redirect to "/profile/two_factor_auth"4568 when 2fa is set up on group level4569 is expected to redirect to "/profile/two_factor_auth"4570 GET #show4571 is expected to respond with numeric status code ok4572 behaves like redirects to login page when the user is not signed in4573 is expected to redirect to "/users/sign_in"4574 behaves like redirects to 2fa setup page when the user requires it4575 when 2fa is set up on application level4576 is expected to redirect to "/profile/two_factor_auth"4577 when 2fa is set up on group level4578 is expected to redirect to "/profile/two_factor_auth"4579 GET #index4580 is expected to respond with numeric status code ok4581 when OAuth applications are disabled4582 is expected to respond with numeric status code ok4583 behaves like redirects to login page when the user is not signed in4584 is expected to redirect to "/users/sign_in"4585 behaves like redirects to 2fa setup page when the user requires it4586 when 2fa is set up on application level4587 is expected to redirect to "/profile/two_factor_auth"4588 when 2fa is set up on group level4589 is expected to redirect to "/profile/two_factor_auth"4590 POST #create4591 creates an application4592 redirects back to profile page if OAuth applications are disabled4593 redirect_uri4594 shows an error for a forbidden URI4595 behaves like redirects to login page when the user is not signed in4596 is expected to redirect to "/users/sign_in"4597 behaves like redirects to 2fa setup page when the user requires it4598 when 2fa is set up on application level4599 is expected to redirect to "/profile/two_factor_auth"4600 when 2fa is set up on group level4601 is expected to redirect to "/profile/two_factor_auth"4602 Helpers4603 current_user_mode available4604 includes Two-factor enforcement concern4605 locale4606 sets user's locale4607Destroying a Snippet4608 PersonalSnippet4609 behaves like graphql delete actions4610 when the user does not have permission4611 does not destroy the Snippet4612 behaves like a mutation that returns top-level errors4613 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"]4614 when the user has permission4615 destroys the Snippet4616 returns an empty Snippet4617 behaves like when the snippet is not found4618 behaves like a mutation that returns top-level errors4619 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"]4620 ProjectSnippet4621 when the author is not a member of the project4622 returns an an error4623 when the author is a member of the project4624 behaves like graphql delete actions4625 when the user does not have permission4626 does not destroy the Snippet4627 behaves like a mutation that returns top-level errors4628 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"]4629 when the user has permission4630 destroys the Snippet4631 returns an empty Snippet4632 when the snippet project feature is disabled4633 returns an an error4634 behaves like when the snippet is not found4635 behaves like a mutation that returns top-level errors4636 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"]4637Query.project(fullPath).issue(iid).designCollection.version(sha)4638 scalar fields4639 .id4640 retrieves the id4641 .sha4642 retrieves the sha4643 design_at_version4644 by ID4645 finds all the designs as of the given version4646 when the current_user is not authorized4647 returns nil4648 by filename4649 finds all the designs as of the given version4650 when the current_user is not authorized4651 returns nil4652 by design_id4653 finds all the designs as of the given version4654 when the current_user is not authorized4655 returns nil4656 designs_at_version4657 finds all the designs as of the given version4658 filtering4659 by filename4660 finds the designs by filename4661 by design-id4662 finds the designs by id4663 pagination4664 sorts designs for reliable pagination4665 designs4666 finds all the designs as of the given version4667Projects::LogsController4668 GET #index4669 returns 404 with reporter access4670 renders empty logs page if no environment exists4671 renders index template4672 GET #k8s4673 behaves like pod logs service4674 returns 404 with reporter access4675 with developer access4676 returns the service result4677 with maintainer access4678 returns the service result4679 registers a usage of the endpoint4680 sets the polling header4681 with gitlab managed apps logs4682 uses cluster finder services to select cluster4683 when service is processing4684 returns a 2024685 when service is failing4686 behaves like unsuccessful execution response4687 returns the error4688 when cluster is nil4689 behaves like unsuccessful execution response4690 returns the error4691 when namespace is empty4692 behaves like unsuccessful execution response4693 returns the error4694 GET #elasticsearch4695 behaves like pod logs service4696 returns 404 with reporter access4697 with developer access4698 returns the service result4699 with maintainer access4700 returns the service result4701 registers a usage of the endpoint4702 sets the polling header4703 with gitlab managed apps logs4704 uses cluster finder services to select cluster4705 when service is processing4706 returns a 2024707 when service is failing4708 behaves like unsuccessful execution response4709 returns the error4710 when cluster is nil4711 behaves like unsuccessful execution response4712 returns the error4713 when namespace is empty4714 behaves like unsuccessful execution response4715 returns the error4716Destroying a Note4717 when the user does not have permission4718 does not destroy the Note4719 behaves like a mutation that returns a top-level access error4720 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"]4721 when the user has permission4722 destroys the Note4723 returns an empty Note4724 behaves like a Note mutation when the given resource id is not for a Note4725 behaves like a mutation that returns top-level errors4726 is expected to eq ["Resource is not a note"]4727Projects::TodosController4728 Issues4729 POST create4730 behaves like issuable todo actions4731 behaves like todos actions4732 when authorized4733 creates todo4734 returns todo path and pending count4735 when not authorized for project/group4736 does not create todo for resource that user has no access to4737 does not create todo when user is not logged in4738 when not authorized for resource4739 doesn't create todo4740 Merge Requests4741 POST create4742 behaves like issuable todo actions4743 behaves like todos actions4744 when authorized4745 creates todo4746 returns todo path and pending count4747 when not authorized for project/group4748 does not create todo for resource that user has no access to4749 does not create todo when user is not logged in4750 when not authorized for resource4751 doesn't create todo4752 Designs4753 POST create4754 behaves like todos actions4755 when authorized4756 creates todo4757 returns todo path and pending count4758 when not authorized for project/group4759 does not create todo for resource that user has no access to4760 does not create todo when user is not logged in4761Groups::Settings::CiCdController4762 GET #show4763 when user is owner4764 renders show with 200 status code and correct runners4765 when user is not owner4766 renders a 4044767 external authorization4768 renders show with 200 status code4769 PUT #reset_registration_token4770 when user is owner4771 resets runner registration token4772 redirects the user to admin runners page4773 when user is not owner4774 renders a 4044775 PATCH #update_auto_devops4776 when user does not have enough permission4777 is expected to respond with numeric status code not_found4778 when user has enough privileges4779 is expected to redirect to "/groups/group117/-/settings/ci_cd"4780 when service execution went wrong4781 returns a flash alert4782 when service execution was successful4783 returns a flash notice4784 when changing auto devops value4785 when explicitly enabling auto devops4786 updates group attribute4787 when explicitly disabling auto devops4788 updates group attribute4789 PATCH #update4790 when user is not an admin4791 is expected to respond with numeric status code not_found4792 when user is an admin4793 when admin mode is disabled4794 is expected to respond with numeric status code not_found4795 when admin mode is enabled4796 is expected to redirect to "/groups/group117/-/settings/ci_cd"4797 when service execution went wrong4798 returns a flash alert4799 when service execution was successful4800 returns a flash notice4801Admin::Serverless::DomainsController4802 #index4803 non-admin user4804 responds with 4044805 admin user4806 with serverless_domain feature disabled4807 responds with 4044808 when instance-level serverless domain exists4809 loads the instance serverless domain4810 when domain does not exist4811 initializes an instance serverless domain4812 #create4813 non-admin user4814 responds with 4044815 admin user4816 with serverless_domain feature disabled4817 responds with 4044818 when an instance-level serverless domain exists4819 does not create a new domain4820 redirects to index4821 when an instance-level serverless domain does not exist4822 creates an instance serverless domain with the provided attributes4823 redirects to index4824 when there are errors4825 renders index view4826 #update4827 non-admin user4828 responds with 4044829 admin user4830 with serverless_domain feature disabled4831 responds with 4044832 when domain exists4833 updates the domain with the provided attributes4834 does not update the domain name4835 redirects to index4836 when domain does not exist4837 returns 4044838 when there are errors4839 renders index view4840 #verify4841 non-admin user4842 responds with 4044843 admin user4844 handles verification success4845 handles verification failure4846 with serverless_domain feature disabled4847 responds with 4044848 #destroy4849 non-admin user4850 responds with 4044851 admin user4852 with serverless_domain feature disabled4853 responds with 4044854 when domain exists4855 and is not associated to any clusters4856 deletes the domain4857 and is associated to any clusters4858 does not delete the domain4859 when domain does not exist4860 responds with 4044861ProfilesController4862 POST update4863 does not update password4864 PUT update4865 allows an email update from a user without an external email address4866 allows an email update without confirmation if existing verified email4867 ignores an email update from a user with an external email address4868 ignores an email and name update but allows a location update from a user with external email and name, but not external location4869 allows setting a user status4870 allows updating user specified job title4871 PUT update_username4872 allows username change4873 updates a username using JSON request4874 renders an error message when the username was not updated4875 raises a correct error when the username is missing4876 with legacy storage4877 moves dependent projects to new namespace4878 with hashed storage4879 keeps repository location unchanged on disk4880Admin::SessionsController4881 #new4882 for regular users4883 shows error page4884 for admin users4885 renders a password form4886 already in admin mode4887 redirects to original location4888 #create4889 for regular users4890 shows error page4891 for admin users4892 sets admin mode with a valid password4893 fails with an invalid password4894 fails if not requested first4895 fails if request period expired4896 when using two-factor authentication via OTP4897 requests two factor after a valid password is provided4898 can login with valid otp4899 cannot login with invalid otp4900 with password authentication disabled4901 allows 2FA stage of non-password login4902 on a read-only instance4903 does not attempt to write to the database with valid otp4904 does not attempt to write to the database with invalid otp4905 does not attempt to write to the database with backup code4906 when using two-factor authentication via U2F4907 requests two factor after a valid password is provided4908 can login with valid auth4909 cannot login with invalid auth4910 #destroy4911 for regular users4912 shows error page4913 for admin users4914 disables admin mode and redirects to main page4915AcmeChallengesController4916 #show4917 with right domain and token4918 renders acme challenge file content4919 when domain is invalid4920 renders not found4921 when token is invalid4922 renders not found4923Projects::RunnersController4924 #update4925 updates the runner and ticks the queue4926 #destroy4927 destroys the runner4928 #resume4929 marks the runner as active and ticks the queue4930 #pause4931 marks the runner as inactive and ticks the queue4932SearchController4933 GET /search4934 for issues scope4935 behaves like an efficient database result4936 avoids N+1 database queries4937 for merge_request scope4938 behaves like an efficient database result4939 avoids N+1 database queries4940 for project scope4941 behaves like an efficient database result4942 avoids N+1 database queries4943Projects::Settings::IntegrationsController4944 GET show4945 renders show with 200 status code4946getting pipeline information nested in a project4947 contains pipeline information4948 contains configSource4949 behaves like a working graphql query4950 returns a successful response4951merge requests creations4952 GET /:namespace/:project/merge_requests/new4953 avoids N+1 DB queries even with forked projects4954query Jira import data4955 when user cannot read Jira import data4956 when anonymous user4957 is expected to be nil4958 when user developer4959 is expected to be nil4960 when user can access Jira import data4961 behaves like a working graphql query4962 returns a successful response4963 list of jira imports sorted ascending by scheduledAt time4964 retuns list of jira imports4965 jira imports pagination4966 first jira import4967 returns latest jira import data4968 lastest jira import4969 returns latest jira import data4970 jira import status4971 when user cannot access project4972 does not return import status4973 when user can access project4974 when import never ran4975 returns import status4976 when import finished4977 returns import status4978 when import running4979 returns import status4980Setting an issue as confidential4981 returns an error if the user is not allowed to update the issue4982 updates the issue confidentiality4983API::Ci::Runner4984 /api/v4/runners4985 POST /api/v4/runners4986 sets the runner's ip_address4987 when no token is provided4988 returns 400 error4989 when invalid token is provided4990 returns 403 error4991 when valid token is provided4992 creates runner with default values4993 when project token is used4994 creates project runner4995 when group token is used4996 creates a group runner4997 when runner description is provided4998 creates runner4999 when runner tags are provided5000 creates runner5001 when option for running untagged jobs is provided5002 when tags are provided5003 creates runner5004 when tags are not provided5005 returns 400 error5006 when option for locking Runner is provided5007 creates runner5008 when option for activating a Runner is provided5009 when active is set to true5010 creates runner5011 when active is set to false5012 creates runner5013 when access_level is provided for Runner5014 when access_level is set to ref_protected5015 creates runner5016 when access_level is set to not_protected5017 creates runner5018 when maximum job timeout is specified5019 creates runner5020 when maximum job timeout is empty5021 creates runner5022 when info parameter 'name' info is present5023 updates provided Runner's parameter5024 when info parameter 'version' info is present5025 updates provided Runner's parameter5026 when info parameter 'revision' info is present5027 updates provided Runner's parameter5028 when info parameter 'platform' info is present5029 updates provided Runner's parameter5030 when info parameter 'architecture' info is present5031 updates provided Runner's parameter5032API::ProjectSnapshots5033 GET /projects/:id/snapshot5034 returns authentication error as project owner5035 returns authentication error as unauthenticated user5036 requests project repository raw archive as administrator5037 requests wiki repository raw archive as administrator5038API::ImportBitbucketServer5039 POST /import/bitbucket_server5040 with no optional parameters5041 returns 201 response when the project is imported successfully5042 with a new project name5043 returns 201 response when the project is imported successfully with a new project name5044 with an invalid URL5045 returns 400 response due to a blocked URL5046 with a new namespace5047 returns 201 response when the project is imported successfully to a new namespace5048 with a private inaccessible namespace5049 returns 401 response when user can not create projects in the chosen namespace5050 with an inaccessible bitbucket server instance5051 raises a connection error5052Setting Due Date of an issue5053 returns an error if the user is not allowed to update the issue5054 updates the issue due date5055 when the due date value is not a valid time5056 returns a coercion error5057getting Alert Management Alert Notes5058 includes expected data5059 returns the notes ordered by createdAt with sufficient content5060 avoids N+1 queries5061 for non-system notes5062 includes expected data5063Groups::Registry::RepositoriesController5064 GET groups/:group_id/-/container_registries.json5065DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)5066DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)5067 avoids N+1 queries5068AbuseReportMailer5069 .notify5070 behaves like appearance header and footer enabled5071 contains header and footer5072 behaves like appearance header and footer not enabled5073 does not contain header and footer5074 with admin_notification_email set5075 sends to the admin_notification_email5076 includes the user in the subject5077 with no admin_notification_email set5078 returns early5079moving designs5080 the user is not allowed to move designs5081 returns an error5082 the neighbors do not have positions5083 maintains the correct order in the presence of other unpositioned designs5084 behaves like a successful move5085 does not error, and reports the current order5086 moving a design between two others5087 behaves like a successful move5088 does not error, and reports the current order5089 moving a design to the start5090 behaves like a successful move5091 does not error, and reports the current order5092 moving a design to the end5093 behaves like a successful move5094 does not error, and reports the current order5095Registrations::ExperienceLevelsController5096 GET #show5097 with an unauthenticated user5098 is expected to respond with numeric status code redirect5099 is expected to redirect to "/users/sign_in"5100 with an authenticated user5101 is expected to respond with numeric status code ok5102 is expected to render template layouts/devise_experimental_onboarding_issues5103 is expected to render template show5104 when not part of the onboarding issues experiment5105 is expected to respond with numeric status code not_found5106 PUT/PATCH #update5107 with an unauthenticated user5108 is expected to respond with numeric status code redirect5109 is expected to redirect to "/users/sign_in"5110 with an authenticated user5111 when not part of the onboarding issues experiment5112 is expected to respond with numeric status code not_found5113 when user is successfully updated5114 is expected to should set flash[:message] to "Welcome! You have signed up successfully."5115 when no experience_level is sent5116 will unset the user’s experience level5117 when an expected experience level is sent5118 sets the user’s experience level5119 when an unexpected experience level is sent5120 raises an exception5121 when a namespace_path is sent5122 is expected to respond with numeric status code redirect5123 is expected to redirect to "/group-path"5124 when no namespace_path is sent5125 is expected to respond with numeric status code redirect5126 is expected to redirect to "/"5127 applying the chosen level5128 when a "Learn GitLab" project is available5129 when novice5130 adds a BoardLabel5131 when experienced5132 does not add a BoardLabel5133 when no "Learn GitLab" project exists5134 does not add a BoardLabel5135 when user update fails5136 is expected to render template show5137Import::GoogleCodeController5138 POST callback5139 stores Google Takeout dump list in session5140 GET status5141 assigns variables5142 does not show already added project5143 does not show any invalid projects5144 POST create5145 behaves like project import rate limiter5146 when limit exceeds5147 notifies and redirects user5148Profiles::PersonalAccessTokensController5149 #create5150 allows creation of a token with scopes5151 allows creation of a token with an expiry date5152 #index5153 retrieves active personal access tokens5154 retrieves inactive personal access tokens5155 does not retrieve impersonation personal access tokens5156 retrieves newly created personal access token value5157Emails::MergeRequests5158 #resolved_all_discussions_email5159 includes the name of the resolver5160 #merge_when_pipeline_succeeds_email5161 has required details5162Explore::GroupsController5163 renders group trees5164 includes public projects5165 restricted visibility level is public5166 redirects to login page5167getting Alert Management Alert Assignees5168 returns the correct assignees5169 applies appropriate filters for non-visible users5170 avoids N+1 queries5171GracefulTimeoutHandling5172 for json request5173 renders graceful error message5174 logs exception5175 for html request5176 has no effect5177Update of an existing issue5178 the user is not allowed to update issue5179 behaves like a mutation that returns a top-level access error5180 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"]5181 when user has permissions to update issue5182 updates the issue5183getting group label information5184 behaves like querying a GraphQL type with labels5185 running a query5186 minimum required arguments5187 returns the label information5188 returns the labels information5189 with a search param5190 finds the matching labels5191 the label does not exist5192 returns nil5193 performance5194 batches queries for labels by title (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/217767)5195HealthCheckController5196 GET #index5197 when services are up but accessed from outside whitelisted ips5198DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_404 at /builds/gitlab-org/gitlab/app/controllers/concerns/requires_whitelisted_monitoring_client.rb:38)5199 returns a not found page5200 when services are accessed with token5201DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:37)5202 supports passing the token in the header5203DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:44)5204 supports passing the token in query params5205 when services are up and accessed from whitelisted ips5206DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:58)5207 supports successful plaintext response5208DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:65)5209 supports successful json response5210DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:73)5211 supports successful xml response5212DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:81)5213 supports successful responses for specific checks5214 when a service is down but NO access token5215DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render_404 at /builds/gitlab-org/gitlab/app/controllers/concerns/requires_whitelisted_monitoring_client.rb:38)5216 returns a not found page5217 when a service is down and an endpoint is accessed from whitelisted ip5218DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:105)5219 supports failure plaintext response5220DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:113)5221 supports failure json response5222DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:122)5223 supports failure xml response5224DEPRECATION WARNING: Rails 6.1 will return Content-Type header without modification. If you want just the MIME type, please use `#media_type` instead. (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/controllers/health_check_controller_spec.rb:131)5225 supports failure responses for specific checks5226Projects::IssueLinksController5227 GET #index5228 returns success response5229 POST #create5230 returns success response5231Projects::ErrorTracking::ProjectsController5232 GET #index5233 with insufficient permissions5234 returns 4045235 with an anonymous user5236 redirects to sign-in page5237 with authorized user5238 service result is successful5239 returns a list of projects5240 service result is erroneous5241 without http_status5242 returns 400 with message5243 with explicit http_status5244 returns http_status with message5245query Jira service5246 behaves like unauthorized users cannot read services5247 when anonymous user5248 is expected to equal nil5249 when user developer5250 is expected to equal nil5251 when user can access project services5252 retuns list of jira imports5253 behaves like a working graphql query5254 returns a successful response5255Setting subscribed status of a merge request5256 behaves like a subscribable resource api5257 when the user is not authorized5258 behaves like a mutation that returns top-level errors5259 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"]5260 when user is authorized5261 marks the resource as subscribed5262 when passing subscribe false as input5263 unmarks the resource as subscribed5264Setting an issue as locked5265 when the user is not allowed to update the issue5266 behaves like a mutation that returns a top-level access error5267 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"]5268 when user is allowed to update the issue5269 updates the issue locked status5270RedirectsForMissingPathOnTree5271 #redirect_to_root_path5272 redirects to the tree path with a notice5273Loading a user avatar5274 when logged in5275 only performs three SQL queries5276 when logged out5277 only performs two SQL queries5278PipelineRetry5279 returns an error if the user is not allowed to retry the pipeline5280 retries a pipeline5281API::Ci::Runner5282 /api/v4/runners5283 DELETE /api/v4/runners5284 when no token is provided5285 returns 400 error5286 when invalid token is provided5287 returns 403 error5288 when valid token is provided5289 deletes Runner5290 behaves like 412 response5291 for a modified ressource5292 returns 412 with a JSON error5293 for an unmodified ressource5294 returns 204 with an empty body5295SortingPreference5296 #set_sort_order_from_user_preference5297 when sort param given5298 when sorting_field is defined5299 sets user_preference with the right value5300 when no sorting_field is defined on the controller5301 does not touch user_preference5302 when a user sorting preference exists5303 returns the set preference5304 #set_set_order_from_cookie5305 when sort param given5306 sets the cookie with the right values and flags5307 when cookie exists5308 sets the cookie with the right values and flags5309API::Admin::Sidekiq5310 DELETE /admin/sidekiq/queues/:queue_name5311 when the user is not an admin5312 returns a 4035313 when the user is an admin5314 valid request5315 returns info about the deleted jobs5316 when no required params are provided5317 returns a 4005318 when the queue does not exist5319 returns a 4045320Projects::PipelinesSettingsController5321 GET show5322 redirects with 302 status code5323getting a repository in a project5324 behaves like a working graphql query5325 returns a successful response5326API::ContainerRegistryEvent5327 POST /container_registry_event/events5328 returns 200 status and events are passed to event handler5329 returns 401 error status when token is invalid5330Sessions5331 authentication5332 logout does not require a csrf token5333Admin::RequestsProfilesController5334 #show5335 when loading HTML profile5336 renders the data5337 when loading TXT profile5338 renders the data5339 when loading PDF profile5340 fails to render the data5341Every controller5342 feature categories5343 has feature categories (PENDING: We'll work on defining categories for all controllers: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/463)5344 completed controllers don't get new routes without categories5345 recognizes the feature categories5346 doesn't define or exclude categories on removed actions5347Knapsack report was generated. Preview:5348{5349 "spec/controllers/projects/issues_controller_spec.rb": 114.54122304916382,5350 "spec/controllers/projects/jobs_controller_spec.rb": 55.415929079055786,5351 "spec/requests/api/graphql/project/merge_requests_spec.rb": 57.83427953720093,5352 "spec/requests/api/files_spec.rb": 42.66654849052429,5353 "spec/controllers/groups/clusters_controller_spec.rb": 45.17446994781494,5354 "spec/requests/api/issues/post_projects_issues_spec.rb": 31.88879656791687,5355 "spec/controllers/projects/snippets_controller_spec.rb": 27.403462886810303,5356 "spec/requests/api/project_import_spec.rb": 20.428659677505493,5357 "spec/controllers/autocomplete_controller_spec.rb": 19.580420970916748,5358 "spec/requests/api/release/links_spec.rb": 20.756208896636963,5359 "spec/controllers/projects/environments_controller_spec.rb": 14.281978845596313,5360 "spec/controllers/projects/repositories_controller_spec.rb": 14.26041030883789,5361 "spec/requests/api/project_milestones_spec.rb": 12.2755126953125,5362 "spec/requests/api/graphql/gitlab_schema_spec.rb": 10.400144815444946,5363 "spec/requests/api/protected_branches_spec.rb": 9.60981011390686,5364 "spec/requests/api/ci/runner/jobs_trace_spec.rb": 11.49815821647644,5365 "spec/requests/api/project_hooks_spec.rb": 8.422521114349365,5366 "spec/controllers/groups/runners_controller_spec.rb": 7.906514406204224,5367 "spec/requests/api/resource_milestone_events_spec.rb": 6.744805097579956,5368 "spec/requests/api/resource_label_events_spec.rb": 6.397678852081299,5369 "spec/requests/api/graphql/mutations/award_emojis/toggle_spec.rb": 6.543048858642578,5370 "spec/controllers/projects/labels_controller_spec.rb": 8.169935941696167,5371 "spec/requests/api/freeze_periods_spec.rb": 5.989857912063599,5372 "spec/controllers/concerns/metrics_dashboard_spec.rb": 5.79520845413208,5373 "spec/controllers/projects/boards_controller_spec.rb": 5.476744651794434,5374 "spec/controllers/projects/settings/operations_controller_spec.rb": 6.592392206192017,5375 "spec/requests/api/graphql/mutations/snippets/create_spec.rb": 5.2861127853393555,5376 "spec/requests/api/graphql/mutations/design_management/upload_spec.rb": 5.08554744720459,5377 "spec/requests/api/pages_domains_spec.rb": 6.614861011505127,5378 "spec/controllers/projects/imports_controller_spec.rb": 4.6297383308410645,5379 "spec/requests/api/group_import_spec.rb": 4.835710048675537,5380 "spec/requests/api/error_tracking_spec.rb": 3.923065185546875,5381 "spec/controllers/projects/cycle_analytics_controller_spec.rb": 4.216249942779541,5382 "spec/controllers/concerns/routable_actions_spec.rb": 4.697901010513306,5383 "spec/controllers/projects/registry/repositories_controller_spec.rb": 2.6771862506866455,5384 "spec/requests/api/admin/instance_clusters_spec.rb": 3.5467119216918945,5385 "spec/controllers/projects/badges_controller_spec.rb": 2.945267677307129,5386 "spec/controllers/projects/performance_monitoring/dashboards_controller_spec.rb": 3.1703553199768066,5387 "spec/controllers/projects/settings/access_tokens_controller_spec.rb": 2.876495361328125,5388 "spec/requests/groups/milestones_controller_spec.rb": 3.063971519470215,5389 "spec/requests/api/settings_spec.rb": 3.178011655807495,5390 "spec/requests/api/doorkeeper_access_spec.rb": 2.49629282951355,5391 "spec/requests/api/internal/pages_spec.rb": 2.489168882369995,5392 "spec/requests/api/resource_state_events_spec.rb": 3.949244737625122,5393 "spec/controllers/oauth/applications_controller_spec.rb": 2.7300543785095215,5394 "spec/requests/api/graphql/mutations/snippets/destroy_spec.rb": 2.770185947418213,5395 "spec/requests/api/graphql/project/issue/design_collection/version_spec.rb": 2.665802478790283,5396 "spec/controllers/projects/logs_controller_spec.rb": 2.748725652694702,5397 "spec/requests/api/graphql/mutations/notes/destroy_spec.rb": 2.319629430770874,5398 "spec/controllers/projects/todos_controller_spec.rb": 2.811530113220215,5399 "spec/controllers/groups/settings/ci_cd_controller_spec.rb": 2.2381792068481445,5400 "spec/controllers/admin/serverless/domains_controller_spec.rb": 3.4162189960479736,5401 "spec/controllers/profiles_controller_spec.rb": 1.8470017910003662,5402 "spec/controllers/admin/sessions_controller_spec.rb": 1.8638627529144287,5403 "spec/controllers/acme_challenges_controller_spec.rb": 3.0783467292785645,5404 "spec/controllers/projects/runners_controller_spec.rb": 1.5011310577392578,5405 "spec/requests/search_controller_spec.rb": 1.7940866947174072,5406 "spec/controllers/projects/settings/integrations_controller_spec.rb": 1.5824782848358154,5407 "spec/requests/api/graphql/project/pipeline_spec.rb": 1.4764673709869385,5408 "spec/requests/projects/merge_requests/creations_spec.rb": 1.991675853729248,5409 "spec/requests/api/graphql/project/jira_import_spec.rb": 1.316328525543213,5410 "spec/requests/api/graphql/mutations/issues/set_confidential_spec.rb": 1.1697371006011963,5411 "spec/requests/api/ci/runner/runners_post_spec.rb": 1.415471076965332,5412 "spec/requests/api/project_snapshots_spec.rb": 0.862626314163208,5413 "spec/requests/api/import_bitbucket_server_spec.rb": 1.0229954719543457,5414 "spec/requests/api/graphql/mutations/issues/set_due_date_spec.rb": 1.2338624000549316,5415 "spec/requests/api/graphql/project/alert_management/alert/notes_spec.rb": 0.9682443141937256,5416 "spec/requests/groups/registry/repositories_controller_spec.rb": 0.709796667098999,5417 "spec/mailers/abuse_report_mailer_spec.rb": 0.544567346572876,5418 "spec/requests/api/graphql/mutations/design_management/move_spec.rb": 0.7446579933166504,5419 "spec/controllers/registrations/experience_levels_controller_spec.rb": 0.8461804389953613,5420 "spec/controllers/import/google_code_controller_spec.rb": 0.683903694152832,5421 "spec/controllers/profiles/personal_access_tokens_controller_spec.rb": 0.5922915935516357,5422 "spec/mailers/emails/merge_requests_spec.rb": 1.2665510177612305,5423 "spec/controllers/explore/groups_controller_spec.rb": 0.3253347873687744,5424 "spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb": 0.5445525646209717,5425 "spec/controllers/concerns/graceful_timeout_handling_spec.rb": 0.7819972038269043,5426 "spec/requests/api/graphql/mutations/issues/update_spec.rb": 0.573117733001709,5427 "spec/requests/api/graphql/group/labels_query_spec.rb": 0.746265172958374,5428 "spec/controllers/health_check_controller_spec.rb": 0.549912691116333,5429 "spec/controllers/projects/issue_links_controller_spec.rb": 0.44689035415649414,5430 "spec/controllers/projects/error_tracking/projects_controller_spec.rb": 0.8658530712127686,5431 "spec/requests/api/graphql/project/jira_service_spec.rb": 0.49409055709838867,5432 "spec/requests/api/graphql/mutations/merge_requests/set_subscription_spec.rb": 0.42265915870666504,5433 "spec/requests/api/graphql/mutations/issues/set_locked_spec.rb": 0.3543393611907959,5434 "spec/controllers/concerns/redirects_for_missing_path_on_tree_spec.rb": 0.4148523807525635,5435 "spec/requests/user_avatar_spec.rb": 0.2737715244293213,5436 "spec/requests/api/graphql/mutations/ci/pipeline_retry_spec.rb": 0.26366376876831055,5437 "spec/requests/api/ci/runner/runners_delete_spec.rb": 0.2966790199279785,5438 "spec/controllers/concerns/sorting_preference_spec.rb": 0.2564668655395508,5439 "spec/requests/api/admin/sidekiq_spec.rb": 0.28497910499572754,5440 "spec/controllers/projects/pipelines_settings_controller_spec.rb": 0.09918737411499023,5441 "spec/requests/api/graphql/project/container_expiration_policy_spec.rb": 0.09192419052124023,5442 "spec/requests/api/container_registry_event_spec.rb": 0.07619619369506836,5443 "spec/requests/sessions_spec.rb": 0.1067051887512207,5444 "spec/controllers/admin/requests_profiles_controller_spec.rb": 0.05940890312194824,5445 "spec/controllers/every_controller_spec.rb": 0.0293006896972656255446}5447Knapsack global time execution for tests: 11m 44s5448Pending: (Failures listed here are expected and do not affect your suite's status)5449 1) Projects::IssuesController Confidential Issues PUT #update behaves like restricted action when admin mode is disabled returns 404 for admin5450 # Temporarily skipped with xit5451 # ./spec/controllers/projects/issues_controller_spec.rb:8035452 2) Projects::IssuesController Confidential Issues GET #show behaves like restricted action when admin mode is disabled returns 404 for admin5453 # Temporarily skipped with xit5454 # ./spec/controllers/projects/issues_controller_spec.rb:8035455 3) Projects::IssuesController Confidential Issues GET #realtime_changes behaves like restricted action when admin mode is disabled returns 404 for admin5456 # Temporarily skipped with xit5457 # ./spec/controllers/projects/issues_controller_spec.rb:8035458 4) Projects::IssuesController Confidential Issues GET #edit behaves like restricted action when admin mode is disabled returns 404 for admin5459 # Temporarily skipped with xit5460 # ./spec/controllers/projects/issues_controller_spec.rb:8035461 5) Projects::IssuesController Confidential Issues PUT #update behaves like restricted action when admin mode is disabled returns 404 for admin5462 # Temporarily skipped with xit5463 # ./spec/controllers/projects/issues_controller_spec.rb:8035464 6) getting group label information behaves like querying a GraphQL type with labels performance batches queries for labels by title5466 Failure/Error:5467 expect { run_query(multi_selection) }5468 .to issue_same_number_of_queries_as { run_query(single_selection) }5469 Expected 15 queries, but got 175470 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'tPzOF8SUDagJ4up89nnlWg+FWzzNm5+6t6R2Daxn2IE=' LIMIT 1 /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5471 SAVEPOINT active_record_3 /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5472 SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5473 SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5474 INSERT INTO "personal_access_tokens" ("user_id", "name", "expires_at", "created_at", "updated_at", "scopes", "token_digest") VALUES (2898, 'PAT 1314', '2020-09-05', '2020-08-31 02:53:17.738855', '2020-08-31 02:53:17.738855', '---5475 - api5476 ', 'tPzOF8SUDagJ4up89nnlWg+FWzzNm5+6t6R2Daxn2IE=') RETURNING "id" /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5477 RELEASE SAVEPOINT active_record_3 /*application:test,correlation_id:3e39600c066923674c5dc5d5007f3fa0*/5478 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'tPzOF8SUDagJ4up89nnlWg+FWzzNm5+6t6R2Daxn2IE=' LIMIT 1 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5479 SELECT "licenses".* FROM "licenses" ORDER BY "licenses"."id" DESC LIMIT 100 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5480 SELECT 1 AS one FROM "geo_nodes" LIMIT 1 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5481 UPDATE "personal_access_tokens" SET "last_used_at" = '2020-08-31 02:53:17.760341' WHERE "personal_access_tokens"."id" = 1320 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5482 SELECT "users".* FROM "users" WHERE "users"."id" = 2898 LIMIT 1 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5483 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, "namespaces"."delayed_project_removal" AS t0_r48, "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('group130'))) /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5484 SELECT "saml_providers".* FROM "saml_providers" WHERE "saml_providers"."group_id" = 3048 LIMIT 1 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5485 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 3048)5486 UNION5487 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048 AND "namespaces"."type" = 'Group'))5488 UNION5489 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048) AND ("project_features"."issues_access_level" IS NULL OR "project_features"."issues_access_level" IN (20,30) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 10)))))5490 UNION5491 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048) AND ("project_features"."merge_requests_access_level" IS NULL OR "project_features"."merge_requests_access_level" IN (20,30) OR ("project_features"."merge_requests_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)))))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048)))) labels WHERE "labels"."title" = 'label29' ORDER BY "labels"."title" ASC /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5492 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 3048 LIMIT 1 /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5493 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 3048)5494 UNION5495 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048 AND "namespaces"."type" = 'Group'))5496 UNION5497 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048) AND ("project_features"."issues_access_level" IS NULL OR "project_features"."issues_access_level" IN (20,30) OR ("project_features"."issues_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 10)))))5498 UNION5499 (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" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048) AND ("project_features"."merge_requests_access_level" IS NULL OR "project_features"."merge_requests_access_level" IN (20,30) OR ("project_features"."merge_requests_access_level" = 10 AND EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id) AND (project_authorizations.access_level >= 20)))))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 2898 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND "projects"."archived" = FALSE AND "projects"."namespace_id" = 3048)))) labels WHERE "labels"."title" = 'matching::label30' ORDER BY "labels"."title" ASC /*application:test,controller:graphql,action:execute,correlation_id:7e9e0331-5e4b-4d42-a379-5152cfd288ad*/5500 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 3048 LIMIT 15501 Shared Example Group: "querying a GraphQL type with labels" called from ./spec/requests/api/graphql/group/labels_query_spec.rb:125502 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'5503 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'5504 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'5505 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'5506 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'5507 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'5508 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'5509 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'5510 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:101:in `to'5511 # ./spec/support/shared_examples/graphql/label_fields.rb:114:in `block (3 levels) in <top (required)>'5512 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'5513 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'5514 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'5515 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'5516 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'5517 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'5518 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5519 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'5520 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5521 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5522 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5523 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5524 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5525 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'5526 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'5527 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5528 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'5529 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5530 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5531 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5532 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5533 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5534 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'5535 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'5536 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'5537 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5538 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5539 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5540 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5541 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5542 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'5543 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'5544 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'5545 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'5546 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'5547 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5548 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5549 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5550 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5551 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5552 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'5553 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'5554 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'5555 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'5556 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'5557 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'5558 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'5559 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'5560 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'5561 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'5562 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'5563 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'5564 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'5565 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'5566 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'5567 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'5568 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'5569 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'5570 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'5571 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'5572 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'5573 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'5574 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'5575 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'5576 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'5577 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'5578 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'5579 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'5580 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'5581 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'5582 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'5583 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'5584 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'5585 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'5586 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'5587 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'5588 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'5589 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'5590 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'5591 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'5592 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'5593 # /usr/local/bin/bundle:23:in `load'5594 # /usr/local/bin/bundle:23:in `<main>'5595 7) Every controller feature categories has feature categories5596 # We'll work on defining categories for all controllers: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/4635597 Failure/Error: expect(routes_without_category).to be_empty, "#{routes_without_category.first(10)} did not have a category"5598 ["Oauth::Jira::AuthorizationsController#new", "Oauth::Jira::AuthorizationsController#callback", "Oauth::Jira::AuthorizationsController#access_token", "RegistrationsController#welcome", "RegistrationsController#update_registration", "Registrations::ExperienceLevelsController#show", "Registrations::ExperienceLevelsController#update", "Registrations::ExperienceLevelsController#update", "Registrations::GroupsController#create", "Registrations::GroupsController#new"] did not have a category5599 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'5600 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'5601 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'5602 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'5603 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'5604 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'5605 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'5606 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'5607 # ./spec/controllers/every_controller_spec.rb:33:in `block (3 levels) in <top (required)>'5608 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'5609 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'5610 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'5611 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'5612 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'5613 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:612:in `block in run_around_example_hooks_for'5614 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5615 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/example/controller_example_group.rb:191:in `block (2 levels) in <module:ControllerExampleGroup>'5616 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5617 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5618 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5619 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5620 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5621 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'5622 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5623 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5624 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5625 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5626 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5627 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'5628 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'5629 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5630 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'5631 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5632 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5633 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5634 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5635 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5636 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'5637 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'5638 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'5639 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5640 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5641 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5642 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5643 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5644 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'5645 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'5646 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'5647 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'5648 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'5649 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5650 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5651 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5652 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:614:in `block (2 levels) in run_around_example_hooks_for'5653 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5654 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'5655 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'5656 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'5657 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'5658 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'5659 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'5660 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'5661 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'5662 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'5663 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'5664 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'5665 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'5666 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'5667 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'5668 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'5669 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'5670 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'5671 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'5672 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'5673 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'5674 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'5675 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'5676 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'5677 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'5678 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'5679 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'5680 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'5681 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'5682 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'5683 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'5684 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'5685 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'5686 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'5687 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'5688 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'5689 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'5690 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'5691 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'5692 # /usr/local/bin/bundle:23:in `load'5693 # /usr/local/bin/bundle:23:in `<main>'5694Finished in 16 minutes 20 seconds (files took 45.02 seconds to load)56952573 examples, 0 failures, 7 pending5696Mon Aug 31 02:53:43 UTC 20205698Not uploading cache rails-v2-3 due to policy5700Uploading artifacts...5701coverage/: found 5 matching files and directories 5702knapsack/: found 3 matching files and directories 5703rspec_flaky/: found 4 matching files and directories 5704rspec_profiling/: found 2 matching files and directories 5705WARNING: tmp/capybara/: no matching files 5706tmp/memory_test/: found 2 matching files and directories 5707log/*.log: found 15 matching files and directories 5708Uploading artifacts as "archive" to coordinator... ok id=710807215 responseStatus=201 Created token=k6qr-mtj5709Uploading artifacts...5710junit_rspec.xml: found 1 matching files and directories 5711Uploading artifacts as "junit" to coordinator... ok id=710807215 responseStatus=201 Created token=k6qr-mtj5712Job succeeded