rspec integration pg11 6/8
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 13.3.1 (738bbe5a)2 on docker-auto-scale-com 9538b0ab4Using 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-9538b0ab-project-278964-concurrent-0 via runner-9538b0ab-gsrm-1598711877-5ae6e5fb...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 18% |****** | 189M 0:00:04 ETA23gitlab.tar.gz 59% |******************* | 598M 0:00:01 ETA24gitlab.tar.gz 92% |***************************** | 932M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 1007M 0:00:00 ETA26'/tmp/gitlab.tar.gz' saved27Extracting tarball into /builds/gitlab-org/gitlab...28Fetching changes with git depth set to 20...29Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/30Created fresh repository.31Checking out 4e12f87c as master...32Skipping Git submodules setup34Checking cache for rails-v2-3...35cache.zip is up to date 36Successfully extracted cache38Downloading artifacts for compile-test-assets (710020301)...39Downloading artifacts from coordinator... ok id=710020301 responseStatus=200 OK token=dz2RyhAg40Downloading artifacts for retrieve-tests-metadata (710020310)...41Downloading artifacts from coordinator... ok id=710020310 responseStatus=200 OK token=LNgn8mU-42Downloading artifacts for setup-test-env (710020306)...43Downloading artifacts from coordinator... ok id=710020306 responseStatus=200 OK token=wSxhzuKE44WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 46$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb47$ export GOPATH=$CI_PROJECT_DIR/.go48$ mkdir -p $GOPATH49$ source scripts/utils.sh50$ source scripts/prepare_build.sh51Bundler version 1.17.252$ bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet53==> 'bundle install --clean --without=production --without=development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.54$ bundle check55Warning: 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`.56The Gemfile's dependencies are satisfied57==> 'bundle check' succeeded in 1 seconds.58$ bundle pristine pg59Warning: 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`.60Installing pg 1.2.2 with native extensions61==> 'bundle pristine pg' succeeded in 9 seconds.62$ gem install knapsack --no-document63Successfully installed knapsack-1.18.0641 gem installed65==> 'gem install knapsack --no-document' succeeded in 0 seconds.66$ setup_db_user_only67CREATE ROLE68GRANT69==> 'setup_db_user_only' succeeded in 0 seconds.70$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee71Dropped database 'gitlabhq_test'72Created database 'gitlabhq_test'73Dropped database 'gitlabhq_geo_test'74Created database 'gitlabhq_geo_test'75==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 25 seconds.76$ run_timed_command "scripts/gitaly-test-build"77$ scripts/gitaly-test-build78Settings are listed in order of priority. The top value will be used.79retry80Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 381path82Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"83jobs84Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 485app_config86Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"87gemfile88Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"89flags90Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"91silence_root_warning92Set via BUNDLE_SILENCE_ROOT_WARNING: true93go install -ldflags '-X gitlab.com/gitlab-org/gitaly/internal/version.version=13.3.0-rc5 -X gitlab.com/gitlab-org/gitaly/internal/version.buildtime=20200829.163003' -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-wrapper94install /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/gitaly95Checking gitaly-ruby Gemfile...96Checking gitaly-ruby bundle...97Warning: 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`.98The Gemfile's dependencies are satisfied99Trying to connect to gitaly: ....... OK100Trying to connect to praefect: ...... OK101==> 'scripts/gitaly-test-build' succeeded in 36 seconds.102$ run_timed_command "scripts/gitaly-test-spawn"103$ scripts/gitaly-test-spawn104Checking gitaly-ruby Gemfile...105Checking gitaly-ruby bundle...106Warning: 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`.107The Gemfile's dependencies are satisfied108Trying to connect to gitaly: ....... OK109Trying to connect to praefect: ...... OK110==> 'scripts/gitaly-test-spawn' succeeded in 2 seconds.111$ source scripts/rspec_helpers.sh112$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"113KNAPSACK_TEST_FILE_PATTERN: spec/{controllers,mailers,requests}{,/**/}*_spec.rb114Knapsack report generator started!115RSpec'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)>')116Run options:117 include {:focus=>true}118 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}119All examples were filtered out; ignoring {:focus=>true}120==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...121 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.03144961 seconds...122API::MergeRequests123 route shadowing124 does not occur125 GET /merge_requests126 when unauthenticated127 returns an array of all merge requests128 returns authentication error without any scope129 returns authentication error when scope is assigned-to-me130 returns authentication error when scope is assigned_to_me131 returns authentication error when scope is created-by-me132 when authenticated133 returns an array of all merge requests except unauthorized ones134 returns an array of no merge_requests when wip=yes135 returns an array of no merge_requests when wip=no136 does not return unauthorized merge requests137 returns an array of merge requests created by current user if no scope is given138 returns an array of merge requests assigned to the given user139 returns an array of merge requests with no assignee140 returns an array of merge requests with any assignee141 returns an array of merge requests assigned to me142 returns an array of merge requests assigned to me (kebab-case)143 returns an array of merge requests created by me144 returns an array of merge requests created by me (kebab-case)145 returns merge requests reacted by the authenticated user by the given emoji146 returns merge requests created before a specific date147 returns merge requests created after a specific date148 returns merge requests updated before a specific date149 returns merge requests updated after a specific date150 filter by author151 when only `author_id` is passed152 returns an array of merge requests authored by the given user153 when only `author_username` is passed154 returns an array of merge requests authored by the given user(by `author_username`)155 when both `author_id` and `author_username` are passed156 returns a 400157 source_branch param158 returns merge requests with the given source branch159 target_branch param160 returns merge requests with the given target branch161 search params162 returns merge requests matching given search string for title163 returns merge requests matching given search string for title and scoped in title164 returns an empty array if no merge request matches given search string for description and scoped in title165 returns merge requests for project matching given search string for description166 state param167 returns merge requests with the given state168 GET /projects/:id/merge_requests169 returns 404 for non public projects170 returns an array of no merge_requests when wip=yes171 returns merge_request by "iids" array172 behaves like merge requests list173 when unauthenticated174 returns merge requests for public projects175 when authenticated176 avoids N+1 queries177 returns an array of all merge_requests using simple mode178 returns an array of all merge_requests179 returns an array of open merge_requests180 returns an array of closed merge_requests181 returns an array of merged merge_requests182 matches V4 response schema183 returns an empty array if no issue matches milestone184 returns an empty array if milestone does not exist185 returns an array of merge requests in given milestone186 returns an array of merge requests matching state in milestone187 returns an array of labeled merge requests that are merged for a milestone188 when merge request is unchecked189 with merge status recheck projection190 checks mergeability asynchronously191 without merge status recheck projection192 does not enqueue a merge status recheck193 with labels194 returns an array of all merge_requests195 with labels_details196 returns labels with details197 avoids N+1 queries198 with labels199 returns an array of labeled merge requests200 returns an array of labeled merge requests where all labels match201 returns an empty array if no merge request matches labels202 returns an array of labeled merge requests where all labels match203 returns an array of merge requests with any label when filtering by any label204 returns an array of merge requests with any label when filtering by any label205 returns an array of merge requests with any label when filtering by any label206 returns an array of merge requests without a label when filtering by no label207 with ordering208 returns an array of merge_requests in ascending order209 returns an array of merge_requests in descending order210 returns an array of merge_requests ordered by updated_at211 returns an array of merge_requests ordered by created_at212 2 merge requests with equal created_at213 page breaks first page correctly214 page breaks second page correctly215 NOT params216 returns merge requests without any of the labels given217 returns merge requests without any of the milestones given218 returns merge requests without the author given219 returns merge requests without the assignee given220 source_branch param221 returns merge requests with the given source branch222 target_branch param223 returns merge requests with the given target branch224 a project which enforces all discussions to be resolved225 avoids N+1 queries226 GET /groups/:id/merge_requests227 behaves like merge requests list228 when unauthenticated229 returns merge requests for public projects230 when authenticated231 avoids N+1 queries232 returns an array of all merge_requests using simple mode233 returns an array of all merge_requests234 returns an array of open merge_requests235 returns an array of closed merge_requests236 returns an array of merged merge_requests237 matches V4 response schema238 returns an empty array if no issue matches milestone239 returns an empty array if milestone does not exist240 returns an array of merge requests in given milestone241 returns an array of merge requests matching state in milestone242 returns an array of labeled merge requests that are merged for a milestone243 when merge request is unchecked244 with merge status recheck projection245 checks mergeability asynchronously246 without merge status recheck projection247 does not enqueue a merge status recheck248 with labels249 returns an array of all merge_requests250 with labels_details251 returns labels with details252 avoids N+1 queries253 with labels254 returns an array of labeled merge requests255 returns an array of labeled merge requests where all labels match256 returns an empty array if no merge request matches labels257 returns an array of labeled merge requests where all labels match258 returns an array of merge requests with any label when filtering by any label259 returns an array of merge requests with any label when filtering by any label260 returns an array of merge requests with any label when filtering by any label261 returns an array of merge requests without a label when filtering by no label262 with ordering263 returns an array of merge_requests in ascending order264 returns an array of merge_requests in descending order265 returns an array of merge_requests ordered by updated_at266 returns an array of merge_requests ordered by created_at267 2 merge requests with equal created_at268 page breaks first page correctly269 page breaks second page correctly270 NOT params271 returns merge requests without any of the labels given272 returns merge requests without any of the milestones given273 returns merge requests without the author given274 returns merge requests without the assignee given275 source_branch param276 returns merge requests with the given source branch277 target_branch param278 returns merge requests with the given target branch279 when have subgroups280 behaves like merge requests list281 when unauthenticated282 returns merge requests for public projects283 when authenticated284 avoids N+1 queries285 returns an array of all merge_requests using simple mode286 returns an array of all merge_requests287 returns an array of open merge_requests288 returns an array of closed merge_requests289 returns an array of merged merge_requests290 matches V4 response schema291 returns an empty array if no issue matches milestone292 returns an empty array if milestone does not exist293 returns an array of merge requests in given milestone294 returns an array of merge requests matching state in milestone295 returns an array of labeled merge requests that are merged for a milestone296 when merge request is unchecked297 with merge status recheck projection298 checks mergeability asynchronously299 without merge status recheck projection300 does not enqueue a merge status recheck301 with labels302 returns an array of all merge_requests303 with labels_details304 returns labels with details305 avoids N+1 queries306 with labels307 returns an array of labeled merge requests308 returns an array of labeled merge requests where all labels match309 returns an empty array if no merge request matches labels310 returns an array of labeled merge requests where all labels match311 returns an array of merge requests with any label when filtering by any label312 returns an array of merge requests with any label when filtering by any label313 returns an array of merge requests with any label when filtering by any label314 returns an array of merge requests without a label when filtering by no label315 with ordering316 returns an array of merge_requests in ascending order317 returns an array of merge_requests in descending order318 returns an array of merge_requests ordered by updated_at319 returns an array of merge_requests ordered by created_at320 2 merge requests with equal created_at321 page breaks first page correctly322 page breaks second page correctly323 NOT params324 returns merge requests without any of the labels given325 returns merge requests without any of the milestones given326 returns merge requests without the author given327 returns merge requests without the assignee given328 source_branch param329 returns merge requests with the given source branch330 target_branch param331 returns merge requests with the given target branch332 #to_reference333 exposes reference path in context of group334 referencing from parent group335 exposes reference path in context of parent group336 with archived projects337 returns an array excluding merge_requests from archived projects338 with non_archived param set as false339 returns an array including merge_requests from archived projects340 GET /projects/:id/merge_requests/:merge_request_iid341 matches json schema342 exposes known attributes343 exposes description and title html when render_html is true344 exposes rebase_in_progress when include_rebase_in_progress is true345 returns the commits behind the target branch when include_diverged_commits_count is present346 returns a 404 error if merge_request_iid not found347 returns a 404 error if merge_request `id` is used instead of iid348 indicates if a user cannot merge the MR349 returns `checking` as its merge_status instead of `cannot_be_merged_rechecking`350 when author is not a member without any merged merge requests351 exposes first_contribution as true352 merge_request_metrics353 has fields from merge request metrics354 returns correct values355 head_pipeline356 when user can read the pipeline357 exposes pipeline information358 when user can not read the pipeline359 does not expose pipeline information360 Work in Progress361 returns merge request362 when a merge request has more than the changes limit363 returns a string indicating that more changes were made364 for forked projects365 includes the `allow_collaboration` field366 when merge request is unchecked367 checks mergeability asynchronously368 GET /projects/:id/merge_requests/:merge_request_iid/participants369 behaves like issuable participants endpoint370 returns participants371 returns a 404 when iid does not exist372 returns a 404 when id is used instead of iid373 GET /projects/:id/merge_requests/:merge_request_iid/commits374 returns a 200 when merge request is valid375 returns a 404 when merge_request_iid not found376 returns a 404 when merge_request id is used instead of iid377 GET /projects/:id/merge_requests/:merge_request_iid/:context_commits378 returns a 200 when merge request is valid379 returns a 404 when merge_request_iid not found380 GET /projects/:id/merge_requests/:merge_request_iid/changes381 returns the change information of the merge_request382 returns a 404 when merge_request_iid not found383 returns a 404 when merge_request id is used instead of iid384 GET /projects/:id/merge_requests/:merge_request_iid/pipelines385 when authorized386 returns a paginated array of corresponding pipelines387 exposes basic attributes388 returns 404 if MR does not exist389 when unauthorized390 returns 403391 POST /projects/:id/merge_requests/:merge_request_iid/pipelines392 when authorized393 creates and returns the new Pipeline394 when unauthorized395 responds with a blank 404396 when the merge request does not exist397 responds with a blank 404398 when the .gitlab-ci.yml file is invalid399 creates a failed pipeline400 POST /projects/:id/merge_requests401 support for deprecated assignee_id402 creates a new merge request403 creates a new merge request when assignee_id is empty404 filters assignee_id of unauthorized user405 single assignee restrictions406 creates a new project merge request with no more than one assignee407 between branches projects408 returns 422 when source_branch equals target_branch409 returns 400 when source_branch is missing410 returns 400 when target_branch is missing411 returns 400 when title is missing412 different labels413 creates merge request with special label names414 creates merge request with special label names as array415 empty label param does not add any labels416 empty label param as array does not add any labels, but only explicitly as json417 empty label param as array, does not add any labels418 array with one empty string element does not add labels419 array with multiple empty string elements, does not add labels420 behaves like creates merge request with labels421 returns merge_request422 behaves like creates merge request with labels423 returns merge_request424 behaves like creates merge request with labels425 returns merge_request426 with existing MR427 returns 409 when MR already exists for source/target428 accepts remove_source_branch parameter429 sets force_remove_source_branch to false430 sets force_remove_source_branch to true431 forked projects432 returns merge_request433 does not return 422 when source_branch equals target_branch434 returns 403 when target project has disabled merge requests435 returns 400 when source_branch is missing436 returns 400 when target_branch is missing437 returns 400 when title is missing438 allows setting `allow_collaboration`439 returns 201 when target_branch is specified and for the same project440 when target_branch and target_project_id is specified441 returns 422 if targeting a different fork442 returns 403 if targeting a different fork which user can not access443 PUT /projects/:id/merge_reuests/:merge_request_iid444 behaves like issuable update endpoint445 PUT /projects/:id/issues/:issue_id446 clears labels when labels param is nil447 updates the issuable with labels param as array448 POST /projects/:id/merge_requests/:merge_request_iid/context_commits449 when authenticated450 creates and returns the new context commit451 returns 400 when one or more shas are invalid452 returns 400 when the commits are empty453 returns 400 when params is empty454 returns 403 when creating new context commit for guest role455 returns 403 when creating new context commit for reporter role456 doesnt create when its already created457 returns 400 when the context commit is already created458 when unauthenticated459 returns 401 if user tries to create context commits460 DELETE /projects/:id/merge_requests/:merge_request_iid461 when the user is developer462 denies the deletion of the merge request463 when the user is project owner464 destroys the merge request owners can destroy465 returns 404 for an invalid merge request IID466 returns 404 if the merge request id is used instead of iid467 behaves like 412 response468 for a modified ressource469 returns 412 with a JSON error470 for an unmodified ressource471 returns 204 with an empty body472 DELETE /projects/:id/merge_requests/:merge_request_iid/context_commits473 when authenticated474 deletes context commit475 returns 400 when invalid commit sha is passed476 returns 400 when commits is empty477 returns 400 when no params is passed478 returns 403 when deleting existing context commit for guest role479 returns 403 when deleting existing context commit for reporter role480 when unauthenticated481 returns 401, unauthorised error482 PUT /projects/:id/merge_requests/:merge_request_iid/merge483 returns merge_request in case of success484 returns 406 if branch can't be merged485 returns 405 if merge_request is not open486 returns 405 if merge_request is a work in progress487 returns 405 if the build failed for a merge request that requires success488 returns 401 if user has no permissions to merge489 returns 409 if the SHA parameter doesn't match490 succeeds if the SHA parameter matches491 updates the MR's squash attribute492 does not merge if merge_when_pipeline_succeeds is passed and the pipeline has failed493 merges if the head pipeline already succeeded and `merge_when_pipeline_succeeds` is passed494 enables merge when pipeline succeeds if the pipeline is active495 enables merge when pipeline succeeds if the pipeline is active and only_allow_merge_if_pipeline_succeeds is true496 returns 404 for an invalid merge request IID497 returns 404 if the merge request id is used instead of iid498 the squash_commit_message param499 results in a specific squash commit message when set500 results in a default squash commit message when not set501 the should_remove_source_branch param502 removes the source branch when set503 with a merge request that has force_remove_source_branch enabled504 removes the source branch505 does not remove the source branch506 performing a ff-merge with squash507 records the squash commit SHA and returns it in the response508 GET /projects/:id/merge_requests/:merge_request_iid/merge_ref509 returns the generated ID from the merge service in case of success510 when merge-ref is not synced with merge status511 returns 200 if MR can be merged512 returns 400 if MR cannot be merged513 when user has no access to the MR514 returns 404515 when invalid merge request IID516 returns 404517 when merge request ID is used instead IID518 returns 404519 PUT /projects/:id/merge_requests/:merge_request_iid520 updates title and returns merge_request521 updates description and returns merge_request522 updates milestone_id and returns merge_request523 updates squash and returns merge_request524 returns merge_request with renamed target_branch525 returns merge_request that removes the source branch526 filters assignee_id of unauthorized user527 does not update state when title is empty528 does not update state when target_branch is empty529 returns 404 for an invalid merge request IID530 returns 404 if the merge request id is used instead of iid531 updates force_remove_source_branch properly532 sets to false533 sets to true534 with a merge request across forks535 is true for an authorized user536 is false for an unauthorized user537 to close a MR538 returns merge_request539 when updating labels540 allows special label names541 also accepts labels as an array542 empty label param removes labels543 label param as empty array, but only explicitly as json, removes labels544 empty label as array, removes labels545 array with one empty string element removes labels546 array with multiple empty string elements, removes labels547 with labels548 when adding labels, keeps existing labels and adds new549 when removing labels, only removes those specified550 when removing all labels, keeps no labels551 GET :id/merge_requests/:merge_request_iid/closes_issues552 returns the issue that will be closed on merge553 returns an empty array when there are no issues to be closed554 handles external issues555 returns 403 if the user has no access to the merge request556 returns 404 for an invalid merge request IID557 returns 404 if the merge request id is used instead of iid558 POST :id/merge_requests/:merge_request_iid/subscribe559 subscribes to a merge request560 returns 304 if already subscribed561 returns 404 if the merge request is not found562 returns 404 if the merge request id is used instead of iid563 returns 403 if user has no access to read code564 POST :id/merge_requests/:merge_request_iid/unsubscribe565 unsubscribes from a merge request566 returns 304 if not subscribed567 returns 404 if the merge request is not found568 returns 404 if the merge request id is used instead of iid569 returns 403 if user has no access to read code570 POST :id/merge_requests/:merge_request_iid/cancel_merge_when_pipeline_succeeds571 removes the merge_when_pipeline_succeeds status572 returns 404 if the merge request is not found573 returns 404 if the merge request id is used instead of iid574 PUT :id/merge_requests/:merge_request_iid/rebase575 returns 403 if the user cannot push to the branch576 returns 409 if a rebase is already in progress577 returns 409 if rebase can't lock the row578 when rebase can be performed579 enqueues a rebase of the merge request against the target branch580 when skip_ci parameter is set581 enqueues a rebase of the merge request with skip_ci flag set582 Time tracking583 POST /projects/:id/merge_requests/:merge_request_id/time_estimate584 sets the time estimate for merge_request585 with an unauthorized user586 behaves like an unauthorized API user587 is expected to eq 403588 behaves like API user with insufficient permissions589 with non member that is the author590 behaves like an unauthorized API user591 is expected to eq 403592 updating the current estimate593 when duration has a bad format594 does not modify the original estimate595 with a valid duration596 updates the estimate597 POST /projects/:id/merge_requests/:merge_request_id/reset_time_estimate598 resets the time estimate for merge_request599 with an unauthorized user600 behaves like an unauthorized API user601 is expected to eq 403602 behaves like API user with insufficient permissions603 with non member that is the author604 behaves like an unauthorized API user605 is expected to eq 403606 POST /projects/:id/merge_requests/:merge_request_id/add_spent_time607 add spent time for merge_request608 with an unauthorized user609 behaves like an unauthorized API user610 is expected to eq 403611 behaves like API user with insufficient permissions612 with non member that is the author613 behaves like an unauthorized API user614 is expected to eq 403615 when subtracting time616 subtracts time of the total spent time617 when time to subtract is greater than the total spent time618 does not modify the total time spent619 POST /projects/:id/merge_requests/:merge_request_id/reset_spent_time620 resets spent time for merge_request621 with an unauthorized user622 behaves like an unauthorized API user623 is expected to eq 403624 behaves like API user with insufficient permissions625 with non member that is the author626 behaves like an unauthorized API user627 is expected to eq 403628 GET /projects/:id/merge_requests/:merge_request_id/time_stats629 returns the time stats for merge_request630API::Groups631 GET /groups632 when unauthenticated633 returns public groups634 avoids N+1 queries635 when statistics are requested636 does not include statistics637 when authenticated as user638 normal user: returns an array of groups of user1639 does not include runners_token information640 does not include statistics641 includes a created_at timestamp642 when authenticated as admin643 admin: returns an array of all groups644 does not include runners_token information645 does not include statistics by default646 includes a created_at timestamp647 includes statistics if requested648 when using skip_groups in request649 returns all groups excluding skipped groups650 when using all_available in request651 returns all groups you have access to652 when using top_level_only653 doesn't return subgroups654 when using sorting655 sorts by name ascending by default656 sorts in descending order when passed657 sorts by path in order_by param658 sorts by id in the order_by param659 sorts also by descending id with pagination fix660 sorts identical keys by id for good pagination661 sorts descending identical keys by id for good pagination662 when using owned in the request663 returns an array of groups the user owns664 when using min_access_level in the request665 returns an array of groups the user has at least master access666 GET /groups/:id667 when unauthenticated668 returns 404 for a private group669 returns 200 for a public group670 returns only public projects in the group671 returns only public projects shared with the group672 when authenticated as user673 returns one of user1's groups674 returns one of user1's groups without projects when with_projects option is set to false675 doesn't return runners_token if the user is not the owner of the group676 returns runners_token if the user is the owner of the group677 does not return a non existing group678 does not return a group not attached to user1679 returns only public and internal projects in the group680 returns only public and internal projects shared with the group681 avoids N+1 queries with project links682 avoids N+1 queries with shared group links683 when authenticated as admin684 returns any existing group685 returns information of the runners_token for the group686 does not return a non existing group687 when using group path in URL688 returns any existing group689 does not return a non existing group690 does not return a group not attached to user1691 limiting the number of projects and shared_projects in the response692 when limiting feature is enabled693 limits projects and shared_projects694 when limiting feature is not enabled695 does not limit projects and shared_projects696 PUT /groups/:id697 behaves like group avatar upload698 when valid699 returns avatar url in response700 when invalid701 when file format is not supported702 behaves like invalid file upload request703 returns 400704 when file format is not supported705 behaves like invalid file upload request706 returns 400707 when authenticated as the group owner708 updates the group709 returns 404 for a non existing group710 updating the `default_branch_protection` attribute711 for users who have the ability to update default_branch_protection712 updates the attribute713 for users who does not have the ability to update default_branch_protection`714 does not update the attribute715 malicious group name716 returns bad request717 does not update group name718 within a subgroup719 does not change visibility when not requested720 prevents making private a group containing public subgroups721 when authenticated as the admin722 updates the group723 when authenticated as an user that can see the group724 does not updates the group725 when authenticated as an user that cannot see the group726 returns 404 when trying to update the group727 GET /groups/:id/projects728 when authenticated as user729 returns the group's projects730 returns the group's projects with simple representation731 filters the groups projects732 returns projects excluding shared733 returns projects including those in subgroups734 does not return a non existing group735 does not return a group not attached to user1736 only returns projects to which user has access737 only returns the projects owned by user738 only returns the projects starred by user739 with min access level740 returns projects with min access level or higher741 and using archived742 returns the group's archived projects743 returns the group's non-archived projects744 returns all of the group's projects745 with similarity ordering746 returns items based ordered by similarity747 when `search` parameter is not given748 returns items ordered by name749 when `similarity_search` feature flag is off750 returns items ordered by name751 when authenticated as admin752 returns any existing group753 does not return a non existing group754 avoids N+1 queries755 when using group path in URL756 returns any existing group757 does not return a non existing group758 does not return a group not attached to user1759 GET /groups/:id/projects/shared760 when authenticated as user761 returns the shared projects in the group762 returns shared projects with min access level or higher763 returns the shared projects of the group with simple representation764 filters the shared projects in the group based on visibility765 filters the shared projects in the group based on search params766 does not return the projects owned by the group767 returns 404 for a non-existing group768 does not return a group not attached to the user769 only returns shared projects to which user has access770 only returns the projects starred by user771 when authenticated as admin772 returns shared projects of an existing group773 avoids N+1 queries774 for a non-existent group775 returns 404 for a non-existent group776 when using group path in URL777 returns the right details778 returns 404 for a non-existent group779 GET /groups/:id/subgroups780 when unauthenticated781 returns only public subgroups782 returns 404 for a private group783 when statistics are requested784 does not include statistics785 when authenticated as user786 when user is not member of a public group787 returns no subgroups for the public group788 when using all_available in request789 returns public subgroups790 when user is not member of a private group791 returns 404 for the private group792 when user is member of public group793 returns private subgroups794 when using statistics in request795 does not include statistics796 when user is member of private group797 returns subgroups798 when authenticated as admin799 returns private subgroups of a public group800 returns subgroups of a private group801 does not include statistics by default802 includes statistics if requested803 POST /groups804 behaves like group avatar upload805 when valid806 returns avatar url in response807 when invalid808 when file format is not supported809 behaves like invalid file upload request810 returns 400811 when file format is not supported812 behaves like invalid file upload request813 returns 400814 when authenticated as user without group permissions815 does not create group816 as owner817 can create subgroups818 as maintainer819 can create subgroups820 when authenticated as user with group permissions821 creates group822 creates a nested group823 does not create group, duplicate824 returns 400 bad request error if name not given825 returns 400 bad request error if path not given826 malicious group name827 returns bad request828 is expected not to change `Group.count`829 when creating a group with `default_branch_protection` attribute830 for users who have the ability to create a group with `default_branch_protection`831 creates group with the specified branch protection level832 for users who do not have the ability to create a group with `default_branch_protection`833 does not create the group with the specified branch protection level834 DELETE /groups/:id835 when authenticated as user836 removes group837 does not remove a group if not an owner838 does not remove a non existing group839 does not remove a group not attached to user1840 behaves like 412 response841 for a modified ressource842 returns 412 with a JSON error843 for an unmodified ressource844 returns 204 with an empty body845 when authenticated as admin846 removes any existing group847 does not remove a non existing group848 POST /groups/:id/projects/:project_id849 when authenticated as user850 does not transfer project to group851 when authenticated as admin852 transfers project to group853 when using project path in URL854 with a valid project path855 transfers project to group856 with a non-existent project path857 does not transfer project to group858 when using a group path in URL859 with a valid group path860 transfers project to group861 with a non-existent group path862 does not transfer project to group863 behaves like custom attributes endpoints864 GET /groups with custom attributes filter865 with an unauthorized user866 does not filter by custom attributes867 with an authorized user868 filters by custom attributes869 GET /groups with custom attributes870 with an unauthorized user871 does not include custom attributes872 with an authorized user873 does not include custom attributes by default874 includes custom attributes if requested875 GET /groups/:id with custom attributes876 with an unauthorized user877 does not include custom attributes878 with an authorized user879 does not include custom attributes by default880 includes custom attributes if requested881 GET /groups/:id/custom_attributes882 with an unauthorized user883 behaves like an unauthorized API user884 is expected to eq 403885 with an authorized user886 returns all custom attributes887 GET /groups/:id/custom_attributes/:key888 with an unauthorized user889 behaves like an unauthorized API user890 is expected to eq 403891 with an authorized user892 returns a single custom attribute893 PUT /groups/:id/custom_attributes/:key894 with an unauthorized user895 behaves like an unauthorized API user896 is expected to eq 403897 with an authorized user898 creates a new custom attribute899 updates an existing custom attribute900 DELETE /groups/:id/custom_attributes/:key901 with an unauthorized user902 behaves like an unauthorized API user903 is expected to eq 403904 with an authorized user905 deletes an existing custom attribute906 POST /groups/:id/share907 when authenticated as owner908 behaves like shares group with group909 shares group with group910 returns a 400 error when group id is not given911 returns a 400 error when access level is not given912 returns a 404 error when group does not exist913 returns a 400 error when wrong params passed914 returns a 409 error when link is not saved915 when the user is not the owner of the group916 does not create group share917 when authenticated as admin918 behaves like shares group with group919 shares group with group920 returns a 400 error when group id is not given921 returns a 400 error when access level is not given922 returns a 404 error when group does not exist923 returns a 400 error when wrong params passed924 returns a 409 error when link is not saved925 DELETE /groups/:id/share/:group_id926 when authenticated as owner927 behaves like deletes group share928 deletes a group share929 requires the group id to be an integer930 returns a 404 error when group link does not exist931 returns a 404 error when group does not exist932 when the user is not the owner of the group933 does not remove group share934 when authenticated as admin935 behaves like deletes group share936 deletes a group share937 requires the group id to be an integer938 returns a 404 error when group link does not exist939 returns a 404 error when group does not exist940Projects::JobsController941 GET index942 when scope is pending943 has only pending builds944 when scope is running945 has only running jobs946 when scope is finished947 has only finished jobs948 when page is specified949 when page number is eligible950 redirects to the page951 number of queries952 verifies number of queries953 GET show954 when requesting HTML955 when job exists956 has a job957 has the correct build collection958 when job does not exist959 renders not_found960 when requesting JSON961 does not serialize builds in exposed stages962 exposes the stage the job belongs to963 when job failed964 exposes needed information965 when job is running966 job is cancelable967 cancel_path is present with correct redirect968 with web terminal969 exposes the terminal path970 when job has artifacts971 with not expiry date972 exposes needed information973 with expiry date974 exposes needed information975 when job passed with no trace976 exposes empty state illustrations977 with no deployment978 does not exposes the deployment information979 with deployment980 exposes the deployment information981 when user can edit runner982 that belongs to the project983 user can edit runner984 that belongs to group985 user can not edit runner986 that belongs to instance987 user can not edit runner988 when no runners are available989 exposes needed information990 when no runner is online991 exposes needed information992 settings_path993 when user is developer994 settings_path is not available995 when user is maintainer996 when admin mode is disabled997 settings_path is not available998 when admin mode is enabled999 settings_path is available1000 when no trace is available1001 has_trace is false1002 when job has trace1003 has_trace is true1004 when requesting triggered job JSON1005 with no variables1006 exposes trigger information1007 with variables1008 user is a maintainer1009 returns a job_detail1010 exposes trigger information and variables1011 exposes correct variable properties1012 user is not a mantainer1013 returns a job_detail1014 exposes trigger information and variables1015 exposes correct variable properties1016 GET trace.json1017 when job has a trace artifact1018 returns a trace1019 when job has a trace1020 returns a trace1021 sets being-watched flag for the job1022 when job has no traces1023 returns no traces1024 when job has a trace with ANSI sequence and Unicode1025 returns a trace with Unicode1026 when trace artifact is in ObjectStorage1027 when there are no network issues1028 returns a trace1029 when there is a network issue1030 returns a trace1031 GET status.json1032 return a detailed job status in json1033 POST retry1034 when job is retryable1035 redirects to the retried job page1036 when job is not retryable1037 renders unprocessable_entity1038 POST play1039 when job is playable1040 redirects to the played job page1041 transits to pending1042 when job variables are specified1043 assigns the job variables1044 when job is not playable1045 renders unprocessable_entity1046 POST cancel1047 when continue url is present1048 when continue to is a safe url1049 redirects to the continue url1050 transits to canceled1051 when continue to is not a safe url1052WARNING: 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:0x000055d328d58af8>1053Did 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)>'.1054 raises an error1055 when continue url is not present1056 when job is cancelable1057 redirects to the builds page1058 transits to canceled1059 when job is not cancelable1060 returns unprocessable_entity1061 POST unschedule1062 when job is scheduled1063 redirects to the unscheduled job page1064 transits to manual1065 when job is not scheduled1066 renders unprocessable_entity1067 POST erase1068 when job is erasable1069 redirects to the erased job page1070 erases artifacts1071 erases trace1072 when job is not erasable1073 returns unprocessable_entity1074 when user is developer1075 when triggered by same user1076 has successful status1077 when triggered by different user1078 does not have successful status1079 GET raw1080 when job has a trace artifact1081 sets Gitlab-Workhorse-Detect-Content-Type header1082 when job has a trace file1083 sends a trace file1084 when job has a trace in database1085 sends a trace file1086 when trace format is not text/plain1087 sets content disposition to attachment1088 when job does not have a trace file1089 returns not_found1090 when the trace artifact is in ObjectStorage1091 redirect to the trace file url1092 GET #terminal1093 when job exists1094 and it has a terminal1095 has a job1096 and does not have a terminal1097 returns not_found1098 when job does not exist1099 renders not_found1100 GET #terminal_websocket_authorize1101 with valid workhorse signature1102 and valid id1103 returns the terminal for the job1104 and invalid id1105 returns 4041106 with invalid workhorse signature1107 aborts with an exception1108 GET #proxy_websocket_authorize1109 converts the url scheme into wss1110 access rights1111 with admin1112 when admin mode is enabled1113 returns 2001114 when admin mode is disabled1115 returns 4041116 with owner1117 returns 2001118 with maintainer1119 returns 2001120 with developer1121 returns 4041122 with reporter1123 returns 4041124 with guest1125 returns 4041126 with non member1127 returns 4041128 when pipeline is not from a webide source1129 with admin1130 returns 4041131 when workhorse signature is valid1132 and the id is valid1133 returns the proxy data for the service running in the job1134 and the id is invalid1135 returns 4041136 with invalid workhorse signature1137 aborts with an exception1138 when feature flag :build_service_proxy is disabled1139 returns 4041140getting merge request listings nested in a project1141 behaves like a working graphql query1142 returns a successful response1143 requesting a single field1144 selecting any single scalar field1145 field: "id"1146 behaves like a working graphql query1147 returns a successful response1148 selects the correct MR1149 field: "iid"1150 behaves like a working graphql query1151 returns a successful response1152 selects the correct MR1153 field: "title"1154 behaves like a working graphql query1155 returns a successful response1156 selects the correct MR1157 field: "titleHtml"1158 behaves like a working graphql query1159 returns a successful response1160 selects the correct MR1161 field: "description"1162 behaves like a working graphql query1163 returns a successful response1164 selects the correct MR1165 field: "descriptionHtml"1166 behaves like a working graphql query1167 returns a successful response1168 selects the correct MR1169 field: "state"1170 behaves like a working graphql query1171 returns a successful response1172 selects the correct MR1173 field: "createdAt"1174 behaves like a working graphql query1175 returns a successful response1176 selects the correct MR1177 field: "updatedAt"1178 behaves like a working graphql query1179 returns a successful response1180 selects the correct MR1181 field: "mergedAt"1182 behaves like a working graphql query1183 returns a successful response1184 selects the correct MR1185 field: "projectId"1186 behaves like a working graphql query1187 returns a successful response1188 selects the correct MR1189 field: "sourceProjectId"1190 behaves like a working graphql query1191 returns a successful response1192 selects the correct MR1193 field: "targetProjectId"1194 behaves like a working graphql query1195 returns a successful response1196 selects the correct MR1197 field: "sourceBranch"1198 behaves like a working graphql query1199 returns a successful response1200 selects the correct MR1201 field: "targetBranch"1202 behaves like a working graphql query1203 returns a successful response1204 selects the correct MR1205 field: "workInProgress"1206 behaves like a working graphql query1207 returns a successful response1208 selects the correct MR1209 field: "mergeWhenPipelineSucceeds"1210 behaves like a working graphql query1211 returns a successful response1212 selects the correct MR1213 field: "diffHeadSha"1214 behaves like a working graphql query1215 returns a successful response1216 selects the correct MR1217 field: "mergeCommitSha"1218 behaves like a working graphql query1219 returns a successful response1220 selects the correct MR1221 field: "userNotesCount"1222 behaves like a working graphql query1223 returns a successful response1224 selects the correct MR1225 field: "shouldRemoveSourceBranch"1226 behaves like a working graphql query1227 returns a successful response1228 selects the correct MR1229 field: "forceRemoveSourceBranch"1230 behaves like a working graphql query1231 returns a successful response1232 selects the correct MR1233 field: "mergeStatus"1234 behaves like a working graphql query1235 returns a successful response1236 selects the correct MR1237 field: "inProgressMergeCommitSha"1238 behaves like a working graphql query1239 returns a successful response1240 selects the correct MR1241 field: "mergeError"1242 behaves like a working graphql query1243 returns a successful response1244 selects the correct MR1245 field: "allowCollaboration"1246 behaves like a working graphql query1247 returns a successful response1248 selects the correct MR1249 field: "shouldBeRebased"1250 behaves like a working graphql query1251 returns a successful response1252 selects the correct MR1253 field: "rebaseCommitSha"1254 behaves like a working graphql query1255 returns a successful response1256 selects the correct MR1257 field: "rebaseInProgress"1258 behaves like a working graphql query1259 returns a successful response1260 selects the correct MR1261 field: "mergeCommitMessage"1262 behaves like a working graphql query1263 returns a successful response1264 selects the correct MR1265 field: "defaultMergeCommitMessage"1266 behaves like a working graphql query1267 returns a successful response1268 selects the correct MR1269 field: "mergeOngoing"1270 behaves like a working graphql query1271 returns a successful response1272 selects the correct MR1273 field: "sourceBranchExists"1274 behaves like a working graphql query1275 returns a successful response1276 selects the correct MR1277 field: "targetBranchExists"1278 behaves like a working graphql query1279 returns a successful response1280 selects the correct MR1281 field: "mergeableDiscussionsState"1282 behaves like a working graphql query1283 returns a successful response1284 selects the correct MR1285 field: "webUrl"1286 behaves like a working graphql query1287 returns a successful response1288 selects the correct MR1289 field: "upvotes"1290 behaves like a working graphql query1291 returns a successful response1292 selects the correct MR1293 field: "downvotes"1294 behaves like a working graphql query1295 returns a successful response1296 selects the correct MR1297 field: "subscribed"1298 behaves like a working graphql query1299 returns a successful response1300 selects the correct MR1301 field: "discussionLocked"1302 behaves like a working graphql query1303 returns a successful response1304 selects the correct MR1305 field: "timeEstimate"1306 behaves like a working graphql query1307 returns a successful response1308 selects the correct MR1309 field: "totalTimeSpent"1310 behaves like a working graphql query1311 returns a successful response1312 selects the correct MR1313 field: "reference"1314 behaves like a working graphql query1315 returns a successful response1316 selects the correct MR1317 field: "commitCount"1318 behaves like a working graphql query1319 returns a successful response1320 selects the correct MR1321 selecting any single nested field1322 field: "notes", subfield: "resolved", is_connection: true1323 behaves like a working graphql query1324 returns a successful response1325 selects the correct MR1326 field: "notes", subfield: "resolvable", is_connection: true1327 behaves like a working graphql query1328 returns a successful response1329 selects the correct MR1330 field: "notes", subfield: "resolvedAt", is_connection: true1331 behaves like a working graphql query1332 returns a successful response1333 selects the correct MR1334 field: "notes", subfield: "id", is_connection: true1335 behaves like a working graphql query1336 returns a successful response1337 selects the correct MR1338 field: "notes", subfield: "system", is_connection: true1339 behaves like a working graphql query1340 returns a successful response1341 selects the correct MR1342 field: "notes", subfield: "systemNoteIconName", is_connection: true1343 behaves like a working graphql query1344 returns a successful response1345 selects the correct MR1346 field: "notes", subfield: "body", is_connection: true1347 behaves like a working graphql query1348 returns a successful response1349 selects the correct MR1350 field: "notes", subfield: "bodyHtml", is_connection: true1351 behaves like a working graphql query1352 returns a successful response1353 selects the correct MR1354 field: "notes", subfield: "createdAt", is_connection: true1355 behaves like a working graphql query1356 returns a successful response1357 selects the correct MR1358 field: "notes", subfield: "updatedAt", is_connection: true1359 behaves like a working graphql query1360 returns a successful response1361 selects the correct MR1362 field: "notes", subfield: "confidential", is_connection: true1363 behaves like a working graphql query1364 returns a successful response1365 selects the correct MR1366 field: "discussions", subfield: "resolved", is_connection: true1367 behaves like a working graphql query1368 returns a successful response1369 selects the correct MR1370 field: "discussions", subfield: "resolvable", is_connection: true1371 behaves like a working graphql query1372 returns a successful response1373 selects the correct MR1374 field: "discussions", subfield: "resolvedAt", is_connection: true1375 behaves like a working graphql query1376 returns a successful response1377 selects the correct MR1378 field: "discussions", subfield: "id", is_connection: true1379 behaves like a working graphql query1380 returns a successful response1381 selects the correct MR1382 field: "discussions", subfield: "replyId", is_connection: true1383 behaves like a working graphql query1384 returns a successful response1385 selects the correct MR1386 field: "discussions", subfield: "createdAt", is_connection: true1387 behaves like a working graphql query1388 returns a successful response1389 selects the correct MR1390 field: "userPermissions", subfield: "readMergeRequest", is_connection: false1391 behaves like a working graphql query1392 returns a successful response1393 selects the correct MR1394 field: "userPermissions", subfield: "adminMergeRequest", is_connection: false1395 behaves like a working graphql query1396 returns a successful response1397 selects the correct MR1398 field: "userPermissions", subfield: "updateMergeRequest", is_connection: false1399 behaves like a working graphql query1400 returns a successful response1401 selects the correct MR1402 field: "userPermissions", subfield: "createNote", is_connection: false1403 behaves like a working graphql query1404 returns a successful response1405 selects the correct MR1406 field: "userPermissions", subfield: "pushToSourceBranch", is_connection: false1407 behaves like a working graphql query1408 returns a successful response1409 selects the correct MR1410 field: "userPermissions", subfield: "removeSourceBranch", is_connection: false1411 behaves like a working graphql query1412 returns a successful response1413 selects the correct MR1414 field: "userPermissions", subfield: "cherryPickOnCurrentMergeRequest", is_connection: false1415 behaves like a working graphql query1416 returns a successful response1417 selects the correct MR1418 field: "userPermissions", subfield: "revertOnCurrentMergeRequest", is_connection: false1419 behaves like a working graphql query1420 returns a successful response1421 selects the correct MR1422 field: "sourceProject", subfield: "id", is_connection: false1423 behaves like a working graphql query1424 returns a successful response1425 selects the correct MR1426 field: "sourceProject", subfield: "fullPath", is_connection: false1427 behaves like a working graphql query1428 returns a successful response1429 selects the correct MR1430 field: "sourceProject", subfield: "path", is_connection: false1431 behaves like a working graphql query1432 returns a successful response1433 selects the correct MR1434 field: "sourceProject", subfield: "nameWithNamespace", is_connection: false1435 behaves like a working graphql query1436 returns a successful response1437 selects the correct MR1438 field: "sourceProject", subfield: "name", is_connection: false1439 behaves like a working graphql query1440 returns a successful response1441 selects the correct MR1442 field: "sourceProject", subfield: "description", is_connection: false1443 behaves like a working graphql query1444 returns a successful response1445 selects the correct MR1446 field: "sourceProject", subfield: "descriptionHtml", is_connection: false1447 behaves like a working graphql query1448 returns a successful response1449 selects the correct MR1450 field: "sourceProject", subfield: "tagList", is_connection: false1451 behaves like a working graphql query1452 returns a successful response1453 selects the correct MR1454 field: "sourceProject", subfield: "sshUrlToRepo", is_connection: false1455 behaves like a working graphql query1456 returns a successful response1457 selects the correct MR1458 field: "sourceProject", subfield: "httpUrlToRepo", is_connection: false1459 behaves like a working graphql query1460 returns a successful response1461 selects the correct MR1462 field: "sourceProject", subfield: "webUrl", is_connection: false1463 behaves like a working graphql query1464 returns a successful response1465 selects the correct MR1466 field: "sourceProject", subfield: "starCount", is_connection: false1467 behaves like a working graphql query1468 returns a successful response1469 selects the correct MR1470 field: "sourceProject", subfield: "forksCount", is_connection: false1471 behaves like a working graphql query1472 returns a successful response1473 selects the correct MR1474 field: "sourceProject", subfield: "createdAt", is_connection: false1475 behaves like a working graphql query1476 returns a successful response1477 selects the correct MR1478 field: "sourceProject", subfield: "lastActivityAt", is_connection: false1479 behaves like a working graphql query1480 returns a successful response1481 selects the correct MR1482 field: "sourceProject", subfield: "archived", is_connection: false1483 behaves like a working graphql query1484 returns a successful response1485 selects the correct MR1486 field: "sourceProject", subfield: "visibility", is_connection: false1487 behaves like a working graphql query1488 returns a successful response1489 selects the correct MR1490 field: "sourceProject", subfield: "containerRegistryEnabled", is_connection: false1491 behaves like a working graphql query1492 returns a successful response1493 selects the correct MR1494 field: "sourceProject", subfield: "sharedRunnersEnabled", is_connection: false1495 behaves like a working graphql query1496 returns a successful response1497 selects the correct MR1498 field: "sourceProject", subfield: "lfsEnabled", is_connection: false1499 behaves like a working graphql query1500 returns a successful response1501 selects the correct MR1502 field: "sourceProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1503 behaves like a working graphql query1504 returns a successful response1505 selects the correct MR1506 field: "sourceProject", subfield: "serviceDeskEnabled", is_connection: false1507 behaves like a working graphql query1508 returns a successful response1509 selects the correct MR1510 field: "sourceProject", subfield: "serviceDeskAddress", is_connection: false1511 behaves like a working graphql query1512 returns a successful response1513 selects the correct MR1514 field: "sourceProject", subfield: "avatarUrl", is_connection: false1515 behaves like a working graphql query1516 returns a successful response1517 selects the correct MR1518 field: "sourceProject", subfield: "issuesEnabled", is_connection: false1519 behaves like a working graphql query1520 returns a successful response1521 selects the correct MR1522 field: "sourceProject", subfield: "mergeRequestsEnabled", is_connection: false1523 behaves like a working graphql query1524 returns a successful response1525 selects the correct MR1526 field: "sourceProject", subfield: "wikiEnabled", is_connection: false1527 behaves like a working graphql query1528 returns a successful response1529 selects the correct MR1530 field: "sourceProject", subfield: "snippetsEnabled", is_connection: false1531 behaves like a working graphql query1532 returns a successful response1533 selects the correct MR1534 field: "sourceProject", subfield: "jobsEnabled", is_connection: false1535 behaves like a working graphql query1536 returns a successful response1537 selects the correct MR1538 field: "sourceProject", subfield: "publicJobs", is_connection: false1539 behaves like a working graphql query1540 returns a successful response1541 selects the correct MR1542 field: "sourceProject", subfield: "openIssuesCount", is_connection: false1543 behaves like a working graphql query1544 returns a successful response1545 selects the correct MR1546 field: "sourceProject", subfield: "importStatus", is_connection: false1547 behaves like a working graphql query1548 returns a successful response1549 selects the correct MR1550 field: "sourceProject", subfield: "jiraImportStatus", is_connection: false1551 behaves like a working graphql query1552 returns a successful response1553 selects the correct MR1554 field: "sourceProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1555 behaves like a working graphql query1556 returns a successful response1557 selects the correct MR1558 field: "sourceProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false1559 behaves like a working graphql query1560 returns a successful response1561 selects the correct MR1562 field: "sourceProject", subfield: "requestAccessEnabled", is_connection: false1563 behaves like a working graphql query1564 returns a successful response1565 selects the correct MR1566 field: "sourceProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1567 behaves like a working graphql query1568 returns a successful response1569 selects the correct MR1570 field: "sourceProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false1571 behaves like a working graphql query1572 returns a successful response1573 selects the correct MR1574 field: "sourceProject", subfield: "removeSourceBranchAfterMerge", is_connection: false1575 behaves like a working graphql query1576 returns a successful response1577 selects the correct MR1578 field: "sourceProject", subfield: "autocloseReferencedIssues", is_connection: false1579 behaves like a working graphql query1580 returns a successful response1581 selects the correct MR1582 field: "sourceProject", subfield: "suggestionCommitMessage", is_connection: false1583 behaves like a working graphql query1584 returns a successful response1585 selects the correct MR1586 field: "sourceProject", subfield: "securityDashboardPath", is_connection: false1587 behaves like a working graphql query1588 returns a successful response1589 selects the correct MR1590 field: "targetProject", subfield: "id", is_connection: false1591 behaves like a working graphql query1592 returns a successful response1593 selects the correct MR1594 field: "targetProject", subfield: "fullPath", is_connection: false1595 behaves like a working graphql query1596 returns a successful response1597 selects the correct MR1598 field: "targetProject", subfield: "path", is_connection: false1599 behaves like a working graphql query1600 returns a successful response1601 selects the correct MR1602 field: "targetProject", subfield: "nameWithNamespace", is_connection: false1603 behaves like a working graphql query1604 returns a successful response1605 selects the correct MR1606 field: "targetProject", subfield: "name", is_connection: false1607 behaves like a working graphql query1608 returns a successful response1609 selects the correct MR1610 field: "targetProject", subfield: "description", is_connection: false1611 behaves like a working graphql query1612 returns a successful response1613 selects the correct MR1614 field: "targetProject", subfield: "descriptionHtml", is_connection: false1615 behaves like a working graphql query1616 returns a successful response1617 selects the correct MR1618 field: "targetProject", subfield: "tagList", is_connection: false1619 behaves like a working graphql query1620 returns a successful response1621 selects the correct MR1622 field: "targetProject", subfield: "sshUrlToRepo", is_connection: false1623 behaves like a working graphql query1624 returns a successful response1625 selects the correct MR1626 field: "targetProject", subfield: "httpUrlToRepo", is_connection: false1627 behaves like a working graphql query1628 returns a successful response1629 selects the correct MR1630 field: "targetProject", subfield: "webUrl", is_connection: false1631 behaves like a working graphql query1632 returns a successful response1633 selects the correct MR1634 field: "targetProject", subfield: "starCount", is_connection: false1635 behaves like a working graphql query1636 returns a successful response1637 selects the correct MR1638 field: "targetProject", subfield: "forksCount", is_connection: false1639 behaves like a working graphql query1640 returns a successful response1641 selects the correct MR1642 field: "targetProject", subfield: "createdAt", is_connection: false1643 behaves like a working graphql query1644 returns a successful response1645 selects the correct MR1646 field: "targetProject", subfield: "lastActivityAt", is_connection: false1647 behaves like a working graphql query1648 returns a successful response1649 selects the correct MR1650 field: "targetProject", subfield: "archived", is_connection: false1651 behaves like a working graphql query1652 returns a successful response1653 selects the correct MR1654 field: "targetProject", subfield: "visibility", is_connection: false1655 behaves like a working graphql query1656 returns a successful response1657 selects the correct MR1658 field: "targetProject", subfield: "containerRegistryEnabled", is_connection: false1659 behaves like a working graphql query1660 returns a successful response1661 selects the correct MR1662 field: "targetProject", subfield: "sharedRunnersEnabled", is_connection: false1663 behaves like a working graphql query1664 returns a successful response1665 selects the correct MR1666 field: "targetProject", subfield: "lfsEnabled", is_connection: false1667 behaves like a working graphql query1668 returns a successful response1669 selects the correct MR1670 field: "targetProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1671 behaves like a working graphql query1672 returns a successful response1673 selects the correct MR1674 field: "targetProject", subfield: "serviceDeskEnabled", is_connection: false1675 behaves like a working graphql query1676 returns a successful response1677 selects the correct MR1678 field: "targetProject", subfield: "serviceDeskAddress", is_connection: false1679 behaves like a working graphql query1680 returns a successful response1681 selects the correct MR1682 field: "targetProject", subfield: "avatarUrl", is_connection: false1683 behaves like a working graphql query1684 returns a successful response1685 selects the correct MR1686 field: "targetProject", subfield: "issuesEnabled", is_connection: false1687 behaves like a working graphql query1688 returns a successful response1689 selects the correct MR1690 field: "targetProject", subfield: "mergeRequestsEnabled", is_connection: false1691 behaves like a working graphql query1692 returns a successful response1693 selects the correct MR1694 field: "targetProject", subfield: "wikiEnabled", is_connection: false1695 behaves like a working graphql query1696 returns a successful response1697 selects the correct MR1698 field: "targetProject", subfield: "snippetsEnabled", is_connection: false1699 behaves like a working graphql query1700 returns a successful response1701 selects the correct MR1702 field: "targetProject", subfield: "jobsEnabled", is_connection: false1703 behaves like a working graphql query1704 returns a successful response1705 selects the correct MR1706 field: "targetProject", subfield: "publicJobs", is_connection: false1707 behaves like a working graphql query1708 returns a successful response1709 selects the correct MR1710 field: "targetProject", subfield: "openIssuesCount", is_connection: false1711 behaves like a working graphql query1712 returns a successful response1713 selects the correct MR1714 field: "targetProject", subfield: "importStatus", is_connection: false1715 behaves like a working graphql query1716 returns a successful response1717 selects the correct MR1718 field: "targetProject", subfield: "jiraImportStatus", is_connection: false1719 behaves like a working graphql query1720 returns a successful response1721 selects the correct MR1722 field: "targetProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1723 behaves like a working graphql query1724 returns a successful response1725 selects the correct MR1726 field: "targetProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false1727 behaves like a working graphql query1728 returns a successful response1729 selects the correct MR1730 field: "targetProject", subfield: "requestAccessEnabled", is_connection: false1731 behaves like a working graphql query1732 returns a successful response1733 selects the correct MR1734 field: "targetProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1735 behaves like a working graphql query1736 returns a successful response1737 selects the correct MR1738 field: "targetProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false1739 behaves like a working graphql query1740 returns a successful response1741 selects the correct MR1742 field: "targetProject", subfield: "removeSourceBranchAfterMerge", is_connection: false1743 behaves like a working graphql query1744 returns a successful response1745 selects the correct MR1746 field: "targetProject", subfield: "autocloseReferencedIssues", is_connection: false1747 behaves like a working graphql query1748 returns a successful response1749 selects the correct MR1750 field: "targetProject", subfield: "suggestionCommitMessage", is_connection: false1751 behaves like a working graphql query1752 returns a successful response1753 selects the correct MR1754 field: "targetProject", subfield: "securityDashboardPath", is_connection: false1755 behaves like a working graphql query1756 returns a successful response1757 selects the correct MR1758 field: "diffRefs", subfield: "headSha", is_connection: false1759 behaves like a working graphql query1760 returns a successful response1761 selects the correct MR1762 field: "diffRefs", subfield: "baseSha", is_connection: false1763 behaves like a working graphql query1764 returns a successful response1765 selects the correct MR1766 field: "diffRefs", subfield: "startSha", is_connection: false1767 behaves like a working graphql query1768 returns a successful response1769 selects the correct MR1770 field: "project", subfield: "id", is_connection: false1771 behaves like a working graphql query1772 returns a successful response1773 selects the correct MR1774 field: "project", subfield: "fullPath", is_connection: false1775 behaves like a working graphql query1776 returns a successful response1777 selects the correct MR1778 field: "project", subfield: "path", is_connection: false1779 behaves like a working graphql query1780 returns a successful response1781 selects the correct MR1782 field: "project", subfield: "nameWithNamespace", is_connection: false1783 behaves like a working graphql query1784 returns a successful response1785 selects the correct MR1786 field: "project", subfield: "name", is_connection: false1787 behaves like a working graphql query1788 returns a successful response1789 selects the correct MR1790 field: "project", subfield: "description", is_connection: false1791 behaves like a working graphql query1792 returns a successful response1793 selects the correct MR1794 field: "project", subfield: "descriptionHtml", is_connection: false1795 behaves like a working graphql query1796 returns a successful response1797 selects the correct MR1798 field: "project", subfield: "tagList", is_connection: false1799 behaves like a working graphql query1800 returns a successful response1801 selects the correct MR1802 field: "project", subfield: "sshUrlToRepo", is_connection: false1803 behaves like a working graphql query1804 returns a successful response1805 selects the correct MR1806 field: "project", subfield: "httpUrlToRepo", is_connection: false1807 behaves like a working graphql query1808 returns a successful response1809 selects the correct MR1810 field: "project", subfield: "webUrl", is_connection: false1811 behaves like a working graphql query1812 returns a successful response1813 selects the correct MR1814 field: "project", subfield: "starCount", is_connection: false1815 behaves like a working graphql query1816 returns a successful response1817 selects the correct MR1818 field: "project", subfield: "forksCount", is_connection: false1819 behaves like a working graphql query1820 returns a successful response1821 selects the correct MR1822 field: "project", subfield: "createdAt", is_connection: false1823 behaves like a working graphql query1824 returns a successful response1825 selects the correct MR1826 field: "project", subfield: "lastActivityAt", is_connection: false1827 behaves like a working graphql query1828 returns a successful response1829 selects the correct MR1830 field: "project", subfield: "archived", is_connection: false1831 behaves like a working graphql query1832 returns a successful response1833 selects the correct MR1834 field: "project", subfield: "visibility", is_connection: false1835 behaves like a working graphql query1836 returns a successful response1837 selects the correct MR1838 field: "project", subfield: "containerRegistryEnabled", is_connection: false1839 behaves like a working graphql query1840 returns a successful response1841 selects the correct MR1842 field: "project", subfield: "sharedRunnersEnabled", is_connection: false1843 behaves like a working graphql query1844 returns a successful response1845 selects the correct MR1846 field: "project", subfield: "lfsEnabled", is_connection: false1847 behaves like a working graphql query1848 returns a successful response1849 selects the correct MR1850 field: "project", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false1851 behaves like a working graphql query1852 returns a successful response1853 selects the correct MR1854 field: "project", subfield: "serviceDeskEnabled", is_connection: false1855 behaves like a working graphql query1856 returns a successful response1857 selects the correct MR1858 field: "project", subfield: "serviceDeskAddress", is_connection: false1859 behaves like a working graphql query1860 returns a successful response1861 selects the correct MR1862 field: "project", subfield: "avatarUrl", is_connection: false1863 behaves like a working graphql query1864 returns a successful response1865 selects the correct MR1866 field: "project", subfield: "issuesEnabled", is_connection: false1867 behaves like a working graphql query1868 returns a successful response1869 selects the correct MR1870 field: "project", subfield: "mergeRequestsEnabled", is_connection: false1871 behaves like a working graphql query1872 returns a successful response1873 selects the correct MR1874 field: "project", subfield: "wikiEnabled", is_connection: false1875 behaves like a working graphql query1876 returns a successful response1877 selects the correct MR1878 field: "project", subfield: "snippetsEnabled", is_connection: false1879 behaves like a working graphql query1880 returns a successful response1881 selects the correct MR1882 field: "project", subfield: "jobsEnabled", is_connection: false1883 behaves like a working graphql query1884 returns a successful response1885 selects the correct MR1886 field: "project", subfield: "publicJobs", is_connection: false1887 behaves like a working graphql query1888 returns a successful response1889 selects the correct MR1890 field: "project", subfield: "openIssuesCount", is_connection: false1891 behaves like a working graphql query1892 returns a successful response1893 selects the correct MR1894 field: "project", subfield: "importStatus", is_connection: false1895 behaves like a working graphql query1896 returns a successful response1897 selects the correct MR1898 field: "project", subfield: "jiraImportStatus", is_connection: false1899 behaves like a working graphql query1900 returns a successful response1901 selects the correct MR1902 field: "project", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false1903 behaves like a working graphql query1904 returns a successful response1905 selects the correct MR1906 field: "project", subfield: "allowMergeOnSkippedPipeline", is_connection: false1907 behaves like a working graphql query1908 returns a successful response1909 selects the correct MR1910 field: "project", subfield: "requestAccessEnabled", is_connection: false1911 behaves like a working graphql query1912 returns a successful response1913 selects the correct MR1914 field: "project", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false1915 behaves like a working graphql query1916 returns a successful response1917 selects the correct MR1918 field: "project", subfield: "printingMergeRequestLinkEnabled", is_connection: false1919 behaves like a working graphql query1920 returns a successful response1921 selects the correct MR1922 field: "project", subfield: "removeSourceBranchAfterMerge", is_connection: false1923 behaves like a working graphql query1924 returns a successful response1925 selects the correct MR1926 field: "project", subfield: "autocloseReferencedIssues", is_connection: false1927 behaves like a working graphql query1928 returns a successful response1929 selects the correct MR1930 field: "project", subfield: "suggestionCommitMessage", is_connection: false1931 behaves like a working graphql query1932 returns a successful response1933 selects the correct MR1934 field: "project", subfield: "securityDashboardPath", is_connection: false1935 behaves like a working graphql query1936 returns a successful response1937 selects the correct MR1938 field: "diffStats", subfield: "path", is_connection: false1939 behaves like a working graphql query1940 returns a successful response1941 selects the correct MR1942 field: "diffStats", subfield: "additions", is_connection: false1943 behaves like a working graphql query1944 returns a successful response1945 selects the correct MR1946 field: "diffStats", subfield: "deletions", is_connection: false1947 behaves like a working graphql query1948 returns a successful response1949 selects the correct MR1950 field: "diffStatsSummary", subfield: "additions", is_connection: false1951 behaves like a working graphql query1952 returns a successful response1953 selects the correct MR1954 field: "diffStatsSummary", subfield: "deletions", is_connection: false1955 behaves like a working graphql query1956 returns a successful response1957 selects the correct MR1958 field: "diffStatsSummary", subfield: "changes", is_connection: false1959 behaves like a working graphql query1960 returns a successful response1961 selects the correct MR1962 field: "diffStatsSummary", subfield: "fileCount", is_connection: false1963 behaves like a working graphql query1964 returns a successful response1965 selects the correct MR1966 field: "headPipeline", subfield: "id", is_connection: false1967 behaves like a working graphql query1968 returns a successful response1969 selects the correct MR1970 field: "headPipeline", subfield: "iid", is_connection: false1971 behaves like a working graphql query1972 returns a successful response1973 selects the correct MR1974 field: "headPipeline", subfield: "sha", is_connection: false1975 behaves like a working graphql query1976 returns a successful response1977 selects the correct MR1978 field: "headPipeline", subfield: "beforeSha", is_connection: false1979 behaves like a working graphql query1980 returns a successful response1981 selects the correct MR1982 field: "headPipeline", subfield: "status", is_connection: false1983 behaves like a working graphql query1984 returns a successful response1985 selects the correct MR1986 field: "headPipeline", subfield: "configSource", is_connection: false1987 behaves like a working graphql query1988 returns a successful response1989 selects the correct MR1990 field: "headPipeline", subfield: "duration", is_connection: false1991 behaves like a working graphql query1992 returns a successful response1993 selects the correct MR1994 field: "headPipeline", subfield: "coverage", is_connection: false1995 behaves like a working graphql query1996 returns a successful response1997 selects the correct MR1998 field: "headPipeline", subfield: "createdAt", is_connection: false1999 behaves like a working graphql query2000 returns a successful response2001 selects the correct MR2002 field: "headPipeline", subfield: "updatedAt", is_connection: false2003 behaves like a working graphql query2004 returns a successful response2005 selects the correct MR2006 field: "headPipeline", subfield: "startedAt", is_connection: false2007 behaves like a working graphql query2008 returns a successful response2009 selects the correct MR2010 field: "headPipeline", subfield: "finishedAt", is_connection: false2011 behaves like a working graphql query2012 returns a successful response2013 selects the correct MR2014 field: "headPipeline", subfield: "committedAt", is_connection: false2015 behaves like a working graphql query2016 returns a successful response2017 selects the correct MR2018 field: "pipelines", subfield: "id", is_connection: true2019 behaves like a working graphql query2020 returns a successful response2021 selects the correct MR2022 field: "pipelines", subfield: "iid", is_connection: true2023 behaves like a working graphql query2024 returns a successful response2025 selects the correct MR2026 field: "pipelines", subfield: "sha", is_connection: true2027 behaves like a working graphql query2028 returns a successful response2029 selects the correct MR2030 field: "pipelines", subfield: "beforeSha", is_connection: true2031 behaves like a working graphql query2032 returns a successful response2033 selects the correct MR2034 field: "pipelines", subfield: "status", is_connection: true2035 behaves like a working graphql query2036 returns a successful response2037 selects the correct MR2038 field: "pipelines", subfield: "configSource", is_connection: true2039 behaves like a working graphql query2040 returns a successful response2041 selects the correct MR2042 field: "pipelines", subfield: "duration", is_connection: true2043 behaves like a working graphql query2044 returns a successful response2045 selects the correct MR2046 field: "pipelines", subfield: "coverage", is_connection: true2047 behaves like a working graphql query2048 returns a successful response2049 selects the correct MR2050 field: "pipelines", subfield: "createdAt", is_connection: true2051 behaves like a working graphql query2052 returns a successful response2053 selects the correct MR2054 field: "pipelines", subfield: "updatedAt", is_connection: true2055 behaves like a working graphql query2056 returns a successful response2057 selects the correct MR2058 field: "pipelines", subfield: "startedAt", is_connection: true2059 behaves like a working graphql query2060 returns a successful response2061 selects the correct MR2062 field: "pipelines", subfield: "finishedAt", is_connection: true2063 behaves like a working graphql query2064 returns a successful response2065 selects the correct MR2066 field: "pipelines", subfield: "committedAt", is_connection: true2067 behaves like a working graphql query2068 returns a successful response2069 selects the correct MR2070 field: "milestone", subfield: "id", is_connection: false2071 behaves like a working graphql query2072 returns a successful response2073 selects the correct MR2074 field: "milestone", subfield: "title", is_connection: false2075 behaves like a working graphql query2076 returns a successful response2077 selects the correct MR2078 field: "milestone", subfield: "description", is_connection: false2079 behaves like a working graphql query2080 returns a successful response2081 selects the correct MR2082 field: "milestone", subfield: "state", is_connection: false2083 behaves like a working graphql query2084 returns a successful response2085 selects the correct MR2086 field: "milestone", subfield: "webPath", is_connection: false2087 behaves like a working graphql query2088 returns a successful response2089 selects the correct MR2090 field: "milestone", subfield: "dueDate", is_connection: false2091 behaves like a working graphql query2092 returns a successful response2093 selects the correct MR2094 field: "milestone", subfield: "startDate", is_connection: false2095 behaves like a working graphql query2096 returns a successful response2097 selects the correct MR2098 field: "milestone", subfield: "createdAt", is_connection: false2099 behaves like a working graphql query2100 returns a successful response2101 selects the correct MR2102 field: "milestone", subfield: "updatedAt", is_connection: false2103 behaves like a working graphql query2104 returns a successful response2105 selects the correct MR2106 field: "milestone", subfield: "projectMilestone", is_connection: false2107 behaves like a working graphql query2108 returns a successful response2109 selects the correct MR2110 field: "milestone", subfield: "groupMilestone", is_connection: false2111 behaves like a working graphql query2112 returns a successful response2113 selects the correct MR2114 field: "milestone", subfield: "subgroupMilestone", is_connection: false2115 behaves like a working graphql query2116 returns a successful response2117 selects the correct MR2118 field: "assignees", subfield: "id", is_connection: true2119 behaves like a working graphql query2120 returns a successful response2121 selects the correct MR2122 field: "assignees", subfield: "username", is_connection: true2123 behaves like a working graphql query2124 returns a successful response2125 selects the correct MR2126 field: "assignees", subfield: "name", is_connection: true2127 behaves like a working graphql query2128 returns a successful response2129 selects the correct MR2130 field: "assignees", subfield: "state", is_connection: true2131 behaves like a working graphql query2132 returns a successful response2133 selects the correct MR2134 field: "assignees", subfield: "email", is_connection: true2135 behaves like a working graphql query2136 returns a successful response2137 selects the correct MR2138 field: "assignees", subfield: "avatarUrl", is_connection: true2139 behaves like a working graphql query2140 returns a successful response2141 selects the correct MR2142 field: "assignees", subfield: "webUrl", is_connection: true2143 behaves like a working graphql query2144 returns a successful response2145 selects the correct MR2146 field: "assignees", subfield: "webPath", is_connection: true2147 behaves like a working graphql query2148 returns a successful response2149 selects the correct MR2150 field: "author", subfield: "id", is_connection: false2151 behaves like a working graphql query2152 returns a successful response2153 selects the correct MR2154 field: "author", subfield: "username", is_connection: false2155 behaves like a working graphql query2156 returns a successful response2157 selects the correct MR2158 field: "author", subfield: "name", is_connection: false2159 behaves like a working graphql query2160 returns a successful response2161 selects the correct MR2162 field: "author", subfield: "state", is_connection: false2163 behaves like a working graphql query2164 returns a successful response2165 selects the correct MR2166 field: "author", subfield: "email", is_connection: false2167 behaves like a working graphql query2168 returns a successful response2169 selects the correct MR2170 field: "author", subfield: "avatarUrl", is_connection: false2171 behaves like a working graphql query2172 returns a successful response2173 selects the correct MR2174 field: "author", subfield: "webUrl", is_connection: false2175 behaves like a working graphql query2176 returns a successful response2177 selects the correct MR2178 field: "author", subfield: "webPath", is_connection: false2179 behaves like a working graphql query2180 returns a successful response2181 selects the correct MR2182 field: "participants", subfield: "id", is_connection: true2183 behaves like a working graphql query2184 returns a successful response2185 selects the correct MR2186 field: "participants", subfield: "username", is_connection: true2187 behaves like a working graphql query2188 returns a successful response2189 selects the correct MR2190 field: "participants", subfield: "name", is_connection: true2191 behaves like a working graphql query2192 returns a successful response2193 selects the correct MR2194 field: "participants", subfield: "state", is_connection: true2195 behaves like a working graphql query2196 returns a successful response2197 selects the correct MR2198 field: "participants", subfield: "email", is_connection: true2199 behaves like a working graphql query2200 returns a successful response2201 selects the correct MR2202 field: "participants", subfield: "avatarUrl", is_connection: true2203 behaves like a working graphql query2204 returns a successful response2205 selects the correct MR2206 field: "participants", subfield: "webUrl", is_connection: true2207 behaves like a working graphql query2208 returns a successful response2209 selects the correct MR2210 field: "participants", subfield: "webPath", is_connection: true2211 behaves like a working graphql query2212 returns a successful response2213 selects the correct MR2214 field: "labels", subfield: "id", is_connection: true2215 behaves like a working graphql query2216 returns a successful response2217 selects the correct MR2218 field: "labels", subfield: "description", is_connection: true2219 behaves like a working graphql query2220 returns a successful response2221 selects the correct MR2222 field: "labels", subfield: "descriptionHtml", is_connection: true2223 behaves like a working graphql query2224 returns a successful response2225 selects the correct MR2226 field: "labels", subfield: "title", is_connection: true2227 behaves like a working graphql query2228 returns a successful response2229 selects the correct MR2230 field: "labels", subfield: "color", is_connection: true2231 behaves like a working graphql query2232 returns a successful response2233 selects the correct MR2234 field: "labels", subfield: "textColor", is_connection: true2235 behaves like a working graphql query2236 returns a successful response2237 selects the correct MR2238 field: "taskCompletionStatus", subfield: "count", is_connection: false2239 behaves like a working graphql query2240 returns a successful response2241 selects the correct MR2242 field: "taskCompletionStatus", subfield: "completedCount", is_connection: false2243 behaves like a working graphql query2244 returns a successful response2245 selects the correct MR2246 field: "approvedBy", subfield: "id", is_connection: true2247 behaves like a working graphql query2248 returns a successful response2249 selects the correct MR2250 field: "approvedBy", subfield: "username", is_connection: true2251 behaves like a working graphql query2252 returns a successful response2253 selects the correct MR2254 field: "approvedBy", subfield: "name", is_connection: true2255 behaves like a working graphql query2256 returns a successful response2257 selects the correct MR2258 field: "approvedBy", subfield: "state", is_connection: true2259 behaves like a working graphql query2260 returns a successful response2261 selects the correct MR2262 field: "approvedBy", subfield: "email", is_connection: true2263 behaves like a working graphql query2264 returns a successful response2265 selects the correct MR2266 field: "approvedBy", subfield: "avatarUrl", is_connection: true2267 behaves like a working graphql query2268 returns a successful response2269 selects the correct MR2270 field: "approvedBy", subfield: "webUrl", is_connection: true2271 behaves like a working graphql query2272 returns a successful response2273 selects the correct MR2274 field: "approvedBy", subfield: "webPath", is_connection: true2275 behaves like a working graphql query2276 returns a successful response2277 selects the correct MR2278 there are no search params2279 behaves like searching with parameters2280 finds the right mrs2281 the search params do not match anything2282 behaves like searching with parameters2283 finds the right mrs2284 searching by iids2285 behaves like searching with parameters2286 finds the right mrs2287 searching by state2288 behaves like searching with parameters2289 finds the right mrs2290 searching by source_branch2291 behaves like searching with parameters2292 finds the right mrs2293 searching by target_branch2294 behaves like searching with parameters2295 finds the right mrs2296 searching by label2297 behaves like searching with parameters2298 finds the right mrs2299 searching by combination2300 behaves like searching with parameters2301 finds the right mrs2302 fields2303 when requesting `commit_count`2304 exposes `commit_count`2305 prevents N+1 queries2306 when requesting `merged_at`2307 prevents N+1 queries2308API::Jobs2309 GET /projects/:id/jobs2310 authorized user2311 returns project jobs2312 returns correct values2313 returns pipeline data2314 avoids N+1 queries2315 without artifacts and trace2316 returns no artifacts nor trace data2317 behaves like a job with artifacts and trace2318 with artifacts and trace2319 returns artifacts and trace data2320 filter project with one scope element2321 is expected to be a kind of Array2322 filter project with array of scope elements2323 is expected to be a kind of Array2324 respond 400 when scope contains invalid state2325 is expected to respond with numeric status code bad_request2326 unauthorized user2327 when user is not logged in2328 does not return project jobs2329 when user is guest2330 does not return project jobs2331 GET /projects/:id/pipelines/:pipeline_id/jobs2332 authorized user2333 returns pipeline jobs2334 returns correct values2335 returns pipeline data2336 avoids N+1 queries2337 behaves like a job with artifacts and trace2338 with artifacts and trace2339 returns artifacts and trace data2340 filter jobs with one scope element2341 is expected to be a kind of Array2342 filter jobs with array of scope elements2343 is expected to be a kind of Array2344 respond 400 when scope contains invalid state2345 is expected to respond with numeric status code bad_request2346 jobs in different pipelines2347 excludes jobs from other pipelines2348 when config source not ci2349 returns the specified pipeline2350 unauthorized user2351 when user is not logged in2352 does not return jobs2353 when user is guest2354 does not return jobs2355 GET /projects/:id/pipelines/:pipeline_id/bridges2356 authorized user2357 returns pipeline bridges2358 returns correct values2359 returns pipeline data2360 returns downstream pipeline data2361 avoids N+1 queries2362 filter bridges2363 with one scope element2364 skip_before_request2365 with array of scope elements2366 skip_before_request2367 respond 400 when scope contains invalid state2368 is expected to respond with numeric status code bad_request2369 bridges in different pipelines2370 excludes bridges from other pipelines2371 unauthorized user2372 when user is not logged in2373 does not return bridges2374 when user is guest2375 does not return bridges2376 when user has no read access for pipeline2377 does not return bridges2378 when user has no read_build access for project2379 does not return bridges2380 GET /projects/:id/jobs/:job_id2381 authorized user2382 returns specific job data2383 returns pipeline data2384 behaves like a job with artifacts and trace2385 with artifacts and trace2386 returns artifacts and trace data2387 unauthorized user2388 does not return specific job data2389 DELETE /projects/:id/jobs/:job_id/artifacts2390 when user is anonymous2391 does not delete artifacts2392 returns status 401 (unauthorized)2393 with developer2394 does not delete artifacts2395 returns status 403 (forbidden)2396 with authorized user2397 deletes artifacts2398 returns status 204 (no content)2399 GET /projects/:id/jobs/:job_id/artifacts/:artifact_path2400 when job has artifacts2401 when user is anonymous2402 when project is public2403 allows to access artifacts2404 when project is public with builds access disabled2405 rejects access to artifacts2406 when project is private2407 rejects access and hides existence of artifacts2408 when user is authorized2409 returns a specific artifact file for a valid path2410 when job does not have artifacts2411 does not return job artifact file2412 GET /projects/:id/jobs/:job_id/artifacts2413 normal authentication2414 job with artifacts2415 does not return job artifacts if not uploaded2416 when artifacts are stored locally2417 authorized user2418 behaves like downloads artifact2419 returns specific job artifacts2420 unauthorized user2421 does not return specific job artifacts2422 when artifacts are stored remotely2423 when proxy download is enabled2424 responds with the workhorse send-url2425 when proxy download is disabled2426 returns location redirect2427 authorized user2428 returns the file remote URL2429 unauthorized user2430 does not return specific job artifacts2431 GET /projects/:id/artifacts/:ref_name/download?job=name2432 when not logged in2433 does not find a resource in a private project2434 when logging as guest2435 gives 4032436 non-existing job2437 has no such ref2438 behaves like not found2439 is expected to respond with numeric status code not_found2440 has no such job2441 behaves like not found2442 is expected to respond with numeric status code not_found2443 find proper job2444 with regular branch2445 behaves like a valid file2446 when artifacts are stored locally2447 is expected to respond with numeric status code ok2448 is expected to include {"Content-Transfer-Encoding" => "binary", "Content-Disposition" => "attachment; filename=\"ci_build_artifacts.zip\"; filename*=UTF-8''ci_build_artifacts.zip"}2449 when artifacts are stored remotely2450 returns location redirect2451 with branch name containing slash2452 behaves like a valid file2453 when artifacts are stored locally2454 is expected to respond with numeric status code ok2455 is expected to include {"Content-Transfer-Encoding" => "binary", "Content-Disposition" => "attachment; filename=\"ci_build_artifacts.zip\"; filename*=UTF-8''ci_build_artifacts.zip"}2456 when artifacts are stored remotely2457 returns location redirect2458 GET id/jobs/artifacts/:ref_name/raw/*artifact_path?job=name2459 when job has artifacts2460 when user is anonymous2461 when project is public2462 allows to access artifacts2463 when project is public with builds access disabled2464 rejects access to artifacts2465 when project is private2466 rejects access and hides existence of artifacts2467 when user is authorized2468 returns a specific artifact file for a valid path2469 with branch name containing slash2470 returns a specific artifact file for a valid path2471 non-existing job2472 has no such ref2473 behaves like not found2474 is expected to respond with numeric status code not_found2475 has no such job2476 behaves like not found2477 is expected to respond with numeric status code not_found2478 when job does not have artifacts2479 does not return job artifact file2480 GET /projects/:id/jobs/:job_id/trace2481 authorized user2482 when trace is in ObjectStorage2483 returns specific job trace2484 when trace is artifact2485 returns specific job trace2486 when trace is file2487 returns specific job trace2488 unauthorized user2489 does not return specific job trace2490 POST /projects/:id/jobs/:job_id/cancel2491 authorized user2492 user with :update_build persmission2493 cancels running or pending job2494 user without :update_build permission2495 does not cancel job2496 unauthorized user2497 does not cancel job2498 POST /projects/:id/jobs/:job_id/retry2499 authorized user2500 user with :update_build permission2501 retries non-running job2502 user without :update_build permission2503 does not retry job2504 unauthorized user2505 does not retry job2506 POST /projects/:id/jobs/:job_id/erase2507 job is erasable2508 erases job content2509 updates job2510 job is not erasable2511 responds with forbidden2512 when a developer erases a build2513 when the build was created by the developer2514 is expected to respond with numeric status code created2515 when the build was created by the other2516 is expected to respond with numeric status code forbidden2517 POST /projects/:id/jobs/:job_id/artifacts/keep2518 artifacts did not expire2519 keeps artifacts2520 no artifacts2521 responds with not found2522 POST /projects/:id/jobs/:job_id/play2523 on an playable job2524 when user is authorized to trigger a manual action2525 plays the job2526 when user is not authorized to trigger a manual action2527 when user does not have access to the project2528 does not trigger a manual action2529 when user is not allowed to trigger the manual action2530 does not trigger a manual action2531 on a non-playable job2532 returns a status code 400, Bad Request2533API::ComposerPackages2534 GET /api/v4/group/:id/-/packages/composer/packages2535 with valid project2536 with a public group2537 with basic auth2538 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, include_package: :include_package2539 behaves like Composer package index2540 returns the package index2541 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, include_package: :include_package2542 behaves like Composer package index2543 returns the package index2544 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, include_package: :include_package2545 behaves like Composer package index2546 returns the package index2547 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, include_package: :include_package2548 behaves like Composer package index2549 returns the package index2550 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, include_package: :include_package2551 behaves like Composer package index2552 returns the package index2553 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, include_package: :include_package2554 behaves like Composer package index2555 returns the package index2556 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, include_package: :does_not_include_package2557 behaves like Composer package index2558 returns the package index2559 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, include_package: :does_not_include_package2560 behaves like Composer package index2561 returns the package index2562 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, include_package: :does_not_include_package2563 behaves like Composer package index2564 returns the package index2565 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, include_package: :does_not_include_package2566 behaves like Composer package index2567 returns the package index2568 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, include_package: :does_not_include_package2569 behaves like Composer package index2570 returns the package index2571 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, include_package: :does_not_include_package2572 behaves like Composer package index2573 returns the package index2574 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, include_package: :does_not_include_package2575 behaves like Composer package index2576 returns the package index2577 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, include_package: :does_not_include_package2578 behaves like Composer package index2579 returns the package index2580 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, include_package: :include_package2581 behaves like Composer package index2582 returns the package index2583 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, include_package: :include_package2584 behaves like Composer package index2585 returns the package index2586 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, include_package: :include_package2587 behaves like Composer package index2588 returns the package index2589 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, include_package: :include_package2590 behaves like Composer package index2591 returns the package index2592 with private token header auth2593 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, expected_status: :success, include_package: :include_package2594 behaves like Composer package index2595 returns the package index2596 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, expected_status: :success, include_package: :include_package2597 behaves like Composer package index2598 returns the package index2599 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, expected_status: :success, include_package: :include_package2600 behaves like Composer package index2601 returns the package index2602 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, expected_status: :success, include_package: :include_package2603 behaves like Composer package index2604 returns the package index2605 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, expected_status: :success, include_package: :include_package2606 behaves like Composer package index2607 returns the package index2608 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, expected_status: :success, include_package: :include_package2609 behaves like Composer package index2610 returns the package index2611 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2612 behaves like Composer package index2613 returns the package index2614 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, expected_status: :success, include_package: :does_not_include_package2615 behaves like Composer package index2616 returns the package index2617 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2618 behaves like Composer package index2619 returns the package index2620 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, expected_status: :success, include_package: :does_not_include_package2621 behaves like Composer package index2622 returns the package index2623 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2624 behaves like Composer package index2625 returns the package index2626 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2627 behaves like Composer package index2628 returns the package index2629 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2630 behaves like Composer package index2631 returns the package index2632 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2633 behaves like Composer package index2634 returns the package index2635 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2636 behaves like Composer package index2637 returns the package index2638 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, expected_status: :unauthorized, include_package: nil2639 behaves like Composer package index2640 returns the package index2641 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2642 behaves like Composer package index2643 returns the package index2644 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, expected_status: :unauthorized, include_package: nil2645 behaves like Composer package index2646 returns the package index2647 with a private group2648 with access to the api2649 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, include_package: :include_package2650 behaves like Composer package index2651 returns the package index2652 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, include_package: :does_not_include_package2653 behaves like Composer package index2654 returns the package index2655 without access to the api2656 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false2657 behaves like process Composer api request2658 for user type developer2659 behaves like returning response status2660 returns not_found2661 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true2662 behaves like process Composer api request2663 for user type developer2664 behaves like returning response status2665 returns not_found2666 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false2667 behaves like process Composer api request2668 for user type developer2669 behaves like returning response status2670 returns not_found2671 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false2672 behaves like process Composer api request2673 for user type guest2674 behaves like returning response status2675 returns not_found2676 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true2677 behaves like process Composer api request2678 for user type guest2679 behaves like returning response status2680 returns not_found2681 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false2682 behaves like process Composer api request2683 for user type guest2684 behaves like returning response status2685 returns not_found2686 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true2687 behaves like process Composer api request2688 for user type anonymous2689 behaves like returning response status2690 returns not_found2691 behaves like rejects Composer access with unknown group id2692 with an unknown group2693 as anonymous2694 behaves like process Composer api request2695 for user type anonymous2696 behaves like returning response status2697 returns not_found2698 as authenticated user2699 behaves like process Composer api request2700 for user type anonymous2701 behaves like returning response status2702 returns not_found2703 GET /api/v4/group/:id/-/packages/composer/p/:sha.json2704 with valid project2705 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2706 behaves like Composer provider index2707 returns the package index2708 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2709 behaves like process Composer api request2710 for user type developer2711 behaves like returning response status2712 returns unauthorized2713 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2714 behaves like Composer provider index2715 returns the package index2716 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2717 behaves like process Composer api request2718 for user type developer2719 behaves like returning response status2720 returns unauthorized2721 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2722 behaves like Composer provider index2723 returns the package index2724 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2725 behaves like process Composer api request2726 for user type guest2727 behaves like returning response status2728 returns unauthorized2729 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2730 behaves like Composer provider index2731 returns the package index2732 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2733 behaves like process Composer api request2734 for user type guest2735 behaves like returning response status2736 returns unauthorized2737 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2738 behaves like Composer provider index2739 returns the package index2740 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer provider index", expected_status: :success2741 behaves like Composer provider index2742 returns the package index2743 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2744 behaves like process Composer api request2745 for user type developer2746 behaves like returning response status2747 returns unauthorized2748 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2749 behaves like process Composer api request2750 for user type developer2751 behaves like returning response status2752 returns not_found2753 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2754 behaves like process Composer api request2755 for user type developer2756 behaves like returning response status2757 returns unauthorized2758 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer empty provider index", expected_status: :success2759 behaves like Composer empty provider index2760 returns the package index2761 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2762 behaves like process Composer api request2763 for user type guest2764 behaves like returning response status2765 returns unauthorized2766 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2767 behaves like process Composer api request2768 for user type guest2769 behaves like returning response status2770 returns not_found2771 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2772 behaves like process Composer api request2773 for user type guest2774 behaves like returning response status2775 returns unauthorized2776 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2777 behaves like process Composer api request2778 for user type anonymous2779 behaves like returning response status2780 returns not_found2781 behaves like rejects Composer access with unknown group id2782 with an unknown group2783 as anonymous2784 behaves like process Composer api request2785 for user type anonymous2786 behaves like returning response status2787 returns not_found2788 as authenticated user2789 behaves like process Composer api request2790 for user type anonymous2791 behaves like returning response status2792 returns not_found2793 GET /api/v4/group/:id/-/packages/composer/*package_name.json2794 with no packages2795 behaves like returning response status2796 returns not_found2797 with valid project2798 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2799 behaves like Composer package api request2800 returns the package index2801 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2802 behaves like process Composer api request2803 for user type developer2804 behaves like returning response status2805 returns unauthorized2806 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2807 behaves like Composer package api request2808 returns the package index2809 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2810 behaves like process Composer api request2811 for user type developer2812 behaves like returning response status2813 returns unauthorized2814 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2815 behaves like Composer package api request2816 returns the package index2817 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2818 behaves like process Composer api request2819 for user type guest2820 behaves like returning response status2821 returns unauthorized2822 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2823 behaves like Composer package api request2824 returns the package index2825 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2826 behaves like process Composer api request2827 for user type guest2828 behaves like returning response status2829 returns unauthorized2830 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2831 behaves like Composer package api request2832 returns the package index2833 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package api request", expected_status: :success2834 behaves like Composer package api request2835 returns the package index2836 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2837 behaves like process Composer api request2838 for user type developer2839 behaves like returning response status2840 returns unauthorized2841 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2842 behaves like process Composer api request2843 for user type developer2844 behaves like returning response status2845 returns not_found2846 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2847 behaves like process Composer api request2848 for user type developer2849 behaves like returning response status2850 returns unauthorized2851 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2852 behaves like process Composer api request2853 for user type guest2854 behaves like returning response status2855 returns not_found2856 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2857 behaves like process Composer api request2858 for user type guest2859 behaves like returning response status2860 returns unauthorized2861 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2862 behaves like process Composer api request2863 for user type guest2864 behaves like returning response status2865 returns not_found2866 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2867 behaves like process Composer api request2868 for user type guest2869 behaves like returning response status2870 returns unauthorized2871 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2872 behaves like process Composer api request2873 for user type anonymous2874 behaves like returning response status2875 returns not_found2876 behaves like rejects Composer access with unknown group id2877 with an unknown group2878 as anonymous2879 behaves like process Composer api request2880 for user type anonymous2881 behaves like returning response status2882 returns not_found2883 as authenticated user2884 behaves like process Composer api request2885 for user type anonymous2886 behaves like returning response status2887 returns not_found2888 POST /api/v4/projects/:id/packages/composer2889 with no tag or branch params2890 behaves like process Composer api request2891 for user type developer2892 behaves like returning response status2893 returns bad_request2894 with a tag2895 with an existing branch2896 behaves like composer package publish2897 with valid project2898 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2899 behaves like Composer package creation2900 for user type developer2901 creates package files2902 behaves like a gitlab tracking event2903 creates a gitlab tracking event push_package2904 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2905 behaves like process Composer api request2906 for user type developer2907 behaves like returning response status2908 returns unauthorized2909 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2910 behaves like process Composer api request2911 for user type developer2912 behaves like returning response status2913 returns forbidden2914 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2915 behaves like process Composer api request2916 for user type developer2917 behaves like returning response status2918 returns unauthorized2919 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2920 behaves like process Composer api request2921 for user type guest2922 behaves like returning response status2923 returns forbidden2924 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2925 behaves like process Composer api request2926 for user type guest2927 behaves like returning response status2928 returns unauthorized2929 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2930 behaves like process Composer api request2931 for user type guest2932 behaves like returning response status2933 returns forbidden2934 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2935 behaves like process Composer api request2936 for user type guest2937 behaves like returning response status2938 returns unauthorized2939 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2940 behaves like process Composer api request2941 for user type anonymous2942 behaves like returning response status2943 returns unauthorized2944 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created2945 behaves like Composer package creation2946 for user type developer2947 creates package files2948 behaves like a gitlab tracking event2949 creates a gitlab tracking event push_package2950 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2951 behaves like process Composer api request2952 for user type developer2953 behaves like returning response status2954 returns unauthorized2955 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2956 behaves like process Composer api request2957 for user type developer2958 behaves like returning response status2959 returns not_found2960 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2961 behaves like process Composer api request2962 for user type developer2963 behaves like returning response status2964 returns unauthorized2965 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden2966 behaves like process Composer api request2967 for user type guest2968 behaves like returning response status2969 returns forbidden2970 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2971 behaves like process Composer api request2972 for user type guest2973 behaves like returning response status2974 returns unauthorized2975 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found2976 behaves like process Composer api request2977 for user type guest2978 behaves like returning response status2979 returns not_found2980 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized2981 behaves like process Composer api request2982 for user type guest2983 behaves like returning response status2984 returns unauthorized2985 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized2986 behaves like process Composer api request2987 for user type anonymous2988 behaves like returning response status2989 returns unauthorized2990 behaves like rejects Composer access with unknown project id2991 with an unknown project2992 as anonymous2993 behaves like process Composer api request2994 for user type anonymous2995 behaves like returning response status2996 returns not_found2997 as authenticated user2998 behaves like process Composer api request2999 for user type anonymous3000 behaves like returning response status3001 returns not_found3002 with a non existing tag3003 behaves like process Composer api request3004 for user type developer3005 behaves like returning response status3006 returns not_found3007 with a branch3008 with an existing branch3009 behaves like composer package publish3010 with valid project3011 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created3012 behaves like Composer package creation3013 for user type developer3014 creates package files3015 behaves like a gitlab tracking event3016 creates a gitlab tracking event push_package3017 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3018 behaves like process Composer api request3019 for user type developer3020 behaves like returning response status3021 returns unauthorized3022 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden3023 behaves like process Composer api request3024 for user type developer3025 behaves like returning response status3026 returns forbidden3027 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3028 behaves like process Composer api request3029 for user type developer3030 behaves like returning response status3031 returns unauthorized3032 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden3033 behaves like process Composer api request3034 for user type guest3035 behaves like returning response status3036 returns forbidden3037 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3038 behaves like process Composer api request3039 for user type guest3040 behaves like returning response status3041 returns unauthorized3042 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden3043 behaves like process Composer api request3044 for user type guest3045 behaves like returning response status3046 returns forbidden3047 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3048 behaves like process Composer api request3049 for user type guest3050 behaves like returning response status3051 returns unauthorized3052 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized3053 behaves like process Composer api request3054 for user type anonymous3055 behaves like returning response status3056 returns unauthorized3057 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "Composer package creation", expected_status: :created3058 behaves like Composer package creation3059 for user type developer3060 creates package files3061 behaves like a gitlab tracking event3062 creates a gitlab tracking event push_package3063 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3064 behaves like process Composer api request3065 for user type developer3066 behaves like returning response status3067 returns unauthorized3068 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found3069 behaves like process Composer api request3070 for user type developer3071 behaves like returning response status3072 returns not_found3073 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3074 behaves like process Composer api request3075 for user type developer3076 behaves like returning response status3077 returns unauthorized3078 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "process Composer api request", expected_status: :forbidden3079 behaves like process Composer api request3080 for user type guest3081 behaves like returning response status3082 returns forbidden3083 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3084 behaves like process Composer api request3085 for user type guest3086 behaves like returning response status3087 returns unauthorized3088 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :not_found3089 behaves like process Composer api request3090 for user type guest3091 behaves like returning response status3092 returns not_found3093 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "process Composer api request", expected_status: :unauthorized3094 behaves like process Composer api request3095 for user type guest3096 behaves like returning response status3097 returns unauthorized3098 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process Composer api request", expected_status: :unauthorized3099 behaves like process Composer api request3100 for user type anonymous3101 behaves like returning response status3102 returns unauthorized3103 behaves like rejects Composer access with unknown project id3104 with an unknown project3105 as anonymous3106 behaves like process Composer api request3107 for user type anonymous3108 behaves like returning response status3109 returns not_found3110 as authenticated user3111 behaves like process Composer api request3112 for user type anonymous3113 behaves like returning response status3114 returns not_found3115 with a non existing branch3116 behaves like process Composer api request3117 for user type developer3118 behaves like returning response status3119 returns not_found3120 GET /api/v4/projects/:id/packages/composer/archives/*package_name?sha=:sha3121 with valid project3122 when the sha does not match the package name3123 behaves like process Composer api request3124 for user type anonymous3125 behaves like returning response status3126 returns not_found3127 when the package name does not match the sha3128 behaves like process Composer api request3129 for user type anonymous3130 behaves like returning response status3131 returns not_found3132 with a match package name and sha3133 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, expected_status: :success3134 behaves like process Composer api request3135 for user type developer3136 behaves like returning response status3137 returns success3138 project_visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, expected_status: :success3139 behaves like process Composer api request3140 for user type developer3141 behaves like returning response status3142 returns success3143 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, expected_status: :success3144 behaves like process Composer api request3145 for user type developer3146 behaves like returning response status3147 returns success3148 project_visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, expected_status: :success3149 behaves like process Composer api request3150 for user type developer3151 behaves like returning response status3152 returns success3153 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, expected_status: :success3154 behaves like process Composer api request3155 for user type guest3156 behaves like returning response status3157 returns success3158 project_visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, expected_status: :success3159 behaves like process Composer api request3160 for user type guest3161 behaves like returning response status3162 returns success3163 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, expected_status: :success3164 behaves like process Composer api request3165 for user type guest3166 behaves like returning response status3167 returns success3168 project_visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, expected_status: :success3169 behaves like process Composer api request3170 for user type guest3171 behaves like returning response status3172 returns success3173 project_visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, expected_status: :success3174 behaves like process Composer api request3175 for user type anonymous3176 behaves like returning response status3177 returns success3178 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, expected_status: :success3179 behaves like process Composer api request3180 for user type developer3181 behaves like returning response status3182 returns success3183 project_visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, expected_status: :success3184 behaves like process Composer api request3185 for user type developer3186 behaves like returning response status3187 returns success3188 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, expected_status: :success3189 behaves like process Composer api request3190 for user type developer3191 behaves like returning response status3192 returns success3193 project_visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, expected_status: :success3194 behaves like process Composer api request3195 for user type developer3196 behaves like returning response status3197 returns success3198 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, expected_status: :success3199 behaves like process Composer api request3200 for user type guest3201 behaves like returning response status3202 returns success3203 project_visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, expected_status: :success3204 behaves like process Composer api request3205 for user type guest3206 behaves like returning response status3207 returns success3208 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, expected_status: :success3209 behaves like process Composer api request3210 for user type guest3211 behaves like returning response status3212 returns success3213 project_visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, expected_status: :success3214 behaves like process Composer api request3215 for user type guest3216 behaves like returning response status3217 returns success3218 project_visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, expected_status: :success3219 behaves like process Composer api request3220 for user type anonymous3221 behaves like returning response status3222 returns success3223 behaves like rejects Composer access with unknown project id3224 with an unknown project3225 as anonymous3226 behaves like process Composer api request3227 for user type anonymous3228 behaves like returning response status3229 returns not_found3230 as authenticated user3231 behaves like process Composer api request3232 for user type anonymous3233 behaves like returning response status3234 returns not_found3235Projects::MergeRequests::DiffsController3236 GET show3237 with default params3238 for the same project3239 serializes merge request diff collection3240 when note is a legacy diff note3241 serializes merge request diff collection3242 behaves like forked project with submodules3243 renders3244 behaves like persisted preferred diff view cookie3245 with view param3246 saves the preferred diff view in a cookie3247 only renders the required view3248 when the user cannot view the merge request3249 returns a 4043250 behaves like cached diff collection3251 ensures diff highlighting cache writing3252 behaves like diff note on-demand position creation3253 updates diff discussion positions3254 GET diffs_metadata3255 behaves like 404 for unexistent diffable3256 when diffable does not exists3257 returns 4043258 when the merge_request_diff.id is blank3259 returns 4043260 when not authorized3261 returns 404 when not a member3262 returns 404 when visibility level is not enough3263 with valid diff_id3264 returns success3265 serializes diffs metadata with expected arguments3266 with diff_head param passed3267 the merge request can be compared with head3268 compares diffs with the head3269 the merge request cannot be compared with head3270 compares diffs with the base3271 with MR regular diff params3272 returns success3273 serializes diffs metadata with expected arguments3274 with commit param3275 returns success3276 serializes diffs metadata with expected arguments3277 GET diff_for_path3278 when the merge request exists3279 when the user can view the merge request3280 when the path exists in the diff3281 enables diff notes3282 only renders the diffs for the path given3283 when the user cannot view the merge request3284 returns a 4043285 when the merge request does not exist3286 returns a 4043287 when the merge request belongs to a different project3288 returns a 4043289 GET diffs_batch3290 behaves like 404 for unexistent diffable3291 when diffable does not exists3292 returns 4043293 when the merge_request_diff.id is blank3294 returns 4043295 when not authorized3296 returns 4043297 with valid diff_id3298 behaves like serializes diffs with expected arguments3299 serializes paginated merge request diff collection3300 behaves like successful request3301 returns success3302 with commit_id param3303 behaves like serializes diffs with expected arguments3304 serializes paginated merge request diff collection3305 with diff_id and start_sha params3306 behaves like serializes diffs with expected arguments3307 serializes paginated merge request diff collection3308 behaves like successful request3309 returns success3310 with default params3311 behaves like serializes diffs with expected arguments3312 serializes paginated merge request diff collection3313 behaves like successful request3314 returns success3315 with smaller diff batch params3316 behaves like serializes diffs with expected arguments3317 serializes paginated merge request diff collection3318 behaves like successful request3319 returns success3320 behaves like forked project with submodules3321 renders3322 behaves like persisted preferred diff view cookie3323 with view param3324 saves the preferred diff view in a cookie3325 only renders the required view3326 when the user cannot view the merge request3327 returns a 4043328 behaves like cached diff collection3329 ensures diff highlighting cache writing3330 diff unfolding3331 unfolds correct diff file positions3332Projects::SnippetsController3333 GET #index3334 fetches snippet counts via the snippet count service3335 behaves like paginated collection3336 renders a page number that is not ouf of range3337 redirects to last_page if page number is larger than number of pages3338 does not redirect to external sites when provided a host field3339 behaves like snippets sort order3340 when no sort param is provided3341 calls SnippetsFinder with updated_at sort option3342 when sort param is provided3343 calls SnippetsFinder with the given sort param3344 when the project snippet is private3345 when anonymous3346 does not include the private snippet3347 when signed in as the author3348 renders the snippet3349 when signed in as a project member3350 renders the snippet3351 POST #create3352 creates the snippet correctly3353 when the snippet is spam3354 when the snippet is private3355 creates the snippet3356 when the snippet is public3357 rejects the snippet3358 creates a spam log3359 renders :new with reCAPTCHA disabled3360 reCAPTCHA enabled3361 renders :verify with reCAPTCHA enabled3362 renders snippet page when reCAPTCHA verified3363 PUT #update3364 when the snippet is spam3365 when the snippet is private3366 updates the snippet3367 when the snippet is public3368 rejects the snippet3369 creates a spam log3370 renders :edit with reCAPTCHA disabled3371 reCAPTCHA enabled3372 renders :verify with reCAPTCHA enabled3373 renders snippet page when reCAPTCHA verified3374 when the private snippet is made public3375 rejects the snippet3376 creates a spam log3377 renders :edit with reCAPTCHA disabled3378 reCAPTCHA enabled3379 renders :verify3380 renders snippet page3381 POST #mark_as_spam3382 updates the snippet3383 GET #show3384 when the project snippet is private3385 when anonymous3386 responds with status 4043387 when signed in as the author3388 behaves like successful response3389 renders the snippet3390 renders the blob from the repository3391 when signed in as a project member3392 behaves like successful response3393 renders the snippet3394 renders the blob from the repository3395 when the project snippet does not exist3396 when anonymous3397 responds with status 4043398 when signed in3399 responds with status 4043400 GET #raw3401 when the project snippet is private3402 when anonymous3403 responds with status 4043404 when signed in as the author3405 behaves like successful response3406 renders the snippet3407 renders the blob from the repository3408 when signed in as a project member3409 behaves like successful response3410 renders the snippet3411 renders the blob from the repository3412 when the project snippet does not exist3413 when anonymous3414 responds with status 4043415 when signed in3416 responds with status 4043417 GET #show for embeddable content3418 when snippet is private3419 responds with status 4043420 when snippet is public3421 renders the blob from the repository3422 does not show the blobs expanded by default3423 when param expanded is set3424 shows all blobs expanded3425 when the project is private3426 when snippet is public3427 responds with status 4043428 GET #raw3429 when repository is empty3430 CRLF line ending3431 returns LF line endings by default3432 when line_ending parameter present3433 does not convert line endings3434 when repository is not empty3435 sends the blob3436 behaves like project cache control headers3437 when project is public3438 returns cache_control public header to true3439 when project is private3440 returns cache_control public header to true3441 when project is internal3442 returns cache_control public header to true3443 behaves like content disposition headers3444 sets content disposition to inline3445 when inline param is false3446 sets content disposition to attachment3447 DELETE #destroy3448 when current user has ability to destroy the snippet3449 removes the snippet3450 when snippet is succesfuly destroyed3451 redirects to the project snippets page3452 when snippet is not destroyed3453 renders the snippet page with errors3454 when current_user does not have ability to destroy the snippet3455 responds with status 4043456Projects::ForksController3457 GET index3458 when fork is public3459 is visible for non logged in users3460 forks counts are correct3461 after search3462 forks counts are correct3463 when fork is internal3464 forks counts are correct3465 when fork is private3466 is not visible for non logged in users3467 forks counts are correct3468 when user is logged in3469 when user is not a Project member neither a group member3470 does not see the Project listed3471 when user is a member of the Project3472 sees the project listed3473 forks counts are correct3474 when user is a member of the Group3475 sees the project listed3476 forks counts are correct3477 GET new3478 when user is signed in3479 responds with status 2003480 when JSON requested3481 responds with available groups3482 when user is not signed in3483 redirects to the sign-in page3484 behaves like forking disabled3485 returns with 4043486 POST create3487 when user is signed in3488 responds with status 3023489 when target namespace is not valid for forking3490 responds with :not_found3491 continue params3492 passes continue params to the redirect3493 when user is not signed in3494 redirects to the sign-in page3495 behaves like forking disabled3496 returns with 4043497Projects::MilestonesController3498 behaves like milestone tabs3499 #merge_requests3500 as html3501 redirects to milestone#show3502 as json3503 renders the merge requests tab template to a string3504 #participants3505 as html3506 redirects to milestone#show3507 as json3508 renders the participants tab template to a string3509 #labels3510 as html3511 redirects to milestone#show3512 as json3513 renders the labels tab template to a string3514 #show3515DEPRECATION 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/controllers/projects/milestones_controller_spec.rb:34)3516 shows milestone page3517DEPRECATION 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/controllers/projects/milestones_controller_spec.rb:41)3518 returns milestone json3519 #index3520 as html3521 queries only projects milestones3522 searches milestones by title when search_title is given3523 renders paginated milestones without missing or duplicates3524 as json3525 with a single group ancestor3526 queries projects milestones and groups milestones3527 with nested groups3528 queries projects milestones and all ancestors milestones3529 #destroy3530 removes milestone3531 #promote3532 when user does not have permission to promote milestone3533 renders 4043534 #labels3535 as json3536DEPRECATION 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/milestones_controller_spec.rb:198)3537 does not render labels of private issues if user has no access3538DEPRECATION 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/milestones_controller_spec.rb:209)3539 does render labels of private issues if user has access3540 promotion succeeds3541 shows group milestone3542 renders milestone name without parsing it as HTML3543 when user cannot admin group milestones3544 renders 4043545 #participants3546 when guest user3547 when issue is not confidential3548DEPRECATION 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/milestones_controller_spec.rb:271)3549 shows milestone participants3550 when issue is confidential3551DEPRECATION 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/milestones_controller_spec.rb:286)3552 shows no milestone participants3553getting project information3554 when the user has full access to the project3555 includes the project3556 when the user has access to the project3557 includes the project3558 includes inherited members in project_members3559 behaves like a working graphql query3560 returns a successful response3561 when there are pipelines present3562 is included in the pipelines connection3563 performance3564 returns appropriate results3565 can lookahead to eliminate N+1 queries3566 when the user does not have access to the project3567 returns an empty field3568 behaves like a working graphql query3569 returns a successful response3570Public Project Pages Access3571 Project should be public3572 #public?3573 is expected to be truthy3574 GET /projects/:id/pages_access3575 access depends on the level3576 pages_access_level: 0, with_user: "admin", expected_result: 4033577 correct return value3578 pages_access_level: 0, with_user: "owner", expected_result: 4033579 correct return value3580 pages_access_level: 0, with_user: "master", expected_result: 4033581 correct return value3582 pages_access_level: 0, with_user: "developer", expected_result: 4033583 correct return value3584 pages_access_level: 0, with_user: "reporter", expected_result: 4033585 correct return value3586 pages_access_level: 0, with_user: "guest", expected_result: 4033587 correct return value3588 pages_access_level: 0, with_user: "user", expected_result: 4033589 correct return value3590 pages_access_level: 0, with_user: nil, expected_result: 4033591 correct return value3592 pages_access_level: 30, with_user: "admin", expected_result: 2003593 correct return value3594 pages_access_level: 30, with_user: "owner", expected_result: 2003595 correct return value3596 pages_access_level: 30, with_user: "master", expected_result: 2003597 correct return value3598 pages_access_level: 30, with_user: "developer", expected_result: 2003599 correct return value3600 pages_access_level: 30, with_user: "reporter", expected_result: 2003601 correct return value3602 pages_access_level: 30, with_user: "guest", expected_result: 2003603 correct return value3604 pages_access_level: 30, with_user: "user", expected_result: 2003605 correct return value3606 pages_access_level: 30, with_user: nil, expected_result: 2003607 correct return value3608 pages_access_level: 20, with_user: "admin", expected_result: 2003609 correct return value3610 pages_access_level: 20, with_user: "owner", expected_result: 2003611 correct return value3612 pages_access_level: 20, with_user: "master", expected_result: 2003613 correct return value3614 pages_access_level: 20, with_user: "developer", expected_result: 2003615 correct return value3616 pages_access_level: 20, with_user: "reporter", expected_result: 2003617 correct return value3618 pages_access_level: 20, with_user: "guest", expected_result: 2003619 correct return value3620 pages_access_level: 20, with_user: "user", expected_result: 2003621 correct return value3622 pages_access_level: 20, with_user: nil, expected_result: 2003623 correct return value3624 pages_access_level: 10, with_user: "admin", expected_result: 2003625 correct return value3626 pages_access_level: 10, with_user: "owner", expected_result: 2003627 correct return value3628 pages_access_level: 10, with_user: "master", expected_result: 2003629 correct return value3630 pages_access_level: 10, with_user: "developer", expected_result: 2003631 correct return value3632 pages_access_level: 10, with_user: "reporter", expected_result: 2003633 correct return value3634 pages_access_level: 10, with_user: "guest", expected_result: 2003635 correct return value3636 pages_access_level: 10, with_user: "user", expected_result: 4033637 correct return value3638 pages_access_level: 10, with_user: nil, expected_result: 4033639 correct return value3640Projects::MergeRequests::ConflictsController3641 GET show3642 when the conflicts cannot be resolved in the UI3643 returns a 200 status code3644 returns JSON with a message3645 with valid conflicts3646 matches the schema3647 includes meta info about the MR3648 includes each file that has conflicts3649 splits files into sections with lines3650 has unique section IDs across files3651 GET conflict_for_path3652 when the conflicts cannot be resolved in the UI3653 returns a 404 status code3654 when the file does not exist cannot be resolved in the UI3655 returns a 404 status code3656 with an existing file3657 returns a 200 status code3658 returns the file in JSON format3659 POST resolve_conflicts3660 with valid params3661 creates a new commit on the branch3662 returns an OK response3663 when sections are missing3664 returns a 400 error3665 has a message with the name of the first missing section3666 does not create a new commit3667 when files are missing3668 returns a 400 error3669 has a message with the name of the missing file3670 does not create a new commit3671 when a file has identical content to the conflict3672 returns a 400 error3673 has a message with the path of the problem file3674 does not create a new commit3675Groups::Clusters::ApplicationsController3676 POST create3677 functionality3678 schedule an application installation3679 when cluster do not exists3680 return 4043681 when application is unknown3682 return 4043683 when application is already installing3684 returns 4003685 security3686 behaves like a secure endpoint3687 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2043688 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2043689 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2043690 is expected to be denied for developer. Expected: 401,404 Got: 4043691 is expected to be denied for reporter. Expected: 401,404 Got: 4043692 is expected to be denied for guest. Expected: 401,404 Got: 4043693 is expected to be denied for user. Expected: 401,404 Got: 4043694 is expected to be denied for external. Expected: 401,404 Got: 4043695 PATCH update3696 functionality3697 when cluster and app exists3698 schedules an application update3699 when cluster do not exists3700 is expected to respond with numeric status code not_found3701 when application is unknown3702 is expected to respond with numeric status code not_found3703 when application is already scheduled3704 is expected to respond with numeric status code bad_request3705 security3706 behaves like a secure endpoint3707 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2043708 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2043709 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2043710 is expected to be denied for developer. Expected: 401,404 Got: 4043711 is expected to be denied for reporter. Expected: 401,404 Got: 4043712 is expected to be denied for guest. Expected: 401,404 Got: 4043713 is expected to be denied for user. Expected: 401,404 Got: 4043714 is expected to be denied for external. Expected: 401,404 Got: 4043715Projects::Snippets::BlobsController3716 GET #raw3717 with a snippet without a repository3718 behaves like raw snippet without repository3719 when authorized3720 returns a 4223721 when unauthorized3722 behaves like returning response status3723 returns not_found3724 project_visibility_level: :public, snippet_visibility_level: :public, user: :author, status: :ok3725 responds with correct status3726 project_visibility_level: :public, snippet_visibility_level: :public, user: :developer, status: :ok3727 responds with correct status3728 project_visibility_level: :public, snippet_visibility_level: :public, user: :other_user, status: :ok3729 responds with correct status3730 project_visibility_level: :public, snippet_visibility_level: :public, user: nil, status: :ok3731 responds with correct status3732 project_visibility_level: :public, snippet_visibility_level: :private, user: :author, status: :ok3733 responds with correct status3734 project_visibility_level: :public, snippet_visibility_level: :private, user: :developer, status: :ok3735 responds with correct status3736 project_visibility_level: :public, snippet_visibility_level: :private, user: :other_user, status: :not_found3737 responds with correct status3738 project_visibility_level: :public, snippet_visibility_level: :private, user: nil, status: :not_found3739 responds with correct status3740 project_visibility_level: :private, snippet_visibility_level: :public, user: :author, status: :ok3741 responds with correct status3742 project_visibility_level: :private, snippet_visibility_level: :public, user: :developer, status: :ok3743 responds with correct status3744 project_visibility_level: :private, snippet_visibility_level: :public, user: :other_user, status: :not_found3745 responds with correct status3746 project_visibility_level: :private, snippet_visibility_level: :public, user: nil, status: :redirect3747 responds with correct status3748 project_visibility_level: :private, snippet_visibility_level: :private, user: :author, status: :ok3749 responds with correct status3750 project_visibility_level: :private, snippet_visibility_level: :private, user: :developer, status: :ok3751 responds with correct status3752 project_visibility_level: :private, snippet_visibility_level: :private, user: :other_user, status: :not_found3753 responds with correct status3754 project_visibility_level: :private, snippet_visibility_level: :private, user: nil, status: :redirect3755 responds with correct status3756 behaves like raw snippet blob3757 with valid params3758 delivers file with correct Workhorse headers3759 responds with status 2003760 with invalid file path3761 behaves like returning response status3762 returns not_found3763 with invalid ref3764 behaves like returning response status3765 returns not_found3766 behaves like content disposition headers3767 sets content disposition to inline3768 when inline param is false3769 sets content disposition to attachment3770Import::GiteaController3771 GET new3772 behaves like a GitHub-ish import controller: GET new3773 redirects to status if we already have a token3774 renders the :new page if no token is present in session3775 POST personal_access_token3776 behaves like a GitHub-ish import controller: POST personal_access_token3777 updates access token3778 strips access token with spaces3779 GET status3780 behaves like a GitHub-ish import controller: GET status3781 returns variables for json request3782 does not show already added project3783 touches the etag cache store3784 handles an invalid access token3785 does not produce N+1 database queries3786 requests provider repos list3787 when filtering3788 filters list of repositories by name3789 when user input contains html3790 sanitizes user input3791 when host url is local or not http3792 denies network request3793 denies network request3794 denies network request3795 POST create3796 behaves like a GitHub-ish import controller: POST create3797 returns 200 response when the project is imported successfully3798 returns 422 response with the base error when the project could not be imported3799 touches the etag cache store3800 when the repository owner is the provider user3801 when the provider user and GitLab user's usernames match3802 takes the current user's namespace3803 when the provider user and GitLab user's usernames don't match3804 takes the current user's namespace3805 when the repository owner is not the provider user3806 when a namespace with the provider user's username already exists3807 when the namespace is owned by the GitLab user3808 takes the existing namespace3809 when the namespace is not owned by the GitLab user3810 creates a project using user's namespace3811 when a namespace with the provider user's username doesn't exist3812 when current user can create namespaces3813 creates the namespace3814 takes the new namespace3815 when current user can't create namespaces3816 doesn't create the namespace3817 takes the current user's namespace3818 user has chosen a namespace and name for the project3819 takes the selected namespace and name3820 takes the selected name and default namespace3821 user has chosen an existing nested namespace and name for the project3822 takes the selected namespace and name3823 user has chosen a non-existent nested namespaces and name for the project3824 takes the selected namespace and name3825 creates the namespaces3826 new namespace has the right parent3827 user has chosen existent and non-existent nested namespaces and name for the project3828 takes the selected namespace and name3829 creates the namespaces3830 does not create a new namespace under the user namespace3831 user cannot create a subgroup inside a group is not a member of3832 does not take the selected namespace and name3833 does not create the namespaces3834 user can use a group without having permissions to create a group3835 takes the selected namespace and name3836 when user can not create projects in the chosen namespace3837 returns 422 response3838 behaves like project import rate limiter3839 when limit exceeds3840 notifies and redirects user3841 GET realtime_changes3842 behaves like a GitHub-ish import controller: GET realtime_changes3843 sets a Poll-Interval header3844Projects::CompareController3845 GET index3846 returns successfully3847 GET show3848 when the refs exist3849 when we set the white space param3850 shows some diffs with ignore whitespace change option3851 when we do not set the white space param3852 sets the diffs and commits ivars3853 when the source ref does not exist3854 sets empty diff and commit ivars3855 when the target ref does not exist3856 sets empty diff and commit ivars3857 when the target ref is invalid3858 shows a flash message and redirects3859 when the source ref is invalid3860 shows a flash message and redirects3861 GET diff_for_path3862 when the source and target refs exist3863 when the user has access target the project3864 when the path exists in the diff3865 disables diff notes3866 only renders the diffs for the path given3867 when the path does not exist in the diff3868 returns a 4043869 when the user does not have access target the project3870 returns a 4043871 when the source ref does not exist3872 returns a 4043873 when the target ref does not exist3874 returns a 4043875 POST create3876 when sending valid params3877 redirects back to show3878 when sending invalid params3879 when the source ref is empty and target ref is set3880 redirects back to index and preserves the target ref3881 when the target ref is empty and source ref is set3882 redirects back to index and preserves source ref3883 when the target and source ref are empty3884 redirects back to index3885 GET signatures3886 when the source and target refs exist3887 when the user has access to the project3888 returns only the commit with a signature3889 when the user does not have access to the project3890 returns a 4043891 when the source ref does not exist3892 returns no signatures3893 when the target ref does not exist3894 returns no signatures3895API::Ci::Runner3896 /api/v4/jobs3897 PUT /api/v4/jobs/:id3898 updates runner info3899 behaves like API::CI::Runner application context metadata3900 contains correct context metadata3901 when status is given3902 mark job as succeeded3903 mark job as failed3904 when failure_reason is script_failure3905 is expected to be script failure3906 when failure_reason is runner_system_failure3907 is expected to be runner system failure3908 when failure_reason is unrecognized value3909 is expected to be unknown failure3910 when failure_reason is job_execution_timeout3911 is expected to be job execution timeout3912 when failure_reason is unmet_prerequisites3913 is expected to be unmet prerequisites3914 when trace is given3915 creates a trace artifact3916 when concurrent update of trace is happening3917 returns that operation conflicts3918 when no trace is given3919 does not override trace information3920 when running state is sent3921 updates update_at value3922 when other state is sent3923 doesn't update update_at value3924 when job has been erased3925 responds with forbidden3926 when job has already been finished3927 does not update job status and job trace3928API::GoProxy3929 GET /projects/:id/packages/go/*module_name/@v/list3930 for the root module3931 behaves like a module version list resource3932 returns v1.0.1, v1.0.2, v1.0.33933 for the package3934 behaves like a module version list resource3935 returns nothing3936 for the submodule3937 behaves like a module version list resource3938 returns v1.0.33939 for the root module v23940 behaves like a module version list resource3941 returns v2.0.03942 with a URL encoded relative path component3943 behaves like a missing module version list resource3944 behaves like an unavailable resource3945 returns not found3946 with the feature disabled3947 behaves like a missing module version list resource3948 behaves like an unavailable resource3949 returns not found3950 GET /projects/:id/packages/go/*module_name/@v/:module_version.info3951 with the root module v1.0.13952 behaves like a module version information resource3953 returns information for v1.0.13954 with the submodule v1.0.33955 behaves like a module version information resource3956 returns information for v1.0.33957 with the root module v2.0.03958 behaves like a module version information resource3959 returns information for v2.0.03960 with an invalid path3961 behaves like a missing module version information resource3962 behaves like an unavailable resource3963 returns not found3964 with an invalid version3965 behaves like a missing module version information resource3966 behaves like an unavailable resource3967 returns not found3968 with a pseudo-version for v13969 behaves like a module pseudo-version information resource3970 returns information for v1.0.4-0.yyyymmddhhmmss-abcdefabcdef3971 with a pseudo-version for v23972 behaves like a module pseudo-version information resource3973 returns information for v2.0.0-yyyymmddhhmmss-abcdefabcdef3974 with a pseudo-version with an invalid timestamp3975 behaves like a missing module pseudo-version information resource3976 behaves like an unavailable resource3977 returns not found3978 with a pseudo-version with an invalid commit sha3979 behaves like a missing module pseudo-version information resource3980 behaves like an unavailable resource3981 returns not found3982 with a pseudo-version with a short commit sha3983 behaves like a missing module pseudo-version information resource3984 behaves like an unavailable resource3985 returns not found3986 GET /projects/:id/packages/go/*module_name/@v/:module_version.mod3987 with the root module v1.0.13988 behaves like a module file resource3989 returns /go.mod from the repo3990 with the submodule v1.0.33991 behaves like a module file resource3992 returns /mod/go.mod from the repo3993 with the root module v2.0.03994 behaves like a module file resource3995 returns /v2/go.mod from the repo3996 with an invalid path3997 behaves like a missing module file resource3998 behaves like an unavailable resource3999 returns not found4000 with an invalid version4001 behaves like a missing module file resource4002 behaves like an unavailable resource4003 returns not found4004 GET /projects/:id/packages/go/*module_name/@v/:module_version.zip4005 with the root module v1.0.14006 behaves like a module archive resource4007 returns an archive of / @ v1.0.1 from the repo4008 with the root module v1.0.24009 behaves like a module archive resource4010 returns an archive of / @ v1.0.2 from the repo4011 with the root module v1.0.34012 behaves like a module archive resource4013 returns an archive of / @ v1.0.3 from the repo4014 with the submodule v1.0.34015 behaves like a module archive resource4016 returns an archive of /mod @ v1.0.3 from the repo4017 with the root module v2.0.04018 behaves like a module archive resource4019 returns an archive of /v2 @ v2.0.0 from the repo4020 with an invalid module directive4021 GET /projects/:id/packages/go/*module_name/@v/list4022 with a completely wrong directive for v14023 behaves like a module version list resource4024 returns nothing4025 with a directive omitting the suffix for v24026 behaves like a module version list resource4027 returns nothing4028 GET /projects/:id/packages/go/*module_name/@v/:module_version.info4029 with a completely wrong directive for v14030 behaves like a missing module version information resource4031 behaves like an unavailable resource4032 returns not found4033 with a directive omitting the suffix for v24034 behaves like a missing module version information resource4035 behaves like an unavailable resource4036 returns not found4037 with a case sensitive project and versions4038 GET /projects/:id/packages/go/*module_name/@v/list4039 with a case encoded path4040 behaves like a module version list resource4041 returns v1.0.1-prerelease, v1.0.1-Prerelease4042 without a case encoded path4043 behaves like a missing module version list resource4044 behaves like an unavailable resource4045 returns not found4046 GET /projects/:id/packages/go/*module_name/@v/:module_version.info4047 with a case encoded path4048 behaves like a module version information resource4049 returns information for v1.0.1-Prerelease4050 without a case encoded path4051 behaves like a module version information resource4052 returns information for v1.0.1-prerelease4053 with a private project4054 GET /projects/:id/packages/go/*module_name/@v/list4055 returns ok with an oauth token4056 returns ok with a job token4057 returns ok with a personal access token4058 returns ok with a personal access token and basic authentication4059 returns unauthorized with no authentication4060 with a public project4061 GET /projects/:id/packages/go/*module_name/@v/list4062 returns ok with no authentication4063 with a non-existent project4064 GET /projects/:id/packages/go/*module_name/@v/list4065 returns not found with a user4066 returns not found with an oauth token4067 returns not found with a job token4068 returns not found with a personal access token4069 returns unauthorized with no authentication4070Projects::DesignManagement::Designs::ResizedImageController4071 GET #show4072 when the user does not have permission4073 is expected to respond with numeric status code not_found4074 Response headers4075 completes the request successfully4076 sets Content-Disposition as attachment4077 serves files with Workhorse4078 sets appropriate caching headers4079 when design does not exist4080 is expected to respond with numeric status code not_found4081 when size is invalid4082 returns a 4044083 sha param4084 is expected not to eq "97b965b2388015d5d99a3682230a23cd1db4a23c"4085 when sha is the newest version sha4086 serves the newest image4087 when sha is the oldest version sha4088 serves the oldest image4089 when sha is nil4090 serves the newest image4091 when sha is not a valid version sha4092 returns a 4044093 when design does not have a smaller image size available4094 returns a 4044095Projects::Settings::OperationsController4096 GET #show4097 renders show template4098 with insufficient permissions4099 renders 4044100 as an anonymous user4101 redirects to signup page4102 PATCH #update4103 with insufficient permissions4104 renders 4044105 as an anonymous user4106 redirects to signup page4107 incident management4108 GET #show4109 with existing setting4110 loads existing setting4111 without an existing setting4112 builds a new setting4113 PATCH #update4114 behaves like PATCHable4115 format json4116 when update succeeds4117 returns success status4118 when update fails4119 returns error4120 updating each incident management setting4121 behaves like a gitlab tracking event4122 creates a gitlab tracking event enabled_issue_auto_creation_on_alerts4123 behaves like a gitlab tracking event4124 creates a gitlab tracking event disabled_issue_auto_creation_on_alerts4125 behaves like a gitlab tracking event4126 creates a gitlab tracking event enabled_issue_template_on_alerts4127 behaves like a gitlab tracking event4128 creates a gitlab tracking event disabled_issue_template_on_alerts4129 behaves like a gitlab tracking event4130 creates a gitlab tracking event enabled_sending_emails4131 behaves like a gitlab tracking event4132 creates a gitlab tracking event disabled_sending_emails4133 behaves like a gitlab tracking event4134 creates a gitlab tracking event enabled_pagerduty_webhook4135 behaves like a gitlab tracking event4136 creates a gitlab tracking event disabled_pagerduty_webhook4137 behaves like a gitlab tracking event4138 creates a gitlab tracking event enabled_auto_close_incident4139 behaves like a gitlab tracking event4140 creates a gitlab tracking event disabled_auto_close_incident4141 POST #reset_pagerduty_token4142 with existing incident management setting has active PagerDuty webhook4143 returns newly reset token4144 without existing incident management setting4145 does not reset a token4146 when update fails4147 returns unprocessable_entity4148 with insufficient permissions4149 returns 4044150 as an anonymous user4151 returns a redirect4152 error tracking4153 GET #show4154 with existing setting4155 loads existing setting4156 without an existing setting4157 builds a new setting4158 PATCH #update4159 behaves like PATCHable4160 format json4161 when update succeeds4162 returns success status4163 when update fails4164 returns error4165 metrics dashboard setting4166 PATCH #update4167 behaves like PATCHable4168 format json4169 when update succeeds4170 returns success status4171 when update fails4172 returns error4173 grafana integration4174 PATCH #update4175 behaves like PATCHable4176 format json4177 when update succeeds4178 returns success status4179 when update fails4180 returns error4181 prometheus integration4182 PATCH #update4183 feature flag :settings_operations_prometheus_service is enabled4184 behaves like PATCHable4185 format json4186 when update succeeds4187 returns success status4188 when update fails4189 returns error4190 feature flag :settings_operations_prometheus_service is disabled4191 behaves like PATCHable4192 format json4193 when update succeeds4194 returns success status4195 when update fails4196 returns error4197 POST #reset_alerting_token4198 with existing alerting setting4199 returns newly reset token4200 without existing alerting setting4201 creates a token4202 when update fails4203 returns unprocessable_entity4204 with insufficient permissions4205 returns 4044206 as an anonymous user4207 returns a redirect4208API::GroupMilestones4209 behaves like group and project milestones4210 GET /groups/:id/milestones4211 returns milestones list4212 returns a 401 error if user not authenticated4213 returns an array of active milestones4214 returns an array of closed milestones4215 returns an array of milestones specified by iids4216 does not return any milestone if none found4217 returns a milestone by iids array4218 returns a milestone by title4219 returns a milestone by searching for title4220 returns a milestones by searching for description4221 GET /groups/:id/milestones/:milestone_id4222 returns a milestone by id4223 returns 401 error if user not authenticated4224 returns a 404 error if milestone id not found4225 POST /groups/:id/milestones4226 creates a new milestone4227 creates a new milestone with description and dates4228 returns a 400 error if title is missing4229 returns a 400 error if params are invalid (duplicate title)4230 creates a new milestone with reserved html characters4231 PUT /groups/:id/milestones/:milestone_id4232 updates a milestone4233 removes a due date if nil is passed4234 returns a 404 error if milestone id not found4235 closes milestone4236 updates milestone with only start date4237 DELETE /groups/:id/milestones/:milestone_id4238 rejects a member with reporter access from deleting a milestone4239 deletes the milestone when the user has developer access to the project4240 GET /groups/:id/milestones/:milestone_id/issues4241 returns issues for a particular milestone4242 returns issues sorted by label priority4243 matches V4 response schema for a list of issues4244 returns a 401 error if user not authenticated4245 confidential issues4246 returns confidential issues to team members4247 does not return confidential issues to team members with guest role4248 does not return confidential issues to regular users4249 returns issues ordered by label priority4250 GET /groups/:id/milestones/:milestone_id/merge_requests4251 returns merge_requests for a particular milestone4252 returns merge_requests sorted by label priority4253 returns a 404 error if milestone id not found4254 returns a 404 if the user has no access to the milestone4255 returns a 401 error if user not authenticated4256 returns merge_requests ordered by position asc4257 GET /groups/:id/milestones4258 when include_parent_milestones is true4259 when user has access to ancestor groups4260 behaves like listing all milestones4261 returns correct list of milestones4262 when iids param is present4263 behaves like listing all milestones4264 returns correct list of milestones4265 when user has no access to ancestor groups4266 behaves like listing all milestones4267 returns correct list of milestones4268get list of boards4269 for a project4270 behaves like group and project boards query4271 behaves like a working graphql query4272 returns a successful response4273 when the user does not have access to the board parent4274 returns nil4275 when no permission to read board4276 does not return any boards4277 when user can read the board parent4278 does not create a default board4279 sorting and pagination4280 when using default sorting4281 when ascending4282 behaves like sorted paginated query4283 behaves like requires variables4284 shared example requires variables to be set4286 when sorting4287 sorts correctly4288 when paginating4289 paginates correctly4290 when querying for a single board4291 finds the correct board4292 behaves like a working graphql query4293 returns a successful response4294 for a group4295 behaves like group and project boards query4296 behaves like a working graphql query4297 returns a successful response4298 when the user does not have access to the board parent4299 returns nil4300 when no permission to read board4301 does not return any boards4302 when user can read the board parent4303 does not create a default board4304 sorting and pagination4305 when using default sorting4306 when ascending4307 behaves like sorted paginated query4308 behaves like requires variables4309 shared example requires variables to be set4311 when sorting4312 sorts correctly4313 when paginating4314 paginates correctly4315 when querying for a single board4316 finds the correct board4317 behaves like a working graphql query4318 returns a successful response4319Projects::BoardsController4320 GET index4321 creates a new project board when project does not have one4322 sets boards_endpoint instance variable to a boards path4323 when format is HTML4324DEPRECATION 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)4325 renders template4326 with unauthorized user4327DEPRECATION 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)4328 returns a not found 404 response4329 when user is signed out4330DEPRECATION 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)4331 renders template4332 when format is JSON4333 returns a list of project boards4334 with unauthorized user4335DEPRECATION 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)4336 returns a not found 404 response4337 issues are disabled4338 returns a not found 404 response4339 behaves like unauthorized when external service denies access4340 allows access when the authorization service allows it4341 allows access when the authorization service denies it4342 GET show4343 sets boards_endpoint instance variable to a boards path4344 when format is HTML4345DEPRECATION 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)4346 renders template4347 with unauthorized user4348DEPRECATION 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)4349 returns a not found 404 response4350 when user is signed out4351DEPRECATION 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)4352 does not save visit4353 when format is JSON4354 returns project board4355 with unauthorized user4356DEPRECATION 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)4357 returns a not found 404 response4358 when board does not belong to project4359 returns a not found 404 response4360OpenID Connect requests4361 Application without OpenID scope4362 token response does not include an ID token4363 userinfo response is unauthorized4364 Application with OpenID scope4365 token response includes an ID token4366 UserInfo payload4367 includes all user information and group memberships4368 does not include any unknown claims4369 includes email and email_verified claims4370 has public email in email claim4371 has false in email_verified claim4372 ID token payload4373 includes the subject claims4374 includes the GitLab root URL4375 includes the time of the last authentication4376 has public email in email claim4377 has true in email_verified claim4378 does not include any unknown properties4379 when user is blocked4380 redirects to login page4381 when user is ldap_blocked4382 redirects to login page4383 OpenID configuration information4384 correctly returns the configuration4385 Application with OpenID and email scopes4386 token response includes an ID token4387 UserInfo payload4388 includes the email and email_verified claims4389 has private email in email claim4390 has true in email_verified claim4391 ID token payload4392 has private email in email claim4393 has true in email_verified claim4394Projects::ArtifactsController4395 GET index4396 when feature flag is on4397 sets the artifacts variable4398 sets the total size variable4399 pagination4400 paginates artifacts4401 when feature flag is off4402 renders no content4403 does not set the artifacts variable4404 does not set the total size variable4405 DELETE destroy4406 deletes the artifact4407 redirects to artifacts index page4408 sets the notice4409 when artifact deletion fails4410 redirects to artifacts index page4411 sets the notice4412 when user is not authorized4413 does not delete the artifact4414 GET download4415 when no file type is supplied4416 sends the artifacts file4417 when a file type is supplied4418 when an invalid file type is supplied4419 returns 4044420 when codequality file type is supplied4421 when file is stored locally4422 sends the codequality report4423 when file is stored remotely4424 sends the codequality report4425 when proxied4426 sends the codequality report4427 GET browse4428 when the directory exists4429 renders the browse view4430 when the directory does not exist4431 responds Not Found4432 GET file4433 when the file is served by GitLab Pages4434 when the file exists4435 renders the file view4436 when the file does not exist4437 responds Not Found4438 when the file is served through Rails4439 when the file exists4440 renders the file view4441 when the file does not exist4442 responds Not Found4443 when the project is private4444 does not redirect the request4445 when the project is private and pages access control is enabled4446 renders the file view4447 GET raw4448 when the file exists4449 when using local file storage4450 behaves like a valid file4451 serves the file using workhorse4452 when using remote file storage4453 behaves like a valid file4454 serves the file using workhorse4455 fetching an artifact of different type4456 when the artifact is zip4457 behaves like a valid file4458 serves the file using workhorse4459 when the artifact is not zip4460 responds with not found4461 GET latest_succeeded4462 cannot find the job4463 has no such ref4464 behaves like not found4465 is expected to respond with numeric status code not_found4466 has no such job4467 behaves like not found4468 is expected to respond with numeric status code not_found4469 has no path4470 behaves like not found4471 is expected to respond with numeric status code not_found4472 found the job and redirect4473 with regular branch4474 behaves like redirect to the job4475 redirects4476 with branch name containing slash4477 behaves like redirect to the job4478 redirects4479 with branch name and path containing slashes4480 redirects4481 with a failed pipeline on an updated master4482 behaves like redirect to the job4483 redirects4484uploading designs4485 returns an error if the user is not allowed to upload designs4486 succeeds (backward compatibility)4487 succeeds4488 responds with the created designs4489 can respond with skipped designs4490 when the issue does not exist4491 returns an error4492 when saving the designs raises an error4493 responds with errors4494API::AccessRequests4495 behaves like GET /:sources/:id/access_requests4496 with :sources == projects4497 behaves like a 404 response when source is private4498 returns 4044499 when authenticated as a non-maintainer/owner4500 as a developer4501 returns 4034502 as a access_requester4503 returns 4034504 as a stranger4505 returns 4034506 when authenticated as a maintainer/owner4507 returns access requesters4508 behaves like GET /:sources/:id/access_requests4509 with :sources == groups4510 behaves like a 404 response when source is private4511 returns 4044512 when authenticated as a non-maintainer/owner4513 as a developer4514 returns 4034515 as a access_requester4516 returns 4034517 as a stranger4518 returns 4034519 when authenticated as a maintainer/owner4520 returns access requesters4521 behaves like POST /:sources/:id/access_requests4522 with :sources == projects4523 behaves like a 404 response when source is private4524 returns 4044525 when authenticated as a member4526 as a developer4527 returns 4034528 as a maintainer4529 returns 4034530 when authenticated as an access requester4531 returns 4004532 when authenticated as a stranger4533 returns 2014534 when access request is disabled for the project4535 returns 4034536 behaves like POST /:sources/:id/access_requests4537 with :sources == groups4538 behaves like a 404 response when source is private4539 returns 4044540 when authenticated as a member4541 as a developer4542 returns 4034543 as a maintainer4544 returns 4034545 when authenticated as an access requester4546 returns 4004547 when authenticated as a stranger4548 returns 2014549 when access request is disabled for the group4550 returns 4034551 behaves like PUT /:sources/:id/access_requests/:user_id/approve4552 with :sources == projects4553 behaves like a 404 response when source is private4554 returns 4044555 when authenticated as a non-maintainer/owner4556 as a developer4557 returns 4034558 as a access_requester4559 returns 4034560 as a stranger4561 returns 4034562 when authenticated as a maintainer/owner4563 returns 2014564 user_id does not match an existing access requester4565 returns 4044566 behaves like PUT /:sources/:id/access_requests/:user_id/approve4567 with :sources == groups4568 behaves like a 404 response when source is private4569 returns 4044570 when authenticated as a non-maintainer/owner4571 as a developer4572 returns 4034573 as a access_requester4574 returns 4034575 as a stranger4576 returns 4034577 when authenticated as a maintainer/owner4578 returns 2014579 user_id does not match an existing access requester4580 returns 4044581 behaves like DELETE /:sources/:id/access_requests/:user_id4582 with :sources == projects4583 behaves like a 404 response when source is private4584 returns 4044585 when authenticated as a non-maintainer/owner4586 as a developer4587 returns 4034588 as a stranger4589 returns 4034590 when authenticated as the access requester4591 deletes the access requester4592 when authenticated as a maintainer/owner4593 deletes the access requester4594 user_id matches a member, not an access requester4595 returns 4044596 user_id does not match an existing access requester4597 returns 4044598 behaves like DELETE /:sources/:id/access_requests/:user_id4599 with :sources == groups4600 behaves like a 404 response when source is private4601 returns 4044602 when authenticated as a non-maintainer/owner4603 as a developer4604 returns 4034605 as a stranger4606 returns 4034607 when authenticated as the access requester4608 deletes the access requester4609 when authenticated as a maintainer/owner4610 deletes the access requester4611 user_id matches a member, not an access requester4612 returns 4044613 user_id does not match an existing access requester4614 returns 4044615API::ProjectEvents4616 GET /projects/:id/events4617 when unauthenticated4618 returns 404 for private project4619 returns 200 status for a public project4620 with inaccessible events4621 returns only accessible events4622 returns all events when the user has access4623 pagination4624 correctly returns the second page without inaccessible events4625 correctly returns the first page without inaccessible events4626 when not permitted to read4627 returns 4044628 when authenticated4629 returns project events4630 returns 404 if project does not exist4631 when the requesting token does not have "api" scope4632 returns a "403" response4633 when exists some events4634 avoids N+1 queries4635Projects::MirrorsController4636 Access control4637 #update4638 when project mirroring is enabled4639 allows requests from a maintainer4640 allows requests from an admin user4641 when project mirroring is disabled4642 disallows requests from a maintainer4643 when admin mode is enabled4644 allows requests from an admin user4645 when admin mode is disabled4646 disallows requests from an admin user4647 #update_now4648 when project mirroring is enabled4649 allows requests from a maintainer4650 allows requests from an admin user4651 when project mirroring is disabled4652 disallows requests from a maintainer4653 when admin mode is enabled4654 allows requests from an admin user4655 when admin mode is disabled4656 disallows requests from an admin user4657 setting up a remote mirror4658 when the current project is not a mirror4659 allows to create a remote mirror4660 setting up SSH public-key authentication4661 processes a successful update4662 #update4663 With valid URL for a push4664 processes a successful update4665 creates a RemoteMirror object4666 With invalid URL for a push4667 processes an unsuccessful update4668 does not create a RemoteMirror object4669 #ssh_host_keys4670 invalid URLs4671 returns an error with a 400 response for URL "INVALID"4672 returns an error with a 400 response for URL "git@example.com:foo/bar.git"4673 returns an error with a 400 response for URL "ssh://git@example.com:foo/bar.git"4674 no data in cache4675 requests the cache to be filled and returns a 204 response4676 error in the cache4677 returns the error with a 400 response4678 data in the cache4679 returns the data with a 200 response4680Admin::Clusters::ApplicationsController4681 POST create4682 functionality4683 schedule an application installation4684 when cluster do not exists4685 return 4044686 when application is unknown4687 return 4044688 when application is already installing4689 returns 4004690 security4691 behaves like a secure endpoint4692 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2044693 is expected to be denied for user. Expected: 401,404 Got: 4044694 is expected to be denied for external. Expected: 401,404 Got: 4044695 PATCH update4696 functionality4697 when cluster and app exists4698 schedules an application update4699 when cluster do not exists4700 is expected to respond with numeric status code not_found4701 when application is unknown4702 is expected to respond with numeric status code not_found4703 when application is already scheduled4704 is expected to respond with numeric status code bad_request4705 security4706 behaves like a secure endpoint4707 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2044708 is expected to be denied for user. Expected: 401,404 Got: 4044709 is expected to be denied for external. Expected: 401,404 Got: 4044710Setting assignees of a merge request4711 returns an error if the user is not allowed to update the merge request4712 does not allow members without the right permission to add assignees4713 with assignees already assigned4714 replaces the assignee4715 when passing an empty list of assignees4716 removes assignee4717 when passing append as true4718 does not replace the assignee in CE4719 when passing remove as true4720 removes the users in the list, while adding none4721API::GroupVariables4722 GET /groups/:id/variables4723 authorized user with proper permissions4724 returns group variables4725 authorized user with invalid permissions4726 does not return group variables4727 unauthorized user4728 does not return group variables4729 GET /groups/:id/variables/:key4730 authorized user with proper permissions4731 returns group variable details4732 responds with 404 Not Found if requesting non-existing variable4733 authorized user with invalid permissions4734 does not return group variable details4735 unauthorized user4736 does not return group variable details4737 POST /groups/:id/variables4738 authorized user with proper permissions4739 creates variable4740 creates variable with optional attributes4741 does not allow to duplicate variable key4742 authorized user with invalid permissions4743 does not create variable4744 unauthorized user4745 does not create variable4746 PUT /groups/:id/variables/:key4747 authorized user with proper permissions4748 updates variable data4749 responds with 404 Not Found if requesting non-existing variable4750 responds with 400 if the update fails4751 authorized user with invalid permissions4752 does not update variable4753 unauthorized user4754 does not update variable4755 DELETE /groups/:id/variables/:key4756 authorized user with proper permissions4757 deletes variable4758 responds with 404 Not Found if requesting non-existing variable4759 behaves like 412 response4760 for a modified ressource4761 returns 412 with a JSON error4762 for an unmodified ressource4763 returns 204 with an empty body4764 authorized user with invalid permissions4765 does not delete variable4766 unauthorized user4767 does not delete variable4768getting Alert Management Alerts4769 with alert data4770 without project permissions4771 is expected to equal nil4772 behaves like a working graphql query4773 returns a successful response4774 with project permissions4775 is expected to eq 24776 returns the correct properties of the alerts4777 behaves like a working graphql query4778 returns a successful response4779 with iid given4780 is expected to eq 14781 is expected to eq "1"4782 behaves like a working graphql query4783 returns a successful response4784 with statuses given4785 is expected to eq 14786 is expected to eq "2"4787 behaves like a working graphql query4788 returns a successful response4789 sorting data given4790 sorts in the correct order4791 behaves like a working graphql query4792 returns a successful response4793 ascending order4794 sorts in the correct order4795 searching4796 is expected to eq 14797 is expected to eq "1"4798 behaves like a working graphql query4799 returns a successful response4800 unknown criteria4801 is expected to eq 04802NotificationSettingsController4803 #create4804 when not authorized4805 redirects to sign in page4806 when authorized4807 for projects4808 creates notification setting4809 with custom settings4810 creates notification setting4811 for groups4812 creates notification setting4813 with custom settings4814 creates notification setting4815 not authorized4816 returns 4044817 #update4818 when not authorized4819 redirects to sign in page4820 when authorized4821 returns success4822 and setting custom notification setting4823 returns success4824 not authorized4825 returns 4044826Setting locked status of a merge request4827 returns an error if the user is not allowed to update the merge request4828 marks the merge request as WIP4829 does not do anything if the merge request was already locked4830 when passing locked false as input4831 does not do anything if the merge request was not marked locked4832 unmarks the merge request as locked4833API::Settings Settings4834 GET /application/settings4835 returns application settings4836 PUT /application/settings4837 supports legacy performance_bar_allowed_group_id4838 supports legacy performance_bar_enabled4839 supports legacy allow_local_requests_from_hooks_and_services4840 disables ability to switch to legacy storage4841 custom repository storage type set in the config4842 coerces repository_storages_weighted to an int4843 updates application settings4844 repository_storages_weighted value is outside a 0-100 range4845 returns a :bad_request for -14846 returns a :bad_request for 1014847 external policy classification settings4848 includes the attributes in the API4849 allows updating the settings4850 snowplow tracking settings4851 includes the attributes in the API4852 allows updating the settings4853 missing snowplow_collector_hostname value when snowplow_enabled is true4854 returns a blank parameter error message4855 handles validation errors4856 EKS integration settings4857 includes attributes in the API4858 does not include sensitive attributes in the API4859 allows updating the settings4860 EKS integration is enabled but params are blank4861 does not update the settings4862 missing plantuml_url value when plantuml_enabled is true4863 returns a blank parameter error message4864 asset_proxy settings4865 updates application settings4866 allows a string for asset_proxy_whitelist4867 domain_blacklist settings4868 rejects domain_blacklist_enabled when domain_blacklist is empty4869 allows array for domain_blacklist4870 allows a string for domain_blacklist4871 missing sourcegraph_url value when sourcegraph_enabled is true4872 returns a blank parameter error message4873 missing spam_check_endpoint_url value when spam_check_endpoint_enabled is true4874 returns a blank parameter error message4875StaticObjectExternalStorage4876 when external storage is not configured4877 calls the action normally4878 when external storage is configured4879 when external storage token is empty4880 when project is public4881 redirects to external storage URL without adding a token parameter4882 when project is not public4883 redirects to external storage URL a token parameter added4884 when path includes extra parameters4885 includes the parameters in the redirect URL4886 when external storage token is present4887 when token is correct4888 calls the action normally4889 when token is incorrect4890 return 4034891Admin::Serverless::DomainsController4892 #index4893 non-admin user4894 responds with 4044895 admin user4896 with serverless_domain feature disabled4897 responds with 4044898 when instance-level serverless domain exists4899 loads the instance serverless domain4900 when domain does not exist4901 initializes an instance serverless domain4902 #create4903 non-admin user4904 responds with 4044905 admin user4906 with serverless_domain feature disabled4907 responds with 4044908 when an instance-level serverless domain exists4909 does not create a new domain4910 redirects to index4911 when an instance-level serverless domain does not exist4912 creates an instance serverless domain with the provided attributes4913 redirects to index4914 when there are errors4915 renders index view4916 #update4917 non-admin user4918 responds with 4044919 admin user4920 with serverless_domain feature disabled4921 responds with 4044922 when domain exists4923 updates the domain with the provided attributes4924 does not update the domain name4925 redirects to index4926 when domain does not exist4927 returns 4044928 when there are errors4929 renders index view4930 #verify4931 non-admin user4932 responds with 4044933 admin user4934 handles verification success4935 handles verification failure4936 with serverless_domain feature disabled4937 responds with 4044938 #destroy4939 non-admin user4940 responds with 4044941 admin user4942 with serverless_domain feature disabled4943 responds with 4044944 when domain exists4945 and is not associated to any clusters4946 deletes the domain4947 and is associated to any clusters4948 does not delete the domain4949 when domain does not exist4950 responds with 4044951Projects::Tags::ReleasesController4952 GET #edit4953 initializes a new release4954 retrieves an existing release4955 PUT #update4956 updates release note description4957 creates a release if one does not exist4958 sets the release name, sha, and author for a new release4959 does not delete release when description is empty4960 does nothing when description is empty and the tag does not have a release4961Projects::Settings::AccessTokensController4962 #index4963 behaves like feature unavailability4964 when flag is disabled4965 is expected to respond with numeric status code not_found4966 when environment is Gitlab.com4967 is expected to respond with numeric status code not_found4968 when feature is available4969 retrieves active project access tokens4970 retrieves inactive project access tokens4971 lists all available scopes4972 retrieves newly created personal access token value4973 #create4974 behaves like feature unavailability4975 when flag is disabled4976 is expected to respond with numeric status code not_found4977 when environment is Gitlab.com4978 is expected to respond with numeric status code not_found4979 when feature is available4980 returns success message4981 creates project access token4982 creates project bot user4983 stores newly created token redis store4984 is expected to change `User.count` by 14985 is expected to change `PersonalAccessToken.count` by 14986 when unsuccessful4987 is expected to render template index4988 #revoke4989 behaves like feature unavailability4990 when flag is disabled4991 is expected to respond with numeric status code not_found4992 when environment is Gitlab.com4993 is expected to respond with numeric status code not_found4994 when feature is available4995 revokes token access4996 removed membership of bot user4997 blocks project bot user4998 converts issuables of the bot user to ghost user4999Projects::Settings::RepositoryController5000 GET show5001 renders show with 200 status code5002 PUT cleanup5003 enqueues a RepositoryCleanupWorker5004 POST create_deploy_token5005 when ajax_new_deploy_token feature flag is disabled for the project5006 behaves like a created deploy token5007 creates deploy token5008 when no scope is selected5009 creates a variable with a errored deploy token5010 when ajax_new_deploy_token feature flag is enabled for the project5011 a good request5012 creates the deploy token5013 a bad request5014 does not create the deploy token5015 an invalid request5016 raises a validation error5017Removing an AwardEmoji5018 when the current_user does not own the award emoji5019 behaves like a mutation that does not authorize the user5020 behaves like a mutation that does not destroy an AwardEmoji5021 is expected not to change `AwardEmoji.count`5022 behaves like a mutation that returns a top-level access error5023 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"]5024 when the current_user owns the award emoji5025 when the given awardable is not an Awardable5026 behaves like a mutation that does not destroy an AwardEmoji5027 is expected not to change `AwardEmoji.count`5028 behaves like a mutation that returns top-level errors5029 is expected to eq ["Cannot award emoji to this resource"]5030 when the given awardable is an Awardable5031 removes the emoji5032 returns no errors5033 returns an empty awardEmoji5034Projects::Pipelines::TestsController5035 GET #summary.json5036 when pipeline has build report results5037 renders test report summary data5038 when pipeline does not have build report results5039 renders test report summary data5040 GET #show.json5041 when pipeline has build report results5042 renders test suite data5043 when pipeline does not have build report results5044 renders 4045045RedisTracking5046 with feature disabled5047 does not track the event5048 with usage ping disabled5049 does not track the event5050 with feature enabled and usage ping enabled5051 when user is logged in5052 tracks the event5053 when user is not logged in and there is a visitor_id5054 tracks the event5055 when user is not logged in and there is no visitor_id5056 does not tracks the event5057 for untracked action5058 does not tracks the event5059Groups::Settings::CiCdController5060 GET #show5061 when user is owner5062 renders show with 200 status code and correct runners5063 when user is not owner5064 renders a 4045065 external authorization5066 renders show with 200 status code5067 PUT #reset_registration_token5068 when user is owner5069 resets runner registration token5070 redirects the user to admin runners page5071 when user is not owner5072 renders a 4045073 PATCH #update_auto_devops5074 when user does not have enough permission5075 is expected to respond with numeric status code not_found5076 when user has enough privileges5077 is expected to redirect to "/groups/group253/-/settings/ci_cd"5078 when service execution went wrong5079 returns a flash alert5080 when service execution was successful5081 returns a flash notice5082 when changing auto devops value5083 when explicitly enabling auto devops5084 updates group attribute5085 when explicitly disabling auto devops5086 updates group attribute5087 PATCH #update5088 when user is not an admin5089 is expected to respond with numeric status code not_found5090 when user is an admin5091 when admin mode is disabled5092 is expected to respond with numeric status code not_found5093 when admin mode is enabled5094 is expected to redirect to "/groups/group253/-/settings/ci_cd"5095 when service execution went wrong5096 returns a flash alert5097 when service execution was successful5098 returns a flash notice5099API::Keys5100 GET /keys/:uid5101 when unauthenticated5102 returns authentication error5103 when authenticated5104 returns 404 for non-existing key5105 returns single ssh key with user information5106 does not include the user's `is_admin` flag5107 GET /keys?fingerprint=5108 returns authentication error5109 returns authentication error when authenticated as user5110 when authenticated as admin5111 returns 404 for non-existing SSH md5 fingerprint5112 returns 404 for non-existing SSH sha256 fingerprint5113 returns user if SSH md5 fingerprint found5114 returns user if SSH sha256 fingerprint found5115 returns user if SSH sha256 fingerprint found5116 does not include the user's `is_admin` flag5117 when searching a DeployKey5118 returns user and projects if SSH sha256 fingerprint for DeployKey found5119Admin::SessionsController5120 #new5121 for regular users5122 shows error page5123 for admin users5124 renders a password form5125 already in admin mode5126 redirects to original location5127 #create5128 for regular users5129 shows error page5130 for admin users5131 sets admin mode with a valid password5132 fails with an invalid password5133 fails if not requested first5134 fails if request period expired5135 when using two-factor authentication via OTP5136 requests two factor after a valid password is provided5137 can login with valid otp5138 cannot login with invalid otp5139 with password authentication disabled5140 allows 2FA stage of non-password login5141 on a read-only instance5142 does not attempt to write to the database with valid otp5143 does not attempt to write to the database with invalid otp5144 does not attempt to write to the database with backup code5145 when using two-factor authentication via U2F5146 requests two factor after a valid password is provided5147 can login with valid auth5148 cannot login with invalid auth5149 #destroy5150 for regular users5151 shows error page5152 for admin users5153 disables admin mode and redirects to main page5154API::MergeRequestApprovals5155 GET :id/merge_requests/:merge_request_iid/approvals5156 retrieves the approval status5157 POST :id/merge_requests/:merge_request_iid/approve5158 as a valid approver5159 when the sha param is not set5160 approves the merge request5161 when the sha param is correct5162 approves the merge request5163 when the sha param is incorrect5164 does not approve the merge request5165 POST :id/merge_requests/:merge_request_iid/unapprove5166 as a user who has approved the merge request5167 unapproves the merge request5168Projects::TodosController5169 Issues5170 POST create5171 behaves like issuable todo actions5172 behaves like todos actions5173 when authorized5174 creates todo5175 returns todo path and pending count5176 when not authorized for project/group5177 does not create todo for resource that user has no access to5178 does not create todo when user is not logged in5179 when not authorized for resource5180 doesn't create todo5181 Merge Requests5182 POST create5183 behaves like issuable todo actions5184 behaves like todos actions5185 when authorized5186 creates todo5187 returns todo path and pending count5188 when not authorized for project/group5189 does not create todo for resource that user has no access to5190 does not create todo when user is not logged in5191 when not authorized for resource5192 doesn't create todo5193 Designs5194 POST create5195 behaves like todos actions5196 when authorized5197 creates todo5198 returns todo path and pending count5199 when not authorized for project/group5200 does not create todo for resource that user has no access to5201 does not create todo when user is not logged in5202Setting milestone of a merge request5203 returns an error if the user is not allowed to update the merge request5204 sets the merge request milestone5205 when passing milestone_id nil as input5206 removes the merge request milestone5207merge requests creations5208 GET /:namespace/:project/merge_requests/new5209 avoids N+1 DB queries even with forked projects5210Repositories::GitHttpController5211 HEAD #info_refs5212 returns 4035213 when repository container is a project5214 behaves like info_refs behavior5215 GET #info_refs5216 returns 401 for unauthenticated requests to public repositories when http protocol is disabled5217 with authorized user5218 returns 2005219 updates the user activity5220 adds user info to the logs5221 with exceptions5222DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:134)5223 returns 503 with GRPC Unavailable5224 returns 503 with timeout error5225 behaves like git_upload_pack behavior5226 POST #git_upload_pack5227 updates project statistics sync5228 on a read-only instance5229 does not update project statistics5230 when project_statistics_sync feature flag is disabled5231 updates project statistics async5232 behaves like access checker class5233 calls the right access class checker with the right object5234 when repository container is a personal snippet5235 behaves like info_refs behavior5236 GET #info_refs5237 returns 401 for unauthenticated requests to public repositories when http protocol is disabled5238 with authorized user5239 returns 2005240 updates the user activity5241 adds user info to the logs5242 with exceptions5243DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:134)5244 returns 503 with GRPC Unavailable5245 returns 503 with timeout error5246 behaves like git_upload_pack behavior5247 POST #git_upload_pack5248 does not update project statistics5249 on a read-only instance5250 does not update project statistics5251 when project_statistics_sync feature flag is disabled5252 does not update project statistics5253 behaves like access checker class5254 calls the right access class checker with the right object5255 when repository container is a project snippet5256 behaves like info_refs behavior5257 GET #info_refs5258 returns 401 for unauthenticated requests to public repositories when http protocol is disabled5259 with authorized user5260 returns 2005261 updates the user activity5262 adds user info to the logs5263 with exceptions5264DEPRECATION WARNING: render file: should be given the absolute path to a file (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:134)5265 returns 503 with GRPC Unavailable5266 returns 503 with timeout error5267 behaves like git_upload_pack behavior5268 POST #git_upload_pack5269 does not update project statistics5270 on a read-only instance5271 does not update project statistics5272 when project_statistics_sync feature flag is disabled5273 does not update project statistics5274 behaves like access checker class5275 calls the right access class checker with the right object5276getting a repository in a project5277 returns repository5278 as a non-authorized user5279 returns nil5280 when the repository is only accessible to members5281 returns a repository for the owner5282 returns nil for the repository for other users5283 returns nil for the repository for other users5284Projects::ErrorTracking::StackTracesController5285 GET #index5286 awaiting data5287 responds with no data5288 behaves like sets the polling header5289 is expected to eq "1000"5290 service result is successful5291 responds with success5292 responds with error5293 highlights stack trace source code5294 behaves like sets the polling header5295 is expected to eq "1000"5296 service result is erroneous5297 without http_status5298 responds with bad request5299 responds with error message5300 with explicit http_status5301 responds with custom http status5302 responds with error message5303rendering namespace statistics5304 behaves like a working namespace with storage statistics query5305 includes the packages size if the user can read the statistics5306 behaves like a working graphql query5307 returns a successful response5308 when the namespace is a group5309 behaves like a working namespace with storage statistics query5310 includes the packages size if the user can read the statistics5311 behaves like a working graphql query5312 returns a successful response5313 when the namespace is public5314 hides statistics for unauthenticated requests5315Projects::FindFileController5316 GET #show5317 valid branch5318 is expected to respond with 2005319 invalid branch5320 is expected to respond with 4045321 GET #list5322 valid branch5323 returns an array of file path list5324 invalid branch5325 responds with status 4045326rendering project statistics5327 includes the packages size if the user can read the statistics5328 behaves like a working graphql query5329 returns a successful response5330 when the project is public5331 hides statistics for unauthenticated requests5332Dashboard::LabelsController5333 #index5334 returns global labels for projects the user has a relationship with5335 behaves like disabled when using an external authorization service5336 works when the feature is not enabled5337 renders a 404 with a message when the feature is enabled5338Projects::MattermostsController5339 GET #new5340 accepts the request5341 POST #create5342 no request can be made to mattermost5343 shows the error5344 the request is succesull5345 redirects to the new page5346Groups::ImportsController5347 GET #show5348 when the user has permission to view the group5349 when the import is in progress5350 renders the show template5351 sets the flash notice5352 when the import has failed5353 redirects to the new group path5354 sets a flash error5355 when the import has finished5356 redirects to the group page5357 when there is no import state5358 redirects to the group page5359 when the user does not have permission to view the group5360 returns a 4045361Projects::RunnersController5362 #update5363 updates the runner and ticks the queue5364 #destroy5365 destroys the runner5366 #resume5367 marks the runner as active and ticks the queue5368 #pause5369 marks the runner as inactive and ticks the queue5370HelpController5371 GET #index5372 with absolute url5373 keeps the URL absolute5374 with relative url5375 prefixes it with /help/5376 when url is an external link5377 does not change it5378 when relative url with external on same line5379 prefix it with /help/5380 when relative url with http:// in query5381 prefix it with /help/5382 when mailto URL5383 do not change it5384 when protocol-relative link5385 do not change it5386 restricted visibility set to public5387 redirects to sign_in path5388 GET #show5389 for Markdown formats5390 when requested file exists5391 assigns to @markdown5392 renders HTML5393 when requested file is missing5394 renders not found5395 for image formats5396 when requested file exists5397 renders the raw file5398 when requested file is missing5399 renders not found5400 for other formats5401 always renders not found5402Projects::GrafanaApiController5403 GET #proxy5404 with a successful result5405 returns a grafana datasource response5406 when the request is still unavailable5407 returns 204 no content5408 when an error has occurred5409 with an error accessing grafana5410 behaves like error response5411 returns service_unavailable5412 with a processing error5413 behaves like error response5414 returns bad_request5415 GET #metrics_dashboard5416 when the result is still processing5417 returns 204 no content5418 when the result was successful5419 returns the dashboard response5420 when an error has occurred5421 with an error accessing grafana5422 behaves like error response5423 returns service_unavailable5424 with a processing error5425 behaves like error response5426 returns bad_request5427API::Version5428 with graphql enabled5429 when unauthenticated5430 returns authentication error5431 when authenticated as user5432 returns the version information5433 when authenticated with token5434 with api scope5435 returns the version information5436 with read_user scope5437 returns the version information5438 with neither api nor read_user scope5439 returns authorization error5440 with graphql disabled5441 when unauthenticated5442 returns authentication error5443 when authenticated as user5444 returns the version information5445 when authenticated with token5446 with api scope5447 returns the version information5448 with read_user scope5449 returns the version information5450 with neither api nor read_user scope5451 returns authorization error5452API::ProjectSnapshots5453 GET /projects/:id/snapshot5454 returns authentication error as project owner5455 returns authentication error as unauthenticated user5456 requests project repository raw archive as administrator5457 requests wiki repository raw archive as administrator5458API::GenericPackages5459 GET /api/v4/projects/:id/packages/generic/ping5460 packages feature is disabled5461 responds with 404 Not Found5462 generic_packages feature flag is disabled5463 responds with 404 Not Found5464 generic_packages feature flag is enabled5465 authenticating using personal access token5466 responds with 200 OK when valid personal access token is provided5467 responds with 401 Unauthorized when invalid personal access token provided5468 authenticating using job token5469 responds with 200 OK when valid job token is provided5470 responds with 401 Unauthorized when invalid job token provided5471API::ImportBitbucketServer5472 POST /import/bitbucket_server5473 with no optional parameters5474 returns 201 response when the project is imported successfully5475 with a new project name5476 returns 201 response when the project is imported successfully with a new project name5477 with an invalid URL5478 returns 400 response due to a blocked URL5479 with a new namespace5480 returns 201 response when the project is imported successfully to a new namespace5481 with a private inaccessible namespace5482 returns 401 response when user can not create projects in the chosen namespace5483 with an inaccessible bitbucket server instance5484 raises a connection error5485Registrations::ExperienceLevelsController5486 GET #show5487 with an unauthenticated user5488 is expected to respond with numeric status code redirect5489 is expected to redirect to "/users/sign_in"5490 with an authenticated user5491 is expected to respond with numeric status code ok5492 is expected to render template layouts/devise_experimental_onboarding_issues5493 is expected to render template show5494 when not part of the onboarding issues experiment5495 is expected to respond with numeric status code not_found5496 PUT/PATCH #update5497 with an unauthenticated user5498 is expected to respond with numeric status code redirect5499 is expected to redirect to "/users/sign_in"5500 with an authenticated user5501 when not part of the onboarding issues experiment5502 is expected to respond with numeric status code not_found5503 when user is successfully updated5504 is expected to should set flash[:message] to "Welcome! You have signed up successfully."5505 when no experience_level is sent5506 will unset the user’s experience level5507 when an expected experience level is sent5508 sets the user’s experience level5509 when an unexpected experience level is sent5510 raises an exception5511 when a namespace_path is sent5512 is expected to respond with numeric status code redirect5513 is expected to redirect to "/group-path"5514 when no namespace_path is sent5515 is expected to respond with numeric status code redirect5516 is expected to redirect to "/"5517 applying the chosen level5518 when a "Learn GitLab" project is available5519 when novice5520 adds a BoardLabel5521 when experienced5522 does not add a BoardLabel5523 when no "Learn GitLab" project exists5524 does not add a BoardLabel5525 when user update fails5526 is expected to render template show5527getting Alert Management Alert Notes5528 includes expected data5529 returns the notes ordered by createdAt with sufficient content5530 avoids N+1 queries5531 for non-system notes5532 includes expected data5533Creation of a new commit5534 the user is not allowed to create a commit5535 behaves like a mutation that returns a top-level access error5536 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"]5537 when user has permissions to create a commit5538 creates a new commit5539 when branch is not correct5540 behaves like a mutation that returns errors in the response5541 is expected to eq ["You can only create or edit files when you are on a branch"]5542Profiles::PersonalAccessTokensController5543 #create5544 allows creation of a token with scopes5545 allows creation of a token with an expiry date5546 #index5547 retrieves active personal access tokens5548 retrieves inactive personal access tokens5549 does not retrieve impersonation personal access tokens5550 retrieves newly created personal access token value5551getting Issue counts by status5552 with issue count data5553 without project permissions5554 is expected to equal nil5555 behaves like a working graphql query5556 returns a successful response5557 with project permissions5558 returns the correct counts for each status5559 behaves like a working graphql query5560 returns a successful response5561SendFileUpload5562 #send_upload5563 when local file is used5564 sends a file5565 behaves like handles image resize requests5566 when feature is enabled for current user5567 with valid width parameter5568 renders OK with workhorse command header5569 with missing width parameter5570 does not write workhorse command header5571 with invalid width parameter5572 does not write workhorse command header5573 with width that is not allowed5574 does not write workhorse command header5575 when image file is not an avatar5576 does not write workhorse command header5577 when image file type is not considered safe for scaling5578 does not write workhorse command header5579 when feature is disabled5580 does not write workhorse command header5581 with inline image5582 sends a file with inline disposition5583 with attachment5584 sends a file with content-type of text/plain5585 with a proxied file in object storage5586 sends a file with a custom type5587 when remote file is used5588 and proxying is enabled5589 behaves like proxied file5590 sends a file5591 and proxying is disabled5592 sends a file5593 with proxy requested5594 behaves like proxied file5595 sends a file5596 behaves like handles image resize requests5597 when feature is enabled for current user5598 with valid width parameter5599 renders OK with workhorse command header5600 with missing width parameter5601 does not write workhorse command header5602 with invalid width parameter5603 does not write workhorse command header5604 with width that is not allowed5605 does not write workhorse command header5606 when image file is not an avatar5607 does not write workhorse command header5608 when image file type is not considered safe for scaling5609 does not write workhorse command header5610 when feature is disabled5611 does not write workhorse command header5612Update of an existing board list5613 the user is not allowed to read board lists5614 behaves like a mutation that returns a top-level access error5615 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"]5616 when user has permissions to admin board lists5617 updates the list position and collapsed state5618 when user has permissions to read board lists5619 updates the list collapsed state but not the list position5620Getting designs related to an issue5621 is not too deep for anonymous users5622 behaves like a working graphql query5623 returns a successful response5624Groups::AvatarsController5625 removes avatar from DB calling destroy5626 works when external authorization service is enabled5627AbuseReportMailer5628 .notify5629 behaves like appearance header and footer enabled5630 contains header and footer5631 behaves like appearance header and footer not enabled5632 does not contain header and footer5633 with admin_notification_email set5634 sends to the admin_notification_email5635 includes the user in the subject5636 with no admin_notification_email set5637 returns early5638PipelineDestroy5639 returns an error if the user is not allowed to destroy the pipeline5640 destroys a pipeline5641query Jira service5642 behaves like unauthorized users cannot read services5643 when anonymous user5644 is expected to equal nil5645 when user developer5646 is expected to equal nil5647 when user can access project services5648 retuns list of jira imports5649 behaves like a working graphql query5650 returns a successful response5651getting a detailed sentry error5652 behaves like a working graphql query5653 returns a successful response5654 when data is loading via reactive cache5655 is expected to return an empty error5656 reactive cache returns data5657 is expected to return a valid error5658 is expected to return the frequency correctly5659Setting subscribed status of an issue5660 behaves like a subscribable resource api5661 when the user is not authorized5662 behaves like a mutation that returns top-level errors5663 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"]5664 when user is authorized5665 marks the resource as subscribed5666 when passing subscribe false as input5667 unmarks the resource as subscribed5668Deleting Sidekiq jobs5669 when the user is not an admin5670 behaves like a mutation that returns top-level errors5671 is expected to eq ["You must be an admin to use this mutation"]5672 when the user is an admin5673 valid request5674 returns info about the deleted jobs5675 when no required params are provided5676 behaves like a mutation that returns errors in the response5677 is expected to eq ["No metadata provided"]5678 when the queue does not exist5679 behaves like a mutation that returns top-level errors5680 is expected to eq ["Queue authorized_projects_2 not found"]5681GroupMember5682 behaves like a working graphql query5683 returns a successful response5684 behaves like a working membership object query5685 contains edge to expected project5686 contains correct access level5687Emails::Groups5688 #group_was_exported_email5689 sends success email5690 #group_was_not_exported_email5691 sends failure email5692API::Admin::Sidekiq5693 DELETE /admin/sidekiq/queues/:queue_name5694 when the user is not an admin5695 returns a 4035696 when the user is an admin5697 valid request5698 returns info about the deleted jobs5699 when no required params are provided5700 returns a 4005701 when the queue does not exist5702 returns a 4045703BoardsResponses5704 #serialize_as_json5705 serializes properly5706getting project information5707 when there is a current_user5708 is expected to include {"name" => "John Doe1868"}5709 behaves like a working graphql query5710 returns a successful response5711 when there is no current_user5712 is expected to be nil5713 behaves like a working graphql query5714 returns a successful response5715API::Lint5716 POST /ci/lint5717 with valid .gitlab-ci.yaml content5718 passes validation5719 with an invalid .gitlab_ci.yml5720 responds with errors about invalid syntax5721 responds with errors about invalid configuration5722 without the content parameter5723 responds with validation error about missing content5724Projects::IncidentsController5725 GET #index5726 shows the page for user with developer role5727 when user is unauthorized5728 redirects to the login page5729 when user is a guest5730 shows 4045731DeviseMailer5732 #confirmation_instructions5733 when confirming a new account5734 shows the expected text5735 when confirming the unconfirmed_email5736 shows the expected text5737 when re-confirming the primary email after a security issue5738 shows the expected text5739API::ContainerRegistryEvent5740 POST /container_registry_event/events5741 returns 200 status and events are passed to event handler5742 returns 401 error status when token is invalid5743Every controller5744 feature categories5745 has feature categories (PENDING: We'll work on defining categories for all controllers: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/463)5746 completed controllers don't get new routes without categories5747 recognizes the feature categories5748 doesn't define or exclude categories on removed actions5749Knapsack report was generated. Preview:5750{5751 "spec/requests/api/merge_requests_spec.rb": 158.4003562927246,5752 "spec/requests/api/groups_spec.rb": 60.57115602493286,5753 "spec/controllers/projects/jobs_controller_spec.rb": 57.382155656814575,5754 "spec/requests/api/graphql/project/merge_requests_spec.rb": 58.1772096157074,5755 "spec/requests/api/jobs_spec.rb": 34.51809859275818,5756 "spec/requests/api/composer_packages_spec.rb": 26.905904293060303,5757 "spec/controllers/projects/merge_requests/diffs_controller_spec.rb": 30.33466124534607,5758 "spec/controllers/projects/snippets_controller_spec.rb": 26.599422454833984,5759 "spec/controllers/projects/forks_controller_spec.rb": 23.25542402267456,5760 "spec/controllers/projects/milestones_controller_spec.rb": 14.623585939407349,5761 "spec/requests/api/graphql/project_query_spec.rb": 13.315053939819336,5762 "spec/requests/api/pages/public_access_spec.rb": 13.16496992111206,5763 "spec/controllers/projects/merge_requests/conflicts_controller_spec.rb": 12.092349290847778,5764 "spec/controllers/groups/clusters/applications_controller_spec.rb": 9.6934974193573,5765 "spec/controllers/projects/snippets/blobs_controller_spec.rb": 9.390748977661133,5766 "spec/controllers/import/gitea_controller_spec.rb": 9.883021116256714,5767 "spec/controllers/projects/compare_controller_spec.rb": 10.127403974533081,5768 "spec/requests/api/ci/runner/jobs_put_spec.rb": 6.824592113494873,5769 "spec/requests/api/go_proxy_spec.rb": 7.086224317550659,5770 "spec/controllers/projects/design_management/designs/resized_image_controller_spec.rb": 5.835668325424194,5771 "spec/controllers/projects/settings/operations_controller_spec.rb": 6.912700414657593,5772 "spec/requests/api/group_milestones_spec.rb": 7.629496812820435,5773 "spec/requests/api/graphql/boards/boards_query_spec.rb": 5.89382266998291,5774 "spec/controllers/projects/boards_controller_spec.rb": 5.575174808502197,5775 "spec/requests/openid_connect_spec.rb": 5.018636703491211,5776 "spec/controllers/projects/artifacts_controller_spec.rb": 4.879919528961182,5777 "spec/requests/api/graphql/mutations/design_management/upload_spec.rb": 6.492819786071777,5778 "spec/requests/api/access_requests_spec.rb": 3.9521398544311523,5779 "spec/requests/api/project_events_spec.rb": 4.97727370262146,5780 "spec/controllers/projects/mirrors_controller_spec.rb": 6.08196234703064,5781 "spec/controllers/admin/clusters/applications_controller_spec.rb": 4.760059833526611,5782 "spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb": 5.219247102737427,5783 "spec/requests/api/group_variables_spec.rb": 3.785573720932007,5784 "spec/requests/api/graphql/project/alert_management/alerts_spec.rb": 5.1593616008758545,5785 "spec/controllers/notification_settings_controller_spec.rb": 2.931192636489868,5786 "spec/requests/api/graphql/mutations/merge_requests/set_locked_spec.rb": 3.2958803176879883,5787 "spec/requests/api/settings_spec.rb": 3.500455379486084,5788 "spec/controllers/concerns/static_object_external_storage_spec.rb": 2.1643073558807373,5789 "spec/controllers/admin/serverless/domains_controller_spec.rb": 2.8765969276428223,5790 "spec/controllers/projects/tags/releases_controller_spec.rb": 2.988874673843384,5791 "spec/controllers/projects/settings/access_tokens_controller_spec.rb": 2.8334031105041504,5792 "spec/controllers/projects/settings/repository_controller_spec.rb": 2.704038381576538,5793 "spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb": 3.0684921741485596,5794 "spec/controllers/projects/pipelines/tests_controller_spec.rb": 2.0707101821899414,5795 "spec/controllers/concerns/redis_tracking_spec.rb": 1.9640796184539795,5796 "spec/controllers/groups/settings/ci_cd_controller_spec.rb": 2.527743339538574,5797 "spec/requests/api/keys_spec.rb": 2.2284324169158936,5798 "spec/controllers/admin/sessions_controller_spec.rb": 1.7110676765441895,5799 "spec/requests/api/merge_request_approvals_spec.rb": 2.4509904384613037,5800 "spec/controllers/projects/todos_controller_spec.rb": 2.550941228866577,5801 "spec/requests/api/graphql/mutations/merge_requests/set_milestone_spec.rb": 1.8751239776611328,5802 "spec/requests/projects/merge_requests/creations_spec.rb": 1.5969572067260742,5803 "spec/controllers/repositories/git_http_controller_spec.rb": 1.6824522018432617,5804 "spec/requests/api/graphql/project/repository_spec.rb": 1.8257133960723877,5805 "spec/controllers/projects/error_tracking/stack_traces_controller_spec.rb": 1.0580968856811523,5806 "spec/requests/api/graphql/namespace/root_storage_statistics_spec.rb": 0.8340432643890381,5807 "spec/controllers/projects/find_file_controller_spec.rb": 1.719208002090454,5808 "spec/requests/api/graphql/project/project_statistics_spec.rb": 0.9661858081817627,5809 "spec/controllers/dashboard/labels_controller_spec.rb": 1.5789315700531006,5810 "spec/controllers/projects/mattermosts_controller_spec.rb": 0.9701917171478271,5811 "spec/controllers/groups/imports_controller_spec.rb": 0.7002060413360596,5812 "spec/controllers/projects/runners_controller_spec.rb": 1.238790512084961,5813 "spec/controllers/help_controller_spec.rb": 0.9108579158782959,5814 "spec/controllers/projects/grafana_api_controller_spec.rb": 1.0490195751190186,5815 "spec/requests/api/version_spec.rb": 0.8091845512390137,5816 "spec/requests/api/project_snapshots_spec.rb": 0.8850059509277344,5817 "spec/requests/api/generic_packages_spec.rb": 0.8514139652252197,5818 "spec/requests/api/import_bitbucket_server_spec.rb": 1.0466909408569336,5819 "spec/controllers/registrations/experience_levels_controller_spec.rb": 0.6994929313659668,5820 "spec/requests/api/graphql/project/alert_management/alert/notes_spec.rb": 0.6509957313537598,5821 "spec/requests/api/graphql/mutations/commits/create_spec.rb": 0.7346835136413574,5822 "spec/controllers/profiles/personal_access_tokens_controller_spec.rb": 0.5585236549377441,5823 "spec/requests/api/graphql/issue_status_counts_spec.rb": 0.4499332904815674,5824 "spec/controllers/concerns/send_file_upload_spec.rb": 0.5458385944366455,5825 "spec/requests/api/graphql/mutations/boards/lists/update_spec.rb": 0.6717538833618164,5826 "spec/requests/api/graphql/project/issue/designs/notes_spec.rb": 0.6360487937927246,5827 "spec/controllers/groups/avatars_controller_spec.rb": 0.37329721450805664,5828 "spec/mailers/abuse_report_mailer_spec.rb": 0.6744818687438965,5829 "spec/requests/api/graphql/mutations/ci/pipeline_destroy_spec.rb": 0.24110078811645508,5830 "spec/requests/api/graphql/project/base_service_spec.rb": 0.46066975593566895,5831 "spec/requests/api/graphql/project/error_tracking/sentry_detailed_error_request_spec.rb": 0.3761110305786133,5832 "spec/requests/api/graphql/mutations/issues/set_subscription_spec.rb": 0.43863892555236816,5833 "spec/requests/api/graphql/mutations/admin/sidekiq_queues/delete_jobs_spec.rb": 0.41158437728881836,5834 "spec/requests/api/graphql/user/group_member_query_spec.rb": 0.2457141876220703,5835 "spec/mailers/emails/groups_spec.rb": 0.32938599586486816,5836 "spec/requests/api/admin/sidekiq_spec.rb": 0.26977109909057617,5837 "spec/controllers/concerns/boards_responses_spec.rb": 0.2460765838623047,5838 "spec/requests/api/graphql/current_user_query_spec.rb": 0.17938780784606934,5839 "spec/requests/api/lint_spec.rb": 0.14389586448669434,5840 "spec/controllers/projects/incidents_controller_spec.rb": 0.1332080364227295,5841 "spec/mailers/devise_mailer_spec.rb": 0.13744378089904785,5842 "spec/requests/api/container_registry_event_spec.rb": 0.07576489448547363,5843 "spec/controllers/every_controller_spec.rb": 0.034482002258300785844}5845Knapsack global time execution for tests: 12m 17s5846Pending: (Failures listed here are expected and do not affect your suite's status)5847 1) Every controller feature categories has feature categories5848 # We'll work on defining categories for all controllers: https://gitlab.com/gitlab-com/gl-infra/scalability/-/issues/4635849 Failure/Error: expect(routes_without_category).to be_empty, "#{routes_without_category.first(10)} did not have a category"5850 ["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 category5851 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:97:in `block in <module:Support>'5852 # ./vendor/ruby/2.6.0/gems/rspec-support-3.9.2/lib/rspec/support.rb:106:in `notify_failure'5853 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/fail_with.rb:35:in `fail_with'5854 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:40:in `handle_failure'5855 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:50:in `block in handle_matcher'5856 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:27:in `with_matcher'5857 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/handler.rb:48:in `handle_matcher'5858 # ./vendor/ruby/2.6.0/gems/rspec-expectations-3.9.1/lib/rspec/expectations/expectation_target.rb:65:in `to'5859 # ./spec/controllers/every_controller_spec.rb:33:in `block (3 levels) in <top (required)>'5860 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `instance_exec'5861 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:257:in `block in run'5862 # ./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'5863 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'5864 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `block in run'5865 # ./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'5866 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5867 # ./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>'5868 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5869 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5870 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5871 # ./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'5872 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5873 # ./vendor/ruby/2.6.0/gems/rspec-rails-4.0.0/lib/rspec/rails/adapters.rb:75:in `block (2 levels) in <module:MinitestLifecycleAdapter>'5874 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5875 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5876 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5877 # ./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'5878 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5879 # ./spec/spec_helper.rb:320:in `block (3 levels) in <top (required)>'5880 # ./vendor/ruby/2.6.0/gems/sidekiq-5.2.9/lib/sidekiq/testing.rb:55:in `server_middleware'5881 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'5882 # ./spec/spec_helper.rb:311:in `block (2 levels) in <top (required)>'5883 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5884 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5885 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5886 # ./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'5887 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5888 # ./spec/spec_helper.rb:307:in `block (3 levels) in <top (required)>'5889 # ./vendor/ruby/2.6.0/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:32:in `with_context'5890 # ./spec/spec_helper.rb:307:in `block (2 levels) in <top (required)>'5891 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5892 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5893 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5894 # ./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'5895 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5896 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:123:in `block in run'5897 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `loop'5898 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:110:in `run'5899 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'5900 # ./vendor/ruby/2.6.0/gems/rspec-retry-0.6.1/lib/rspec/retry.rb:37:in `block (2 levels) in setup'5901 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5902 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:450:in `instance_exec'5903 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:381:in `execute_with'5904 # ./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'5905 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:345:in `call'5906 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:615:in `run_around_example_hooks_for'5907 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/hooks.rb:472:in `run'5908 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:460:in `with_around_example_hooks'5909 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'5910 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example.rb:254:in `run'5911 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:633:in `block in run_examples'5912 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `map'5913 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:629:in `run_examples'5914 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:595:in `run'5915 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `block in run'5916 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `map'5917 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/example_group.rb:596:in `run'5918 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'5919 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `map'5920 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'5921 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/configuration.rb:2031:in `with_suite_hooks'5922 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:116:in `block in run_specs'5923 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/reporter.rb:74:in `report'5924 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:115:in `run_specs'5925 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:89:in `run'5926 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:71:in `run'5927 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/lib/rspec/core/runner.rb:45:in `invoke'5928 # ./vendor/ruby/2.6.0/gems/rspec-core-3.9.1/exe/rspec:4:in `<top (required)>'5929 # ./vendor/ruby/2.6.0/bin/rspec:23:in `load'5930 # ./vendor/ruby/2.6.0/bin/rspec:23:in `<top (required)>'5931 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `load'5932 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:74:in `kernel_load'5933 # /usr/local/lib/ruby/2.6.0/bundler/cli/exec.rb:28:in `run'5934 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:463:in `exec'5935 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'5936 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'5937 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'5938 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:27:in `dispatch'5939 # /usr/local/lib/ruby/2.6.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'5940 # /usr/local/lib/ruby/2.6.0/bundler/cli.rb:18:in `start'5941 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:30:in `block in <top (required)>'5942 # /usr/local/lib/ruby/2.6.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'5943 # /usr/local/lib/ruby/gems/2.6.0/gems/bundler-1.17.2/exe/bundle:22:in `<top (required)>'5944 # /usr/local/bin/bundle:23:in `load'5945 # /usr/local/bin/bundle:23:in `<main>'5946Finished in 17 minutes 13 seconds (files took 44.74 seconds to load)59472600 examples, 0 failures, 1 pending5948Sat Aug 29 16:48:50 UTC 20205950Not uploading cache rails-v2-3 due to policy5952Uploading artifacts...5953coverage/: found 5 matching files and directories 5954knapsack/: found 3 matching files and directories 5955rspec_flaky/: found 4 matching files and directories 5956rspec_profiling/: found 2 matching files and directories 5957WARNING: tmp/capybara/: no matching files 5958tmp/memory_test/: found 2 matching files and directories 5959log/*.log: found 15 matching files and directories 5960Uploading artifacts as "archive" to coordinator... ok id=710020371 responseStatus=201 Created token=F7xfzqKT5961Uploading artifacts...5962junit_rspec.xml: found 1 matching files and directories 5963Uploading artifacts as "junit" to coordinator... ok id=710020371 responseStatus=201 Created token=F7xfzqKT5964Job succeeded