rspec unit pg11-as-if-foss 4/20
Passed Started
by
@patrickbajao

Patrick Bajao
1Running with gitlab-runner 13.9.0-rc2 (69c049fd)2 on prm-com-gitlab-org bd0915563 feature flags: FF_GITLAB_REGISTRY_HELPER_IMAGE:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...7Starting service postgres:11.6 ...8Pulling docker image postgres:11.6 ...9Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 with digest postgres@sha256:6f2062ab11d720f4756f17da4d0a64534346cce33b7cdea9d7ac4f43eed9fc02 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:f5b24aafdf93a05581fac6db4430badb2024b27c7d6c29eb3144b01828ac5a07 for redis:5.0-alpine with digest redis@sha256:6151b520d9ac29c1524d9637e0b3dc69cba7dbef27a427d6dba355652fff8306 ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...16Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...18Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1614767763-9b5b75a1...20$ eval "$CI_PRE_CLONE_SCRIPT"21Downloading archived master...22Connecting to storage.googleapis.com (172.217.193.128:443)23saving to '/tmp/gitlab.tar.gz'24gitlab.tar.gz 1% | | 4096k 0:01:38 ETA25gitlab.tar.gz 79% |************************* | 313M 0:00:00 ETA26gitlab.tar.gz 100% |********************************| 396M 0:00:00 ETA27'/tmp/gitlab.tar.gz' saved28Extracting tarball into /builds/gitlab-org/gitlab...29Fetching changes with git depth set to 20...30Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/31remote: Enumerating objects: 1210, done. 32remote: Counting objects: 100% (645/645), done. 33remote: Compressing objects: 100% (248/248), done. 34remote: Total 320 (delta 256), reused 130 (delta 68), pack-reused 0 35Receiving objects: 100% (320/320), 40.40 KiB | 1.09 MiB/s, done.36Resolving deltas: 100% (256/256), completed with 120 local objects.38 * [new ref] 4996f4cc3b5cc82b8b493bfd2a4ced37e8cf757c -> refs/pipelines/26473258739Checking out 4996f4cc as refs/merge-requests/55046/merge...40Skipping Git submodules setup42Checking cache for rails-v4-3...43cache.zip is up to date 44WARNING: vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: chmod vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: no such file or directory (suppressing repeats) 45Successfully extracted cache47Downloading artifacts for compile-test-assets as-if-foss (1069711723)...48Downloading artifacts from coordinator... ok id=1069711723 responseStatus=200 OK token=nvgyNQyG49Downloading artifacts for detect-tests (1069711729)...50Downloading artifacts from coordinator... ok id=1069711729 responseStatus=200 OK token=4KJ6tsyT51Downloading artifacts for retrieve-tests-metadata (1069711731)...52Downloading artifacts from coordinator... ok id=1069711731 responseStatus=200 OK token=nMSW8ysV53Downloading artifacts for setup-test-env (1069711725)...54Downloading artifacts from coordinator... ok id=1069711725 responseStatus=200 OK token=fSmN9Jtk55WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 57Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...58$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb59$ export GOPATH=$CI_PROJECT_DIR/.go60$ mkdir -p $GOPATH61$ source scripts/utils.sh62$ source scripts/prepare_build.sh63Bundler version 2.1.464$ bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet65==> 'bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.66$ bundle check67The Gemfile's dependencies are satisfied68==> 'bundle check' succeeded in 0 seconds.69$ bundle pristine pg70Installing pg 1.2.3 with native extensions71==> 'bundle pristine pg' succeeded in 10 seconds.72$ setup_db_user_only73CREATE ROLE74GRANT75==> 'setup_db_user_only' succeeded in 0 seconds.76$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee77Dropped database 'gitlabhq_test'78Created database 'gitlabhq_test'79==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 23 seconds.80$ run_timed_command "gem install knapsack --no-document"81$ gem install knapsack --no-document82Successfully installed knapsack-1.20.0831 gem installed84==> 'gem install knapsack --no-document' succeeded in 0 seconds.85$ run_timed_command "scripts/gitaly-test-spawn"86$ scripts/gitaly-test-spawn87Settings are listed in order of priority. The top value will be used.88retry89Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 390path91Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"92jobs93Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 494app_config95Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"96gemfile97Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"98flags99Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"100Don't run Bundler as root. Bundler can ask for sudo if it is needed, and101installing your bundle as root will break this application for all non-root102users on this machine.103Using abstract_type 0.0.7104Using concurrent-ruby 1.1.7105Using i18n 1.8.5106Using minitest 5.14.2107Using thread_safe 0.3.6108Using tzinfo 1.2.9109Using zeitwerk 2.4.2110Using activesupport 6.0.3.4111Using builder 3.2.4112Using erubi 1.10.0113Using mini_portile2 2.5.0114Using racc 1.5.2115Using nokogiri 1.11.1 (x86_64-linux)116Using rails-dom-testing 2.0.3117Using crass 1.0.6118Using loofah 2.9.0119Using rails-html-sanitizer 1.3.0120Using actionview 6.0.3.4121Using rack 2.2.3122Using rack-test 1.1.0123Using actionpack 6.0.3.4124Using ice_nine 0.11.2125Using memoizable 0.4.2126Using adamantium 0.2.0127Using public_suffix 4.0.6128Using addressable 2.7.0129Using ast 2.4.1130Using binding_ninja 0.2.3131Using bundler 2.1.4132Using charlock_holmes 0.7.7133Using coderay 1.1.2134Using equalizer 0.0.11135Using concord 0.1.5136Using diff-lcs 1.3137Using dotenv 2.7.6138Using escape_utils 1.2.1139Using factory_bot 5.0.2140Using multipart-post 2.1.1141Using faraday 1.0.1142Using ffi 1.13.1143Using json 2.5.1144Using gemojione 3.3.0145Using mini_mime 1.0.2146Using rugged 1.0.1147Using github-linguist 7.12.1148Using github-markup 1.7.0149Using mime-types-data 3.2020.1104150Using mime-types 3.3.1151Using gitlab-gollum-rugged_adapter 0.4.4.3.gitlab.1152Using rouge 3.26.0153Using nokogumbo 1.5.0154Using sanitize 4.6.6155Using stringex 2.8.5156Using gitlab-gollum-lib 4.2.7.10.gitlab.1157Using google-protobuf 3.12.4 (x86_64-linux)158Using googleapis-common-protos-types 1.0.5159Using grpc 1.30.2 (x86_64-linux)160Using opentracing 0.5.0161Using thrift 0.13.0162Using jaeger-client 1.1.0163Using pg_query 1.3.0164Using redis 4.2.5165Using gitlab-labkit 0.15.0166Using gitlab-markup 1.7.1167Using grpc-tools 1.30.2168Using sawyer 0.8.2169Using octokit 4.20.0170Using reverse_markdown 1.4.0171Using thor 1.1.0172Using licensee 9.14.1173Using method_source 0.9.2174Using msgpack 1.3.3175Using optimist 3.0.1176Using parallel 1.19.2177Using parser 2.7.2.0178Using procto 0.0.3179Using unparser 0.4.7180Using proc_to_ast 0.1.0181Using pry 0.12.2182Using rainbow 3.0.0183Using rbtrace 0.4.14184Using rdoc 6.2.0185Using regexp_parser 1.8.1186Using rexml 3.2.4187Using rspec-support 3.8.0188Using rspec-core 3.8.0189Using rspec-expectations 3.8.3190Using rspec-mocks 3.8.0191Using rspec 3.8.0192Using rspec-parameterized 0.4.2193Using rubocop-ast 0.2.0194Using ruby-progressbar 1.10.1195Using unicode-display_width 1.7.0196Using rubocop 0.86.0197Using sentry-raven 3.0.4198Using timecop 0.9.1199Bundle complete! 21 Gemfile dependencies, 96 gems now installed.200Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`201Checking gitaly-ruby Gemfile...202Checking gitaly-ruby bundle...203The Gemfile's dependencies are satisfied204Trying to connect to gitaly: ....... OK205Trying to connect to gitaly2: ................. OK206Trying to connect to praefect: ......... OK207==> 'scripts/gitaly-test-spawn' succeeded in 5 seconds.208$ source ./scripts/rspec_helpers.sh209$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"210KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb211WARNING: `around(:context)` hooks are not supported and behave like `around(:example). Called from /builds/gitlab-org/gitlab/spec/support/omniauth_strategy.rb:36:in `block in <top (required)>'.212Run options:213 include {:focus=>true}214 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}215All examples were filtered out; ignoring {:focus=>true}216==> Setting up GitLab Workhorse...217 GitLab Workhorse set up in 61.856344673 seconds...218==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...219 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.028383113 seconds...220Project221 returns valid url to repo222 behaves like having unique enum values223 has unique values in "auto_cancel_pending_pipelines"224 associations225 is expected to belong to group required:226 is expected to belong to namespace required:227 is expected to belong to creator class_name => User required:228 is expected to belong to pool_repository required:229 is expected to have many users230 is expected to have many services231 is expected to have many events232 is expected to have many merge_requests233 is expected to have many merge_request_metrics class_name => MergeRequest::Metrics234 is expected to have many issues235 is expected to have many milestones236 is expected to have many iterations237 is expected to have many project_members dependent => delete_all238 is expected to have many users through project_members239 is expected to have many requesters dependent => delete_all240 is expected to have many notes241 is expected to have many snippets class_name => ProjectSnippet242 is expected to have many deploy_keys_projects243 is expected to have many deploy_keys244 is expected to have many hooks245 is expected to have many protected_branches246 is expected to have many exported_protected_branches247 is expected to have one slack_service248 is expected to have one microsoft_teams_service249 is expected to have one mattermost_service250 is expected to have one hangouts_chat_service251 is expected to have one unify_circuit_service252 is expected to have one webex_teams_service253 is expected to have one packagist_service254 is expected to have one pushover_service255 is expected to have one asana_service256 is expected to have many boards257 is expected to have one campfire_service258 is expected to have one discord_service259 is expected to have one drone_ci_service260 is expected to have one emails_on_push_service261 is expected to have one pipelines_email_service262 is expected to have one irker_service263 is expected to have one pivotaltracker_service264 is expected to have one hipchat_service265 is expected to have one flowdock_service266 is expected to have one assembla_service267 is expected to have one slack_slash_commands_service268 is expected to have one mattermost_slash_commands_service269 is expected to have one buildkite_service270 is expected to have one bamboo_service271 is expected to have one teamcity_service272 is expected to have one jira_service273 is expected to have one redmine_service274 is expected to have one youtrack_service275 is expected to have one custom_issue_tracker_service276 is expected to have one bugzilla_service277 is expected to have one ewm_service278 is expected to have one external_wiki_service279 is expected to have one confluence_service280 is expected to have one project_feature281 is expected to have one project_repository282 is expected to have one container_expiration_policy283 is expected to have one statistics class_name => ProjectStatistics284 is expected to have one import_data class_name => ProjectImportData285 is expected to have one last_event class_name => Event286 is expected to have one forked_from_project through fork_network_member287 is expected to have one auto_devops class_name => ProjectAutoDevops288 is expected to have one tracing_setting class_name => ProjectTracingSetting289 is expected to have one error_tracking_setting class_name => ErrorTracking::ProjectErrorTrackingSetting290 is expected to have one project_setting291 is expected to have one alerting_setting class_name => Alerting::ProjectAlertingSetting292 is expected to have many commit_statuses293 is expected to have many ci_pipelines294 is expected to have many ci_refs295 is expected to have many builds296 is expected to have many build_trace_section_names297 is expected to have many build_report_results298 is expected to have many runner_projects299 is expected to have many runners300 is expected to have many variables301 is expected to have many triggers302 is expected to have many labels class_name => ProjectLabel303 is expected to have many users_star_projects304 is expected to have many repository_languages305 is expected to have many environments306 is expected to have many deployments307 is expected to have many todos308 is expected to have many releases309 is expected to have many lfs_objects_projects310 is expected to have many project_group_links311 is expected to have many notification_settings dependent => delete_all312 is expected to have many forked_to_members class_name => ForkNetworkMember313 is expected to have many forks through forked_to_members314 is expected to have many uploads315 is expected to have many pipeline_schedules316 is expected to have many members_and_requesters317 is expected to have many clusters318 is expected to have many management_clusters class_name => Clusters::Cluster319 is expected to have many kubernetes_namespaces320 is expected to have many cluster_agents class_name => Clusters::Agent321 is expected to have many custom_attributes class_name => ProjectCustomAttribute322 is expected to have many project_badges class_name => ProjectBadge323 is expected to have many lfs_file_locks324 is expected to have many project_deploy_tokens325 is expected to have many deploy_tokens through project_deploy_tokens326 is expected to have many cycle_analytics_stages327 is expected to have many external_pull_requests328 is expected to have many sourced_pipelines329 is expected to have many source_pipelines330 is expected to have many prometheus_alert_events331 is expected to have many self_managed_prometheus_alert_events332 is expected to have many alert_management_alerts333 is expected to have many alert_management_http_integrations334 is expected to have many jira_imports335 is expected to have many metrics_users_starred_dashboards inverse_of => project336 is expected to have many repository_storage_moves337 is expected to have many reviews inverse_of => project338 is expected to have many packages class_name => Packages::Package339 is expected to have many package_files class_name => Packages::PackageFile340 is expected to have many debian_distributions class_name => Packages::Debian::ProjectDistribution dependent => destroy341 is expected to have many pipeline_artifacts342 is expected to have many terraform_states class_name => Terraform::State inverse_of => project343 is expected to have many pages_domains344 is expected to have one pages_metadatum345 is expected to have many pages_deployments346 has an inverse relationship with merge requests347 has a distinct has_many :lfs_objects relation through lfs_objects_projects348 behaves like model with repository349 container class includes HasRepository350 #commits_by351 retrieves several commits from the repository by oid352 #web_url353 when given the only_path option354 when only_path is false355 returns the full web URL for this repo356 when only_path is true357 returns the relative web URL for this repo358 when only_path is nil359 returns the full web URL for this repo360 when not given the only_path option361 returns the full web URL for this repo362 #url_to_repo363 returns the SSH URL to the repository364 #ssh_url_to_repo365 returns the SSH URL to the repository366 #http_url_to_repo367 returns the HTTP URL to the repository368 #repository369 returns valid repo370 uses the same container371 #storage372 returns valid storage373 #full_path374 returns valid full_path375 #lfs_enabled?376 returns the expected value377 #empty_repo?378 when the repo does not exist379 returns true380 when the repo exists381 returns the empty state of the repository382 #valid_repo?383 is expected to equal false384 is expected to equal true385 #repository_exists?386 is expected to equal false387 is expected to equal true388 #repo_exists?389 is expected to equal false390 is expected to equal true391 #root_ref392 is expected to equal true393 is expected to equal false394 is expected to equal false395 Respond to396 is expected to respond to #base_dir397 is expected to respond to #disk_path398 is expected to respond to #gitlab_shell399 behaves like model with wiki400 #create_wiki401 returns true if the wiki repository already exists402 returns true if the wiki repository was created403 when the repository cannot be created404 returns false and adds a validation error405 #wiki_repository_exists?406 returns true when the wiki repository exists407 returns false when the wiki repository does not exist408 wiki path conflict409 when the new path has been used by the wiki of other Project410 has an error on the name attribute411 when the new wiki path has been used by the path of other Project412 has an error on the name attribute413 when the new path has been used by the wiki of other Group414 has an error on the name attribute415 when the new wiki path has been used by the path of other Group416 has an error on the name attribute417 behaves like can move repository storage418 #set_repository_read_only!419 makes the repository read-only420 raises an error if the project is already read-only421 raises an error when there is an existing git transfer in progress422 skip_git_transfer_check is true423 makes the project read-only when git transfers are in progress424 #set_repository_writable!425 sets repository_read_only to false426 #reference_counter427 returns a Gitlab::ReferenceCounter object428 after initialized429 has a project_feature430 when creating a new project431 automatically creates a CI/CD settings row432 automatically creates a container expiration policy row433 does not create another container expiration policy if there is already one434 automatically creates a Pages metadata row435 automatically builds a project setting row436 updating cd_cd_settings437 does not raise an error438 #members & #requesters439 behaves like members and requesters associations440 #members_and_requesters441 includes members and requesters442 #members443 includes members and exclude requesters444 #requesters445 does not include requesters446 ci_pipelines association447 returns only pipelines from ci_sources448 modules449 is expected to includes the Gitlab::ConfigHelper module450 is expected to includes the Gitlab::ShellAdapter module451 is expected to includes the Gitlab::VisibilityLevel module452 is expected to includes the Referable module453 is expected to includes the Sortable module454 validation455 is expected to validate that :name cannot be empty/falsy456 is expected to validate that :name is case-sensitively unique within the scope of :namespace_id457 is expected to validate that the length of :name is at most 255458 is expected to validate that :path cannot be empty/falsy459 is expected to validate that the length of :path is at most 255460 is expected to validate that the length of :description is at most 2000461 is expected to validate that the length of :ci_config_path is at most 255462 is expected to allow :ci_config_path to be ‹""›463 is expected not to allow :ci_config_path to be ‹"test/../foo"›464 is expected not to allow :ci_config_path to be ‹"/test/foo"›465 is expected to validate that :creator cannot be empty/falsy466 is expected to validate that :namespace cannot be empty/falsy467 is expected to validate that :repository_storage cannot be empty/falsy468 is expected to validate that :max_artifacts_size looks like an integer greater than 0469 validates build timeout constraints470 does not allow new projects beyond user limits471 validates the visibility472 validates presence of project_feature473 repository storages inclusion474 does not allow repository storages that don't match a label in the configuration475 import_url476 does not allow an invalid URI as import_url477 does allow a SSH URI as import_url for persisted projects478 does not allow a SSH URI as import_url for new projects479 does allow a valid URI as import_url480 allows an empty URI481 does not produce import data on an empty URI482 does not produce import data on an invalid URI483 does not allow import_url pointing to localhost484 does not allow import_url pointing to the local network485 does not allow import_url with invalid ports for new projects486 does not allow import_url with invalid ports for persisted projects487 does not allow import_url with invalid user488 does not allow urls with CR or LF characters489 project pending deletion490 contains errors related to the project being deleted491 path validation492 allows paths reserved on the root namespace493 rejects paths reserved on another level494 rejects nested paths495 allows a reserved group name496 allows a path ending in a period497 #all_pipelines498 has all pipelines499 when builds are disabled500 returns .external pipelines501 #has_packages?502 with maven packages503 behaves like returning true examples504DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/sanitized_file.rb:316: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call505/usr/local/lib/ruby/2.7.0/fileutils.rb:206: warning: The called method `mkdir_p' is defined here506 (called from cache! at /builds/gitlab-org/gitlab/app/uploaders/object_storage.rb:369)507 is expected to equal true508 with npm packages509 behaves like returning true examples510 is expected to equal true511 with conan packages512 behaves like returning true examples513 is expected to equal true514 with no package type515 behaves like returning false examples516 is expected to equal false517 #ci_pipelines518 excludes dangling pipelines such as :webide519 when builds are disabled520 returns .external pipelines521 #default_pipeline_lock522 keep_latest_artifact_enabled: false, result_pipeline_locked: :unlocked523 is expected to eq :unlocked524 keep_latest_artifact_enabled: true, result_pipeline_locked: :artifacts_locked525 is expected to eq :artifacts_locked526 #autoclose_referenced_issues527 when DB entry is nil528 returns true529 when DB entry is true530 returns true531 when DB entry is false532 returns false533 project token534 sets an random token if none provided535 does not set an random token if one provided536 Respond to537 is expected to respond to #url_to_repo538 is expected to respond to #execute_hooks539 is expected to respond to #owner540 is expected to respond to #path_with_namespace541 is expected to respond to #full_path542 delegation543 is expected to delegate #add_guest to the #team object544 is expected to delegate #add_reporter to the #team object545 is expected to delegate #add_developer to the #team object546 is expected to delegate #add_maintainer to the #team object547 is expected to delegate #add_user to the #team object548 is expected to delegate #add_users to the #team object549 is expected to delegate #team_members to the #team object as #members550 is expected to delegate #owner_name to the #owner object passing arguments [{:allow_nil=>true}] as #name551 is expected to delegate #root_ancestor to the #namespace object passing arguments [{:allow_nil=>true}]552 is expected to delegate #last_pipeline to the #commit object passing arguments [{:allow_nil=>true}]553 is expected to delegate #allow_editing_commit_messages? to the #project_setting object554 reference methods555 #to_reference556 returns the path with reference_postfix557 returns the path with reference_postfix when arg is self558 returns the full_path with reference_postfix when full559 returns the full_path with reference_postfix when cross-project560 #to_reference_base561 when nil argument562 returns nil563 when full is true564 returns complete path to the project565 when same project argument566 returns nil567 when cross namespace project argument568 returns complete path to the project569 when same namespace / cross-project argument570 returns path to the project571 when different namespace / cross-project argument with same owner572 returns full path to the project573 when argument is a namespace574 with same project path575 returns path to the project576 with different project path577 returns full path to the project578 when argument is a user579 returns full path to the project580 #to_human_reference581 when nil argument582 returns nil583 when same project argument584 returns nil585 when cross namespace project argument586 returns complete name with namespace of the project587 when same namespace / cross-project argument588 returns name of the project589 #merge_method590 ff: true, rebase: true, method: :ff591 is expected to eq :ff592 ff: true, rebase: false, method: :ff593 is expected to eq :ff594 ff: false, rebase: true, method: :rebase_merge595 is expected to eq :rebase_merge596 ff: false, rebase: false, method: :merge597 is expected to eq :merge598 #readme_url599 with a non-existing repository600 returns nil601 with an existing repository602 when no README exists603 returns nil604 when a README exists605 returns the README606 #new_issuable_address607 incoming email enabled608 returns the address to create a new issue609 returns the address to create a new merge request610 returns nil with invalid address type611 incoming email disabled612 returns nil613 returns nil614 last_activity methods615 last_activity616 alias last_activity to last_event617 last_activity_date618 returns the creation date of the project's last event if present619 returns the project's last update date if it has no events620 returns the most recent timestamp621 #get_issue622 with default issues tracker623 returns an issue624 returns count of open issues625 returns nil when no issue found626 returns nil when user doesn't have access627 with external issues tracker628 when internal issues are enabled629 returns interlan issue630 returns an ExternalIssue when internal issue does not exists631 when internal issues are disabled632 returns always an External issues633 returns an ExternalIssue when internal issue does not exists634 #issue_exists?635 is truthy when issue exists636 is falsey when issue does not exist637 #to_param638 with namespace639 is expected to eq "gitlabhq"640 with invalid path641 returns previous path to keep project suitable for use in URLs when persisted642 returns current path when new record643 #default_issues_tracker?644 is true if used internal tracker645 is false if used other tracker646 #has_wiki?647 returns true if project is wiki enabled or has external wiki648 #default_owner649 the project does not have a group650 is the namespace owner651 the project is in a group652 is the group owner653 #external_issue_tracker654 sets Project#has_external_issue_tracker when it is nil655 returns nil and does not query services when there is no external issue tracker656 retrieves external_issue_tracker querying services and cache it when there is external issue tracker657 #has_external_issue_tracker658 is false when external issue tracker service is not active659 is false when other service is active660 when there is an active external issue tracker service661 is expected to eq true662 becomes false when external issue tracker service is destroyed663 becomes false when external issue tracker service becomes inactive664 when there are two active external issue tracker services665 does not become false when external issue tracker service is destroyed666 does not become false when external issue tracker service becomes inactive667 #external_wiki668 returns an active external wiki669 does not return an inactive external wiki670 sets Project#has_external_wiki when it is nil671 #has_external_wiki672 is expected to eq false673 is false when external wiki service is not active674 when there is an active external wiki service675 is expected to eq true676 becomes false if the external wiki service is destroyed677 becomes false if the external wiki service becomes inactive678 #star_count679 counts stars from multiple users680 counts stars on the right project681 #avatar_type682 is true if avatar is image683 is false if avatar is html page684 #avatar_url685 when avatar file is uploaded686 shows correct url687 when avatar file in git688 is expected to eq "http://localhost/namespace1/project133/-/avatar"689 when git repo is empty690 is expected to eq nil691 #builds_enabled692 is expected to be truthy693 .sort_by_attribute694 reorders the input relation by start count desc695 .with_shared_runners696 when shared runners are enabled for project697 returns a project698 when shared runners are disabled for project699 returns an empty array700 .with_active_jira_services701 returns the correct project702 .with_jira_dvcs_cloud703DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call704/builds/gitlab-org/gitlab/app/models/project_feature_usage.rb:12: warning: The called method is defined here705 (called from block in <class:Project> at /builds/gitlab-org/gitlab/app/models/project.rb:514)706 returns the correct project707 .with_jira_dvcs_server708 returns the correct project709 .cached_count710 returns total project count711 .trending712 sorts projects by the amount of notes in descending order713 does not take system notes into account714 .starred_by715 returns only projects starred by the given user716 .with_limit717 limits the number of projects returned718 .visible_to_user719 when a user has access to a project720 is expected to eq [#<Project id:124 namespace1/project159>>]721 when a user does not have access to any projects722 is expected to eq []723 .with_service724 avoid n + 1725 .service_desk_enabled726 returns the correct project727 #service_desk_enabled?728 is enabled729 #service_desk_address730 when service_desk_email is disabled731 behaves like with incoming email address732 when incoming email is enabled733 uses project full path as service desk address key734 when incoming email is disabled735 uses project full path as service desk address key736 when service_desk_email is enabled737 returns custom address when project_key is set738 behaves like with incoming email address739 when incoming email is enabled740 uses project full path as service desk address key741 when incoming email is disabled742 uses project full path as service desk address key743 .find_by_service_desk_project_key744 returns the correct project745 returns nil if there is no project with the key746 repository storage by default747 picks storage from ApplicationSetting748 shared runners by default749 are enabled750 is expected to be truthy751 are disabled752 is expected to be falsey753 #any_runners?754 shared runners755 for shared runners disabled756 has no runners available757 has a specific runner758 has a shared runner, but they are prohibited to use759 checks the presence of specific runner760 returns false if match cannot be found761 for shared runners enabled762 has a shared runner763 checks the presence of shared runner764 returns false if match cannot be found765 group runners766 for group runners disabled767 has no runners available768 has a group runner, but they are prohibited to use769 for group runners enabled770 has a group runner771 checks the presence of group runner772 returns false if match cannot be found773 #shared_runners774 when shared runners are enabled for project775 returns a list of shared runners776 when shared runners are disabled for project777 returns a empty list778 #visibility_level779 by default780 is expected to eq 0781 when set to INTERNAL in application settings782 is expected to eq 10783 attribute_name: :visibility, value: "public"784 sets the visibility level785 attribute_name: :visibility_level, value: 20786 sets the visibility level787 attribute_name: "visibility", value: "public"788 sets the visibility level789 attribute_name: "visibility_level", value: 20790 sets the visibility level791 #visibility_level_allowed?792 when checking on non-forked project793 is expected to be truthy794 is expected to be truthy795 is expected to be truthy796 when checking on forked project797 is expected to be truthy798 is expected to be truthy799 is expected to be falsey800 #pages_deployed?801 if pages are deployed802 is expected to be truthy803 if public folder doesn't exist804 is expected to be falsey805 #default_branch_protected?806 default_branch_protection_level: 0, result: false807 is expected to eq false808 default_branch_protection_level: 1, result: false809 is expected to eq false810 default_branch_protection_level: 3, result: true811 is expected to eq true812 default_branch_protection_level: 2, result: true813 is expected to eq true814 #pages_url815 group page816 is expected to eq "http://group.example.com"817 mixed case path818 is expected to eq "http://group.example.com"819 project page820 is expected to eq "http://group.example.com/project"821 mixed case path822 is expected to eq "http://group.example.com/Project"823 #pages_group_url824 group page825 is expected to eq "http://group.example.com:1234"826 project page827 is expected to eq "http://group.example.com:1234"828 .search829 returns projects with a matching name830 returns projects with a partially matching name831 returns projects with a matching name regardless of the casing832 returns projects with a matching description833 returns projects with a partially matching description834 returns projects with a matching description regardless of the casing835 returns projects with a matching path836 returns projects with a partially matching path837 returns projects with a matching path regardless of the casing838 when include_namespace is true839 returns projects that match the group path840 returns projects that match the full path841 with pending_delete project842 shows pending deletion project843 .optionally_search844 searches for projects matching the query if one is given845 returns the current relation if no search query is given846 .eager_load_namespace_and_owner847 eager loads the namespace and namespace owner848 #expire_caches_before_rename849 expires the caches of the repository and wiki850 .search_by_title851 returns projects with a matching name852 returns projects with a partially matching name853 returns projects with a matching name regardless of the casing854 when checking projects from groups855 when group is private project can not be internal856 is expected to be falsey857 when group is internal project can not be public858 is expected to be falsey859 #track_project_repository860 with projects on legacy storage861 behaves like tracks storage location862 when a project repository entry does not exist863 creates a new entry864 tracks the project storage location865 when a tracking entry exists866 does not create a new entry in the database867 updates the project storage location868 with projects on hashed storage869 behaves like tracks storage location870 when a project repository entry does not exist871 creates a new entry872 tracks the project storage location873 when a tracking entry exists874 does not create a new entry in the database875 updates the project storage location876 #create_repository877 using a regular repository878 creates the repository879 adds an error if the repository could not be created880 using a forked repository881 does nothing882 #ensure_repository883 creates the repository if it not exist884 does not create the repository if it exists885 creates the repository if it is a fork886 handling import URL887 returns the sanitized URL888 saves the url credentials percent decoded889 saves url with no credentials890 #container_registry_url891 for enabled registry892 is expected not to be nil893 for disabled registry894 is expected to be nil895 #has_container_registry_tags?896 when container registry is enabled897 when tags are present for multi-level registries898 has image tags899 when tags are present for root repository900 has image tags901 when there are no tags at all902 does not have image tags903 when container registry is disabled904 does not have image tags905 does not check root repository tags906 iterates through container repositories907 #ci_config_path=908 default_ci_config_path: nil, project_ci_config_path: :notset, expected_ci_config_path: :default909 returns the correct path910 default_ci_config_path: nil, project_ci_config_path: nil, expected_ci_config_path: :default911 returns the correct path912 default_ci_config_path: nil, project_ci_config_path: "", expected_ci_config_path: :default913 returns the correct path914 default_ci_config_path: nil, project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"915 returns the correct path916 default_ci_config_path: "", project_ci_config_path: :notset, expected_ci_config_path: :default917 returns the correct path918 default_ci_config_path: "", project_ci_config_path: nil, expected_ci_config_path: :default919 returns the correct path920 default_ci_config_path: "", project_ci_config_path: "", expected_ci_config_path: :default921 returns the correct path922 default_ci_config_path: "", project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"923 returns the correct path924 default_ci_config_path: "global/path", project_ci_config_path: :notset, expected_ci_config_path: "global/path"925 returns the correct path926 default_ci_config_path: "global/path", project_ci_config_path: nil, expected_ci_config_path: :default927 returns the correct path928 default_ci_config_path: "global/path", project_ci_config_path: "", expected_ci_config_path: :default929 returns the correct path930 default_ci_config_path: "global/path", project_ci_config_path: "cust\u0000om/\u0000/path", expected_ci_config_path: "custom//path"931 returns the correct path932 #uses_default_ci_config?933 has a custom ci config path934 has a blank ci config path935 does not have a custom ci config path936 #latest_successful_build_for_ref937 behaves like latest successful build for sha or ref938 with many builds939 gives the latest builds from latest pipeline940 with succeeded pipeline941 standalone pipeline942 returns builds for ref for default_branch943 with nonexistent build944 returns empty relation if the build cannot be found945 with some pending pipeline946 gives the latest build from latest pipeline947 with pending pipeline948 returns empty relation949 with build belonging to a child pipeline950 returns the child build951 with a specified ref952 is expected to eq #<Ci::Build id: 12, status: "pending", finished_at: "2021-03-03 08:53:29", trace: nil, created_at: "2...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>953 #latest_pipeline954 default repository branch955 when explicitly provided956 is expected to eq #<Ci::Pipeline id: 12, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni..._sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: 4, locked: "artifacts_locked">957 when not provided958 is expected to eq #<Ci::Pipeline id: 15, ref: "master", sha: "b83d6e391c22777fca1ed3012fce84f633d7fed0", before_sha: ni..._sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: 6, locked: "artifacts_locked">959 with provided sha960 is expected to eq #<Ci::Pipeline id: 20, ref: "master", sha: "1b12f15a11fc6e62177bef08f47bc7b5ce50b141", before_sha: ni..._sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: 8, locked: "artifacts_locked">961 provided ref962 is expected to eq #<Ci::Pipeline id: 22, ref: "add-balsamiq-file", sha: "b89b56d795dcf0351e9d627b58fd2fc67616da05", bef...sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: 11, locked: "artifacts_locked">963 with provided sha964 is expected to eq #<Ci::Pipeline id: 27, ref: "add-balsamiq-file", sha: "b89b56d795dcf0351e9d627b58fd2fc67616da05", bef...sha: nil, target_sha: nil, external_pull_request_id: nil, ci_ref_id: 13, locked: "artifacts_locked">965 bad ref966 is expected to be nil967 on deleted ref968 always returns nil despite a pipeline exists969 #latest_successful_build_for_sha970 behaves like latest successful build for sha or ref971 with many builds972 gives the latest builds from latest pipeline973 with succeeded pipeline974 standalone pipeline975 returns builds for ref for default_branch976 with nonexistent build977 returns empty relation if the build cannot be found978 with some pending pipeline979 gives the latest build from latest pipeline980 with pending pipeline981 returns empty relation982 with build belonging to a child pipeline983 returns the child build984 #latest_successful_build_for_ref!985 with many builds986 gives the latest builds from latest pipeline987 with succeeded pipeline988 standalone pipeline989 returns builds for ref for default_branch990 returns exception if the build cannot be found991 with some pending pipeline992 gives the latest build from latest pipeline993 with pending pipeline994 returns empty relation995 #import_status996 with import_state997 returns the right status998 without import_state999 returns none1000 #jira_import_status1001 when no jira imports1002 returns none1003 when there are jira imports1004 when latest import status is initial or jira imports are mising1005 returns initial1006 when latest import status is scheduled1007 returns scheduled1008 #human_import_status_name1009 with import_state1010 returns the right human import status1011 without import_state1012 returns none1013 #add_import_job1014 forked1015 schedules a RepositoryForkWorker job1016 without repository1017 schedules RepositoryImportWorker1018 not forked1019 schedules a RepositoryImportWorker job1020 jira import1021 schedules a jira import job1022 #jira_import?1023 is expected to equal true1024 is expected to equal true1025 #remove_import_data1026 when jira import1027 does remove import data1028 when neither a mirror nor a jira import1029 removes import data1030 #gitlab_project_import?1031 is expected to equal true1032 #gitea_import?1033 is expected to equal true1034 #has_remote_mirror?1035 returns true when a remote mirror is enabled1036 returns false when remote mirror is disabled1037 #update_remote_mirrors1038 syncs enabled remote mirror1039 does nothing when remote mirror is disabled globally and not overridden1040 does not sync disabled remote mirrors1041 #remote_mirror_available?1042 when remote mirror global setting is enabled1043 returns true1044 when remote mirror global setting is disabled1045 returns true when overridden1046 returns false when not overridden1047 #mark_stuck_remote_mirrors_as_failed!1048 fails stuck remote mirrors1049 #ancestors_upto1050 returns all ancestors when no namespace is given1051 includes ancestors upto but excluding the given ancestor1052 with hierarchy_order1053 returns ancestors ordered by descending hierarchy1054 can be used with upto option1055 #root_ancestor1056 is expected to eq #<Namespace id: 1, name: "John Doe1", path: "namespace1", owner_id: 1, created_at: "2021-03-03 12:03:...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>1057 in a group1058 is expected to eq #<Group id:77 @group26>1059 in a nested group1060 is expected to eq #<Group id:79 @group27>1061 #emails_disabled?1062 emails disabled in group1063 returns true1064 emails enabled in group1065 returns false1066 returns true1067 #lfs_enabled?1068 LFS disabled in group1069 behaves like project overrides group1070 returns true when enabled in project1071 returns false when disabled in project1072 returns the value from the namespace, when no value is set in project1073 LFS enabled in group1074 behaves like project overrides group1075 returns true when enabled in project1076 returns false when disabled in project1077 returns the value from the namespace, when no value is set in project1078 LFS disabled globally1079 when no values are set1080 behaves like it always returns false1081 is expected to be falsey1082 when all values are set to true1083 behaves like it always returns false1084 is expected to be falsey1085 #change_head1086 returns error if branch does not exist1087 calls the before_change_head and after_change_head methods1088 updates commit count1089 copies the gitattributes1090 reloads the default branch1091 #lfs_objects_for_repository_types1092 returns LFS objects of the specified type only1093 forks1094 #fork_network1095 includes a fork of the project1096 includes a fork of a fork1097 includes sibling forks1098 includes the base project1099 #in_fork_network_of?1100 is true for a real fork1101 is true for a fork of a fork1102 is true for sibling forks1103 is false when another project is given1104 #fork_source1105 returns the direct source if it exists1106 returns the root of the fork network when the directs source was deleted1107 returns nil if it is the root of the fork network1108 #forks1109 includes direct forks of the project1110 behaves like can housekeep repository1111 with a clean redis state1112 #pushes_since_gc1113 without any pushes1114 returns 01115 with a number of pushes1116 returns the number of pushes1117 #increment_pushes_since_gc1118 increments the number of pushes since the last GC1119 #reset_pushes_since_gc1120 resets the number of pushes since the last GC1121 #pushes_since_gc_redis_shared_state_key1122 returns the proper redis key format1123 #git_garbage_collect_worker_klass1124 defines a git gargabe collect worker1125 #deployment_variables1126 when the deployment platform is stubbed1127 when project has a deployment platform1128 is expected to eq ["platform", "variables"]1129 when project has no deployment platform1130 is expected to eq []1131 when project has a deployment platforms1132 when environment name is review/name1133DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1134/builds/gitlab-org/gitlab/app/models/concerns/has_environment_scope.rb:25: warning: The called method is defined here1135 (called from find_platform_kubernetes_with_cte at /builds/gitlab-org/gitlab/app/models/concerns/deployment_platform.rb:27)1136 returns variables from this service1137 when environment name is other1138 returns variables from this service1139 #default_environment1140 returns production environment when it exists1141 returns first environment when no production environment exists1142 returns nil when no available environment exists1143 #ci_variables_for1144 memoizes the result by ref and environment1145 when the ref is not protected1146 contains only the CI variables1147 when the ref is a protected branch1148 behaves like ref is protected1149 contains all the variables1150 when the ref is a protected tag1151 behaves like ref is protected1152 contains all the variables1153 when environment name is specified1154 when environment scope is exactly matched1155 is expected to contain exactly #<Ci::Variable id: 10, key: [FILTERED], value: nil, encrypted_value: "uESIikwubeiWQILAaVp7ag==\n", en...d: 254, protected: false, environment_scope: "review/name", masked: false, variable_type: "env_var">1156 when environment scope is matched by wildcard1157 is expected to contain exactly #<Ci::Variable id: 12, key: [FILTERED], value: nil, encrypted_value: "RvuEUG37tgdZmT1iq8frRg==\n", en...t_id: 254, protected: false, environment_scope: "review/*", masked: false, variable_type: "env_var">1158 when environment scope does not match1159 is expected not to contain exactly #<Ci::Variable id: 14, key: [FILTERED], value: nil, encrypted_value: "/Jhn7s3LPpFPRiKQWLNEIw==\n", en...4, protected: false, environment_scope: "review/*/special", masked: false, variable_type: "env_var">1160 when environment scope has _1161 does not treat it as wildcard1162 when environment name contains underscore1163 matches literally for _1164 when environment scope has %1165 does not treat it as wildcard1166 when environment name contains a percent1167 matches literally for _1168 when variables with the same name have different environment scopes1169 puts variables matching environment scope more in the end1170 #ci_instance_variables_for1171 when the ref is not protected1172 contains only the CI variables1173 when the ref is protected1174 contains all the variables1175 #any_lfs_file_locks?1176 returns false when there are no LFS file locks1177 returns a cached true when there are LFS file locks1178 #protected_for?1179 when ref is nil1180 returns false1181 when ref is ref name1182 when ref is ambiguous1183 raises an error1184 when the ref is not protected1185 behaves like ref is not protected1186 returns false1187 when the ref is a protected branch1188 behaves like ref is protected branch1189 returns true1190 when the ref is a protected tag1191 behaves like ref is protected tag1192 returns true1193 when ref does not exist1194 returns false1195 when ref is full ref1196 when the ref is not protected1197 behaves like ref is not protected1198 returns false1199 when the ref is a protected branch1200 behaves like ref is protected branch1201 returns true1202 when the ref is a protected tag1203 behaves like ref is protected tag1204 returns true1205 when branch ref name is a full tag ref1206 when ref is not protected1207 returns false1208 when ref is a protected branch1209 returns true1210 when ref does not exist1211 returns false1212 #update_project_statistics1213 is called after creation1214 copies the namespace_id1215 updates the namespace_id when changed1216 inside_path1217 returns correct project1218 #route_map_for1219 when there is a .gitlab/route-map.yml at the commit1220 when the route map is valid1221 returns a route map1222 when the route map is invalid1223 returns nil1224 when there is no .gitlab/route-map.yml at the commit1225 returns nil1226 #public_path_for_source_path1227 when there is a route map1228 returns a public path with a leading slash unmodified1229 when the source path is mapped1230 returns the public path1231 when the source path is not mapped1232 returns nil1233 when there is no route map1234 returns nil1235 #parent1236 is expected to eq #<Namespace id: 1, name: "John Doe1", path: "namespace1", owner_id: 1, created_at: "2021-03-03 12:03:...cendants_override_disabled_shared_runners: false, traversal_ids: [], delayed_project_removal: false>1237 #parent_id1238 is expected to eq 11239 #parent_changed?1240 is expected to be truthy1241 #default_merge_request_target1242 when forked from a more visible project1243 returns the more restrictive project1244 when forked from a project with disabled merge requests1245 returns the current project1246 when forked from a project with enabled merge requests1247 returns the source project1248 when not forked1249 returns the current project1250 #pages_url1251 top-level group1252 group page1253 is expected to eq "http://group.example.com"1254 project page1255 is expected to eq "http://group.example.com/project"1256 nested group1257 group page1258 is expected to eq "http://group.example.com/group51/group.example.com"1259 project page1260 is expected to eq "http://group.example.com/group52/project"1261 #lfs_http_url_to_repo1262 when a custom HTTP clone URL root is not set1263 returns the url to the repo without a username1264 when a custom HTTP clone URL root is set1265 returns the url to the repo, with the root replaced with the custom one1266 #pipeline_status1267 builds a pipeline status1268 hase a loaded pipeline status1269 #update1270 validates the visibility1271 does not validate the visibility1272 #last_repository_updated_at1273 sets to created_at upon creation1274 .public_or_visible_to_user1275 with a user1276 includes projects the user has access to1277 includes projects the user can see1278 without a user1279 only includes public projects1280 min_access_level1281 excludes projects when user does not have required minimum access level1282 with deploy token users1283 deploy token user without project1284 is expected to eq []1285 deploy token user with project1286 is expected to include #<Project id:309 namespace1/project390>>1287 .ids_with_issuables_available_for1288 returns project ids with milestones available for user1289 .with_feature_available_for_user1290 with user1291 behaves like feature disabled1292 does not return projects with the project feature disabled1293 behaves like feature public1294 returns projects with the project feature public1295 behaves like feature enabled1296 returns projects with the project feature enabled1297 behaves like feature access level is nil1298 returns projects with the project feature access level nil1299 when feature is private1300 when user does not have access to the feature1301 does not return projects with the project feature private1302 when user has access to the feature1303 returns projects with the project feature private1304 user is an admin1305 behaves like feature disabled1306 does not return projects with the project feature disabled1307 behaves like feature public1308 returns projects with the project feature public1309 behaves like feature enabled1310 returns projects with the project feature enabled1311 behaves like feature access level is nil1312 returns projects with the project feature access level nil1313 when feature is private1314 when admin mode is enabled1315 returns projects with the project feature private1316 when admin mode is disabled1317 does not return projects with the project feature private1318 without user1319 behaves like feature disabled1320 does not return projects with the project feature disabled1321 behaves like feature public1322 returns projects with the project feature public1323 behaves like feature enabled1324 returns projects with the project feature enabled1325 behaves like feature access level is nil1326 returns projects with the project feature access level nil1327 when feature is private1328 does not return projects with the project feature private1329 .filter_by_feature_visibility1330 reporter level access1331 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11332 respects visibility1333 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11334 respects visibility1335 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11336 respects visibility1337 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11338 respects visibility1339 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11340 respects visibility1341 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 11342 respects visibility1343 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11344 respects visibility1345 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01346 respects visibility1347 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11348 respects visibility1349 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 01350 respects visibility1351 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01352 respects visibility1353 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01354 respects visibility1355 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01356 respects visibility1357 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01358 respects visibility1359 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01360 respects visibility1361 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01362 respects visibility1363 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11364 respects visibility1365 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11366 respects visibility1367 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11368 respects visibility1369 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11370 respects visibility1371 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11372 respects visibility1373 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 01374 respects visibility1375 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11376 respects visibility1377 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01378 respects visibility1379 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11380 respects visibility1381 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 01382 respects visibility1383 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01384 respects visibility1385 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01386 respects visibility1387 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01388 respects visibility1389 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01390 respects visibility1391 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01392 respects visibility1393 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01394 respects visibility1395 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11396 respects visibility1397 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01398 respects visibility1399 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11400 respects visibility1401 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 01402 respects visibility1403 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01404 respects visibility1405 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01406 respects visibility1407 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01408 respects visibility1409 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01410 respects visibility1411 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01412 respects visibility1413 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01414 respects visibility1415 issues1416 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11417 respects visibility1418 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11419 respects visibility1420 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11421 respects visibility1422 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11423 respects visibility1424 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11425 respects visibility1426 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 11427 respects visibility1428 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11429 respects visibility1430 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01431 respects visibility1432 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11433 respects visibility1434 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11435 respects visibility1436 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01437 respects visibility1438 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01439 respects visibility1440 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01441 respects visibility1442 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01443 respects visibility1444 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01445 respects visibility1446 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01447 respects visibility1448 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11449 respects visibility1450 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11451 respects visibility1452 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11453 respects visibility1454 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11455 respects visibility1456 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11457 respects visibility1458 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 01459 respects visibility1460 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11461 respects visibility1462 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01463 respects visibility1464 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11465 respects visibility1466 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11467 respects visibility1468 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01469 respects visibility1470 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01471 respects visibility1472 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01473 respects visibility1474 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01475 respects visibility1476 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01477 respects visibility1478 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01479 respects visibility1480 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11481 respects visibility1482 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01483 respects visibility1484 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11485 respects visibility1486 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11487 respects visibility1488 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01489 respects visibility1490 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01491 respects visibility1492 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01493 respects visibility1494 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01495 respects visibility1496 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01497 respects visibility1498 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01499 respects visibility1500 wiki1501 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11502 respects visibility1503 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11504 respects visibility1505 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11506 respects visibility1507 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11508 respects visibility1509 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11510 respects visibility1511 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 11512 respects visibility1513 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11514 respects visibility1515 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01516 respects visibility1517 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11518 respects visibility1519 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11520 respects visibility1521 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01522 respects visibility1523 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01524 respects visibility1525 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01526 respects visibility1527 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01528 respects visibility1529 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01530 respects visibility1531 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01532 respects visibility1533 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11534 respects visibility1535 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11536 respects visibility1537 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11538 respects visibility1539 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11540 respects visibility1541 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11542 respects visibility1543 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 01544 respects visibility1545 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11546 respects visibility1547 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01548 respects visibility1549 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11550 respects visibility1551 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11552 respects visibility1553 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01554 respects visibility1555 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01556 respects visibility1557 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01558 respects visibility1559 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01560 respects visibility1561 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01562 respects visibility1563 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01564 respects visibility1565 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11566 respects visibility1567 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01568 respects visibility1569 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11570 respects visibility1571 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11572 respects visibility1573 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01574 respects visibility1575 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01576 respects visibility1577 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01578 respects visibility1579 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01580 respects visibility1581 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01582 respects visibility1583 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01584 respects visibility1585 code1586 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11587 respects visibility1588 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11589 respects visibility1590 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11591 respects visibility1592 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11593 respects visibility1594 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11595 respects visibility1596 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 11597 respects visibility1598 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11599 respects visibility1600 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01601 respects visibility1602 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11603 respects visibility1604 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11605 respects visibility1606 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01607 respects visibility1608 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01609 respects visibility1610 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01611 respects visibility1612 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01613 respects visibility1614 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01615 respects visibility1616 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01617 respects visibility1618 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 11619 respects visibility1620 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 11621 respects visibility1622 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 11623 respects visibility1624 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 11625 respects visibility1626 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 11627 respects visibility1628 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 01629 respects visibility1630 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11631 respects visibility1632 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01633 respects visibility1634 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11635 respects visibility1636 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 11637 respects visibility1638 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01639 respects visibility1640 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01641 respects visibility1642 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01643 respects visibility1644 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01645 respects visibility1646 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01647 respects visibility1648 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01649 respects visibility1650 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 11651 respects visibility1652 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 01653 respects visibility1654 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 11655 respects visibility1656 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 01657 respects visibility1658 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 01659 respects visibility1660 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 01661 respects visibility1662 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 01663 respects visibility1664 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 01665 respects visibility1666 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 01667 respects visibility1668 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 01669 respects visibility1670 .wrap_with_cte1671 wrapped query matches original1672 #pages_available?1673 when the project is in a top level namespace1674 is expected to equal true1675 when the project is in a subgroup1676 is expected to equal true1677 #remove_private_deploy_keys1678 for a private deploy key1679 when the key is not linked to another project1680 removes the key1681 when the key is linked to another project1682 does not remove the key1683 for a public deploy key1684 does not remove the key1685 #legacy_remove_pages1686 removes the pages directory and marks the project as not having pages deployed1687 does nothing if updates on legacy storage are disabled1688 is run when the project is destroyed1689 #remove_export1690/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil1691 removes the export1692 #forks_count1693 returns the number of forks1694 #git_transfer_in_progress?1695 project_reference_counter: 0, wiki_reference_counter: 0, design_reference_counter: 0, result: false1696 is expected to equal false1697 project_reference_counter: 2, wiki_reference_counter: 0, design_reference_counter: 0, result: true1698 is expected to equal true1699 project_reference_counter: 0, wiki_reference_counter: 2, design_reference_counter: 0, result: true1700 is expected to equal true1701 project_reference_counter: 0, wiki_reference_counter: 0, design_reference_counter: 2, result: true1702 is expected to equal true1703 legacy storage1704 #base_dir1705 returns base_dir based on namespace only1706 #disk_path1707 returns disk_path based on namespace and project path1708 #legacy_storage?1709 returns true when storage_version is nil1710 returns true when the storage_version is 01711 #hashed_storage?1712 returns false1713 #pages_path1714 returns a path where pages are stored1715 #migrate_to_hashed_storage!1716 returns true1717 does not run validation1718 schedules HashedStorage::ProjectMigrateWorker with delayed start when the project repo is in use1719 schedules HashedStorage::ProjectMigrateWorker with delayed start when the wiki repo is in use1720 schedules HashedStorage::ProjectMigrateWorker1721 #rollback_to_legacy_storage!1722 returns nil1723 does not run validations1724 hashed storage1725 #legacy_storage?1726 returns false1727 #hashed_storage?1728 returns true if rolled out1729 returns false when not rolled out yet1730 #base_dir1731 returns base_dir based on hash of project id1732 #disk_path1733 returns disk_path based on hash of project id1734 #pages_path1735 returns a path where pages are stored1736 #migrate_to_hashed_storage!1737 returns nil1738 does not flag as read-only1739 when partially migrated1740 enqueues a job1741 #rollback_to_legacy_storage!1742 returns true1743 does not run validations1744 does not flag as read-only1745 enqueues a job1746 #has_ci?1747 when has .gitlab-ci.yml1748 CI is available1749 when there is no .gitlab-ci.yml1750 CI is available1751 when auto devops is disabled1752 CI is not available1753 #predefined_project_variables1754 is expected to include {:key => "CI_PROJECT_CONFIG_PATH", :value => ".gitlab-ci.yml", :public => true, :masked => false}1755 when ci config path is overridden1756 is expected to include {:key => "CI_PROJECT_CONFIG_PATH", :value => "random.yml", :public => true, :masked => false}1757 #auto_devops_enabled?1758 when explicitly enabled1759 is expected to be truthy1760 when explicitly disabled1761 is expected to be falsey1762 when enabled in settings1763 is expected to be truthy1764 when disabled in settings1765 is expected to be falsey1766 when explicitly enabled1767 is expected to be truthy1768 when explicitly disabled1769 is expected to be falsey1770 when force_autodevops_on_by_default is enabled for the project1771 is expected to be truthy1772 with group parents1773 when enabled on parent1774 when auto devops instance enabled1775 is expected to be truthy1776 when auto devops instance disabled1777 is expected to be truthy1778 when disabled on parent1779 when auto devops instance enabled1780 is expected to be falsy1781 when auto devops instance disabled1782 is expected to be falsy1783 when enabled on root parent1784 when auto devops instance enabled1785 is expected to be truthy1786 when auto devops instance disabled1787 is expected to be truthy1788 when explicitly disabled on parent1789 is expected to be falsy1790 when disabled on root parent1791 when auto devops instance enabled1792 is expected to be falsy1793 when auto devops instance disabled1794 is expected to be falsy1795 when explicitly disabled on parent1796 is expected to be falsy1797 #has_auto_devops_implicitly_enabled?1798 when disabled in settings1799 does not have auto devops implicitly disabled1800 when enabled in settings1801 auto devops is implicitly disabled1802 when explicitly disabled1803 does not have auto devops implicitly disabled1804 when explicitly enabled1805 does not have auto devops implicitly disabled1806 when enabled on group1807 has auto devops implicitly enabled1808 when enabled on parent group1809 has auto devops implicitly enabled1810 #has_auto_devops_implicitly_disabled?1811 when explicitly disabled1812 does not have auto devops implicitly disabled1813 when explicitly enabled1814 does not have auto devops implicitly disabled1815 when enabled in settings1816 does not have auto devops implicitly disabled1817 when disabled in settings1818 auto devops is implicitly disabled1819 when force_autodevops_on_by_default is enabled for the project1820 does not have auto devops implicitly disabled1821 when disabled on group1822 has auto devops implicitly disabled1823 when disabled on parent group1824 has auto devops implicitly disabled1825 #api_variables1826 exposes API v4 URL1827 contains a URL variable for every supported API version1828 #latest_successful_builds_for1829 without a ref1830 returns a pipeline for the default branch1831 with the ref set to the default branch1832 returns a pipeline for the default branch1833 with a ref that is not the default branch1834 returns the latest successful pipeline for the given ref1835 #check_repository_path_availability1836 when the repository already exists1837 returns false when repository already exists1838 when the repository does not exist1839 returns false when repository already exists1840 skips gitlab-shell exists?1841 #latest_successful_pipeline_for_default_branch1842 memoizes and returns the latest successful pipeline for the default branch1843 #after_import1844 runs the correct hooks1845 branch protection1846 does not protect when branch protection is disabled1847 gives developer access to push when branch protection is set to 'developers can push'1848 gives developer access to merge when branch protection is set to 'developers can merge'1849 protects default branch1850 #update_project_counter_caches1851 updates all project counter caches1852 #write_repository_config1853 writes full path in .git/config when key is missing1854 updates full path in .git/config when key is present1855 does not raise an error with an empty repository1856 #default_branch1857 with an empty repository1858 group.default_branch_name is available1859 returns the group default value1860 Gitlab::CurrentSettings.default_branch_name is available1861 is missing or nil1862 returns nil1863 is blank1864 returns nil1865 is present1866 returns the expected branch name1867 #to_ability_name1868 returns project1869 #execute_hooks1870 executes active projects hooks with the specified scope1871 does not execute project hooks that dont match the specified scope1872 does not execute project hooks which are not active1873 executes the system hooks with the specified scope1874 executes the system hooks when inside a transaction1875 #execute_services1876 executes services with the specified scope1877 does not execute services that don't match the specified scope1878 #has_active_hooks?1879 is expected to be falsey1880 returns true when a matching push hook exists1881 returns true when a matching system hook exists1882 returns true when a plugin exists1883 #has_active_services?1884 is expected to be falsey1885 returns true when a matching service exists1886 #badges1887 returns the project and the project group badges1888 with nested_groups1889 returns the project and the project nested groups badges1890 with cross internal project merge requests1891 does not endlessly loop for internal projects with MRs to each other1892 with cross project merge requests1893 #merge_requests_allowing_push_to_user1894 returns open merge requests for which the user has developer access to the target project1895 does not include closed merge requests1896 does not include merge requests for guest users1897 does not include the merge request for other users1898 is empty when no user is passed1899 #any_branch_allows_collaboration?1900 allows access when there are merge requests open allowing collaboration1901 does not allow access when there are no merge requests open allowing collaboration1902 #branch_allows_collaboration?1903 allows access if the user can merge the merge request1904 does not allow guest users access1905 does not allow access to branches for which the merge request was closed1906 does not allow access if the user cannot merge the merge request1907 when the requeststore is active1908 only queries per project across instances1909 #external_authorization_classification_label1910 falls back to the default when none is configured1911 returns the classification label if it was configured on the project1912 #pages_https_only?1913 when HTTPS pages are disabled1914 is expected not to be pages https only1915 when HTTPS pages are enabled1916 is expected to be pages https only1917 #pages_https_only? validation1918 when no domains are associated1919 is expected to be valid1920 when domains including keys and certificates are associated1921 is expected to be valid1922 when domains including no keys or certificates are associated1923 is expected not to be valid1924 #toggle_ci_cd_settings!1925 toggles the value on #settings1926 #gitlab_deploy_token1927 when there is a gitlab deploy token associated1928 is expected to eq #<DeployToken id: 7, revoked: false, read_repository: true, read_registry: true, expires_at: "2021-03... "project_type", write_registry: false, read_package_registry: false, write_package_registry: false>1929 when there is no a gitlab deploy token associated1930 is expected to be nil1931 when there is a gitlab deploy token associated but is has been revoked1932 is expected to be nil1933 when there is a gitlab deploy token associated but it is expired1934 is expected to be nil1935 when there is a deploy token associated with a different name1936 is expected to be nil1937 when there is a deploy token associated to a different project1938 is expected to be nil1939 with uploads1940 behaves like model with uploads1941 .destroy1942 with mounted uploader1943 deletes remote uploads1944 with not mounted uploads1945 with local files1946 deletes any FileUploader uploads which are not mounted1947 deletes local files1948 with remote files1949 deletes any FileUploader uploads which are not mounted1950 deletes remote files1951 #members_among1952 when users is an Array1953 returns project members among the users1954 maintains input order1955 returns empty array if users is empty1956 when users is a relation1957 returns project members among the users1958 returns empty relation if users is empty1959 #find_or_initialize_services1960 returns only enabled services1961 #disabled_services1962 without datadog_ci_integration1963 is expected to include "datadog"1964 with datadog_ci_integration1965 is expected not to include "datadog"1966 #find_or_initialize_service1967 avoids N+1 database queries1968 returns nil if integration is disabled1969 with an existing integration1970 retrieves the integration1971 with an instance-level and template integrations1972 builds the service from the instance if exists1973 with an instance-level and template integrations1974 builds the service from the template if instance does not exists1975 without an exisiting integration, nor instance-level or template1976 builds the service if instance or template does not exists1977 .for_group1978 returns the projects for a given group1979 .deployments1980 when there is a deployment record with created status1981 does not return the record1982 when there is a deployment record with running status1983 does not return the record1984 when there is a deployment record with success status1985 returns the record1986 #snippets_visible?1987 returns true when a logged in user can read snippets1988 returns true when an anonymous user can read snippets1989 returns false when a user can not read snippets1990 #all_clusters1991 returns project level cluster1992 project belongs to a group1993 returns clusters for groups of this project1994 project is hosted on instance with integrated cluster1995 returns all available clusters for this project1996 #object_pool_params1997 when the objects cannot be pooled1998 is expected to be empty1999 when a pool is created2000 returns that pool repository2001 #git_objects_poolable?2002 when not using hashed storage2003 is expected not to be git objects poolable2004 when the project is private2005 is expected not to be git objects poolable2006 when the project is public2007 is expected to be git objects poolable2008 when the project is internal2009 is expected to be git objects poolable2010 when objects are poolable2011 is expected to be git objects poolable2012 #leave_pool_repository2013 removes the membership2014 #check_personal_projects_limit2015 when creating a project for a group2016 does nothing2017 when the user is not allowed to create a personal project2018 when the project limit is zero2019 adds a validation error2020 when the project limit is greater than zero2021 adds a validation error2022 when the user is allowed to create personal projects2023 does nothing2024 validation #changing_shared_runners_enabled_is_allowed2025 shared_runners_setting: "enabled", project_shared_runners_enabled: true, valid_record: true2026 validates the configuration2027 shared_runners_setting: "enabled", project_shared_runners_enabled: false, valid_record: true2028 validates the configuration2029 shared_runners_setting: "disabled_with_override", project_shared_runners_enabled: true, valid_record: true2030 validates the configuration2031 shared_runners_setting: "disabled_with_override", project_shared_runners_enabled: false, valid_record: true2032 validates the configuration2033 shared_runners_setting: "disabled_and_unoverridable", project_shared_runners_enabled: true, valid_record: false2034 validates the configuration2035 shared_runners_setting: "disabled_and_unoverridable", project_shared_runners_enabled: false, valid_record: true2036 validates the configuration2037 #mark_pages_as_deployed2038 works when artifacts_archive is missing2039 creates new record and sets deployed to true if none exists yet2040 updates the existing record and sets deployed to true and records artifact archive2041 #mark_pages_as_not_deployed2042 creates new record and sets deployed to false if none exists yet2043 updates the existing record and sets deployed to false and clears artifacts_archive2044 #update_pages_deployment!2045 creates new metadata record if none exists yet and sets deployment2046 updates the existing metadara record with deployment2047 #set_first_pages_deployment!2048 creates new metadata record if none exists yet and sets deployment2049 updates the existing metadara record with deployment2050 only updates metadata for this project2051 does nothing if metadata already references some deployment2052 #has_pool_repsitory?2053 returns false when it does not have a pool repository2054 returns true when it has a pool repository2055 #access_request_approvers_to_be_notified2056 returns a maximum of ten, active, non_requested maintainers of the project in recent_sign_in descending order2057 #pages_lookup_path2058 returns instance of Pages::LookupPath2059 .with_pages_deployed2060 returns only projects that have pages deployed2061 .pages_metadata_not_migrated2062 returns only projects that have pages deployed2063 #pages_group_root?2064 returns returns true if pages_url is same as pages_group_url2065 returns returns false if pages_url is different than pages_group_url2066 #closest_setting2067 when setting is of non-boolean type2068 global_setting: 100, group_setting: 200, project_setting: 300, result: 3002069 behaves like fetching closest setting2070 returns closest non-nil value2071 global_setting: 100, group_setting: 200, project_setting: nil, result: 2002072 behaves like fetching closest setting2073 returns closest non-nil value2074 global_setting: 100, group_setting: nil, project_setting: nil, result: 1002075 behaves like fetching closest setting2076 returns closest non-nil value2077 global_setting: nil, group_setting: nil, project_setting: nil, result: nil2078 behaves like fetching closest setting2079 returns closest non-nil value2080 when setting is of boolean type2081 global_setting: true, group_setting: true, project_setting: false, result: false2082 behaves like fetching closest setting2083 returns closest non-nil value2084 global_setting: true, group_setting: false, project_setting: nil, result: false2085 behaves like fetching closest setting2086 returns closest non-nil value2087 global_setting: true, group_setting: nil, project_setting: nil, result: true2088 behaves like fetching closest setting2089 returns closest non-nil value2090 #drop_visibility_level!2091 when has a group2092 when the group `visibility_level` is more strict2093 sets `visibility_level` value from the group2094 when the group `visibility_level` is less strict2095 does not change the value of the `visibility_level` field2096 when `restricted_visibility_levels` of the GitLab instance exist2097 when `visibility_level` is included into `restricted_visibility_levels`2098 sets `visibility_level` value to `PRIVATE`2099 when `restricted_visibility_levels` does not include `visibility_level`2100 does not change the value of the `visibility_level` field2101 #jira_subscription_exists?2102 jira connect subscription exists2103 is expected to eq true2104 with services and chat names2105 removes chat names on removal2106 with_issues_or_mrs_available_for_user2107 returns correct projects2108 #limited_protected_branches2109 returns limited number of protected branches based on specified limit2110 #lfs_objects_oids2111 when project has associated LFS objects2112 returns OIDs of LFS objects2113 and there are specified oids2114 returns OIDs of LFS objects that match specified oids2115 when project has no associated LFS objects2116 returns empty array2117 #prometheus_service_active?2118 when project has an activated prometheus service2119 is expected to be truthy2120 when project has an inactive prometheus service2121 the service is marked as inactive2122 #self_monitoring?2123 when the project is instance self monitoring2124 is expected to equal true2125 when the project is not self monitoring2126 is expected to equal false2127 #add_export_job2128 if not already present2129 starts project export job2130 #export_in_progress?2131 when project export is enqueued2132 is expected to equal false2133 when project export is in progress2134 is expected to equal true2135 when project export is completed2136 is expected to equal false2137 #export_status2138 when project export is enqueued2139 is expected to eq :queued2140 when project export is in progress2141 is expected to eq :started2142 when project export is completed2143 is expected to eq :finished2144 when project export is being regenerated2145 is expected to eq :regeneration_in_progress2146 #has_packages?2147 with maven packages2148 behaves like has_package2149 package of package_type exists2150 is expected to equal true2151 package of package_type does not exist2152 is expected to equal false2153 with npm packages2154 behaves like has_package2155 package of package_type exists2156 is expected to equal true2157 package of package_type does not exist2158 is expected to equal false2159 with conan packages2160 behaves like has_package2161 package of package_type exists2162 is expected to equal true2163 package of package_type does not exist2164 is expected to equal false2165 calling has_package? with nil2166 is expected to equal false2167 with Debian Distributions2168 behaves like model with Debian distributions2169 removes distribution files on removal2170 #environments_for_scope2171 retrieves all project environments when using the * wildcard2172 retrieves a specific project environment when using the name of that environment2173 #latest_jira_import2174 when no jira imports2175 returns nil2176 when single jira import2177 returns the jira import2178 when multiple jira imports2179 returns latest jira import by created_at2180 #packages_enabled2181 is expected to equal true2182 #package_already_taken?2183 no package exists with the same name2184 returns false2185 returns false if it is the project that the package belongs to2186 a package already exists with the same name2187 returns true2188 #design_management_enabled?2189 lfs_enabled: false, hashed_storage_enabled: false, expectation: false2190 is expected to equal false2191 lfs_enabled: true, hashed_storage_enabled: false, expectation: false2192 is expected to equal false2193 lfs_enabled: false, hashed_storage_enabled: true, expectation: false2194 is expected to equal false2195 lfs_enabled: true, hashed_storage_enabled: true, expectation: true2196 is expected to equal true2197 #bots2198 is expected to contain exactly #<User id:512 @user531>2199 is expected not to include #<User id:513 @user532>2200 #metrics_setting2201 creates setting if it does not exist2202 #enabled_group_deploy_keys2203 when a project does not have a group2204 is expected to be empty2205 when a project has a parent group2206 and this group has a group deploy key enabled2207 is expected to contain exactly #<GroupDeployKey id: 1, user_id: 514, created_at: "2021-03-03 12:06:04", updated_at: "2021-03-03 12:0...f:72:b9:e5:14:d0:16:4c:19:52:4f", fingerprint_sha256: "zm78td2CZm4JHJVok0vogrsbMJlVr/JKQzBokVRXVcY">2208 and this group has parent group which also has a group deploy key enabled2209 returns both group deploy keys2210 and another group has a group deploy key enabled2211 does not return this group deploy key2212Repository2213 #branch_names_contains2214 is expected to include "master"2215 is expected not to include "feature"2216 is expected not to include "fix"2217 when storage is broken2218 raises a storage error2219 #tag_names_contains2220 is expected to include "v1.1.0"2221 is expected not to include "v1.0.0"2222 tags_sorted_by2223 name_desc2224 is expected to eq ["v1.1.0", "v1.0.0"]2225 name_asc2226 is expected to eq ["v1.0.0", "v1.1.0"]2227 updated2228 desc2229 is expected to eq ["v1.0.0", "v1.1.0"]2230 asc2231 is expected to eq ["v1.1.0", "v1.0.0"]2232 annotated tag pointing to a blob2233 is expected to eq ["v1.1.0", "v1.0.0", "annotated-tag"]2234 #ref_name_for_sha2235 returns the ref2236 #ref_exists?2237 when ref exists2238 returns true2239 when ref does not exist2240 returns false2241 when ref format is incorrect2242 returns false2243 #list_last_commits_for_tree2244 returns the last commits for every entry in the current path2245 returns the last commits for every entry in the current path starting from the offset2246 returns a limited number of last commits for every entry in the current path starting from the offset2247 returns an empty hash when offset is out of bounds2248 with a commit with invalid UTF-8 path2249 does not raise an error2250 #last_commit_for_path2251 is expected to eq "c1acaa58bbcbc3eafe538cb8274ba387047b69f8"2252 when storage is broken2253 raises a storage error2254 with filename with pathspec characters2255 returns a commit SHA2256 #last_commit_id_for_path2257 returns last commit id for a given path2258 caches last commit id for a given path2259 when storage is broken2260 raises a storage error2261 with filename with pathspec characters2262 returns a commit SHA2263 #commits2264 when neither the all flag nor a ref are specified2265 returns every commit from default branch2266 when ref is passed2267 returns every commit from the specified ref2268 when all2269 returns every commit from the repository2270 with path2271 sets follow when it is a single path2272 does not set follow when it is multiple paths2273 without path2274 does not set follow2275 when 'author' is set2276 returns commits from that author2277 doesn't returns commits from an unknown author2278 when 'all' flag is set2279 returns every commit from the repository2280 when 'order' flag is set2281 passes order option to perform the query2282 #new_commits2283 when there are no new commits2284 returns an empty array2285 when new commits are found2286 returns the commits2287 #commits_by2288 finds each commit2289 returns only Commit instances2290 when some commits are not found2291 returns only found commits2292 when no oids are passed2293 does not call #batch_by_oid2294 #find_commits_by_message2295 returns commits with messages containing a given string2296 is case insensitive2297 when storage is broken2298 raises a storage error2299 #blob_at2300 blank sha2301 is expected to be nil2302 regular blob2303 is expected to be an instance of Blob2304 readme blob not on HEAD2305 is expected to be an instance of Blob2306 #merged_to_root_ref?2307 merged branch without ff2308 is expected to be truthy2309 merged with ff2310 is expected to be truthy2311 not merged branch2312 is expected to be falsey2313 default branch2314 is expected to be falsey2315 non merged branch2316 is expected to be falsey2317 non existent branch2318 is expected to be nil2319 #root_ref_sha2320 is expected to eq "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"2321 #merged_branch_names2322 is expected to eq #<Set: {"definitely_merged"}>2323 is expected to be a kind of Set2324 cache expiry2325 is expired when the branches caches are expired2326 is expired when the repository caches are expired2327 cache is empty2328 is expected to eq #<Set: {"definitely_merged"}>2329 cache values2330 writes the values to redis2331 matches the supplied hash2332 cache is not empty2333 is expected to eq #<Set: {"definitely_merged"}>2334 doesn't fetch from the disk2335 cache is partially complete2336 is expected to eq #<Set: {"definitely_merged"}>2337 does fetch from the disk2338 requested branches array is empty2339 is expected to eq #<Set: {"definitely_merged"}>2340 #can_be_merged?2341 mergeable branches2342 is expected to be truthy2343 non-mergeable branches without conflict sides missing2344 is expected to be falsey2345 non-mergeable branches with conflict sides missing2346 is expected to be falsey2347 submodule changes that confuse rugged2348 is expected to be falsey2349 #commit2350 when ref exists2351 returns commit object2352 when ref does not exist2353 returns nil2354 when ref is not specified2355 is using a root ref2356 when ref is not valid2357 when preceding tree element exists2358 returns nil2359 when preceding tree element does not exist2360 returns nil2361 #create_dir2362 commits a change that creates a new directory2363 when committing to another project2364 creates a fork and commit to the forked project2365 when an author is specified2366 uses the given email/name to set the commit's author2367 #create_file2368 commits new file successfully2369 creates new file and dir when file_path has a forward slash2370 respects the autocrlf setting2371 when an author is specified2372 uses the given email/name to set the commit's author2373 #update_file2374 updates file successfully2375 updates filename successfully2376 when an author is specified2377 uses the given email/name to set the commit's author2378 #delete_file2379 removes file successfully2380 when an author is specified2381 uses the given email/name to set the commit's author2382 search_files_by_content2383 is expected to be a kind of Array2384 regex-escapes the query string2385 properly handles an unmatched parenthesis2386 properly handles when query is not present2387 properly handles query when repo is empty2388 when storage is broken2389 raises a storage error2390 result2391 is expected to be a kind of String2392 is expected to eq "master:CHANGELOG\u0000190\u0000 - Feature: Replace teams with group membership\n"2393 search_files_by_name2394 returns result2395 ignores leading slashes2396 properly handles when query is only slashes2397 properly handles when query is not present2398 properly handles query when repo is empty2399 when storage is broken2400 raises a storage error2401 #async_remove_remote2402 when worker is scheduled successfully2403 returns job_id2404 when worker does not schedule successfully2405 returns nil2406 #fetch_ref2407 when storage is broken2408 raises a storage error2409 #get_raw_changes2410 with non-UTF8 bytes in paths2411 returns the changes2412 #create_ref2413 redirects the call to write_ref2414 #changelog2415 accepts changelog2416 accepts news instead of changelog2417 accepts history instead of changelog2418 accepts changes instead of changelog2419 is case-insensitive2420 #license_blob2421 handles when HEAD points to non-existent ref2422 looks in the root_ref only2423 detects license file with no recognizable open-source license content2424 detects 'LICENSE'2425 detects 'LICENCE'2426 detects 'LiCensE'2427 detects 'LICENSE.md'2428 detects 'LICENSE.foo'2429 detects 'COPYING'2430 detects 'COPYING.md'2431 #license_key2432 returns nil when no license is detected2433 returns nil when the repository does not exist2434 returns other when the content is not recognizable2435 returns nil when the commit SHA does not exist2436 returns nil when master does not exist2437 returns the license key2438 #license2439 returns nil when no license is detected2440 returns nil when the repository does not exist2441 returns other when the content is not recognizable2442 returns the license2443 #gitlab_ci_yml2444 returns valid file2445 returns nil if not exists2446 returns nil for empty repository2447 #ambiguous_ref?2448 when ref is ambiguous2449 is true2450 when ref is not ambiguous2451 is false2452 #has_ambiguous_refs?2453 branch_names: nil, tag_names: nil, result: false2454 is expected to eq false2455 branch_names: [], tag_names: [], result: false2456 is expected to eq false2457 branch_names: ["a", "b"], tag_names: [], result: false2458 is expected to eq false2459 branch_names: [], tag_names: ["c", "d"], result: false2460 is expected to eq false2461 branch_names: ["a", "b"], tag_names: ["c", "d"], result: false2462 is expected to eq false2463 branch_names: ["a/b"], tag_names: ["c/d"], result: false2464 is expected to eq false2465 branch_names: ["a", "b"], tag_names: ["c", "d", "a/z"], result: true2466 is expected to eq true2467 branch_names: ["a", "b", "c/z"], tag_names: ["c", "d"], result: true2468 is expected to eq true2469 branch_names: ["a/b/z"], tag_names: ["a/b"], result: false2470 is expected to eq false2471 branch_names: ["a/b/z"], tag_names: ["a/b", "a"], result: true2472 is expected to eq true2473 branch_names: ["ab"], tag_names: ["abc/d", "a", "b"], result: false2474 is expected to eq false2475 #expand_ref2476 when ref is not tag or branch name2477 returns nil2478 when ref is tag name2479 returns the tag ref2480 when ref is branch name2481 returns the branch ref2482 #add_branch2483 calls Gitaly's OperationService2484 creates_the_branch2485 with a non-existing target2486 returns false and doesn't create the branch2487 #exists?2488 returns true when a repository exists2489 returns false if no full path can be constructed2490 with broken storage2491 raises a storage error2492 behaves like asymmetric cached method2493 asymmetric caching2494 when it returns true2495 caches the output in RequestStore2496 caches the output in RepositoryCache2497 when it returns false2498 caches the output in RequestStore2499 does NOT cache the output in RepositoryCache2500 #has_visible_content?2501 delegates to raw_repository when true2502 delegates to raw_repository when false2503 behaves like asymmetric cached method2504 asymmetric caching2505 when it returns true2506 caches the output in RequestStore2507 caches the output in RepositoryCache2508 when it returns false2509 caches the output in RequestStore2510 does NOT cache the output in RepositoryCache2511 #branch_exists?2512 delegates to branch_names when the cache is empty2513 uses redis set caching when the cache is filled2514 #tag_exists?2515 delegates to tag_names when the cache is empty2516 uses redis set caching when the cache is filled2517 #branch_names2518 gets cached across Repository instances2519 #empty?2520 returns true for an empty repository2521 returns false for a non-empty repository2522 caches the output2523 #blobs_at2524 returns empty array for an empty repository2525 returns blob array for a non-empty repository2526 #root_ref2527 returns a branch name2528 caches the output2529 returns nil if the repository does not exist2530 behaves like asymmetric cached method2531 asymmetric caching2532 when it returns true2533 caches the output in RequestStore2534 caches the output in RepositoryCache2535 when it returns false2536 caches the output in RequestStore2537 does NOT cache the output in RepositoryCache2538 #expire_root_ref_cache2539 expires the root reference cache2540 #expire_branch_cache2541 expires the cache for all branches2542 expires the cache for all branches when the root branch is given2543 expires the cache for a specific branch2544 #expire_emptiness_caches2545 expires the caches for an empty repository2546 does not expire the cache for a non-empty repository2547 expires the memoized repository cache2548 skip_merges option2549 is expected not to include "e56497bb5f03a90a51293fc6d516788730953899"2550 #merge2551 merges the code and returns the commit id2552 sets the `in_progress_merge_commit_sha` flag for the given merge request2553 removes carriage returns from commit message2554 #merge_to_ref2555 writes merge of source SHA and first parent ref to MR merge_ref_path2556 #ff_merge2557 merges the code and return the commit id2558 sets the `in_progress_merge_commit_sha` flag for the given merge request2559 #rebase2560 executes the new Gitaly RPC2561 behaves like a method that can rebase successfully2562 returns the rebase commit sha2563 sets the `rebase_commit_sha` for the given merge request2564 rolling back the `rebase_commit_sha`2565 does not rollback when there are no errors2566 does rollback when a PreReceiveError is encountered in the second step2567 does rollback when a GitError is encountered in the second step2568 #revert2569 when there is a conflict2570 raises an error2571 when commit was already reverted2572 raises an error2573 when commit can be reverted2574 reverts the changes2575 reverting a merge commit2576 reverts the changes2577 #cherry_pick2578 when there is a conflict2579 raises an error2580 when commit was already cherry-picked2581 raises an error2582 when commit can be cherry-picked2583 cherry-picks the changes2584 cherry-picking a merge commit2585 cherry-picks the changes2586 #before_delete2587 when a repository does not exist2588 does not flush caches that depend on repository data2589 flushes the tags cache2590 flushes the branches cache2591 flushes the root ref cache2592 flushes the emptiness caches2593 flushes the exists cache2594 when a repository exists2595 flushes the tags cache2596 flushes the branches cache2597 flushes the root ref cache2598 flushes the emptiness caches2599 #before_change_head2600 flushes the branch cache2601 flushes the root ref cache2602 #after_change_head2603 flushes the method caches2604 #expires_caches_for_tags2605 flushes the cache2606 #before_push_tag2607 logs an event2608 #after_push_commit2609 expires statistics caches2610 #after_create_branch2611 expires the branch caches2612 does not expire the branch caches when specified2613 #after_remove_branch2614 expires the branch caches2615 does not expire the branch caches when specified2616 #lookup2617 uses the lookup cache2618 returns the correct value2619 #after_create2620 calls expire_status_cache2621 logs an event2622 #expire_status_cache2623 flushes the exists cache2624 flushes the root ref cache2625 flushes the emptiness caches2626 #copy_gitattributes2627 returns true with a valid ref2628 returns false with an invalid ref2629 #before_remove_tag2630 flushes the tag cache2631 #branch_count2632 returns the number of branches2633 #tag_count2634 returns the number of tags2635 #expire_branches_cache2636 expires the cache2637 #expire_tags_cache2638 expires the cache2639 #add_tag2640 with a valid target2641 creates the tag2642 returns a Gitlab::Git::Tag object2643 with an invalid target2644 returns false2645 #rm_branch2646 removes a branch2647 when pre hooks failed2648 gets an error and does not delete the branch2649 #rm_tag2650 removes a tag2651 #avatar2652 returns nil if repo does not exist2653 returns the first avatar file found in the repository2654 caches the output2655 #expire_exists_cache2656 expires the cache2657 expires the request store cache2658 #xcode_project?2659 when the root contains a *.xcodeproj directory2660 returns true2661 when the root contains a *.xcworkspace directory2662 returns true2663 when the root contains no Xcode config directory2664 returns false2665 #contribution_guide2666 returns and caches the output2667 #gitignore2668 returns and caches the output2669 #readme2670 with a non-existing repository2671 returns nil2672 with an existing repository2673 when no README exists2674 returns nil2675 #readme_path2676 with a non-existing repository2677 returns nil2678 with an existing repository2679 when no README exists2680 returns nil2681 when a README exists2682 returns the README2683 caches the response2684 #expire_statistics_caches2685 expires the caches2686 #expire_all_method_caches2687 expires the caches of all methods2688 all cache_method definitions are in the lists of method caches2689 #file_on_head2690 with a non-existing repository2691 returns nil2692 with a repository that has no blobs2693 returns nil2694 with an existing repository2695 returns a Gitlab::Git::Tree2696 #head_tree2697 with an existing repository2698 returns a Tree2699 with a non-existing repository2700 returns nil2701 behaves like #tree2702 using a non-existing repository2703 returns nil2704 returns nil when using a path2705 using an existing repository2706 returns a Tree2707 #tree? with Rugged enabled2708 behaves like #tree2709 using a non-existing repository2710 returns nil2711 returns nil when using a path2712 using an existing repository2713 returns a Tree2714 #size2715 with a non-existing repository2716 returns 02717 with an existing repository2718 returns the repository size as a Float2719 #local_branches2720 returns the local branches2721 #commit_count2722 with a non-existing repository2723 returns 02724 with an existing repository2725 returns the commit count2726 #commit_count_for_ref2727 with a non-existing repository2728 returns 02729 with empty repository2730 returns 02731 when searching for the root ref2732 returns the same count as #commit_count2733 #refresh_method_caches2734 refreshes the caches of the given types2735 #gitlab_ci_yml_for2736 when there is a .gitlab-ci.yml at the commit2737 returns the content2738 when there is no .gitlab-ci.yml at the commit2739 returns nil2740 #route_map_for2741 when there is a .gitlab/route-map.yml at the commit2742 returns the content2743 when there is no .gitlab/route-map.yml at the commit2744 returns nil2745 #ancestor? with Gitaly enabled2746 behaves like #ancestor?2747 is an ancestor2748 is not an ancestor2749 returns false on nil-values2750 returns false for invalid commit IDs2751 caching2752 only calls out to Gitaly once2753 returns the value from the request store2754 returns the value from the redis cache2755 #ancestor? with Rugged enabled2756 calls out to the Rugged implementation2757 behaves like #ancestor?2758 is an ancestor2759 is not an ancestor2760 returns false on nil-values2761 returns false for invalid commit IDs2762 #archive_metadata2763 with hashed storage disabled2764 uses the project path to generate the filename2765 with hashed storage enabled2766 uses the project path to generate the filename2767 commit cache2768 caches based on SHA2769 caches nil values2770 #raw_repository2771 returns a Gitlab::Git::Repository representation of the repository2772 with a wiki repository2773 creates a Gitlab::Git::Repository with the proper attributes2774 #contributors2775 returns the array of Gitlab::Contributor for the repository2776 order_by email2777 asc2778 returns all the contributors ordered by email asc case insensitive2779 desc2780 returns all the contributors ordered by email desc case insensitive2781 order_by name2782 asc2783 returns all the contributors ordered by name asc case insensitive2784 desc2785 returns all the contributors ordered by name desc case insensitive2786 order_by commits2787 asc2788 returns all the contributors ordered by commits asc2789 desc2790 returns all the contributors ordered by commits desc2791 invalid ordering2792 returns the contributors unsorted2793 invalid sorting2794 returns the contributors unsorted2795 #merge_base2796 only makes one gitaly call2797 #create_if_not_exists2798 creates the repository if it did not exist2799 returns true2800 calls out to the repository client to create a repo2801 it does nothing if the repository already existed2802 does nothing if the repository already existed2803 returns nil2804 when the repository exists but the cache is not up to date2805 does not raise errors2806 returns nil2807 #create_from_bundle2808 calls out to the raw_repository to create a repo from bundle2809 calls after_create2810 when exception is raised2811 after_create is not executed2812 #blobs_metadata2813 returns blob metadata in batch for HEAD2814 returns blob metadata for a specified ref2815 performs a single gitaly call2816 #project2817 returns the project for a project snippet2818 returns nil for a personal snippet2819 returns the project for a project wiki2820 returns the container if it is a project2821 returns nil if the container is not a project2822 #submodule_links2823 returns an instance of Gitlab::SubmoduleLinks2824 #lfs_enabled?2825 for a project repository2826 returns true when LFS is enabled2827 returns false when LFS is disabled2828 for a project wiki repository2829 delegates to the project2830 for a project snippet repository2831 returns false when LFS is enabled2832 for a personal snippet repository2833 returns false when LFS is enabled2834 for a design repository2835 returns true when LFS is enabled2836 returns false when LFS is disabled2837 .pick_storage_shard2838 when expire is false2839 does not expire existing repository storage value2840 when expire is true2841 expires existing repository storage value2842Gitlab::ImportExport::RelationTreeRestorer2843 when restoring a project2844 using legacy reader2845 behaves like import project successfully2846 restores project tree2847 imported project2848 has the project attributes and relations2849 logging of relations creation2850 when log_import_export_relation_creation feature flag is enabled2851 logs top-level relation creation2852 when log_import_export_relation_creation feature flag is disabled2853 does not log top-level relation creation2854 using ndjson reader2855 behaves like import project successfully2856 restores project tree2857 imported project2858 has the project attributes and relations2859 with invalid relations2860 logs the invalid relation and its errors2861 when restoring a group2862 restores group tree2863 when log_import_export_relation_creation feature flag is enabled2864 logs top-level relation creation2865 when log_import_export_relation_creation feature flag is disabled2866 does not log top-level relation creation2867Gitlab::Git::Repository2868 Respond to2869 is expected to respond to #root_ref2870 is expected to respond to #tags2871 #root_ref2872 returns UTF-82873 gets the branch name from GitalyClient2874 behaves like wrapping gRPC errors2875 wraps gRPC not found error2876 wraps gRPC unknown error2877 #create_repository2878 behaves like wrapping gRPC errors2879 wraps gRPC not found error2880 wraps gRPC unknown error2881 #branch_names2882 has SeedRepo::Repo::BRANCHES.size elements2883 returns UTF-82884 is expected to include "master"2885 is expected not to include "branch-from-space"2886 gets the branch names from GitalyClient2887 behaves like wrapping gRPC errors2888 wraps gRPC not found error2889 wraps gRPC unknown error2890 #tag_names2891 is expected to be a kind of Array2892 has SeedRepo::Repo::TAGS.size elements2893 returns UTF-82894 is expected to include "v1.0.0"2895 is expected not to include "v5.0.0"2896 gets the tag names from GitalyClient2897 #last2898 is expected to eq "v1.2.1"2899 behaves like wrapping gRPC errors2900 wraps gRPC not found error2901 wraps gRPC unknown error2902 #archive_metadata2903 sets CommitId to the commit SHA2904 sets ArchivePrefix to the expected prefix2905 when :include_lfs_blobs_in_archive feature flag is disabled2906 sets ArchivePath to the expected globally-unique path2907 when :include_lfs_blobs_in_archive feature flag is enabled2908 sets ArchivePath to the expected globally-unique path2909 path is set2910 appends the path to the prefix2911 append_sha varies archive path and filename2912 append_sha: true, ref: "master", expected_prefix: "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2913 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2914 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2915 append_sha: true, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2916 is expected to eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2917 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2918 append_sha: false, ref: "master", expected_prefix: "gitlab-git-test-master"2919 is expected to eq "gitlab-git-test-master"2920 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master.tar.gz"2921 append_sha: false, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2922 is expected to eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2923 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2924 append_sha: nil, ref: "master", expected_prefix: "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2925 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2926 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2927 append_sha: nil, ref: "4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6", expected_prefix: "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2928 is expected to eq "gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2929 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2930 format varies archive path and filename2931 format: nil, expected_extension: "tar.gz"2932 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2933 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2934 format: "madeup", expected_extension: "tar.gz"2935 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2936 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.gz"2937 format: "tbz2", expected_extension: "tar.bz2"2938 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2939 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.tar.bz2"2940 format: "zip", expected_extension: "zip"2941 is expected to eq "gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6"2942 is expected to eq "/tmp/4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6/@v2/gitlab-git-test-master-4b4918a572fa86f9771e5ba40fbd48e1eb03e2c6.zip"2943 #size2944 is expected to be < 22945 #to_s2946 is expected to eq "<Gitlab::Git::Repository: group/project>"2947 #object_directory_size2948 is expected to eq 20482949 #empty?2950 is expected not to be empty2951 #ref_names2952 is expected to be a kind of Array2953 #first2954 is expected to eq "feature"2955 #last2956 is expected to eq "v1.2.1"2957 #submodule_url_for2958 is expected to eq "git://github.com/randx/six.git"2959 is expected to eq "git://github.com/randx/six.git"2960 is expected to eq "git://github.com/randx/six.git"2961 is expected to eq nil2962 uncommitted submodule dir2963 is expected to eq nil2964 tags2965 is expected to eq "git://github.com/randx/six.git"2966 no .gitmodules at commit2967 is expected to eq nil2968 no gitlink entry2969 is expected to eq nil2970 #submodule_urls_for2971 returns url mappings for submodules2972 #commit_count2973 is expected to eq 252974 is expected to eq 92975 is expected to eq 02976 behaves like wrapping gRPC errors2977 wraps gRPC not found error2978 wraps gRPC unknown error2979 #diverging_commit_count2980 counts 0 for the same branch2981 max count does not truncate results2982 left: 1, right: 1, expected: [1, 1]2983 returns the correct count bounding at max_count2984 left: 4, right: 4, expected: [4, 4]2985 returns the correct count bounding at max_count2986 left: 2, right: 2, expected: [2, 2]2987 returns the correct count bounding at max_count2988 left: 2, right: 4, expected: [2, 4]2989 returns the correct count bounding at max_count2990 left: 4, right: 2, expected: [4, 2]2991 returns the correct count bounding at max_count2992 left: 10, right: 10, expected: [10, 10]2993 returns the correct count bounding at max_count2994 max count truncates results2995 left: 1, right: 1, max_count: 12996 returns the correct count bounding at max_count2997 left: 4, right: 4, max_count: 42998 returns the correct count bounding at max_count2999 left: 2, right: 2, max_count: 33000 returns the correct count bounding at max_count3001 left: 2, right: 4, max_count: 33002 returns the correct count bounding at max_count3003 left: 4, right: 2, max_count: 53004 returns the correct count bounding at max_count3005 left: 10, right: 10, max_count: 103006 returns the correct count bounding at max_count3007 behaves like wrapping gRPC errors3008 wraps gRPC not found error3009 wraps gRPC unknown error3010 #has_local_branches?3011 check for local branches3012 is expected to eq true3013 mutable3014 returns false when there are no branches3015 memoizes the value3016 returns true3017 #delete_refs3018 deletes the ref3019 deletes all refs3020 does not fail when deleting an empty list of refs3021 raises an error if it failed3022 #branch_names_contains_sha3023 displays that branch3024 #refs_hash3025 has as many entries as branches and tags3026 has valid commit ids as keys3027 does not error when dereferenced_target is nil3028 #fetch_remote3029 delegates to the gitaly RepositoryService3030 behaves like wrapping gRPC errors3031 wraps gRPC not found error3032 wraps gRPC unknown error3033 #search_files_by_content3034 has 2 items3035 has the correct matching line3036 #find_remote_root_ref3037 gets the remote root ref from GitalyClient3038 returns UTF-83039 returns nil when remote name is nil3040 returns nil when remote name is empty3041 behaves like wrapping gRPC errors3042 wraps gRPC not found error3043 wraps gRPC unknown error3044 #log3045 when Gitaly find_commits feature is enabled3046 behaves like repository log3047 where 'follow' == true3048 and 'path' is a directory3049 does not follow renames3050 and 'path' is a file that matches the new filename3051 without offset3052 follows renames3053 with offset=13054 follows renames and skip the latest commit3055 with offset=1 and limit=13056 follows renames, skip the latest commit and return only one commit3057 with offset=1 and limit=23058 follows renames, skip the latest commit and return only two commits3059 with offset=23060 follows renames and skip the latest commit3061 with offset=2 and limit=13062 follows renames, skip the two latest commit and return only one commit3063 with offset=2 and limit=23064 follows renames, skip the two latest commit and return only one commit3065 and 'path' is a file that matches the old filename3066 does not follow renames3067 unknown ref3068 returns an empty array3069 where 'follow' == false3070 and 'path' is a directory3071 does not follow renames3072 and 'path' is a file that matches the new filename3073 does not follow renames3074 and 'path' is a file that matches the old filename3075 does not follow renames3076 and 'path' includes a directory that used to be a file3077 returns a list of commits3078 where provides 'after' timestamp3079 returns commits on or after that timestamp3080 where provides 'before' timestamp3081 returns commits on or before that timestamp3082 when multiple paths are provided3083 only returns commits matching at least one path3084 limit validation3085 limit: 03086 is expected to raise ArgumentError3087 limit: nil3088 is expected to raise ArgumentError3089 limit: ""3090 is expected to raise ArgumentError3091 limit: "foo"3092 is expected to raise ArgumentError3093 with all3094 returns a list of commits3095 #count_commits_between3096 is expected to eq 173097 #raw_changes_between3098 initial commit3099 returns the changes3100 with an invalid rev3101 returns an error3102 with valid revs3103 returns the changes3104 #merge_base3105 from: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d", to: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", result: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3106 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3107 from: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", to: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d", result: "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3108 is expected to eq "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"3109 from: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", to: "foobar", result: nil3110 is expected to eq nil3111 from: "foobar", to: "40f4a7a617393735a95a0bb67b08385bc1e7c66d", result: nil3112 is expected to eq nil3113 #count_commits3114 extended commit counting3115 with after timestamp3116 returns the number of commits after timestamp3117 with before timestamp3118 returns the number of commits before timestamp3119 with max_count3120 returns the number of commits with path3121 with path3122 returns the number of commits with path3123 with option :from and option :to3124 returns the number of commits ahead for fix-mode..fix-blob-path3125 returns the number of commits ahead for fix-blob-path..fix-mode3126 with option :left_right3127 returns the number of commits for fix-mode...fix-blob-path3128 with max_count3129 returns the number of commits with path3130 with max_count3131 returns the number of commits up to the passed limit3132 with all3133 returns the number of commits in the whole repository3134 without all or ref being specified3135 raises an ArgumentError3136 #find_branch3137 returns a Branch for master3138 handles non-existent branch3139 #ref_name_for_sha3140 returns the ref name for the given sha3141 returns an empty name if the ref doesn't exist3142 raise an exception if the ref is empty3143 raise an exception if the ref is nil3144 #branches3145 with local and remote branches3146 returns the local and remote branches3147 behaves like wrapping gRPC errors3148 wraps gRPC not found error3149 wraps gRPC unknown error3150 #branch_count3151 returns the number of branches3152 with local and remote branches3153 returns the count of local branches3154 with Gitaly disabled3155 returns the count of local branches3156 #merged_branch_names3157 when branch names are passed3158 only returns the names we are asking3159 does not return unmerged branch names3160 when no root ref is available3161 returns empty list3162 when no branch names are specified3163 returns all merged branch names except for identical one3164 #diff_stats3165 returns a DiffStatsCollection3166 yields Gitaly::DiffStats objects3167 returns no Gitaly::DiffStats when SHAs are invalid3168 returns no Gitaly::DiffStats when there is a nil SHA3169 returns no Gitaly::DiffStats when there is a BLANK_SHA3170 #find_changed_paths3171 returns a list of paths3172 returns no paths when SHAs are invalid3173 returns a list of paths even when containing a blank ref3174 returns no paths when the commits are nil3175 #ls_files3176 read every file paths of master branch3177 reads full file paths of master branch3178 does not read submodule directory and empty directory of master branch3179 does not include 'nil'3180 returns empty array when not existed branch3181 returns valid utf-8 data3182 #copy_gitattributes3183 raises an error with invalid ref3184 when forcing encoding issues3185 doesn't raise with a valid unicode ref3186 with no .gitattrbutes3187 does not have an info/attributes3188 with .gitattrbutes3189 has an info/attributes3190 has the same content in info/attributes as .gitattributes3191 with updated .gitattrbutes3192 has an info/attributes3193 has the updated content in info/attributes3194 with no .gitattrbutes in HEAD but with previous info/attributes3195 does not have an info/attributes3196 #gitattribute3197 returns matching language attribute3198 returns matching language attribute with additional options3199 returns nil if nothing matches3200 without gitattributes file3201 returns nil3202 #ref_exists?3203 returns true for an existing tag3204 returns false for a non-existing tag3205 raises an ArgumentError for an empty string3206 raises an ArgumentError for an invalid ref3207 #tag_exists?3208 returns true for an existing tag3209 returns false for a non-existing tag3210 #branch_exists?3211 returns true for an existing branch3212 returns false for a non-existing branch3213 returns false when using an invalid branch name3214 #local_branches3215 returns the local branches3216 returns a Branch with UTF-8 fields3217 gets the branches from GitalyClient3218 behaves like wrapping gRPC errors3219 wraps gRPC not found error3220 wraps gRPC unknown error3221 #languages3222 returns exactly the expected results3223 uses the repository's HEAD when no ref is passed3224 #license_short_name3225 when no license file can be found3226 is expected to be nil3227 when an mit license is found3228 is expected to eq "mit"3229 #fetch_source_branch!3230 when the branch exists3231 when the commit does not exist locally3232 writes the ref3233 when the commit exists locally3234 writes the ref3235 when the branch does not exist3236 does not write the ref3237 #rm_branch3238 removes the branch from the repo3239 #write_ref3240 writes the HEAD3241 writes other refs3242 validations3243 ref_path: "foo bar", ref: "123"3244 raises ArgumentError3245 ref_path: "foobar", ref: "12\u00003"3246 raises ArgumentError3247 #write_config3248 is given a path3249 writes it to disk3250 it is given an empty path3251 does not write it to disk3252 repository does not exist3253 raises NoRepository and does not call Gitaly WriteConfig3254 #set_config3255 can set config settings3256 #delete_config3257 can delete config settings3258 #merge_to_ref3259 generates a commit in the target_ref3260 does not change the right branch HEAD3261 #merge3262 can perform a merge3263 returns nil if there was a concurrent branch update3264 #ff_merge3265 calls Gitaly's OperationService3266 behaves like #ff_merge3267 performs a ff_merge3268 with a non-existing target branch3269 throws an ArgumentError3270 with a non-existing source commit3271 throws an ArgumentError3272 when the source sha is not a descendant of the branch head3273 doesn't perform the ff_merge3274 #delete_all_refs_except3275 deletes all refs except those with the specified prefixes3276 remotes3277 #add_remote3278 added the remote3279 #remove_remote3280 removes the remote3281 #bundle_to_disk3282 saves a bundle to disk3283 #create_from_bundle3284 creates a repo from a bundle file3285 raises an error if the bundle is an attempted malicious payload3286 #compare_source_branch3287 delegates to Gitlab::Git::CrossRepoComparer3288 #checksum3289 calculates the checksum for non-empty repo3290 returns 0000000000000000000000000000000000000000 for an empty repo3291 raises Gitlab::Git::Repository::InvalidRepository error for non-valid git repo3292 raises Gitlab::Git::Repository::NoRepository error when there is no repo3293 #replicas3294 gets the replica checksum through praefect3295 #clean_stale_repository_files3296Preparing worktree (detached HEAD 4b4918a)3297HEAD is now at 4b4918a Merge branch 'master' into 'master'3298 cleans up the files3299 increments a counter upon an error3300 #squash3301 sparse checkout (PENDING: No reason given)3302 with an ASCII-8BIT diff (PENDING: No reason given)3303 with trailing whitespace in an invalid patch (PENDING: No reason given)3304 #disconnect_alternates3305 does not raise an error when disconnecting a non-linked repository3306 removes the alternates file3307 can still access objects in the object pool3308 #rename3309 moves the repository3310 #remove3311 removes the repository3312 when the repository does not exist3313 is idempotent3314 #import_repository3315 raises an error if a relative path is provided3316 raises an error if an absolute path is provided3317 delegates to Gitaly3318 behaves like wrapping gRPC errors3319 wraps gRPC not found error3320 wraps gRPC unknown error3321 #replicate3322 destination does not exist3323 mirrors the source repository3324 destination exists3325 mirrors the source repository3326 with keep-around refs3327 includes the temporary and keep-around refs3328Deployment3329 is expected to belong to project required: true3330 is expected to belong to environment required: true3331 is expected to belong to cluster class_name => Clusters::Cluster required:3332 is expected to belong to user required:3333 is expected to belong to deployable required:3334 is expected to have one deployment_cluster3335 is expected to have many deployment_merge_requests3336 is expected to have many merge_requests through deployment_merge_requests3337 is expected to delegate #environment_name to the #environment object as #name3338 is expected to delegate #commit to the #project object3339 is expected to delegate #commit_title to the #commit object as #try3340 is expected to delegate #manual_actions to the #deployable object as #try3341 is expected to delegate #kubernetes_namespace to the #deployment_cluster object3342 is expected to validate that :ref cannot be empty/falsy3343 is expected to validate that :sha cannot be empty/falsy3344 behaves like having unique enum values3345 has unique values in "status"3346 #scheduled_actions3347 delegates to other_scheduled_actions3348 modules3349 behaves like AtomicInternalId3350 .has_internal_id3351 Module inclusion3352 is expected to includes the AtomicInternalId module3353 Validation3354 when presence validation is required3355 when creating an object3356 raises an error if the internal id is blank3357 when updating an object3358 raises an error if the internal id is blank3359 when presence validation is not required3360 when creating an object3361 does not raise an error if the internal id is blank (PENDING: No reason given)3362 when updating an object3363 does not raise an error if the internal id is blank (PENDING: No reason given)3364 Creating an instance3365 saves a new instance properly3366 internal id generation3367 calls InternalId.generate_next and sets internal id attribute3368 does not overwrite an existing internal id3369 when the instance has an internal ID set3370 calls InternalId.update_last_value and sets the `last_value` to that of the instance3371 unsetting the instance internal id on rollback3372 when the internal id has been changed3373 when the internal id is automatically set3374 clears it on the instance3375 when the internal id is manually set3376 does not clear it on the instance3377 when the internal id has not been changed3378 preserves the value on the instance3379 supply of internal ids3380 provides a persistent supply of IID values, sensitive to the current state3381 #reset_scope_internal_id_attribute3382 rewinds the allocated IID3383 allocates the same IID3384 .stoppable3385 when deployment is stoppable3386 is expected to eq [#<Deployment id: 11, iid: 1, project_id: 1071, environment_id: 14, ref: "master", tag: false, sha: "...5", on_stop: "stop-review", status: "success", finished_at: "2021-03-03 12:08:45", cluster_id: nil>]3387 when deployment is not stoppable3388 is expected to be empty3389 .success3390 when deployment status is success3391 is expected to eq [#<Deployment id: 13, iid: 1, project_id: 1073, environment_id: 16, ref: "master", tag: false, sha: "...03 12:08:46", on_stop: nil, status: "success", finished_at: "2021-03-03 12:08:46", cluster_id: nil>]3392 when deployment status is created3393 is expected to be empty3394 when deployment status is running3395 is expected to be empty3396 state machine3397 when deployment runs3398 starts running3399 executes Deployments::ExecuteHooksWorker asynchronously3400 executes Deployments::DropOlderDeploymentsWorker asynchronously3401 when deployment succeeded3402 has correct status3403 executes Deployments::UpdateEnvironmentWorker asynchronously3404 executes Deployments::ExecuteHooksWorker asynchronously3405 when deployment failed3406 has correct status3407 executes Deployments::LinkMergeRequestWorker asynchronously3408 executes Deployments::ExecuteHooksWorker asynchronously3409 when deployment was canceled3410 has correct status3411 executes Deployments::LinkMergeRequestWorker asynchronously3412 executes Deployments::ExecuteHooksWorker asynchronously3413 when deployment was skipped3414 has correct status3415 does not execute Deployments::LinkMergeRequestWorker asynchronously3416 does not execute Deployments::ExecuteHooksWorker3417 synching status to Jira3418 calls the worker on creation3419 does not call the worker for skipped deployments3420 when we call pipeline.run!3421 triggers a Jira synch worker3422 when we call pipeline.succeed!3423 triggers a Jira synch worker3424 when we call pipeline.drop!3425 triggers a Jira synch worker3426 when we call pipeline.cancel!3427 triggers a Jira synch worker3428 #success?3429 when deployment status is success3430 is expected to be truthy3431 when deployment status is failed3432 is expected to be falsy3433 #status_name3434 when deployment status is success3435 is expected to eq :success3436 when deployment status is failed3437 is expected to eq :failed3438 #finished_at3439 when deployment status is created3440 is expected to be nil3441 when deployment status is success3442 is expected to eq 2021-03-03 12:08:53.293649967 +00003443 when deployment status is success3444 is expected to eq 2021-03-03 12:08:53.556128948 +00003445 when deployment status is running3446 is expected to be nil3447 #deployed_at3448 when deployment status is created3449 is expected to be nil3450 when deployment status is success3451 is expected to eq 2021-03-03 12:08:54.262456319 +00003452 when deployment status is running3453 is expected to be nil3454 scopes3455 last_for_environment3456 retrieves last deployments for environments3457 active3458 retrieves the active deployments3459 older_than3460 retrives the correct older deployments3461 .finished_before3462 filters deployments by finished_at3463 .finished_after3464 filters deployments by finished_at3465 with_deployable3466 retrieves deployments with deployable builds3467 visible3468 retrieves the visible deployments3469 latest_for_sha3470 finds the latest deployment with sha3471 when sha is old3472 finds the latest deployment with sha3473 when sha is nil3474 returns nothing3475 #includes_commit?3476 when there is no project commit3477 returns false3478 when they share the same tree branch3479 returns true3480 when the SHA for the deployment does not exist in the repo3481 returns false3482 #stop_action3483 when no other actions3484 is expected to be nil3485 with other actions3486 when matching action is defined3487 is expected to be nil3488 when no matching action is defined3489 is expected to eq #<Ci::Build id: 153, status: "manual", finished_at: nil, trace: nil, created_at: "2021-03-03 08:50:29...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>3490 #deployed_by3491 returns the deployment user if there is no deployable3492 returns the deployment user if the deployable have no user3493 returns the deployable user if there is one3494 .find_successful_deployment!3495 returns a successful deployment3496 raises when no deployment is found3497 #previous_deployment3498 returns the previous deployment3499 #link_merge_requests3500 links merge requests with a deployment3501 ignores already linked merge requests3502 #previous_environment_deployment3503 returns the previous deployment of the same environment3504 ignores deployments that were not successful3505 ignores deployments for different environments3506 #create_ref3507 creates a ref using the sha3508 #playable_build3509 when there is a deployable build3510 when the deployable build is playable3511 returns that build3512 when the deployable build is not playable3513 returns nil3514 when there is no deployable build3515 returns nil3516 #update_status3517 changes the status3518 schedules workers when finishing a deploy3519 updates finished_at when transitioning to a finished status3520 #valid_sha3521 does not add errors for a valid SHA3522 adds an error for an invalid SHA3523 #valid_ref3524 does not add errors for a valid ref3525 adds an error for an invalid ref3526 .fast_destroy_all3527 cleans path_refs for destroyed environments3528Clusters::Applications::Knative3529 is expected to belong to cluster required:3530 is expected to validate that :cluster cannot be empty/falsy3531 #can_uninstall?3532 calls allowed_to_uninstall?3533 #name3534 is .application_name3535 is recorded in Clusters::Cluster::APPLICATIONS3536 .association_name3537 is expected to eq :application_knative3538 #helm_command_module3539 helm_major_version: 2, expected_helm_command_module: Gitlab::Kubernetes::Helm::V23540 is expected to eq Gitlab::Kubernetes::Helm::V23541 helm_major_version: 3, expected_helm_command_module: Gitlab::Kubernetes::Helm::V33542 is expected to eq Gitlab::Kubernetes::Helm::V33543 #status_states3544 returns a hash of state values3545 returns an integer for installed state value3546 .available3547 is expected to contain exactly #<Clusters::Applications::Knative id: 1, cluster_id: 26, created_at: "2021-03-03 12:09:10", updated_a...on: "0.10.0", hostname: "example.com", status_reason: nil, external_ip: nil, external_hostname: nil> and #<Clusters::Applications::Knative id: 2, cluster_id: 32, created_at: "2021-03-03 12:09:10", updated_a...on: "0.10.0", hostname: "example.com", status_reason: nil, external_ip: nil, external_hostname: nil>3548 status state machine3549 #make_installing3550 is installing3551 #make_installed3552 is installed3553 does not update the helm version3554 the cluster has no helm installed3555 runs without errors3556 application is updating3557 is updated3558 does not update the helm version3559 the cluster has no helm installed3560 runs without errors3561 #make_errored3562 is errored3563 application is updating3564 is update_errored3565 application is uninstalling3566 is uninstall_errored3567 #make_externally_installed3568 is installed3569 helm record does not exist3570 does not create a helm record3571 helm record exists3572 does not update helm version3573 application is updated3574 is installed3575 application is errored3576 is installed3577 clears #status_reason3578 #make_externally_uninstalled3579 is uninstalled3580 application is updated3581 is uninstalled3582 application is errored3583 is uninstalled3584 clears #status_reason3585 #make_scheduled3586 is scheduled3587 when installed3588 is scheduled3589 when was errored3590 clears #status_reason3591 when was updated_errored3592 clears #status_reason3593 when was uninstall_errored3594 clears #status_reason3595 #make_uninstalling3596 is uninstalling3597 #available?3598 trait: :not_installable, available: false3599 is expected not to be available3600 trait: :installable, available: false3601 is expected not to be available3602 trait: :scheduled, available: false3603 is expected not to be available3604 trait: :installing, available: false3605 is expected not to be available3606 trait: :installed, available: true3607 is expected to be available3608 trait: :updating, available: false3609 is expected not to be available3610 trait: :updated, available: true3611 is expected to be available3612 trait: :errored, available: false3613 is expected not to be available3614 trait: :update_errored, available: false3615 is expected not to be available3616 trait: :uninstalling, available: false3617 is expected not to be available3618 trait: :uninstall_errored, available: false3619 is expected not to be available3620 trait: :uninstalled, available: false3621 is expected not to be available3622 trait: :timed_out, available: false3623 is expected not to be available3624 #uninstall_command3625 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::DeleteCommand3626 has files3627 is rbac3628 on a non rbac enabled cluster3629 is expected not to be rbac3630 #files3631 does not include cert files3632 when cluster does not have helm installed3633 does not include cert files3634 update_available?3635 version is not the same as VERSION3636 is expected to be truthy3637 version is the same as VERSION3638 is expected to be falsey3639 #make_installed3640 sets the correct version of the application3641 application is updating3642 updates the version of the application3643 #status3644 sets a default status3645 associations3646 is expected to have one serverless_domain_cluster class_name => ::Serverless::DomainCluster inverse_of => knative3647 when cloud run is enabled3648 is expected to be not installable3649 when rbac is not enabled3650 is expected to be not installable3651 make_installed with external_ip3652 schedules a ClusterWaitForIngressIpAddressWorker3653 configuring istio ingress gateway3654 after installed3655 schedules a ClusterConfigureIstioWorker3656 after updated3657 schedules a ClusterConfigureIstioWorker3658 #can_uninstall?3659 is expected to be truthy3660 #schedule_status_update with external_ip3661 schedules a ClusterWaitForIngressIpAddressWorker3662 when the application is not installed3663 does not schedule a ClusterWaitForIngressIpAddressWorker3664 when there is already an external_ip3665 does not schedule a ClusterWaitForIngressIpAddressWorker3666 when there is already an external_hostname3667 does not schedule a ClusterWaitForIngressIpAddressWorker3668 #install_command3669 is initialized with latest version3670 behaves like a command3671 is an instance of Helm::InstallCommand3672 is initialized with knative arguments3673 does not install metrics for prometheus3674 with prometheus installed3675 installs metrics3676 #update_command3677 is initialized with current version3678 behaves like a command3679 is an instance of Helm::InstallCommand3680 is initialized with knative arguments3681 does not install metrics for prometheus3682 with prometheus installed3683 installs metrics3684 #uninstall_command3685 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::DeleteCommand3686 removes knative deployed services before uninstallation3687 initializes command with all necessary postdelete script3688 #files3689 includes knative specific keys in the values.yaml file3690 validations3691 is expected to validate that :hostname cannot be empty/falsy3692 #available_domains3693 returns all instance serverless domains3694 #find_available_domain3695 returns the domain scoped to available domains3696 #pages_domain3697 returns the the associated pages domain3698check.rake3699 gitlab:check rake task3700 behaves like system check rake task3701 runs the check3702 gitlab:gitlab_shell:check rake task3703 behaves like system check rake task3704 runs the check3705 gitlab:gitaly:check rake task3706 behaves like system check rake task3707 runs the check3708 gitlab:sidekiq:check rake task3709 behaves like system check rake task3710 runs the check3711 gitlab:incoming_email:check rake task3712 behaves like system check rake task3713 runs the check3714 gitlab:ldap:check rake task3715 behaves like system check rake task3716 runs the check3717 when LDAP is not enabled3718 does not attempt to bind or search for users3719 when LDAP is enabled3720 attempts to bind using credentials3721 searches for 100 LDAP users3722 sanitizes output3723Releases::CreateService3724 #execute3725 behaves like a successful release creation3726 creates a new release3727 when the tag does not exist3728 raises an error3729 when ref is provided3730 creates a tag if the tag does not exist3731 behaves like a successful release creation3732 creates a new release3733 there already exists a release on a tag3734 raises an error and does not update the release3735 when a passed-in milestone does not exist for this project3736 raises an error saying the milestone is inexistent3737 #find_or_build_release3738 does not save the built release3739 when existing milestone is passed in3740 creates a release and ties this milestone to it3741 when another release was previously created with that same milestone linked3742 also creates another release tied to that same milestone3743 when multiple existing milestone titles are passed in3744 creates a release and ties it to these milestones3745 when multiple miletone titles are passed in but one of them does not exist3746 raises an error3747 does not create any release3748 no milestone association behavior3749 when no milestones parameter is passed3750 creates a release without a milestone tied to it3751 does not create any new MilestoneRelease object3752 when an empty array is passed as the milestones parameter3753 creates a release without a milestone tied to it3754 when nil is passed as the milestones parameter3755 creates a release without a milestone tied to it3756 Evidence collection3757 historical release3758 does not execute CreateEvidenceWorker3759 does not create an Evidence object3760 is a historical release3761 is not an upcoming release3762 immediate release3763 sets `released_at` to the current dttm3764 queues CreateEvidenceWorker3765 creates Evidence3766 is not a historical release3767 is not an upcoming release3768 creates evidence without pipeline if it does not exist3769 uses the last pipeline for evidence3770 pipeline is still being used for evidence if new pipeline is being created for tag3771 uses the last pipeline for evidence when tag is already created3772 when old evidence_pipeline is passed to service3773 uses the old pipeline for evidence3774 upcoming release3775 does not execute CreateEvidenceWorker3776 does not create an Evidence object3777 is not a historical release3778 is an upcoming release3779Ci::Ref3780 is expected to belong to project required:3781 state machine transitions3782 unlock artifacts transition3783 pipline is locked3784 initial_state: :unknown, action: :succeed!, count: 13785 when transitioning states3786 calls unlock artifacts service3787 initial_state: :unknown, action: :do_fail!, count: 03788 when transitioning states3789 calls unlock artifacts service3790 initial_state: :success, action: :succeed!, count: 13791 when transitioning states3792 calls unlock artifacts service3793 initial_state: :success, action: :do_fail!, count: 03794 when transitioning states3795 calls unlock artifacts service3796 initial_state: :failed, action: :succeed!, count: 13797 when transitioning states3798 calls unlock artifacts service3799 initial_state: :failed, action: :do_fail!, count: 03800 when transitioning states3801 calls unlock artifacts service3802 initial_state: :fixed, action: :succeed!, count: 13803 when transitioning states3804 calls unlock artifacts service3805 initial_state: :fixed, action: :do_fail!, count: 03806 when transitioning states3807 calls unlock artifacts service3808 initial_state: :broken, action: :succeed!, count: 13809 when transitioning states3810 calls unlock artifacts service3811 initial_state: :broken, action: :do_fail!, count: 03812 when transitioning states3813 calls unlock artifacts service3814 initial_state: :still_failing, action: :succeed, count: 13815 when transitioning states3816 calls unlock artifacts service3817 initial_state: :still_failing, action: :do_fail, count: 03818 when transitioning states3819 calls unlock artifacts service3820 pipeline is unlocked3821 does not call unlock artifacts service3822 .ensure_for3823 when pipeline is a branch pipeline3824 behaves like ensures ci_ref3825 when ci_ref already exists3826 returns an existing ci_ref3827 when ci_ref does not exist yet3828 creates a new ci_ref3829 when pipeline is a tag pipeline3830 behaves like ensures ci_ref3831 when ci_ref already exists3832 returns an existing ci_ref3833 when ci_ref does not exist yet3834 creates a new ci_ref3835 when pipeline is a detached merge request pipeline3836 behaves like ensures ci_ref3837 when ci_ref already exists3838 returns an existing ci_ref3839 when ci_ref does not exist yet3840 creates a new ci_ref3841 #last_finished_pipeline_id3842 when there are no finished pipelines3843 returns nil3844 when there are finished pipelines3845 returns the pipeline id3846 when the pipeline a dangling pipeline3847 returns nil3848 #update_status_by!3849 when pipeline status is success or failed3850 pipeline_status: :success, current_ref_status: :unknown, expected_ref_status: :success3851 transitions the status via state machine3852 pipeline_status: :success, current_ref_status: :success, expected_ref_status: :success3853 transitions the status via state machine3854 pipeline_status: :success, current_ref_status: :failed, expected_ref_status: :fixed3855 transitions the status via state machine3856 pipeline_status: :success, current_ref_status: :fixed, expected_ref_status: :success3857 transitions the status via state machine3858 pipeline_status: :success, current_ref_status: :broken, expected_ref_status: :fixed3859 transitions the status via state machine3860 pipeline_status: :success, current_ref_status: :still_failing, expected_ref_status: :fixed3861 transitions the status via state machine3862 pipeline_status: :failed, current_ref_status: :unknown, expected_ref_status: :failed3863 transitions the status via state machine3864 pipeline_status: :failed, current_ref_status: :success, expected_ref_status: :broken3865 transitions the status via state machine3866 pipeline_status: :failed, current_ref_status: :failed, expected_ref_status: :still_failing3867 transitions the status via state machine3868 pipeline_status: :failed, current_ref_status: :fixed, expected_ref_status: :broken3869 transitions the status via state machine3870 pipeline_status: :failed, current_ref_status: :broken, expected_ref_status: :still_failing3871 transitions the status via state machine3872 pipeline_status: :failed, current_ref_status: :still_failing, expected_ref_status: :still_failing3873 transitions the status via state machine3874 when pipeline status is success3875 updates the status3876 when pipeline status is canceled3877 is expected to eq :unknown3878 when pipeline status is skipped3879 behaves like no-op3880 does nothing and returns nil3881 when pipeline status is not complete3882 behaves like no-op3883 does nothing and returns nil3884 when pipeline is not the latest pipeline3885 behaves like no-op3886 does nothing and returns nil3887 when pipeline does not belong to the ci_ref3888 behaves like no-op3889 does nothing and returns nil3890Projects::UnlinkForkService3891 removes the link to the fork network3892 refreshes the forks count cache of the source project3893 with opened merge request on the source project3894 close all pending merge requests3895 does not close merge requests for the project being unlinked3896 when the original project was deleted3897 does not fail when the original project is deleted3898 when given project is a source of forks3899 removes its link to the fork network and updates direct network members3900 refreshes the forks count cache of the given project3901 with opened merge requests from fork back to root project3902 closes all pending merge requests3903 does not close merge requests that do not come from the project being unlinked3904 and is node with a parent3905 refreshes the forks count cache of the parent and the given project3906 removes its link to the fork network and updates direct network members3907 with opened merge requests from and to given project3908DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/cache.rb:330: warning: Passing the keyword argument as the last hash parameter is deprecated3909/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/cache.rb:710: warning: The called method `get_entry_value' is defined here3910 (called from fetch at /builds/gitlab-org/gitlab/lib/gitlab/repository_cache.rb:25)3911 close all pending merge requests3912 does not close merge requests which do not come from the project being unlinked3913 when given project is not part of a fork network3914 does not raise errors3915Ci::PipelinesFinder3916 #execute3917 when params is empty3918 returns all pipelines3919 when scope is running3920 returns matched pipelines3921 when scope is pending3922 returns matched pipelines3923 when scope is finished3924 returns matched pipelines3925 when scope is branches or tags3926 when scope is branches3927 returns matched pipelines3928 when scope is tags3929 returns matched pipelines3930 when project has child pipelines3931 filters out child pipelines and shows only the parents by default3932 when status is created3933 returns matched pipelines3934 when status is waiting_for_resource3935 returns matched pipelines3936 when status is preparing3937 returns matched pipelines3938 when status is pending3939 returns matched pipelines3940 when status is running3941 returns matched pipelines3942 when status is success3943 returns matched pipelines3944 when status is failed3945 returns matched pipelines3946 when status is canceled3947 returns matched pipelines3948 when status is skipped3949 returns matched pipelines3950 when status is manual3951 returns matched pipelines3952 when status is scheduled3953 returns matched pipelines3954 when ref is specified3955 when ref exists3956 returns matched pipelines3957 when ref does not exist3958 returns empty3959 when name is specified3960 when name exists3961 returns matched pipelines3962 when name does not exist3963 returns empty3964 when username is specified3965 when username exists3966 returns matched pipelines3967 when username does not exist3968 returns empty3969 when yaml_errors is specified3970 when yaml_errors is true3971 returns matched pipelines3972 when yaml_errors is false3973 returns matched pipelines3974 when yaml_errors is invalid3975 returns all pipelines3976 when updated_at filters are specified3977 returns deployments with matched updated_at3978 when iids filter is specified3979 returns matches pipelines3980 does not fitler out child pipelines3981 when sha is specified3982 when sha exists3983 returns matched pipelines3984 when sha does not exist3985 returns empty3986 when the project has limited access to pipelines3987 when the user has access3988 is expected to return pipelines3989 the user is not allowed to read pipelines3990 returns empty3991 ordering3992 order_by: "id", sort: "asc", ordered_pipelines: [:pipeline_1, :pipeline_2, :pipeline_3]3993 returns the pipelines ordered3994 order_by: "id", sort: "desc", ordered_pipelines: [:pipeline_3, :pipeline_2, :pipeline_1]3995 returns the pipelines ordered3996 order_by: "ref", sort: "asc", ordered_pipelines: [:pipeline_2, :pipeline_1, :pipeline_3]3997 returns the pipelines ordered3998 order_by: "ref", sort: "desc", ordered_pipelines: [:pipeline_3, :pipeline_1, :pipeline_2]3999 returns the pipelines ordered4000 order_by: "status", sort: "asc", ordered_pipelines: [:pipeline_2, :pipeline_1, :pipeline_3]4001 returns the pipelines ordered4002 order_by: "status", sort: "desc", ordered_pipelines: [:pipeline_3, :pipeline_1, :pipeline_2]4003 returns the pipelines ordered4004 order_by: "updated_at", sort: "asc", ordered_pipelines: [:pipeline_2, :pipeline_3, :pipeline_1]4005 returns the pipelines ordered4006 order_by: "updated_at", sort: "desc", ordered_pipelines: [:pipeline_1, :pipeline_3, :pipeline_2]4007 returns the pipelines ordered4008 order_by: "user_id", sort: "asc", ordered_pipelines: [:pipeline_1, :pipeline_2, :pipeline_3]4009 returns the pipelines ordered4010 order_by: "user_id", sort: "desc", ordered_pipelines: [:pipeline_3, :pipeline_2, :pipeline_1]4011 returns the pipelines ordered4012 order_by: "invalid", sort: "asc", ordered_pipelines: [:pipeline_1, :pipeline_2, :pipeline_3]4013 returns the pipelines ordered4014 order_by: "id", sort: "err", ordered_pipelines: [:pipeline_3, :pipeline_2, :pipeline_1]4015 returns the pipelines ordered4016Git::ProcessRefChangesService4017 branch changes4018 behaves like service for processing ref changes4019 calls Git::BranchPushService4020 changes exceed push_event_hooks_limit4021 calls Git::BranchPushService with execute_project_hooks set to false4022 changes exceed push_event_activities_limit per action4023 calls Git::BranchPushService with create_push_event set to false4024 creates events per action4025 pipeline creation4026 with valid .gitlab-ci.yml4027 when git_push_create_all_pipelines is disabled4028 creates pipeline for branches and tags4029 creates exactly 4 pipelines4030 when git_push_create_all_pipelines is enabled4031 creates all pipelines4032 with invalid .gitlab-ci.yml4033 does not create a pipeline4034 when there are merge requests associated with branches4035 schedules job for existing merge requests4036 tag changes4037 behaves like service for processing ref changes4038 calls Git::TagPushService4039 changes exceed push_event_hooks_limit4040 calls Git::TagPushService with execute_project_hooks set to false4041 changes exceed push_event_activities_limit per action4042 calls Git::TagPushService with create_push_event set to false4043 creates events per action4044 pipeline creation4045 with valid .gitlab-ci.yml4046 when git_push_create_all_pipelines is disabled4047 creates pipeline for branches and tags4048 creates exactly 4 pipelines4049 when git_push_create_all_pipelines is enabled4050 creates all pipelines4051 with invalid .gitlab-ci.yml4052 does not create a pipeline4053Mutations::MergeRequests::Update4054 is expected to require graphql authorizations :update_merge_request4055 #resolve4056 behaves like permission level for merge request mutation is correctly verified4057 when the user is not a project member4058 behaves like when the user does not have access to the resource4059 raises an error4060 even if assigned to the merge request4061 does not modify merge request4062 even if reviewer of the merge request4063 raises an error4064 even if author of the merge request4065 raises an error4066 when the user is a project member4067 with guest role4068 behaves like when the user does not have access to the resource4069 raises an error4070 even if assigned to the merge request4071 does not modify merge request4072 even if reviewer of the merge request4073 raises an error4074 even if author of the merge request4075 raises an error4076 with reporter role4077 behaves like when the user does not have access to the resource4078 raises an error4079 even if assigned to the merge request4080 does not modify merge request4081 even if reviewer of the merge request4082 raises an error4083 even if author of the merge request4084 raises an error4085 when the user can update the merge request4086 applies all attributes4087 the merge request is invalid4088 returns error information, and changes were not applied4089 our change is invalid4090 returns error information, and changes were not applied4091 when passing subset of attributes4092 only changes the mentioned attributes4093 when closing the MR4094 closes the MR4095 when re-opening the MR4096 closes the MR4097Ci::UpdateBuildStateService4098 when build does not have checksum4099 when state has changed4100 updates a state of a running build4101 returns 200 OK status4102 does not increment finalized trace metric4103 when it is a heartbeat request4104 updates a build timestamp4105 when request payload carries a trace4106 overwrites a trace4107 updates overwrite operation metric4108 when state is unknown4109 responds with 400 bad request4110 when build has a checksum4111 when build does not have associated trace chunks4112 updates a build status4113 updates the allow_failure flag4114 does not increment invalid trace metric4115 when build trace has been migrated4116 updates a build state4117 updates the allow_failure flag4118 responds with 200 OK status4119 does not set a backoff value4120 increments trace finalized operation metric4121 records migration duration in a histogram4122 when trace checksum is not valid4123 increments invalid trace metric4124 when trace checksum is valid4125 does not increment invalid or corrupted trace metric4126 when using deprecated parameters4127 does not increment invalid or corrupted trace metric4128 when trace checksum is invalid and the log is corrupted4129 increments invalid and corrupted trace metrics4130 when trace checksum is invalid but the log seems fine4131 does not increment corrupted trace metric4132 when failed to acquire a build trace lock4133 accepts a state update request4134 increment locked trace metric4135 when build trace has not been migrated yet4136 does not update a build state4137 responds with 202 accepted4138 sets a request backoff value4139 schedules live chunks for migration4140 creates a pending state record4141 increments trace accepted operation metric4142 does not increment invalid trace metric4143 when build pending state is outdated4144 responds with 200 OK4145 updates build state4146 increments discarded traces metric4147 does not increment finalized trace metric4148 when build pending state has changes4149 uses stored state and responds with 200 OK4150 increments conflict trace metric4151 when live traces are disabled4152 responds with 200 OK4153Projects::Serverless::FunctionsFinder4154 #knative_installed4155 when environment does not exist yet4156 when project level cluster is present and enabled4157 behaves like before first deployment4158 returns true if Knative is installed on cluster4159 returns false if Knative is not installed on cluster4160 when group level cluster is present and enabled4161 behaves like before first deployment4162 returns true if Knative is installed on cluster4163 returns false if Knative is not installed on cluster4164 when instance level cluster is present and enabled4165 behaves like before first deployment4166 returns true if Knative is installed on cluster4167 returns false if Knative is not installed on cluster4168 when project level cluster is present, but disabled4169 returns false even if Knative is installed on cluster4170 when reactive_caching is still fetching data4171 returns "checking"4172 when reactive_caching has finished4173 when knative is not installed4174 returns false4175 reactive_caching is finished and knative is installed4176 returns true4177 retrieve data from knative4178 does not have knative installed4179 is expected to be empty4180 has knative installed4181 there are no functions4182 there are functions4183 has a function4184 has metrics4185 has prometheus4186 is available4187 has query data4188Gitlab::ImportExport::MembersMapper4189 map members4190 when importable is Project4191 includes the exported user ID in the map4192 maps a member4193 defaults to importer member if it does not exist4194 has invited members with no user4195 removes old user_id from member_hash to avoid conflict with user key4196 authorizes the users to the project4197 maps an owner as a maintainer4198 logging4199 logs member addition4200 when exporter member is invalid4201 logs member addition failure4202 user is not an admin4203 does not map a member4204 defaults to importer member if it does not exist4205 chooses the one with an email4206 maps the member that has a matching email4207 importer same as group member4208 maps the project member4209 maps the project member if it already exists4210 importing group members4211 maps the importer4212 maps the group member4213 when importer mapping fails4214 includes importer specific error message4215 when importable is Group4216 includes the exported user ID in the map4217 maps a member4218 defaults to importer member if it does not exist4219 has invited members with no user4220 removes old user_id from member_hash to avoid conflict with user key4221 does not lower owner access level4222 logging4223 logs member addition4224 when exporter member is invalid4225 logs member addition failure4226 user is not an admin4227 does not map a member4228 defaults to importer member if it does not exist4229 chooses the one with an email4230 maps the member that has a matching email4231Clusters::Kubernetes::CreateOrUpdateServiceAccountService4232 .gitlab_creator4233 with ABAC cluster4234 behaves like creates service account and token4235 creates a kubernetes service account4236 creates a kubernetes secret4237 with RBAC cluster4238 creates a cluster role binding with cluster-admin access4239 behaves like creates service account and token4240 creates a kubernetes service account4241 creates a kubernetes secret4242 .namespace_creator4243 with ABAC cluster4244 behaves like creates service account and token4245 creates a kubernetes service account4246 creates a kubernetes secret4247 With RBAC enabled cluster4248 creates a namespace object4249 creates a namespaced role binding with admin access4250 creates a role binding granting crossplane database permissions to the service account4251 creates a role and role binding granting knative serving permissions to the service account4252 creates a role and role binding granting crossplane database permissions to the service account4253 creates a role granting cilium permissions to the service account4254 creates a role binding granting cilium permissions to the service account4255 behaves like creates service account and token4256 creates a kubernetes service account4257 creates a kubernetes secret4258Gitlab::Database::MigrationHelpers4259 #remove_timestamps4260 can remove the default timestamps4261 can remove custom timestamps4262 #add_timestamps_with_timezone4263 adds "created_at" and "updated_at" fields with the "datetime_with_timezone" data type4264 can disable the NOT NULL constraint4265 can add just one column4266 can add choice of acceptable columns4267 cannot add unacceptable column names4268 in a transaction4269 cannot add a default value4270 can add columns without defaults4271 #create_table_with_constraints4272 when no check constraints are defined4273 creates the table as expected4274 when check constraints are defined4275 runs the change within a with_lock_retries4276 when the text_limit is explicity named4277 creates the table as expected4278 when the text_limit is not named4279 creates the table as expected, naming the text limit4280 when constraints are given invalid names4281 when the explicit text limit name is not valid4282 raises an error4283 when a check constraint name is not valid4284 raises an error4285 #add_concurrent_index4286 outside a transaction4287 creates the index concurrently4288 creates unique index concurrently4289 does nothing if the index exists already4290 inside a transaction4291 raises RuntimeError4292 #remove_concurrent_index4293 outside a transaction4294 by column name4295 removes the index concurrently4296 does nothing if the index does not exist4297 by index name4298 removes the index concurrently by index name4299 does nothing if the index does not exist4300 removes the index with keyword arguments4301 raises an error if the index is blank4302 inside a transaction4303 raises RuntimeError4304 #add_concurrent_foreign_key4305 inside a transaction4306 raises an error4307 outside a transaction4308 ON DELETE statements4309 on_delete: :nullify4310 appends ON DELETE SET NULL statement4311 on_delete: :cascade4312 appends ON DELETE CASCADE statement4313 on_delete: nil4314 appends no ON DELETE statement4315 when no custom key name is supplied4316 creates a concurrent foreign key and validates it4317 does not create a foreign key if it exists already4318 when a custom key name is supplied4319 for creating a new foreign key for a column that does not presently exist4320 creates a new foreign key4321 for creating a duplicate foreign key for a column that presently exists4322 when the supplied key name is the same as the existing foreign key name4323 does not create a new foreign key4324 when the supplied key name is different from the existing foreign key name4325 creates a new foreign key4326 validate option4327 when validate is supplied with a falsey value4328 behaves like skips validation4329 skips validation4330 behaves like skips validation4331 skips validation4332 when validate is supplied with a truthy value4333 behaves like performs validation4334 performs validation4335 behaves like performs validation4336 performs validation4337 when validate is not supplied4338 behaves like performs validation4339 performs validation4340 #validate_foreign_key4341 when name is provided4342 does not infer the foreign key constraint name4343 when name is not provided4344 infers the foreign key constraint name4345 when the inferred foreign key constraint does not exist4346 raises an error4347 #concurrent_foreign_key_name4348 returns the name for a foreign key4349 #foreign_key_exists?4350 compares by target table if no column given4351 without specifying a target table4352 behaves like foreign key checks4353 finds existing foreign keys by column4354 finds existing foreign keys by name4355 finds existing foreign_keys by name and column4356 finds existing foreign_keys by name, column and on_delete4357 finds existing foreign keys by target table only4358 compares by column name if given4359 compares by foreign key name if given4360 compares by foreign key name and column if given4361 compares by foreign key name, column and on_delete if given4362 specifying a target table4363 behaves like foreign key checks4364 finds existing foreign keys by column4365 finds existing foreign keys by name4366 finds existing foreign_keys by name and column4367 finds existing foreign_keys by name, column and on_delete4368 finds existing foreign keys by target table only4369 compares by column name if given4370 compares by foreign key name if given4371 compares by foreign key name and column if given4372 compares by foreign key name, column and on_delete if given4373 #disable_statement_timeout4374 disables statement timeouts to current transaction only4375 with real environment4376 defines statement to 0 only for current transaction4377 when passing a blocks4378 disables statement timeouts on session level and executes the block4379 with real environment4380 defines statement to 0 for any code run inside the block4381 when the statement_timeout is already disabled4382 yields control without disabling the timeout or resetting4383 #true_value4384 returns the appropriate value4385 #false_value4386 returns the appropriate value4387 #update_column_in_batches4388 when running outside of a transaction4389 updates all the rows in a table4390 updates boolean values correctly4391 when a block is supplied4392 yields an Arel table and query object to the supplied block4393 when the value is Arel.sql (Arel::Nodes::SqlLiteral)4394 updates the value as a SQL expression4395 when running inside the transaction4396 raises RuntimeError4397 #add_column_with_default4398 delegates to #add_column4399 #rename_column_concurrently4400 in a transaction4401 raises RuntimeError4402 outside a transaction4403 when the column to rename exists4404 renames a column concurrently4405 passes the batch_column_name4406NOTICE: trigger "trigger_97f81ba7f793" for relation "users" does not exist, skipping4407 passes the type_cast_function4408 raises an error with invalid batch_column_name4409 with existing records and type casting4410 copies the value to the new column using the type_cast_function4411 when default is false4412NOTICE: trigger "trigger_97f81ba7f793" for relation "users" does not exist, skipping4413 copies the default to the new column4414 when the column to be renamed does not exist4415 raises an error with appropriate message4416 #undo_rename_column_concurrently4417 reverses the operations of rename_column_concurrently4418 #cleanup_concurrent_column_rename4419 cleans up the renaming procedure4420 #undo_cleanup_concurrent_column_rename4421 in a transaction4422 raises RuntimeError4423 outside a transaction4424 reverses the operations of cleanup_concurrent_column_rename4425 passes the batch_column_name4426 raises an error with invalid batch_column_name4427 when default is false4428NOTICE: trigger "trigger_97f81ba7f793" for relation "users" does not exist, skipping4429 copies the default to the old column4430 #change_column_type_concurrently4431 changes the column type4432 passed the batch column name4433 with type cast4434 changes the column type with casting the value to the new type4435 #undo_change_column_type_concurrently4436 reverses the operations of change_column_type_concurrently4437 #cleanup_concurrent_column_type_change4438 cleans up the type changing procedure4439 #undo_cleanup_concurrent_column_type_change4440 in a transaction4441 raises RuntimeError4442 outside a transaction4443 reverses the operations of cleanup_concurrent_column_type_change4444 passes the type_cast_function, batch_column_name and limit4445 raises an error with invalid batch_column_name4446 #install_rename_triggers_for_postgresql4447 installs the triggers for PostgreSQL4448NOTICE: trigger "foo" for relation "users" does not exist, skipping4449 does not fail if trigger already exists4450 #remove_rename_triggers_for_postgresql4451 removes the function and trigger4452 #rename_trigger_name4453 returns a String4454 #indexes_for4455 returns the indexes for a column4456 #foreign_keys_for4457 returns the foreign keys for a column4458 #copy_indexes4459 using a regular index using a single column4460 copies the index4461 using a regular index with multiple columns4462 copies the index4463 using an index with a WHERE clause4464 copies the index4465 using an index with a USING clause4466 copies the index4467 using an index with custom operator classes4468 copies the index4469 using an index with multiple columns and custom operator classes4470 copies the index4471 using an index with multiple columns and a custom operator class on the non affected column4472 copies the index4473 using an index of which the name does not contain the source column4474 raises RuntimeError4475 #copy_foreign_keys4476 copies foreign keys from one column to another4477 #column_for4478 returns a column object for an existing column4479 raises an error when a column does not exist4480 #replace_sql4481 builds the sql with correct functions4482 results4483 replaces the correct part of the string4484 sidekiq migration helpers4485 #sidekiq_queue_length4486 when queue is empty4487 returns zero4488 when queue contains jobs4489 returns correct size of the queue4490 #migrate_sidekiq_queue4491 migrates jobs from one sidekiq queue to another4492 #check_trigger_permissions!4493 does nothing when the user has the correct permissions4494 raises RuntimeError when the user does not have the correct permissions4495 #change_column_type_using_background_migration4496 changes the type of a column using a background migration4497 #rename_column_using_background_migration4498 renames a column using a background migration4499 #initialize_conversion_of_integer_to_bigint4500 in a transaction4501 raises RuntimeError4502 outside a transaction4503 creates a bigint column and starts backfilling it4504 #index_exists_by_name?4505 returns true if an index exists4506 returns false if the index does not exist4507 when an index with a function exists4508 returns true if an index exists4509 when an index exists for a table with the same name in another schema4510 returns false if the index does not exist in the current schema4511 #create_or_update_plan_limit4512 properly escapes names4513 when plan does not exist4514 does not create any plan limits4515 when plan does exist4516 when limit does not exist4517 inserts a new plan limits4518 when limit does exist4519 updates an existing plan limits4520 #with_lock_retries4521 sets the migration class name in the logs4522 #backfill_iids4523 generates iids properly for models created after the migration4524 generates iids properly for models created after the migration when iids are backfilled4525 generates iids properly for models created after the migration across multiple projects4526 when the first model is created for a project after the migration4527 generates an iid4528 when a row already has an iid set in the database4529 backfills iids4530 backfills for multiple projects4531 #check_constraint_name4532 returns a valid constraint name4533 #check_constraint_exists?4534 returns true if a constraint exists4535 returns false if a constraint does not exist4536 returns false if a constraint with the same name exists in another table4537 returns false if a constraint with the same name exists for the same table in another schema4538 #add_check_constraint4539 constraint name validation4540 raises an error when too long4541 does not raise error when the length is acceptable4542 inside a transaction4543 raises an error4544 outside a transaction4545 when the constraint is already defined in the database4546 does not create a constraint4547 when the constraint is not defined in the database4548 creates the constraint4549 when validate is not provided4550 performs validation4551 when validate is provided with a falsey value4552 skips validation4553 when validate is provided with a truthy value4554 performs validation4555 #validate_check_constraint4556 when the constraint does not exist4557 raises an error4558 when the constraint exists4559 performs validation4560 #remove_check_constraint4561 removes the constraint4562 #copy_check_constraints4563 inside a transaction4564 raises an error4565 outside a transaction4566 copies check constraints from one column to another4567 does nothing if there are no constraints defined for the old column4568 raises an error when the orginating column does not exist4569 raises an error when the target column does not exist4570 #add_text_limit4571 when it is called with the default options4572 calls add_check_constraint with an infered constraint name and validate: true4573 when all parameters are provided4574 calls add_check_constraint with the correct parameters4575 #validate_text_limit4576 when constraint_name is not provided4577 calls validate_check_constraint with an infered constraint name4578 when constraint_name is provided4579 calls validate_check_constraint with the correct parameters4580 #remove_text_limit4581 when constraint_name is not provided4582 calls remove_check_constraint with an infered constraint name4583 when constraint_name is provided4584 calls remove_check_constraint with the correct parameters4585 #check_text_limit_exists?4586 when constraint_name is not provided4587 calls check_constraint_exists? with an infered constraint name4588 when constraint_name is provided4589 calls check_constraint_exists? with the correct parameters4590 #add_not_null_constraint4591 when it is called with the default options4592 calls add_check_constraint with an infered constraint name and validate: true4593 when all parameters are provided4594 calls add_check_constraint with the correct parameters4595 when the column is defined as NOT NULL4596 does not add a check constraint4597 #validate_not_null_constraint4598 when constraint_name is not provided4599 calls validate_check_constraint with an infered constraint name4600 when constraint_name is provided4601 calls validate_check_constraint with the correct parameters4602 #remove_not_null_constraint4603 when constraint_name is not provided4604 calls remove_check_constraint with an infered constraint name4605 when constraint_name is provided4606 calls remove_check_constraint with the correct parameters4607 #check_not_null_constraint_exists?4608 when constraint_name is not provided4609 calls check_constraint_exists? with an infered constraint name4610 when constraint_name is provided4611 calls check_constraint_exists? with the correct parameters4612 #create_extension4613 executes CREATE EXTENSION statement4614 without proper permissions4615GitLab requires the PostgreSQL extension 'btree_gist' installed in database 'gitlabhq_test', but4616the database user is not allowed to install the extension.4617You can either install the extension manually using a database superuser:4618 CREATE EXTENSION IF NOT EXISTS btree_gist4619Or, you can solve this by logging in to the GitLab4620database (gitlabhq_test) using a superuser and running:4621 ALTER postgres WITH SUPERUSER4622This query will grant the user superuser permissions, ensuring any database extensions4623can be installed through migrations.4624For more information, refer to https://docs.gitlab.com/ee/install/postgresql_extensions.html.4625 raises the exception4626 prints an error message4627 #drop_extension4628 executes CREATE EXTENSION statement4629 without proper permissions4630This migration attempts to drop the PostgreSQL extension 'btree_gist'4631installed in database 'gitlabhq_test', but the database user is not allowed4632to drop the extension.4633You can either drop the extension manually using a database superuser:4634 DROP EXTENSION IF EXISTS btree_gist4635Or, you can solve this by logging in to the GitLab4636database (gitlabhq_test) using a superuser and running:4637 ALTER postgres WITH SUPERUSER4638This query will grant the user superuser permissions, ensuring any database extensions4639can be dropped through migrations.4640For more information, refer to https://docs.gitlab.com/ee/install/postgresql_extensions.html.4641 raises the exception4642 prints an error message4643GroupMembersFinder#execute4644 returns members for top-level group4645 returns members & inherited members for nested group by default4646 does not return inherited members for nested group if requested4647 returns only inherited members for nested group if requested4648 does not return nil if `inherited only` relation is requested on root group4649 returns members for descendant groups if requested4650 returns searched members if requested4651 returns nothing if search only in inherited relation4652 returns searched member only from nested_group if search only in inherited relation4653 returns members with two-factor auth if requested by owner4654 returns members without two-factor auth if requested by owner4655 returns direct members with two-factor auth if requested by owner4656 returns inherited members with two-factor auth if requested by owner4657 returns direct members without two-factor auth if requested by owner4658 returns inherited members without two-factor auth if requested by owner4659Submodules::UpdateService4660 #execute4661 when the user is not authorized4662 behaves like returns error result4663 is expected to eq "You are not allowed to push into this branch"4664 when the user is authorized4665 updates the submodule reference4666 when the branch is protected4667 behaves like returns error result4668 is expected to eq "You are not allowed to push into this branch"4669 validations4670 when submodule4671 is empty4672 behaves like returns error result4673 is expected to eq "Invalid parameters"4674 is not present4675 behaves like returns error result4676 is expected to eq "Invalid parameters"4677 is invalid4678 behaves like returns error result4679 is expected to eq "Invalid submodule path"4680 does not exist4681 behaves like returns error result4682 is expected to eq "Invalid submodule path"4683 has traversal path4684 behaves like returns error result4685 is expected to eq "Invalid parameters"4686 commit_sha4687 is empty4688 behaves like returns error result4689 is expected to eq "Invalid parameters"4690 is not present4691 behaves like returns error result4692 is expected to eq "Invalid parameters"4693 is invalid4694 behaves like returns error result4695 is expected to eq "Invalid parameters"4696 is the same as the current ref4697 behaves like returns error result4698 is expected to eq "The submodule six is already at 409f37c4f05865e4fb208c771485f211a22c4c2d"4699 branch_name4700 is empty4701 behaves like returns error result4702 is expected to eq "You can only create or edit files when you are on a branch"4703 is not present4704 behaves like returns error result4705 is expected to eq "Invalid parameters"4706 does not exist4707 behaves like returns error result4708 is expected to eq "You can only create or edit files when you are on a branch"4709 when commit message is empty4710 a default commit message is set4711 when there is an unexpected error4712 behaves like returns error result4713 is expected to eq "error message"4714 when submodule is inside a directory4715 updates the submodule reference4716 when repository is empty4717 behaves like returns error result4718 is expected to eq "The repository is empty"4719Boards::Lists::UpdateService4720 #execute4721 when position parameter is present4722 for projects4723 behaves like moving list4724 when user can admin list4725 calls Lists::MoveService to update list position4726 when user cannot admin list4727 does not call Lists::MoveService to update list position4728 for groups4729 behaves like moving list4730 when user can admin list4731 calls Lists::MoveService to update list position4732 when user cannot admin list4733 does not call Lists::MoveService to update list position4734 when collapsed parameter is present4735 for projects4736 behaves like updating list preferences4737 when user can read list4738 updates list preference for user4739 when user cannot read list4740 does not update list preference for user4741 for groups4742 behaves like updating list preferences4743 when user can read list4744 updates list preference for user4745 when user cannot read list4746 does not update list preference for user4747 when position and collapsed are both present4748 for projects4749 behaves like moving list4750 when user can admin list4751 calls Lists::MoveService to update list position4752 when user cannot admin list4753 does not call Lists::MoveService to update list position4754 behaves like updating list preferences4755 when user can read list4756 updates list preference for user4757 when user cannot read list4758 does not update list preference for user4759 for groups4760 behaves like moving list4761 when user can admin list4762 calls Lists::MoveService to update list position4763 when user cannot admin list4764 does not call Lists::MoveService to update list position4765 behaves like updating list preferences4766 when user can read list4767 updates list preference for user4768 when user cannot read list4769 does not update list preference for user4770Gitlab::ClosingIssueExtractor4771 #closed_by_message4772 with a single reference4773 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4774 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4775 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4776 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4777 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4778 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4779 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4780 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4781 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4782 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4783 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4784 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4785 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4786 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4787 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4788 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4789 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4790 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4791 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4792 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4793 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4794 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4795 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4796 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4797 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4798 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4799 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4800 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4801 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4802 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4803 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4804 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4805 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4806 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4807 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4808 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4809 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4810 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4811 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4812 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4813 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4814 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4815 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4816 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4817 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4818 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4819 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4820 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4821 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4822 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4823 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4824 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4825 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4826 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4827 is expected to eq [#<Issue id:92 namespace909/project1731#1>]4828 with an external issue tracker reference4829 extracts the referenced issue4830 with a cross-project reference4831 is expected to eq [#<Issue id:93 namespace910/project1732#1>]4832 with a cross-project URL4833 is expected to eq [#<Issue id:93 namespace910/project1732#1>]4834 with a cross-project fork reference4835 is expected to be empty4836 with an invalid URL4837 is expected to eq []4838 with an invalid keyword such as suffix insted of fix4839 is expected to eq []4840 with multiple references4841 fetches issues in single line message4842 fetches comma-separated issues references in single line message4843 fetches comma-separated issues numbers in single line message4844 allows oxford commas (comma before and) when referencing multiple issues4845 allows spaces before commas when referencing multiple issues4846 allows non-comma-separated issue numbers in single line message4847 allows mixed comma-separated and non-comma-separated issue numbers in single line message4848 fetches issues in multi-line message4849 fetches issues in hybrid message4850 fetches cross-project references4851 fetches cross-project URL references4852 ignores invalid cross-project URL references4853 with autoclose referenced issues disabled4854 is expected to eq []4855PushEventPayloadService4856 #execute4857 creates a new PushEventPayload row4858 sets the push_event_payload association of the used event4859 #commit_title4860 returns nil if no commits were pushed4861 returns a String limited to 70 characters4862 does not truncate the commit message if it is shorter than 70 characters4863 includes the first line of a commit message if the message spans multiple lines4864 #commit_from_id4865 returns nil when creating a new ref4866 returns the ID of the first commit when pushing to an existing ref4867 #commit_to_id4868 returns nil when removing an existing ref4869 #commit_count4870 returns the number of commits4871 raises when the push data does not contain the commits count4872 #ref4873 returns the name of the ref4874 raises when the push data does not contain the ref name4875 #revision_before4876 returns the revision from before the push4877 raises when the push data does not contain the before revision4878 #revision_after4879 returns the revision from after the push4880 raises when the push data does not contain the after revision4881 #trimmed_ref4882 returns the ref name without its prefix4883 #create?4884 returns true when creating a new ref4885 returns false when pushing to an existing ref4886 #remove?4887 returns true when removing an existing ref4888 returns false pushing to an existing ref4889 #action4890 returns :created when creating a ref4891 returns :removed when removing an existing ref4892 returns :pushed when pushing to an existing ref4893 #ref_type4894 returns :tag for a tag4895 returns :branch for a branch4896Ci::BuildPresenter4897 inherits from Gitlab::View::Presenter::Delegated4898 #initialize4899 takes a build and optional params4900 exposes build4901 forwards missing methods to build4902 #erased_by_user?4903 takes a build and optional params4904 #erased_by_name4905 when build is not erased4906 returns nil4907 when build is erased4908 returns the name of the eraser4909 #status_title4910 when build is auto-canceled4911 shows that the build is auto-canceled4912 when build failed4913 returns the reason of failure4914 when build has failed && retried4915 does not include retried title4916 when build has failed and is allowed to4917 returns the reason of failure4918 For any other build4919 returns the status4920 quack like a Ci::Build permission-wise4921 user is not allowed4922 returns false4923 user is allowed4924 returns true4925 #trigger_variables4926 when variable is stored in ci_pipeline_variables4927 when pipeline is triggered by trigger API4928 returns variables4929 when pipeline is not triggered by trigger API4930 does not return variables4931 when variable is stored in ci_trigger_requests.variables4932 returns variables4933 #tooltip_message4934 When build has failed4935 returns the reason of failure4936 When build has failed and retried4937 includes the reason of failure and the retried title4938 When build has failed and is allowed to4939 includes the reason of failure4940 For any other build (no retried)4941 includes build name and status4942 For any other build (retried)4943 includes build name and status4944 #execute_in4945 when build is scheduled4946 when schedule is not expired4947 returns execution time4948 when schedule is expired4949 returns execution time4950 when build is not delayed4951 does not return execution time4952 #callout_failure_message4953 returns a verbose failure reason4954Serverless::Domain4955 .new4956 with valid arguments4957 behaves like a valid Domain4958 #uri4959 matches valid URI4960 #function_name4961 returns function_name4962 #serverless_domain_cluster4963 returns serverless_domain_cluster4964 #environment4965 returns environment4966 with invalid arguments4967 is expected not to be valid4968 with nil cluster argument4969 is expected not to be valid4970 .generate_uuid4971 has 14 characters4972 consists of only hexadecimal characters4973 uses random characters4974Gitlab::Gpg4975 .fingerprints_from_key4976 returns CurrentKeyChain.fingerprints_from_key4977 .primary_keyids_from_key4978 returns the keyid4979 returns an empty array when the key is invalid4980 .subkeys_from_key4981 returns the subkeys by primary key4982 returns an empty array when there are not subkeys4983 .user_infos_from_key4984 returns the names and emails4985 returns an empty array when the key is invalid4986 downcases the email4987 rejects non UTF-8 names and addresses4988 .current_home_dir4989 returns the default value when no explicit home dir has been set4990 returns the explicitly set home dir4991 returns the default value when explicitly setting the home dir to nil4992 .using_tmp_keychain4993 the second thread does not change the first thread's directory4994 allows recursive execution in the same thread4995 keeps track of created and removed keychains in counters4996 cleans up the tmp directory after finishing4997 does not fail if the homedir was deleted while running4998 tracks an exception when cleaning up the tmp dir fails4999 behaves like multiple deletion attempts of the tmp-dir5000 tries for 1 or 15 times5001 tries at least 2 times to remove the tmp dir before raising5002 does not attempt multiple times when the deletion succeeds5003 when running in Sidekiq5004 behaves like multiple deletion attempts of the tmp-dir5005 tries for 10 or 15 times5006 tries at least 2 times to remove the tmp dir before raising5007 does not attempt multiple times when the deletion succeeds5008Gitlab::Gpg::CurrentKeyChain5009 .add5010 stores the key in the keychain5011 .fingerprints_from_key5012 returns the fingerprint5013 returns an empty array when the key is invalid5014Gitlab::Cluster::Mixins::PumaCluster5015 when running Puma in Cluster-mode5016 signal: :USR1, exitstatus: 140, termsig: nil5017 properly handles process lifecycle5018 signal: :USR2, exitstatus: 140, termsig: nil5019 properly handles process lifecycle5020 signal: :INT, exitstatus: 140, termsig: nil5021 properly handles process lifecycle5022 signal: :HUP, exitstatus: 140, termsig: nil5023 properly handles process lifecycle5024 signal: :TERM, exitstatus: nil, termsig: 155025 properly handles process lifecycle5026Projects::OpenIssuesCountService5027 behaves like a counter caching service5028 #count5029 caches the count5030 #refresh_cache5031 refreshes the cache5032 #delete_cache5033 removes the cache5034 #uncached_count5035 does not cache the count5036 #count5037 when user is nil5038 does not include confidential issues in the issue count5039 when user is provided5040 when user can read confidential issues5041 returns the right count with confidential issues5042 uses total_open_issues_count cache key5043 when user cannot read confidential issues5044 does not include confidential issues5045 uses public_open_issues_count cache key5046 #refresh_cache5047 when cache is empty5048 refreshes cache keys correctly5049 when cache is outdated5050 refreshes cache keys correctly5051Clusters::CreateService5052 when provider is gcp5053 when project has no clusters5054 when correct params5055 creates a cluster object and performs a worker5056 when invalid params5057 returns an error5058 when project has a cluster5059 creates another cluster5060 when another cluster exists5061 when correct params5062 creates a cluster object and performs a worker5063 when invalid params5064 returns an error5065 when params includes :management_project_id5066 management_project is non-existent5067 does not persist the cluster and adds errors5068 project cluster5069 when user is authorized to adminster manangement_project5070 persists the cluster5071 when user is not authorized to adminster manangement_project5072 does not persist the cluster and adds errors5073 when manangement_project is outside of the namespace scope5074 does not persist the cluster5075 group cluster5076 when user is authorized to adminster manangement_project5077 persists the cluster5078 when user is not authorized to adminster manangement_project5079 does not persist the cluster and adds errors5080 when manangement_project is outside of the namespace scope5081 does not persist the cluster5082 instance cluster5083 when user is authorized to adminster manangement_project5084 persists the cluster5085 when user is not authorized to adminster manangement_project5086 does not persist the cluster and adds errors5087Gitlab::Database::RenameReservedPathsMigration::V1::RenameBase5088 #remove_last_occurrence5089 removes only the last occurrence of a string5090 #remove_cached_html_for_projects5091 removes description_html from projects5092 removes issue descriptions5093 removes merge request descriptions5094 removes note html5095 removes milestone description5096 #rename_path_for_routable5097 for personal namespaces5098 renames namespaces called the-path5099 renames the route to the namespace5100 renames the route for projects of the namespace5101 returns the old & the new path5102 doesn't rename routes that start with a similar name5103 for groups5104 the-path group -> subgroup -> the-path0 project5105 updates the route of the project correctly5106 for projects5107 renames the project called `the-path`5108 renames the route for the project5109 returns the old & new path5110 #perform_rename5111 for personal namespaces5112 renames the path5113 for groups5114 renames all the routes for the group5115 #move_pages5116 moves the pages directory5117 #move_uploads5118 moves subdirectories in the uploads folder5119 doesn't move uploads when they are stored in object storage5120 #move_folders5121 moves a folder with files5122 #track_rename5123 tracks a rename in redis5124 #reverts_for_type5125 yields for each tracked rename5126 keeps the revert in redis if it failed5127projects/empty5128 when user can push code on the project5129 displays "git clone" instructions5130 when user can not push code on the project5131 does not display "git clone" instructions5132 invite_members_empty_project_version_a experiment5133 when experiment is enabled5134 shows invite members info5135 when user does not have permissions to invite members5136 behaves like no invite member info5137 does not show invite member info5138 when experiment is not enabled5139 behaves like no invite member info5140 does not show invite member info5141 when rendering with the layout5142 invite team members5143 when invite team members is not available in sidebar5144 does not display the js-invite-members-trigger5145 when invite team members is available5146 includes the div for js-invite-members-trigger5147Branches::DeleteMergedService5148 #execute5149 deletes a branch that was merged5150 keeps branch that is unmerged5151 keeps "master"5152 keeps protected branches5153 keeps wildcard protected branches5154 ignores protected tags5155 user without rights5156 cannot execute5157 open merge requests5158 does not delete branches from open merge requests5159 #async_execute5160 calls DeleteMergedBranchesWorker async5161notify/pipeline_success_email.html.haml5162 behaves like pipeline status changes email5163 when the pipeline contains a failed job5164 behaves like renders the pipeline status changes email correctly5165 pipeline with user5166 renders the email correctly5167 behaves like correct pipeline information for pipelines for merge requests5168 when pipeline for merge request5169 renders a source ref of the pipeline5170 pipeline without user5171 renders the email correctly5172 when the latest failed job is a bridge job5173 behaves like renders the pipeline status changes email correctly5174 pipeline with user5175 renders the email correctly5176 behaves like correct pipeline information for pipelines for merge requests5177 when pipeline for merge request5178 renders a source ref of the pipeline5179 pipeline without user5180 renders the email correctly5181Metrics::Dashboard::DynamicEmbedService5182 .valid_params?5183 is expected to be truthy5184 missing embedded5185 is expected to be falsey5186 not embedded5187 is expected to be falsey5188 undefined dashboard5189 is expected to be truthy5190 missing dashboard5191 is expected to be truthy5192 missing group5193 is expected to be falsey5194 missing title5195 is expected to be falsey5196 undefined y-axis label5197 is expected to be falsey5198 #get_dashboard5199 when the dashboard does not exist5200 behaves like misconfigured dashboard service response5201 returns an appropriate message and status code5202 when the dashboard is exists5203 caches the unprocessed dashboard for subsequent calls5204 behaves like valid embedded dashboard service response5205 behaves like valid dashboard service response for schema5206 returns a json representation of the dashboard5207 behaves like raises error for users with insufficient permissions5208 when the user does not have sufficient access5209 behaves like misconfigured dashboard service response5210 returns an appropriate message and status code5211 when the user is anonymous5212 behaves like misconfigured dashboard service response5213 returns an appropriate message and status code5214 when the specified group is not present on the dashboard5215 behaves like misconfigured dashboard service response5216 returns an appropriate message and status code5217 when the specified title is not present on the dashboard5218 behaves like misconfigured dashboard service response5219 returns an appropriate message and status code5220 when the specified y-axis label is not present on the dashboard5221 behaves like misconfigured dashboard service response5222 returns an appropriate message and status code5223 when the dashboard is nil5224 behaves like uses system dashboard5225 uses the overview dashboard5226 when the dashboard is not present5227 behaves like uses system dashboard5228 uses the overview dashboard5229GenericCommitStatus5230 validations5231 is expected to validate that the length of :target_url is at most 2555232 is expected to allow :target_url to be ‹nil›5233 is expected to allow :target_url to be ‹"http://gitlab.com/s"›5234 is expected not to allow :target_url to be ‹"javascript:alert(1)"›5235 #name_uniqueness_across_types5236 without attributes5237 behaves like it does not have uniqueness errors5238 does not return errors5239 with only a pipeline5240 without name5241 behaves like it does not have uniqueness errors5242 does not return errors5243 with only a name5244 without pipeline5245 behaves like it does not have uniqueness errors5246 does not return errors5247 with pipeline and name5248 without other statuses5249 behaves like it does not have uniqueness errors5250 does not return errors5251 with generic statuses5252 behaves like it does not have uniqueness errors5253 does not return errors5254 with ci_build statuses5255 returns name error5256 #context5257 is expected to eq "my_context"5258 #tags5259 is expected to eq [:external]5260 #detailed_status5261 returns detailed status object5262 when user has ability to see datails5263 details path points to an external URL5264 when user should not see details5265 does not have details5266 set_default_values5267 #context5268 is expected not to be nil5269 #stage5270 is expected not to be nil5271 #stage_idx5272 is expected not to be nil5273 #present5274 is expected to be a kind of GenericCommitStatusPresenter5275Ci::TriggerEntity5276 #as_json5277 contains required fields5278 contains user fields5279 when current user can manage triggers5280 returns short_token as token5281 contains project_trigger_path5282 does not contain edit_project_trigger_path5283 returns has_token_exposed5284 when current user is the owner of the trigger5285 returns token as token5286 contains project_trigger_path5287 contains edit_project_trigger_path5288 returns has_token_exposed5289MergeRequests::RequestReviewService5290 #execute5291 invalid permissions5292 returns an error5293 reviewer does not exist5294 returns an error5295 reviewer exists5296 returns success5297 updates reviewers state5298 sends email to reviewer5299 creates a new todo for the reviewer5300Packages::Nuget::ExtractionWorker5301 #perform5302 with valid package file5303 updates package and package file5304 with exisiting package5305 reuses existing package and updates package file5306 with invalid package file id5307 doesn't update package and package file5308 with package file not containing a nuspec file5309 behaves like handling the metadata error5310 removes the package and the package file5311 with package with an invalid package name5312 behaves like handling the metadata error5313 removes the package and the package file5314 behaves like handling the metadata error5315 removes the package and the package file5316 behaves like handling the metadata error5317 removes the package and the package file5318 behaves like handling the metadata error5319 removes the package and the package file5320 with package with an invalid package version5321 behaves like handling the metadata error5322 removes the package and the package file5323 behaves like handling the metadata error5324 removes the package and the package file5325 behaves like handling the metadata error5326 removes the package and the package file5327 behaves like handling the metadata error5328 removes the package and the package file5329 behaves like handling the metadata error5330 removes the package and the package file5331 behaves like handling the metadata error5332 removes the package and the package file5333DiscussionEntity5334 exposes correct attributes5335 does not include base discussion in the notes5336 resolved_by matches note_user_entity schema5337 when is LegacyDiffDiscussion5338 exposes correct attributes5339 when diff file is present5340 exposes diff file attributes5341TestSuiteEntity5342 when details option is not present5343 does not expose suite error and test cases5344 when details option is present5345 contains the suite name5346 contains the total time5347 contains the counts5348 contains the test cases5349 contains an empty error message5350 with a suite error5351 contains the suite name5352 contains the total time5353 returns all the counts as 05354 returns no test cases5355 returns a suite error5356Gitlab::Database::Migrations::BackgroundMigrationHelpers5357 #bulk_queue_background_migration_jobs_by_range5358 when the model has an ID column5359 with enough rows to bulk queue jobs more than once5360 queues jobs correctly5361 queues jobs in groups of buffer size 15362 with not enough rows to bulk queue jobs more than once5363 queues jobs correctly5364 queues jobs in bulk all at once (big buffer size)5365 without specifying batch_size5366 queues jobs correctly5367 when the model doesn't have an ID column5368 raises error (for now)5369 #queue_background_migration_jobs_by_range_at_intervals5370 when the model has an ID column5371 returns the final expected delay5372 returns zero when nothing gets queued5373 with batch_size option5374 queues jobs correctly5375 without batch_size option5376 queues jobs correctly5377 with other_job_arguments option5378 queues jobs correctly5379 with initial_delay option5380 queues jobs correctly5381 with track_jobs option5382 creates a record for each job in the database5383 without track_jobs option5384 does not create records in the database5385 when the model specifies a primary_column_name5386 returns the final expected delay5387 when the primary_column_name is not an integer5388 raises error5389 when the primary_column_name does not exist5390 raises error5391 when the model doesn't have an ID or primary_column_name column5392 raises error (for now)5393 #perform_background_migration_inline?5394 returns true in a test environment5395 returns true in a development environment5396 returns false in a production environment5397 #migrate_async5398 calls BackgroundMigrationWorker.perform_async5399 pushes a context with the current class name as caller_id5400 #migrate_in5401 calls BackgroundMigrationWorker.perform_in5402 pushes a context with the current class name as caller_id5403 #bulk_migrate_async5404 calls BackgroundMigrationWorker.bulk_perform_async5405 pushes a context with the current class name as caller_id5406 #bulk_migrate_in5407 calls BackgroundMigrationWorker.bulk_perform_in_5408 pushes a context with the current class name as caller_id5409Projects::HashedStorage::MigrateAttachmentsService5410 #execute5411 works even when project validation fails5412 when succeeds5413 moves attachments to hashed storage layout5414 returns true5415 sets skipped to false5416 when original folder does not exist anymore5417 skips moving folders and go to next5418 returns true5419 sets skipped to true5420 when target folder already exists5421 succeed when target is empty5422 succeed when target include only discardable items5423 raises AttachmentCannotMoveError when there are non discardable items on target path5424 #old_disk_path5425 returns old disk_path for project5426 #new_disk_path5427 returns new disk_path for project5428 #target_path_discardable?5429 returns true when it include only items on the discardable list5430Packages::Nuget::PackageFinder5431 #execute!5432 with a project5433 behaves like handling all the conditions5434 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5435 with lower case package name5436 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5437 with unknown package name5438 is expected to be empty5439 with valid version5440 is expected to contain exactly #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5441 with unknown version5442 is expected to be empty5443 with limit hit5444 is expected to contain exactly #<Packages::Package id: 35, project_id: 1774, created_at: "2021-03-03 12:13:23", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.18", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 36, project_id: 1774, created_at: "2021-03-03 12:13:23", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.19", package_type: "nuget", creator_id: 2574, status: "default">5445 with downcase package name5446 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5447 with prefix wildcard5448 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5449 with suffix wildcard5450 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5451 with surrounding wildcards5452 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5453 with a subgroup5454 behaves like handling all the conditions5455 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5456 with lower case package name5457 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5458 with unknown package name5459 is expected to be empty5460 with valid version5461 is expected to contain exactly #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5462 with unknown version5463 is expected to be empty5464 with limit hit5465 is expected to contain exactly #<Packages::Package id: 38, project_id: 1774, created_at: "2021-03-03 12:13:24", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.21", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 39, project_id: 1774, created_at: "2021-03-03 12:13:24", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.22", package_type: "nuget", creator_id: 2574, status: "default">5466 with downcase package name5467 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5468 with prefix wildcard5469 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5470 with suffix wildcard5471 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5472 with surrounding wildcards5473 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5474 with a group5475 behaves like handling all the conditions5476 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5477 with lower case package name5478 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5479 with unknown package name5480 is expected to be empty5481 with valid version5482 is expected to contain exactly #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5483 with unknown version5484 is expected to be empty5485 with limit hit5486 is expected to contain exactly #<Packages::Package id: 41, project_id: 1774, created_at: "2021-03-03 12:13:25", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.24", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 42, project_id: 1774, created_at: "2021-03-03 12:13:25", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.25", package_type: "nuget", creator_id: 2574, status: "default">5487 with downcase package name5488 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5489 with prefix wildcard5490 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5491 with suffix wildcard5492 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5493 with surrounding wildcards5494 is expected to contain exactly #<Packages::Package id: 29, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...me: "NugetPackage15", version: "1.0.15", package_type: "nuget", creator_id: 2574, status: "default"> and #<Packages::Package id: 30, project_id: 1774, created_at: "2021-03-03 12:13:22", updated_at: "2021-03...ame: "NugetPackage15", version: "2.0.0", package_type: "nuget", creator_id: 2574, status: "default">5495 with nil5496 is expected to be empty5497Ci::ResourceGroup5498 validation5499 valids when key includes allowed character5500 invalids when key includes invalid character5501 #ensure_resource5502 creates one resource when resource group is created5503 #assign_resource_to5504 retains resource for the processable5505 when there are no free resources5506 fails to retain resource5507 when the build has already retained a resource5508 fails to retain resource5509 #release_resource_from5510 when the build has already retained a resource5511 releases resource from the build5512 when the build has already released a resource5513 fails to release resource5514Snippets::UpdateStatisticsService5515 #execute5516 with PersonalSnippet5517 behaves like updates statistics5518 returns a successful response5519 expires statistics cache5520 schedules a namespace storage statistics update5521 when snippet statistics does not exist5522 creates snippet statistics5523 when snippet statistics exists5524 updates snippet statistics5525 when snippet does not have a repository5526 returns an error response5527 with ProjectSnippet5528 updates projects statistics "snippets_size"5529 behaves like updates statistics5530 returns a successful response5531 expires statistics cache5532 schedules a namespace storage statistics update5533 when snippet statistics does not exist5534 creates snippet statistics5535 when snippet statistics exists5536 updates snippet statistics5537 when snippet does not have a repository5538 returns an error response5539Metrics::Dashboard::AnnotationPolicy5540 rules5541 environments annotation5542 behaves like metrics dashboard annotation policy5543 when guest5544 is expected to be disallowed :read_metrics_dashboard_annotation5545 is expected to be disallowed :create_metrics_dashboard_annotation5546 is expected to be disallowed :update_metrics_dashboard_annotation5547 is expected to be disallowed :delete_metrics_dashboard_annotation5548 when reporter5549 is expected to be allowed :read_metrics_dashboard_annotation5550 is expected to be disallowed :create_metrics_dashboard_annotation5551 is expected to be disallowed :update_metrics_dashboard_annotation5552 is expected to be disallowed :delete_metrics_dashboard_annotation5553 when developer5554 is expected to be allowed :read_metrics_dashboard_annotation5555 is expected to be allowed :create_metrics_dashboard_annotation5556 is expected to be allowed :update_metrics_dashboard_annotation5557 is expected to be allowed :delete_metrics_dashboard_annotation5558 when maintainer5559 is expected to be allowed :read_metrics_dashboard_annotation5560 is expected to be allowed :create_metrics_dashboard_annotation5561 is expected to be allowed :update_metrics_dashboard_annotation5562 is expected to be allowed :delete_metrics_dashboard_annotation5563 cluster annotation5564 behaves like metrics dashboard annotation policy5565 when guest5566 is expected to be disallowed :read_metrics_dashboard_annotation5567 is expected to be disallowed :create_metrics_dashboard_annotation5568 is expected to be disallowed :update_metrics_dashboard_annotation5569 is expected to be disallowed :delete_metrics_dashboard_annotation5570 when reporter5571 is expected to be allowed :read_metrics_dashboard_annotation5572 is expected to be disallowed :create_metrics_dashboard_annotation5573 is expected to be disallowed :update_metrics_dashboard_annotation5574 is expected to be disallowed :delete_metrics_dashboard_annotation5575 when developer5576 is expected to be allowed :read_metrics_dashboard_annotation5577 is expected to be allowed :create_metrics_dashboard_annotation5578 is expected to be allowed :update_metrics_dashboard_annotation5579 is expected to be allowed :delete_metrics_dashboard_annotation5580 when maintainer5581 is expected to be allowed :read_metrics_dashboard_annotation5582 is expected to be allowed :create_metrics_dashboard_annotation5583 is expected to be allowed :update_metrics_dashboard_annotation5584 is expected to be allowed :delete_metrics_dashboard_annotation5585API::Helpers5586 #find_project5587 when ID is used as an argument5588 behaves like project finder5589 when project exists5590 returns requested project5591 returns nil5592 when PATH is used as an argument5593 behaves like project finder5594 when project exists5595 returns requested project5596 returns nil5597 with an invalid PATH5598 does not hit the database5599 behaves like project finder5600 when project exists5601 returns requested project5602 returns nil5603 #find_namespace5604 when ID is used as an argument5605 behaves like namespace finder5606 when namespace exists5607 returns requested namespace5608 when namespace doesn't exists5609 returns nil5610 when PATH is used as an argument5611 behaves like namespace finder5612 when namespace exists5613 returns requested namespace5614 when namespace doesn't exists5615 returns nil5616 #find_namespace!5617 behaves like user namespace finder5618 when namespace is group5619 when user has access to group5620 returns requested namespace5621 when user doesn't have access to group5622 raises not found error5623 when namespace is user's personal namespace5624 when user owns the namespace5625 returns requested namespace5626 when user doesn't own the namespace5627 raises not found error5628 #send_git_blob5629 sets Gitlab::Workhorse::DETECT_HEADER header5630 content disposition5631 when blob name is null5632 returns only the disposition5633 when blob name is not null5634 returns disposition with the blob name5635 #track_event5636 creates a gitlab tracking event5637 logs an exception5638 #increment_unique_values5639 with feature enabled5640 tracks redis hll event5641 logs an exception for unknown event5642 does not track event for nil values5643 with feature disabled5644 does not track event5645 #order_options_with_tie_breaker5646 with non-id order given5647 with ascending order5648 adds id based ordering with same direction as primary order5649 with descending order5650 adds id based ordering with same direction as primary order5651 with non-id order but no direction given5652 adds ID ASC order5653 with id order given5654 does not add an additional order5655 #destroy_conditionally!5656 when unmodified check passes5657 destroys given project5658 when unmodified check fails5659 does not destroy given project5660 #check_unmodified_since!5661 when last modified is later than header value5662 renders error5663 when last modified is earlier than header value5664 does not render error5665 when last modified is equal to header value5666 does not render error5667 when there is no header value present5668 does not render error5669 when header value is not a valid time value5670 does not render error5671 #present_disk_file!5672 with X-Sendfile supported5673 sends the file using X-Sendfile5674 without X-Sendfile supported5675 sends the file5676Ci::PrometheusMetrics::ObserveHistogramsService5677 with empty data5678 does not raise errors5679 observes metrics successfully5680 increments the metrics5681 returns an empty body and status code5682 with unknown histograms5683 raises ActiveRecord::RecordNotFound error5684 with feature flag disabled5685 does not register the metrics5686 returns an empty body and status code5687MilestoneRelease5688 associations5689 is expected to belong to release required:5690 is expected to belong to milestone required:5691 when trying to create the same record in milestone_releases twice5692 is not committing on the second time5693 validations5694 when milestone and release do not have the same project5695 is not valid5696 when milestone and release have the same project5697 is expected to be valid5698TagsFinder5699 #execute5700 sort only5701 sorts by name5702 sorts by recently_updated5703 sorts by last_updated5704 filter only5705 filters tags by name5706 does not find any tags with that name5707 filters tags by name that begins with5708 filters tags by name that ends with5709 filters tags by nonexistent name that begins with5710 filters tags by nonexistent name that ends with5711 filter and sort5712 when sort by updated_desc5713 filters tags by name5714 when sort by updated_asc5715 filters tags by name5716Banzai::ObjectRenderer5717 #render5718 with cache5719 renders and redacts an Array of objects5720 calls Banzai::ReferenceRedactor to perform redaction5721 retrieves field content using Banzai::Renderer.render_field5722 passes context to PostProcessPipeline5723 without cache5724 renders and redacts an Array of objects5725 calls Banzai::ReferenceRedactor to perform redaction5726 retrieves field content using Banzai::Renderer.cacheless_render_field5727ManualInverseAssociation5728 .manual_inverse_association5729 when the relation exists5730 loads the relation5731 does not perform extra queries after loading5732 allows reloading the relation5733 when the relation does not return a value5734 does not try to set an inverse5735MattermostSlashCommandsService5736 behaves like chat slash commands service5737 Associations5738 is expected to respond to #token5739 is expected to have many chat_names5740 #valid_token?5741 when the token is empty5742 is false5743 when there is a token5744 accepts equal tokens5745 #trigger5746 no token is passed5747 returns nil5748 with a token passed5749 no user can be found5750 when no url can be generated5751 responds with the authorize url5752 when an auth url can be generated5753 generates the url5754 when the user is authenticated5755 triggers the command5756 when user is blocked5757 behaves like blocks command execution5758 is expected to match "you do not have access to the GitLab project"5759 when user is deactivated5760 behaves like blocks command execution5761 is expected to match "your account has been deactivated by your administrator"5762 Mattermost API5763 #configure5764 the requests succeeds5765 saves the service5766 saves the token5767 an error is received5768 shows error messages5769 #list_teams5770 the requests succeeds5771 returns a list of teams5772 an error is received5773 shows error messages5774 #chat_responder5775 returns the responder to use for Mattermost5776MergeRequests::AddContextService5777 #execute5778 when admin mode is enabled5779 adds context commit5780 when admin mode is disabled5781 doesn't add context commit5782 when user doesn't have permission to update merge request5783 doesn't add context commit5784 when the commits array is empty5785 doesn't add context commit5786Mutations::ContainerRepositories::Destroy5787 is expected to require graphql authorizations :destroy_container_image5788 #resolve5789 with valid id5790 user_role: :maintainer, shared_examples_name: "destroying the container repository"5791 behaves like destroying the container repository5792 destroys the container repistory5793 user_role: :developer, shared_examples_name: "destroying the container repository"5794 behaves like destroying the container repository5795 destroys the container repistory5796 user_role: :reporter, shared_examples_name: "denying access to container respository"5797 behaves like denying access to container respository5798 raises an error5799 user_role: :guest, shared_examples_name: "denying access to container respository"5800 behaves like denying access to container respository5801 raises an error5802 user_role: :anonymous, shared_examples_name: "denying access to container respository"5803 behaves like denying access to container respository5804 raises an error5805 with invalid id5806 behaves like denying access to container respository5807 raises an error5808Types::CommitType5809 is expected to eq "Commit"5810 is expected to require graphql authorizations :download_code5811 contains attributes related to commit5812Ide::SchemasConfigService5813 #execute5814 feature flag schema_linting is enabled5815 when no predefined schema exists for the given filename5816 returns an empty object5817 when a predefined schema exists for the given filename5818 uses predefined schema matches5819 feature flag schema_linting is disabled5820 returns an empty object5821Pending: (Failures listed here are expected and do not affect your suite's status)5822 1) Gitlab::Git::Repository#squash sparse checkout5823 # No reason given5824 # ./spec/lib/gitlab/git/repository_spec.rb:20755825 2) Gitlab::Git::Repository#squash with an ASCII-8BIT diff5826 # No reason given5827 # ./spec/lib/gitlab/git/repository_spec.rb:21195828 3) Gitlab::Git::Repository#squash with trailing whitespace in an invalid patch5829 # No reason given5830 # ./spec/lib/gitlab/git/repository_spec.rb:21315831 4) Deployment modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank5832 # No reason given5833 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:495834 5) Deployment modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank5835 # No reason given5836 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:575837Finished in 11 minutes 11 seconds (files took 32.91 seconds to load)58382959 examples, 0 failures, 5 pending5839Wed 03 Mar 2021 12:14:03 PM UTC5841Not uploading cache rails-v4-3 due to policy5843Uploading artifacts...5844coverage/: found 5 matching files and directories 5845WARNING: crystalball/: no matching files 5846deprecations/: found 6 matching files and directories 5847knapsack/: found 3 matching files and directories 5848rspec_flaky/: found 2 matching files and directories 5849rspec_profiling/: found 1 matching files and directories 5850WARNING: tmp/capybara/: no matching files 5851tmp/memory_test/: found 2 matching files and directories 5852tmp/feature_flags/: found 75 matching files and directories 5853log/*.log: found 18 matching files and directories 5854Uploading artifacts as "archive" to coordinator... ok id=1069712116 responseStatus=201 Created token=aboznY8q5855Uploading artifacts...5856junit_rspec.xml: found 1 matching files and directories 5857Uploading artifacts as "junit" to coordinator... ok id=1069712116 responseStatus=201 Created token=aboznY8q5859Job succeeded