rspec unit pg11 5/20
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 13.3.1 (738bbe5a)2 on prm-com-gitlab-org bd0915564Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...5Starting service postgres:11.6 ...6Pulling docker image postgres:11.6 ...7Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 ...8Starting service redis:4.0-alpine ...9Pulling docker image redis:4.0-alpine ...10Using docker image sha256:e3dd0e49bca555d559ca2e97f06a1efa108ebd230fddcb17606723994f18ae3b for redis:4.0-alpine ...11Waiting for services to be up and running...12Authenticating with credentials from job payload (GitLab Registry)13Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...14Using docker image sha256:cd688957c9207f55272d81be6d4908692d78233833e3f09a9c0899b2f24eb3ff for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.6.6-golang-1.14-git-2.28-lfs-2.9-chrome-84-node-12.x-yarn-1.21-postgresql-11-graphicsmagick-1.3.34 ...16Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1598718258-4577b0a9...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 0% | | 7576k 0:02:15 ETA23gitlab.tar.gz 36% |*********** | 370M 0:00:03 ETA24gitlab.tar.gz 72% |*********************** | 732M 0:00:01 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...35Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/rails-v2-3 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 0 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 1 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$ run_timed_command "scripts/gitaly-test-build"76==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 23 seconds.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.163227' -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$ run_timed_command "scripts/gitaly-test-spawn"102==> 'scripts/gitaly-test-build' succeeded in 38 seconds.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/{bin,channels,config,db,dependencies,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,support_specs,tasks,uploaders,validators,views,workers,elastic_integration,tooling}{,/**/}*_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.025255857 seconds...122cycle analytics events123 #issue_events124 has the total time125 has a title126 has the URL127 has an iid128 has a created_at timestamp129 has the author's URL130 has the author's avatar URL131 has the author's name132 #plan_events133 has the total time134 has a title135 has the URL136 has an iid137 has a created_at timestamp138 has the author's URL139 has the author's avatar URL140 has the author's name141 #code_events142 has the total time143 has a title144 has an iid145 has a created_at timestamp146 has the author's URL147 has the author's avatar URL148 has the author's name149 #test_events150 has the name151 has the ID152 has the URL153 has the branch name154 has the branch URL155 has the short SHA156 has the commit URL157 has the date158 has the total time159 #review_events160 has the total time161 has a title162 has an iid163 has the URL164 has a state165 has a created_at timestamp166 has the author's URL167 has the author's avatar URL168 has the author's name169 #staging_events170 has the name171 has the ID172 has the URL173 has the branch name174 has the branch URL175 has the short SHA176 has the commit URL177 has the date178 has the total time179 has the author's URL180 has the author's avatar URL181 has the author's name182 #production_events183 has the total time184 has a title185 has the URL186 has an iid187 has a created_at timestamp188 has the author's URL189 has the author's avatar URL190 has the author's name191Gitlab::GitAccess192 #check with single protocols allowed193 ssh disabled194 blocks ssh git push and pull195 http disabled196 blocks http push and pull197 when request is made from CI198 doesn't block http pull199 when legacy CI credentials are used200 doesn't block http pull201 #check_project_accessibility!202 when the project exists203 when actor exists204 when actor is a DeployKey205 when the DeployKey has access to the project206 allows push and pull access207 when the Deploykey does not have access to the project208 blocks push and pull with "not found"209 when actor is a User210 when the User can read the project211 allows push and pull access212 when the User cannot read the project213 blocks push and pull with "not found"214 when actor is :ci215 allows pull access216 does not block pushes with "not found"217 when actor is DeployToken218 when DeployToken is active and belongs to project219 allows pull access220 blocks the push221 when DeployToken does not belong to project222 blocks pull access223 blocks the push224 when actor is nil225 when guests can read the project226 allows pull access227 does not block pushes with "not found"228 when guests cannot read the project229 blocks pulls with "not found"230 blocks pushes with "not found"231 when the project is nil232 blocks push and pull with "not found"233 behaves like #check with a key that is not valid234 key is too small235 does not allow keys which are too small236 key type is not allowed237 does not allow keys which are too small238 behaves like #check with a key that is not valid239 key is too small240 does not allow keys which are too small241 key type is not allowed242 does not allow keys which are too small243 #add_project_moved_message!244 when a redirect was not followed to find the project245 allows push and pull access246 with a redirect and ssh protocol247 behaves like check_project_moved248 enqueues a redirected message for pushing249 allows push and pull access250 with a redirect and http protocol251 behaves like check_project_moved252 enqueues a redirected message for pushing253 allows push and pull access254 #check_authentication_abilities!255 when download256 raises unauthorized with download error257 when authentication abilities include download code258 does not raise any errors259 when authentication abilities include build download code260 does not raise any errors261 when upload262 raises unauthorized with push error263 when authentication abilities include push code264 does not raise any errors265 #check_command_disabled!266 over http267 when the git-upload-pack command is disabled in config268 when calling git-upload-pack269 is expected to raise Gitlab::GitAccess::ForbiddenError with "Pulling over HTTP is not allowed."270 when calling git-receive-pack271 is expected not to raise Exception272 when the git-receive-pack command is disabled in config273 when calling git-receive-pack274 is expected to raise Gitlab::GitAccess::ForbiddenError with "Pushing over HTTP is not allowed."275 when calling git-upload-pack276 is expected not to raise Exception277 #check_db_accessibility!278 when in a read-only GitLab instance279 is expected to raise Gitlab::GitAccess::ForbiddenError with "You can't push code to a read-only GitLab instance."280 #check_download_access!281 allows maintainers to pull282 disallows guests to pull283 disallows blocked users to pull284 disallows deactivated users to pull285 when the project repository does not exist286 returns not found287 without access to project288 pull code289 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."290 when project is public291 when repository is enabled292 give access to download code293 when repository is disabled294 does not give access to download code295 deploy key permissions296 pull code297 when project is authorized298 is expected not to raise Exception299 when unauthorized300 from public project301 is expected not to raise Exception302 from internal project303 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."304 from private project305 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."306 deploy token permissions307 pull code308 when project is authorized309 is expected not to raise Exception310 when unauthorized311 from public project312 is expected not to raise Exception313 from internal project314 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."315 from private project316 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."317 build authentication_abilities permissions318 owner319 pull code320 is expected not to raise Exception321 reporter user322 pull code323 is expected not to raise Exception324 admin user325 when member of the project326 pull code327 is expected not to raise Exception328 when is not member of the project329 pull code330 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to download code from this project."331 generic CI (build without a user)332 pull code333 is expected not to raise Exception334 check LFS integrity335 when LFS is not enabled336 does not run LFSIntegrity check337 when LFS is enabled338 checks LFS integrity only for first change339 #check_push_access!341 has the correct permissions for admins342 has the correct permissions for maintainers343 has the correct permissions for developers344 has the correct permissions for reporters345 has the correct permissions for guests346 when developers are allowed to push into the exact protected branch347 has the correct permissions for admins348 has the correct permissions for maintainers349 has the correct permissions for developers350 has the correct permissions for reporters351 has the correct permissions for guests352 developers are allowed to merge into the exact protected branch353 when a merge request exists for the given source/target branch354 when the merge request is in progress355 has the correct permissions for admins356 has the correct permissions for maintainers357 has the correct permissions for developers358 has the correct permissions for reporters359 has the correct permissions for guests360 when the merge request is not in progress361 has the correct permissions for admins362 has the correct permissions for maintainers363 has the correct permissions for developers364 has the correct permissions for reporters365 has the correct permissions for guests366 when a merge request does not exist for the given source/target branch367 has the correct permissions for admins368 has the correct permissions for maintainers369 has the correct permissions for developers370 has the correct permissions for reporters371 has the correct permissions for guests372 when developers are allowed to push and merge into the exact protected branch373 has the correct permissions for admins374 has the correct permissions for maintainers375 has the correct permissions for developers376 has the correct permissions for reporters377 has the correct permissions for guests378 when no one is allowed to push to the feature protected branch379 has the correct permissions for admins380 has the correct permissions for maintainers381 has the correct permissions for developers382 has the correct permissions for reporters383 has the correct permissions for guests385 has the correct permissions for admins386 has the correct permissions for maintainers387 has the correct permissions for developers388 has the correct permissions for reporters389 has the correct permissions for guests390 when developers are allowed to push into the wildcard protected branch391 has the correct permissions for admins392 has the correct permissions for maintainers393 has the correct permissions for developers394 has the correct permissions for reporters395 has the correct permissions for guests396 developers are allowed to merge into the wildcard protected branch397 when a merge request exists for the given source/target branch398 when the merge request is in progress399 has the correct permissions for admins400 has the correct permissions for maintainers401 has the correct permissions for developers402 has the correct permissions for reporters403 has the correct permissions for guests404 when the merge request is not in progress405 has the correct permissions for admins406 has the correct permissions for maintainers407 has the correct permissions for developers408 has the correct permissions for reporters409 has the correct permissions for guests410 when a merge request does not exist for the given source/target branch411 has the correct permissions for admins412 has the correct permissions for maintainers413 has the correct permissions for developers414 has the correct permissions for reporters415 has the correct permissions for guests416 when developers are allowed to push and merge into the wildcard protected branch417 has the correct permissions for admins418 has the correct permissions for maintainers419 has the correct permissions for developers420 has the correct permissions for reporters421 has the correct permissions for guests422 when no one is allowed to push to the feat* protected branch423 has the correct permissions for admins424 has the correct permissions for maintainers425 has the correct permissions for developers426 has the correct permissions for reporters427 has the correct permissions for guests428 when pushing to a project429 does not allow deactivated users to push430 cleans up the files431 avoids N+1 queries432 raises TimeoutError when #check_single_change_access raises a timeout error433 build authentication abilities434 when project is authorized435 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."436 when unauthorized437 to public project438 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."439 to internal project440 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."441 to private project442 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."443 when the repository is read only444 denies push access445 deploy key permissions446 when deploy_key can push447 when project is authorized448 is expected not to raise Exception449 when unauthorized450 to public project451 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."452 to internal project453 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."454 to private project455 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."456 when deploy_key cannot push457 when project is authorized458 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."459 when unauthorized460 to public project461 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."462 to internal project463 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."464 to private project465 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found."466 terms are enforced467 as an anonymous user to a public project468 is expected not to raise Exception469 as a guest to a public project470 behaves like access after accepting terms471 blocks access when the user did not accept terms472 allows access when the user accepted the terms473 as a reporter to the project474 behaves like access after accepting terms475 blocks access when the user did not accept terms476 allows access when the user accepted the terms477 as a developer of the project478 behaves like access after accepting terms479 blocks access when the user did not accept terms480 allows access when the user accepted the terms481 as a maintainer of the project482 behaves like access after accepting terms483 blocks access when the user did not accept terms484 allows access when the user accepted the terms485 as an owner of the project486 behaves like access after accepting terms487 blocks access when the user did not accept terms488 allows access when the user accepted the terms489 when a ci build clones the project490 doesn't block http pull491SubmitUsagePingService492 when usage ping is disabled493 behaves like does not run494 is expected not to receive data(*(any args)) 0 times495 when usage ping is enabled496 sends a POST request497 forces a refresh of usage data statistics before submitting498 and user requires usage stats consent499 behaves like does not run500 is expected not to receive data(*(any args)) 0 times501 when conv_index data is passed502 behaves like saves DevOps score data from the response503 is expected to eq 31.37504 when DevOps score data is passed505 behaves like saves DevOps score data from the response506 is expected to eq 31.37507 with save_raw_usage_data feature enabled508 creates a raw_usage_data record509 saves the correct payload510 with save_raw_usage_data feature disabled511 does not create a raw_usage_data record512 and usage ping response has unsuccessful status513 raises an exception514 and usage data is empty string515 behaves like does not send a blank usage ping payload516 is expected to raise SubmitUsagePingService::SubmissionError517 and usage data is nil518 behaves like does not send a blank usage ping payload519 is expected to raise SubmitUsagePingService::SubmissionError520DesignManagement::DesignV432x230Uploader521 resizes images522 behaves like builds correct paths523 #store_dir524 behaves like matches the method pattern525 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//526 #cache_dir527 behaves like matches the method pattern528 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)529 #work_dir530 behaves like matches the method pattern531 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)532 #upload_path533 behaves like matches the method pattern534 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//535 #relative_path536 is relative (PENDING: Path not set, skipping.)537 .absolute_path538 behaves like matches the method pattern539 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/design_management\/action\/image_v432x230\//540 .base_dir541 behaves like matches the method pattern542 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)543 object_store is REMOTE544 behaves like builds correct paths545 #store_dir546 behaves like matches the method pattern547 is expected to match /design_management\/action\/image_v432x230\//548 #cache_dir549 behaves like matches the method pattern550 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)551 #work_dir552 behaves like matches the method pattern553 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)554 #upload_path555 behaves like matches the method pattern556 is expected to match /design_management\/action\/image_v432x230\//557 #relative_path558 is relative (PENDING: Path not set, skipping.)559 .absolute_path560 behaves like matches the method pattern561 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)562 .base_dir563 behaves like matches the method pattern564 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)565 #migrate!566 behaves like migrates567 returns corresponding file type568 does nothing when migrating to the current store569 migrate to the specified store570 removes the original file after the migration571 can access to the original file during migration572 when migrate! is not occupied by another process573 executes migrate!574 executes use_file575 when migrate! is occupied by another process576 does not execute migrate!577 does not execute use_file578 migration is unsuccessful579 when the store is not supported580 does not update the object_store581 does not delete the original file582 upon a fog failure583 does not update the object_store584 does not delete the original file585 upon a database failure586 does not update the object_store587 does not delete the original file588 behaves like migrates589 returns corresponding file type590 does nothing when migrating to the current store591 migrate to the specified store592 removes the original file after the migration593 can access to the original file during migration594 when migrate! is not occupied by another process595 executes migrate!596 executes use_file597 when migrate! is occupied by another process598 does not execute migrate!599 does not execute use_file600 migration is unsuccessful601 when the store is not supported602 does not update the object_store603 does not delete the original file604 upon a fog failure605 does not update the object_store606 does not delete the original file607 upon a database failure608 does not update the object_store609 does not delete the original file610 accept whitelist file content type611 mime_type: "image/png"612 behaves like accepted carrierwave upload613 will accept upload614 will cache uploaded file615 mime_type: "image/jpeg"616 behaves like accepted carrierwave upload617 will accept upload618 will cache uploaded file619 mime_type: "image/bmp"620 behaves like accepted carrierwave upload621 will accept upload622 will cache uploaded file623 mime_type: "image/gif"624 behaves like accepted carrierwave upload625 will accept upload626 will cache uploaded file627 upload non-whitelisted file content type628 behaves like denied carrierwave upload629 will deny upload630 upload misnamed non-whitelisted file content type631 behaves like denied carrierwave upload632 will deny upload633Gitlab::Auth634 constants635 API_SCOPES contains all scopes for API access636 ADMIN_SCOPES contains all scopes for ADMIN access637 REPOSITORY_SCOPES contains all scopes for REPOSITORY access638 OPENID_SCOPES contains all scopes for OpenID Connect639 DEFAULT_SCOPES contains all default scopes640 optional_scopes contains all non-default scopes641 available_scopes642 contains all non-default scopes643 contains for non-admin user all non-default scopes without ADMIN access644 contains for admin user all non-default scopes with ADMIN access645 registry_scopes646 when registry is disabled647 is empty648 when registry is enabled649 contains all registry related scopes650 find_for_git_client651 recognizes other ci services652 recognizes master passwords653 allows user authenticating from the same ip654 blocks user authenticating from two distinct ips655 returns double nil for invalid credentials656 throws an error suggesting user create a PAT when internal auth is disabled657 rate limiting658 when IP is already banned659 raises an IpBlacklisted exception660 for CI registry user661 skips rate limiting for successful auth662 skips rate limiting for failed auth663 for other users664 resets rate limit for successful auth665 rate limits a user by unique IPs666 registers failure for failed auth667 build token668 for running build669 recognises user-less build670 recognises user token671 fails with blocked user token672 username is not gitlab-ci-token673 fails to authenticate674 for created build675 denies authentication676 for waiting_for_resource build677 denies authentication678 for preparing build679 denies authentication680 for pending build681 denies authentication682 for success build683 denies authentication684 for failed build685 denies authentication686 for canceled build687 denies authentication688 for skipped build689 denies authentication690 for manual build691 denies authentication692 for scheduled build693 denies authentication694 while using LFS authenticate695 recognizes user lfs tokens696 recognizes deploy key lfs tokens697 does not try password auth before oauth698 grants deploy key write permissions699 does not grant deploy key write permissions700 while using OAuth tokens as passwords701 succeeds for OAuth tokens with the `api` scope702 fails for OAuth tokens with other scopes703 does not try password auth before oauth704 blocked user705 behaves like an oauth failure706 fails707 orphaned token708 behaves like an oauth failure709 fails710 while using personal access tokens as passwords711 succeeds for personal access tokens with the `api` scope712 succeeds for personal access tokens with the `read_repository` scope713 succeeds for personal access tokens with the `write_repository` scope714 succeeds if it is an impersonation token715 limits abilities based on scope716 fails if password is nil717 when registry is enabled718 succeeds for personal access tokens with the `read_registry` scope719 when user is blocked720 fails if user is blocked721 while using regular user and password722 fails for a blocked user723 goes through lfs authentication724 goes through oauth authentication when the username is oauth2725 while using deploy tokens726 when deploy token and user have the same username727 succeeds for the token728 succeeds for the user729 when deploy tokens have the same username730 and belong to the same project731 succeeds for the right token732 fails for the wrong token733 and belong to different projects734 succeeds for the right token735 fails for the wrong token736 when the deploy token has read_repository as scope737 succeeds when login and token are valid738 succeeds when custom login and token are valid739 does not attempt to rate limit unique IPs for a deploy token740 fails when login is not valid741 fails when token is not valid742 fails if token is nil743 fails if token is not related to project744 fails if token has been revoked745 when the deploy token is of group type746 succeeds when login and a group deploy token are valid747 fails if token is not related to group748 when the deploy token has read_registry as a scope749 when registry enabled750 succeeds when login and a project token are valid751 behaves like registry token scope752 fails when login is not valid753 fails when token is not valid754 fails if token is nil755 fails if token is not related to project756 fails if token has been revoked757 behaves like deploy token with disabled registry758 when registry disabled759 fails when login and token are valid760 when the deploy token has write_registry as a scope761 when registry enabled762 succeeds when login and a project token are valid763 behaves like registry token scope764 fails when login is not valid765 fails when token is not valid766 fails if token is nil767 fails if token is not related to project768 fails if token has been revoked769 behaves like deploy token with disabled registry770 when registry disabled771 fails when login and token are valid772 find_with_user_password773 finds user by valid login/password774 finds user by valid email/password with case-insensitive email775 finds user by valid username/password with case-insensitive username776 does not find user with invalid password777 does not find user with invalid login778 allows user authenticating from the same ip779 blocks user authenticating from two distinct ips780 finds the user in deactivated state781 does not find user in blocked state782 does not find user in ldap_blocked state783 with ldap enabled784 tries to autheticate with db before ldap785 does not find user by using ldap as fallback to for authentication786 find new user by using ldap as fallback to for authentication787 with password authentication disabled for Git788 does not find user by valid login/password789 with ldap enabled790 does not find non-ldap user by valid login/password791 .resource_bot_scopes792 is expected to include :api and :read_api793 is expected to include :read_repository and :write_repository794 is expected to include nil795Banzai::ReferenceParser::BaseParser796 .reference_type=797 sets the reference type798 #project_for_node799 returns the Project for a node800 #nodes_visible_to_user801 when the link has a data-project attribute802 includes the link if can_read_reference? returns true803 excludes the link if can_read_reference? returns false804 when the link does not have a data-project attribute805 returns the nodes806 #nodes_user_can_reference807 returns the nodes808 #referenced_by809 when references_relation is implemented810 returns a collection of objects811 when references_relation is not implemented812 raises NotImplementedError813 #references_relation814 raises NotImplementedError815 #gather_attributes_per_project816 returns a Hash containing attribute values per project817 #grouped_objects_for_nodes818 returns a Hash grouping objects per node819 returns an empty Hash when entry does not exist in the database820 #unique_attribute_values821 returns an Array of unique values822 #process823 gathers the references for every node matching the reference type824 #gather_references825 returns referenceable and visible objects, alongside nodes that are referenceable but not visible826 is always empty if the input is empty827 #can?828 delegates the permissions check to the Ability class829 #find_projects_for_hash_keys830 returns a list of Projects831 #collection_objects_for_ids832 with RequestStore disabled833 queries the collection directly834 with RequestStore enabled835 queries the collection on the first call836 does not query previously queried objects837 casts String based IDs to Fixnums before querying objects838 queries any additional objects after the first call839 caches objects on a per collection class basis840 will not overflow the stack841 #collection_cache_key842 returns the cache key for a Class843 returns the cache key for an ActiveRecord::Relation844MattermostService845 behaves like slack or mattermost notifications846 Associations847 is expected to belong to project required:848 is expected to have one service_hook849 Validations850 when service is active851 is expected to validate that :webhook cannot be empty/falsy852 behaves like issue tracker service URL attribute853 is expected to allow :webhook to be ‹"https://example.com"›854 is expected not to allow :webhook to be ‹"example.com"›855 is expected not to allow :webhook to be ‹"ftp://example.com"›856 is expected not to allow :webhook to be ‹"herp-and-derp"›857 when service is inactive858 is expected not to validate that :webhook cannot be empty/falsy859 #execute860 calls Mattermost API for push events861 calls Mattermost API for issue events862 calls Mattermost API for merge requests events863 calls Mattermost API for wiki page events864 calls Mattermost API for deployment events865 uses the username as an option for slack when configured866 uses the channel as an option when it is configured867 event channels868 uses the right channel for push event869 uses the right channel for merge request event870 uses the right channel for issue event871 uses the right channel for wiki event872 for confidential issues873 uses confidential issue channel874 falls back to issue channel875 note event876 uses the right channel877 for confidential notes878 uses confidential channel879 falls back to note channel880 Push events881 on default branch882 pushing tags883 behaves like triggered Mattermost service884 notifies about push events885 notification enabled only for default branch886 behaves like triggered Mattermost service887 notifies about push events888 notification enabled only for protected branches889 behaves like untriggered Mattermost service890 notifies about push events891 notification enabled only for default and protected branches892 behaves like triggered Mattermost service893 notifies about push events894 notification enabled for all branches895 behaves like triggered Mattermost service896 notifies about push events897 on a protected branch898 pushing tags899 behaves like triggered Mattermost service900 notifies about push events901 notification enabled only for default branch902 behaves like untriggered Mattermost service903 notifies about push events904 notification enabled only for protected branches905 behaves like triggered Mattermost service906 notifies about push events907 notification enabled only for default and protected branches908 behaves like triggered Mattermost service909 notifies about push events910 notification enabled for all branches911 behaves like triggered Mattermost service912 notifies about push events913 on a protected branch with protected branches defined using wildcards914 pushing tags915 behaves like triggered Mattermost service916 notifies about push events917 notification enabled only for default branch918 behaves like untriggered Mattermost service919 notifies about push events920 notification enabled only for protected branches921 behaves like triggered Mattermost service922 notifies about push events923 notification enabled only for default and protected branches924 behaves like triggered Mattermost service925 notifies about push events926 notification enabled for all branches927 behaves like triggered Mattermost service928 notifies about push events929 on a neither protected nor default branch930 pushing tags931 behaves like triggered Mattermost service932 notifies about push events933 notification enabled only for default branch934 behaves like untriggered Mattermost service935 notifies about push events936 notification enabled only for protected branches937 behaves like untriggered Mattermost service938 notifies about push events939 notification enabled only for default and protected branches940 behaves like untriggered Mattermost service941 notifies about push events942 notification enabled for all branches943 behaves like triggered Mattermost service944 notifies about push events945 Note events946 when commit comment event executed947 behaves like triggered Mattermost service948 notifies about commit comment events949 when merge request comment event executed950 behaves like triggered Mattermost service951 notifies about merge request comment events952 when issue comment event executed953 behaves like triggered Mattermost service954 notifies about issue comment events955 when snippet comment event executed956 behaves like triggered Mattermost service957 notifies about snippet comment events958 Pipeline events959 with succeeded pipeline960 with default to notify_only_broken_pipelines961 behaves like untriggered Mattermost service962 notifies about pipeline events963 with setting notify_only_broken_pipelines to false964 behaves like triggered Mattermost service965 notifies about pipeline events966 with failed pipeline967 on default branch968 notification enabled only for default branch969 behaves like triggered Mattermost service970 notifies about pipeline events971 notification enabled only for protected branches972 behaves like untriggered Mattermost service973 notifies about pipeline events974 notification enabled only for default and protected branches975 behaves like triggered Mattermost service976 notifies about pipeline events977 notification enabled for all branches978 behaves like triggered Mattermost service979 notifies about pipeline events980 on a protected branch981 notification enabled only for default branch982 behaves like untriggered Mattermost service983 notifies about pipeline events984 notification enabled only for protected branches985 behaves like triggered Mattermost service986 notifies about pipeline events987 notification enabled only for default and protected branches988 behaves like triggered Mattermost service989 notifies about pipeline events990 notification enabled for all branches991 behaves like triggered Mattermost service992 notifies about pipeline events993 on a protected branch with protected branches defined usin wildcards994 notification enabled only for default branch995 behaves like untriggered Mattermost service996 notifies about pipeline events997 notification enabled only for protected branches998 behaves like triggered Mattermost service999 notifies about pipeline events1000 notification enabled only for default and protected branches1001 behaves like triggered Mattermost service1002 notifies about pipeline events1003 notification enabled for all branches1004 behaves like triggered Mattermost service1005 notifies about pipeline events1006 on a neither protected nor default branch1007 notification enabled only for default branch1008 behaves like untriggered Mattermost service1009 notifies about pipeline events1010 notification enabled only for protected branches1011 behaves like untriggered Mattermost service1012 notifies about pipeline events1013 notification enabled only for default and protected branches1014 behaves like untriggered Mattermost service1015 notifies about pipeline events1016 notification enabled for all branches1017 behaves like triggered Mattermost service1018 notifies about pipeline events1019GroupsHelper1020 group_icon_url1021 returns an url for the avatar1022 gives default avatar_icon when no avatar is present1023 group_lfs_status1024 only one project in group1025 returns all projects as enabled1026 returns all projects as disabled1027 more than one project in group1028 LFS enabled in group1029 returns both projects as enabled1030 returns only one as enabled1031 LFS disabled in group1032 returns both projects as disabled1033 returns only one as disabled1034 group_title1035 outputs the groups in the correct order1036 #share_with_group_lock_help_text1037 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil1038 has the correct help text with correct ancestor links1039 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil1040 has the correct help text with correct ancestor links1041 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil1042 has the correct help text with correct ancestor links1043 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil1044 has the correct help text with correct ancestor links1045 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil1046 has the correct help text with correct ancestor links1047 root_share_with_group_locked: false, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil1048 has the correct help text with correct ancestor links1049 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup1050 has the correct help text with correct ancestor links1051 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup1052 has the correct help text with correct ancestor links1053 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :subgroup1054 has the correct help text with correct ancestor links1055 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup1056 has the correct help text with correct ancestor links1057 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :subgroup1058 has the correct help text with correct ancestor links1059 root_share_with_group_locked: false, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :subgroup1060 has the correct help text with correct ancestor links1061 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil1062 has the correct help text with correct ancestor links1063 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil1064 has the correct help text with correct ancestor links1065 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil1066 has the correct help text with correct ancestor links1067 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :default_help, linked_ancestor: nil1068 has the correct help text with correct ancestor links1069 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :default_help, linked_ancestor: nil1070 has the correct help text with correct ancestor links1071 root_share_with_group_locked: true, subgroup_share_with_group_locked: false, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :default_help, linked_ancestor: nil1072 has the correct help text with correct ancestor links1073 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :root_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group1074 has the correct help text with correct ancestor links1075 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group1076 has the correct help text with correct ancestor links1077 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: false, current_user: :sub_sub_owner, help_text: :ancestor_locked_and_has_been_overridden, linked_ancestor: :root_group1078 has the correct help text with correct ancestor links1079 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :root_owner, help_text: :ancestor_locked_but_you_can_override, linked_ancestor: :root_group1080 has the correct help text with correct ancestor links1081 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group1082 has the correct help text with correct ancestor links1083 root_share_with_group_locked: true, subgroup_share_with_group_locked: true, sub_subgroup_share_with_group_locked: true, current_user: :sub_sub_owner, help_text: :ancestor_locked_so_ask_the_owner, linked_ancestor: :root_group1084 has the correct help text with correct ancestor links1085 #group_container_registry_nav1086 when container registry is enabled1087 is expected to be truthy1088 is disabled for guest1089 when container registry is not enabled1090 is expected to be falsy1091 is disabled for guests1092 #group_sidebar_links1093 returns all the expected links1094 includes settings when the user can admin the group1095 excludes cross project features when the user cannot read cross project1096 parent_group_options1097 includes explicitly owned groups except self1098 excludes parent group1099 includes subgroups with inherited ownership1100 excludes own subgroups1101 #can_disable_group_emails?1102 returns true for the group owner1103 returns false for anyone else1104 when subgroups1105 returns false if parent group is disabling emails1106 returns true if parent group is not disabling emails1107 #can_update_default_branch_protection?1108 for users who can update default branch protection of the group1109 is expected to be truthy1110 for users who cannot update default branch protection of the group1111 is expected to be falsey1112Gitlab::UserAccess1113 #can_push_to_branch?1114 push to none protected branch1115 returns true if user is a maintainer1116 returns true if user is a developer1117 returns false if user is a reporter1118 push to branch in an internal project1119 will not infinitely loop when a project is internal1120 push to empty project1121 returns true for admins1122 returns true if user is maintainer1123 when the user is a developer1124 default_branch_protection_level: 0, result: true1125 is expected to eq true1126 default_branch_protection_level: 1, result: true1127 is expected to eq true1128 default_branch_protection_level: 3, result: false1129 is expected to eq false1130 default_branch_protection_level: 2, result: false1131 is expected to eq false1132 push to protected branch1133 returns true for admins1134 returns true if user is a maintainer1135 returns false if user is a developer1136 returns false if user is a reporter1137 returns false if branch does not exist1138 push to protected branch if allowed for developers1139 returns true if user is a maintainer1140 returns true if user is a developer1141 returns false if user is a reporter1142 allowing pushes to maintainers of forked projects1143 allows users that have push access to the canonical project to push to the MR branch1144 does not allow the user to push to other branches1145 does not allow the user to push if they do not have push access to the canonical project1146 merge to protected branch if allowed for developers1147 returns true if user is a maintainer1148 returns true if user is a developer1149 returns false if user is a reporter1150 #can_create_tag?1151 push to none protected tag1152 returns true if user is a maintainer1153 returns true if user is a developer1154 returns false if user is a reporter1155 push to protected tag1156 returns true if user is a maintainer1157 returns false if user is a developer1158 returns false if user is a reporter1159 push to protected tag if allowed for developers1160 returns true if user is a maintainer1161 returns true if user is a developer1162 returns false if user is a reporter1163 #can_delete_branch?1164 delete unprotected branch1165 returns true if user is a maintainer1166 returns true if user is a developer1167 returns false if user is a reporter1168 delete protected branch1169 returns true if user is a maintainer1170 returns false if user is a developer1171 returns false if user is a reporter1172Clusters::ClusterPresenter1173 inherits from Gitlab::View::Presenter::Delegated1174 #initialize1175 takes a cluster and optional params1176 exposes cluster1177 forwards missing methods to cluster1178 #item_link1179 for a group cluster1180 for a project clusterable1181 returns the group name and the link for cluster1182 is html safe1183 ancestor clusters1184 top level group cluster1185 returns full group names and link for cluster1186 is html safe1187 first level group cluster1188 returns full group names and link for cluster1189 is html safe1190 second level group cluster1191 returns clipped group names and link for cluster1192 is html safe1193 for the group clusterable for the cluster1194 returns link for cluster1195 is html safe1196 ancestor clusters1197 top level group cluster1198 returns full group names and link for cluster1199 is html safe1200 first level group cluster1201 returns full group names and link for cluster1202 is html safe1203 second level group cluster1204 returns clipped group names and link for cluster1205 is html safe1206 for a project cluster1207 for the project clusterable1208 returns link for cluster1209 #provider_label1210 AWS provider1211 is expected to eq "Elastic Kubernetes Service"1212 GCP provider1213 is expected to eq "Google Kubernetes Engine"1214 #provider_management_url1215 AWS provider1216 is expected to include "us-east-1"1217 is expected to include "test-cluster"1218 GCP provider1219 is expected to include "us-central1-a"1220 is expected to include "test-cluster"1221 #cluster_type_description1222 project_type cluster1223 is expected to eq "Project cluster"1224 group_type cluster1225 is expected to eq "Group cluster"1226 instance_type cluster1227 is expected to eq "Instance cluster"1228 #show_path1229 project_type cluster1230 is expected to eq "/namespace495/project501/-/clusters/44"1231 group_type cluster1232 is expected to eq "/groups/group103/-/clusters/47"1233 instance_type cluster1234 is expected to eq "/admin/clusters/50"1235 #read_only_kubernetes_platform_fields?1236 with a user-provided cluster1237 is expected to be falsy1238 with a GCP-provided cluster1239 is expected to be truthy1240 #health_data1241 with project cluster1242 behaves like cluster health data1243 is expected to include {:"clusters-path" => "/namespace496/project502/-/clusters", :"dashboard-endpoint" => "/namespace496/project502/-/clusters/53/metrics_dashboard", :"documentation-path" => "/help/user/project/clusters/index#monitoring-your-kubernetes-cluster-ultimate", :"add-dashboard-documentation-path" => "/help/operations/metrics/dashboards/index.md#add-a-new-dashboard-to-your-project", :"empty-getting-started-svg-path" => (match asset path "/assets/illustrations/monitoring/getting_started.svg"), :"empty-loading-svg-path" => (match asset path "/assets/illustrations/monitoring/loading.svg"), :"empty-no-data-svg-path" => (match asset path "/assets/illustrations/monitoring/no_data.svg"), :"empty-no-data-small-svg-path" => (match asset path "illustrations/chart-empty-state-small.svg"), :"empty-unable-to-connect-svg-path" => (match asset path "/assets/illustrations/monitoring/unable_to_connect.svg"), :"settings-path" => "", :"project-path" => "", :"tags-path" => ""}1244 with group cluster1245 behaves like cluster health data1246 is expected to include {:"clusters-path" => "/groups/group104/-/clusters", :"dashboard-endpoint" => "/groups/group104/-/clusters/56/metrics_dashboard", :"documentation-path" => "/help/user/project/clusters/index#monitoring-your-kubernetes-cluster-ultimate", :"add-dashboard-documentation-path" => "/help/operations/metrics/dashboards/index.md#add-a-new-dashboard-to-your-project", :"empty-getting-started-svg-path" => (match asset path "/assets/illustrations/monitoring/getting_started.svg"), :"empty-loading-svg-path" => (match asset path "/assets/illustrations/monitoring/loading.svg"), :"empty-no-data-svg-path" => (match asset path "/assets/illustrations/monitoring/no_data.svg"), :"empty-no-data-small-svg-path" => (match asset path "illustrations/chart-empty-state-small.svg"), :"empty-unable-to-connect-svg-path" => (match asset path "/assets/illustrations/monitoring/unable_to_connect.svg"), :"settings-path" => "", :"project-path" => "", :"tags-path" => ""}1247 #gitlab_managed_apps_logs_path1248 user can read logs1249 returns path to logs1250 cluster has elastic stack application installed1251 returns path to logs1252 group cluster1253 user can read logs1254 there are projects within group1255 returns path to logs1256 there are no projects within group1257 returns nil1258 instance cluster1259 user can read logs1260 returns path to logs1261 user can NOT read logs1262 returns nil1263PrometheusService1264 Associations1265 is expected to belong to project required:1266 redirects1267 does not follow redirects1268 Validations1269 when manual_configuration is enabled1270 validates presence of api_url1271 when manual configuration is disabled1272 does not validate presence of api_url1273 local connections allowed1274 does not validate presence of api_url1275 when the api_url domain points to localhost or local network1276 cannot query1277 can query when local requests are allowed1278 with self-monitoring project and internal Prometheus1279 allows self-monitoring project to connect to internal Prometheus1280 does not allow self-monitoring project to connect to other local URLs1281 callbacks1282 after_create1283 creates default alerts1284 no project exists1285 does not create default alerts1286 #test1287 success1288 reads the discovery endpoint1289 failure1290 fails to read the discovery endpoint1291 #prometheus_client1292 manual configuration is enabled1293 calls valid?1294 manual configuration is disabled1295 no client provided1296 when local requests are allowed1297 allows local requests1298 when local requests are blocked1299 blocks local requests1300 with self monitoring project and internal Prometheus URL1301 allows local requests1302 behind IAP1303 includes the authorization header1304 #prometheus_available?1305 clusters with installed prometheus1306 cluster belongs to project1307 returns true1308 cluster belongs to projects group1309 returns true1310 avoids N+1 queries1311 cluster belongs to gitlab instance1312 returns true1313 clusters with updated prometheus1314 returns true1315 clusters without prometheus installed1316 returns false1317 clusters without prometheus1318 returns false1319 no clusters1320 returns false1321 #synchronize_service_state before_save callback1322 no clusters with prometheus are installed1323 when service is inactive1324 activates service when manual_configuration is enabled1325 keeps service inactive when manual_configuration is disabled1326 when service is active1327 keeps the service active when manual_configuration is enabled1328 inactivates the service when manual_configuration is disabled1329 with prometheus installed in the cluster1330 when service is inactive1331 activates service when manual_configuration is enabled1332 activates service when manual_configuration is disabled1333 when service is active1334 keeps service active when manual_configuration is enabled1335 keeps service active when manual_configuration is disabled1336 #track_events after_commit callback1337 enabling manual_configuration1338 tracks enable event1339 tracks disable event1340 #editable?1341 is editable1342 when cluster exists with prometheus installed1343 remains editable1344 #fields1345 returns fields1346Ci::Runner1347 behaves like having unique enum values1348 has unique values in "access_level"1349 has unique values in "runner_type"1350 validation1351 is expected to validate that :access_level cannot be empty/falsy1352 is expected to validate that :runner_type cannot be empty/falsy1353 when runner is not allowed to pick untagged jobs1354 when runner does not have tags1355 is not valid1356 when runner has tags1357 is valid1358 #exactly_one_group1359 disallows assigning group if already assigned to a group1360 runner_type validations1361 disallows assigning group to project_type runner1362 disallows assigning group to instance_type runner1363 disallows assigning project to group_type runner1364 disallows assigning project to instance_type runner1365 fails to save a group assigned to a project runner even if the runner is already saved1366 cost factors validations1367 dissalows :private_projects_minutes_cost_factor being nil1368 dissalows :public_projects_minutes_cost_factor being nil1369 dissalows :private_projects_minutes_cost_factor being negative1370 dissalows :public_projects_minutes_cost_factor being negative1371 constraints1372 .UPDATE_CONTACT_COLUMN_EVERY1373 #access_level1374 when creating new runner and access_level is nil1375 object is invalid1376 when creating new runner and access_level is defined in enum1377 object is valid1378 when creating new runner and access_level is not defined in enum1379 raises an error1380 .instance_type1381 returns only shared runners1382 .belonging_to_project1383 returns the specific project runner1384 .belonging_to_parent_group_of_project1385 returns the specific group runner1386 with a parent group with a runner1387 returns the group runner from the parent group1388 .owned_or_instance_wide1389 returns a globally shared, a project specific and a group specific runner1390 #display_name1391 returns the description if it has a value1392 returns the token if it does not have a description1393 returns the token if the description is an empty string1394 #assign_to1395 with shared_runner1396 transitions shared runner to project runner and assigns project1397 with group runner1398 raises an error1399 .online1400 is expected to eq [#<Ci::Runner id: 23, token: nil, created_at: "2020-08-29 16:42:08", updated_at: "2020-08-29 16:42:08...public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>]1401 #online?1402 no cache value1403 never contacted1404 is expected to be falsey1405 contacted long time ago time1406 is expected to be falsey1407 contacted 1s ago1408 is expected to be truthy1409 with cache value1410 contacted long time ago time1411 is expected to be falsey1412 contacted 1s ago1413 is expected to be truthy1414 .offline1415 is expected to eq [#<Ci::Runner id: 29, token: nil, created_at: "2020-08-29 16:42:09", updated_at: "2020-08-29 16:42:09...public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>]1416 #can_pick?1417 a different runner1418 cannot handle builds1419 when runner does not have tags1420 can handle builds without tags1421 cannot handle build with tags1422 when runner has tags1423 when runner can pick untagged jobs1424 can handle builds without tags1425 behaves like tagged build picker1426 can handle build with matching tags1427 cannot handle build without matching tags1428 when runner cannot pick untagged jobs1429 cannot handle builds without tags1430 behaves like tagged build picker1431 can handle build with matching tags1432 cannot handle build without matching tags1433 when runner is shared1434 can handle builds1435 when runner is locked1436 can handle builds1437 when runner is not shared1438 when runner is assigned to a project1439 can handle builds1440 when runner is assigned to another project1441 cannot handle builds1442 when runner is assigned to a group1443 can handle builds1444 when access_level of runner is not_protected1445 when build is protected1446 is expected to be truthy1447 when build is unprotected1448 is expected to be truthy1449 when access_level of runner is ref_protected1450 when build is protected1451 is expected to be truthy1452 when build is unprotected1453 is expected to be falsey1454 #status1455 never connected1456 is expected to eq :not_connected1457 contacted 1s ago1458 is expected to eq :online1459 contacted long time ago1460 is expected to eq :offline1461 inactive1462 is expected to eq :paused1463 #tick_runner_queue1464 returns a new last_update value1465 #ensure_runner_queue_value1466 sets a new last_update value when it is called the first time1467 does not change if it is not expired and called again1468 updates runner queue after changing editable value1469 sets a new last_update value1470 does not update runner value after save1471 has an old last_update value1472 #heartbeat1473 when database was updated recently1474 updates cache1475 when database was not updated recently1476 updates redis cache and database1477 with invalid runner1478 still updates redis cache and database1479 #destroy1480 when there is a tick in the queue1481 cleans up the queue1482 .assignable_for1483 with already assigned project1484 is expected to be empty1485 with a different project1486 is expected to include #<Ci::Runner id: 66, token: nil, created_at: "2020-08-29 16:42:15", updated_at: "2020-08-29 16:42:15"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1487 is expected not to include #<Ci::Runner id: 72, token: nil, created_at: "2020-08-29 16:42:16", updated_at: "2020-08-29 16:42:16"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1488 is expected not to include #<Ci::Runner id: 75, token: nil, created_at: "2020-08-29 16:42:16", updated_at: "2020-08-29 16:42:16"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1489 is expected not to include #<Ci::Runner id: 81, token: nil, created_at: "2020-08-29 16:42:17", updated_at: "2020-08-29 16:42:17"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1490 belongs_to_one_project?1491 returns false if there are two projects runner assigned to1492 returns true1493 #belongs_to_more_than_one_project?1494 project runner1495 two projects assigned to runner1496 returns true1497 one project assigned to runner1498 returns false1499 group runner1500 returns false1501 shared runner1502 returns false1503 #has_tags?1504 when runner has tags1505 is expected to have tags1506 when runner does not have tags1507 is expected not to have tags1508 .search1509 returns runners with a matching token1510 returns runners with a partially matching token1511 returns runners with a matching token regardless of the casing1512 returns runners with a matching description1513 returns runners with a partially matching description1514 returns runners with a matching description regardless of the casing1515 #assigned_to_group?1516 when project runner1517 is expected to be falsey1518 when shared runner1519 is expected to be falsey1520 when group runner1521 is expected to be truthy1522 #assigned_to_project?1523 when group runner1524 is expected to be falsey1525 when shared runner1526 is expected to be falsey1527 when project runner1528 is expected to be truthy1529 #pick_build!1530 runner can pick the build1531 calls #tick_runner_queue1532 runner cannot pick the build1533 does not call #tick_runner_queue1534 project runner without projects is destroyable1535 does not have projects1536 can be destroyed1537 .order_by1538 supports ordering by the contact date1539 supports ordering by the creation date1540 #uncached_contacted_at1541 is expected to eq 2020-08-29 15:42:21.000000000 +00001542 .belonging_to_group1543 returns the specific group runner1544 runner belonging to parent group1545 when include_parent option is passed1546 returns the group runner from the parent group1547 when include_parent option is not passed1548 does not return the group runner from the parent group1549MergeRequestDiffCommit1550 behaves like a BulkInsertSafe model1551 when calling class methods directly1552 raises an error when method is not bulk-insert safe1553 does not raise an error when method is bulk-insert safe1554 does not raise an error when the call is triggered by belongs_to1555 .bulk_insert!1556 when all items are valid1557 inserts them all1558 returns an empty array1559 when some items are invalid1560 does not insert any of them and raises an error1561 inserts them anyway when bypassing validations1562 #to_hash1563 returns the same results as Commit#to_hash, except for parent_ids1564 .create_bulk1565 inserts the commits into the database en masse1566 with dates larger than the DB limit1567 uses a sanitized date1568Groups::UpdateService1569 #execute1570 with project1571 behaves like with packages1572 with npm packages1573DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1574 does not allow a path update1575 allows name update1576 located in a subgroup1577DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1578 does allow a path update if there is not a root namespace change1579 behaves like with packages1580 with npm packages1581DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1582 does not allow a path update1583 allows name update1584 project visibility_level validation1585 public group with public projects1586 does not change permission level1587 returns false if save failed1588 when a project has container images1589 within group1590 with path updates1591DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1592 does not allow the update1593 with name updates1594 allows the update1595 within subgroup1596DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1597 does not allow path updates1598 internal group with internal project1599 does not change permission level1600 internal group with private project1601 changes permission level to private1602 with parent_id user doesn't have permissions for1603 does not update parent_id1604 unauthorized visibility_level validation1605 does not change permission level1606 when updating #emails_disabled1607 updates the attribute1608 does not update when not group owner1609 updating default_branch_protection1610 for users who have the ability to update default_branch_protection1611 updates the attribute1612 for users who do not have the ability to update default_branch_protection1613 does not update the attribute1614 rename group1615DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1616 returns true1617 error moving group1618DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1619 does not raise an error1620DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1621 returns false1622DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1623 has the right error1624DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)1625 hasn't changed the path1626 for a subgroup1627 when the parent group share_with_group_lock is enabled1628 for the parent group owner1629 allows disabling share_with_group_lock1630 for a subgroup owner (who does not own the parent)1631 does not allow disabling share_with_group_lock1632Avatarable1633 #update1634 when avatar changed1635 validates the file size1636 when avatar was not changed1637 skips validation of file size1638 #avatar_path1639 with caching enabled1640 only calls local_url once1641 calls local_url twice for path and URLs1642 calls local_url twice for different sizes1643 handles unpersisted objects1644 has_asset_host: true, visibility_level: 0, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1645 returns the expected avatar path1646 returns the expected avatar path with width parameter1647 when avatar is stored remotely1648 returns the expected avatar path1649 has_asset_host: true, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1650 returns the expected avatar path1651 returns the expected avatar path with width parameter1652 when avatar is stored remotely1653 returns the expected avatar path1654 has_asset_host: true, visibility_level: 10, only_path: true, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1655 returns the expected avatar path1656 returns the expected avatar path with width parameter1657 when avatar is stored remotely1658 returns the expected avatar path1659 has_asset_host: true, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1660 returns the expected avatar path1661 returns the expected avatar path with width parameter1662 when avatar is stored remotely1663 returns the expected avatar path1664 has_asset_host: true, visibility_level: 20, only_path: true, avatar_path_prefix: []1665 returns the expected avatar path1666 returns the expected avatar path with width parameter1667 when avatar is stored remotely1668 returns the expected avatar path1669 has_asset_host: true, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab-assets.example.com"]1670 returns the expected avatar path1671 returns the expected avatar path with width parameter1672 when avatar is stored remotely1673 returns the expected avatar path1674 has_asset_host: false, visibility_level: 0, only_path: true, avatar_path_prefix: ["/gitlab"]1675 returns the expected avatar path1676 returns the expected avatar path with width parameter1677 when avatar is stored remotely1678 returns the expected avatar path1679 has_asset_host: false, visibility_level: 0, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1680 returns the expected avatar path1681 returns the expected avatar path with width parameter1682 when avatar is stored remotely1683 returns the expected avatar path1684 has_asset_host: false, visibility_level: 10, only_path: true, avatar_path_prefix: ["/gitlab"]1685 returns the expected avatar path1686 returns the expected avatar path with width parameter1687 when avatar is stored remotely1688 returns the expected avatar path1689 has_asset_host: false, visibility_level: 10, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1690 returns the expected avatar path1691 returns the expected avatar path with width parameter1692 when avatar is stored remotely1693 returns the expected avatar path1694 has_asset_host: false, visibility_level: 20, only_path: true, avatar_path_prefix: ["/gitlab"]1695 returns the expected avatar path1696 returns the expected avatar path with width parameter1697 when avatar is stored remotely1698 returns the expected avatar path1699 has_asset_host: false, visibility_level: 20, only_path: false, avatar_path_prefix: ["https://gitlab.example.com", "/gitlab"]1700 returns the expected avatar path1701 returns the expected avatar path with width parameter1702 when avatar is stored remotely1703 returns the expected avatar path1704Gitlab::ImportExport::ImportFailureService1705 #log_import_failure1706 when importable is a group1707 behaves like log import failure1708 tracks error1709 saves data to ImportFailure1710 when importable is a project1711 behaves like log import failure1712 tracks error1713 saves data to ImportFailure1714 when ImportFailure does not support importable class1715 raise exception1716 #with_retry1717 when exceptions are retriable1718 exception: GRPC::DeadlineExceeded1719 when retry succeeds1720 retries and logs import failure once with correct params1721 when retry continues to fail with intermittent errors1722 retries the number of times allowed and raise exception1723 logs import failure each time and raise exception1724 exception: ActiveRecord::QueryCanceled1725 when retry succeeds1726 retries and logs import failure once with correct params1727 when retry continues to fail with intermittent errors1728 retries the number of times allowed and raise exception1729 logs import failure each time and raise exception1730 when exception is not retriable1731 raise the exception1732MergeRequests::AddTodoWhenBuildFailsService1733 #execute1734 commit status with ref1735 notifies the todo service1736 commit status with non-HEAD ref1737 does not notify the todo service1738 commit status without ref1739 does not notify the todo service1740 when commit status is a build allowed to fail1741 does not create todo1742 when build belongs to a merge request pipeline1743 notifies the todo service1744 #close1745 commit status with ref1746 notifies the todo service1747 commit status with non-HEAD ref1748 does not notify the todo service1749 commit status without ref1750 does not notify the todo service1751 when build belongs to a merge request pipeline1752 notifies the todo service1753 #close_all1754 when using pipeline that belongs to merge request1755 resolves todos about failed builds for pipeline1756 when pipeline is not related to merge request1757 does not resolve any todos about failed builds1758Gitlab::DataBuilder::Push1759 .build1760 with changed files1761 returns commit hook data1762 without changed files1763 returns commit hook data without include deltas1764 .build_sample1765 is expected to be a kind of Hash1766 is expected to eq "1b12f15a11fc6e62177bef08f47bc7b5ce50b141"1767 is expected to eq "b83d6e391c22777fca1ed3012fce84f633d7fed0"1768 is expected to eq "refs/heads/master"1769 is expected to eq 31770 is expected to eq 31771 is expected to eq ["bar/branch-test.txt"]1772 is expected to eq []1773 is expected to eq []1774 contains project data1775 contains deprecated repository data1776 .sample_data1777 is expected to be a kind of Hash1778 is expected to eq "95790bf891e76fee5e1747ab589903a6a1f80f22"1779 is expected to eq "da1560886d4f094c3e6c9ef40349f7d38b5d27d7"1780 is expected to eq "refs/heads/master"1781 is expected to eq 151782 is expected to eq 11783 is expected to eq 11784 contains project data1785 .build1786 is expected to be a kind of Hash1787 is expected to eq "0000000000000000000000000000000000000000"1788 is expected to eq "5937ac0a7beb003549fc5fd26fc247adbce4a52e"1789 is expected to eq "8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b"1790 is expected to eq "refs/tags/v1.1.0"1791 is expected to eq nil1792 is expected to eq "John Doe1453"1793 is expected to eq "user1408"1794 is expected to eq "public-email@example.com"1795 is expected to eq "https://www.gravatar.com/avatar/3309ec4d415f0c0004f02114c3393527?s=80&d=identicon"1796 is expected to eq 7391797 is expected to be a kind of Hash1798 is expected to be empty1799 is expected to be zero1800 contains project data1801 contains deprecated repository data1802 does not raise an error when given nil commits1803 .build_bulk1804 is expected to eq {:action=>:created, :ref_count=>2, :ref_type=>:branch}1805BuildkiteService1806 Associations1807 is expected to belong to project required:1808 is expected to have one service_hook1809 Validations1810 when service is active1811 is expected to validate that :project_url cannot be empty/falsy1812 is expected to validate that :token cannot be empty/falsy1813 behaves like issue tracker service URL attribute1814 is expected to allow :project_url to be ‹"https://example.com"›1815 is expected not to allow :project_url to be ‹"example.com"›1816 is expected not to allow :project_url to be ‹"ftp://example.com"›1817 is expected not to allow :project_url to be ‹"herp-and-derp"›1818 when service is inactive1819 is expected not to validate that :project_url cannot be empty/falsy1820 is expected not to validate that :token cannot be empty/falsy1821 .supported_events1822 supports push, merge_request, and tag_push events1823 commits methods1824 always activates SSL verification after saved1825 #webhook_url1826 returns the webhook url1827 #commit_status_path1828 returns the correct status page1829 #build_page1830 returns the correct build page1831 #commit_status1832 returns the contents of the reactive cache1833 #calculate_reactive_cache1834 #commit_status1835 sets commit status to :error when status is 5001836 sets commit status to :error when status is 4041837 passes through build status untouched when status is 2001838 sets commit status to :error with a Net::OpenTimeout error1839 sets commit status to :error with a Net::ReadTimeout error1840 sets commit status to :error with a Net::WriteTimeout error1841 sets commit status to :error with a SocketError error1842 sets commit status to :error with a OpenSSL::SSL::SSLError error1843 sets commit status to :error with a OpenSSL::OpenSSLError error1844 sets commit status to :error with a Errno::ECONNRESET error1845 sets commit status to :error with a Errno::ECONNREFUSED error1846 sets commit status to :error with a Errno::EHOSTUNREACH error1847 sets commit status to :error with a Gitlab::HTTP::BlockedUrlError error1848 sets commit status to :error with a Gitlab::HTTP::RedirectionTooDeep error1849Gitlab::GoogleCodeImport::Importer1850 #execute1851 imports status labels1852 imports labels1853 imports issues1854 imports issue comments1855Wikis::CreateAttachmentService1856 initialization1857 author commit info1858 does not raise error if user is nil1859 when no author info provided1860 fills author_email and author_name from current_user info1861 when author info provided1862 fills author_email and author_name from params1863 commit message1864 when no commit message provided1865 sets a default commit message1866 when commit message provided1867 use the commit message from params1868 branch name1869 when no branch provided1870 sets the branch from the wiki default_branch1871 when branch provided1872 use the commit message from params1873 #parse_file_name1874 when file_name1875 has white spaces1876 replaces all of them with '_'1877 has other invalid characters1878 replaces all of them with '_'1879 is not present1880 returns error1881 length1882 is bigger than 2551883 truncates file name1884 is less or equal to 255 does not return error1885 does not return error1886 when user1887 does not have permission1888 behaves like wiki attachment user validations1889 returns error1890 is nil1891 behaves like wiki attachment user validations1892 returns error1893 behaves like Wikis::CreateAttachmentService#execute1894 adds file to the repository1895 creates branch if it does not exists1896 is expected to eq "new_branch"1897 returns1898 returns related information1899MergeRequests::Conflicts::ResolveService1900 #execute1901 with section params1902 when the source and target project are the same1903 creates a commit with the message1904 creates a commit with the correct parents1905 when some files have trailing newlines1906 preserves trailing newlines from our side of the conflicts1907 when the source project is a fork and does not contain the HEAD of the target branch1908 creates a commit with the message1909 creates a commit with the correct parents1910 with content and sections params1911 creates a commit with the message1912 creates a commit with the correct parents1913 sets the content to the content given1914 when a resolution section is missing1915 raises a ResolutionError error1916 when the content of a file is unchanged1917 raises a ResolutionError error1918 when a file is missing1919 raises a ResolutionError error1920IssueEntity1921 has Issuable attributes1922 has time estimation attributes1923 when issue got moved1924 when user cannot read target project1925 does not return moved_to_id1926 when user can read target project1927 returns moved moved_to_id1928 when issue got duplicated1929 when user cannot read new issue1930 does not return duplicated_to_id1931 when user can read target project1932 returns duplicated duplicated_to_id1933 when issuable in active or archived project1934 when project is active1935 returns archived false1936 returns nil for archived project doc1937 when project is archived1938 returns archived true1939 returns archived project doc1940Boards::Lists::CreateService1941 #execute1942 when board parent is a project1943 behaves like creating board lists1944 when board lists is empty1945 creates a new list at beginning of the list1946 when board lists has the done list1947 creates a new list at beginning of the list1948 when board lists has labels lists1949 creates a new list at end of the lists1950 when board lists has label and done lists1951 creates a new list at end of the label lists1952 when provided label does not belongs to the parent1953 raises an error1954 when backlog param is sent1955 creates one and only one backlog list1956 when board parent is a group1957 behaves like creating board lists1958 when board lists is empty1959 creates a new list at beginning of the list1960 when board lists has the done list1961 creates a new list at beginning of the list1962 when board lists has labels lists1963 creates a new list at end of the lists1964 when board lists has label and done lists1965 creates a new list at end of the label lists1966 when provided label does not belongs to the parent1967 raises an error1968 when backlog param is sent1969 creates one and only one backlog list1970Gitlab::Ci::Build::Image1971 #from_image1972 when image is defined in job1973 when image is defined as string1974 fabricates an object of the proper class1975 populates fabricated object with the proper name attribute1976 does not populate the ports1977 when image is defined as hash1978 fabricates an object of the proper class1979 populates fabricated object with the proper attributes1980 populates the ports1981 when image name is empty1982 does not fabricate an object1983 when image is not defined in job1984 does not fabricate an object1985 #from_services1986 when services are defined in job1987 when service is defined as string1988 fabricates an non-empty array of objects1989 populates fabricated objects with the proper name attributes1990 does not populate the ports1991 when service is defined as hash1992 fabricates an non-empty array of objects1993 populates fabricated objects with the proper attributes1994 when service image name is empty1995 fabricates an empty array1996 when services are not defined in job1997 fabricates an empty array1998ProjectSnippetPolicy1999 public snippet2000 no user2001 is expected not to be allowed :admin_snippet2002 regular user2003 is expected not to be allowed :admin_snippet2004 behaves like regular user access rights2005 not snippet author2006 project team member (non guest)2007 is expected not to be allowed :admin_snippet2008 project team member (guest)2009 is expected not to be allowed :admin_snippet2010 project team member (maintainer)2011 is expected to be allowed :admin_snippet2012 snippet author2013 project member (non guest)2014 is expected to be allowed :admin_snippet2015 project member (guest)2016 is expected not to be allowed :admin_snippet2017 project team member (maintainer)2018 is expected to be allowed :admin_snippet2019 not a project member2020 is expected not to be allowed :admin_snippet2021 external user2022 is expected not to be allowed :admin_snippet2023 project team member2024 is expected not to be allowed :admin_snippet2025 internal snippet2026 no user2027 is expected not to be allowed :admin_snippet2028 regular user2029 is expected not to be allowed :admin_snippet2030 behaves like regular user access rights2031 not snippet author2032 project team member (non guest)2033 is expected not to be allowed :admin_snippet2034 project team member (guest)2035 is expected not to be allowed :admin_snippet2036 project team member (maintainer)2037 is expected to be allowed :admin_snippet2038 snippet author2039 project member (non guest)2040 is expected to be allowed :admin_snippet2041 project member (guest)2042 is expected not to be allowed :admin_snippet2043 project team member (maintainer)2044 is expected to be allowed :admin_snippet2045 not a project member2046 is expected not to be allowed :admin_snippet2047 external user2048 is expected not to be allowed :admin_snippet2049 project team member2050 is expected not to be allowed :admin_snippet2051 private snippet2052 no user2053 is expected not to be allowed :admin_snippet2054 regular user2055 is expected not to be allowed :admin_snippet2056 behaves like regular user access rights2057 not snippet author2058 project team member (non guest)2059 is expected not to be allowed :admin_snippet2060 project team member (guest)2061 is expected not to be allowed :admin_snippet2062 project team member (maintainer)2063 is expected to be allowed :admin_snippet2064 snippet author2065 project member (non guest)2066 is expected to be allowed :admin_snippet2067 project member (guest)2068 is expected not to be allowed :admin_snippet2069 project team member (maintainer)2070 is expected to be allowed :admin_snippet2071 not a project member2072 is expected not to be allowed :admin_snippet2073 external user2074 is expected not to be allowed :admin_snippet2075 project team member2076 is expected not to be allowed :admin_snippet2077 admin user2078 when admin mode is enabled2079 is expected to be allowed :admin_snippet2080 when admin mode is disabled2081 is expected not to be allowed :admin_snippet2082Gitlab::CycleAnalytics::BaseEventFetcher2083 limits the rows to the max number2084Gitlab::Metrics::Dashboard::Finder2085 .find2086 behaves like misconfigured dashboard service response2087 returns an appropriate message and status code2088 when the dashboard exists2089 behaves like valid dashboard service response2090 behaves like valid dashboard service response for schema2091 returns a json representation of the dashboard2092 when the dashboard is configured incorrectly2093 behaves like misconfigured dashboard service response2094 returns an appropriate message and status code2095 when the dashboard contains a metric without a query2096 behaves like misconfigured dashboard service response2097 returns an appropriate message and status code2098 when the system dashboard is specified2099 behaves like valid dashboard service response2100 behaves like valid dashboard service response for schema2101 returns a json representation of the dashboard2102 when the self monitoring dashboard is specified2103 behaves like valid dashboard service response2104 behaves like valid dashboard service response for schema2105 returns a json representation of the dashboard2106 when no dashboard is specified2107 behaves like valid dashboard service response2108 behaves like valid dashboard service response for schema2109 returns a json representation of the dashboard2110 when the dashboard is expected to be embedded2111 behaves like valid embedded dashboard service response2112 behaves like valid dashboard service response for schema2113 returns a json representation of the dashboard2114 when params are incomplete2115 behaves like valid embedded dashboard service response2116 behaves like valid dashboard service response for schema2117 returns a json representation of the dashboard2118 when the panel is specified2119 as a custom metric2120 behaves like misconfigured dashboard service response2121 returns an appropriate message and status code2122 when the metric exists2123 behaves like valid embedded dashboard service response2124 behaves like valid dashboard service response for schema2125 returns a json representation of the dashboard2126 as a project-defined panel2127 behaves like misconfigured dashboard service response2128 returns an appropriate message and status code2129 when the metric exists2130 behaves like valid embedded dashboard service response2131 behaves like valid dashboard service response for schema2132 returns a json representation of the dashboard2133 .find_raw2134 is expected to eq {"dashboard"=>"Environment metrics", "panel_groups"=>[{"group"=>"System metrics (Kubernetes)", "panel..., "title"=>"HTTP Error Rate", "type"=>"area-chart", "y_label"=>"HTTP Errors (%)"}]}], "priority"=>1}2135 when the system dashboard is specified2136 is expected to eq {"dashboard"=>"Environment metrics", "panel_groups"=>[{"group"=>"System metrics (Kubernetes)", "panel..., "title"=>"HTTP Error Rate", "type"=>"area-chart", "y_label"=>"HTTP Errors (%)"}]}], "priority"=>1}2137 when an existing project dashboard is specified2138 is expected to eq {"dashboard"=>"Test Dashboard", "links"=>[{"title"=>"Link 1", "url"=>"https://gitlab.com"}, {"title"=...s"=>{"default_value"=>"default"}, "type"=>"text"}, "text_variable_simple_syntax"=>"default value"}}}2139 .find_all_paths2140 includes OOTB dashboards by default2141 when the project contains dashboards2142 includes OOTB and project dashboards2143 when the project is self monitoring2144 includes self monitoring and project dashboards2145ContainerExpirationPolicies::UpdateService2146 #execute2147 with existing container expiration policy2148 user_role: :maintainer, shared_examples_name: "updating the container expiration policy"2149 behaves like updating the container expiration policy2150 behaves like updating the container expiration policy attributes2151 updates the container expiration policy2152 behaves like not creating the container expiration policy2153 doesn't create the container expiration policy2154 behaves like returning a success2155 returns a success2156 with invalid params2157 doesn't update the cadence2158 behaves like not creating the container expiration policy2159 doesn't create the container expiration policy2160 behaves like returning an error2161 returns an error2162 user_role: :developer, shared_examples_name: "updating the container expiration policy"2163 behaves like updating the container expiration policy2164 behaves like updating the container expiration policy attributes2165 updates the container expiration policy2166 behaves like not creating the container expiration policy2167 doesn't create the container expiration policy2168 behaves like returning a success2169 returns a success2170 with invalid params2171 doesn't update the cadence2172 behaves like not creating the container expiration policy2173 doesn't create the container expiration policy2174 behaves like returning an error2175 returns an error2176 user_role: :reporter, shared_examples_name: "denying access to container expiration policy"2177 behaves like denying access to container expiration policy2178 with existing container expiration policy2179 behaves like not creating the container expiration policy2180 doesn't create the container expiration policy2181 behaves like returning an error2182 returns an error2183 user_role: :guest, shared_examples_name: "denying access to container expiration policy"2184 behaves like denying access to container expiration policy2185 with existing container expiration policy2186 behaves like not creating the container expiration policy2187 doesn't create the container expiration policy2188 behaves like returning an error2189 returns an error2190 user_role: :anonymous, shared_examples_name: "denying access to container expiration policy"2191 behaves like denying access to container expiration policy2192 with existing container expiration policy2193 behaves like not creating the container expiration policy2194 doesn't create the container expiration policy2195 behaves like returning an error2196 returns an error2197 without existing container expiration policy2198 user_role: :maintainer, shared_examples_name: "creating the container expiration policy"2199 behaves like creating the container expiration policy2200 behaves like updating the container expiration policy attributes2201 creates a new container expiration policy2202 updates the container expiration policy2203 behaves like returning a success2204 returns a success2205 user_role: :developer, shared_examples_name: "creating the container expiration policy"2206 behaves like creating the container expiration policy2207 behaves like updating the container expiration policy attributes2208 creates a new container expiration policy2209 updates the container expiration policy2210 behaves like returning a success2211 returns a success2212 user_role: :reporter, shared_examples_name: "denying access to container expiration policy"2213 behaves like denying access to container expiration policy2214 with existing container expiration policy2215 behaves like not creating the container expiration policy2216 doesn't create the container expiration policy2217 behaves like returning an error2218 returns an error2219 user_role: :guest, shared_examples_name: "denying access to container expiration policy"2220 behaves like denying access to container expiration policy2221 with existing container expiration policy2222 behaves like not creating the container expiration policy2223 doesn't create the container expiration policy2224 behaves like returning an error2225 returns an error2226 user_role: :anonymous, shared_examples_name: "denying access to container expiration policy"2227 behaves like denying access to container expiration policy2228 with existing container expiration policy2229 behaves like not creating the container expiration policy2230 doesn't create the container expiration policy2231 behaves like returning an error2232 returns an error2233Gitlab::Kubernetes::Helm::Certificate2234 .generate_root2235 generates a root CA that expires a long way in the future2236 #issue2237 generates a cert that expires soon2238 passing in INFINITE_EXPIRY2239 generates a cert that expires a long way in the future2240Banzai::Filter::VideoLinkFilter2241 when the element src has a video extension2242 behaves like a video element2243 replaces the image tag with a video tag2244 behaves like a video element2245 replaces the image tag with a video tag2246 behaves like a video element2247 replaces the image tag with a video tag2248 behaves like a video element2249 replaces the image tag with a video tag2250 behaves like a video element2251 replaces the image tag with a video tag2252 behaves like a video element2253 replaces the image tag with a video tag2254 behaves like a video element2255 replaces the image tag with a video tag2256 behaves like a video element2257 replaces the image tag with a video tag2258 behaves like a video element2259 replaces the image tag with a video tag2260 behaves like a video element2261 replaces the image tag with a video tag2262 when the element has no src attribute2263 behaves like an unchanged element2264 leaves the document unchanged2265 when the element src is an image2266 behaves like an unchanged element2267 leaves the document unchanged2268 when the element src has an invalid file extension2269 behaves like an unchanged element2270 leaves the document unchanged2271 when data-canonical-src is empty2272 and src is a video2273 behaves like a video element2274 replaces the image tag with a video tag2275 and src is an image2276 behaves like an unchanged element2277 leaves the document unchanged2278 when data-canonical-src is set2279 uses the correct src2280Banzai::Filter::ReferenceRedactorFilter2281 ignores non-GFM links2282 skips when the skip_redaction flag is set2283 with data-project2284 valid projects2285 allows permitted Project references2286 invalid projects2287 removes unpermitted references2288 handles invalid references2289 with data-issue2290 allows references for non confidential issues2291 for confidential issues2292 removes references for non project members2293 removes references for project members with guest role2294 allows references for author2295 allows references for assignee2296 allows references for project members2297 allows references for admin2298 when a confidential issue is moved from a public project to a private one2299 removes references for author2300 removes references for assignee2301 allows references for project members2302 for user references2303 with data-group2304 removes unpermitted Group references2305 allows permitted Group references2306 handles invalid Group references2307 with data-user2308 allows any User reference2309VerifyPagesDomainService2310 #execute2311 domain_sym: :domain, code_sym: :verification_code2312 when domain is disabled(or new)2313 when txt record contains verification code2314 verifies and enables the domain2315 when txt record contains verification code with other text2316 verifies and enables the domain2317 when txt record does not contain verification code2318 unverifies domain2319 disables domain and shedules it for removal in 1 week2320 when txt record does not contain verification code2321 unverifies domain2322 disables domain and shedules it for removal in 1 week2323 when no txt records are present2324 unverifies domain2325 disables domain and shedules it for removal in 1 week2326 when domain is verified2327 when txt record contains verification code2328 verifies and enables the domain2329 when txt record contains verification code with other text2330 verifies and enables the domain2331 when txt record does not contain verification code2332 unverifies but does not disable domain2333 does not schedule domain for removal2334 when no txt records are present2335 unverifies but does not disable domain2336 does not schedule domain for removal2337 when domain is expired2338 when the right code is present2339 verifies and enables the domain2340 when the right code is not present2341 unverifies domain2342 disables domain and shedules it for removal in 1 week2343 when domain is disabled and scheduled for removal2344 when the right code is present2345 verifies and enables domain2346 prevent domain from being removed2347 when the right code is not present2348 keeps domain scheduled for removal but does not change removal time2349 invalid domain2350 can be disabled2351 domain_sym: :domain, code_sym: :keyed_verification_code2352 when domain is disabled(or new)2353 when txt record contains verification code2354 verifies and enables the domain2355 when txt record contains verification code with other text2356 verifies and enables the domain2357 when txt record does not contain verification code2358 unverifies domain2359 disables domain and shedules it for removal in 1 week2360 when txt record does not contain verification code2361 unverifies domain2362 disables domain and shedules it for removal in 1 week2363 when no txt records are present2364 unverifies domain2365 disables domain and shedules it for removal in 1 week2366 when domain is verified2367 when txt record contains verification code2368 verifies and enables the domain2369 when txt record contains verification code with other text2370 verifies and enables the domain2371 when txt record does not contain verification code2372 unverifies but does not disable domain2373 does not schedule domain for removal2374 when no txt records are present2375 unverifies but does not disable domain2376 does not schedule domain for removal2377 when domain is expired2378 when the right code is present2379 verifies and enables the domain2380 when the right code is not present2381 unverifies domain2382 disables domain and shedules it for removal in 1 week2383 when domain is disabled and scheduled for removal2384 when the right code is present2385 verifies and enables domain2386 prevent domain from being removed2387 when the right code is not present2388 keeps domain scheduled for removal but does not change removal time2389 invalid domain2390 can be disabled2391 domain_sym: :verification_domain, code_sym: :verification_code2392 when domain is disabled(or new)2393 when txt record contains verification code2394 verifies and enables the domain2395 when txt record contains verification code with other text2396 verifies and enables the domain2397 when txt record does not contain verification code2398 unverifies domain2399 disables domain and shedules it for removal in 1 week2400 when txt record does not contain verification code2401 unverifies domain2402 disables domain and shedules it for removal in 1 week2403 when no txt records are present2404 unverifies domain2405 disables domain and shedules it for removal in 1 week2406 when domain is verified2407 when txt record contains verification code2408 verifies and enables the domain2409 when txt record contains verification code with other text2410 verifies and enables the domain2411 when txt record does not contain verification code2412 unverifies but does not disable domain2413 does not schedule domain for removal2414 when no txt records are present2415 unverifies but does not disable domain2416 does not schedule domain for removal2417 when domain is expired2418 when the right code is present2419 verifies and enables the domain2420 when the right code is not present2421 unverifies domain2422 disables domain and shedules it for removal in 1 week2423 when domain is disabled and scheduled for removal2424 when the right code is present2425 verifies and enables domain2426 prevent domain from being removed2427 when the right code is not present2428 keeps domain scheduled for removal but does not change removal time2429 invalid domain2430 can be disabled2431 domain_sym: :verification_domain, code_sym: :keyed_verification_code2432 when domain is disabled(or new)2433 when txt record contains verification code2434 verifies and enables the domain2435 when txt record contains verification code with other text2436 verifies and enables the domain2437 when txt record does not contain verification code2438 unverifies domain2439 disables domain and shedules it for removal in 1 week2440 when txt record does not contain verification code2441 unverifies domain2442 disables domain and shedules it for removal in 1 week2443 when no txt records are present2444 unverifies domain2445 disables domain and shedules it for removal in 1 week2446 when domain is verified2447 when txt record contains verification code2448 verifies and enables the domain2449 when txt record contains verification code with other text2450 verifies and enables the domain2451 when txt record does not contain verification code2452 unverifies but does not disable domain2453 does not schedule domain for removal2454 when no txt records are present2455 unverifies but does not disable domain2456 does not schedule domain for removal2457 when domain is expired2458 when the right code is present2459 verifies and enables the domain2460 when the right code is not present2461 unverifies domain2462 disables domain and shedules it for removal in 1 week2463 when domain is disabled and scheduled for removal2464 when the right code is present2465 verifies and enables domain2466 prevent domain from being removed2467 when the right code is not present2468 keeps domain scheduled for removal but does not change removal time2469 invalid domain2470 can be disabled2471 timeout behaviour2472 sets a timeout on the DNS query2473 email notifications2474 factory: nil, verification_succeeds: true, expected_notification: nil2475 sends a notification if appropriate2476 factory: nil, verification_succeeds: false, expected_notification: :verification_failed2477 sends a notification if appropriate2478 factory: :reverify, verification_succeeds: true, expected_notification: nil2479 sends a notification if appropriate2480 factory: :reverify, verification_succeeds: false, expected_notification: :verification_failed2481 sends a notification if appropriate2482 factory: :unverified, verification_succeeds: true, expected_notification: :verification_succeeded2483 sends a notification if appropriate2484 factory: :unverified, verification_succeeds: false, expected_notification: nil2485 sends a notification if appropriate2486 factory: :expired, verification_succeeds: true, expected_notification: nil2487 sends a notification if appropriate2488 factory: :expired, verification_succeeds: false, expected_notification: :disabled2489 sends a notification if appropriate2490 factory: :disabled, verification_succeeds: true, expected_notification: :enabled2491 sends a notification if appropriate2492 factory: :disabled, verification_succeeds: false, expected_notification: nil2493 sends a notification if appropriate2494 pages verification disabled2495 skips email notifications2496 pages configuration updates2497 enabling a disabled domain2498 schedules an update2499 verifying an enabled domain2500 schedules an update2501 disabling an expired domain2502 schedules an update2503 failing to verify a disabled domain2504 does not schedule an update2505 no verification code2506 returns an error2507 pages domain verification is disabled2508 extends domain validity by unconditionally reverifying2509 does not shorten any grace period2510PostReceiveService2511 when project is nil2512 does not return error2513 when repository is nil2514 does not return error2515 when both repository and project are nil2516 does not return error2517 with Project2518 returns link to create new merge request2519 returns the link to an existing merge request when it exists2520 does not invoke MergeRequests::PushOptionsHandlerService2521 behaves like post_receive_service actions2522 enqueues a PostReceive worker job2523 decreases the reference counter and returns the result2524 when printing_merge_request_link_enabled is false2525 returns no merge request messages2526 when there are merge_request push options2527 invokes MergeRequests::PushOptionsHandlerService2528 creates a new merge request2529 links to the newly created merge request2530 adds errors on the service instance to warnings2531 adds ActiveRecord errors on invalid MergeRequest records to warnings2532 with PersonalSnippet2533 does not return link to create new merge request2534 does not return the link to an existing merge request when it exists2535 behaves like post_receive_service actions2536 enqueues a PostReceive worker job2537 decreases the reference counter and returns the result2538 with ProjectSnippet2539 does not return link to create new merge request2540 does not return the link to an existing merge request when it exists2541 behaves like post_receive_service actions2542 enqueues a PostReceive worker job2543 decreases the reference counter and returns the result2544 broadcast message banner exists2545 outputs a broadcast message2546 broadcast message notification exists2547 does not output a broadcast message2548 broadcast message does not exist2549 does not output a broadcast message2550 nil broadcast message2551 does not output a broadcast message2552 with a redirected data2553 returns redirected message on the response2554 with new project data2555 returns new project message on the response2556 #process_mr_push_options2557 when repository belongs to a snippet2558 with PersonalSnippet2559 returns an error message2560 with ProjectSnippet2561 returns an error message2562 #merge_request_urls2563 when repository belongs to a snippet2564 with PersonalSnippet2565 returns an empty array2566 with ProjectSnippet2567 returns an empty array2568RepositoryCheck::BatchWorker2569 prefers projects that have never been checked2570 sorts projects by last_repository_check_at2571 excludes projects that were checked recently2572 excludes projects on another shard2573 does nothing when repository checks are disabled2574 does nothing when shard is unhealthy2575 skips projects created less than 24 hours ago2576 does not run if the exclusive lease is taken2577IncidentManagement::ProcessAlertWorker2578 #perform2579 with valid alert2580 behaves like creates issue successfully2581 creates an issue2582 updates AlertManagement::Alert#issue_id2583 does not write a warning to log2584 when alert cannot be updated2585 updates AlertManagement::Alert#issue_id2586 logs a warning2587 prometheus alert2588 behaves like creates issue successfully2589 creates an issue2590 updates AlertManagement::Alert#issue_id2591 does not write a warning to log2592 with invalid alert2593 does not create issues2594Issues::ReferencedMergeRequestsService2595 #execute2596 returns a list of sorted merge requests2597 performance2598 does not run extra queries when extra namespaces are included2599 preloads the head pipeline for each merge request, and its routes2600 only loads issue notes once2601 #referenced_merge_requests2602 returns the referenced merge requests2603 excludes cross project references if the user cannot read cross project2604 performance2605 does not run a query for each note author2606 #closed_by_merge_requests2607 returns the open merge requests that close this issue2608 returns an empty array when the current issue is closed already2609 performance2610 does not run a query for each note author2611Ci::FreezePeriodStatus2612 single freeze period2613 behaves like outside freeze period2614 is not frozen2615 behaves like within freeze period2616 is frozen2617 behaves like within freeze period2618 is frozen2619 behaves like outside freeze period2620 is not frozen2621 multiple freeze periods2622 behaves like outside freeze period2623 is not frozen2624 behaves like within freeze period2625 is frozen2626 behaves like within freeze period2627 is frozen2628 behaves like within freeze period2629 is frozen2630 behaves like within freeze period2631 is frozen2632 behaves like within freeze period2633 is frozen2634 behaves like outside freeze period2635 is not frozen2636Gitlab::DatabaseImporters::InstanceAdministrators::CreateGroup2637 #execute2638 without application_settings2639 returns error2640 without admin users2641 returns error2642 with application settings and admin users2643 returns correct keys2644 tracks successful install2645 creates group2646 adds all admins as maintainers2647 saves the group id2648 returns error when saving group ID fails2649 when group already exists2650 returns success2651 when group cannot be created2652 returns error2653 when user cannot be added to group2654 returns error2655Gitlab::Verify::JobArtifacts2656 behaves like Gitlab::Verify::BatchVerifier subclass2657 batching2658 iterates through objects in batches2659 allows the starting ID to be specified2660 allows the finishing ID to be specified2661 #run_batches2662 passes artifacts with the correct file2663 fails artifacts with a missing file2664 fails artifacts with a mismatched checksum2665 with remote files2666 passes artifacts in object storage that exist2667 fails artifacts in object storage that do not exist2668NoteEntity2669 behaves like note entity2670 basic note2671 exposes correct elements2672 does not expose elements for specific notes cases2673 exposes author correctly2674 does not expose web_url for author2675 when note was edited2676 exposes last_edited_at and last_edited_by elements2677 when note is a system note2678 exposes system_note_icon_name element2679X509CommitSignature2680 behaves like having unique enum values2681 has unique values in "verification_status"2682 validation2683 is expected to validate that :commit_sha cannot be empty/falsy2684 is expected to validate that :project_id cannot be empty/falsy2685 is expected to validate that :x509_certificate_id cannot be empty/falsy2686 associations2687 is expected to belong to project required: true2688 is expected to belong to x509_certificate required: true2689 .safe_create!2690 finds a signature by commit sha if it existed2691 creates a new signature if it was not found2692 assigns the correct attributes when creating2693 #user2694 if email is not assigned to a user, return nil2695 if email is assigned to a user2696 returns user2697Projects::DownloadService2698 File service2699 for a URL that is not on whitelist2700 is expected to eq nil2701 for URLs that are on the whitelist2702 an image file2703 is expected to have key :alt2704 is expected to have key :url2705 is expected to match "rails_sample.jpg"2706 is expected to eq "rails_sample"2707 a txt file2708 is expected to have key :alt2709 is expected to have key :url2710 is expected to match "doc_sample.txt"2711 is expected to eq "doc_sample.txt"2712Gitlab::Database::RenameReservedPathsMigration::V1::RenameNamespaces2713 #namespaces_for_paths2714 nested namespaces2715 includes the namespace2716 for child namespaces2717 only returns child namespaces with the correct path2718 has no namespaces that look the same2719 for top levelnamespaces2720 only returns child namespaces with the correct path2721 has no namespaces that just look the same2722 #move_repositories2723 moves a project for a namespace2724 moves a namespace in a subdirectory correctly2725 moves a parent namespace with subdirectories2726 #child_ids_for_parent2727 collects child ids for all levels2728 #rename_namespace2729 renames paths & routes for the namespace2730 tracks the rename2731 renames things related to the namespace2732 #rename_namespace_dependencies2733 moves the repository for a project in the namespace2734 moves the uploads for the namespace2735 moves the pages for the namespace2736 invalidates the markdown cache of related projects2737 doesn't rename users for other namespaces2738 renames the username of a namespace for a user2739 #rename_user2740 renames a username2741 #rename_namespaces2742 renames top level namespaces the namespace2743 renames child namespaces2744 #revert_renames2745 renames the routes back to the previous values2746 moves the repositories back to their original place2747 doesn't break when the namespace was renamed2748ContainerRepositoriesFinder2749 #execute2750 with authorized user2751 when subject_type is group2752DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2753 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil> and #<ContainerRepository id: 5, project_id: 978, name: "test_repository2", created_at: "2020-08-29 16:45:39", updated_at: "2020-08-29 16:45:39", status: nil>2754 behaves like with name search2755 with name set to my_image2756DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2757 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2758DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2759 is expected not to include #<ContainerRepository id: 6, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:39", updated_at: "2020-08-29 16:45:39", status: nil>2760 with name set to my_imag2761DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2762 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2763DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2764 is expected not to include #<ContainerRepository id: 6, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:39", updated_at: "2020-08-29 16:45:39", status: nil>2765 with name set to _image2766DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2767 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2768DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2769 is expected not to include #<ContainerRepository id: 6, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:39", updated_at: "2020-08-29 16:45:39", status: nil>2770 with name set to _imag2771DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2772 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2773DEPRECATION WARNING: Class level methods will no longer inherit scoping from `for_group_and_its_subgroups` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `ContainerRepository.default_scoped`. (called from block in <class:ContainerRepository> at /builds/gitlab-org/gitlab/app/models/container_repository.rb:25)2774 is expected not to include #<ContainerRepository id: 6, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:39", updated_at: "2020-08-29 16:45:39", status: nil>2775 when subject_type is project2776 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2777 behaves like with name search2778 with name set to my_image2779 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2780 is expected not to include #<ContainerRepository id: 7, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:40", updated_at: "2020-08-29 16:45:40", status: nil>2781 with name set to my_imag2782 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2783 is expected not to include #<ContainerRepository id: 7, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:40", updated_at: "2020-08-29 16:45:40", status: nil>2784 with name set to _image2785 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2786 is expected not to include #<ContainerRepository id: 7, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:40", updated_at: "2020-08-29 16:45:40", status: nil>2787 with name set to _imag2788 is expected to contain exactly #<ContainerRepository id: 4, project_id: 977, name: "my_image", created_at: "2020-08-29 16:45:38", updated_at: "2020-08-29 16:45:38", status: nil>2789 is expected not to include #<ContainerRepository id: 7, project_id: 977, name: "foo_bar_baz", created_at: "2020-08-29 16:45:40", updated_at: "2020-08-29 16:45:40", status: nil>2790 with invalid subject_type2791 is expected to raise Exception with "invalid subject_type"2792 with unauthorized user2793 is expected to equal nil2794Gitlab::Diff::Suggestion2795 #to_hash2796 when changing content surpasses the top limit2797 behaves like correct suggestion raw content2798 returns correct raw data2799 returns diff lines with correct line numbers2800 when changing content surpasses the amount of lines in the blob (bottom)2801 behaves like correct suggestion raw content2802 returns correct raw data2803 returns diff lines with correct line numbers2804 when lines are within blob lines boundary2805 behaves like correct suggestion raw content2806 returns correct raw data2807 returns diff lines with correct line numbers2808Gitlab::Ci::Status::External::Common2809 #label2810 returns description2811 when description is nil2812 uses core status label2813 when description is empty string2814 uses core status label2815 #has_action?2816 is expected not to have action2817 #has_details?2818 when user has access to read commit status2819 is expected to have details2820 when user does not have access to read commit status2821 is expected not to have details2822 #details_path2823 links to the external target URL2824Gitlab::TimeTrackingFormatter2825 #parse2826 positive durations2827 is expected to eq 120002828 negative durations2829 is expected to eq -120002830 durations with months2831 uses our custom conversions2832 #output2833 time_tracking_limit_to_hours setting is true2834 is expected to eq "49h 40m"2835 time_tracking_limit_to_hours setting is false2836 is expected to eq "1w 1d 1h 40m"2837Knapsack report was generated. Preview:2838{2839 "spec/lib/gitlab/cycle_analytics/events_spec.rb": 165.82080078125,2840 "spec/lib/gitlab/git_access_spec.rb": 75.28160166740417,2841 "spec/services/submit_usage_ping_service_spec.rb": 51.45310831069946,2842 "spec/uploaders/design_management/design_v432x230_uploader_spec.rb": 30.69924020767212,2843 "spec/lib/gitlab/auth_spec.rb": 24.918352365493774,2844 "spec/lib/banzai/reference_parser/base_parser_spec.rb": 20.122729301452637,2845 "spec/models/project_services/mattermost_service_spec.rb": 22.903729915618896,2846 "spec/helpers/groups_helper_spec.rb": 13.61492371559143,2847 "spec/lib/gitlab/user_access_spec.rb": 13.09417200088501,2848 "spec/presenters/clusters/cluster_presenter_spec.rb": 12.049345970153809,2849 "spec/models/project_services/prometheus_service_spec.rb": 10.154349088668823,2850 "spec/models/ci/runner_spec.rb": 10.162877082824707,2851 "spec/models/merge_request_diff_commit_spec.rb": 8.070112228393555,2852 "spec/services/groups/update_service_spec.rb": 9.192195415496826,2853 "spec/models/concerns/avatarable_spec.rb": 7.515061616897583,2854 "spec/lib/gitlab/import_export/import_failure_service_spec.rb": 9.218960523605347,2855 "spec/services/merge_requests/add_todo_when_build_fails_service_spec.rb": 6.903246641159058,2856 "spec/lib/gitlab/data_builder/push_spec.rb": 6.040467739105225,2857 "spec/models/project_services/buildkite_service_spec.rb": 5.49027681350708,2858 "spec/lib/gitlab/google_code_import/importer_spec.rb": 3.3170793056488037,2859 "spec/services/wikis/create_attachment_service_spec.rb": 5.139125108718872,2860 "spec/services/merge_requests/conflicts/resolve_service_spec.rb": 4.975950479507446,2861 "spec/serializers/issue_entity_spec.rb": 4.7120561599731445,2862 "spec/services/boards/lists/create_service_spec.rb": 4.465194940567017,2863 "spec/lib/gitlab/ci/build/image_spec.rb": 2.9011571407318115,2864 "spec/policies/project_snippet_policy_spec.rb": 3.596365213394165,2865 "spec/lib/gitlab/cycle_analytics/base_event_fetcher_spec.rb": 3.2991578578948975,2866 "spec/lib/gitlab/metrics/dashboard/finder_spec.rb": 3.8494293689727783,2867 "spec/services/container_expiration_policies/update_service_spec.rb": 2.1786434650421143,2868 "spec/lib/gitlab/kubernetes/helm/certificate_spec.rb": 4.489490985870361,2869 "spec/lib/banzai/filter/video_link_filter_spec.rb": 2.795166492462158,2870 "spec/lib/banzai/filter/reference_redactor_filter_spec.rb": 4.668169260025024,2871 "spec/services/verify_pages_domain_service_spec.rb": 2.7860357761383057,2872 "spec/services/post_receive_service_spec.rb": 3.011605978012085,2873 "spec/workers/repository_check/batch_worker_spec.rb": 2.5912187099456787,2874 "spec/workers/incident_management/process_alert_worker_spec.rb": 2.5152456760406494,2875 "spec/services/issues/referenced_merge_requests_service_spec.rb": 2.8582706451416016,2876 "spec/models/ci/freeze_period_status_spec.rb": 2.182065963745117,2877 "spec/lib/gitlab/database_importers/instance_administrators/create_group_spec.rb": 2.0164828300476074,2878 "spec/lib/gitlab/verify/job_artifacts_spec.rb": 2.9735512733459473,2879 "spec/serializers/note_entity_spec.rb": 1.7498714923858643,2880 "spec/models/x509_commit_signature_spec.rb": 2.3688302040100098,2881 "spec/services/projects/download_service_spec.rb": 1.4524667263031006,2882 "spec/lib/gitlab/database/rename_reserved_paths_migration/v1/rename_namespaces_spec.rb": 2.9053845405578613,2883 "spec/finders/container_repositories_finder_spec.rb": 2.766268253326416,2884 "spec/lib/gitlab/diff/suggestion_spec.rb": 1.9182703495025635,2885 "spec/lib/gitlab/ci/status/external/common_spec.rb": 1.8029208183288574,2886 "spec/lib/gitlab/time_tracking_formatter_spec.rb": 0.048758029937744142887}2888Knapsack global time execution for tests: 09m 49s2889Pending: (Failures listed here are expected and do not affect your suite's status)2890 1) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 2891 # No pattern provided, skipping.2892 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82893 2) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #work_dir behaves like matches the method pattern 2894 # No pattern provided, skipping.2895 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82896 3) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #relative_path is relative2897 # Path not set, skipping.2898 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:392899 4) DesignManagement::DesignV432x230Uploader behaves like builds correct paths .base_dir behaves like matches the method pattern 2900 # No pattern provided, skipping.2901 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82902 5) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 2903 # No pattern provided, skipping.2904 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82905 6) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 2906 # No pattern provided, skipping.2907 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82908 7) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #relative_path is relative2909 # Path not set, skipping.2910 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:392911 8) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 2912 # No pattern provided, skipping.2913 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82914 9) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 2915 # No pattern provided, skipping.2916 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:82917Finished in 11 minutes 56 seconds (files took 41.92 seconds to load)29181403 examples, 0 failures, 9 pending2919Sat Aug 29 16:45:57 UTC 20202921Not uploading cache rails-v2-3 due to policy2923Uploading artifacts...2924coverage/: found 5 matching files and directories 2925knapsack/: found 3 matching files and directories 2926rspec_flaky/: found 4 matching files and directories 2927rspec_profiling/: found 2 matching files and directories 2928WARNING: tmp/capybara/: no matching files 2929tmp/memory_test/: found 2 matching files and directories 2930log/*.log: found 12 matching files and directories 2931Uploading artifacts as "archive" to coordinator... ok id=710020350 responseStatus=201 Created token=WqoktRhs2932Uploading artifacts...2933junit_rspec.xml: found 1 matching files and directories 2934Uploading artifacts as "junit" to coordinator... ok id=710020350 responseStatus=201 Created token=WqoktRhs2935Job succeeded