rspec unit pg11 8/20
Passed Started
by
@lulalala

Mark Chao
1Running with gitlab-runner 13.3.1 (738bbe5a)2 on docker-auto-scale-com d5ae8d254Using 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-d5ae8d25-project-278964-concurrent-0 via runner-d5ae8d25-gsrm-1598834068-a9a13917...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 11% |*** | 120M 0:00:07 ETA23gitlab.tar.gz 44% |************** | 452M 0:00:02 ETA24gitlab.tar.gz 76% |************************ | 768M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 1007M 0:00:00 ETA26'/tmp/gitlab.tar.gz' saved27Extracting tarball into /builds/gitlab-org/gitlab...28Fetching changes with git depth set to 20...29Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/30Created fresh repository.31Checking out 7a9c83cd 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 (710807149)...39Downloading artifacts from coordinator... ok id=710807149 responseStatus=200 OK token=cMhXVmpy40Downloading artifacts for retrieve-tests-metadata (710807151)...41Downloading artifacts from coordinator... ok id=710807151 responseStatus=200 OK token=ySCBbL7Z42Downloading artifacts for setup-test-env (710807150)...43Downloading artifacts from coordinator... ok id=710807150 responseStatus=200 OK token=UGYkxRJB44WARNING: 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==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 27 seconds.76$ run_timed_command "scripts/gitaly-test-build"77$ scripts/gitaly-test-build78Settings are listed in order of priority. The top value will be used.79retry80Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 381path82Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"83jobs84Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 485app_config86Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"87gemfile88Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"89flags90Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"91silence_root_warning92Set via BUNDLE_SILENCE_ROOT_WARNING: true93go install -ldflags '-X gitlab.com/gitlab-org/gitaly/internal/version.version=13.3.0-rc5 -X gitlab.com/gitlab-org/gitaly/internal/version.buildtime=20200831.023551' -tags "tracer_static,tracer_static_jaeger,continuous_profiler_stackdriver" gitlab.com/gitlab-org/gitaly/cmd/praefect gitlab.com/gitlab-org/gitaly/cmd/gitaly-hooks gitlab.com/gitlab-org/gitaly/cmd/gitaly-blackbox gitlab.com/gitlab-org/gitaly/cmd/gitaly gitlab.com/gitlab-org/gitaly/cmd/gitaly-debug gitlab.com/gitlab-org/gitaly/cmd/gitaly-ssh gitlab.com/gitlab-org/gitaly/cmd/gitaly-wrapper94install /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/praefect /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-hooks /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-blackbox /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-debug /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-ssh /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-wrapper /builds/gitlab-org/gitlab/tmp/tests/gitaly95Checking gitaly-ruby Gemfile...96Checking gitaly-ruby bundle...97Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.98The Gemfile's dependencies are satisfied99Trying to connect to gitaly: ....... OK100Trying to connect to praefect: ........ OK101==> 'scripts/gitaly-test-build' succeeded in 42 seconds.102$ run_timed_command "scripts/gitaly-test-spawn"103$ scripts/gitaly-test-spawn104Checking gitaly-ruby Gemfile...105Checking gitaly-ruby bundle...106Warning: the running version of Bundler (1.17.2) is older than the version that created the lockfile (1.17.3). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.107The Gemfile's dependencies are satisfied108Trying to connect to gitaly: ....... OK109Trying to connect to praefect: ....... OK110==> 'scripts/gitaly-test-spawn' succeeded in 2 seconds.111$ source scripts/rspec_helpers.sh112$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"113KNAPSACK_TEST_FILE_PATTERN: spec/{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.035125569 seconds...122ProjectPolicy123 does not include the read_issue permission when the issue author is not a member of the private project124 with no project feature125 returns false126 behaves like model with wiki policies127 container_level: :public, access_level: :enabled, membership: :admin, access: :all128 allows actions based on membership129 container_level: :public, access_level: :enabled, membership: :maintainer, access: :maintainer130 allows actions based on membership131 container_level: :public, access_level: :enabled, membership: :developer, access: :developer132 allows actions based on membership133 container_level: :public, access_level: :enabled, membership: :reporter, access: :reporter134 allows actions based on membership135 container_level: :public, access_level: :enabled, membership: :guest, access: :guest136 allows actions based on membership137 container_level: :public, access_level: :enabled, membership: :non_member, access: :guest138 allows actions based on membership139 container_level: :public, access_level: :enabled, membership: :anonymous, access: :guest140 allows actions based on membership141 container_level: :public, access_level: :private, membership: :admin, access: :all142 allows actions based on membership143 container_level: :public, access_level: :private, membership: :maintainer, access: :maintainer144 allows actions based on membership145 container_level: :public, access_level: :private, membership: :developer, access: :developer146 allows actions based on membership147 container_level: :public, access_level: :private, membership: :reporter, access: :reporter148 allows actions based on membership149 container_level: :public, access_level: :private, membership: :guest, access: :guest150 allows actions based on membership151 container_level: :public, access_level: :private, membership: :non_member, access: nil152 allows actions based on membership153 container_level: :public, access_level: :private, membership: :anonymous, access: nil154 allows actions based on membership155 container_level: :public, access_level: :disabled, membership: :admin, access: nil156 allows actions based on membership157 container_level: :public, access_level: :disabled, membership: :maintainer, access: nil158 allows actions based on membership159 container_level: :public, access_level: :disabled, membership: :developer, access: nil160 allows actions based on membership161 container_level: :public, access_level: :disabled, membership: :reporter, access: nil162 allows actions based on membership163 container_level: :public, access_level: :disabled, membership: :guest, access: nil164 allows actions based on membership165 container_level: :public, access_level: :disabled, membership: :non_member, access: nil166 allows actions based on membership167 container_level: :public, access_level: :disabled, membership: :anonymous, access: nil168 allows actions based on membership169 container_level: :internal, access_level: :enabled, membership: :admin, access: :all170 allows actions based on membership171 container_level: :internal, access_level: :enabled, membership: :maintainer, access: :maintainer172 allows actions based on membership173 container_level: :internal, access_level: :enabled, membership: :developer, access: :developer174 allows actions based on membership175 container_level: :internal, access_level: :enabled, membership: :reporter, access: :reporter176 allows actions based on membership177 container_level: :internal, access_level: :enabled, membership: :guest, access: :guest178 allows actions based on membership179 container_level: :internal, access_level: :enabled, membership: :non_member, access: :guest180 allows actions based on membership181 container_level: :internal, access_level: :enabled, membership: :anonymous, access: nil182 allows actions based on membership183 container_level: :internal, access_level: :private, membership: :admin, access: :all184 allows actions based on membership185 container_level: :internal, access_level: :private, membership: :maintainer, access: :maintainer186 allows actions based on membership187 container_level: :internal, access_level: :private, membership: :developer, access: :developer188 allows actions based on membership189 container_level: :internal, access_level: :private, membership: :reporter, access: :reporter190 allows actions based on membership191 container_level: :internal, access_level: :private, membership: :guest, access: :guest192 allows actions based on membership193 container_level: :internal, access_level: :private, membership: :non_member, access: nil194 allows actions based on membership195 container_level: :internal, access_level: :private, membership: :anonymous, access: nil196 allows actions based on membership197 container_level: :internal, access_level: :disabled, membership: :admin, access: nil198 allows actions based on membership199 container_level: :internal, access_level: :disabled, membership: :maintainer, access: nil200 allows actions based on membership201 container_level: :internal, access_level: :disabled, membership: :developer, access: nil202 allows actions based on membership203 container_level: :internal, access_level: :disabled, membership: :reporter, access: nil204 allows actions based on membership205 container_level: :internal, access_level: :disabled, membership: :guest, access: nil206 allows actions based on membership207 container_level: :internal, access_level: :disabled, membership: :non_member, access: nil208 allows actions based on membership209 container_level: :internal, access_level: :disabled, membership: :anonymous, access: nil210 allows actions based on membership211 container_level: :private, access_level: :private, membership: :admin, access: :all212 allows actions based on membership213 container_level: :private, access_level: :private, membership: :maintainer, access: :maintainer214 allows actions based on membership215 container_level: :private, access_level: :private, membership: :developer, access: :developer216 allows actions based on membership217 container_level: :private, access_level: :private, membership: :reporter, access: :reporter218 allows actions based on membership219 container_level: :private, access_level: :private, membership: :guest, access: :guest220 allows actions based on membership221 container_level: :private, access_level: :private, membership: :non_member, access: nil222 allows actions based on membership223 container_level: :private, access_level: :private, membership: :anonymous, access: nil224 allows actions based on membership225 container_level: :private, access_level: :disabled, membership: :admin, access: nil226 allows actions based on membership227 container_level: :private, access_level: :disabled, membership: :maintainer, access: nil228 allows actions based on membership229 container_level: :private, access_level: :disabled, membership: :developer, access: nil230 allows actions based on membership231 container_level: :private, access_level: :disabled, membership: :reporter, access: nil232 allows actions based on membership233 container_level: :private, access_level: :disabled, membership: :guest, access: nil234 allows actions based on membership235 container_level: :private, access_level: :disabled, membership: :non_member, access: nil236 allows actions based on membership237 container_level: :private, access_level: :disabled, membership: :anonymous, access: nil238 allows actions based on membership239 issues feature240 when the feature is disabled241 does not include the issues permissions242 disables boards and lists permissions243 when external tracker configured244 does not include the issues permissions245 merge requests feature246 disallows all permissions when the feature is disabled247 for a guest in a private project248 disallows the guest from reading the merge request and merge request iid249 pipeline feature250 for unconfirmed user251 disallows to modify pipelines252 for confirmed user253 allows modify pipelines254 builds feature255 when builds are disabled256 disallows all permissions except pipeline when the feature is disabled257 when builds are disabled only for some users258 disallows pipeline and commit_status permissions259 repository feature260 when user is a project member261 when it is disabled262 disallows all permissions263 when user is some other user264 when access level is private265 disallows all permissions266 behaves like project policies as anonymous267 abilities for public projects268 when a project has pending invites269 does not grant owner access270 behaves like archived project policies271 when the project is archived272 disables write actions on all relevant project features273 disables some other important write actions274 does not disable other abilities275 abilities for non-public projects276 is expected to be banned277 behaves like project policies as guest278 abilities for non-public projects279 is expected not to be allowed :set_note_created_at280 behaves like deploy token does not get confused with user281 is expected not to be allowed :set_note_created_at282 behaves like archived project policies283 when the project is archived284 disables write actions on all relevant project features285 disables some other important write actions286 does not disable other abilities287 public builds enabled288 is expected to be allowed :read_pipeline289 when public builds disabled290 is expected not to be allowed :read_pipeline291 when builds are disabled292 is expected to be allowed :read_pipeline293 behaves like project policies as reporter294 abilities for non-public projects295 is expected not to be allowed :set_note_created_at296 behaves like deploy token does not get confused with user297 is expected not to be allowed :set_note_created_at298 behaves like archived project policies299 when the project is archived300 disables write actions on all relevant project features301 disables some other important write actions302 does not disable other abilities303 behaves like project policies as developer304 abilities for non-public projects305 is expected not to be allowed :set_note_created_at306 behaves like deploy token does not get confused with user307 is expected not to be allowed :set_note_created_at308 behaves like archived project policies309 when the project is archived310 disables write actions on all relevant project features311 disables some other important write actions312 does not disable other abilities313 behaves like project policies as maintainer314 abilities for non-public projects315 is expected not to be allowed :set_note_created_at316 behaves like deploy token does not get confused with user317 is expected not to be allowed :set_note_created_at318 behaves like archived project policies319 when the project is archived320 disables write actions on all relevant project features321 disables some other important write actions322 does not disable other abilities323 behaves like project policies as owner324 abilities for non-public projects325 is expected to be allowed :set_note_created_at326 behaves like deploy token does not get confused with user327 is expected not to be allowed :set_note_created_at328 behaves like archived project policies329 when the project is archived330 disables write actions on all relevant project features331 disables some other important write actions332 does not disable other abilities333 behaves like project policies as admin with admin mode334 abilities for non-public projects335 is expected to be allowed :set_note_created_at336 deploy token does not get confused with user337 is expected not to be allowed :set_note_created_at338 behaves like archived project policies339 when the project is archived340 disables write actions on all relevant project features341 disables some other important write actions342 does not disable other abilities343 abilities for all project visibility344 behaves like project private features with read_all_resources ability345 for public projects346 allows the download_code ability347 for internal projects348 allows the download_code ability349 for private projects350 allows the download_code ability351 behaves like project policies as admin without admin mode352 abilities for non-public projects353 is expected to be banned354 deploy token does not get confused with user355 is expected to be banned356 when a public project has merge requests allowing access357 does not allow pushing code358 allows pushing if the user is a member with push access to the target project359 disallows abilities to a maintainer if the merge request was closed360 behaves like clusterable policies361 #add_cluster?362 with a developer363 is expected not to be allowed :read_cluster364 is expected not to be allowed :add_cluster365 is expected not to be allowed :create_cluster366 is expected not to be allowed :update_cluster367 is expected not to be allowed :admin_cluster368 with a maintainer369 with no clusters370 is expected to be allowed :read_cluster371 is expected to be allowed :add_cluster372 is expected to be allowed :create_cluster373 is expected to be allowed :update_cluster374 is expected to be allowed :admin_cluster375 reading a project376 allows access when a user has read access to the repo377 never checks the external service378 with an external authorization service379 allows access when the external service allows it380 prevents all but seeing a public project in a list when access is denied381 passes the full path to external authorization for logging purposes382 with an admin383 when admin mode is enabled384 does not check the external service and allows access385 when admin mode is disabled386 checks the external service and allows access387 forking a project388 anonymous user389 is expected to be disallowed :fork_project390 project member391 guest392 is expected to be disallowed :fork_project393 reporter394 is expected to be allowed :fork_project395 developer396 is expected to be allowed :fork_project397 maintainer398 is expected to be allowed :fork_project399 update_max_artifacts_size400 when no user401 is expected not to be allowed :update_max_artifacts_size402 admin403 when admin mode is enabled404 is expected to be allowed :update_max_artifacts_size405 when admin mode is disabled406 is expected not to be allowed :update_max_artifacts_size407 guest408 is expected not to be allowed :update_max_artifacts_size409 reporter410 is expected not to be allowed :update_max_artifacts_size411 developer412 is expected not to be allowed :update_max_artifacts_size413 maintainer414 is expected not to be allowed :update_max_artifacts_size415 owner416 is expected not to be allowed :update_max_artifacts_size417 alert bot418 is expected to be allowed :reporter_access419 within a private project420 is expected to be allowed :admin_issue421 support bot422 with service desk disabled423 is expected to be allowed :guest_access424 is expected not to be allowed :read_project425 with service desk enabled426 is expected to be allowed :read_issue427 when issues are protected members only428 is expected to be allowed :read_issue429 read_prometheus_alerts430 with admin431 when admin mode is enabled432 is expected to be allowed :read_prometheus_alerts433 when admin mode is disabled434 is expected to be disallowed :read_prometheus_alerts435 with owner436 is expected to be allowed :read_prometheus_alerts437 with maintainer438 is expected to be allowed :read_prometheus_alerts439 with developer440 is expected to be disallowed :read_prometheus_alerts441 with reporter442 is expected to be disallowed :read_prometheus_alerts443 with guest444 is expected to be disallowed :read_prometheus_alerts445 with anonymous446 is expected to be disallowed :read_prometheus_alerts447 metrics_dashboard feature448 public project449 feature private450 with reporter451 is expected to be allowed :metrics_dashboard452 is expected to be allowed :read_prometheus453 is expected to be allowed :read_deployment454 is expected to be allowed :read_metrics_user_starred_dashboard455 is expected to be allowed :create_metrics_user_starred_dashboard456 with guest457 is expected to be disallowed :metrics_dashboard458 with anonymous459 is expected to be disallowed :metrics_dashboard460 feature enabled461 with reporter462 is expected to be allowed :metrics_dashboard463 is expected to be allowed :read_prometheus464 is expected to be allowed :read_deployment465 is expected to be allowed :read_metrics_user_starred_dashboard466 is expected to be allowed :create_metrics_user_starred_dashboard467 with guest468 is expected to be allowed :metrics_dashboard469 is expected to be allowed :read_prometheus470 is expected to be allowed :read_deployment471 is expected to be allowed :read_metrics_user_starred_dashboard472 is expected to be allowed :create_metrics_user_starred_dashboard473 with anonymous474 is expected to be allowed :metrics_dashboard475 is expected to be allowed :read_prometheus476 is expected to be allowed :read_deployment477 is expected to be disallowed :read_metrics_user_starred_dashboard478 is expected to be disallowed :create_metrics_user_starred_dashboard479 internal project480 feature private481 with reporter482 is expected to be allowed :metrics_dashboard483 is expected to be allowed :read_prometheus484 is expected to be allowed :read_deployment485 is expected to be allowed :read_metrics_user_starred_dashboard486 is expected to be allowed :create_metrics_user_starred_dashboard487 with guest488 is expected to be disallowed :metrics_dashboard489 with anonymous490 is expected to be disallowed :metrics_dashboard491 feature enabled492 with reporter493 is expected to be allowed :metrics_dashboard494 is expected to be allowed :read_prometheus495 is expected to be allowed :read_deployment496 is expected to be allowed :read_metrics_user_starred_dashboard497 is expected to be allowed :create_metrics_user_starred_dashboard498 with guest499 is expected to be allowed :metrics_dashboard500 is expected to be allowed :read_prometheus501 is expected to be allowed :read_deployment502 is expected to be allowed :read_metrics_user_starred_dashboard503 is expected to be allowed :create_metrics_user_starred_dashboard504 with anonymous505 is expected to be disallowed :metrics_dashboard506 private project507 feature private508 with reporter509 is expected to be allowed :metrics_dashboard510 is expected to be allowed :read_prometheus511 is expected to be allowed :read_deployment512 is expected to be allowed :read_metrics_user_starred_dashboard513 is expected to be allowed :create_metrics_user_starred_dashboard514 with guest515 is expected to be disallowed :metrics_dashboard516 with anonymous517 is expected to be disallowed :metrics_dashboard518 feature enabled519 with reporter520 is expected to be allowed :metrics_dashboard521 is expected to be allowed :read_prometheus522 is expected to be allowed :read_deployment523 is expected to be allowed :read_metrics_user_starred_dashboard524 is expected to be allowed :create_metrics_user_starred_dashboard525 with guest526 is expected to be disallowed :metrics_dashboard527 with anonymous528 is expected to be disallowed :metrics_dashboard529 feature disabled530 with reporter531 is expected to be disallowed :metrics_dashboard532 with guest533 is expected to be disallowed :metrics_dashboard534 with anonymous535 is expected to be disallowed :metrics_dashboard536 deploy token access537 a deploy token with read_package_registry scope538 is expected to be allowed :read_package539 is expected to be allowed :read_project540 is expected to be disallowed :create_package541 a deploy token with write_package_registry scope542 is expected to be allowed :create_package543 is expected to be allowed :read_project544 is expected to be disallowed :destroy_package545 create_web_ide_terminal546 with admin547 when admin mode enabled548 is expected to be allowed :create_web_ide_terminal549 when admin mode disabled550 is expected to be disallowed :create_web_ide_terminal551 with owner552 is expected to be allowed :create_web_ide_terminal553 with maintainer554 is expected to be allowed :create_web_ide_terminal555 with developer556 is expected to be disallowed :create_web_ide_terminal557 with reporter558 is expected to be disallowed :create_web_ide_terminal559 with guest560 is expected to be disallowed :create_web_ide_terminal561 with non member562 is expected to be disallowed :create_web_ide_terminal563 with anonymous564 is expected to be disallowed :create_web_ide_terminal565 read_repository_graphs566 when user can download_code567 is expected to be allowed :read_repository_graphs568 when user cannot download_code569 is expected to be disallowed :read_repository_graphs570 design permissions571 when design management is not available572 is expected not to be allowed :read_design_activity and :read_design573 when design management is available574 is expected to be allowed :read_design_activity and :read_design575 read_build_report_results576 when user can read_build and read_pipeline577 is expected to be allowed :read_build_report_results578 when user can read_build but cannot read_pipeline579 is expected to be disallowed :read_build_report_results580 when user cannot read_build but can read_pipeline581 is expected to be disallowed :read_build_report_results582 when user cannot read_build and cannot read_pipeline583 is expected to be disallowed :read_build_report_results584 read_package585 with admin586 is expected to be allowed :read_package587 when repository is disabled588 is expected to be disallowed :read_package589 with owner590 is expected to be allowed :read_package591 with maintainer592 is expected to be allowed :read_package593 with developer594 is expected to be allowed :read_package595 with reporter596 is expected to be allowed :read_package597 with guest598 is expected to be allowed :read_package599 with non member600 is expected to be allowed :read_package601 with anonymous602 is expected to be allowed :read_package603CycleAnalytics#staging604 start condition: merge request that closes issue is merged605 end condition: merge request that closes issue is deployed to production606 finds the median of available durations between the two conditions607 when the data belongs to another project608 returns nil609 when the end condition happens before the start condition610 returns nil611 start condition NOT PRESENT: merge request that closes issue is merged612 end condition: merge request that closes issue is deployed to production613 returns nil614 start condition: merge request that closes issue is merged615 end condition NOT PRESENT: merge request that closes issue is deployed to production616 returns nil617 start condition: merge request that closes issue is merged618 end condition: production deploy happens after merge request is merged (along with other changes)619 finds the median of available durations between the two conditions620 when the data belongs to another project621 returns nil622 when the end condition happens before the start condition623 returns nil624 start condition NOT PRESENT: merge request that closes issue is merged625 end condition: production deploy happens after merge request is merged (along with other changes)626 returns nil627 start condition: merge request that closes issue is merged628 end condition NOT PRESENT: production deploy happens after merge request is merged (along with other changes)629 returns nil630 start condition: merge request that closes issue is merged631 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)632 finds the median of available durations between the two conditions633 when the data belongs to another project634 returns nil635 when the end condition happens before the start condition636 returns nil637 start condition NOT PRESENT: merge request that closes issue is merged638 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)639 returns nil640 start condition: merge request that closes issue is merged641 end condition NOT PRESENT: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)642 returns nil643 when none of the start / end conditions are matched644 returns nil645 when a regular merge request (that doesn't close the issue) is merged and deployed646 returns nil647 when the deployment happens to a non-production environment648 returns nil649Gitlab::ClosingIssueExtractor650 #closed_by_message651 with a single reference652 is expected to eq [#<Issue id:30 namespace79/project265#1>]653 is expected to eq [#<Issue id:31 namespace81/project267#1>]654 is expected to eq [#<Issue id:32 namespace83/project269#1>]655 is expected to eq [#<Issue id:33 namespace85/project271#1>]656 is expected to eq [#<Issue id:34 namespace87/project273#1>]657 is expected to eq [#<Issue id:35 namespace89/project275#1>]658 is expected to eq [#<Issue id:36 namespace91/project277#1>]659 is expected to eq [#<Issue id:37 namespace93/project279#1>]660 is expected to eq [#<Issue id:38 namespace95/project281#1>]661 is expected to eq [#<Issue id:39 namespace97/project283#1>]662 is expected to eq [#<Issue id:40 namespace99/project285#1>]663 is expected to eq [#<Issue id:41 namespace101/project287#1>]664 is expected to eq [#<Issue id:42 namespace103/project289#1>]665 is expected to eq [#<Issue id:43 namespace105/project291#1>]666 is expected to eq [#<Issue id:44 namespace107/project293#1>]667 is expected to eq [#<Issue id:45 namespace109/project295#1>]668 is expected to eq [#<Issue id:46 namespace111/project297#1>]669 is expected to eq [#<Issue id:47 namespace113/project299#1>]670 is expected to eq [#<Issue id:48 namespace115/project301#1>]671 is expected to eq [#<Issue id:49 namespace117/project303#1>]672 is expected to eq [#<Issue id:50 namespace119/project305#1>]673 is expected to eq [#<Issue id:51 namespace121/project307#1>]674 is expected to eq [#<Issue id:52 namespace123/project309#1>]675 is expected to eq [#<Issue id:53 namespace125/project311#1>]676 is expected to eq [#<Issue id:54 namespace127/project313#1>]677 is expected to eq [#<Issue id:55 namespace129/project315#1>]678 is expected to eq [#<Issue id:56 namespace131/project317#1>]679 is expected to eq [#<Issue id:57 namespace133/project319#1>]680 is expected to eq [#<Issue id:58 namespace135/project321#1>]681 is expected to eq [#<Issue id:59 namespace137/project323#1>]682 is expected to eq [#<Issue id:60 namespace139/project325#1>]683 is expected to eq [#<Issue id:61 namespace141/project327#1>]684 is expected to eq [#<Issue id:62 namespace143/project329#1>]685 is expected to eq [#<Issue id:63 namespace145/project331#1>]686 is expected to eq [#<Issue id:64 namespace147/project333#1>]687 is expected to eq [#<Issue id:65 namespace149/project335#1>]688 is expected to eq [#<Issue id:66 namespace151/project337#1>]689 is expected to eq [#<Issue id:67 namespace153/project339#1>]690 is expected to eq [#<Issue id:68 namespace155/project341#1>]691 is expected to eq [#<Issue id:69 namespace157/project343#1>]692 is expected to eq [#<Issue id:70 namespace159/project345#1>]693 is expected to eq [#<Issue id:71 namespace161/project347#1>]694 is expected to eq [#<Issue id:72 namespace163/project349#1>]695 is expected to eq [#<Issue id:73 namespace165/project351#1>]696 is expected to eq [#<Issue id:74 namespace167/project353#1>]697 is expected to eq [#<Issue id:75 namespace169/project355#1>]698 is expected to eq [#<Issue id:76 namespace171/project357#1>]699 is expected to eq [#<Issue id:77 namespace173/project359#1>]700 is expected to eq [#<Issue id:78 namespace175/project361#1>]701 is expected to eq [#<Issue id:79 namespace177/project363#1>]702 is expected to eq [#<Issue id:80 namespace179/project365#1>]703 is expected to eq [#<Issue id:81 namespace181/project367#1>]704 is expected to eq [#<Issue id:82 namespace183/project369#1>]705 is expected to eq [#<Issue id:83 namespace185/project371#1>]706 is expected to eq [#<Issue id:84 namespace187/project373#1>]707 with an external issue tracker reference708 extracts the referenced issue709 with a cross-project reference710 is expected to eq [#<Issue id:85 namespace194/project379#1>]711 with a cross-project URL712 is expected to eq [#<Issue id:86 namespace196/project381#1>]713 with a cross-project fork reference714 is expected to be empty715 with an invalid URL716 is expected to eq []717 with an invalid keyword such as suffix insted of fix718 is expected to eq []719 with multiple references720 fetches issues in single line message721 fetches comma-separated issues references in single line message722 fetches comma-separated issues numbers in single line message723 allows oxford commas (comma before and) when referencing multiple issues724 allows spaces before commas when referencing multiple issues725 allows non-comma-separated issue numbers in single line message726 allows mixed comma-separated and non-comma-separated issue numbers in single line message727 fetches issues in multi-line message728 fetches issues in hybrid message729 fetches cross-project references730 fetches cross-project URL references731 ignores invalid cross-project URL references732 with autoclose referenced issues disabled733 is expected to eq []734GroupProjectsFinder735 with a group member current user736 only shared737 is expected to contain exactly #<Project id:420 namespace233/5>>, #<Project id:419 namespace232/4>>, and #<Project id:418 namespace231/3>>738 only owned739 with subgroups projects740 is expected to contain exactly #<Project id:424 group10/2>>, #<Project id:423 group10/1>>, #<Project id:428 group10/group11/6>>, and #<Project id:429 group10/group11/7>>741 without subgroups projects742 is expected to contain exactly #<Project id:431 group12/2>> and #<Project id:430 group12/1>>743 all744 with subgroups projects745 is expected to contain exactly #<Project id:441 namespace254/5>>, #<Project id:440 namespace253/4>>, #<Project id:439 namespace252/3>>, #<Project id:438 group14/2>>, #<Project id:437 group14/1>>, #<Project id:442 group14/group15/6>>, and #<Project id:443 group14/group15/7>>746 without subgroups projects747 is expected to contain exactly #<Project id:448 namespace261/5>>, #<Project id:447 namespace260/4>>, #<Project id:446 namespace259/3>>, #<Project id:445 group16/2>>, and #<Project id:444 group16/1>>748 with min access level749 is expected to contain exactly #<Project id:455 namespace268/5>>, #<Project id:454 namespace267/4>>, #<Project id:453 namespace266/3>>, #<Project id:452 group18/2>>, and #<Project id:451 group18/1>>750 without group member current_user751 only shared752 without external user753 is expected to contain exactly #<Project id:463 namespace276/5>>, #<Project id:462 namespace275/4>>, and #<Project id:461 namespace274/3>>754 with external user755 is expected to contain exactly #<Project id:469 namespace282/4>> and #<Project id:468 namespace281/3>>756 only owned757 without external user758 with subgroups projects759 is expected to contain exactly #<Project id:474 group24/2>>, #<Project id:473 group24/1>>, #<Project id:478 group24/group25/6>>, and #<Project id:479 group24/group25/7>>760 without subgroups projects761 is expected to contain exactly #<Project id:481 group26/2>> and #<Project id:480 group26/1>>762 with external user763 with subgroups projects764 is expected to contain exactly #<Project id:487 group28/1>> and #<Project id:492 group28/group29/6>>765 without subgroups projects766 is expected to eq [#<Project id:494 group30/1>>]767 all768 with subgroups projects769 is expected to contain exactly #<Project id:505 namespace318/5>>, #<Project id:504 namespace317/4>>, #<Project id:503 namespace316/3>>, #<Project id:501 group32/1>>, and #<Project id:506 group32/group33/6>>770 without subgroups projects771 is expected to contain exactly #<Project id:512 namespace325/5>>, #<Project id:511 namespace324/4>>, #<Project id:510 namespace323/3>>, and #<Project id:508 group34/1>>772 with an admin current user773 only shared774 is expected to eq [#<Project id:519 namespace332/5>>, #<Project id:518 namespace331/4>>, #<Project id:517 namespace330/3>>]775 only owned776 is expected to eq [#<Project id:523 group38/2>>, #<Project id:522 group38/1>>]777 all778 is expected to eq [#<Project id:533 namespace346/5>>, #<Project id:532 namespace345/4>>, #<Project id:531 namespace344/3>>, #<Project id:530 group40/2>>, #<Project id:529 group40/1>>]779 no user780 only shared781 is expected to contain exactly #<Project id:540 namespace353/5>> and #<Project id:538 namespace351/3>>782 only owned783 with subgroups projects784 is expected to contain exactly #<Project id:543 group44/1>> and #<Project id:548 group44/group45/6>>785 without subgroups projects786 is expected to eq [#<Project id:550 group46/1>>]787 feature availability788 without issues and merge request enabled789 is expected to contain exactly #<Project id:557 group48/1>>, #<Project id:559 namespace372/3>>, #<Project id:561 namespace374/5>>, #<Project id:564 namespace377/9>>, and #<Project id:565 namespace378/10>>790 with issues enabled791 is expected to contain exactly #<Project id:566 group50/1>>, #<Project id:568 namespace381/3>>, #<Project id:570 namespace383/5>>, and #<Project id:574 namespace387/10>>792 with merge request enabled793 is expected to contain exactly #<Project id:575 group52/1>>, #<Project id:577 namespace390/3>>, #<Project id:579 namespace392/5>>, and #<Project id:582 namespace395/9>>794 with issues and merge request enabled795 is expected to contain exactly #<Project id:584 group54/1>>, #<Project id:586 namespace399/3>>, and #<Project id:588 namespace401/5>>796 limiting797 without limiting798 returns all projects799 with limiting800 returns only the number of projects specified by the limit801Ci::CreateCrossProjectPipelineService#execute802 when downstream project has not been found803 does not create a pipeline804 changes pipeline bridge job status to failed805 when user can not access downstream project806 does not create a new pipeline807 changes status of the bridge build808 when user does not have access to create pipeline809 does not create a new pipeline810 changes status of the bridge build811 when user can create pipeline in a downstream project812 creates only one new pipeline813 creates a new pipeline in a downstream project814 updates bridge status when downstream pipeline gets processed815 when bridge job has already any downstream pipelines816 logs an error and exits817 when target ref is not specified818 is using default branch name819 when downstream pipeline has yaml configuration error820 creates only one new pipeline821 creates a new pipeline in a downstream project822 updates the bridge status when downstream pipeline gets processed823 when downstream project is the same as the job project824 detects a circular dependency825 does not create a new pipeline826 changes status of the bridge build827 when "include" is provided828 updates the bridge job to success829 behaves like creates a child pipeline830 creates only one new pipeline831 creates a child pipeline in the same project832 updates bridge status when downstream pipeline gets processed833 propagates parent pipeline settings to the child pipeline834 when bridge uses "depend" strategy835 does not update the bridge job status836 when latest sha for the ref changed in the meantime837 behaves like creates a child pipeline838 creates only one new pipeline839 creates a child pipeline in the same project840 updates bridge status when downstream pipeline gets processed841 propagates parent pipeline settings to the child pipeline842 when the parent is a merge request pipeline843 propagates the merge request to the child pipeline844 behaves like creates a child pipeline845 creates only one new pipeline846 creates a child pipeline in the same project847 updates bridge status when downstream pipeline gets processed848 propagates parent pipeline settings to the child pipeline849 when upstream pipeline is a child pipeline850 does not create a further child pipeline851 when downstream pipeline creation errors out852 creates only one new pipeline853 creates a new pipeline in the downstream project854 drops the bridge855 when bridge job status update raises state machine errors856 tracks the exception857 when bridge job has YAML variables defined858 passes bridge variables to downstream pipeline859 when pipeline variables are defined860 does not pass pipeline variables directly downstream861 when using YAML variables interpolation862 makes it possible to pass pipeline variable downstream863 when configured with bridge job rules864 that include the bridge job865 creates the downstream pipeline866 when user does not have access to push protected branch of downstream project867 changes status of the bridge build868 when there is no such branch in downstream project869 does not create a pipeline and drops the bridge870 when downstream pipeline has a branch rule and does not satisfy871 does not create a pipeline and drops the bridge872 when downstream pipeline has invalid YAML873 creates the pipeline but drops the bridge874Gitlab::CycleAnalytics::StageSummary875 #new_issues876 doesn't find issues from other projects877 when from date is given878 finds the number of issues created after the 'from date'879 returns the localized title880 when `to` parameter is given881 doesn't find any record882 finds records created between `from` and `to` range883 #commits884 doesn't find commits from other projects885 finds a large (> 100) number of commits if present886 when from date is given887 finds the number of commits created after the 'from date'888 returns the localized title889 when `to` parameter is given890 doesn't find any record891 finds records created between `from` and `to` range892 when a guest user is signed in893 does not include commit stats894 #deploys895 doesn't find commits from other projects896 when from date is given897 finds the number of deploys made created after the 'from date'898 returns the localized title899 when `to` parameter is given900 doesn't find any record901 finds records created between `from` and `to` range902 #deployment_frequency903 includes the unit: `per day`904 returns 0.0 when there were deploys but the frequency was too low905 returns `-` when there were no deploys906 when `to` is nil907 includes range until now908 when `to` is given909 finds records created between `from` and `to` range910 when `from` and `to` are within a day911 returns the number of deployments made on that day912Gitlab::Diff::File913 #diff_lines914 is expected to eq 30915 is expected to be a kind of Gitlab::Diff::Line916 #highlighted_diff_lines917 highlights the diff and memoises the result918 #diff_lines_for_serializer919 includes bottom match line if not in the end920 when called multiple times921 only adds bottom match line once922 when deleted923 does not include bottom match line924 #unfold_diff_lines925 when unfold required926 changes @unfolded to true927 updates @diff_lines928 when unfold not required929 keeps @unfolded false930 does not update @diff_lines931 #mode_changed?932 is expected to be falsey933 #too_large?934 returns true for a file that is too large935 returns false for a file that is small enough936 #collapsed?937 returns true for a file that is quite big938 returns false for a file that is small enough939 #old_blob and #new_blob940 returns blob of base commit and the new commit941 #diffable?942 returns true for files that do not have attributes943 returns false for files that have been marked as not being diffable in attributes944 #content_changed?945 when created946 returns false947 when deleted948 returns false949 when renamed950 returns false951 when content changed952 when binary953 when the blobs are different954 returns true955 when there are no diff refs956 returns false957 when not binary958 when the blobs are different959 returns true960 when there are no diff refs961 returns true962 #file_hash963 returns a hash of file_path964 #file_identifier_hash965 returns a hash of file_identifier966 diff file stats967 #added_lines968 when stats argument given969 returns added lines from stats970 when stats argument not given971 returns added lines by parsing raw diff972 #removed_lines973 when stats argument given974 returns removed lines from stats975 when stats argument not given976 returns removed lines by parsing raw diff977 #simple_viewer978 when the file is collapsed979 returns a Collapsed viewer980 when the file is not diffable981 returns a Not Diffable viewer982 when the content changed983 when the file represented by the diff file is binary984 returns a No Preview viewer985 when the diff file old and new blob types are different986 returns a No Preview viewer987 when the file represented by the diff file is text-based988 returns a text viewer989 when created990 when the file represented by the diff file is binary991 returns an Added viewer992 when the diff file old and new blob types are different993 returns an Added viewer994 when the file represented by the diff file is text-based995 returns a text viewer996 when deleted997 when the file represented by the diff file is binary998 returns a Deleted viewer999 when the diff file old and new blob types are different1000 returns a Deleted viewer1001 when the file represented by the diff file is text-based1002 returns a text viewer1003 when renamed1004 returns a Renamed viewer1005 when mode changed1006 returns a Mode Changed viewer1007 when no other conditions apply1008 returns a No Preview viewer1009 #rich_viewer1010 when the diff file has a matching viewer1011 when the diff file content did not change1012 returns nil1013 when the diff file is not diffable1014 returns nil1015 when the diff file old and new blob types are different1016 returns nil1017 when the diff file has an external storage error1018 returns nil1019 when everything is right1020 returns the viewer1021 when the diff file does not have a matching viewer1022 returns nil1023 #alternate_viewer1024 viewer_class: DiffViewer::Image1025 is expected to be nil1026 viewer_class: DiffViewer::Collapsed1027 is expected to be nil1028 viewer_class: DiffViewer::NotDiffable1029 is expected to be nil1030 viewer_class: DiffViewer::Text1031 is expected to be nil1032 viewer_class: DiffViewer::NoPreview1033 is expected to be nil1034 viewer_class: DiffViewer::Added1035 is expected to be nil1036 viewer_class: DiffViewer::Deleted1037 is expected to be nil1038 viewer_class: DiffViewer::ModeChanged1039 is expected to be nil1040 viewer_class: DiffViewer::ModeChanged1041 is expected to be nil1042 viewer_class: DiffViewer::NoPreview1043 is expected to be nil1044 when viewer is DiffViewer::Renamed1045 when it can be rendered as text1046 is expected to be a kind of DiffViewer::Text1047 when it can be rendered as image1048 is expected to be a kind of DiffViewer::Image1049 when it is something else1050 is expected to be nil1051 #rendered_as_text?1052 when the simple viewer is text-based1053 when ignoring errors1054 when the viewer has render errors1055 returns true1056 when the viewer doesn't have render errors1057 returns true1058 when not ignoring errors1059 when the viewer has render errors1060 returns false1061 when the viewer doesn't have render errors1062 returns true1063 when the simple viewer is binary1064 returns false1065 when neither blob exists1066 #blob1067 returns a concrete nil so it can be used in boolean expressions1068 #binary?1069 returns false1070 #size1071 returns zero1072 #empty?1073 returns true1074 #different_type?1075 returns false1076 #content_changed?1077 returns false1078 #diff_hunk1079 when first line is a match1080 returns raw diff up to given line index1081 when first line is not a match1082 returns raw diff up to given line index1083 #empty?1084 when empty file is created1085 returns true1086 when empty file is deleted1087 returns true1088 when file with content is truncated1089 returns false1090 when empty file has content added1091 returns false1092 #fully_expanded?1093 when empty file is created1094 returns true1095 when empty file is deleted1096 returns true1097 when short file with last line removed1098 returns true1099 when a single line is added to empty file1100 returns true1101 when single line file is changed1102 returns true1103 when long file is changed1104 when first line is removed1105 returns true1106 when last line is removed1107 returns true1108 when first and last lines are removed1109 returns false1110 when first and last lines are changed1111 returns false1112 when every line are changed1113 returns true1114 when all contents are cleared1115 returns true1116 when file is binary1117 returns true1118Namespace1119 associations1120 is expected to have many projects1121 is expected to have many project_statistics1122 is expected to belong to parent required:1123 is expected to have many children1124 is expected to have one root_storage_statistics1125 is expected to have one aggregation_schedule1126 is expected to have one namespace_settings1127 is expected to have many custom_emoji1128 validations1129 is expected to validate that :name cannot be empty/falsy1130 is expected to validate that the length of :name is at most 2551131 is expected to validate that the length of :description is at most 2551132 is expected to validate that :path cannot be empty/falsy1133 is expected to validate that the length of :path is at most 2551134 is expected to validate that :owner cannot be empty/falsy1135 is expected to validate that :max_artifacts_size looks like an integer greater than 01136 does not allow too deep nesting1137 reserved path validation1138 nested group1139 is expected not to be valid1140 rejects nested paths1141 is case insensitive1142 is expected not to be valid1143 top-level group1144 is expected to be valid1145 1 char path length1146 does not allow to create one1147 does not allow to update one1148 allows updating other attributes for existing record1149 delegate1150 is expected to delegate #owner_name to the #owner object passing arguments [{:allow_nil=>true}] as #name1151 is expected to delegate #avatar_url to the #owner object passing arguments [{:allow_nil=>true}]1152 Respond to1153 is expected to respond to #human_name1154 is expected to respond to #to_param1155 is expected to respond to #has_parent?1156 inclusions1157 is expected to includes the Gitlab::VisibilityLevel module1158 #visibility_level_field1159 is expected to eq :visibility_level1160 #to_param1161 is expected to eq "namespace637"1162 #human_name1163 is expected to eq "John Doe843"1164 #first_project_with_container_registry_tags1165 returns the project1166 returns no project1167 .search1168 returns namespaces with a matching name1169 returns namespaces with a partially matching name1170 returns namespaces with a matching name regardless of the casing1171 returns namespaces with a matching path1172 returns namespaces with a partially matching path1173 returns namespaces with a matching path regardless of the casing1174 .with_statistics1175 sums all project storage counters in the namespace1176 correctly handles namespaces without projects1177 .find_by_pages_host1178 finds namespace by GitLab Pages host and is case-insensitive1179 returns no result if the provided host is not subdomain of the Pages host1180 when there is non-top-level group with searched name1181 ignores this group1182 finds right top level group1183 #ancestors_upto1184 returns all ancestors when no namespace is given1185 includes ancestors upto but excluding the given ancestor1186 #move_dir1187 legacy storage1188 raises error when directory exists1189 moves dir if path changed1190 behaves like namespace restrictions1191 when any project has container images1192 raises an error about not movable project1193 when #write_projects_repository_config raises an error1194 in test environment1195 raises an exception1196 in production environment1197 does not cancel later callbacks1198 project is without repository storage feature1199 behaves like move_dir without repository storage feature1200 calls namespace service1201 behaves like move_dir without repository storage feature1202 calls namespace service1203 project has repository storage feature1204 behaves like move_dir with repository storage feature1205 does not call namespace service1206 behaves like move_dir with repository storage feature1207 does not call namespace service1208 with subgroups1209 renaming child1210 when async_pages_move_namespace_rename is disabled1211 correctly moves the repository, uploads and pages1212 when no projects have pages deployed1213 moves the repository and uploads1214 when the project has pages deployed1215 correctly moves the repository, uploads and pages1216 renaming parent1217 when async_pages_move_namespace_rename is disabled1218 correctly moves the repository, uploads and pages1219 when no projects have pages deployed1220 moves the repository and uploads1221 when the project has pages deployed1222 correctly moves the repository, uploads and pages1223 moving from one parent to another1224 when async_pages_move_namespace_transfer is disabled1225 correctly moves the repository, uploads and pages1226 when no projects have pages deployed1227 moves the repository and uploads1228 when the project has pages deployed1229 correctly moves the repository, uploads and pages1230 moving from having a parent to root1231 when async_pages_move_namespace_transfer is disabled1232 correctly moves the repository, uploads and pages1233 when no projects have pages deployed1234 moves the repository and uploads1235 when the project has pages deployed1236 correctly moves the repository, uploads and pages1237 moving from root to having a parent1238 when async_pages_move_namespace_transfer is disabled1239 correctly moves the repository, uploads and pages1240 when no projects have pages deployed1241 moves the repository and uploads1242 when the project has pages deployed1243 correctly moves the repository, uploads and pages1244 hashed storage1245 repository directory remains unchanged if path changed1246 behaves like namespace restrictions1247 when any project has container images1248 raises an error about not movable project1249 for each project inside the namespace1250 updates project full path in .git/config1251 updates the project storage location1252 #rm_dir callback1253 legacy storage1254 renames its dirs when deleted1255 schedules the namespace for deletion1256 in sub-groups1257 renames its dirs when deleted1258 schedules the namespace for deletion1259 hashed storage1260 has no repositories base directories to remove1261 .find_by_path_or_name1262 is expected to eq #<Namespace id: 1096, name: "John Doe926", path: "woW", owner_id: 969, created_at: "2020-08-31 02:45:...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>1263 is expected to eq #<Namespace id: 1098, name: "John Doe928", path: "woW", owner_id: 971, created_at: "2020-08-31 02:45:...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>1264 is expected to eq nil1265 .clean_path1266 cleans the path and makes sure it's available1267 .clean_name1268 when the name complies with the group name regex1269 returns the name as is1270 when the name does not comply with the group name regex1271 sanitizes the name by replacing all invalid char sequences with a space1272 #default_branch_protection1273 for a namespace1274 returns the instance level setting1275 for a group1276 that has not altered the default value1277 returns the instance level setting1278 that has altered the default value1279 returns the group level setting1280 #self_and_hierarchy1281 returns the correct tree1282 #ancestors1283 returns the correct ancestors1284 #self_and_ancestors1285 returns the correct ancestors1286 #descendants1287 returns the correct descendants1288 #self_and_descendants1289 returns the correct descendants1290 #users_with_descendants1291 returns member users on every nest level without duplication1292 #user_ids_for_project_authorizations1293 returns the user IDs for which to refresh authorizations1294 #all_projects1295 is expected to contain exactly #<Project id:840 group113/group114/project832>> and #<Project id:839 group113/project831>>1296 is expected to contain exactly #<Project id:842 group115/group116/project834>>1297 #all_pipelines1298 is expected to contain exactly #<Ci::Pipeline id: 132, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...source_sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: nil, locked: "unlocked"> and #<Ci::Pipeline id: 133, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: n...source_sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: nil, locked: "unlocked">1299 #share_with_group_lock with subgroups1300 when creating a subgroup1301 under a parent with "Share with group lock" enabled1302 enables "Share with group lock" on the subgroup1303 under a parent with "Share with group lock" disabled1304 does not enable "Share with group lock" on the subgroup1305 when enabling the parent group "Share with group lock"1306 the subgroup "Share with group lock" becomes enabled1307 when disabling the parent group "Share with group lock" (which was already enabled)1308 and the subgroup "Share with group lock" is enabled1309 the subgroup "Share with group lock" does not change1310 but the subgroup "Share with group lock" is disabled1311 the subgroup "Share with group lock" does not change1312 when a group is transferred into a root group1313 when the root group "Share with group lock" is enabled1314 when the subgroup "Share with group lock" is enabled1315 the subgroup "Share with group lock" does not change1316 when the subgroup "Share with group lock" is disabled1317 the subgroup "Share with group lock" becomes enabled1318 when the root group "Share with group lock" is disabled1319 when the subgroup "Share with group lock" is enabled1320 the subgroup "Share with group lock" does not change1321 when the subgroup "Share with group lock" is disabled1322 the subgroup "Share with group lock" does not change1323 #find_fork_of?1324 knows if there is a direct fork in the namespace1325 knows when there is as fork-of-fork in the namespace1326 with request store enabled1327 only queries once1328 #root_ancestor1329 returns root_ancestor for root group without a query1330 returns the top most ancestor1331 #full_path_before_last_save1332 when the group has no parent1333 returns the path before last save1334 when a parent is assigned to a group with no previous parent1335 returns the path before last save1336 when a parent is removed from the group1337 returns the parent full path1338 when changing parents1339 returns the previous parent full path1340 #auto_devops_enabled1341 with users1342 when auto devops is explicitly enabled1343 is expected to eq true1344 when auto devops is explicitly disabled1345 is expected to eq false1346 #user?1347 when type is a user1348 is expected to be truthy1349 when type is a group1350 is expected to be falsy1351 #aggregation_scheduled?1352 with an aggregation scheduled association1353 is expected to be truthy1354 without an aggregation scheduled association1355 is expected to be falsy1356 #emails_disabled?1357 when not a subgroup1358 returns false1359 returns true1360 does not query the db when there is no parent group1361 when a subgroup1362 returns false1363 when ancestor emails are disabled1364 returns true1365 #pages_virtual_domain1366 when there are pages deployed for the project1367 preloads project_feature and route1368 but pages metadata is not migrated1369 migrates pages metadata and returns the virual domain1370 and pages metadata is migrated1371 returns the virual domain1372 #any_project_with_pages_deployed?1373 returns true if any project nested under the group has pages deployed1374 #has_parent?1375 returns true when the group has a parent1376 returns true when the group has an unsaved parent1377 returns false when the group has no parent1378 #closest_setting1379 when setting is of non-boolean type1380 root_setting: 100, child_setting: 200, result: 2001381 behaves like fetching closest setting1382 returns closest non-nil value1383 root_setting: 100, child_setting: nil, result: 1001384 behaves like fetching closest setting1385 returns closest non-nil value1386 root_setting: nil, child_setting: nil, result: nil1387 behaves like fetching closest setting1388 returns closest non-nil value1389 when setting is of boolean type1390 root_setting: true, child_setting: false, result: false1391 behaves like fetching closest setting1392 returns closest non-nil value1393 root_setting: true, child_setting: nil, result: true1394 behaves like fetching closest setting1395 returns closest non-nil value1396 root_setting: nil, child_setting: nil, result: nil1397 behaves like fetching closest setting1398 returns closest non-nil value1399Issues::CloseService1400 #execute1401 checks if the user is authorized to update the issue1402 does not close the issue when the user is not authorized to do so1403 closes the external issue even when the user is not authorized to do so1404 closes the issue when the user is authorized to do so1405 refreshes the number of open issues1406 invalidates counter cache for assignees1407 #close_issue1408 with external issue1409 with an active external issue tracker supporting close_issue1410 closes the issue on the external issue tracker1411 with innactive external issue tracker supporting close_issue1412WARNING: An expectation of `:close_issue` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/spec/services/issues/close_service_spec.rb:88:in `block (5 levels) in <top (required)>'.1413 does not close the issue on the external issue tracker1414 with an active external issue tracker not supporting close_issue1415 does not close the issue on the external issue tracker1416 closed by a merge request1417 mentions closure via a merge request1418 when user cannot read merge request1419 does not mention merge request1420 updating `metrics.first_mentioned_in_commit_at`1421 when `metrics.first_mentioned_in_commit_at` is not set1422 uses the first commit authored timestamp1423 when `metrics.first_mentioned_in_commit_at` is already set1424 does not update the metrics1425 when merge request has no commits1426 does not update the metrics1427 closed by a commit1428 mentions closure via a commit1429 when user cannot read the commit1430 does not mention the commit id1431 valid params1432 closes the issue1433 records closed user1434 sends email to user2 about assign of new issue1435 marks todos as done1436 deletes milestone issue counters cache1437 when resource state events are disabled1438 creates system note about the issue being closed1439 when resource state events are enabled1440 creates resource state event about the issue being closed1441 when there is an associated Alert Management Alert1442 when alert can be resolved1443 resolves an alert and sends a system note1444 when alert cannot be resolved1445 writes a warning into the log1446 when issue is not confidential1447 executes issue hooks1448 when issue is confidential1449 executes confidential issue hooks1450 internal issues disabled1451 does not close the issue1452EnvironmentSerializer1453 when there is a single object provided1454 contains important elements of environment1455 contains relevant information about last deployment1456 when there is a collection of objects provided1457 contains important elements of environment1458 generates payload for collection1459 when representing environments within folders1460 when there is a single environment1461 represents one standalone environment1462 when there are multiple environments in folder1463 represents one item that is a folder1464 when there are multiple folders and standalone environments1465 represents multiple items grouped within folders1466 when used with pagination1467 creates a paginated serializer1468 when resource is paginatable relation1469 when there is a single environment object in relation1470 serializes environments1471 when multiple environment objects are serialized1472 serializes appropriate number of objects1473 appends relevant headers1474 when grouping environments within folders1475 paginates grouped items including ordering1476 appends correct total page count header1477 appends correct page count headers1478Gitlab::CycleAnalytics::StagingStage1479 behaves like base stage1480 has the median data value1481 has the median data stage1482 has the median data description1483 has the title1484 has the events1485 #project_median1486 counts median from issues with metrics1487 behaves like calculate #median with date range1488 when valid date range is given1489 is expected to eq 18001490 when records are out of the date range1491 is expected to eq nil1492 #events1493 exposes builds connected to merge request1494 when group is given1495 #group_median1496 counts median from issues with metrics1497 #events1498 exposes merge requests that close issues1499PipelineEntity1500 #as_json1501 when pipeline is empty1502 contains required fields1503 excludes coverage data when disabled1504 contains details1505 contains flags1506 when pipeline is retryable1507 does not serialize stage builds1508 user has ability to retry pipeline1509 contains retry path1510 user does not have ability to retry pipeline1511 does not contain retry path1512 when pipeline is cancelable1513 does not serialize stage builds1514 user has ability to cancel pipeline1515 contains cancel path1516 user does not have ability to cancel pipeline1517 does not contain cancel path1518 delete path1519 user has ability to delete pipeline1520 contains delete path1521 user does not have ability to delete pipeline1522 does not contain delete path1523 when pipeline ref is empty1524 does not generate branch path1525 when pipeline has a failure reason set1526 has a correct failure reason1527 when pipeline is detached merge request pipeline1528 makes detached flag true1529 does not expose source sha and target sha1530 when user is a developer1531 has merge request information1532 when user is an external user1533 has no merge request information1534 when pipeline is merge request pipeline1535 makes detached flag false1536 makes atached flag true1537 exposes source sha and target sha1538 exposes merge request event type1539 when pipeline has failed builds1540 when the user can retry the pipeline1541 exposes these failed builds1542 when the user cannot retry the pipeline1543 is nil1544 when pipeline has build report results1545 exposes tests total count1546Gitlab::Git::Blob1547 initialize1548 handles nil data1549 records blob size1550 when untruncated1551 attempts to record gitlab_blob_truncated_false1552 when truncated1553 attempts to record gitlab_blob_truncated_true1554 .find with Gitaly enabled1555 behaves like .find1556 nil path1557 is expected to eq nil1558 utf-8 branch1559 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1560 blank path1561 is expected to eq nil1562 file in subdir1563 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1564 is expected to eq "popen.rb"1565 is expected to eq "files/ruby/popen.rb"1566 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1567 is expected to eq "require 'fi"1568 is expected to eq 6691569 is expected to eq "100644"1570 file in root1571 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1572 is expected to eq ".gitignore"1573 is expected to eq ".gitignore"1574 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1575 is expected to eq "*.rbc\n*.sas"1576 is expected to eq 2411577 is expected to eq "100644"1578 is expected not to be binary in repo1579 file in root with leading slash1580 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1581 is expected to eq ".gitignore"1582 is expected to eq ".gitignore"1583 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1584 is expected to eq "*.rbc\n*.sas"1585 is expected to eq 2411586 is expected to eq "100644"1587 non-exist file1588 is expected to be nil1589 six submodule1590 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"1591 is expected to eq ""1592 does not get messed up by load_all_data!1593 does not mark the blob as binary1594 large file1595 is expected to eq 1118031596 is expected to eq 10001597 check that this test is sane1598 can load all data1599 marks the blob as binary1600 .find with Rugged enabled1601 calls out to the Rugged implementation1602 behaves like .find1603 nil path1604 is expected to eq nil1605 utf-8 branch1606 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1607 blank path1608 is expected to eq nil1609 file in subdir1610 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1611 is expected to eq "popen.rb"1612 is expected to eq "files/ruby/popen.rb"1613 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1614 is expected to eq "require 'fi"1615 is expected to eq 6691616 is expected to eq "100644"1617 file in root1618 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1619 is expected to eq ".gitignore"1620 is expected to eq ".gitignore"1621 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1622 is expected to eq "*.rbc\n*.sas"1623 is expected to eq 2411624 is expected to eq "100644"1625 is expected not to be binary in repo1626 file in root with leading slash1627 is expected to eq "dfaa3f97ca337e20154a98ac9d0be76ddd1fcc82"1628 is expected to eq ".gitignore"1629 is expected to eq ".gitignore"1630 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1631 is expected to eq "*.rbc\n*.sas"1632 is expected to eq 2411633 is expected to eq "100644"1634 non-exist file1635 is expected to be nil1636 six submodule1637 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"1638 is expected to eq ""1639 does not get messed up by load_all_data!1640 does not mark the blob as binary1641 large file1642 is expected to eq 1118031643 is expected to eq 10001644 check that this test is sane1645 can load all data1646 marks the blob as binary1647 .raw1648 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1649 is expected to eq "require 'fi"1650 is expected to eq 6691651 is expected to be falsey1652 is expected to be nil1653 large file1654 limits the size of a large file1655 when sha references a tree1656 returns nil1657 .batch1658 is expected to eq 21659 first blob1660 is expected to eq "7e3e39ebb9b2bf433b4ad17313770fbe4051649c"1661 is expected to eq "popen.rb"1662 is expected to eq "files/ruby/popen.rb"1663 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"1664 is expected to eq "require 'fi"1665 is expected to eq 6691666 is expected to eq "100644"1667 second blob1668 is expected to eq "409f37c4f05865e4fb208c771485f211a22c4c2d"1669 is expected to eq ""1670 does not mark the blob as binary1671 limiting1672 positive1673 is expected to eq 101674 zero1675 only loads the metadata1676 negative1677 ignores MAX_DATA_DISPLAY_SIZE1678 when large number of blobs requested1679 fetches the blobs in batches1680 .batch_metadata1681 returns an empty data attribute1682 .batch_lfs_pointers1683 returns a list of Gitlab::Git::Blob1684 accepts blob IDs as a lazy enumerator1685 handles empty list of IDs gracefully1686 silently ignores tree objects1687 silently ignores non lfs objects1688 avoids loading large blobs into memory1689 encoding1690 file with russian text1691 has the correct blob attributes1692 file with Japanese text1693 has the correct blob attributes1694 file with ISO-8859 text1695 has the correct blob attributes1696 mode1697 file regular1698 is expected to eq "regex.rb"1699 is expected to eq "files/ruby/regex.rb"1700 is expected to eq 12001701 is expected to eq "100644"1702 file binary1703 is expected to eq "ls"1704 is expected to eq "files/executables/ls"1705 is expected to eq 1100801706 is expected to eq "100755"1707 file symlink to regular1708 is expected to eq "ruby-style-guide.md"1709 is expected to eq "files/links/ruby-style-guide.md"1710 is expected to eq 311711 is expected to eq "120000"1712 file symlink to binary1713 is expected to eq "touch"1714 is expected to eq "files/links/touch"1715 is expected to eq 201716 is expected to eq "120000"1717 lfs_pointers1718 file a valid lfs pointer1719 is expected to eq true1720 is expected to eq "4206f951d2691c78aac4c0ce9f2b23580b2c92cdcc4336e1028742c0274938e0"1721 is expected to eq 195481722 is expected to eq "f4d76af13003d1106be7ac8c5a2a3d37ddf32c2a"1723 is expected to eq "image.jpg"1724 is expected to eq "files/lfs/image.jpg"1725 is expected to eq 1301726 is expected to eq "100644"1727 file an invalid lfs pointer1728 with correct version header but incorrect size and oid1729 is expected to eq false1730 is expected to eq nil1731 is expected to eq nil1732 is expected to eq "f8a898db217a5a85ed8b3d25b34c1df1d1094c46"1733 is expected to eq "archive-invalid.tar"1734 is expected to eq "files/lfs/archive-invalid.tar"1735 is expected to eq 431736 is expected to eq "100644"1737 with correct version header and size but incorrect size and oid1738 is expected to eq false1739 is expected to eq nil1740 is expected to eq 15750781741 is expected to eq "5ae35296e1f95c1ef9feda1241477ed29a448572"1742 is expected to eq "picture-invalid.png"1743 is expected to eq "files/lfs/picture-invalid.png"1744 is expected to eq 571745 is expected to eq "100644"1746 with correct version header and size but invalid size and oid1747 is expected to eq false1748 is expected to eq nil1749 is expected to eq nil1750 is expected to eq "d831981bd876732b85a1bcc6cc01210c9f36248f"1751 is expected to eq "file-invalid.zip"1752 is expected to eq "files/lfs/file-invalid.zip"1753 is expected to eq 601754 is expected to eq "100644"1755 #load_all_data!1756 loads missing data1757 with a fully loaded blob1758 doesn't perform any loading1759 #truncated?1760 when blob.size is nil1761 returns false1762 when blob.data is missing1763 returns false1764 when the blob is truncated1765 returns true1766 when the blob is untruncated1767 returns false1768 metrics1769 defines :gitlab_blob_truncated_true counter1770 defines :gitlab_blob_truncated_false counter1771 defines :gitlab_blob_size histogram1772 #lines1773 when the encoding cannot be detected1774 successfully splits the data1775Gitlab::Email::Handler::CreateMergeRequestHandler1776 behaves like reply_processing_shared_examples1777 when the user could not be found1778 raises a UserNotFoundError1779 when the user is not authorized to the project1780 raises a ProjectNotFound1781 when email key1782 matches the new format1783 matches the legacy format1784 doesn't match either format1785 as a non-developer1786 raises UserNotAuthorizedError if the user is not a member1787 as a developer1788 when everything is fine1789 behaves like a new merge request1790 creates a new merge request1791 creates a new merge request with legacy email address1792 behaves like a new merge request1793 creates a new merge request1794 something is wrong1795 when the merge request could not be saved1796 raises an InvalidMergeRequestError1797 when we can't find the incoming_email_token1798 raises an UserNotFoundError1799 when the subject is blank1800 raises an InvalidMergeRequestError1801 when the message body is blank1802 creates a new merge request with description set from the last commit1803 when the email contains patch attachments1804 creates the source branch and applies the patches1805 creates the merge request1806 does not mention the patches in the created merge request1807 when the patch could not be applied1808 raises an error1809 when specifying the target branch using quick actions1810 creates the merge request with the correct target branch1811 based the merge request of the target_branch1812 #patch_attachments1813 orders attachments ending in `.patch` by name1814CycleAnalytics#issue1815 start condition: issue created1816 end condition: issue associated with a milestone1817 finds the median of available durations between the two conditions1818 when the data belongs to another project1819 returns nil1820 when the end condition happens before the start condition1821 returns nil1822 start condition NOT PRESENT: issue created1823 end condition: issue associated with a milestone1824 returns nil1825 start condition: issue created1826 end condition NOT PRESENT: issue associated with a milestone1827 returns nil1828 start condition: issue created1829 end condition: list label added to issue1830 finds the median of available durations between the two conditions1831 when the data belongs to another project1832 returns nil1833 when the end condition happens before the start condition1834 returns nil1835 start condition NOT PRESENT: issue created1836 end condition: list label added to issue1837 returns nil1838 start condition: issue created1839 end condition NOT PRESENT: list label added to issue1840 returns nil1841 start condition: issue created1842 end condition: issue associated with a milestone and list label added to issue1843 finds the median of available durations between the two conditions1844 when the data belongs to another project1845 returns nil1846 when the end condition happens before the start condition1847 returns nil1848 start condition NOT PRESENT: issue created1849 end condition: issue associated with a milestone and list label added to issue1850 returns nil1851 start condition: issue created1852 end condition NOT PRESENT: issue associated with a milestone and list label added to issue1853 returns nil1854 when none of the start / end conditions are matched1855 returns nil1856 when a regular label (instead of a list label) is added to the issue1857 returns nil1858ProjectPresenter1859 #license_short_name1860 when project.repository has a license_key1861 returns the nickname of the license if present1862 returns the name of the license if nickname is not present1863 when project.repository has no license_key but a license_blob1864 returns LICENSE1865 #default_view1866 user not signed in1867 when repository is empty1868 returns activity if user has repository access1869 returns activity if user does not have repository access1870 when repository is not empty1871 returns files and readme if user has repository access1872 returns activity if user does not have repository access1873 returns releases anchor1874 user signed in1875 when the user is allowed to see the code1876 returns the project view1877 with wikis enabled and the right policy for the user1878 returns wiki if the user has the right policy1879 returns customize_workflow if the user does not have the right policy1880 with issues as a feature available1881 return issues1882 with no activity, no wikies and no issues1883 returns customize_workflow as default1884 #can_current_user_push_code?1885 empty repo1886 returns true if user can push_code1887 returns false if user cannot push_code1888 not empty repo1889 returns true if user can push to default branch1890 returns false if default branch is protected1891 statistics anchors (empty repo)1892 #files_anchor_data1893 returns files data1894 #storage_anchor_data1895 returns storage data1896 #releases_anchor_data1897 does not return release count1898 #commits_anchor_data1899 returns commits data1900 #branches_anchor_data1901 returns branches data1902 #tags_anchor_data1903 returns tags data1904 statistics anchors1905 #files_anchor_data1906 returns files data1907 #storage_anchor_data1908 returns storage data1909 #releases_anchor_data1910 returns release count if user can read release1911 returns nil if user cannot read release1912 user not signed in1913 returns nil if user is signed out1914 #commits_anchor_data1915 returns commits data1916 #branches_anchor_data1917 returns branches data1918 #tags_anchor_data1919 returns tags data1920 #new_file_anchor_data1921 returns new file data if user can push1922 returns nil if user cannot push1923 when the project is empty1924 is empty for a developer1925 #readme_anchor_data1926 when user can push and README does not exists1927 returns anchor data1928 when README exists1929 returns anchor data1930 #changelog_anchor_data1931 when user can push and CHANGELOG does not exist1932 returns anchor data1933 when CHANGELOG exists1934 returns anchor data1935 #license_anchor_data1936 when user can push and LICENSE does not exist1937 returns anchor data1938 when LICENSE exists1939 returns anchor data1940 #contribution_guide_anchor_data1941 when user can push and CONTRIBUTING does not exist1942 returns anchor data1943 when CONTRIBUTING exists1944 returns anchor data1945 #autodevops_anchor_data1946 when Auto Devops is enabled1947 returns anchor data1948 when user can admin pipeline and CI yml does not exist1949 returns anchor data1950 #kubernetes_cluster_anchor_data1951 when user can create Kubernetes cluster1952 returns link to cluster if only one exists1953 returns link to clusters page if more than one exists1954 returns link to create a cluster if no cluster exists1955 when user cannot create Kubernetes cluster1956 returns nil1957 #statistics_buttons1958 orders the items correctly1959 #repo_statistics_buttons1960 empty repo1961 for a guest user1962 orders the items correctly1963 for a developer1964 orders the items correctly1965 initialized repo1966 orders the items correctly1967 #can_setup_review_app?1968 when the ci/cd file is missing1969 is expected to be truthy1970 when the ci/cd file is not missing1971 and the user can create a cluster1972 and there is no cluster associated to this project1973 is expected to be truthy1974 and there is already a cluster associated to this project1975 is expected to be falsey1976 when a group cluster is instantiated1977 and the project belongs to this group1978 is expected to be falsey1979 and the project does not belong to this group1980 is expected to be truthy1981 and there is already an instance cluster1982 is false1983 and the user cannot create a cluster1984 is expected to be falsey1985Todos::Destroy::PrivateFeaturesService1986 when user_id is provided1987 when all features have same visibility as the project1988 removes only user issue todos1989 when issues are visible only to project members but the user is a member1990 does not remove any todos1991 when issues are visible only to project members1992 removes only user issue todos1993 when mrs, builds and repository are visible only to project members1994 removes only user mr and commit todos1995 when mrs are visible only to project members1996 removes only user merge request todo1997 when mrs and issues are visible only to project members1998 removes only user merge request and issue todos1999 when user_id is not provided2000 when all features have same visibility as the project2001 does not remove any todos2002 when issues are visible only to project members2003 removes only non members issue todos2004 when mrs, builds and repository are visible only to project members2005 removes only non members mr and commit todos2006 when mrs are visible only to project members2007 removes only non members merge request todos2008 when mrs and issues are visible only to project members2009 removes only non members merge request and issue todos2010Banzai::Filter::UserReferenceFilter2011 requires project context2012 ignores invalid users2013 ignores references with text before the @ sign2014 ignores valid references contained inside 'pre' element2015 ignores valid references contained inside 'code' element2016 ignores valid references contained inside 'a' element2017 ignores valid references contained inside 'style' element2018 links with adjacent text2019 includes default classes2020 behaves like user reference or project reference2021 supports an :only_path context2022 mentioning a resource2023 links to a resource2024 links to a resource with a period2025 links to a resource with an underscore2026 links to a resource with different case-sensitivity2027 behaves like a reference containing an element node2028 does not escape inner html2029 behaves like it contains a data- attribute2030 includes a data- attribute2031 referencing a resource in a link href2032 links to the resource2033 links with adjacent text2034 behaves like it contains a data- attribute2035 includes a data- attribute2036 mentioning @all2037 supports a special @all mention2038 includes a data-author attribute when there is an author2039 does not include a data-author attribute when there is no author2040 ignores reference to all when the user is not a project member2041 behaves like a reference containing an element node2042 does not escape inner html2043 mentioning a group2044 links to the Group2045 includes a data-group attribute2046 behaves like a reference containing an element node2047 does not escape inner html2048 mentioning a nested group2049 links to the nested group2050 has the full group name as a title2051 behaves like a reference containing an element node2052 does not escape inner html2053 when a project is not specified2054 does not link a User2055 when skip_project_check set to true2056 links to a User2057 does not link users using @all reference2058 in group context2059 supports a special @all mention2060 supports mentioning a single user2061 supports mentioning a group2062 #namespaces2063 returns a Hash containing all Namespaces2064 #usernames2065 returns the usernames mentioned in a document2066AvatarsHelper2067 #project_icon & #group_icon2068 when providing a project2069 behaves like resource with a default avatar2070 returns a default avatar div2071 behaves like resource with a custom avatar2072 returns a custom avatar image2073 when Gitaly is unavailable2074 handles Gitaly exception gracefully2075 behaves like resource with a default avatar2076 returns a default avatar div2077 when Gitaly request is taking too long2078 handles Gitaly exception gracefully2079 behaves like resource with a default avatar2080 returns a default avatar div2081 when providing a group2082 behaves like resource with a default avatar2083 returns a default avatar div2084 behaves like resource with a custom avatar2085 returns a custom avatar image2086 #avatar_icon_for2087 prefers the user to retrieve the avatar_url2088 falls back to email lookup if no user given2089 #avatar_icon_for_email2090 using an email2091 when there is a matching user2092 returns a relative URL for the avatar2093 when no user exists for the email2094 calls gravatar_icon2095 without an email passed2096 calls gravatar_icon2097 #avatar_icon_for_user2098 with a user object passed2099 returns a relative URL for the avatar2100 without a user object passed2101 calls gravatar_icon2102 #gravatar_icon2103 with Gravatar disabled2104 returns a generic avatar2105 with Gravatar enabled2106 returns a generic avatar when email is blank2107 returns a valid Gravatar URL2108 uses HTTPs when configured2109 returns custom gravatar path when gravatar_url is set2110 accepts a custom size argument2111 defaults size to 40@2x when given an invalid size2112 accepts a scaling factor2113 ignores case and surrounding whitespace2114 #user_avatar2115 links to the user's profile2116 has the user's name as title2117 contains the user's avatar image2118 #user_avatar_without_link2119 displays user avatar2120 with css_class parameter2121 uses provided css_class2122 with size parameter2123 uses provided size2124 with url parameter2125 uses provided url2126 with lazy parameter2127 adds `lazy` class to class list, sets `data-src` with avatar URL and `src` with placeholder image2128 with has_tooltip parameter2129 with has_tooltip set to true2130 adds has-tooltip2131 with has_tooltip set to false2132 does not add has-tooltip or data container2133 with user_name parameter2134 uses user_name and user_email parameter if user is not present2135 with user parameter2136 prefers user parameter2137 with only_path parameter set to false2138 with user parameter2139 will return avatar with a full path2140 with user_name and user_email2141 will return avatar with a full path2142 with unregistered email address2143 will return default alt text for avatar2144Gitlab::ImportExport::Project::RelationFactory2145 hook object2146 does not have the original ID2147 does not have the original service_id2148 does not have the original project_id2149 has the new project_id2150 has a nil token2151 original service exists2152 does not have the original service_id2153 excluded attributes2154 are removed from the imported object2155 merge_request object2156 has preloaded author2157 has preloaded updated_by2158 has preloaded source project2159 has preloaded target project2160 label object2161 has preloaded project2162 has preloaded group2163 Potentially hazardous foreign keys2164 does not preserve any foreign key IDs2165 overrided model with pluralized name2166 does not raise errors2167 Project references2168 does not preserve any project foreign key IDs2169 Notes user references2170 maps the right author to the imported note2171 encrypted attributes2172 has no value for the encrypted attribute2173Projects::UpdateRepositoryStorageService2174 #execute2175 without wiki and design repository2176 when the move succeeds2177 moves the repository to the new storage and unmarks the repository as read only2178 when the filesystems are the same2179 bails out and does nothing2180 when the move fails2181 unmarks the repository as read-only without updating the repository storage2182 when the cleanup fails2183 sets the correct state2184 when the checksum does not match2185 unmarks the repository as read-only without updating the repository storage2186 when a object pool was joined2187 leaves the pool2188 when the repository move is finished2189 is idempotent2190 when the repository move is failed2191 is idempotent2192 with wiki repository2193 when the move succeeds2194 moves the project and its wiki repository to the new storage and unmarks the repository as read only2195 :repack_after_shard_migration feature flag disabled2196 does not enqueue a GC run2197 :repack_after_shard_migration feature flag enabled2198 does not enqueue a GC run if housekeeping is disabled2199 enqueues a GC run2200 when the filesystems are the same2201 bails out and does nothing2202 when the move of the wiki repository fails2203 unmarks the repository as read-only without updating the repository storage2204 when the cleanup of the wiki repository fails2205 sets the correct state2206 when the checksum of the wiki repository does not match2207 unmarks the repository as read-only without updating the repository storage2208 with design repository2209 when the move succeeds2210 moves the project and its design repository to the new storage and unmarks the repository as read only2211 :repack_after_shard_migration feature flag disabled2212 does not enqueue a GC run2213 :repack_after_shard_migration feature flag enabled2214 does not enqueue a GC run if housekeeping is disabled2215 enqueues a GC run2216 when the filesystems are the same2217 bails out and does nothing2218 when the move of the design repository fails2219 unmarks the repository as read-only without updating the repository storage2220 when the cleanup of the design repository fails2221 sets the correct state2222 when the checksum of the design repository does not match2223 unmarks the repository as read-only without updating the repository storage2224PipelineDetailsEntity2225 inherrits from PipelineEntity2226 #as_json2227 when pipeline is empty2228 contains details2229 contains flags2230 when pipeline is retryable2231 user has ability to retry pipeline2232 retryable flag is true2233 user does not have ability to retry pipeline2234 retryable flag is false2235 when pipeline is cancelable2236 user has ability to cancel pipeline2237 cancelable flag is true2238 user does not have ability to cancel pipeline2239 cancelable flag is false2240 when pipeline has commit statuses2241 contains stages2242 when pipeline has YAML errors2243 contains information about error2244 contains flag that indicates there are errors2245 when pipeline does not have YAML errors2246 does not contain field that normally holds an error2247 contains flag that indicates there are no errors2248 when pipeline is triggered by other pipeline2249 contains an information about depedent pipeline2250 when pipeline triggered other pipeline2251 contains an information about dependent pipeline2252Gitlab::GithubImport::UserFinder2253 #author_id_for2254 returns the user ID for the author of an object2255 returns the ID of the project creator if no user ID could be found2256 returns the ID of the ghost user when the object has no user2257 returns the ID of the ghost user when the given object is nil2258 #assignee_id_for2259 returns the user ID for the assignee of an issuable2260 returns nil if the issuable does not have an assignee2261 #user_id_for2262 returns the user ID for the given user2263 #find2264 without a cache2265 finds a GitLab user for a GitHub user ID2266 finds a GitLab user for a GitHub Email address2267 with a cache2268 returns the cached user ID2269 does not query the database if the cache key exists but is empty2270 #find_from_cache2271 retrieves a GitLab user ID for a GitHub user ID2272 retrieves a GitLab user ID for a GitHub Email address2273 does not query the cache for an Email address when none is given2274 #find_id_from_database2275 returns the GitLab user ID for a GitHub user ID2276 returns the GitLab user ID for a GitHub Email address2277 #email_for_github_username2278 when an Email address is cached2279 reads the Email address from the cache2280 when an Email address is not cached2281 retrieves the Email address from the GitHub API2282 caches the Email address when an Email address is available2283 returns nil if the user does not exist2284 #cached_id_for_github_id2285 reads a user ID from the cache2286 reads a non existing cache key2287 #cached_id_for_github_email2288 reads a user ID from the cache2289 reads a non existing cache key2290 #id_for_github_id2291 queries and caches the user ID for a given GitHub ID2292 caches a nil value if no ID could be found2293 #id_for_github_email2294 queries and caches the user ID for a given Email address2295 caches a nil value if no ID could be found2296 #query_id_for_github_id2297 returns the ID of the user for the given GitHub user ID2298 returns nil when no user ID could be found2299 #query_id_for_github_email2300 returns the ID of the user for the given Email address2301 returns nil if no user ID could be found2302 #read_id_from_cache2303 reads an ID from the cache2304 reads a cache key with an empty value2305 reads a cache key that does not exist2306Milestoneable2307 #supports_milestone?2308 for issues2309 returns true2310 for merge requests2311 returns true2312 for incidents2313 returns false2314 release scopes2315 #any_milestone2316 when milestone filter is present and related closing issues are joined2317 returns merge request closing issues of any milestone2318 #without_release2319 returns the issues not tied to any milestone and the ones tied to milestone with no release2320 #any_release2321 returns all issues tied to a release2322 #with_release2323 returns the issues tied a specfic release2324 when a release has a milestone with one issue and another one with no issue2325 returns that one issue2326 when the milestone with no issue is added as a filter2327 returns an empty list2328 when the milestone with the issue is added as a filter2329 returns this issue2330 when there is no issue under a specific release2331 returns no issue2332 when a non-existent release tag is passed in2333 returns no issue2334 Issues2335 behaves like an object that can be assigned a milestone2336 Validation2337 milestone2338 with correct params2339 is expected to be valid2340 with empty string milestone2341 is expected to be valid2342 with nil milestone id2343 is expected to be valid2344 with a milestone id from another project2345 is expected to be invalid2346 #milestone_available?2347 returns true with a milestone from the issue project2348 returns true with a milestone from the issue project group2349 returns true with a milestone from the the parent of the issue project group2350 returns false with a milestone from another project2351 returns false with a milestone from another group2352 MergeRequests2353 behaves like an object that can be assigned a milestone2354 Validation2355 milestone2356 with correct params2357 is expected to be valid2358 with empty string milestone2359 is expected to be valid2360 with nil milestone id2361 is expected to be valid2362 with a milestone id from another project2363 is expected to be invalid2364 #milestone_available?2365 returns true with a milestone from the issue project2366 returns true with a milestone from the issue project group2367 returns true with a milestone from the the parent of the issue project group2368 returns false with a milestone from another project2369 returns false with a milestone from another group2370WebHookService2371 #initialize2372 when SystemHook2373 when local requests are allowed2374 is expected to be truthy2375 when local requests are not allowed2376 is expected to be falsey2377 when ProjectHook2378 when local requests are allowed2379 is expected to be truthy2380 when local requests are not allowed2381 is expected to be falsey2382 #execute2383 POSTs the data as JSON2384 catches exceptions2385 handles exceptions2386 handles 200 status code2387 handles 2xx status codes2388 when token is defined2389 POSTs to the webhook URL2390 when auth credentials are present2391 uses the credentials2392 when auth credentials are partial present2393 uses the credentials anyways2394 when request body size is too big2395 does not perform the request2396 execution logging2397 with success2398 log successful execution2399 with exception2400 log failed execution2401 with unsafe response body2402 log successful execution2403 #async_execute2404 enqueue WebHookWorker2405Gitlab::DataBuilder::Build2406 .build2407 is expected to be a kind of Hash2408 is expected to eq "master"2409 is expected to eq "b83d6e391c22777fca1ed3012fce84f633d7fed0"2410 is expected to eq false2411 is expected to eq 2012412 is expected to eq "running"2413 is expected to eq false2414 is expected to eq "unknown_failure"2415 is expected to eq 12922416 is expected to eq "John Doe1849 / project1281"2417 is expected to eq 2232418 is expected to eq {:avatar_url=>"https://www.gravatar.com/avatar/5e21612b5f619a4cd92ae1101a369cb2?s=80&d=identicon", :email=>"user1797@example.org", :name=>"John Doe1852", :username=>"user1874"}2419 is expected to eq 2252420 is expected to eq 142421 is expected to eq "My runner15"2422 commit author_url2423 when no commit present2424 sets to mailing address of git_author_email2425 when commit present but has no author2426 sets to mailing address of git_author_email2427 when commit and author are present2428 sets to GitLab user url2429Gitlab::GitalyClient::RefService2430 #branches2431 sends a find_all_branches message2432 #remote_branches2433 sends a find_all_remote_branches message2434 concatenates and returns the response branches as Gitlab::Git::Branch objects2435 #merged_branches2436 sends a find_all_branches message2437 #branch_names2438 sends a find_all_branch_names message2439 #tag_names2440 sends a find_all_tag_names message2441 #default_branch_name2442 sends a find_default_branch_name message2443 #list_new_blobs2444 raises DeadlineExceeded when timeout is too small2445 #local_branches2446 sends a find_local_branches message2447 parses and sends the sort parameter2448 translates known mismatches on sort param values2449 raises an argument error if an invalid sort_by parameter is passed2450 #tags2451 sends a find_all_tags message2452 #branch_names_contains_sha2453 sends a list_branch_names_containing_commit message2454 #get_tag_messages2455 sends a get_tag_messages message2456 #find_ref_name2457 is expected to be a String with encoding UTF-82458 is expected to eq "refs/heads/master"2459 #ref_exists?2460 finds the master branch ref2461 returns false for an illegal tag name ref2462 raises an argument error if the ref name parameter does not start with refs/2463 #delete_refs2464 sends a delete_refs message2465 #pack_refs2466 sends a pack_refs message2467Gitlab::ImportExport::Project::ExportTask2468 when project is found2469 performs project export successfully2470 behaves like rake task with disabled object_storage2471 disables direct & background upload only for service call2472 when project is not found2473 logs an error2474 returns false2475 when file path is invalid2476 logs an error2477 returns false2478 when after export strategy fails2479 error is logged2480 when saving services fail2481 error is logged2482Mutations::DesignManagement::Delete2483 #resolve2484 when the feature is not available2485 behaves like resource not available2486 behaves like failures2487 raises Gitlab::Graphql::Errors::ResourceNotAvailable2488 when the feature is available2489 when the user is not allowed to delete designs2490 behaves like resource not available2491 behaves like failures2492 raises Gitlab::Graphql::Errors::ResourceNotAvailable2493 deleting an already deleted file2494 fails with an argument error2495 when deleting all the designs2496 returns a new version, and no errors2497 runs no more than 28 queries2498 the current designs2499 is empty2500 when deleting a design2501 returns the expected response2502 the current designs2503 does contain designs b and c2504notify/pipeline_fixed_email.html.haml2505 behaves like pipeline status changes email2506 when the pipeline contains a failed job2507 behaves like renders the pipeline status changes email correctly2508 pipeline with user2509 renders the email correctly2510 behaves like correct pipeline information for pipelines for merge requests2511 when pipeline for merge request2512 renders a source ref of the pipeline2513 pipeline without user2514 renders the email correctly2515 when the latest failed job is a bridge job2516 behaves like renders the pipeline status changes email correctly2517 pipeline with user2518 renders the email correctly2519 behaves like correct pipeline information for pipelines for merge requests2520 when pipeline for merge request2521 renders a source ref of the pipeline2522 pipeline without user2523 renders the email correctly2524Notes::BuildService2525 #execute2526 builds a note without saving it2527 when in_reply_to_discussion_id is specified2528 when a note with that original discussion ID exists2529 sets the note up to be in reply to that note2530 when discussion is resolved2531 resolves the note2532 when a note with that discussion ID exists2533 sets the note up to be in reply to that note2534 when no note with that discussion ID exists2535 sets an error2536 when user has no access to discussion2537 sets an error2538 personal snippet note2539 when a snippet is public2540 creates a reply note2541 when a snippet is private2542 creates a reply note when the author replies2543 sets an error when another user replies2544 when a snippet is internal2545 creates a reply note when the author replies2546 creates a reply note when a regular user replies2547 sets an error when an external user replies2548 when replying to individual note2549 sets the note up to be in reply to that note2550 when noteable does not support replies2551 builds another individual note2552Metrics::Dashboard::Annotations::CreateService2553 .execute2554 with environment2555 with anonymous user2556 behaves like prevented annotation creation2557 returns error response2558 does not change db state2559 with maintainer user2560 behaves like executed annotation creation2561 returns success response2562 creates annotation2563 with cluster2564 with anonymous user2565 behaves like prevented annotation creation2566 returns error response2567 does not change db state2568 with maintainer user2569 behaves like executed annotation creation2570 returns success response2571 creates annotation2572 with owner user2573 behaves like executed annotation creation2574 returns success response2575 creates annotation2576 non cluster nor environment is supplied2577 behaves like annotation creation failure2578 returns error response2579 missing dashboard_path2580 with maintainer user2581 behaves like annotation creation failure2582 returns error response2583 incorrect dashboard_path2584 with maintainer user2585 behaves like prevented annotation creation2586 returns error response2587 does not change db state2588Notes::CopyService2589 #initialize2590 validates that we cannot copy notes to the same Noteable2591 #execute2592 rewriting the note body2593 simple notes2594 rewrites existing notes in valid order2595 copies all the issue notes2596 does not change the note attributes2597 copies the award emojis2598 copies system_note_metadata for system note2599 returns success2600 notes with mentions2601 saves user mentions with actual mentions for new issue2602 notes with reference2603 rewrites the references correctly2604 notes with upload2605 rewrites note content correctly2606 discussion notes2607 rewrites discussion correctly2608GpgKeys::DestroyService2609 destroys the GPG key2610MergeRequests::ApprovalService2611 #execute2612 with invalid approval2613 does not create an approval note2614 does not mark pending todos as done2615 with valid approval2616 creates an approval note and marks pending todos as done2617 creates approve MR event2618 with remaining approvals2619 fires an approval webhook2620 user cannot update the merge request2621 does not update approvals2622Gitlab::SlashCommands::Deploy2623 #execute2624 if no environment is defined2625 does not execute an action2626 with environment2627 without actions2628 does not execute an action2629 when single action has been matched2630 returns success result2631 when more than one action has been matched2632 when there is no specific actions with a environment name2633 returns error about too many actions defined2634 when one of the actions is environement specific action2635 deploys to production2636 when one of the actions is a teardown action2637 deploys to production2638 self.match2639 matches the environment2640CommitPolicy2641 #rules2642 when project is public2643 behaves like can read commit and create a note2644 can read commit2645 can create a note2646 when repository access level is private2647 behaves like cannot read commit nor create a note2648 can not read commit2649 can not create a note2650 when the user is a project member2651 behaves like can read commit and create a note2652 can read commit2653 can create a note2654 when project is private2655 behaves like cannot read commit nor create a note2656 can not read commit2657 can not create a note2658 when the user is a project member2659 can read commit and create a note2660 when the user is a guest2661 cannot download code2662 behaves like cannot read commit nor create a note2663 can not read commit2664 can not create a note2665CycleAnalytics::ProjectLevel2666 #all_medians_by_stage2667 returns every median for each stage for a specific project2668MergeRequests::DeleteNonLatestDiffsService2669 #execute2670 schedules non-latest merge request diffs removal2671 schedules no removal if it is already cleaned2672 schedules no removal if it is empty2673 schedules no removal if there is no non-latest diffs2674Gitlab::Ci::Status::Build::Stop2675 #label2676 is expected to eq "manual stop action"2677 action details2678 #has_action?2679 when user is allowed to update build2680 is expected to have action2681 when user is not allowed to update build2682 is expected not to have action2683 #action_path2684 is expected to include "237/play"2685 #action_icon2686 is expected to eq "stop"2687 #action_title2688 is expected to eq "Stop"2689 #action_button_title2690 is expected to eq "Stop this environment"2691 .matches?2692 when build is playable2693 when build stops an environment2694 is a correct match2695 when build does not stop an environment2696 does not match2697 when build is not playable2698 does not match2699 #status_tooltip2700 does not override status status_tooltip2701 #badge_tooltip2702 does not override status badge_tooltip2703Projects::LfsPointers::LfsDownloadLinkListService2704 #execute2705 retrieves each download link of every non existent lfs object2706 when lfs objects size is larger than the batch size2707 when batch size2708 retreives them in batches2709 when request fails with PayloadTooLarge error2710 when the smaller batch eventually works2711 retreives them eventually and logs exceptions2712 when batch size cannot be any smaller2713 raises an error and logs exceptions2714 credentials2715 when the download link and the lfs_endpoint have the same host2716 when lfs_endpoint has credentials2717 adds credentials to the download_link2718 when lfs_endpoint does not have any credentials2719 does not add any credentials2720 when the download link and the lfs_endpoint have different hosts2721 downloads without any credentials2722 #get_download_links2723 if request fails2724 raises an error2725 behaves like JSON parse errors2726 raises an error2727 behaves like JSON parse errors2728 raises an error2729 behaves like JSON parse errors2730 raises an error2731 #parse_response_links2732 does not add oid entry if href not found2733Ci::HasVariable2734 is expected to validate that :key cannot be empty/falsy2735 is expected to validate that the length of :key is at most 2552736 is expected to allow :key to be ‹"foo"›2737 is expected not to allow :key to be ‹"foo bar"›2738 is expected not to allow :key to be ‹"foo/bar"›2739 #key=2740 when the new key is nil2741 strips leading and trailing whitespaces2742 when the new key has leadind and trailing whitespaces2743 strips leading and trailing whitespaces2744 #value2745 stores the encrypted value2746 stores an iv for value2747 stores a salt for value2748 fails to decrypt if iv is incorrect2749 #to_runner_variable2750 returns a hash for the runner2751layouts/header/_new_dropdown2752 group-specific links2753 as a Group owner2754 has a "New project" link2755 has a "New subgroup" link2756 project-specific links2757 as a Project owner2758 has a "New issue" link2759 has a "New merge request" link2760 has a "New snippet" link2761 as a Project guest2762 has no "New merge request" link2763 has no "New snippet" link2764 global links2765 has a "New project" link2766 has a "New group" link2767 has a "New snippet" link2768 when the user is not allowed to create snippets2769 has no "New snippet" link2770Gitlab::ObjectHierarchy2771 #base_and_ancestors2772 includes the base rows2773 includes all of the ancestors2774 can find ancestors upto a certain level2775 uses ancestors_base #initialize argument2776 does not allow the use of #update_all2777 hierarchy_order option2778 :asc2779 orders by child to parent2780 :desc2781 orders by parent to child2782 #base_and_descendants2783 includes the base rows2784 includes all the descendants2785 uses descendants_base #initialize argument2786 does not allow the use of #update_all2787 when with_depth is true2788 includes depth in the results2789 #descendants2790 includes only the descendants2791 #max_descendants_depth2792 when base relation is empty2793 is expected to be nil2794 when base has no children2795 is expected to eq 12796 when base has grandchildren2797 is expected to eq 32798 #ancestors2799 includes only the ancestors2800 can find ancestors upto a certain level2801 #all_objects2802 includes the base rows2803 includes the ancestors2804 includes the descendants2805 uses ancestors_base #initialize argument for ancestors2806 uses descendants_base #initialize argument for descendants2807 does not allow the use of #update_all2808ImportExportUploader2809 local store2810 #move_to_store2811 returns true2812 object_store is REMOTE2813 behaves like builds correct paths2814 #store_dir2815 behaves like matches the method pattern2816 is expected to match /import_export_upload\/import_file\//2817 #cache_dir2818 behaves like matches the method pattern2819 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2820 #work_dir2821 behaves like matches the method pattern2822 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2823 #upload_path2824 behaves like matches the method pattern2825 is expected to match /import_export_upload\/import_file\//2826 #relative_path2827 is relative (PENDING: Path not set, skipping.)2828 .absolute_path2829 behaves like matches the method pattern2830 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2831 .base_dir2832 behaves like matches the method pattern2833 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2834 #move_to_store2835 returns false2836 with an export file directly uploaded2837 cleans up cached file2838 .workhorse_local_upload_path2839 returns path that includes uploads dir2840projects/artifacts/_artifact.html.haml2841 delete button2842 with admin2843 has a delete button2844 with owner2845 has a delete button2846 with master2847 has a delete button2848 with developer2849 has no delete button2850 with reporter2851 has no delete button2852Resolvers::DesignManagement::VersionsResolver2853 #resolve2854 a design collection2855 behaves like a source of versions2856 when the user is not authorized2857 is expected to be empty2858 without constraints2859 returns the ordered versions2860 when constrained2861 by earlier_or_equal_to_id2862 behaves like a query for all_versions up to the first_version2863 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2864 by earlier_or_equal_to_sha2865 behaves like a query for all_versions up to the first_version2866 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2867 by earlier_or_equal_to_sha AND earlier_or_equal_to_id2868 and they match2869 behaves like a query for all_versions up to the first_version2870 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2871 and they do not match2872 raises a suitable error2873 by at_version in parent2874 behaves like a query for all_versions up to the first_version2875 is expected to eq #<ActiveRecord::Relation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2876 a design2877 behaves like a source of versions2878 when the user is not authorized2879 is expected to be empty2880 without constraints2881 returns the ordered versions2882 when constrained2883 by earlier_or_equal_to_id2884 behaves like a query for all_versions up to the first_version2885 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2886 by earlier_or_equal_to_sha2887 behaves like a query for all_versions up to the first_version2888 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2889 by earlier_or_equal_to_sha AND earlier_or_equal_to_id2890 and they match2891 behaves like a query for all_versions up to the first_version2892 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2893 and they do not match2894 raises a suitable error2895 by at_version in parent2896 behaves like a query for all_versions up to the first_version2897 is expected to eq #<ActiveRecord::AssociationRelation [#<DesignManagement::Version id: 29, sha: "69f7bf2ac802eef87b9c3253b1527c8996b9c0c7", issue_id: 280, created_at: "2020-08-31 02:51:20", author_id: 2119>]>2898EnvironmentEntity2899 exposes latest deployment2900 exposes core elements of environment2901 exposes folder path2902 metrics disabled2903 doesn't expose metrics path2904 metrics enabled2905 exposes metrics path2906 with deployment platform2907 when deployment platform is a cluster2908 includes cluster_type2909 with auto_stop_in2910 exposes auto stop related information2911 with alert2912 exposes active alert flag2913 when user does not have permission to read alert2914 does not expose active alert flag2915 pod_logs2916 with reporter access2917 does not expose logs keys2918 with developer access2919 exposes logs keys2920 uses k8s api when ES is not available2921 uses ES api when ES is available2922Upload2923 associations2924 is expected to belong to model required:2925 validations2926 is expected to validate that :size cannot be empty/falsy2927 is expected to validate that :path cannot be empty/falsy2928 is expected to validate that :model cannot be empty/falsy2929 is expected to validate that :uploader cannot be empty/falsy2930 callbacks2931 for a file above the checksum threshold2932 schedules checksum calculation2933 for a file at or below the checksum threshold2934 calculates checksum immediately before save2935 after_destroy2936 uploader is FileUploader-based2937 calls delete_file!2938 #absolute_path2939 returns the path directly when already absolute2940 delegates to the uploader's absolute_path method2941 #calculate_checksum!2942 sets `checksum` to SHA256 sum of the file2943 sets `checksum` to nil for a non-existent file2944 #build_uploader2945 returns a uploader object with current upload associated with it2946 #retrieve_uploader2947 returns a uploader object with current uploader associated with and cache retrieved2948 when upload has mount_point nil2949 when an upload belongs to a note2950 mounts it as attachment2951 when an upload does not belong to a note2952 does not mount it as attachment2953 #needs_checksum?2954 with local storage2955 returns true when no checksum exists2956 returns false when checksum is already present2957 with remote storage2958 returns false2959 #exist?2960 returns true when the file exists2961 when the file does not exist2962 returns false2963 when the record is persisted2964 sends a message to Sentry2965 increments a metric counter to signal a problem2966 when the record is not persisted2967 does not send a message to Sentry2968 does not increment a metric counter2969 #uploader_context2970 is expected to match (a hash including {:secret => "secret", :identifier => "file.txt"})2971Gitlab::Checks::ChangeAccess2972 #validate!2973 without failed checks2974 doesn't raise an error2975 calls pushes checks2976 calls branches checks2977 calls tags checks2978 calls lfs checks2979 calls diff checks2980 when time limit was reached2981 raises a TimeoutError2982TimeboxesHelper2983 #milestones_filter_dropdown_path2984 when @project present2985 returns project milestones JSON URL2986 when @target_project present2987 returns targeted project milestones JSON URL2988 when @group present2989 returns group milestones JSON URL2990 when neither of @project/@target_project/@group present2991 returns dashboard milestones JSON URL2992 #timebox_date_range2993 milestone2994 is expected to be nil2995 is expected to eq "expires on Sep 1, 2020"2996 is expected to eq "expired on Aug 30, 2020"2997 is expected to eq "starts on Sep 1, 2020"2998 is expected to eq "started on Aug 30, 2020"2999 is expected to eq "Aug 30, 2020–Sep 1, 2020"3000 iteration3001 formats properly3002 #milestone_counts3003 when there are milestones3004 returns the correct counts3005 when there are only milestones of one type3006 returns the correct counts3007 when there are no milestones3008 returns the correct counts3009 #group_milestone_route3010 when in subgroup3011 generates correct url despite assigned @group3012Gitlab::Database::Count::TablesampleCountStrategy3013 #count3014 for tables with an estimated small size3015 performs an exact count3016 for tables with an estimated large size3017 performs a tablesample count3018 insufficient permissions3019 returns an empty hash3020Banzai::Pipeline::FullPipeline3021 References3022 handles markdown inside a reference3023 sanitizes reference HTML3024 escapes the data-original attribute on a reference3025 footnotes3026 properly adds the necessary ids and classes3027 links are detected as malicious3028 has tooltips for malicious links3029 has no tooltips for safe links3030 table of contents3031 inserts a table of contents3032 does not insert a table of contents3033Clusters::DestroyService3034 #execute3035 when correct params3036 when params are empty3037 behaves like only removes cluster3038 does not start cleanup3039 destroys the cluster3040 when cleanup param is false3041 behaves like only removes cluster3042 does not start cleanup3043 destroys the cluster3044 when cleanup param is true3045 does not destroy cluster3046 transition cluster#cleanup_status from cleanup_not_started to cleanup_uninstalling_applications3047Discussions::CaptureDiffNotePositionService3048 image note on diff3049 is note affected by the service3050 when empty paths are passed as a param3051 does not calculate positons3052 when position tracer returned position3053 which is nil3054 does not create diff note position3055 which does not have a corresponding line3056 does not create diff note position3057Jobs/Test.gitlab-ci.yml3058 the created pipeline3059 on master3060 creates the test job3061 on another branch3062 creates the test job3063 on tag3064 creates the test job3065 on merge request3066 has no jobs3067 TEST_DISABLED is set3068 on master3069 has no jobs3070 on another branch3071 has no jobs3072 on tag3073 has no jobs3074Sentry::Client::Issue3075 #list_issues3076 behaves like calls sentry api3077 calls sentry api3078 behaves like issues have correct return type3079 returns objects of type Gitlab::ErrorTracking::Error3080 behaves like issues have correct length3081 is expected to eq 33082 when response has a pagination info3083 parses the pagination3084 error object created from sentry response3085 error_object: :id, sentry_response: :id3086 is expected to eq "11"3087 error_object: :first_seen, sentry_response: :firstSeen3088 is expected to eq "2018-12-17T12:00:14Z"3089 error_object: :last_seen, sentry_response: :lastSeen3090 is expected to eq "2018-12-31T12:00:11Z"3091 error_object: :title, sentry_response: :title3092 is expected to eq "gaierror: [Errno -2] Name or service not known"3093 error_object: :type, sentry_response: :type3094 is expected to eq "error"3095 error_object: :user_count, sentry_response: :userCount3096 is expected to eq 03097 error_object: :count, sentry_response: :count3098 is expected to eq "21"3099 error_object: :message, sentry_response: [:metadata, :value]3100 is expected to eq "[Errno -2] Name or service not known"3101 error_object: :culprit, sentry_response: :culprit3102 is expected to eq "sentry.tasks.reports.deliver_organization_user_report"3103 error_object: :short_id, sentry_response: :shortId3104 is expected to eq "INTERNAL-4"3105 error_object: :status, sentry_response: :status3106 is expected to eq "unresolved"3107 error_object: :frequency, sentry_response: [:stats, "24h"]3108 is expected to eq [[1546437600, 0]]3109 error_object: :project_id, sentry_response: [:project, :id]3110 is expected to eq "1"3111 error_object: :project_name, sentry_response: [:project, :name]3112 is expected to eq "Internal"3113 error_object: :project_slug, sentry_response: [:project, :slug]3114 is expected to eq "internal"3115 behaves like has correct external_url3116 external_url3117 is constructed correctly3118 redirects3119 behaves like no Sentry redirects3120 does not follow redirects3121 requests with sort parameter in sentry api3122 calls the sentry api with sort params3123 with invalid sort params3124 throws an error3125 Older sentry versions where keys are not present3126 behaves like calls sentry api3127 calls sentry api3128 behaves like issues have correct return type3129 returns objects of type Gitlab::ErrorTracking::Error3130 behaves like issues have correct length3131 is expected to eq 13132 behaves like has correct external_url3133 external_url3134 is constructed correctly3135 essential keys missing in API response3136 raises exception3137 sentry api response too large3138 raises exception3139 behaves like maps Sentry exceptions3140 HTTParty::Error3141 is expected to raise Sentry::Client::Error with "Error when connecting to Sentry"3142 Net::OpenTimeout3143 is expected to raise Sentry::Client::Error with "Connection to Sentry timed out"3144 SocketError3145 is expected to raise Sentry::Client::Error with "Received SocketError when trying to connect to Sentry"3146 OpenSSL::SSL::SSLError3147 is expected to raise Sentry::Client::Error with "Sentry returned invalid SSL data"3148 Errno::ECONNREFUSED3149 is expected to raise Sentry::Client::Error with "Connection refused"3150 StandardError3151 is expected to raise Sentry::Client::Error with "Sentry request failed due to StandardError"3152 when search term is present3153 behaves like calls sentry api3154 calls sentry api3155 behaves like issues have correct return type3156 returns objects of type Gitlab::ErrorTracking::Error3157 behaves like issues have correct length3158 is expected to eq 33159 when cursor is present3160 behaves like calls sentry api3161 calls sentry api3162 behaves like issues have correct return type3163 returns objects of type Gitlab::ErrorTracking::Error3164 behaves like issues have correct length3165 is expected to eq 33166 #issue_details3167 error object created from sentry response3168 has a correct external URL3169 issue has a correct external base url3170 has a correct GitLab issue url3171 has the correct tags3172 error_object: :id, sentry_response: :id3173 is expected to eq "11"3174 error_object: :first_seen, sentry_response: :firstSeen3175 is expected to eq "2018-11-06T21:19:55Z"3176 error_object: :last_seen, sentry_response: :lastSeen3177 is expected to eq "2018-11-06T21:19:55Z"3178 error_object: :title, sentry_response: :title3179 is expected to eq "This is an example Python exception"3180 error_object: :type, sentry_response: :type3181 is expected to eq "default"3182 error_object: :user_count, sentry_response: :userCount3183 is expected to eq 03184 error_object: :count, sentry_response: :count3185 is expected to eq "1"3186 error_object: :message, sentry_response: [:metadata, :value]3187 is expected to eq nil3188 error_object: :culprit, sentry_response: :culprit3189 is expected to eq "raven.scripts.runner in main"3190 error_object: :short_id, sentry_response: :shortId3191 is expected to eq "PUMP-STATION-1"3192 error_object: :status, sentry_response: :status3193 is expected to eq "unresolved"3194 error_object: :frequency, sentry_response: [:stats, "24h"]3195 is expected to eq [[1541451600.0, 557], [1541455200.0, 473], [1541458800.0, 914], [1541462400.0, 991], [1541466000.0, 9...1523600.0, 111], [1541527200.0, 926], [1541530800.0, 772], [1541534400.0, 400], [1541538000.0, 943]]3196 error_object: :project_id, sentry_response: [:project, :id]3197 is expected to eq "2"3198 error_object: :project_name, sentry_response: [:project, :name]3199 is expected to eq "Pump Station"3200 error_object: :project_slug, sentry_response: [:project, :slug]3201 is expected to eq "pump-station"3202 error_object: :first_release_last_commit, sentry_response: [:firstRelease, :lastCommit]3203 is expected to eq nil3204 error_object: :last_release_last_commit, sentry_response: [:lastRelease, :lastCommit]3205 is expected to eq {}3206 error_object: :first_release_short_version, sentry_response: [:firstRelease, :shortVersion]3207 is expected to eq "1764232"3208 error_object: :last_release_short_version, sentry_response: [:lastRelease, :shortVersion]3209 is expected to eq "27de6b42eb4"3210 error_object: :first_release_version, sentry_response: [:firstRelease, :version]3211 is expected to eq "17642328ead24b51867165985996d04b29310337"3212 error_object: :last_release_version, sentry_response: [:lastRelease, :version]3213 is expected to eq "17642328ead24b51867165985996d04b29321448"3214 when issue annotations exist3215 has a correct GitLab issue url3216 when no GitLab issue is linked3217 does not find a GitLab issue3218 #update_issue3219 returns a truthy result3220 behaves like calls sentry api3221 calls sentry api3222 error encountered3223 raises the error3224MergeRequestAssignee3225 associations3226 is expected to belong to merge_request class_name => MergeRequest required:3227 is expected to belong to assignee class_name => User required:3228 validations3229 is expected to validate that :assignee is case-sensitively unique within the scope of :merge_request_id3230 scopes3231 in_projects3232 returns issue assignees for given project3233Gitlab::GoogleCodeImport::ProjectCreator3234 creates project3235Ci::JobVariable3236 is expected to belong to job required:3237 is expected to validate that :key is case-sensitively unique within the scope of :job_id3238 behaves like CI variable3239 is expected to includes the Ci::HasVariable module3240 strips whitespaces when assigning key3241 can convert to runner variable3242 variable type3243 defines variable types3244 defaults variable type to env_var3245 supports variable type file3246Members::RequestAccessService3247 when source is nil3248 behaves like a service raising Gitlab::Access::AccessDeniedError3249 raises Gitlab::Access::AccessDeniedError3250 when current user cannot request access to the project3251 behaves like a service raising Gitlab::Access::AccessDeniedError3252 raises Gitlab::Access::AccessDeniedError3253 behaves like a service raising Gitlab::Access::AccessDeniedError3254 raises Gitlab::Access::AccessDeniedError3255 when access requests are disabled3256 behaves like a service raising Gitlab::Access::AccessDeniedError3257 raises Gitlab::Access::AccessDeniedError3258 behaves like a service raising Gitlab::Access::AccessDeniedError3259 raises Gitlab::Access::AccessDeniedError3260 when current user can request access to the project3261 behaves like a service creating a access request3262 succeeds3263 returns a <Source>Member3264 behaves like a service creating a access request3265 succeeds3266 returns a <Source>Member3267Gitlab::JiraImport::StuckJiraImportJobsWorker3268 with scheduled Jira import3269 behaves like stuck import job detection3270 when the job has completed3271 when the import status was already updated3272 does not mark the import as failed3273 when the import status was not updated3274 marks the import as failed3275 when the job is still in Sidekiq3276 does not mark the import as failed3277 with started jira import3278 behaves like stuck import job detection3279 when the job has completed3280 when the import status was already updated3281 does not mark the import as failed3282 when the import status was not updated3283 marks the import as failed3284 when the job is still in Sidekiq3285 does not mark the import as failed3286 with failed jira import3287 detects no stuck jobs3288Gitlab::Ci::Status::Build::Common3289 #has_action?3290 is expected not to have action3291 #has_details?3292 when user has access to read build3293 is expected to have details3294 when user does not have access to read build3295 is expected not to have details3296 #details_path3297 links to the build details page3298 #illustration3299 provides a fallback empty state illustration3300projects/diffs/_viewer.html.haml3301 when there is a render error3302 renders the error3303 when the viewer is collapsed3304 renders the collapsed view3305 when there is no render error3306 prepares the viewer3307 renders the viewer3308Gitlab::GitalyClient::RemoteService3309 #add_remote3310 sends an add_remote message3311 #remove_remote3312 sends an remove_remote message and returns the result value3313 #find_remote_root_ref3314 sends an find_remote_root_ref message and returns the root ref3315 ensure ref is a valid UTF-8 string3316 #update_remote_mirror3317 sends an update_remote_mirror message3318 .exists?3319 when the remote doesn't exist3320 returns false3321Integration3322 #with_custom_integration_for3323 returns projects with custom integrations3324 #ids_without_integration3325 returns projects ids without an integration3326Gitlab::Danger::CommitLinter3327 #fixup?3328 commit_message: "A commit message", is_fixup: false3329 is true when commit message starts with "fixup!" or "squash!"3330 commit_message: "fixup!", is_fixup: true3331 is true when commit message starts with "fixup!" or "squash!"3332 commit_message: "fixup! A commit message", is_fixup: true3333 is true when commit message starts with "fixup!" or "squash!"3334 commit_message: "squash!", is_fixup: true3335 is true when commit message starts with "fixup!" or "squash!"3336 commit_message: "squash! A commit message", is_fixup: true3337 is true when commit message starts with "fixup!" or "squash!"3338 #suggestion?3339 commit_message: "A commit message", is_suggestion: false3340 is true when commit message starts with "Apply suggestion to"3341 commit_message: "Apply suggestion to", is_suggestion: true3342 is true when commit message starts with "Apply suggestion to"3343 commit_message: "Apply suggestion to \"A commit message\"", is_suggestion: true3344 is true when commit message starts with "Apply suggestion to"3345 #merge?3346 commit_message: "A commit message", is_merge: false3347 is true when commit message starts with "Merge branch"3348 commit_message: "Merge branch", is_merge: true3349 is true when commit message starts with "Merge branch"3350 commit_message: "Merge branch \"A commit message\"", is_merge: true3351 is true when commit message starts with "Merge branch"3352 #revert?3353 commit_message: "A commit message", is_revert: false3354 is true when commit message starts with "Revert \""3355 commit_message: "Revert", is_revert: false3356 is true when commit message starts with "Revert \""3357 commit_message: "Revert \"", is_revert: true3358 is true when commit message starts with "Revert \""3359 commit_message: "Revert \"A commit message\"", is_revert: true3360 is true when commit message starts with "Revert \""3361 #multi_line?3362 commit_message: "A commit message", is_multi_line: false3363 is true when commit message contains details3364 commit_message: "A commit message\n", is_multi_line: false3365 is true when commit message contains details3366 commit_message: "A commit message\n\n", is_multi_line: false3367 is true when commit message contains details3368 commit_message: "A commit message\n\nSigned-off-by: User Name <user@name.me>", is_multi_line: false3369 is true when commit message contains details3370 commit_message: "A commit message\n\nWith details", is_multi_line: true3371 is true when commit message contains details3372 #failed?3373 with no failures3374 is expected not to be failed3375 with failures3376 is expected to be failed3377 #add_problem3378 stores messages in #failures3379 #lint3380 subject3381 when subject valid3382 behaves like a valid commit3383 does not have any problem3384 when subject is too short3385 adds a problem3386 when subject is too long3387 adds a problem3388 when subject is a WIP3389 does not have any problems3390 when subject is too short and too long3391 adds a problem3392 when subject starts with lowercase3393 adds a problem3394 when subject is '[ci skip] A commit message'3395 does not add a problem3396 when subject is '[Ci skip] A commit message'3397 does not add a problem3398 when subject is '[API] A commit message'3399 does not add a problem3400 when subject is '[ci skip]A commit message'3401 adds a problem3402 when subject is '[Ci skip] A commit message'3403 adds a problem3404 when subject is '[ci skip] a commit message'3405 adds a problem3406 when subject is '! A commit message'3407 adds a problem3408 when subject ends with a period3409 adds a problem3410 separator3411 when separator is missing3412 behaves like a valid commit3413 does not have any problem3414 when separator is a blank line3415 behaves like a valid commit3416 does not have any problem3417 when separator is missing3418 adds a problem3419 details3420 when details are valid3421 behaves like a valid commit3422 does not have any problem3423 when no details are given and many files are changed3424 behaves like a valid commit3425 does not have any problem3426 when no details are given and many lines are changed3427 behaves like a valid commit3428 does not have any problem3429 when no details are given and many files and lines are changed3430 adds a problem3431 when details exceeds the max line length3432 adds a problem3433 when details exceeds the max line length including a URL3434 behaves like a valid commit3435 does not have any problem3436 message3437 when message includes a text emoji3438 adds a problem3439 when message includes a unicode emoji3440 adds a problem3441 when message includes a short reference3442 adds a problem3443 adds a problem3444 adds a problem3445 adds a problem3446 adds a problem3447 adds a problem3448 adds a problem3449 adds a problem3450 adds a problem3451 adds a problem3452 adds a problem3453 adds a problem3454StorageHelper3455 #storage_counter3456 formats bytes to one decimal place3457 does not add decimals for sizes < 1 MB3458 does not add decimals for zeroes3459 uses commas as thousands separator3460 #storage_counters_details3461 works on ProjectStatistics3462 works on Namespace.with_statistics3463ContainerExpirationPolicy3464 relationships3465 is expected to belong to project required:3466 validations3467 is expected to validate that :project cannot be empty/falsy3468 #enabled3469 is expected to allow :enabled to be ‹true›3470 is expected to allow :enabled to be ‹false›3471 is expected not to allow :enabled to be ‹nil›3472 #cadence3473 is expected to validate that :cadence cannot be empty/falsy3474 is expected to allow :cadence to be ‹"1d"›3475 is expected to allow :cadence to be ‹"1month"›3476 is expected not to allow :cadence to be ‹"123asdf"›3477 is expected not to allow :cadence to be ‹nil›3478 #older_than3479 is expected to allow :older_than to be ‹"7d"›3480 is expected to allow :older_than to be ‹"14d"›3481 is expected to allow :older_than to be ‹nil›3482 is expected not to allow :older_than to be ‹"123asdf"›3483 #keep_n3484 is expected to allow :keep_n to be ‹10›3485 is expected to allow :keep_n to be ‹nil›3486 is expected not to allow :keep_n to be ‹"foo"›3487 with a set of regexps3488 is expected to allow :name_regex to be ‹"master"›3489 is expected to allow :name_regex_keep to be ‹"master"›3490 is expected to allow :name_regex to be ‹".*"›3491 is expected to allow :name_regex_keep to be ‹".*"›3492 is expected to allow :name_regex to be ‹"v.+"›3493 is expected to allow :name_regex_keep to be ‹"v.+"›3494 is expected to allow :name_regex to be ‹"v10.1.*"›3495 is expected to allow :name_regex_keep to be ‹"v10.1.*"›3496 is expected to allow :name_regex to be ‹"(?:v.+|master|release)"›3497 is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release)"›3498 is expected not to allow :name_regex to be ‹"["›3499 is expected not to allow :name_regex_keep to be ‹"["›3500 is expected not to allow :name_regex to be ‹"(?:v.+|master|release"›3501 is expected not to allow :name_regex_keep to be ‹"(?:v.+|master|release"›3502 with a disabled container expiration policy3503 is expected to allow :name_regex to be ‹"master"›3504 is expected to allow :name_regex_keep to be ‹"master"›3505 is expected to allow :name_regex to be ‹".*"›3506 is expected to allow :name_regex_keep to be ‹".*"›3507 is expected to allow :name_regex to be ‹"v.+"›3508 is expected to allow :name_regex_keep to be ‹"v.+"›3509 is expected to allow :name_regex to be ‹"v10.1.*"›3510 is expected to allow :name_regex_keep to be ‹"v10.1.*"›3511 is expected to allow :name_regex to be ‹"(?:v.+|master|release)"›3512 is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release)"›3513 is expected to allow :name_regex to be ‹"["›3514 is expected to allow :name_regex_keep to be ‹"["›3515 is expected to allow :name_regex to be ‹"(?:v.+|master|release"›3516 is expected to allow :name_regex_keep to be ‹"(?:v.+|master|release"›3517 .preloaded3518 preloads the associations3519 .runnable_schedules3520 returns the runnable schedule3521 when there are no runnable schedules3522 returns an empty array3523 #disable!3524 disables the container expiration policy3525ObjectStorage::BackgroundMoveWorker3526 for LFS3527 when object storage is enabled3528 uploads object to storage3529 when background upload is disabled3530 is skipped3531 when object storage is disabled3532 doesn't migrate files3533 for job artifacts3534 when local storage is used3535 and remote storage is defined3536 migrates file to remote storage3537 for uploads3538 when local storage is used3539 and remote storage is defined3540 supports using the model3541 migrates file to remote storage3542 supports using the Upload3543 migrates file to remote storage3544Gitlab::JsonCache3545 #active?3546 when backend respond to active? method3547 delegates to the underlying cache implementation3548 when backend does not respond to active? method3549 returns true3550 #cache_key3551 when namespace is not defined3552 when cache_key_with_version is true3553 expands out the key with GitLab, and Rails versions3554 when cache_key_with_version is false3555 returns the key3556 when namespace is nil3557 when cache_key_with_version is true3558 expands out the key with GitLab, and Rails versions3559 when cache_key_with_version is false3560 returns the key3561 when namespace is set3562 when cache_key_with_version is true3563 expands out the key with namespace and Rails version3564 when cache_key_with_version is false3565 expands out the key with namespace3566 #expire3567 expires the given key from the cache3568 #read3569 reads the given key from the cache3570 returns the cached value when there is data in the cache with the given key3571 returns nil when there is no data in the cache with the given key3572 when the cached value is true3573 parses the cached value3574 when the cached value is false3575 parses the cached value3576 when the cached value is a JSON true value3577 parses the cached value3578 when the cached value is a JSON false value3579 parses the cached value3580 when the cached value is a hash3581 parses the cached value3582 returns nil when klass is nil3583 gracefully handles bad cached entry3584 gracefully handles an empty hash3585 gracefully handles unknown attributes3586 gracefully handles excluded fields from attributes during serialization3587 when the cached value is an array3588 parses the cached value3589 returns an empty array when klass is nil3590 gracefully handles bad cached entry3591 gracefully handles an empty array3592 gracefully handles unknown attributes3593 #write3594 writes value to the cache with the given key3595 writes a string containing a JSON representation of the value to the cache3596 passes options the underlying cache implementation3597 passes options the underlying cache implementation when options is empty3598 passes options the underlying cache implementation when options is nil3599 #fetch3600 requires a block3601 passes options the underlying cache implementation3602 when the given key does not exist in the cache3603 when the result of the block is truthy3604 returns the result of the block3605 caches the value3606 when the result of the block is false3607 returns the result of the block3608 caches the value3609 when the result of the block is nil3610 returns the result of the block3611 caches the value3612 when the given key exists in the cache3613 when the cached value is a hash3614 parses the cached value3615 decodes enums correctly3616 returns the result of the block when 'as' option is nil3617 returns the result of the block when 'as' option is missing3618 when the cached value is an instance of ActiveRecord::Base3619 returns a persisted record when id is set3620 returns a new record when id is nil3621 returns a new record when id is missing3622 gracefully handles bad cached entry3623 gracefully handles an empty hash3624 gracefully handles unknown attributes3625 gracefully handles excluded fields from attributes during serialization3626 when the cached value is a array3627 parses the cached value3628 returns an empty array when 'as' option is nil3629 returns an empty array when 'as' option is not informed3630 when the cached value is true3631 returns the cached value3632 does not execute the block3633 does not write to the cache3634 when the cached value is false3635 returns the cached value3636 does not execute the block3637 does not write to the cache3638 when the cached value is nil3639 returns the result of the block3640 writes the result of the block to the cache3641Evidences::MilestoneEntity3642 exposes the expected fields3643 when there are issues linked to this milestone3644 exposes these issues3645 when the release has no milestone3646 exposes an empty array for milestones3647Groups::AutoDevopsService#execute3648 when user does not have enough privileges3649 raises exception3650 when user has enough privileges3651 updates group auto devops enabled accordingly3652 when group has projects3653 reflects changes on projects3654 when group has subgroups3655 reflects changes on subgroups3656 when subgroups have projects3657 reflects changes on projects3658Gitlab::LegacyGithubImport::ReleaseFormatter3659 #attributes3660 returns formatted attributes3661 with a nil published_at date3662 inserts a timestamp for released_at3663 #valid3664 when release is not a draft3665 returns true3666 when release is draft3667 returns false3668TwoFactor::DestroyService3669 disabling two-factor authentication3670 when the user does not have two-factor authentication enabled3671 returns error3672 behaves like does not send notification email3673 notification3674 does not send a notification3675 when the user has two-factor authentication enabled3676 when the executor is not authorized to disable two-factor authentication3677 disabling the two-factor authentication of another user3678 returns error3679 does not disable two-factor authentication3680 behaves like does not send notification email3681 notification3682 does not send a notification3683 when the executor is authorized to disable two-factor authentication3684 disabling their own two-factor authentication3685 behaves like disables two-factor authentication3686 returns success3687 disables the two-factor authentication of the user3688 notification3689 sends a notification3690 admin disables the two-factor authentication of another user3691 behaves like disables two-factor authentication3692 returns success3693 disables the two-factor authentication of the user3694 notification3695 sends a notification3696Projects::ExportJobFinder3697 #execute3698 when queried for a project3699 scopes to the project3700 when queried by job id3701 filters records3702 when queried by status3703 filters records3704 when queried by invalid status3705 raises exception3706Gitlab::JiraImport::BaseImporter3707 with any inheriting class3708 when project validation is ok3709 when Jira service exists3710 when Jira import data is not present3711 raises exception3712 when import data exists3713 when #imported_items_cache_key is not implemented3714 is expected to raise NotImplementedError3715 when #imported_items_cache_key is implemented3716 #imported_items_cache_key3717 is expected to eq "dumb-importer-key"3718 #mark_as_imported3719 stores id in redis cache3720 #already_imported?3721 returns false if value is not in cache3722 returns true if value already stored in cache3723Gitlab::UpdatedNotesPaginator3724 last_fetched_at: start of time3725 calculates the first page of notes3726 last_fetched_at: start of final page3727 calculates a final page3728Metrics::Dashboard::ClusterMetricsEmbedService3729 .valid_params?3730 is expected to be truthy3731 returns false with missing param3732 returns false with missing param3733 returns false with missing param3734 returns false with missing param3735 returns false with missing param3736 missing all params3737 is expected to be falsy3738 #get_dashboard3739 returns one panel3740 returns panel by title and y_label3741 behaves like valid embedded dashboard service response3742 behaves like valid dashboard service response for schema3743 returns a json representation of the dashboard3744 behaves like caches the unprocessed dashboard for subsequent calls3745 is expected to receive load_raw!(*(any args)) 1 time3746Gitlab::ImportExport::JSON::StreamingSerializer3747 #execute3748 calls json_writer.write_attributes with proper params3749 with many relations3750 calls json_writer.write_relation_array with proper params3751 relation ordering3752 orders exported issues by primary key3753 with single relation3754 calls json_writer.write_relation with proper params3755 with array relation3756 calls json_writer.write_relation_array with proper params3757 .batch_size3758 when export_reduce_relation_batch_size feature flag is enabled3759 returns 203760 when export_reduce_relation_batch_size feature flag is disabled3761 returns default batch size3762Mattermost::Session3763 is expected to respond to #current_resource_owner3764 is expected to respond to #request3765 is expected to respond to #authorization3766 is expected to respond to #strategy3767 #with session3768 without oauth uri3769 makes a request to the oauth uri3770 with oauth_uri3771 without token_uri3772 can not create a session3773 with token_uri3774 can set up a session3775 returns the value of the block3776 exclusive lease3777 tries to obtain a lease3778 returns a NoSessionError error without lease3779Resolvers::DesignManagement::DesignResolver3780 #resolve3781 when the user cannot see designs3782 returns nothing3783 when no argument has been passed3784 raises an error3785 when both arguments have been passed3786 raises an error3787 by ID3788 returns the specified design3789 the ID belongs to a design on another issue3790 returns nothing3791 by filename3792 returns the specified design3793 the filename belongs to a design on another issue3794 returns nothing3795Resolvers::TreeResolver3796 #resolve3797 resolves to a tree3798 resolve to a recursive tree3799 when repository does not exist3800 returns nil3801Gitlab::Ci::Status::Build::Created3802 #illustration3803 is expected to include :image, :size, :title, and :content3804 .matches?3805 when build is created3806 is a correct match3807 when build is not created3808 does not match3809Gitlab::Ci::Build::Credentials::Registry3810 contains valid DockerRegistry credentials3811 .valid?3812 when registry is enabled3813 is expected to be truthy3814 when registry is disabled3815 is expected to be falsey3816Users::LastPushEventService3817 #cache_last_push_event3818 caches the event for the event's project and current user3819 caches the event for the origin project when pushing to a fork3820 #last_event_for_user3821 returns the last push event for the current user3822 returns nil when no push event could be found3823 #last_event_for_project3824 returns the last push event for the given project3825 returns nil when no push event could be found3826 #find_cached_event3827 with a non-existing cache key3828 returns nil3829 with an existing cache key3830 returns a PushEvent when no merge requests exist for the event3831 removes the cache key when no event could be found and returns nil3832notify/changed_milestone_email.html.haml3833 milestone without start and due dates3834 renders without date range3835 milestone with start and due dates3836 renders with date range3837MergeRequestForPipelineEntity3838 as json3839 exposes needed attributes3840Approval3841 presence validation3842 is expected to validate that :merge_request_id cannot be empty/falsy3843 is expected to validate that :user_id cannot be empty/falsy3844 uniqueness validation3845 is expected to validate that :user_id is case-sensitively unique within the scope of :merge_request_id3846Mutations::Boards::Issues::IssueMoveList3847 #ready?3848 raises an error if required arguments are missing3849 raises an error if only one of fromListId and toListId is present3850 #resolve3851 when user have access to resources3852 moves and repositions issue3853 when user have no access to resources3854 when user cannot update issue3855 behaves like raises a resource not available error3856 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable3857 when user cannot access board3858 behaves like raises a resource not available error3859 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable3860 when passing board_id as nil3861 behaves like raises a resource not available error3862 is expected to raise Gitlab::Graphql::Errors::ResourceNotAvailable3863ServiceEventEntity3864 #as_json3865 service without fields3866 exposes correct attributes3867 service with fields3868 exposes correct attributes3869DeployKey3870 Associations3871 is expected to have many deploy_keys_projects3872 is expected to have many projects3873 notification3874 does not send a notification3875 #user3876 when user is set3877 returns the user3878 when user is not set3879 returns the ghost user3880Gitlab::Ci::Pipeline::Chain::RemoveUnwantedChatJobs3881 #perform!3882 removes unwanted jobs for chat pipelines3883 does not remove any jobs for non chat-pipelines3884ProjectBadge3885 associations3886 is expected to belong to project required:3887 validations3888 is expected to validate that :project cannot be empty/falsy3889 methods3890 #rendered_link_url3891 behaves like rendered_links3892 uses the badge project information to populate the url placeholders3893 #rendered_image_url3894 behaves like rendered_links3895 uses the badge project information to populate the url placeholders3896Namespace::TraversalHierarchy3897 .for_namespace3898 with root group3899 is expected to eq #<Namespace id: 2730, name: "John Doe2452", path: "namespace1517", owner_id: 2374, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3900 with child group3901 is expected to eq #<Namespace id: 2730, name: "John Doe2452", path: "namespace1517", owner_id: 2374, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3902 with group outside of hierarchy3903 is expected not to eq #<Namespace id: 2730, name: "John Doe2452", path: "namespace1517", owner_id: 2374, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3904 .new3905 with root group3906 is expected to eq #<Namespace id: 2730, name: "John Doe2452", path: "namespace1517", owner_id: 2374, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3907 with child group3908 is expected to raise StandardError with "Must specify a root node"3909 #incorrect_traversal_ids3910 is expected to contain exactly #<Namespace id: 2760, name: "John Doe2482", path: "namespace1547", owner_id: 2404, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2761, name: "John Doe2483", path: "namespace1548", owner_id: 2405, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2762, name: "John Doe2484", path: "namespace1549", owner_id: 2406, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2763, name: "John Doe2485", path: "namespace1550", owner_id: 2407, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2764, name: "John Doe2486", path: "namespace1551", owner_id: 2408, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2765, name: "John Doe2487", path: "namespace1552", owner_id: 2409, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2766, name: "John Doe2488", path: "namespace1553", owner_id: 2410, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2767, name: "John Doe2489", path: "namespace1554", owner_id: 2411, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2768, name: "John Doe2490", path: "namespace1555", owner_id: 2412, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2769, name: "John Doe2491", path: "namespace1556", owner_id: 2413, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2770, name: "John Doe2492", path: "namespace1557", owner_id: 2414, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2771, name: "John Doe2493", path: "namespace1558", owner_id: 2415, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2772, name: "John Doe2494", path: "namespace1559", owner_id: 2416, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2773, name: "John Doe2495", path: "namespace1560", owner_id: 2417, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2774, name: "John Doe2496", path: "namespace1561", owner_id: 2418, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2775, name: "John Doe2497", path: "namespace1562", owner_id: 2419, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2776, name: "John Doe2498", path: "namespace1563", owner_id: 2420, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2777, name: "John Doe2499", path: "namespace1564", owner_id: 2421, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2778, name: "John Doe2500", path: "namespace1565", owner_id: 2422, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2779, name: "John Doe2501", path: "namespace1566", owner_id: 2423, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2780, name: "John Doe2502", path: "namespace1567", owner_id: 2424, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2781, name: "John Doe2503", path: "namespace1568", owner_id: 2425, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2803, name: "John Doe2525", path: "namespace1590", owner_id: 2447, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2782, name: "John Doe2504", path: "namespace1569", owner_id: 2426, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2783, name: "John Doe2505", path: "namespace1570", owner_id: 2427, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2784, name: "John Doe2506", path: "namespace1571", owner_id: 2428, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2785, name: "John Doe2507", path: "namespace1572", owner_id: 2429, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2786, name: "John Doe2508", path: "namespace1573", owner_id: 2430, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2787, name: "John Doe2509", path: "namespace1574", owner_id: 2431, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2788, name: "John Doe2510", path: "namespace1575", owner_id: 2432, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2789, name: "John Doe2511", path: "namespace1576", owner_id: 2433, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2790, name: "John Doe2512", path: "namespace1577", owner_id: 2434, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2791, name: "John Doe2513", path: "namespace1578", owner_id: 2435, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2792, name: "John Doe2514", path: "namespace1579", owner_id: 2436, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2793, name: "John Doe2515", path: "namespace1580", owner_id: 2437, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2794, name: "John Doe2516", path: "namespace1581", owner_id: 2438, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2795, name: "John Doe2517", path: "namespace1582", owner_id: 2439, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2796, name: "John Doe2518", path: "namespace1583", owner_id: 2440, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2797, name: "John Doe2519", path: "namespace1584", owner_id: 2441, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2798, name: "John Doe2520", path: "namespace1585", owner_id: 2442, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2799, name: "John Doe2521", path: "namespace1586", owner_id: 2443, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2800, name: "John Doe2522", path: "namespace1587", owner_id: 2444, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2801, name: "John Doe2523", path: "namespace1588", owner_id: 2445, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2802, name: "John Doe2524", path: "namespace1589", owner_id: 2446, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2804, name: "John Doe2526", path: "namespace1591", owner_id: 2448, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2805, name: "John Doe2527", path: "namespace1592", owner_id: 2449, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2806, name: "John Doe2528", path: "namespace1593", owner_id: 2450, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2807, name: "John Doe2529", path: "namespace1594", owner_id: 2451, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2808, name: "John Doe2530", path: "namespace1595", owner_id: 2452, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2809, name: "John Doe2531", path: "namespace1596", owner_id: 2453, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2810, name: "John Doe2532", path: "namespace1597", owner_id: 2454, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2811, name: "John Doe2533", path: "namespace1598", owner_id: 2455, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2812, name: "John Doe2534", path: "namespace1599", owner_id: 2456, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2813, name: "John Doe2535", path: "namespace1600", owner_id: 2457, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2814, name: "John Doe2536", path: "namespace1601", owner_id: 2458, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2730, name: "John Doe2452", path: "namespace1517", owner_id: 2374, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2731, name: "John Doe2453", path: "namespace1518", owner_id: 2375, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2732, name: "John Doe2454", path: "namespace1519", owner_id: 2376, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2733, name: "John Doe2455", path: "namespace1520", owner_id: 2377, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2734, name: "John Doe2456", path: "namespace1521", owner_id: 2378, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2735, name: "John Doe2457", path: "namespace1522", owner_id: 2379, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2736, name: "John Doe2458", path: "namespace1523", owner_id: 2380, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2737, name: "John Doe2459", path: "namespace1524", owner_id: 2381, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2738, name: "John Doe2460", path: "namespace1525", owner_id: 2382, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2739, name: "John Doe2461", path: "namespace1526", owner_id: 2383, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2740, name: "John Doe2462", path: "namespace1527", owner_id: 2384, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2741, name: "John Doe2463", path: "namespace1528", owner_id: 2385, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2742, name: "John Doe2464", path: "namespace1529", owner_id: 2386, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2743, name: "John Doe2465", path: "namespace1530", owner_id: 2387, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2744, name: "John Doe2466", path: "namespace1531", owner_id: 2388, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2745, name: "John Doe2467", path: "namespace1532", owner_id: 2389, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2746, name: "John Doe2468", path: "namespace1533", owner_id: 2390, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2747, name: "John Doe2469", path: "namespace1534", owner_id: 2391, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2748, name: "John Doe2470", path: "namespace1535", owner_id: 2392, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2749, name: "John Doe2471", path: "namespace1536", owner_id: 2393, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2750, name: "John Doe2472", path: "namespace1537", owner_id: 2394, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2751, name: "John Doe2473", path: "namespace1538", owner_id: 2395, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2752, name: "John Doe2474", path: "namespace1539", owner_id: 2396, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2753, name: "John Doe2475", path: "namespace1540", owner_id: 2397, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2754, name: "John Doe2476", path: "namespace1541", owner_id: 2398, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2755, name: "John Doe2477", path: "namespace1542", owner_id: 2399, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2756, name: "John Doe2478", path: "namespace1543", owner_id: 2400, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2757, name: "John Doe2479", path: "namespace1544", owner_id: 2401, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, #<Namespace id: 2758, name: "John Doe2480", path: "namespace1545", owner_id: 2402, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>, and #<Namespace id: 2759, name: "John Doe2481", path: "namespace1546", owner_id: 2403, created_at: "2020-...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>3911 #sync_traversal_ids!3912 is expected to be empty3913 behaves like hierarchy with traversal_ids3914 will be valid3915projects/imports/new.html.haml3916 when import fails3917 escapes HTML in import errors3918ImportExportUpload3919 import3920 behaves like stores the Import/Export file3921 stores the import file3922 export3923 behaves like stores the Import/Export file3924 stores the import file3925RuboCop::Cop::RSpec::HaveGitlabHttpStatus3926 offenses and autocorrections3927 bad: "have_http_status(:ok)", good: "have_gitlab_http_status(:ok)"3928 registers an offense3929 does not register an offense3930 autocorrects3931 does not autocorrect3932 bad: "have_http_status(204)", good: "have_gitlab_http_status(:no_content)"3933 registers an offense3934 does not register an offense3935 autocorrects3936 does not autocorrect3937 bad: "have_gitlab_http_status(201)", good: "have_gitlab_http_status(:created)"3938 registers an offense3939 does not register an offense3940 autocorrects3941 does not autocorrect3942 bad: "have_http_status(var)", good: "have_gitlab_http_status(var)"3943 registers an offense3944 does not register an offense3945 autocorrects3946 does not autocorrect3947 bad: "have_http_status(:success)", good: "have_gitlab_http_status(:success)"3948 registers an offense3949 does not register an offense3950 autocorrects3951 does not autocorrect3952 bad: "have_http_status(:invalid)", good: "have_gitlab_http_status(:invalid)"3953 registers an offense3954 does not register an offense3955 autocorrects3956 does not autocorrect3957 bad: "expect(response.status).to eq(200)", good: "expect(response).to have_gitlab_http_status(:ok)"3958 registers an offense3959 does not register an offense3960 autocorrects3961 does not autocorrect3962 bad: "expect(response.status).not_to eq(200)", good: "expect(response).not_to have_gitlab_http_status(:ok)"3963 registers an offense3964 does not register an offense3965 autocorrects3966 does not autocorrect3967 partially autocorrects invalid numeric status3968 bad: "have_http_status(-1)", good: "have_gitlab_http_status(-1)"3969 registers an offense3970 registers an offense3971 autocorrects3972 does not autocorrect3973 ignore3974 code: "have_http_status"3975 does not register an offense3976 does not autocorrect3977 code: "have_http_status { }"3978 does not register an offense3979 does not autocorrect3980 code: "have_http_status(200, arg)"3981 does not register an offense3982 does not autocorrect3983 code: "have_gitlab_http_status"3984 does not register an offense3985 does not autocorrect3986 code: "have_gitlab_http_status { }"3987 does not register an offense3988 does not autocorrect3989 code: "have_gitlab_http_status(200, arg)"3990 does not register an offense3991 does not autocorrect3992 code: "expect(response.status).to eq(arg)"3993 does not register an offense3994 does not autocorrect3995 code: "expect(response.status).to eq(:ok)"3996 does not register an offense3997 does not autocorrect3998 code: "expect(response.status).to some_matcher(200)"3999 does not register an offense4000 does not autocorrect4001 code: "expect(response.status).not_to eq(arg)"4002 does not register an offense4003 does not autocorrect4004 code: "expect(response.status).not_to eq(:ok)"4005 does not register an offense4006 does not autocorrect4007 code: "expect(response.status).not_to some_matcher(200)"4008 does not register an offense4009 does not autocorrect4010 code: "expect(result.status).to eq(200)"4011 does not register an offense4012 does not autocorrect4013 code: "expect(result.status).not_to eq(200)"4014 does not register an offense4015 does not autocorrect4016 code: "response = some_assignment\nexpect(response.status).to eq(200)\n"4017 does not register an offense4018 does not autocorrect4019 code: "response = some_assignment\nexpect(response.status).not_to eq(200)\n"4020 does not register an offense4021 does not autocorrect4022Users::RepairLdapBlockedService4023 #execute4024 changes to normal block after destroying last ldap identity4025 changes to normal block after changing last ldap identity to another provider4026Constraints::FeatureConstrainer4027 #matches4028 calls Feature.enabled? with the correct arguments4029Knapsack report was generated. Preview:4030{4031 "spec/policies/project_policy_spec.rb": 144.3653826713562,4032 "spec/models/cycle_analytics/staging_spec.rb": 82.70747756958008,4033 "spec/lib/gitlab/closing_issue_extractor_spec.rb": 47.872435569763184,4034 "spec/finders/group_projects_finder_spec.rb": 36.038538455963135,4035 "spec/services/ci/create_cross_project_pipeline_service_spec.rb": 31.988449811935425,4036 "spec/lib/gitlab/cycle_analytics/stage_summary_spec.rb": 28.078559637069702,4037 "spec/lib/gitlab/diff/file_spec.rb": 22.61060857772827,4038 "spec/models/namespace_spec.rb": 27.531724214553833,4039 "spec/services/issues/close_service_spec.rb": 21.36246681213379,4040 "spec/serializers/environment_serializer_spec.rb": 17.0556583404541,4041 "spec/lib/gitlab/cycle_analytics/staging_stage_spec.rb": 16.174084424972534,4042 "spec/serializers/pipeline_entity_spec.rb": 11.963944673538208,4043 "spec/lib/gitlab/git/blob_spec.rb": 11.815131187438965,4044 "spec/lib/gitlab/email/handler/create_merge_request_handler_spec.rb": 11.548466444015503,4045 "spec/models/cycle_analytics/issue_spec.rb": 12.012185335159302,4046 "spec/presenters/project_presenter_spec.rb": 6.848810911178589,4047 "spec/services/todos/destroy/private_features_service_spec.rb": 7.374495029449463,4048 "spec/lib/banzai/filter/user_reference_filter_spec.rb": 8.215843915939331,4049 "spec/helpers/avatars_helper_spec.rb": 2.142305612564087,4050 "spec/lib/gitlab/import_export/project/relation_factory_spec.rb": 5.16001296043396,4051 "spec/services/projects/update_repository_storage_service_spec.rb": 6.869609117507935,4052 "spec/serializers/pipeline_details_entity_spec.rb": 5.436641216278076,4053 "spec/lib/gitlab/github_import/user_finder_spec.rb": 6.619031667709351,4054 "spec/models/concerns/milestoneable_spec.rb": 5.646960020065308,4055 "spec/services/web_hook_service_spec.rb": 5.444615840911865,4056 "spec/lib/gitlab/data_builder/build_spec.rb": 5.335235595703125,4057 "spec/lib/gitlab/gitaly_client/ref_service_spec.rb": 3.924560070037842,4058 "spec/lib/gitlab/import_export/project/export_task_spec.rb": 4.501598596572876,4059 "spec/graphql/mutations/design_management/delete_spec.rb": 3.6973047256469727,4060 "spec/views/notify/pipeline_fixed_email.html.haml_spec.rb": 3.289576768875122,4061 "spec/services/notes/build_service_spec.rb": 3.519749641418457,4062 "spec/services/metrics/dashboard/annotations/create_service_spec.rb": 3.5025570392608643,4063 "spec/services/notes/copy_service_spec.rb": 3.891864538192749,4064 "spec/services/gpg_keys/destroy_service_spec.rb": 4.063543081283569,4065 "spec/services/merge_requests/approval_service_spec.rb": 3.4802803993225098,4066 "spec/lib/gitlab/slash_commands/deploy_spec.rb": 2.8809430599212646,4067 "spec/policies/commit_policy_spec.rb": 3.2974321842193604,4068 "spec/models/cycle_analytics/project_level_spec.rb": 2.0664427280426025,4069 "spec/services/merge_requests/delete_non_latest_diffs_service_spec.rb": 2.8882293701171875,4070 "spec/lib/gitlab/ci/status/build/stop_spec.rb": 2.7026777267456055,4071 "spec/services/projects/lfs_pointers/lfs_download_link_list_service_spec.rb": 2.4743194580078125,4072 "spec/models/concerns/ci/has_variable_spec.rb": 1.9823431968688965,4073 "spec/views/layouts/header/_new_dropdown.haml_spec.rb": 2.2876291275024414,4074 "spec/lib/gitlab/object_hierarchy_spec.rb": 2.261617660522461,4075 "spec/uploaders/import_export_uploader_spec.rb": 1.7290091514587402,4076 "spec/views/projects/artifacts/_artifact.html.haml_spec.rb": 2.4223456382751465,4077 "spec/graphql/resolvers/design_management/versions_resolver_spec.rb": 1.506605863571167,4078 "spec/serializers/environment_entity_spec.rb": 1.8739912509918213,4079 "spec/models/upload_spec.rb": 2.148366689682007,4080 "spec/lib/gitlab/checks/change_access_spec.rb": 2.044893264770508,4081 "spec/helpers/timeboxes_helper_spec.rb": 2.3901419639587402,4082 "spec/lib/gitlab/database/count/tablesample_count_strategy_spec.rb": 1.4405345916748047,4083 "spec/lib/banzai/pipeline/full_pipeline_spec.rb": 1.5561878681182861,4084 "spec/services/clusters/destroy_service_spec.rb": 2.018324613571167,4085 "spec/services/discussions/capture_diff_note_position_service_spec.rb": 1.747072458267212,4086 "spec/lib/gitlab/ci/templates/Jobs/test_gitlab_ci_yaml_spec.rb": 1.6645991802215576,4087 "spec/lib/sentry/client/issue_spec.rb": 1.4980990886688232,4088 "spec/models/merge_request_assignee_spec.rb": 1.5518829822540283,4089 "spec/lib/gitlab/google_code_import/project_creator_spec.rb": 1.4490447044372559,4090 "spec/models/ci/job_variable_spec.rb": 1.3584961891174316,4091 "spec/services/members/request_access_service_spec.rb": 1.3235094547271729,4092 "spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb": 1.262890338897705,4093 "spec/lib/gitlab/ci/status/build/common_spec.rb": 1.2893457412719727,4094 "spec/views/projects/diffs/_viewer.html.haml_spec.rb": 1.3700079917907715,4095 "spec/lib/gitlab/gitaly_client/remote_service_spec.rb": 1.1333496570587158,4096 "spec/models/integration_spec.rb": 1.1900203227996826,4097 "spec/lib/gitlab/danger/commit_linter_spec.rb": 1.189941644668579,4098 "spec/helpers/storage_helper_spec.rb": 0.6958541870117188,4099 "spec/models/container_expiration_policy_spec.rb": 0.6753628253936768,4100 "spec/uploaders/workers/object_storage/background_move_worker_spec.rb": 1.0322520732879639,4101 "spec/lib/gitlab/json_cache_spec.rb": 0.2507641315460205,4102 "spec/serializers/evidences/milestone_entity_spec.rb": 0.8087124824523926,4103 "spec/services/groups/auto_devops_service_spec.rb": 0.7750229835510254,4104 "spec/lib/gitlab/legacy_github_import/release_formatter_spec.rb": 0.871283769607544,4105 "spec/services/two_factor/destroy_service_spec.rb": 0.9090969562530518,4106 "spec/finders/projects/export_job_finder_spec.rb": 0.690162181854248,4107 "spec/lib/gitlab/jira_import/base_importer_spec.rb": 0.46119236946105957,4108 "spec/lib/gitlab/updated_notes_paginator_spec.rb": 0.8363981246948242,4109 "spec/services/metrics/dashboard/cluster_metrics_embed_service_spec.rb": 0.7716708183288574,4110 "spec/lib/gitlab/import_export/json/streaming_serializer_spec.rb": 0.42871880531311035,4111 "spec/lib/mattermost/session_spec.rb": 0.9716198444366455,4112 "spec/graphql/resolvers/design_management/design_resolver_spec.rb": 0.5809922218322754,4113 "spec/graphql/resolvers/tree_resolver_spec.rb": 0.5594668388366699,4114 "spec/lib/gitlab/ci/status/build/created_spec.rb": 0.4924306869506836,4115 "spec/lib/gitlab/ci/build/credentials/registry_spec.rb": 0.8652710914611816,4116 "spec/services/users/last_push_event_service_spec.rb": 0.5127246379852295,4117 "spec/views/notify/changed_milestone_email.html.haml_spec.rb": 0.49295473098754883,4118 "spec/serializers/merge_request_for_pipeline_entity_spec.rb": 0.47981858253479004,4119 "spec/models/approval_spec.rb": 0.41950321197509766,4120 "spec/graphql/mutations/boards/issues/issue_move_list_spec.rb": 0.6352419853210449,4121 "spec/serializers/service_event_entity_spec.rb": 0.44353246688842773,4122 "spec/models/deploy_key_spec.rb": 0.2877471446990967,4123 "spec/lib/gitlab/ci/pipeline/chain/remove_unwanted_chat_jobs_spec.rb": 0.33718037605285645,4124 "spec/models/badges/project_badge_spec.rb": 0.42853689193725586,4125 "spec/models/namespace/traversal_hierarchy_spec.rb": 0.36539125442504883,4126 "spec/views/projects/imports/new.html.haml_spec.rb": 0.3316991329193115,4127 "spec/models/import_export_upload_spec.rb": 0.5825490951538086,4128 "spec/rubocop/cop/rspec/have_gitlab_http_status_spec.rb": 0.33031225204467773,4129 "spec/services/users/repair_ldap_blocked_service_spec.rb": 0.15523576736450195,4130 "spec/lib/constraints/feature_constrainer_spec.rb": 0.00325083732604980474131}4132Knapsack global time execution for tests: 11m 40s4133Pending: (Failures listed here are expected and do not affect your suite's status)4134 1) ImportExportUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 4135 # No pattern provided, skipping.4136 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84137 2) ImportExportUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 4138 # No pattern provided, skipping.4139 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84140 3) ImportExportUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative4141 # Path not set, skipping.4142 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:394143 4) ImportExportUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 4144 # No pattern provided, skipping.4145 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84146 5) ImportExportUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 4147 # No pattern provided, skipping.4148 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:84149Finished in 16 minutes 26 seconds (files took 48.36 seconds to load)41502049 examples, 0 failures, 5 pending4151Mon Aug 31 02:54:01 UTC 20204153Not uploading cache rails-v2-3 due to policy4155Uploading artifacts...4156coverage/: found 5 matching files and directories 4157knapsack/: found 3 matching files and directories 4158rspec_flaky/: found 4 matching files and directories 4159rspec_profiling/: found 2 matching files and directories 4160WARNING: tmp/capybara/: no matching files 4161tmp/memory_test/: found 2 matching files and directories 4162log/*.log: found 15 matching files and directories 4163Uploading artifacts as "archive" to coordinator... ok id=710807197 responseStatus=201 Created token=xnmyihe94164Uploading artifacts...4165junit_rspec.xml: found 1 matching files and directories 4166Uploading artifacts as "junit" to coordinator... ok id=710807197 responseStatus=201 Created token=xnmyihe94167Job succeeded