rspec unit pg12 18/22
Passed Started
by
@sselhorn

Suzanne Selhorn
1Running with gitlab-runner 14.6.0~beta.71.gf035ecbf (f035ecbf)2 on blue-2.shared-gitlab-org.runners-manager.gitlab.com/default NL4gfoBe3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:f1a5e4852a8c335ef0f1a3aae30c39c8484660d5aa7dfd5bb8756ee473575da5 for postgres:12 with digest postgres@sha256:0854202db0b3378c46909bab43a85b01dc1b92cc44520480e47dd4fbc22714ee ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:1746b159f8934fe63cae3984643ee8c5651bcfc80ae107032a60f2871a0e7cdb for redis:5.0-alpine with digest redis@sha256:a04b57e05b784a406bc818f6b450233328c4115a1e1f104d84ce916eb1583925 ...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.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:5b9920187fd97abe77ba8b8a3c8029b970dbace758fd2dc8756c2976a4bff96d for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:4ab23b0728c6791b71363fe9413ab1d284f8d163988ebd8823dfb84f31aafe00 ...18Running on runner-nl4gfobe-project-278964-concurrent-0 via runner-nl4gfobe-shared-gitlab-org-1640008697-6085a280...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 121839, done. 25remote: Counting objects: 100% (121839/121839), done. 26remote: Compressing objects: 100% (83159/83159), done. 27remote: Total 121839 (delta 53730), reused 83033 (delta 34037), pack-reused 0 28Receiving objects: 100% (121839/121839), 116.76 MiB | 27.29 MiB/s, done.29Resolving deltas: 100% (53730/53730), done.31 * [new ref] a97668e1c6ce02835ce25d669c0aef89f6c2c400 -> refs/pipelines/43345824232Checking out a97668e1 as refs/merge-requests/76253/merge...33Skipping Git submodules setup35Checking cache for ruby-gems-v1-9...36Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-v1-9 37Successfully extracted cache38Checking cache for gitaly-ruby-gems-v1-9...39Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-v1-9 40Successfully extracted cache42Downloading artifacts for compile-test-assets (1904366238)...43Downloading artifacts from coordinator... ok id=1904366238 responseStatus=200 OK token=-yEmsZHS44Downloading artifacts for detect-tests (1904366266)...45Downloading artifacts from coordinator... ok id=1904366266 responseStatus=200 OK token=9stx6yy246Downloading artifacts for retrieve-tests-metadata (1904366282)...47Downloading artifacts from coordinator... ok id=1904366282 responseStatus=200 OK token=M7L1Bvz248Downloading artifacts for setup-test-env (1904366255)...49Downloading artifacts from coordinator... ok id=1904366255 responseStatus=200 OK token=wN13kysJ51Using docker image sha256:5b9920187fd97abe77ba8b8a3c8029b970dbace758fd2dc8756c2976a4bff96d for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:4ab23b0728c6791b71363fe9413ab1d284f8d163988ebd8823dfb84f31aafe00 ...52$ echo $FOSS_ONLY53$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb54$ export GOPATH=$CI_PROJECT_DIR/.go55$ mkdir -p $GOPATH56$ source scripts/utils.sh57$ source scripts/prepare_build.sh58Bundler version 2.1.459production:development60Settings are listed in order of priority. The top value will be used.61path62Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"63clean64Set for the current user (/root/.bundle/config): "true"65without66Set via BUNDLE_WITHOUT: [:production, :development]67install_flags68Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"69$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check70The Gemfile's dependencies are satisfied71==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.72$ bundle pristine pg73Installing pg 1.2.3 with native extensions74==> 'bundle pristine pg' succeeded in 12 seconds.75$ setup_db_user_only76CREATE ROLE77GRANT78==> 'setup_db_user_only' succeeded in 0 seconds.79$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee80Dropped database 'gitlabhq_test'81Dropped database 'gitlabhq_geo_test'82Created database 'gitlabhq_test'83Created database 'gitlabhq_geo_test'84DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)85Dropped database 'gitlabhq_geo_test'86Created database 'gitlabhq_geo_test'87==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 31 seconds.88$ run_timed_command "gem install knapsack --no-document"89$ gem install knapsack --no-document90Successfully installed knapsack-4.0.0911 gem installed92==> 'gem install knapsack --no-document' succeeded in 1 seconds.93$ run_timed_command "scripts/gitaly-test-spawn"94$ scripts/gitaly-test-spawn95Don't run Bundler as root. Bundler can ask for sudo if it is needed, and96installing your bundle as root will break this application for all non-root97users on this machine.98Using abstract_type 0.0.799Using concurrent-ruby 1.1.9100Using i18n 1.8.10101Using minitest 5.14.4102Using tzinfo 2.0.4103Using zeitwerk 2.4.2104Using activesupport 6.1.4.1105Using builder 3.2.4106Using erubi 1.10.0107Using mini_portile2 2.5.1108Using racc 1.5.2109Using nokogiri 1.11.7 (x86_64-linux)110Using rails-dom-testing 2.0.3111Using crass 1.0.6112Using loofah 2.12.0113Using rails-html-sanitizer 1.4.2114Using actionview 6.1.4.1115Using rack 2.2.3116Using rack-test 1.1.0117Using actionpack 6.1.4.1118Using ice_nine 0.11.2119Using thread_safe 0.3.6120Using memoizable 0.4.2121Using adamantium 0.2.0122Using public_suffix 4.0.6123Using addressable 2.7.0124Using ast 2.4.2125Using binding_ninja 0.2.3126Using bundler 2.1.4127Using charlock_holmes 0.7.7128Using coderay 1.1.2129Using equalizer 0.0.11130Using concord 0.1.5131Using diff-lcs 1.3132Using dotenv 2.7.6133Using escape_utils 1.2.1134Using factory_bot 5.0.2135Using multipart-post 2.1.1136Using faraday 1.0.1137Using ffi 1.15.3138Using json 2.5.1139Using gemojione 3.3.0140Using mini_mime 1.0.2141Using rugged 1.2.0142Using github-linguist 7.12.1143Using github-markup 1.7.0144Using mime-types-data 3.2020.1104145Using mime-types 3.3.1146Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1147Using rouge 3.26.0148Using nokogumbo 1.5.0149Using sanitize 4.6.6150Using stringex 2.8.5151Using gitlab-gollum-lib 4.2.7.10.gitlab.1152Using google-protobuf 3.17.3 (x86_64-linux)153Using googleapis-common-protos-types 1.1.0154Using grpc 1.30.2 (x86_64-linux)155Using opentracing 0.5.0156Using thrift 0.15.0157Using jaeger-client 1.1.0158Using pg_query 2.1.1159Using redis 4.4.0160Using gitlab-labkit 0.21.2161Using rubyzip 2.3.2162Using thor 1.1.0163Using tomlrb 2.0.1164Using with_env 1.1.0165Using rexml 3.2.4166Using xml-simple 1.1.9167Using gitlab-license_finder 6.14.2.1168Using gitlab-markup 1.7.1169Using grpc-tools 1.30.2170Using sawyer 0.8.2171Using octokit 4.20.0172Using reverse_markdown 1.4.0173Using licensee 9.14.1174Using method_source 0.9.2175Using msgpack 1.3.3176Using optimist 3.0.1177Using parallel 1.19.2178Using parser 3.0.3.2179Using procto 0.0.3180Using unparser 0.4.7181Using proc_to_ast 0.1.0182Using pry 0.12.2183Using rainbow 3.0.0184Using rbtrace 0.4.14185Using rdoc 6.3.2186Using regexp_parser 1.8.1187Using 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! 22 Gemfile dependencies, 101 gems now installed.200Gems in the groups production and development were not installed.201Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`202Checking gitaly-ruby Gemfile...203Checking gitaly-ruby bundle...204The Gemfile's dependencies are satisfied205Trying to connect to gitaly: ................................................... OK206Trying to connect to gitaly2: ....................................................................... OK207Trying to connect to praefect: ......... OK208==> 'scripts/gitaly-test-spawn' succeeded in 15 seconds.209$ source ./scripts/rspec_helpers.sh210$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"211KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb212SKIP_FLAKY_TESTS_AUTOMATICALLY: true213Knapsack node specs:214spec/models/repository_spec.rb215spec/policies/project_policy_spec.rb216spec/finders/snippets_finder_spec.rb217spec/tasks/gitlab/backup_rake_spec.rb218spec/services/projects/overwrite_project_service_spec.rb219spec/lib/gitlab/project_search_results_spec.rb220spec/models/commit_status_spec.rb221spec/services/projects/update_service_spec.rb222spec/models/integrations/mattermost_spec.rb223spec/services/packages/maven/metadata/create_versions_xml_service_spec.rb224spec/policies/wiki_page_policy_spec.rb225spec/models/members/group_member_spec.rb226spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb227spec/services/draft_notes/publish_service_spec.rb228spec/models/integrations/pipelines_email_spec.rb229spec/models/integrations/drone_ci_spec.rb230spec/presenters/commit_status_presenter_spec.rb231spec/helpers/users_helper_spec.rb232spec/models/protected_branch_spec.rb233spec/models/project_snippet_spec.rb234spec/helpers/commits_helper_spec.rb235spec/lib/backup/files_spec.rb236spec/models/integrations/prometheus_spec.rb237spec/policies/group_member_policy_spec.rb238spec/lib/gitlab/gitaly_client/commit_service_spec.rb239spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb240spec/services/alert_management/alerts/update_service_spec.rb241spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb242spec/lib/banzai/filter/references/reference_filter_spec.rb243spec/finders/serverless_domain_finder_spec.rb244spec/services/labels/transfer_service_spec.rb245spec/services/issues/build_service_spec.rb246spec/finders/alert_management/alerts_finder_spec.rb247spec/policies/design_management/design_policy_spec.rb248spec/models/commit_collection_spec.rb249spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb250spec/services/projects/update_remote_mirror_service_spec.rb251spec/services/git/tag_hooks_service_spec.rb252spec/lib/gitlab/kubernetes/helm/v2/init_command_spec.rb253spec/models/packages/conan/file_metadatum_spec.rb254spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb255spec/helpers/dropdowns_helper_spec.rb256spec/services/labels/find_or_create_service_spec.rb257spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb258spec/lib/banzai/filter/references/alert_reference_filter_spec.rb259spec/lib/gitlab/i18n/po_linter_spec.rb260spec/lib/gitlab/ci/config/entry/environment_spec.rb261spec/models/project_feature_usage_spec.rb262spec/lib/gitlab/ci/config/entry/cache_spec.rb263spec/models/integrations/mattermost_slash_commands_spec.rb264spec/lib/gitlab/legacy_github_import/project_creator_spec.rb265spec/lib/gitlab/x509/certificate_spec.rb266spec/services/metrics/dashboard/annotations/delete_service_spec.rb267spec/lib/gitlab/database/migration_helpers/v2_spec.rb268spec/services/issues/resolve_discussions_spec.rb269spec/views/projects/commit/branches.html.haml_spec.rb270spec/tasks/gitlab/ldap_rake_spec.rb271spec/lib/banzai/reference_parser/external_issue_parser_spec.rb272spec/lib/gitlab/ci/config/normalizer_spec.rb273spec/services/lfs/unlock_file_service_spec.rb274spec/graphql/resolvers/design_management/designs_resolver_spec.rb275spec/views/notify/pipeline_failed_email.html.haml_spec.rb276spec/models/analytics/cycle_analytics/issue_stage_event_spec.rb277spec/lib/gitlab/database/count_spec.rb278spec/services/integrations/propagate_service_spec.rb279spec/finders/packages/maven/package_finder_spec.rb280spec/models/ci/trigger_spec.rb281spec/models/users_statistics_spec.rb282spec/services/merge_requests/remove_approval_service_spec.rb283spec/models/integrations/custom_issue_tracker_spec.rb284spec/lib/gitlab/file_hook_spec.rb285spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb286spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb287spec/lib/gitlab/ci/config/entry/service_spec.rb288spec/graphql/resolvers/users/snippets_resolver_spec.rb289spec/finders/ci/commit_statuses_finder_spec.rb290spec/lib/gitlab/template/merge_request_template_spec.rb291spec/uploaders/packages/composer/cache_uploader_spec.rb292spec/services/merge_requests/reload_diffs_service_spec.rb293spec/lib/banzai/reference_parser/label_parser_spec.rb294spec/lib/gitlab/github_import_spec.rb295spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb296spec/metrics_server/metrics_server_spec.rb297spec/models/error_tracking/error_event_spec.rb298spec/lib/banzai/pipeline/description_pipeline_spec.rb299spec/models/integrations/youtrack_spec.rb300spec/lib/gitlab/tracking/standard_context_spec.rb301spec/views/projects/jobs/show.html.haml_spec.rb302spec/graphql/resolvers/projects/services_resolver_spec.rb303spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb304spec/lib/gitlab/checks/tag_check_spec.rb305spec/lib/gitlab/auth/o_auth/provider_spec.rb306spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb307spec/services/pages_domains/create_acme_order_service_spec.rb308spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb309spec/services/protected_tags/create_service_spec.rb310spec/services/notification_recipients/builder/default_spec.rb311spec/lib/gitlab/diff/file_collection/commit_spec.rb312spec/models/deploy_keys_project_spec.rb313spec/workers/repository_cleanup_worker_spec.rb314spec/models/integrations/asana_spec.rb315spec/services/keys/last_used_service_spec.rb316spec/services/merge_requests/mergeability/run_checks_service_spec.rb317spec/lib/sidebars/groups/menus/settings_menu_spec.rb318spec/services/packages/create_dependency_service_spec.rb319spec/graphql/resolvers/project_merge_requests_resolver_spec.rb320spec/lib/gitlab/kubernetes/helm/v3/install_command_spec.rb321spec/lib/gitlab/database/background_migration_job_spec.rb322spec/lib/gitlab/api_authentication/builder_spec.rb323spec/lib/gitlab/feature_categories_spec.rb324spec/views/layouts/application.html.haml_spec.rb325spec/lib/gitlab/ci/pipeline/expression/lexeme/string_spec.rb326spec/helpers/broadcast_messages_helper_spec.rb327spec/lib/gitlab/repository_cache/preloader_spec.rb328spec/finders/protected_branches_finder_spec.rb329spec/services/ci/create_pipeline_service/custom_config_content_spec.rb330spec/models/concerns/expirable_spec.rb331spec/lib/bulk_imports/common/transformers/user_reference_transformer_spec.rb332spec/views/projects/commits/_commit.html.haml_spec.rb333spec/helpers/wiki_page_version_helper_spec.rb334spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb335spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb336spec/services/projects/forks_count_service_spec.rb337spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb338spec/lib/gitlab/hook_data/subgroup_builder_spec.rb339spec/models/label_priority_spec.rb340spec/graphql/resolvers/error_tracking/sentry_errors_resolver_spec.rb341spec/lib/gitlab/ci/status/build/preparing_spec.rb342spec/graphql/resolvers/user_notes_count_resolver_spec.rb343spec/models/error_tracking/client_key_spec.rb344spec/services/ci/pipeline_bridge_status_service_spec.rb345spec/graphql/mutations/ci/runner/delete_spec.rb346spec/lib/system_check/app/authorized_keys_permission_check_spec.rb347spec/views/projects/commit/show.html.haml_spec.rb348spec/lib/sidebars/projects/menus/wiki_menu_spec.rb349spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb350spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb351spec/haml_lint/linter/no_plain_nodes_spec.rb352spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb353spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb354spec/finders/groups/user_groups_finder_spec.rb355spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb356spec/lib/gitlab/slash_commands/presenters/access_spec.rb357spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb358spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb359spec/models/alerting/project_alerting_setting_spec.rb360spec/rubocop/cop/migration/prevent_index_creation_spec.rb361spec/lib/gitlab/ci/config/entry/paths_spec.rb362spec/serializers/service_field_entity_spec.rb363spec/services/ci/pipeline_schedule_service_spec.rb364spec/graphql/types/range_input_type_spec.rb365spec/lib/gitlab/git/changed_path_spec.rb366spec/graphql/resolvers/users_resolver_spec.rb367spec/rubocop/cop/migration/datetime_spec.rb368spec/lib/gitlab/bullet/exclusions_spec.rb369spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb370spec/lib/gitlab/hook_data/key_builder_spec.rb371spec/models/ci/sources/pipeline_spec.rb372spec/lib/gitlab/ci/pipeline/logger_spec.rb373spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb374spec/lib/backup/artifacts_spec.rb375spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb376spec/serializers/lfs_file_lock_entity_spec.rb377spec/initializers/sidekiq_spec.rb378spec/lib/gitlab/git/repository_cleaner_spec.rb379spec/lib/gitlab/metrics/samplers/database_sampler_spec.rb380spec/lib/sidebars/projects/context_spec.rb381spec/lib/gitlab/jwt_authenticatable_spec.rb382spec/graphql/resolvers/container_repository_tags_resolver_spec.rb383spec/services/merge_requests/mergeability/check_base_service_spec.rb384spec/lib/gitlab/ci/pipeline/preloader_spec.rb385spec/services/import/gitlab_projects/create_project_from_uploaded_file_service_spec.rb386spec/lib/gitlab/checks/push_file_count_check_spec.rb387spec/lib/gitlab/database/partitioning/single_numeric_list_partition_spec.rb388spec/lib/gitlab/ci/config/entry/rules_spec.rb389spec/helpers/environment_helper_spec.rb390spec/lib/gitlab/kroki_spec.rb391spec/serializers/test_suite_comparer_entity_spec.rb392spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb393spec/lib/bulk_imports/network_error_spec.rb394spec/lib/gitlab/ci/reports/codequality_reports_spec.rb395spec/uploaders/content_type_whitelist_spec.rb396spec/tasks/gitlab/terraform/migrate_rake_spec.rb397spec/lib/gitlab/utils/gzip_spec.rb398spec/serializers/feature_flag_summary_serializer_spec.rb399spec/services/ci/generate_terraform_reports_service_spec.rb400spec/lib/gitlab/routing_spec.rb401spec/lib/gitlab/sherlock/location_spec.rb402spec/policies/group_deploy_keys_group_policy_spec.rb403spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb404spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb405spec/graphql/features/feature_flag_spec.rb406spec/services/groups/deploy_tokens/destroy_service_spec.rb407spec/support_specs/helpers/active_record/query_recorder_spec.rb408spec/serializers/import/bulk_import_entity_spec.rb409spec/validators/cron_validator_spec.rb410spec/lib/gitlab/template/gitignore_template_spec.rb411spec/workers/update_project_statistics_worker_spec.rb412spec/rubocop/cop/migration/add_timestamps_spec.rb413spec/serializers/analytics_issue_serializer_spec.rb414spec/lib/bulk_imports/groups/pipelines/project_entities_pipeline_spec.rb415spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb416spec/graphql/types/release_assets_input_type_spec.rb417spec/policies/concerns/crud_policy_helpers_spec.rb418spec/rubocop/cop/rspec/env_assignment_spec.rb419spec/helpers/stat_anchors_helper_spec.rb420spec/lib/api/api_spec.rb421spec/lib/gitlab/usage_data_counters/base_counter_spec.rb422spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb423spec/graphql/types/ci_configuration/sast/options_entity_spec.rb424spec/graphql/types/snippets/blob_action_enum_spec.rb425spec/serializers/group_link/group_group_link_serializer_spec.rb426spec/lib/api/entities/deploy_key_spec.rb427spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb428spec/services/events/render_service_spec.rb429spec/graphql/types/jira_import_type_spec.rb430spec/lib/gitlab/utils/merge_hash_spec.rb431spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb432spec/lib/gitlab/serializer/ci/variables_spec.rb433spec/lib/gitlab/ci/config/entry/product/variables_spec.rb434spec/lib/api/entities/ssh_key_spec.rb435spec/helpers/emoji_helper_spec.rb436spec/lib/api/entities/project_import_failed_relation_spec.rb437spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb438spec/graphql/types/todo_type_spec.rb439spec/lib/error_tracking/collector/dsn_spec.rb440spec/graphql/types/permission_types/merge_request_type_spec.rb441spec/rubocop/cop/safe_params_spec.rb442spec/graphql/types/permission_types/merge_request_spec.rb443spec/services/protected_tags/destroy_service_spec.rb444spec/lib/gitlab/database/each_database_spec.rb445spec/graphql/types/projects/topic_type_spec.rb446spec/initializers/asset_proxy_setting_spec.rb447spec/graphql/types/repository/blob_type_spec.rb448spec/graphql/types/permission_types/user_spec.rb449spec/graphql/types/terraform/state_type_spec.rb450spec/lib/gitlab/ci/status/success_spec.rb451spec/lib/gitlab/metrics/system_spec.rb452spec/models/concerns/partitioned_table_spec.rb453spec/services/emails/destroy_service_spec.rb454spec/workers/concerns/gitlab/github_import/queue_spec.rb455Filter specs:456Running specs:457Running all node tests without filter458spec/models/repository_spec.rb459spec/policies/project_policy_spec.rb460spec/finders/snippets_finder_spec.rb461spec/tasks/gitlab/backup_rake_spec.rb462spec/services/projects/overwrite_project_service_spec.rb463spec/lib/gitlab/project_search_results_spec.rb464spec/models/commit_status_spec.rb465spec/services/projects/update_service_spec.rb466spec/models/integrations/mattermost_spec.rb467spec/services/packages/maven/metadata/create_versions_xml_service_spec.rb468spec/policies/wiki_page_policy_spec.rb469spec/models/members/group_member_spec.rb470spec/lib/gitlab/background_migration/recalculate_vulnerabilities_occurrences_uuid_spec.rb471spec/services/draft_notes/publish_service_spec.rb472spec/models/integrations/pipelines_email_spec.rb473spec/models/integrations/drone_ci_spec.rb474spec/presenters/commit_status_presenter_spec.rb475spec/helpers/users_helper_spec.rb476spec/models/protected_branch_spec.rb477spec/models/project_snippet_spec.rb478spec/helpers/commits_helper_spec.rb479spec/lib/backup/files_spec.rb480spec/models/integrations/prometheus_spec.rb481spec/policies/group_member_policy_spec.rb482spec/lib/gitlab/gitaly_client/commit_service_spec.rb483spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb484spec/services/alert_management/alerts/update_service_spec.rb485spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb486spec/lib/banzai/filter/references/reference_filter_spec.rb487spec/finders/serverless_domain_finder_spec.rb488spec/services/labels/transfer_service_spec.rb489spec/services/issues/build_service_spec.rb490spec/finders/alert_management/alerts_finder_spec.rb491spec/policies/design_management/design_policy_spec.rb492spec/models/commit_collection_spec.rb493spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb494spec/services/projects/update_remote_mirror_service_spec.rb495spec/services/git/tag_hooks_service_spec.rb496spec/lib/gitlab/kubernetes/helm/v2/init_command_spec.rb497spec/models/packages/conan/file_metadatum_spec.rb498spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb499spec/helpers/dropdowns_helper_spec.rb500spec/services/labels/find_or_create_service_spec.rb501spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb502spec/lib/banzai/filter/references/alert_reference_filter_spec.rb503spec/lib/gitlab/i18n/po_linter_spec.rb504spec/lib/gitlab/ci/config/entry/environment_spec.rb505spec/models/project_feature_usage_spec.rb506spec/lib/gitlab/ci/config/entry/cache_spec.rb507spec/models/integrations/mattermost_slash_commands_spec.rb508spec/lib/gitlab/legacy_github_import/project_creator_spec.rb509spec/lib/gitlab/x509/certificate_spec.rb510spec/services/metrics/dashboard/annotations/delete_service_spec.rb511spec/lib/gitlab/database/migration_helpers/v2_spec.rb512spec/services/issues/resolve_discussions_spec.rb513spec/views/projects/commit/branches.html.haml_spec.rb514spec/tasks/gitlab/ldap_rake_spec.rb515spec/lib/banzai/reference_parser/external_issue_parser_spec.rb516spec/lib/gitlab/ci/config/normalizer_spec.rb517spec/services/lfs/unlock_file_service_spec.rb518spec/graphql/resolvers/design_management/designs_resolver_spec.rb519spec/views/notify/pipeline_failed_email.html.haml_spec.rb520spec/models/analytics/cycle_analytics/issue_stage_event_spec.rb521spec/lib/gitlab/database/count_spec.rb522spec/services/integrations/propagate_service_spec.rb523spec/finders/packages/maven/package_finder_spec.rb524spec/models/ci/trigger_spec.rb525spec/models/users_statistics_spec.rb526spec/services/merge_requests/remove_approval_service_spec.rb527spec/models/integrations/custom_issue_tracker_spec.rb528spec/lib/gitlab/file_hook_spec.rb529spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb530spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb531spec/lib/gitlab/ci/config/entry/service_spec.rb532spec/graphql/resolvers/users/snippets_resolver_spec.rb533spec/finders/ci/commit_statuses_finder_spec.rb534spec/lib/gitlab/template/merge_request_template_spec.rb535spec/uploaders/packages/composer/cache_uploader_spec.rb536spec/services/merge_requests/reload_diffs_service_spec.rb537spec/lib/banzai/reference_parser/label_parser_spec.rb538spec/lib/gitlab/github_import_spec.rb539spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb540spec/metrics_server/metrics_server_spec.rb541spec/models/error_tracking/error_event_spec.rb542spec/lib/banzai/pipeline/description_pipeline_spec.rb543spec/models/integrations/youtrack_spec.rb544spec/lib/gitlab/tracking/standard_context_spec.rb545spec/views/projects/jobs/show.html.haml_spec.rb546spec/graphql/resolvers/projects/services_resolver_spec.rb547spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb548spec/lib/gitlab/checks/tag_check_spec.rb549spec/lib/gitlab/auth/o_auth/provider_spec.rb550spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb551spec/services/pages_domains/create_acme_order_service_spec.rb552spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb553spec/services/protected_tags/create_service_spec.rb554spec/services/notification_recipients/builder/default_spec.rb555spec/lib/gitlab/diff/file_collection/commit_spec.rb556spec/models/deploy_keys_project_spec.rb557spec/workers/repository_cleanup_worker_spec.rb558spec/models/integrations/asana_spec.rb559spec/services/keys/last_used_service_spec.rb560spec/services/merge_requests/mergeability/run_checks_service_spec.rb561spec/lib/sidebars/groups/menus/settings_menu_spec.rb562spec/services/packages/create_dependency_service_spec.rb563spec/graphql/resolvers/project_merge_requests_resolver_spec.rb564spec/lib/gitlab/kubernetes/helm/v3/install_command_spec.rb565spec/lib/gitlab/database/background_migration_job_spec.rb566spec/lib/gitlab/api_authentication/builder_spec.rb567spec/lib/gitlab/feature_categories_spec.rb568spec/views/layouts/application.html.haml_spec.rb569spec/lib/gitlab/ci/pipeline/expression/lexeme/string_spec.rb570spec/helpers/broadcast_messages_helper_spec.rb571spec/lib/gitlab/repository_cache/preloader_spec.rb572spec/finders/protected_branches_finder_spec.rb573spec/services/ci/create_pipeline_service/custom_config_content_spec.rb574spec/models/concerns/expirable_spec.rb575spec/lib/bulk_imports/common/transformers/user_reference_transformer_spec.rb576spec/views/projects/commits/_commit.html.haml_spec.rb577spec/helpers/wiki_page_version_helper_spec.rb578spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb579spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb580spec/services/projects/forks_count_service_spec.rb581spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb582spec/lib/gitlab/hook_data/subgroup_builder_spec.rb583spec/models/label_priority_spec.rb584spec/graphql/resolvers/error_tracking/sentry_errors_resolver_spec.rb585spec/lib/gitlab/ci/status/build/preparing_spec.rb586spec/graphql/resolvers/user_notes_count_resolver_spec.rb587spec/models/error_tracking/client_key_spec.rb588spec/services/ci/pipeline_bridge_status_service_spec.rb589spec/graphql/mutations/ci/runner/delete_spec.rb590spec/lib/system_check/app/authorized_keys_permission_check_spec.rb591spec/views/projects/commit/show.html.haml_spec.rb592spec/lib/sidebars/projects/menus/wiki_menu_spec.rb593spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb594spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb595spec/haml_lint/linter/no_plain_nodes_spec.rb596spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb597spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb598spec/finders/groups/user_groups_finder_spec.rb599spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb600spec/lib/gitlab/slash_commands/presenters/access_spec.rb601spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb602spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb603spec/models/alerting/project_alerting_setting_spec.rb604spec/rubocop/cop/migration/prevent_index_creation_spec.rb605spec/lib/gitlab/ci/config/entry/paths_spec.rb606spec/serializers/service_field_entity_spec.rb607spec/services/ci/pipeline_schedule_service_spec.rb608spec/graphql/types/range_input_type_spec.rb609spec/lib/gitlab/git/changed_path_spec.rb610spec/graphql/resolvers/users_resolver_spec.rb611spec/rubocop/cop/migration/datetime_spec.rb612spec/lib/gitlab/bullet/exclusions_spec.rb613spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb614spec/lib/gitlab/hook_data/key_builder_spec.rb615spec/models/ci/sources/pipeline_spec.rb616spec/lib/gitlab/ci/pipeline/logger_spec.rb617spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb618spec/lib/backup/artifacts_spec.rb619spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb620spec/serializers/lfs_file_lock_entity_spec.rb621spec/initializers/sidekiq_spec.rb622spec/lib/gitlab/git/repository_cleaner_spec.rb623spec/lib/gitlab/metrics/samplers/database_sampler_spec.rb624spec/lib/sidebars/projects/context_spec.rb625spec/lib/gitlab/jwt_authenticatable_spec.rb626spec/graphql/resolvers/container_repository_tags_resolver_spec.rb627spec/services/merge_requests/mergeability/check_base_service_spec.rb628spec/lib/gitlab/ci/pipeline/preloader_spec.rb629spec/services/import/gitlab_projects/create_project_from_uploaded_file_service_spec.rb630spec/lib/gitlab/checks/push_file_count_check_spec.rb631spec/lib/gitlab/database/partitioning/single_numeric_list_partition_spec.rb632spec/lib/gitlab/ci/config/entry/rules_spec.rb633spec/helpers/environment_helper_spec.rb634spec/lib/gitlab/kroki_spec.rb635spec/serializers/test_suite_comparer_entity_spec.rb636spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb637spec/lib/bulk_imports/network_error_spec.rb638spec/lib/gitlab/ci/reports/codequality_reports_spec.rb639spec/uploaders/content_type_whitelist_spec.rb640spec/tasks/gitlab/terraform/migrate_rake_spec.rb641spec/lib/gitlab/utils/gzip_spec.rb642spec/serializers/feature_flag_summary_serializer_spec.rb643spec/services/ci/generate_terraform_reports_service_spec.rb644spec/lib/gitlab/routing_spec.rb645spec/lib/gitlab/sherlock/location_spec.rb646spec/policies/group_deploy_keys_group_policy_spec.rb647spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb648spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb649spec/graphql/features/feature_flag_spec.rb650spec/services/groups/deploy_tokens/destroy_service_spec.rb651spec/support_specs/helpers/active_record/query_recorder_spec.rb652spec/serializers/import/bulk_import_entity_spec.rb653spec/validators/cron_validator_spec.rb654spec/lib/gitlab/template/gitignore_template_spec.rb655spec/workers/update_project_statistics_worker_spec.rb656spec/rubocop/cop/migration/add_timestamps_spec.rb657spec/serializers/analytics_issue_serializer_spec.rb658spec/lib/bulk_imports/groups/pipelines/project_entities_pipeline_spec.rb659spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb660spec/graphql/types/release_assets_input_type_spec.rb661spec/policies/concerns/crud_policy_helpers_spec.rb662spec/rubocop/cop/rspec/env_assignment_spec.rb663spec/helpers/stat_anchors_helper_spec.rb664spec/lib/api/api_spec.rb665spec/lib/gitlab/usage_data_counters/base_counter_spec.rb666spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb667spec/graphql/types/ci_configuration/sast/options_entity_spec.rb668spec/graphql/types/snippets/blob_action_enum_spec.rb669spec/serializers/group_link/group_group_link_serializer_spec.rb670spec/lib/api/entities/deploy_key_spec.rb671spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb672spec/services/events/render_service_spec.rb673spec/graphql/types/jira_import_type_spec.rb674spec/lib/gitlab/utils/merge_hash_spec.rb675spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb676spec/lib/gitlab/serializer/ci/variables_spec.rb677spec/lib/gitlab/ci/config/entry/product/variables_spec.rb678spec/lib/api/entities/ssh_key_spec.rb679spec/helpers/emoji_helper_spec.rb680spec/lib/api/entities/project_import_failed_relation_spec.rb681spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb682spec/graphql/types/todo_type_spec.rb683spec/lib/error_tracking/collector/dsn_spec.rb684spec/graphql/types/permission_types/merge_request_type_spec.rb685spec/rubocop/cop/safe_params_spec.rb686spec/graphql/types/permission_types/merge_request_spec.rb687spec/services/protected_tags/destroy_service_spec.rb688spec/lib/gitlab/database/each_database_spec.rb689spec/graphql/types/projects/topic_type_spec.rbKnapsack report generator started!690Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}691==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.058650335 seconds...692Test environment set up in 1.157775364 seconds693Repository694 #branch_names_contains695 is expected to include "master"696 is expected not to include "feature"697 is expected not to include "fix"698 when storage is broken699 raises a storage error700 #tag_names_contains701 is expected to include "v1.1.0"702 is expected not to include "v1.0.0"703 #tags_sorted_by704 name_desc705 is expected to eq ["v1.1.0", "v1.0.0"]706 name_asc707 is expected to eq ["v1.0.0", "v1.1.0"]708 with pagination709 with limit710 is expected to eq ["v1.0.0"]711 with page token and limit712 is expected to eq ["v1.1.0"]713 with page token only714 raises an ArgumentError715 with negative limit716 returns all tags717 with unknown token718 raises an ArgumentError719 updated720 desc721 is expected to eq ["v0.0.0", "v1.1.0", "v1.0.0"]722 asc723 is expected to eq ["v1.0.0", "v1.1.0", "v0.0.0"]724 annotated tag pointing to a blob725 is expected to eq ["v1.0.0", "v1.1.0", "annotated-tag"]726 unknown option727 is expected to eq ["v1.0.0", "v1.1.0"]728 #ref_exists?729 when ref exists730 returns true731 when ref does not exist732 returns false733 when ref format is incorrect734 returns false735 #search_branch_names736 returns matching branch names737 #list_last_commits_for_tree738 returns the last commits for every entry in the current path739 returns the last commits for every entry in the current path starting from the offset740 returns a limited number of last commits for every entry in the current path starting from the offset741 returns an empty hash when offset is out of bounds742 with a commit with invalid UTF-8 path743 does not raise an error744 #last_commit_for_path745 is expected to eq "c1acaa58bbcbc3eafe538cb8274ba387047b69f8"746 when storage is broken747 raises a storage error748 with filename with pathspec characters749 returns a commit SHA750 #last_commit_id_for_path751 returns last commit id for a given path752 caches last commit id for a given path753 when storage is broken754 raises a storage error755 with filename with pathspec characters756 returns a commit SHA757 #commits758 when neither the all flag nor a ref are specified759 returns every commit from default branch760 when ref is passed761 returns every commit from the specified ref762 when all763 returns every commit from the repository764 with path765 sets follow when it is a single path766 does not set follow when it is multiple paths767 without path768 does not set follow769 when 'author' is set770 returns commits from that author771 doesn't returns commits from an unknown author772 when 'all' flag is set773 returns every commit from the repository774 when 'order' flag is set775 passes order option to perform the query776 #new_commits777 with quarantine778 behaves like #new_commits779 when there are no new commits780 returns an empty array781 when new commits are found782 returns the commits783 without quarantine784 behaves like #new_commits785 when there are no new commits786 returns an empty array787 when new commits are found788 returns the commits789 #commits_by790 finds each commit791 returns only Commit instances792 when some commits are not found793 returns only found commits794 when no oids are passed795 does not call #batch_by_oid796 #commits_between797 delegates to Gitlab::Git::Commit#between, returning decorated commits798 defaults to no limit799 #find_commits_by_message800 returns commits with messages containing a given string801 is case insensitive802 when storage is broken803 raises a storage error804 #blob_at805 blank sha806 is expected to be nil807 regular blob808 is expected to be an instance of Blob809 readme blob not on HEAD810 is expected to be an instance of Blob811 #merged_to_root_ref?812 merged branch without ff813 is expected to be truthy814 merged with ff815 is expected to be truthy816 not merged branch817 is expected to be falsey818 default branch819 is expected to be falsey820 non merged branch821 is expected to be falsey822 non existent branch823 is expected to be nil824 #root_ref_sha825 is expected to eq "a94a8fe5ccb19ba61c4c0873d391e987982fbbd3"826 #merged_branch_names827 is expected to eq #<Set: {"definitely_merged"}>828 is expected to be a kind of Set829 cache expiry830 is expired when the branches caches are expired831 is expired when the repository caches are expired832 cache is empty833 is expected to eq #<Set: {"definitely_merged"}>834 cache values835 writes the values to redis836 matches the supplied hash837 cache is not empty838 is expected to eq #<Set: {"definitely_merged"}>839 doesn't fetch from the disk840 cache is partially complete841 is expected to eq #<Set: {"definitely_merged"}>842 does fetch from the disk843 requested branches array is empty844 is expected to eq #<Set: {"definitely_merged"}>845 #can_be_merged?846 mergeable branches847 is expected to be truthy848 non-mergeable branches without conflict sides missing849 is expected to be falsey850 non-mergeable branches with conflict sides missing851 is expected to be falsey852 submodule changes that confuse rugged853 is expected to be falsey854 #commit855 when ref exists856 returns commit object857 when ref does not exist858 returns nil859 when ref is not specified860 is using a root ref861 when ref is not valid862 when preceding tree element exists863 returns nil864 when preceding tree element does not exist865 returns nil866 #create_dir867 commits a change that creates a new directory868 when committing to another project869 creates a fork and commit to the forked project870 when an author is specified871 uses the given email/name to set the commit's author872 #create_file873 commits new file successfully874 creates new file and dir when file_path has a forward slash875 respects the autocrlf setting876 when an author is specified877 uses the given email/name to set the commit's author878 #update_file879 updates file successfully880 updates filename successfully881 when an author is specified882 uses the given email/name to set the commit's author883 #delete_file884 removes file successfully885 when an author is specified886 uses the given email/name to set the commit's author887 search_files_by_content888 is expected to be a kind of Array889 regex-escapes the query string890 properly handles an unmatched parenthesis891 properly handles when query is not present892 properly handles query when repo is empty893 when storage is broken894 raises a storage error895 result896 is expected to be a kind of String897 is expected to eq "master:CHANGELOG\u0000190\u0000 - Feature: Replace teams with group membership\n"898 search_files_by_name899 returns result900 ignores leading slashes901 properly handles when query is only slashes902 properly handles when query is not present903 properly handles query when repo is empty904 when storage is broken905 raises a storage error906 #search_files_by_wildcard_path907 when specifying a normal path908 returns the path909 when specifying a wildcard path910 returns files matching the path in the root folder911 when specifying a wildcard path for all912 returns all matching files in all folders913 when specifying a path to subfolders using two asterisks and a slash914 returns all files matching the path915 when specifying a wildcard path to subfolder with just two asterisks916 returns all files in the matching path917 when specifying a wildcard path to subfolder with one asterisk918 returns all files in the matching path919 when specifying a wildcard path for an unknown number of subfolder levels920 returns all matched files in all subfolders921 when specifying a wildcard path to one level of subfolders922 returns all matched files in one subfolder923 when sending regexp924 ignores the regexp and returns an empty array925 when sending another ref926 returns an empty array927 #fetch_as_mirror928 fetches the URL without creating a remote929 #fetch_ref930 when storage is broken931 raises a storage error932 #get_raw_changes933 with non-UTF8 bytes in paths934 returns the changes935 #create_ref936 redirects the call to write_ref937 #changelog938 accepts changelog939 accepts news instead of changelog940 accepts history instead of changelog941 accepts changes instead of changelog942 is case-insensitive943 #license_blob944 handles when HEAD points to non-existent ref945 looks in the root_ref only946 detects license file with no recognizable open-source license content947 detects 'LICENSE'948 detects 'LICENCE'949 detects 'LiCensE'950 detects 'LICENSE.md'951 detects 'LICENSE.foo'952 detects 'COPYING'953 detects 'COPYING.md'954 #license_key955 returns nil when no license is detected956 returns nil when the repository does not exist957 returns other when the content is not recognizable958 returns nil when the commit SHA does not exist959 returns nil when master does not exist960 returns the license key961 #license962 returns nil when no license is detected963 returns nil when the repository does not exist964 returns nil when license_key is not recognized965 returns other when the content is not recognizable966 returns the license967 #gitlab_ci_yml968 returns valid file969 returns nil if not exists970 returns nil for empty repository971 #ambiguous_ref?972 when ref is ambiguous973 is true974 when ref is not ambiguous975 is false976 #has_ambiguous_refs?977 branch_names: nil, tag_names: nil, result: false978 is expected to eq false979 branch_names: [], tag_names: [], result: false980 is expected to eq false981 branch_names: ["a", "b"], tag_names: [], result: false982 is expected to eq false983 branch_names: [], tag_names: ["c", "d"], result: false984 is expected to eq false985 branch_names: ["a", "b"], tag_names: ["c", "d"], result: false986 is expected to eq false987 branch_names: ["a/b"], tag_names: ["c/d"], result: false988 is expected to eq false989 branch_names: ["a", "b"], tag_names: ["c", "d", "a/z"], result: true990 is expected to eq true991 branch_names: ["a", "b", "c/z"], tag_names: ["c", "d"], result: true992 is expected to eq true993 branch_names: ["a/b/z"], tag_names: ["a/b"], result: false994 is expected to eq false995 branch_names: ["a/b/z"], tag_names: ["a/b", "a"], result: true996 is expected to eq true997 branch_names: ["ab"], tag_names: ["abc/d", "a", "b"], result: false998 is expected to eq false999 #expand_ref1000 when ref is not tag or branch name1001 returns nil1002 when ref is tag name1003 returns the tag ref1004 when ref is branch name1005 returns the branch ref1006 #add_branch1007 calls Gitaly's OperationService1008 creates_the_branch1009 with a non-existing target1010 returns false and doesn't create the branch1011 #exists?1012 returns true when a repository exists1013 returns false if no full path can be constructed1014 with broken storage1015 raises a storage error1016 behaves like asymmetric cached method1017 asymmetric caching1018 when it returns true1019 caches the output in RequestStore1020 caches the output in RepositoryCache1021 when it returns false1022 caches the output in RequestStore1023 does NOT cache the output in RepositoryCache1024 #has_visible_content?1025 delegates to raw_repository when true1026 delegates to raw_repository when false1027 behaves like asymmetric cached method1028 asymmetric caching1029 when it returns true1030 caches the output in RequestStore1031 caches the output in RepositoryCache1032 when it returns false1033 caches the output in RequestStore1034 does NOT cache the output in RepositoryCache1035 #branch_exists?1036 delegates to branch_names when the cache is empty1037 uses redis set caching when the cache is filled1038 #tag_exists?1039 delegates to tag_names when the cache is empty1040 uses redis set caching when the cache is filled1041 #branch_names1042 gets cached across Repository instances1043 #empty?1044 returns true for an empty repository1045 returns false for a non-empty repository1046 caches the output1047 #blobs_at1048 returns empty array for an empty repository1049 returns blob array for a non-empty repository1050 when Gitaly returns NoRepository1051 returns empty array1052 #root_ref1053 returns a branch name1054 caches the output1055 returns nil if the repository does not exist1056 behaves like asymmetric cached method1057 asymmetric caching1058 when it returns true1059 caches the output in RequestStore1060 caches the output in RepositoryCache1061 when it returns false1062 caches the output in RequestStore1063 does NOT cache the output in RepositoryCache1064 #expire_root_ref_cache1065 expires the root reference cache1066 #expire_branch_cache1067 expires the cache for all branches1068 expires the cache for all branches when the root branch is given1069 expires the cache for a specific branch1070 #expire_emptiness_caches1071 expires the caches for an empty repository1072 does not expire the cache for a non-empty repository1073 expires the memoized repository cache1074 skip_merges option1075 is expected not to include "e56497bb5f03a90a51293fc6d516788730953899"1076 #merge1077 merges the code and returns the commit id1078 sets the `in_progress_merge_commit_sha` flag for the given merge request1079 removes carriage returns from commit message1080 #merge_to_ref1081 writes merge of source SHA and first parent ref to MR merge_ref_path1082 #ff_merge1083 merges the code and return the commit id1084 sets the `in_progress_merge_commit_sha` flag for the given merge request1085 #rebase1086 executes the new Gitaly RPC1087 behaves like a method that can rebase successfully1088 returns the rebase commit sha1089 sets the `rebase_commit_sha` for the given merge request1090 rolling back the `rebase_commit_sha`1091 does not rollback when there are no errors1092 does rollback when a PreReceiveError is encountered in the second step1093 does rollback when a GitError is encountered in the second step1094 #revert1095 when there is a conflict1096 raises an error1097 when commit was already reverted1098 raises an error1099 when commit can be reverted1100 reverts the changes1101 reverting a merge commit1102 reverts the changes1103 #cherry_pick1104 when there is a conflict1105 raises an error1106 when commit was already cherry-picked1107 raises an error1108 when commit can be cherry-picked1109 cherry-picks the changes1110 cherry-picking a merge commit1111 cherry-picks the changes1112 #before_delete1113 when a repository does not exist1114 does not flush caches that depend on repository data1115 flushes the tags cache1116 flushes the branches cache1117 flushes the root ref cache1118 flushes the emptiness caches1119 flushes the exists cache1120 when a repository exists1121 flushes the tags cache1122 flushes the branches cache1123 flushes the root ref cache1124 flushes the emptiness caches1125 #before_change_head1126 flushes the branch cache1127 flushes the root ref cache1128 #after_change_head1129 flushes the method caches1130 calls after_repository_change_head on container1131 #expires_caches_for_tags1132 flushes the cache1133 #before_push_tag1134 logs an event1135 #after_push_commit1136 expires statistics caches1137 #after_create_branch1138 expires the branch caches1139 does not expire the branch caches when specified1140 #after_remove_branch1141 expires the branch caches1142 does not expire the branch caches when specified1143 #lookup1144 uses the lookup cache1145 returns the correct value1146 #after_create1147 calls expire_status_cache1148 logs an event1149 #expire_status_cache1150 flushes the exists cache1151 flushes the root ref cache1152 flushes the emptiness caches1153 #copy_gitattributes1154 returns true with a valid ref1155 returns false with an invalid ref1156 #before_remove_tag1157 flushes the tag cache1158 #branch_count1159 returns the number of branches1160 #tag_count1161 returns the number of tags1162 #expire_branches_cache1163 expires the cache1164 #expire_tags_cache1165 expires the cache1166 #add_tag1167 with a valid target1168 creates the tag1169 returns a Gitlab::Git::Tag object1170 with an invalid target1171 returns false1172 #rm_branch1173 removes a branch1174 when pre hooks failed1175 gets an error and does not delete the branch1176 #rm_tag1177 removes a tag1178 #find_tag1179 finds a tag with specified name by performing FindTag request1180 does not perform Gitaly call when tags are preloaded1181 returns nil when tag does not exists1182 when find_tag_via_gitaly is disabled1183 fetches all tags1184 #avatar1185 returns nil if repo does not exist1186 returns the first avatar file found in the repository1187 caches the output1188 #expire_exists_cache1189 expires the cache1190 expires the request store cache1191 #xcode_project?1192 when the root contains a *.xcodeproj directory1193 returns true1194 when the root contains a *.xcworkspace directory1195 returns true1196 when the root contains no Xcode config directory1197 returns false1198 #contribution_guide1199 returns and caches the output1200 #gitignore1201 returns and caches the output1202 #readme1203 with a non-existing repository1204 returns nil1205 with an existing repository1206 when no README exists1207 returns nil1208 #readme_path1209 with a non-existing repository1210 returns nil1211 with an existing repository1212 when no README exists1213 returns nil1214 when a README exists1215 returns the README1216 caches the response1217 #expire_statistics_caches1218 expires the caches1219 #expire_all_method_caches1220 expires the caches of all methods1221 all cache_method definitions are in the lists of method caches1222 #file_on_head1223 with a non-existing repository1224 returns nil1225 with a repository that has no blobs1226 returns nil1227 with an existing repository1228 returns a Gitlab::Git::Tree1229 #head_tree1230 with an existing repository1231 returns a Tree1232 with a non-existing repository1233 returns nil1234 behaves like #tree1235 using a non-existing repository1236 is expected to be nil1237 when path is defined1238 is expected to be nil1239 using an existing repository1240 is expected to be an instance of Tree1241 when different sha is set1242 is expected to be an instance of Tree1243 when recursive is true1244 is expected to be an instance of Tree1245 with pagination parameters1246 is expected to be an instance of Tree1247 #tree? with Rugged enabled1248 behaves like #tree1249 using a non-existing repository1250 is expected to be nil1251 when path is defined1252 is expected to be nil1253 using an existing repository1254 is expected to be an instance of Tree1255 when different sha is set1256 is expected to be an instance of Tree1257 when recursive is true1258 is expected to be an instance of Tree1259 with pagination parameters1260 is expected to be an instance of Tree1261 #size1262 with a non-existing repository1263 returns 01264 with an existing repository1265 returns the repository size as a Float1266 #local_branches1267 returns the local branches1268 #commit_count1269 with a non-existing repository1270 returns 01271 with an existing repository1272 returns the commit count1273 #commit_count_for_ref1274 with a non-existing repository1275 returns 01276 with empty repository1277 returns 01278 when searching for the root ref1279 returns the same count as #commit_count1280 #refresh_method_caches1281 refreshes the caches of the given types1282 #gitlab_ci_yml_for1283 when there is a .gitlab-ci.yml at the commit1284 returns the content1285 when there is no .gitlab-ci.yml at the commit1286 returns nil1287 #route_map_for1288 when there is a .gitlab/route-map.yml at the commit1289 returns the content1290 when there is no .gitlab/route-map.yml at the commit1291 returns nil1292 #ancestor? with Gitaly enabled1293 behaves like #ancestor?1294 is an ancestor1295 is not an ancestor1296 returns false on nil-values1297 returns false for invalid commit IDs1298 caching1299 only calls out to Gitaly once1300 returns the value from the request store1301 returns the value from the redis cache1302 #ancestor? with Rugged enabled1303 calls out to the Rugged implementation1304 behaves like #ancestor?1305 is an ancestor1306 is not an ancestor1307 returns false on nil-values1308 returns false for invalid commit IDs1309 #archive_metadata1310 with hashed storage disabled1311 uses the project path to generate the filename1312 with hashed storage enabled1313 uses the project path to generate the filename1314 commit cache1315 caches based on SHA1316 caches nil values1317 #raw_repository1318 returns a Gitlab::Git::Repository representation of the repository1319 with a wiki repository1320 creates a Gitlab::Git::Repository with the proper attributes1321 #contributors1322 returns the array of Gitlab::Contributor for the repository1323 order_by email1324 asc1325 returns all the contributors ordered by email asc case insensitive1326 desc1327 returns all the contributors ordered by email desc case insensitive1328 order_by name1329 asc1330 returns all the contributors ordered by name asc case insensitive1331 desc1332 returns all the contributors ordered by name desc case insensitive1333 order_by commits1334 asc1335 returns all the contributors ordered by commits asc1336 desc1337 returns all the contributors ordered by commits desc1338 invalid ordering1339 returns the contributors unsorted1340 invalid sorting1341 returns the contributors unsorted1342 #merge_base1343 only makes one gitaly call1344 #create_if_not_exists1345 creates the repository if it did not exist1346 returns true1347 calls out to the repository client to create a repo1348 it does nothing if the repository already existed1349 does nothing if the repository already existed1350 returns nil1351 when the repository exists but the cache is not up to date1352 does not raise errors1353 returns nil1354 #create_from_bundle1355 calls out to the raw_repository to create a repo from bundle1356 calls after_create1357 when exception is raised1358 after_create is not executed1359 #blobs_metadata1360 returns blob metadata in batch for HEAD1361 returns blob metadata for a specified ref1362 performs a single gitaly call1363 #project1364 returns the project for a project snippet1365 returns nil for a personal snippet1366 returns the project for a project wiki1367 returns the container if it is a project1368 returns nil if the container is not a project1369 #submodule_links1370 returns an instance of Gitlab::SubmoduleLinks1371 #lfs_enabled?1372 for a project repository1373 returns true when LFS is enabled1374 returns false when LFS is disabled1375 for a project wiki repository1376 delegates to the project1377 for a project snippet repository1378 returns false when LFS is enabled1379 for a personal snippet repository1380 returns false when LFS is enabled1381 for a design repository1382 returns true when LFS is enabled1383 returns false when LFS is disabled1384 .pick_storage_shard1385 when expire is false1386 does not expire existing repository storage value1387 when expire is true1388 expires existing repository storage value1389 #change_head1390 when the branch exists1391 returns truthy1392 does not call container.after_change_head_branch_does_not_exist1393 calls repository hooks1394 copies the gitattributes1395 reloads the default branch1396 when the branch does not exist1397 returns falsey1398 calls container.after_change_head_branch_does_not_exist1399 does not call repository hooks1400ProjectPolicy1401 does not include the read_issue permission when the issue author is not a member of the private project1402 with no project feature1403 returns false1404 behaves like model with wiki policies1405 container_level: :public, access_level: :enabled, membership: :admin, access: :all1406 allows actions based on membership1407 container_level: :public, access_level: :enabled, membership: :maintainer, access: :maintainer1408 allows actions based on membership1409 container_level: :public, access_level: :enabled, membership: :developer, access: :developer1410 allows actions based on membership1411 container_level: :public, access_level: :enabled, membership: :reporter, access: :reporter1412 allows actions based on membership1413 container_level: :public, access_level: :enabled, membership: :guest, access: :guest1414 allows actions based on membership1415 container_level: :public, access_level: :enabled, membership: :non_member, access: :guest1416 allows actions based on membership1417 container_level: :public, access_level: :enabled, membership: :anonymous, access: :guest1418 allows actions based on membership1419 container_level: :public, access_level: :private, membership: :admin, access: :all1420 allows actions based on membership1421 container_level: :public, access_level: :private, membership: :maintainer, access: :maintainer1422 allows actions based on membership1423 container_level: :public, access_level: :private, membership: :developer, access: :developer1424 allows actions based on membership1425 container_level: :public, access_level: :private, membership: :reporter, access: :reporter1426 allows actions based on membership1427 container_level: :public, access_level: :private, membership: :guest, access: :guest1428 allows actions based on membership1429 container_level: :public, access_level: :private, membership: :non_member, access: nil1430 allows actions based on membership1431 container_level: :public, access_level: :private, membership: :anonymous, access: nil1432 allows actions based on membership1433 container_level: :public, access_level: :disabled, membership: :admin, access: nil1434 allows actions based on membership1435 container_level: :public, access_level: :disabled, membership: :maintainer, access: nil1436 allows actions based on membership1437 container_level: :public, access_level: :disabled, membership: :developer, access: nil1438 allows actions based on membership1439 container_level: :public, access_level: :disabled, membership: :reporter, access: nil1440 allows actions based on membership1441 container_level: :public, access_level: :disabled, membership: :guest, access: nil1442 allows actions based on membership1443 container_level: :public, access_level: :disabled, membership: :non_member, access: nil1444 allows actions based on membership1445 container_level: :public, access_level: :disabled, membership: :anonymous, access: nil1446 allows actions based on membership1447 container_level: :internal, access_level: :enabled, membership: :admin, access: :all1448 allows actions based on membership1449 container_level: :internal, access_level: :enabled, membership: :maintainer, access: :maintainer1450 allows actions based on membership1451 container_level: :internal, access_level: :enabled, membership: :developer, access: :developer1452 allows actions based on membership1453 container_level: :internal, access_level: :enabled, membership: :reporter, access: :reporter1454 allows actions based on membership1455 container_level: :internal, access_level: :enabled, membership: :guest, access: :guest1456 allows actions based on membership1457 container_level: :internal, access_level: :enabled, membership: :non_member, access: :guest1458 allows actions based on membership1459 container_level: :internal, access_level: :enabled, membership: :anonymous, access: nil1460 allows actions based on membership1461 container_level: :internal, access_level: :private, membership: :admin, access: :all1462 allows actions based on membership1463 container_level: :internal, access_level: :private, membership: :maintainer, access: :maintainer1464 allows actions based on membership1465 container_level: :internal, access_level: :private, membership: :developer, access: :developer1466 allows actions based on membership1467 container_level: :internal, access_level: :private, membership: :reporter, access: :reporter1468 allows actions based on membership1469 container_level: :internal, access_level: :private, membership: :guest, access: :guest1470 allows actions based on membership1471 container_level: :internal, access_level: :private, membership: :non_member, access: nil1472 allows actions based on membership1473 container_level: :internal, access_level: :private, membership: :anonymous, access: nil1474 allows actions based on membership1475 container_level: :internal, access_level: :disabled, membership: :admin, access: nil1476 allows actions based on membership1477 container_level: :internal, access_level: :disabled, membership: :maintainer, access: nil1478 allows actions based on membership1479 container_level: :internal, access_level: :disabled, membership: :developer, access: nil1480 allows actions based on membership1481 container_level: :internal, access_level: :disabled, membership: :reporter, access: nil1482 allows actions based on membership1483 container_level: :internal, access_level: :disabled, membership: :guest, access: nil1484 allows actions based on membership1485 container_level: :internal, access_level: :disabled, membership: :non_member, access: nil1486 allows actions based on membership1487 container_level: :internal, access_level: :disabled, membership: :anonymous, access: nil1488 allows actions based on membership1489 container_level: :private, access_level: :private, membership: :admin, access: :all1490 allows actions based on membership1491 container_level: :private, access_level: :private, membership: :maintainer, access: :maintainer1492 allows actions based on membership1493 container_level: :private, access_level: :private, membership: :developer, access: :developer1494 allows actions based on membership1495 container_level: :private, access_level: :private, membership: :reporter, access: :reporter1496 allows actions based on membership1497 container_level: :private, access_level: :private, membership: :guest, access: :guest1498 allows actions based on membership1499 container_level: :private, access_level: :private, membership: :non_member, access: nil1500 allows actions based on membership1501 container_level: :private, access_level: :private, membership: :anonymous, access: nil1502 allows actions based on membership1503 container_level: :private, access_level: :disabled, membership: :admin, access: nil1504 allows actions based on membership1505 container_level: :private, access_level: :disabled, membership: :maintainer, access: nil1506 allows actions based on membership1507 container_level: :private, access_level: :disabled, membership: :developer, access: nil1508 allows actions based on membership1509 container_level: :private, access_level: :disabled, membership: :reporter, access: nil1510 allows actions based on membership1511 container_level: :private, access_level: :disabled, membership: :guest, access: nil1512 allows actions based on membership1513 container_level: :private, access_level: :disabled, membership: :non_member, access: nil1514 allows actions based on membership1515 container_level: :private, access_level: :disabled, membership: :anonymous, access: nil1516 allows actions based on membership1517 issues feature1518 when the feature is disabled1519 does not include the issues permissions1520 disables boards and lists permissions1521 when external tracker configured1522 does not include the issues permissions1523 merge requests feature1524 disallows all permissions when the feature is disabled1525 for a guest in a private project1526 disallows the guest from reading the merge request and merge request iid1527 pipeline feature1528 for confirmed user1529 allows modify pipelines1530 for unconfirmed user1531 disallows to modify pipelines1532 destroy permission1533 for developers1534 prevents :destroy_pipeline1535 for maintainers1536 prevents :destroy_pipeline1537 for project owner1538 allows :destroy_pipeline1539 on archived projects1540 prevents :destroy_pipeline1541 on archived pending_delete projects1542 allows :destroy_pipeline1543 builds feature1544 when builds are disabled1545 disallows all permissions except pipeline when the feature is disabled1546 when builds are disabled only for some users1547 disallows pipeline and commit_status permissions1548 repository feature1549 when user is a project member1550 when it is disabled1551 disallows all permissions1552 when user is non-member1553 when access level is private1554 disallows all permissions1555 behaves like project policies as anonymous1556 abilities for public projects1557 when a project has pending invites1558 does not grant owner access1559 behaves like archived project policies1560 when the project is archived1561 disables write actions on all relevant project features1562 disables some other important write actions1563 does not disable other abilities1564 abilities for non-public projects1565 is expected to be banned1566 behaves like project policies as guest1567 abilities for non-public projects1568 is expected not to be allowed :set_note_created_at1569 behaves like deploy token does not get confused with user1570 is expected not to be allowed :set_note_created_at1571 behaves like archived project policies1572 when the project is archived1573 disables write actions on all relevant project features1574 disables some other important write actions1575 does not disable other abilities1576 public builds enabled1577 is expected to be allowed :read_pipeline1578 when public builds disabled1579 is expected not to be allowed :read_pipeline1580 when builds are disabled1581 is expected to be allowed :read_pipeline1582 behaves like project policies as reporter1583 abilities for non-public projects1584 is expected not to be allowed :set_note_created_at1585 behaves like deploy token does not get confused with user1586 is expected not to be allowed :set_note_created_at1587 behaves like archived project policies1588 when the project is archived1589 disables write actions on all relevant project features1590 disables some other important write actions1591 does not disable other abilities1592 behaves like project policies as developer1593 abilities for non-public projects1594 is expected not to be allowed :set_note_created_at1595 behaves like deploy token does not get confused with user1596 is expected not to be allowed :set_note_created_at1597 behaves like archived project policies1598 when the project is archived1599 disables write actions on all relevant project features1600 disables some other important write actions1601 does not disable other abilities1602 behaves like project policies as maintainer1603 abilities for non-public projects1604 is expected not to be allowed :set_note_created_at1605 behaves like deploy token does not get confused with user1606 is expected not to be allowed :set_note_created_at1607 behaves like archived project policies1608 when the project is archived1609 disables write actions on all relevant project features1610 disables some other important write actions1611 does not disable other abilities1612 behaves like project policies as owner1613 abilities for non-public projects1614 is expected to be allowed :set_note_created_at1615 behaves like deploy token does not get confused with user1616 is expected not to be allowed :set_note_created_at1617 behaves like archived project policies1618 when the project is archived1619 disables write actions on all relevant project features1620 disables some other important write actions1621 does not disable other abilities1622 behaves like project policies as admin with admin mode1623 abilities for non-public projects1624 is expected to be allowed :set_note_created_at1625 deploy token does not get confused with user1626 is expected not to be allowed :set_note_created_at1627 behaves like archived project policies1628 when the project is archived1629 disables write actions on all relevant project features1630 disables some other important write actions1631 does not disable other abilities1632 abilities for all project visibility1633 behaves like project private features with read_all_resources ability1634 for public projects1635 allows the download_code ability1636 for internal projects1637 allows the download_code ability1638 for private projects1639 allows the download_code ability1640 behaves like project policies as admin without admin mode1641 abilities for non-public projects1642 is expected to be banned1643 deploy token does not get confused with user1644 is expected to be banned1645 when a public project has merge requests allowing access1646 does not allow pushing code1647 allows pushing if the user is a member with push access to the target project1648 disallows abilities to a maintainer if the merge request was closed1649 behaves like clusterable policies1650 #add_cluster?1651 with a developer1652 is expected not to be allowed :read_cluster1653 is expected not to be allowed :add_cluster1654 is expected not to be allowed :create_cluster1655 is expected not to be allowed :update_cluster1656 is expected not to be allowed :admin_cluster1657 with a maintainer1658 with no clusters1659 is expected to be allowed :read_cluster1660 is expected to be allowed :add_cluster1661 is expected to be allowed :create_cluster1662 is expected to be allowed :update_cluster1663 is expected to be allowed :admin_cluster1664 reading a project1665 allows access when a user has read access to the repo1666 never checks the external service1667 with an external authorization service1668 allows access when the external service allows it1669 prevents all but seeing a public project in a list when access is denied1670 passes the full path to external authorization for logging purposes1671 with an admin1672 when admin mode is enabled1673 does not check the external service and allows access1674 when admin mode is disabled1675 checks the external service and allows access1676 forking a project1677 anonymous user1678 is expected to be disallowed :fork_project1679 project member1680 guest1681 is expected to be disallowed :fork_project1682 reporter1683 is expected to be allowed :fork_project1684 developer1685 is expected to be allowed :fork_project1686 maintainer1687 is expected to be allowed :fork_project1688 update_max_artifacts_size1689 when no user1690 is expected not to be allowed :update_max_artifacts_size1691 admin1692 when admin mode is enabled1693 is expected to be allowed :update_max_artifacts_size1694 when admin mode is disabled1695 is expected not to be allowed :update_max_artifacts_size1696 guest1697 is expected not to be allowed :update_max_artifacts_size1698 reporter1699 is expected not to be allowed :update_max_artifacts_size1700 developer1701 is expected not to be allowed :update_max_artifacts_size1702 maintainer1703 is expected not to be allowed :update_max_artifacts_size1704 owner1705 is expected not to be allowed :update_max_artifacts_size1706 read_storage_disk_path1707 when no user1708 is expected not to be allowed :read_storage_disk_path1709 admin1710 when admin mode is enabled1711 is expected to be allowed :read_storage_disk_path1712 when admin mode is disabled1713 is expected not to be allowed :read_storage_disk_path1714 guest1715 is expected not to be allowed :read_storage_disk_path1716 reporter1717 is expected not to be allowed :read_storage_disk_path1718 developer1719 is expected not to be allowed :read_storage_disk_path1720 maintainer1721 is expected not to be allowed :read_storage_disk_path1722 owner1723 is expected not to be allowed :read_storage_disk_path1724 alert bot1725 is expected to be allowed :reporter_access1726 within a private project1727 is expected to be allowed :admin_issue1728 set_pipeline_variables1729 when user is developer1730 when project allows user defined variables1731 is expected to be allowed :set_pipeline_variables1732 when project restricts use of user defined variables1733 is expected not to be allowed :set_pipeline_variables1734 when user is maintainer1735 when project allows user defined variables1736 is expected to be allowed :set_pipeline_variables1737 when project restricts use of user defined variables1738 is expected to be allowed :set_pipeline_variables1739 support bot1740 with service desk disabled1741 is expected to be allowed :public_access1742 is expected not to be allowed :read_project1743 with service desk enabled1744 is expected to be allowed :read_issue1745 when issues are protected members only1746 is expected to be allowed :read_issue1747 project bots1748 project_bot_access1749 when regular user and part of the project1750 is expected not to be allowed :project_bot_access1751 when project bot and not part of the project1752 is expected not to be allowed :project_bot_access1753 when project bot and part of the project1754 is expected to be allowed :project_bot_access1755 with resource access tokens1756 is expected not to be allowed :create_resource_access_tokens1757 read_prometheus_alerts1758 with admin1759 when admin mode is enabled1760 is expected to be allowed :read_prometheus_alerts1761 when admin mode is disabled1762 is expected to be disallowed :read_prometheus_alerts1763 with owner1764 is expected to be allowed :read_prometheus_alerts1765 with maintainer1766 is expected to be allowed :read_prometheus_alerts1767 with developer1768 is expected to be disallowed :read_prometheus_alerts1769 with reporter1770 is expected to be disallowed :read_prometheus_alerts1771 with guest1772 is expected to be disallowed :read_prometheus_alerts1773 with anonymous1774 is expected to be disallowed :read_prometheus_alerts1775 metrics_dashboard feature1776 public project1777 feature private1778 with reporter1779 is expected to be allowed :metrics_dashboard1780 is expected to be allowed :read_prometheus1781 is expected to be allowed :read_deployment1782 is expected to be allowed :read_metrics_user_starred_dashboard1783 is expected to be allowed :create_metrics_user_starred_dashboard1784 with guest1785 is expected to be disallowed :metrics_dashboard1786 with anonymous1787 is expected to be disallowed :metrics_dashboard1788 feature enabled1789 with reporter1790 is expected to be allowed :metrics_dashboard1791 is expected to be allowed :read_prometheus1792 is expected to be allowed :read_deployment1793 is expected to be allowed :read_metrics_user_starred_dashboard1794 is expected to be allowed :create_metrics_user_starred_dashboard1795 with guest1796 is expected to be allowed :metrics_dashboard1797 is expected to be allowed :read_prometheus1798 is expected to be allowed :read_deployment1799 is expected to be allowed :read_metrics_user_starred_dashboard1800 is expected to be allowed :create_metrics_user_starred_dashboard1801 with anonymous1802 is expected to be allowed :metrics_dashboard1803 is expected to be allowed :read_prometheus1804 is expected to be allowed :read_deployment1805 is expected to be disallowed :read_metrics_user_starred_dashboard1806 is expected to be disallowed :create_metrics_user_starred_dashboard1807 internal project1808 feature private1809 with reporter1810 is expected to be allowed :metrics_dashboard1811 is expected to be allowed :read_prometheus1812 is expected to be allowed :read_deployment1813 is expected to be allowed :read_metrics_user_starred_dashboard1814 is expected to be allowed :create_metrics_user_starred_dashboard1815 with guest1816 is expected to be disallowed :metrics_dashboard1817 with anonymous1818 is expected to be disallowed :metrics_dashboard1819 feature enabled1820 with reporter1821 is expected to be allowed :metrics_dashboard1822 is expected to be allowed :read_prometheus1823 is expected to be allowed :read_deployment1824 is expected to be allowed :read_metrics_user_starred_dashboard1825 is expected to be allowed :create_metrics_user_starred_dashboard1826 with guest1827 is expected to be allowed :metrics_dashboard1828 is expected to be allowed :read_prometheus1829 is expected to be allowed :read_deployment1830 is expected to be allowed :read_metrics_user_starred_dashboard1831 is expected to be allowed :create_metrics_user_starred_dashboard1832 with anonymous1833 is expected to be disallowed :metrics_dashboard1834 private project1835 feature private1836 with reporter1837 is expected to be allowed :metrics_dashboard1838 is expected to be allowed :read_prometheus1839 is expected to be allowed :read_deployment1840 is expected to be allowed :read_metrics_user_starred_dashboard1841 is expected to be allowed :create_metrics_user_starred_dashboard1842 with guest1843 is expected to be disallowed :metrics_dashboard1844 with anonymous1845 is expected to be disallowed :metrics_dashboard1846 feature enabled1847 with reporter1848 is expected to be allowed :metrics_dashboard1849 is expected to be allowed :read_prometheus1850 is expected to be allowed :read_deployment1851 is expected to be allowed :read_metrics_user_starred_dashboard1852 is expected to be allowed :create_metrics_user_starred_dashboard1853 with guest1854 is expected to be disallowed :metrics_dashboard1855 with anonymous1856 is expected to be disallowed :metrics_dashboard1857 feature disabled1858 with reporter1859 is expected to be disallowed :metrics_dashboard1860 with guest1861 is expected to be disallowed :metrics_dashboard1862 with anonymous1863 is expected to be disallowed :metrics_dashboard1864 deploy key access1865 private project1866 when a read deploy key is enabled in the project1867 is expected to be allowed :download_code1868 is expected to be disallowed :push_code1869 is expected to be disallowed :read_project1870 when a write deploy key is enabled in the project1871 is expected to be allowed :download_code1872 is expected to be allowed :push_code1873 is expected to be disallowed :read_project1874 when the deploy key is not enabled in the project1875 is expected to be disallowed :download_code1876 is expected to be disallowed :push_code1877 is expected to be disallowed :read_project1878 deploy token access1879 a deploy token with read_package_registry scope1880 is expected to be allowed :read_package1881 is expected to be allowed :read_project1882 is expected to be disallowed :create_package1883 behaves like package access with repository disabled1884 when repository is disabled1885 is expected to be allowed :read_package1886 a deploy token with write_package_registry scope1887 is expected to be allowed :create_package1888 is expected to be allowed :read_package1889 is expected to be allowed :read_project1890 is expected to be disallowed :destroy_package1891 behaves like package access with repository disabled1892 when repository is disabled1893 is expected to be allowed :read_package1894 create_web_ide_terminal1895 with admin1896 when admin mode enabled1897 is expected to be allowed :create_web_ide_terminal1898 when admin mode disabled1899 is expected to be disallowed :create_web_ide_terminal1900 with owner1901 is expected to be allowed :create_web_ide_terminal1902 with maintainer1903 is expected to be allowed :create_web_ide_terminal1904 with developer1905 is expected to be disallowed :create_web_ide_terminal1906 with reporter1907 is expected to be disallowed :create_web_ide_terminal1908 with guest1909 is expected to be disallowed :create_web_ide_terminal1910 with non member1911 is expected to be disallowed :create_web_ide_terminal1912 with anonymous1913 is expected to be disallowed :create_web_ide_terminal1914 read_repository_graphs1915 when user can download_code1916 is expected to be allowed :read_repository_graphs1917 when user cannot download_code1918 is expected to be disallowed :read_repository_graphs1919 security configuration feature1920 guest1921 prevents reading security configuration1922 reporter1923 prevents reading security configuration1924 developer1925 allows reading security configuration1926 maintainer1927 allows reading security configuration1928 owner1929 allows reading security configuration1930 infrastructure google cloud feature1931 guest1932 disallows managing google cloud1933 reporter1934 disallows managing google cloud1935 developer1936 disallows managing google cloud1937 maintainer1938 allows managing google cloud1939 owner1940 allows managing google cloud1941 design permissions1942 when design management is not available1943 is expected not to be allowed :read_design_activity and :read_design1944 when design management is available1945 is expected to be allowed :read_design_activity and :read_design1946 read_build_report_results1947 when user can read_build and read_pipeline1948 is expected to be allowed :read_build_report_results1949 when user can read_build but cannot read_pipeline1950 is expected to be disallowed :read_build_report_results1951 when user cannot read_build but can read_pipeline1952 is expected to be disallowed :read_build_report_results1953 when user cannot read_build and cannot read_pipeline1954 is expected to be disallowed :read_build_report_results1955 read_package1956 with admin1957 is expected to be allowed :read_package1958 behaves like package access with repository disabled1959 when repository is disabled1960 is expected to be allowed :read_package1961 with owner1962 is expected to be allowed :read_package1963 with maintainer1964 is expected to be allowed :read_package1965 with developer1966 is expected to be allowed :read_package1967 with reporter1968 is expected to be allowed :read_package1969 with guest1970 is expected to be allowed :read_package1971 with non member1972 is expected to be allowed :read_package1973 with anonymous1974 is expected to be allowed :read_package1975 read_feature_flag1976 with maintainer1977 when repository is available1978 is expected to be allowed :read_feature_flag1979 when repository is disabled1980 is expected to be disallowed :read_feature_flag1981 with developer1982 when repository is available1983 is expected to be allowed :read_feature_flag1984 with reporter1985 when repository is available1986 is expected to be disallowed :read_feature_flag1987 read_analytics1988 anonymous user1989 is expected to be allowed :read_analytics1990 with various analytics features1991 when analytics is disabled for the project1992 for guest user1993 is expected to be disallowed :read_cycle_analytics1994 is expected to be disallowed :read_insights1995 is expected to be disallowed :read_repository_graphs1996 is expected to be disallowed :read_ci_cd_analytics1997 for reporter user1998 is expected to be disallowed :read_cycle_analytics1999 is expected to be disallowed :read_insights2000 is expected to be disallowed :read_repository_graphs2001 is expected to be disallowed :read_ci_cd_analytics2002 for developer2003 is expected to be disallowed :read_cycle_analytics2004 is expected to be disallowed :read_insights2005 is expected to be disallowed :read_repository_graphs2006 is expected to be disallowed :read_ci_cd_analytics2007 when analytics is private for the project2008 for guest user2009 is expected to be allowed :read_cycle_analytics2010 is expected to be allowed :read_insights2011 is expected to be disallowed :read_repository_graphs2012 is expected to be disallowed :read_ci_cd_analytics2013 for reporter user2014 is expected to be allowed :read_cycle_analytics2015 is expected to be allowed :read_insights2016 is expected to be allowed :read_repository_graphs2017 is expected to be allowed :read_ci_cd_analytics2018 for developer2019 is expected to be allowed :read_cycle_analytics2020 is expected to be allowed :read_insights2021 is expected to be allowed :read_repository_graphs2022 is expected to be allowed :read_ci_cd_analytics2023 when analytics is enabled for the project2024 for guest user2025 is expected to be allowed :read_cycle_analytics2026 is expected to be allowed :read_insights2027 is expected to be disallowed :read_repository_graphs2028 is expected to be disallowed :read_ci_cd_analytics2029 for reporter user2030 is expected to be allowed :read_cycle_analytics2031 is expected to be allowed :read_insights2032 is expected to be allowed :read_repository_graphs2033 is expected to be allowed :read_ci_cd_analytics2034 for developer2035 is expected to be allowed :read_cycle_analytics2036 is expected to be allowed :read_insights2037 is expected to be allowed :read_repository_graphs2038 is expected to be allowed :read_ci_cd_analytics2039 project member2040 guest2041 is expected to be allowed :read_analytics2042 without access to Analytics2043 is expected to be disallowed :read_analytics2044 reporter2045 is expected to be allowed :read_analytics2046 without access to Analytics2047 is expected to be disallowed :read_analytics2048 developer2049 is expected to be allowed :read_analytics2050 without access to Analytics2051 is expected to be disallowed :read_analytics2052 maintainer2053 is expected to be allowed :read_analytics2054 without access to Analytics2055 is expected to be disallowed :read_analytics2056 behaves like Self-managed Core resource access tokens2057 with owner access2058 create resource access tokens2059 is expected to be allowed :create_resource_access_tokens2060 when resource access token creation is not allowed2061 is expected not to be allowed :create_resource_access_tokens2062 when parent group has project access token creation disabled2063 is expected not to be allowed :create_resource_access_tokens2064 with a personal namespace project2065 is expected to be allowed :create_resource_access_tokens2066 read resource access tokens2067 is expected to be allowed :read_resource_access_tokens2068 destroy resource access tokens2069 is expected to be allowed :destroy_resource_access_tokens2070 with developer access2071 create resource access tokens2072 is expected not to be allowed :create_resource_access_tokens2073 read resource access tokens2074 is expected not to be allowed :read_resource_access_tokens2075 destroy resource access tokens2076 is expected not to be allowed :destroy_resource_access_tokens2077 operations feature2078 project_visibility: :public, access_level: 20, role: :maintainer, allowed: true2079 allows/disallows the abilities based on the operation feature access level2080 project_visibility: :public, access_level: 20, role: :developer, allowed: true2081 allows/disallows the abilities based on the operation feature access level2082 project_visibility: :public, access_level: 20, role: :guest, allowed: true2083 allows/disallows the abilities based on the operation feature access level2084 project_visibility: :public, access_level: 20, role: :anonymous, allowed: true2085 allows/disallows the abilities based on the operation feature access level2086 project_visibility: :public, access_level: 10, role: :maintainer, allowed: true2087 allows/disallows the abilities based on the operation feature access level2088 project_visibility: :public, access_level: 10, role: :developer, allowed: true2089 allows/disallows the abilities based on the operation feature access level2090 project_visibility: :public, access_level: 10, role: :guest, allowed: true2091 allows/disallows the abilities based on the operation feature access level2092 project_visibility: :public, access_level: 10, role: :anonymous, allowed: false2093 allows/disallows the abilities based on the operation feature access level2094 project_visibility: :public, access_level: 0, role: :maintainer, allowed: false2095 allows/disallows the abilities based on the operation feature access level2096 project_visibility: :public, access_level: 0, role: :developer, allowed: false2097 allows/disallows the abilities based on the operation feature access level2098 project_visibility: :public, access_level: 0, role: :guest, allowed: false2099 allows/disallows the abilities based on the operation feature access level2100 project_visibility: :public, access_level: 0, role: :anonymous, allowed: false2101 allows/disallows the abilities based on the operation feature access level2102 project_visibility: :internal, access_level: 20, role: :maintainer, allowed: true2103 allows/disallows the abilities based on the operation feature access level2104 project_visibility: :internal, access_level: 20, role: :developer, allowed: true2105 allows/disallows the abilities based on the operation feature access level2106 project_visibility: :internal, access_level: 20, role: :guest, allowed: true2107 allows/disallows the abilities based on the operation feature access level2108 project_visibility: :internal, access_level: 20, role: :anonymous, allowed: false2109 allows/disallows the abilities based on the operation feature access level2110 project_visibility: :internal, access_level: 10, role: :maintainer, allowed: true2111 allows/disallows the abilities based on the operation feature access level2112 project_visibility: :internal, access_level: 10, role: :developer, allowed: true2113 allows/disallows the abilities based on the operation feature access level2114 project_visibility: :internal, access_level: 10, role: :guest, allowed: true2115 allows/disallows the abilities based on the operation feature access level2116 project_visibility: :internal, access_level: 10, role: :anonymous, allowed: false2117 allows/disallows the abilities based on the operation feature access level2118 project_visibility: :internal, access_level: 0, role: :maintainer, allowed: false2119 allows/disallows the abilities based on the operation feature access level2120 project_visibility: :internal, access_level: 0, role: :developer, allowed: false2121 allows/disallows the abilities based on the operation feature access level2122 project_visibility: :internal, access_level: 0, role: :guest, allowed: false2123 allows/disallows the abilities based on the operation feature access level2124 project_visibility: :internal, access_level: 0, role: :anonymous, allowed: false2125 allows/disallows the abilities based on the operation feature access level2126 project_visibility: :private, access_level: 20, role: :maintainer, allowed: true2127 allows/disallows the abilities based on the operation feature access level2128 project_visibility: :private, access_level: 20, role: :developer, allowed: true2129 allows/disallows the abilities based on the operation feature access level2130 project_visibility: :private, access_level: 20, role: :guest, allowed: false2131 allows/disallows the abilities based on the operation feature access level2132 project_visibility: :private, access_level: 20, role: :anonymous, allowed: false2133 allows/disallows the abilities based on the operation feature access level2134 project_visibility: :private, access_level: 10, role: :maintainer, allowed: true2135 allows/disallows the abilities based on the operation feature access level2136 project_visibility: :private, access_level: 10, role: :developer, allowed: true2137 allows/disallows the abilities based on the operation feature access level2138 project_visibility: :private, access_level: 10, role: :guest, allowed: false2139 allows/disallows the abilities based on the operation feature access level2140 project_visibility: :private, access_level: 10, role: :anonymous, allowed: false2141 allows/disallows the abilities based on the operation feature access level2142 project_visibility: :private, access_level: 0, role: :maintainer, allowed: false2143 allows/disallows the abilities based on the operation feature access level2144 project_visibility: :private, access_level: 0, role: :developer, allowed: false2145 allows/disallows the abilities based on the operation feature access level2146 project_visibility: :private, access_level: 0, role: :guest, allowed: false2147 allows/disallows the abilities based on the operation feature access level2148 project_visibility: :private, access_level: 0, role: :anonymous, allowed: false2149 allows/disallows the abilities based on the operation feature access level2150 access_security_and_compliance2151 when the "Security & Compliance" is enabled2152 when the role is owner2153 is expected to be allowed :access_security_and_compliance2154 when the role is maintainer2155 is expected to be allowed :access_security_and_compliance2156 when the role is developer2157 is expected to be allowed :access_security_and_compliance2158 with admin2159 when admin mode enabled2160 is expected to be allowed :access_security_and_compliance2161 when admin mode disabled2162 is expected to be disallowed :access_security_and_compliance2163 when the role is reporter2164 is expected to be disallowed :access_security_and_compliance2165 when the role is guest2166 is expected to be disallowed :access_security_and_compliance2167 with non member2168 is expected to be disallowed :access_security_and_compliance2169 with anonymous2170 is expected to be disallowed :access_security_and_compliance2171 when the "Security & Compliance" is not enabled2172 when the role is owner2173 is expected to be disallowed :access_security_and_compliance2174 when the role is maintainer2175 is expected to be disallowed :access_security_and_compliance2176 when the role is developer2177 is expected to be disallowed :access_security_and_compliance2178 when the role is reporter2179 is expected to be disallowed :access_security_and_compliance2180 when the role is guest2181 is expected to be disallowed :access_security_and_compliance2182 with admin2183 when admin mode enabled2184 is expected to be disallowed :access_security_and_compliance2185 when admin mode disabled2186 is expected to be disallowed :access_security_and_compliance2187 with non member2188 is expected to be disallowed :access_security_and_compliance2189 with anonymous2190 is expected to be disallowed :access_security_and_compliance2191 when user is authenticated via CI_JOB_TOKEN2192 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2193 enforces the expected permissions2194 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2195 enforces the expected permissions2196 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: false2197 enforces the expected permissions2198 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2199 enforces the expected permissions2200 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2201 enforces the expected permissions2202 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2203 enforces the expected permissions2204 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: false2205 enforces the expected permissions2206 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2207 enforces the expected permissions2208 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2209 enforces the expected permissions2210 project_visibility: :internal, user_role: :reporter, external_user: true, scope_project_type: :same, token_scope_enabled: true, result: true2211 enforces the expected permissions2212 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2213 enforces the expected permissions2214 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true2215 enforces the expected permissions2216 project_visibility: :internal, user_role: :reporter, external_user: true, scope_project_type: :different, token_scope_enabled: true, result: false2217 enforces the expected permissions2218 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2219 enforces the expected permissions2220 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2221 enforces the expected permissions2222 project_visibility: :internal, user_role: :guest, external_user: true, scope_project_type: :same, token_scope_enabled: true, result: true2223 enforces the expected permissions2224 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2225 enforces the expected permissions2226 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true2227 enforces the expected permissions2228 project_visibility: :internal, user_role: :guest, external_user: true, scope_project_type: :different, token_scope_enabled: true, result: false2229 enforces the expected permissions2230 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2231 enforces the expected permissions2232 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2233 enforces the expected permissions2234 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2235 enforces the expected permissions2236 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true2237 enforces the expected permissions2238 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2239 enforces the expected permissions2240 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true2241 enforces the expected permissions2242 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true2243 enforces the expected permissions2244 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true2245 enforces the expected permissions2246 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true2247 enforces the expected permissions2248 container_image policies2249 project_visibility: :public, access_level: 20, role: :admin, allowed: true2250 allows/disallows the abilities based on the container_registry feature access level2251 allows build_read_container_image to admins who are also team members2252 project_visibility: :public, access_level: 20, role: :owner, allowed: true2253 allows/disallows the abilities based on the container_registry feature access level2254 allows build_read_container_image to admins who are also team members2255 project_visibility: :public, access_level: 20, role: :maintainer, allowed: true2256 allows/disallows the abilities based on the container_registry feature access level2257 allows build_read_container_image to admins who are also team members2258 project_visibility: :public, access_level: 20, role: :developer, allowed: true2259 allows/disallows the abilities based on the container_registry feature access level2260 allows build_read_container_image to admins who are also team members2261 project_visibility: :public, access_level: 20, role: :reporter, allowed: true2262 allows/disallows the abilities based on the container_registry feature access level2263 allows build_read_container_image to admins who are also team members2264 project_visibility: :public, access_level: 20, role: :guest, allowed: true2265 allows/disallows the abilities based on the container_registry feature access level2266 allows build_read_container_image to admins who are also team members2267 project_visibility: :public, access_level: 20, role: :anonymous, allowed: true2268 allows/disallows the abilities based on the container_registry feature access level2269 allows build_read_container_image to admins who are also team members2270 project_visibility: :public, access_level: 10, role: :admin, allowed: true2271 allows/disallows the abilities based on the container_registry feature access level2272 allows build_read_container_image to admins who are also team members2273 project_visibility: :public, access_level: 10, role: :owner, allowed: true2274 allows/disallows the abilities based on the container_registry feature access level2275 allows build_read_container_image to admins who are also team members2276 project_visibility: :public, access_level: 10, role: :maintainer, allowed: true2277 allows/disallows the abilities based on the container_registry feature access level2278 allows build_read_container_image to admins who are also team members2279 project_visibility: :public, access_level: 10, role: :developer, allowed: true2280 allows/disallows the abilities based on the container_registry feature access level2281 allows build_read_container_image to admins who are also team members2282 project_visibility: :public, access_level: 10, role: :reporter, allowed: true2283 allows/disallows the abilities based on the container_registry feature access level2284 allows build_read_container_image to admins who are also team members2285 project_visibility: :public, access_level: 10, role: :guest, allowed: false2286 allows/disallows the abilities based on the container_registry feature access level2287 allows build_read_container_image to admins who are also team members2288 project_visibility: :public, access_level: 10, role: :anonymous, allowed: false2289 allows/disallows the abilities based on the container_registry feature access level2290 allows build_read_container_image to admins who are also team members2291 project_visibility: :public, access_level: 0, role: :admin, allowed: false2292 allows/disallows the abilities based on the container_registry feature access level2293 allows build_read_container_image to admins who are also team members2294 project_visibility: :public, access_level: 0, role: :owner, allowed: false2295 allows/disallows the abilities based on the container_registry feature access level2296 allows build_read_container_image to admins who are also team members2297 project_visibility: :public, access_level: 0, role: :maintainer, allowed: false2298 allows/disallows the abilities based on the container_registry feature access level2299 allows build_read_container_image to admins who are also team members2300 project_visibility: :public, access_level: 0, role: :developer, allowed: false2301 allows/disallows the abilities based on the container_registry feature access level2302 allows build_read_container_image to admins who are also team members2303 project_visibility: :public, access_level: 0, role: :reporter, allowed: false2304 allows/disallows the abilities based on the container_registry feature access level2305 allows build_read_container_image to admins who are also team members2306 project_visibility: :public, access_level: 0, role: :guest, allowed: false2307 allows/disallows the abilities based on the container_registry feature access level2308 allows build_read_container_image to admins who are also team members2309 project_visibility: :public, access_level: 0, role: :anonymous, allowed: false2310 allows/disallows the abilities based on the container_registry feature access level2311 allows build_read_container_image to admins who are also team members2312 project_visibility: :internal, access_level: 20, role: :admin, allowed: true2313 allows/disallows the abilities based on the container_registry feature access level2314 allows build_read_container_image to admins who are also team members2315 project_visibility: :internal, access_level: 20, role: :owner, allowed: true2316 allows/disallows the abilities based on the container_registry feature access level2317 allows build_read_container_image to admins who are also team members2318 project_visibility: :internal, access_level: 20, role: :maintainer, allowed: true2319 allows/disallows the abilities based on the container_registry feature access level2320 allows build_read_container_image to admins who are also team members2321 project_visibility: :internal, access_level: 20, role: :developer, allowed: true2322 allows/disallows the abilities based on the container_registry feature access level2323 allows build_read_container_image to admins who are also team members2324 project_visibility: :internal, access_level: 20, role: :reporter, allowed: true2325 allows/disallows the abilities based on the container_registry feature access level2326 allows build_read_container_image to admins who are also team members2327 project_visibility: :internal, access_level: 20, role: :guest, allowed: true2328 allows/disallows the abilities based on the container_registry feature access level2329 allows build_read_container_image to admins who are also team members2330 project_visibility: :internal, access_level: 20, role: :anonymous, allowed: false2331 allows/disallows the abilities based on the container_registry feature access level2332 allows build_read_container_image to admins who are also team members2333 project_visibility: :internal, access_level: 10, role: :admin, allowed: true2334 allows/disallows the abilities based on the container_registry feature access level2335 allows build_read_container_image to admins who are also team members2336 project_visibility: :internal, access_level: 10, role: :owner, allowed: true2337 allows/disallows the abilities based on the container_registry feature access level2338 allows build_read_container_image to admins who are also team members2339 project_visibility: :internal, access_level: 10, role: :maintainer, allowed: true2340 allows/disallows the abilities based on the container_registry feature access level2341 allows build_read_container_image to admins who are also team members2342 project_visibility: :internal, access_level: 10, role: :developer, allowed: true2343 allows/disallows the abilities based on the container_registry feature access level2344 allows build_read_container_image to admins who are also team members2345 project_visibility: :internal, access_level: 10, role: :reporter, allowed: true2346 allows/disallows the abilities based on the container_registry feature access level2347 allows build_read_container_image to admins who are also team members2348 project_visibility: :internal, access_level: 10, role: :guest, allowed: false2349 allows/disallows the abilities based on the container_registry feature access level2350 allows build_read_container_image to admins who are also team members2351 project_visibility: :internal, access_level: 10, role: :anonymous, allowed: false2352 allows/disallows the abilities based on the container_registry feature access level2353 allows build_read_container_image to admins who are also team members2354 project_visibility: :internal, access_level: 0, role: :admin, allowed: false2355 allows/disallows the abilities based on the container_registry feature access level2356 allows build_read_container_image to admins who are also team members2357 project_visibility: :internal, access_level: 0, role: :owner, allowed: false2358 allows/disallows the abilities based on the container_registry feature access level2359 allows build_read_container_image to admins who are also team members2360 project_visibility: :internal, access_level: 0, role: :maintainer, allowed: false2361 allows/disallows the abilities based on the container_registry feature access level2362 allows build_read_container_image to admins who are also team members2363 project_visibility: :internal, access_level: 0, role: :developer, allowed: false2364 allows/disallows the abilities based on the container_registry feature access level2365 allows build_read_container_image to admins who are also team members2366 project_visibility: :internal, access_level: 0, role: :reporter, allowed: false2367 allows/disallows the abilities based on the container_registry feature access level2368 allows build_read_container_image to admins who are also team members2369 project_visibility: :internal, access_level: 0, role: :guest, allowed: false2370 allows/disallows the abilities based on the container_registry feature access level2371 allows build_read_container_image to admins who are also team members2372 project_visibility: :internal, access_level: 0, role: :anonymous, allowed: false2373 allows/disallows the abilities based on the container_registry feature access level2374 allows build_read_container_image to admins who are also team members2375 project_visibility: :private, access_level: 20, role: :admin, allowed: true2376 allows/disallows the abilities based on the container_registry feature access level2377 allows build_read_container_image to admins who are also team members2378 project_visibility: :private, access_level: 20, role: :owner, allowed: true2379 allows/disallows the abilities based on the container_registry feature access level2380 allows build_read_container_image to admins who are also team members2381 project_visibility: :private, access_level: 20, role: :maintainer, allowed: true2382 allows/disallows the abilities based on the container_registry feature access level2383 allows build_read_container_image to admins who are also team members2384 project_visibility: :private, access_level: 20, role: :developer, allowed: true2385 allows/disallows the abilities based on the container_registry feature access level2386 allows build_read_container_image to admins who are also team members2387 project_visibility: :private, access_level: 20, role: :reporter, allowed: true2388 allows/disallows the abilities based on the container_registry feature access level2389 allows build_read_container_image to admins who are also team members2390 project_visibility: :private, access_level: 20, role: :guest, allowed: false2391 allows/disallows the abilities based on the container_registry feature access level2392 allows build_read_container_image to admins who are also team members2393 project_visibility: :private, access_level: 20, role: :anonymous, allowed: false2394 allows/disallows the abilities based on the container_registry feature access level2395 allows build_read_container_image to admins who are also team members2396 project_visibility: :private, access_level: 10, role: :admin, allowed: true2397 allows/disallows the abilities based on the container_registry feature access level2398 allows build_read_container_image to admins who are also team members2399 project_visibility: :private, access_level: 10, role: :owner, allowed: true2400 allows/disallows the abilities based on the container_registry feature access level2401 allows build_read_container_image to admins who are also team members2402 project_visibility: :private, access_level: 10, role: :maintainer, allowed: true2403 allows/disallows the abilities based on the container_registry feature access level2404 allows build_read_container_image to admins who are also team members2405 project_visibility: :private, access_level: 10, role: :developer, allowed: true2406 allows/disallows the abilities based on the container_registry feature access level2407 allows build_read_container_image to admins who are also team members2408 project_visibility: :private, access_level: 10, role: :reporter, allowed: true2409 allows/disallows the abilities based on the container_registry feature access level2410 allows build_read_container_image to admins who are also team members2411 project_visibility: :private, access_level: 10, role: :guest, allowed: false2412 allows/disallows the abilities based on the container_registry feature access level2413 allows build_read_container_image to admins who are also team members2414 project_visibility: :private, access_level: 10, role: :anonymous, allowed: false2415 allows/disallows the abilities based on the container_registry feature access level2416 allows build_read_container_image to admins who are also team members2417 project_visibility: :private, access_level: 0, role: :admin, allowed: false2418 allows/disallows the abilities based on the container_registry feature access level2419 allows build_read_container_image to admins who are also team members2420 project_visibility: :private, access_level: 0, role: :owner, allowed: false2421 allows/disallows the abilities based on the container_registry feature access level2422 allows build_read_container_image to admins who are also team members2423 project_visibility: :private, access_level: 0, role: :maintainer, allowed: false2424 allows/disallows the abilities based on the container_registry feature access level2425 allows build_read_container_image to admins who are also team members2426 project_visibility: :private, access_level: 0, role: :developer, allowed: false2427 allows/disallows the abilities based on the container_registry feature access level2428 allows build_read_container_image to admins who are also team members2429 project_visibility: :private, access_level: 0, role: :reporter, allowed: false2430 allows/disallows the abilities based on the container_registry feature access level2431 allows build_read_container_image to admins who are also team members2432 project_visibility: :private, access_level: 0, role: :guest, allowed: false2433 allows/disallows the abilities based on the container_registry feature access level2434 allows build_read_container_image to admins who are also team members2435 project_visibility: :private, access_level: 0, role: :anonymous, allowed: false2436 allows/disallows the abilities based on the container_registry feature access level2437 allows build_read_container_image to admins who are also team members2438 update_runners_registration_token2439 when anonymous2440 is expected not to be allowed :update_runners_registration_token2441 admin2442 when admin mode is enabled2443 is expected to be allowed :update_runners_registration_token2444 when admin mode is disabled2445 is expected to be disallowed :update_runners_registration_token2446 guest2447 is expected to be disallowed :update_runners_registration_token2448 reporter2449 is expected to be disallowed :update_runners_registration_token2450 developer2451 is expected to be disallowed :update_runners_registration_token2452 maintainer2453 is expected to be allowed :update_runners_registration_token2454 owner2455 is expected to be allowed :update_runners_registration_token2456SnippetsFinder2457 #initialize2458 raises ArgumentError when a project and author are given2459 #execute2460 filter by scope2461 returns all snippets for 'all' scope2462 returns all snippets for 'are_private' scope2463 returns all snippets for 'are_internal' scope2464 returns all snippets for 'are_public' scope2465 filter by author2466 returns internal snippets2467 returns private snippets2468 returns public snippets2469 returns all snippets2470 returns only public snippets if unauthenticated user2471 returns all snippets for an admin in admin mode2472 returns all public and internal snippets for an admin without admin mode2473 when the author is a User object2474 returns all public and internal snippets2475 when the author is the User id2476 returns all public and internal snippets2477 when author is not valid2478 returns quickly2479 filter by project2480 returns public and internal snippets for non project members2481 returns public snippets for non project members2482 returns internal snippets for non project members2483 does not return private snippets for non project members2484 returns all snippets for project members2485 returns private snippets for project members2486 returns all snippets for an admin in admin mode2487 returns public and internal snippets for an admin without admin mode2488 when project is a Project object2489 returns public personal and project snippets for unauthorized user2490 when project is a Project id2491 returns public personal and project snippets for unauthorized user2492 filter by author2493 returns all snippets for project members2494 when project is not valid2495 returns quickly2496 filter by snippet type2497 when filtering by only_personal snippet2498 returns only personal snippet2499 when filtering by only_project snippet2500 returns only project snippet2501 filtering by ids2502 returns only personal snippet2503 explore snippets2504 returns only public personal snippets for unauthenticated users2505 also returns internal personal snippets for authenticated users2506 returns all personal snippets for admins when in admin mode2507 also returns internal personal snippets for admins without admin mode2508 when the user cannot read cross project2509 returns only personal snippets when the user cannot read cross project2510 when only project snippets are required2511 returns no records2512 when project snippets are disabled2513 returns quickly2514 no sort param is provided2515 returns snippets sorted by id2516 sort param is provided2517 returns snippets sorted by sort param2518 behaves like snippet visibility2519 For project snippets2520 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: true2521 For project and unauthenticated users2522 returns proper outcome2523 Without a given project and unauthenticated users2524 returns proper outcome2525 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2526 For project and unauthenticated users2527 returns proper outcome2528 Without a given project and unauthenticated users2529 returns proper outcome2530 project_visibility: :public, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2531 For project and unauthenticated users2532 returns proper outcome2533 Without a given project and unauthenticated users2534 returns proper outcome2535 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true2536 For project and external users2537 returns proper outcome2538 Without a given project and external users2539 returns proper outcome2540 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false2541 For project and external users2542 returns proper outcome2543 Without a given project and external users2544 returns proper outcome2545 project_visibility: :public, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false2546 For project and external users2547 returns proper outcome2548 Without a given project and external users2549 returns proper outcome2550 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true2551 For project and non_member users2552 returns proper outcome2553 Without a given project and non_member users2554 returns proper outcome2555 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true2556 For project and non_member users2557 returns proper outcome2558 Without a given project and non_member users2559 returns proper outcome2560 project_visibility: :public, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2561 For project and non_member users2562 returns proper outcome2563 Without a given project and non_member users2564 returns proper outcome2565 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2566 For project and member users2567 returns proper outcome2568 Without a given project and member users2569 returns proper outcome2570 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2571 For project and member users2572 returns proper outcome2573 Without a given project and member users2574 returns proper outcome2575 project_visibility: :public, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2576 For project and member users2577 returns proper outcome2578 Without a given project and member users2579 returns proper outcome2580 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2581 For project and author users2582 returns proper outcome2583 Without a given project and author users2584 returns proper outcome2585 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2586 For project and author users2587 returns proper outcome2588 Without a given project and author users2589 returns proper outcome2590 project_visibility: :public, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2591 For project and author users2592 returns proper outcome2593 Without a given project and author users2594 returns proper outcome2595 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2596 For project and unauthenticated users2597 returns proper outcome2598 Without a given project and unauthenticated users2599 returns proper outcome2600 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2601 For project and unauthenticated users2602 returns proper outcome2603 Without a given project and unauthenticated users2604 returns proper outcome2605 project_visibility: :public, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2606 For project and unauthenticated users2607 returns proper outcome2608 Without a given project and unauthenticated users2609 returns proper outcome2610 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false2611 For project and external users2612 returns proper outcome2613 Without a given project and external users2614 returns proper outcome2615 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false2616 For project and external users2617 returns proper outcome2618 Without a given project and external users2619 returns proper outcome2620 project_visibility: :public, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false2621 For project and external users2622 returns proper outcome2623 Without a given project and external users2624 returns proper outcome2625 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2626 For project and non_member users2627 returns proper outcome2628 Without a given project and non_member users2629 returns proper outcome2630 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2631 For project and non_member users2632 returns proper outcome2633 Without a given project and non_member users2634 returns proper outcome2635 project_visibility: :public, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2636 For project and non_member users2637 returns proper outcome2638 Without a given project and non_member users2639 returns proper outcome2640 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2641 For project and member users2642 returns proper outcome2643 Without a given project and member users2644 returns proper outcome2645 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2646 For project and member users2647 returns proper outcome2648 Without a given project and member users2649 returns proper outcome2650 project_visibility: :public, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2651 For project and member users2652 returns proper outcome2653 Without a given project and member users2654 returns proper outcome2655 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2656 For project and author users2657 returns proper outcome2658 Without a given project and author users2659 returns proper outcome2660 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2661 For project and author users2662 returns proper outcome2663 Without a given project and author users2664 returns proper outcome2665 project_visibility: :public, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2666 For project and author users2667 returns proper outcome2668 Without a given project and author users2669 returns proper outcome2670 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2671 For project and unauthenticated users2672 returns proper outcome2673 Without a given project and unauthenticated users2674 returns proper outcome2675 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2676 For project and unauthenticated users2677 returns proper outcome2678 Without a given project and unauthenticated users2679 returns proper outcome2680 project_visibility: :public, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2681 For project and unauthenticated users2682 returns proper outcome2683 Without a given project and unauthenticated users2684 returns proper outcome2685 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2686 For project and external users2687 returns proper outcome2688 Without a given project and external users2689 returns proper outcome2690 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2691 For project and external users2692 returns proper outcome2693 Without a given project and external users2694 returns proper outcome2695 project_visibility: :public, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2696 For project and external users2697 returns proper outcome2698 Without a given project and external users2699 returns proper outcome2700 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2701 For project and non_member users2702 returns proper outcome2703 Without a given project and non_member users2704 returns proper outcome2705 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2706 For project and non_member users2707 returns proper outcome2708 Without a given project and non_member users2709 returns proper outcome2710 project_visibility: :public, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2711 For project and non_member users2712 returns proper outcome2713 Without a given project and non_member users2714 returns proper outcome2715 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2716 For project and member users2717 returns proper outcome2718 Without a given project and member users2719 returns proper outcome2720 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2721 For project and member users2722 returns proper outcome2723 Without a given project and member users2724 returns proper outcome2725 project_visibility: :public, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2726 For project and member users2727 returns proper outcome2728 Without a given project and member users2729 returns proper outcome2730 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2731 For project and author users2732 returns proper outcome2733 Without a given project and author users2734 returns proper outcome2735 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2736 For project and author users2737 returns proper outcome2738 Without a given project and author users2739 returns proper outcome2740 project_visibility: :public, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2741 For project and author users2742 returns proper outcome2743 Without a given project and author users2744 returns proper outcome2745 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2746 For project and unauthenticated users2747 returns proper outcome2748 Without a given project and unauthenticated users2749 returns proper outcome2750 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2751 For project and unauthenticated users2752 returns proper outcome2753 Without a given project and unauthenticated users2754 returns proper outcome2755 project_visibility: :internal, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2756 For project and unauthenticated users2757 returns proper outcome2758 Without a given project and unauthenticated users2759 returns proper outcome2760 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: false2761 For project and external users2762 returns proper outcome2763 Without a given project and external users2764 returns proper outcome2765 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: false2766 For project and external users2767 returns proper outcome2768 Without a given project and external users2769 returns proper outcome2770 project_visibility: :internal, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: false2771 For project and external users2772 returns proper outcome2773 Without a given project and external users2774 returns proper outcome2775 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: true2776 For project and non_member users2777 returns proper outcome2778 Without a given project and non_member users2779 returns proper outcome2780 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: true2781 For project and non_member users2782 returns proper outcome2783 Without a given project and non_member users2784 returns proper outcome2785 project_visibility: :internal, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false2786 For project and non_member users2787 returns proper outcome2788 Without a given project and non_member users2789 returns proper outcome2790 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true2791 For project and member users2792 returns proper outcome2793 Without a given project and member users2794 returns proper outcome2795 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true2796 For project and member users2797 returns proper outcome2798 Without a given project and member users2799 returns proper outcome2800 project_visibility: :internal, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true2801 For project and member users2802 returns proper outcome2803 Without a given project and member users2804 returns proper outcome2805 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true2806 For project and author users2807 returns proper outcome2808 Without a given project and author users2809 returns proper outcome2810 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true2811 For project and author users2812 returns proper outcome2813 Without a given project and author users2814 returns proper outcome2815 project_visibility: :internal, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true2816 For project and author users2817 returns proper outcome2818 Without a given project and author users2819 returns proper outcome2820 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2821 For project and unauthenticated users2822 returns proper outcome2823 Without a given project and unauthenticated users2824 returns proper outcome2825 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2826 For project and unauthenticated users2827 returns proper outcome2828 Without a given project and unauthenticated users2829 returns proper outcome2830 project_visibility: :internal, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2831 For project and unauthenticated users2832 returns proper outcome2833 Without a given project and unauthenticated users2834 returns proper outcome2835 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: false2836 For project and external users2837 returns proper outcome2838 Without a given project and external users2839 returns proper outcome2840 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: false2841 For project and external users2842 returns proper outcome2843 Without a given project and external users2844 returns proper outcome2845 project_visibility: :internal, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: false2846 For project and external users2847 returns proper outcome2848 Without a given project and external users2849 returns proper outcome2850 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false2851 For project and non_member users2852 returns proper outcome2853 Without a given project and non_member users2854 returns proper outcome2855 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false2856 For project and non_member users2857 returns proper outcome2858 Without a given project and non_member users2859 returns proper outcome2860 project_visibility: :internal, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false2861 For project and non_member users2862 returns proper outcome2863 Without a given project and non_member users2864 returns proper outcome2865 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true2866 For project and member users2867 returns proper outcome2868 Without a given project and member users2869 returns proper outcome2870 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true2871 For project and member users2872 returns proper outcome2873 Without a given project and member users2874 returns proper outcome2875 project_visibility: :internal, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true2876 For project and member users2877 returns proper outcome2878 Without a given project and member users2879 returns proper outcome2880 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true2881 For project and author users2882 returns proper outcome2883 Without a given project and author users2884 returns proper outcome2885 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true2886 For project and author users2887 returns proper outcome2888 Without a given project and author users2889 returns proper outcome2890 project_visibility: :internal, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true2891 For project and author users2892 returns proper outcome2893 Without a given project and author users2894 returns proper outcome2895 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2896 For project and unauthenticated users2897 returns proper outcome2898 Without a given project and unauthenticated users2899 returns proper outcome2900 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2901 For project and unauthenticated users2902 returns proper outcome2903 Without a given project and unauthenticated users2904 returns proper outcome2905 project_visibility: :internal, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2906 For project and unauthenticated users2907 returns proper outcome2908 Without a given project and unauthenticated users2909 returns proper outcome2910 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false2911 For project and external users2912 returns proper outcome2913 Without a given project and external users2914 returns proper outcome2915 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false2916 For project and external users2917 returns proper outcome2918 Without a given project and external users2919 returns proper outcome2920 project_visibility: :internal, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false2921 For project and external users2922 returns proper outcome2923 Without a given project and external users2924 returns proper outcome2925 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false2926 For project and non_member users2927 returns proper outcome2928 Without a given project and non_member users2929 returns proper outcome2930 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false2931 For project and non_member users2932 returns proper outcome2933 Without a given project and non_member users2934 returns proper outcome2935 project_visibility: :internal, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false2936 For project and non_member users2937 returns proper outcome2938 Without a given project and non_member users2939 returns proper outcome2940 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false2941 For project and member users2942 returns proper outcome2943 Without a given project and member users2944 returns proper outcome2945 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false2946 For project and member users2947 returns proper outcome2948 Without a given project and member users2949 returns proper outcome2950 project_visibility: :internal, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false2951 For project and member users2952 returns proper outcome2953 Without a given project and member users2954 returns proper outcome2955 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false2956 For project and author users2957 returns proper outcome2958 Without a given project and author users2959 returns proper outcome2960 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false2961 For project and author users2962 returns proper outcome2963 Without a given project and author users2964 returns proper outcome2965 project_visibility: :internal, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false2966 For project and author users2967 returns proper outcome2968 Without a given project and author users2969 returns proper outcome2970 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false2971 For project and unauthenticated users2972 returns proper outcome2973 Without a given project and unauthenticated users2974 returns proper outcome2975 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false2976 For project and unauthenticated users2977 returns proper outcome2978 Without a given project and unauthenticated users2979 returns proper outcome2980 project_visibility: :private, feature_visibility: :enabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false2981 For project and unauthenticated users2982 returns proper outcome2983 Without a given project and unauthenticated users2984 returns proper outcome2985 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :public, outcome: true2986 For project and external users2987 returns proper outcome2988 Without a given project and external users2989 returns proper outcome2990 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :internal, outcome: true2991 For project and external users2992 returns proper outcome2993 Without a given project and external users2994 returns proper outcome2995 project_visibility: :private, feature_visibility: :enabled, user_type: :external, snippet_visibility: :private, outcome: true2996 For project and external users2997 returns proper outcome2998 Without a given project and external users2999 returns proper outcome3000 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :public, outcome: false3001 For project and non_member users3002 returns proper outcome3003 Without a given project and non_member users3004 returns proper outcome3005 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :internal, outcome: false3006 For project and non_member users3007 returns proper outcome3008 Without a given project and non_member users3009 returns proper outcome3010 project_visibility: :private, feature_visibility: :enabled, user_type: :non_member, snippet_visibility: :private, outcome: false3011 For project and non_member users3012 returns proper outcome3013 Without a given project and non_member users3014 returns proper outcome3015 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :public, outcome: true3016 For project and member users3017 returns proper outcome3018 Without a given project and member users3019 returns proper outcome3020 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :internal, outcome: true3021 For project and member users3022 returns proper outcome3023 Without a given project and member users3024 returns proper outcome3025 project_visibility: :private, feature_visibility: :enabled, user_type: :member, snippet_visibility: :private, outcome: true3026 For project and member users3027 returns proper outcome3028 Without a given project and member users3029 returns proper outcome3030 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :public, outcome: true3031 For project and author users3032 returns proper outcome3033 Without a given project and author users3034 returns proper outcome3035 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :internal, outcome: true3036 For project and author users3037 returns proper outcome3038 Without a given project and author users3039 returns proper outcome3040 project_visibility: :private, feature_visibility: :enabled, user_type: :author, snippet_visibility: :private, outcome: true3041 For project and author users3042 returns proper outcome3043 Without a given project and author users3044 returns proper outcome3045 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :public, outcome: false3046 For project and unauthenticated users3047 returns proper outcome3048 Without a given project and unauthenticated users3049 returns proper outcome3050 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false3051 For project and unauthenticated users3052 returns proper outcome3053 Without a given project and unauthenticated users3054 returns proper outcome3055 project_visibility: :private, feature_visibility: :private, user_type: :unauthenticated, snippet_visibility: :private, outcome: false3056 For project and unauthenticated users3057 returns proper outcome3058 Without a given project and unauthenticated users3059 returns proper outcome3060 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :public, outcome: true3061 For project and external users3062 returns proper outcome3063 Without a given project and external users3064 returns proper outcome3065 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :internal, outcome: true3066 For project and external users3067 returns proper outcome3068 Without a given project and external users3069 returns proper outcome3070 project_visibility: :private, feature_visibility: :private, user_type: :external, snippet_visibility: :private, outcome: true3071 For project and external users3072 returns proper outcome3073 Without a given project and external users3074 returns proper outcome3075 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :public, outcome: false3076 For project and non_member users3077 returns proper outcome3078 Without a given project and non_member users3079 returns proper outcome3080 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :internal, outcome: false3081 For project and non_member users3082 returns proper outcome3083 Without a given project and non_member users3084 returns proper outcome3085 project_visibility: :private, feature_visibility: :private, user_type: :non_member, snippet_visibility: :private, outcome: false3086 For project and non_member users3087 returns proper outcome3088 Without a given project and non_member users3089 returns proper outcome3090 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :public, outcome: true3091 For project and member users3092 returns proper outcome3093 Without a given project and member users3094 returns proper outcome3095 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :internal, outcome: true3096 For project and member users3097 returns proper outcome3098 Without a given project and member users3099 returns proper outcome3100 project_visibility: :private, feature_visibility: :private, user_type: :member, snippet_visibility: :private, outcome: true3101 For project and member users3102 returns proper outcome3103 Without a given project and member users3104 returns proper outcome3105 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :public, outcome: true3106 For project and author users3107 returns proper outcome3108 Without a given project and author users3109 returns proper outcome3110 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :internal, outcome: true3111 For project and author users3112 returns proper outcome3113 Without a given project and author users3114 returns proper outcome3115 project_visibility: :private, feature_visibility: :private, user_type: :author, snippet_visibility: :private, outcome: true3116 For project and author users3117 returns proper outcome3118 Without a given project and author users3119 returns proper outcome3120 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :public, outcome: false3121 For project and unauthenticated users3122 returns proper outcome3123 Without a given project and unauthenticated users3124 returns proper outcome3125 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :internal, outcome: false3126 For project and unauthenticated users3127 returns proper outcome3128 Without a given project and unauthenticated users3129 returns proper outcome3130 project_visibility: :private, feature_visibility: :disabled, user_type: :unauthenticated, snippet_visibility: :private, outcome: false3131 For project and unauthenticated users3132 returns proper outcome3133 Without a given project and unauthenticated users3134 returns proper outcome3135 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :public, outcome: false3136 For project and external users3137 returns proper outcome3138 Without a given project and external users3139 returns proper outcome3140 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :internal, outcome: false3141 For project and external users3142 returns proper outcome3143 Without a given project and external users3144 returns proper outcome3145 project_visibility: :private, feature_visibility: :disabled, user_type: :external, snippet_visibility: :private, outcome: false3146 For project and external users3147 returns proper outcome3148 Without a given project and external users3149 returns proper outcome3150 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :public, outcome: false3151 For project and non_member users3152 returns proper outcome3153 Without a given project and non_member users3154 returns proper outcome3155 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :internal, outcome: false3156 For project and non_member users3157 returns proper outcome3158 Without a given project and non_member users3159 returns proper outcome3160 project_visibility: :private, feature_visibility: :disabled, user_type: :non_member, snippet_visibility: :private, outcome: false3161 For project and non_member users3162 returns proper outcome3163 Without a given project and non_member users3164 returns proper outcome3165 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :public, outcome: false3166 For project and member users3167 returns proper outcome3168 Without a given project and member users3169 returns proper outcome3170 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :internal, outcome: false3171 For project and member users3172 returns proper outcome3173 Without a given project and member users3174 returns proper outcome3175 project_visibility: :private, feature_visibility: :disabled, user_type: :member, snippet_visibility: :private, outcome: false3176 For project and member users3177 returns proper outcome3178 Without a given project and member users3179 returns proper outcome3180 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :public, outcome: false3181 For project and author users3182 returns proper outcome3183 Without a given project and author users3184 returns proper outcome3185 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :internal, outcome: false3186 For project and author users3187 returns proper outcome3188 Without a given project and author users3189 returns proper outcome3190 project_visibility: :private, feature_visibility: :disabled, user_type: :author, snippet_visibility: :private, outcome: false3191 For project and author users3192 returns proper outcome3193 Without a given project and author users3194 returns proper outcome3195 For personal snippets3196 snippet_visibility: :public, user_type: :unauthenticated, outcome: true3197 For personal and public snippets with unauthenticated user3198 returns proper outcome3199 snippet_visibility: :public, user_type: :external, outcome: true3200 For personal and public snippets with external user3201 returns proper outcome3202 snippet_visibility: :public, user_type: :non_member, outcome: true3203 For personal and public snippets with non_member user3204 returns proper outcome3205 snippet_visibility: :public, user_type: :author, outcome: true3206 For personal and public snippets with author user3207 returns proper outcome3208 snippet_visibility: :internal, user_type: :unauthenticated, outcome: false3209 For personal and internal snippets with unauthenticated user3210 returns proper outcome3211 snippet_visibility: :internal, user_type: :external, outcome: false3212 For personal and internal snippets with external user3213 returns proper outcome3214 snippet_visibility: :internal, user_type: :non_member, outcome: true3215 For personal and internal snippets with non_member user3216 returns proper outcome3217 snippet_visibility: :internal, user_type: :author, outcome: true3218 For personal and internal snippets with author user3219 returns proper outcome3220 snippet_visibility: :private, user_type: :unauthenticated, outcome: false3221 For personal and private snippets with unauthenticated user3222 returns proper outcome3223 snippet_visibility: :private, user_type: :external, outcome: false3224 For personal and private snippets with external user3225 returns proper outcome3226 snippet_visibility: :private, user_type: :non_member, outcome: false3227 For personal and private snippets with non_member user3228 returns proper outcome3229 snippet_visibility: :private, user_type: :author, outcome: true3230 For personal and private snippets with author user3231 returns proper outcome3232 when the user cannot read cross project3233 returns only personal snippets3234 external authorization3235 includes the result if the external service allows access3236 does not include any results if the external service denies access3237 behaves like a finder with external authorization service3238 finds the subject3239 with an external authorization service3240 does not include the subject when no project was given3241 includes the subject when a project id was given3242gitlab:app namespace rake task3243 backup_restore3244 gitlab version3245 restore with matching gitlab version3246 invokes restoration on match3247 prints timestamps on messages3248 when the restore directory is not empty3249 removes stale data3250 when the backup is restored3251 restores the data3252 backup3253 backup creation and deletion using custom_hooks3254 project uses custom_hooks and successfully creates backup3255 creates custom_hooks.tar and project bundle3256 restores files correctly3257 specific backup tasks3258 prints a progress message to stdout32592021-12-20 17:00:37 +0000 -- Dumping database ... 32602021-12-20 17:00:37 +0000 -- [SKIPPED]32612021-12-20 17:00:37 +0000 -- Dumping repositories ...3262time="2021-12-20T17:00:37.915Z" level=info msg="started create" command=create gl_project_path=namespace497/project509 relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.git storage_name=default3263time="2021-12-20T17:00:37.918Z" level=info msg="started create" command=create gl_project_path=namespace497/project509.wiki relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.wiki.git storage_name=default3264time="2021-12-20T17:00:37.921Z" level=warning msg="skipped create" command=create error="manager: repository empty: repository skipped" gl_project_path=namespace497/project509.wiki relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.wiki.git storage_name=default3265time="2021-12-20T17:00:37.921Z" level=info msg="started create" command=create gl_project_path=namespace497/project509 relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.design.git storage_name=default3266time="2021-12-20T17:00:37.923Z" level=warning msg="skipped create" command=create error="manager: repository empty: repository skipped" gl_project_path=namespace497/project509 relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.design.git storage_name=default3267time="2021-12-20T17:00:38.073Z" level=info msg="completed create" command=create gl_project_path=namespace497/project509 relative_path=@hashed/42/f2/42f25adecf47629878e89e31b2073d1af009c9c76f4140a06313af5e5950eabc.git storage_name=default32682021-12-20 17:00:38 +0000 -- done32692021-12-20 17:00:38 +0000 -- Dumping uploads ... 32702021-12-20 17:00:38 +0000 -- done32712021-12-20 17:00:38 +0000 -- Dumping builds ... 32722021-12-20 17:00:38 +0000 -- done32732021-12-20 17:00:38 +0000 -- Dumping artifacts ... 32742021-12-20 17:00:38 +0000 -- done32752021-12-20 17:00:38 +0000 -- Dumping pages ... 32762021-12-20 17:00:38 +0000 -- done32772021-12-20 17:00:38 +0000 -- Dumping lfs objects ... 32782021-12-20 17:00:38 +0000 -- done32792021-12-20 17:00:38 +0000 -- Dumping container registry images ... 32802021-12-20 17:00:38 +0000 -- done3281 logs the progress to log file3282 tar creation3283 sets correct permissions on the tar contents3284 deletes temp directories3285 archive file permissions3286 sets correct permissions on the tar file3287 with custom archive_permissions3288 uses the custom permissions3289 registry disabled3290 does not create registry.tar.gz3291 multiple repository storages3292 no concurrency3293 behaves like includes repositories in all repository storages3294 aggregate_failures3295 with concurrency3296 behaves like includes repositories in all repository storages3297 aggregate_failures3298 concurrency settings3299 has defaults3300 passes through concurrency environment variables3301 CRON env is set3302 does not output to stdout3303 Skipping items3304 does not contain skipped item3305 does not invoke repositories restore3306 skipping tar archive creation3307 created files with backup content and no tar archive3308 those component files can be restored from3309 Human Readable Backup Name3310 name has human readable time3311Projects::OverwriteProjectService3312 #execute3313 when project does not have any relation3314 behaves like overwrite actions3315 moves deploy keys3316 moves notification settings3317 moves users stars3318 moves project group links3319 moves memberships and authorizations3320 removes the original project3321 renames the project3322 moves lfs objects relationships3323 is expected to eq 33324 when project with elements3325 behaves like overwrite actions3326 moves deploy keys3327 moves notification settings3328 moves users stars3329 moves project group links3330 moves memberships and authorizations3331 removes the original project3332 renames the project3333 moves lfs objects relationships3334 is expected to eq 33335 forks3336 when moving a root forked project3337 moves the descendant forks3338 updates the fork network3339 when moving a intermediate forked project3340 moves the descendant forks3341 moves the ascendant fork3342 does not update fork network3343 if an exception is raised3344 rollbacks changes3345 tries to restore the original project repositories3346Gitlab::ProjectSearchResults3347 with a repository_ref3348 when empty3349 is expected to eq #<Project id:586 namespace518/project668>>3350 is expected to eq "hello world"3351 when set3352 is expected to eq #<Project id:586 namespace518/project668>>3353 is expected to eq "refs/heads/test"3354 is expected to eq "hello world"3355 #formatted_count3356 scope: "blobs", count_method: :limited_blobs_count, expected: "99+"3357 returns the expected formatted count3358 scope: "notes", count_method: :limited_notes_count, expected: "99+"3359 returns the expected formatted count3360 scope: "wiki_blobs", count_method: :wiki_blobs_count, expected: "1234"3361 returns the expected formatted count3362 scope: "commits", count_method: :commits_count, expected: "99+"3363 returns the expected formatted count3364 scope: "projects", count_method: :limited_projects_count, expected: "99+"3365 returns the expected formatted count3366 scope: "unknown", count_method: nil, expected: nil3367 returns the expected formatted count3368 blobs3369 limits the search to 100 items3370 wiki_blobs3371 limits the search to 100 items3372 blob search3373 behaves like general blob search3374 finds by name3375 loads all blobs for path matches in single batch3376 finds by content3377 when repository is disabled3378 hides blobs from members3379 hides blobs from non-members3380 when repository is internal3381 finds blobs for members3382 hides blobs from non-members3383 behaves like blob search repository ref3384 when repository_ref exists3385 uses it3386 when repository_ref is not present3387 uses project repository default reference3388 when repository_ref is blank3389 uses project repository default reference3390 behaves like blob search pagination3391 limits search results based on the first page3392 limits search results based on the second page3393 limits search results based on the third page3394 uses the per_page value when passed3395 wiki search3396 behaves like general blob search3397 finds by name3398 loads all blobs for path matches in single batch3399 finds by content3400 when wiki is disabled3401 hides wiki_blobs from members3402 hides wiki_blobs from non-members3403 when wiki is internal3404 finds wiki_blobs for members3405 hides wiki_blobs from non-members3406 behaves like blob search repository ref3407 when repository_ref exists3408 uses it3409 when repository_ref is not present3410 uses wiki repository default reference3411 when repository_ref is blank3412 uses wiki repository default reference3413 behaves like blob search pagination3414 limits search results based on the first page3415 limits search results based on the second page3416 limits search results based on the third page3417 uses the per_page value when passed3418 return type3419 returns list of FoundWikiPage type object3420 issues search3421 does not list issues on private projects3422 confidential issues3423 when the user is non-member3424 does not list project confidential issues for non project members3425 when the member is guest3426 does not list project confidential issues for project members with guest role3427 when the user is the author3428 lists project confidential issues3429 when the user is the assignee3430 lists project confidential issues for assignee3431 when the user is a developer3432 lists project confidential issues3433 when the user is admin3434 when admin mode is enabled3435 lists all project issues3436 when admin mode is disabled3437 does not list project confidential issues3438 filtering3439 state not provided3440 returns opened and closed results3441 all state3442 returns opened and closed results3443 closed state3444 returns only closed results3445 opened state3446 returns only opened results3447 unsupported state3448 returns only opened results3449 filter not provided (all behavior)3450 returns confidential and not confidential results3451 confidential filter3452 returns only confidential results3453 not confidential filter3454 returns not confidential results3455 merge requests search3456 filtering3457 state not provided3458 returns opened and closed results3459 all state3460 returns opened and closed results3461 closed state3462 returns only closed results3463 opened state3464 returns only opened results3465 unsupported state3466 returns only opened results3467 notes search3468 with a public project3469 lists notes3470 with private issues3471 doesn't list issue notes when access is restricted3472 with private merge requests3473 doesn't list merge_request notes when access is restricted3474 #limited_notes_count3475 when count_limit is lower than total amount3476 calls note finder once to get the limited amount of notes3477 when count_limit is higher than total amount3478 calls note finder multiple times to get the limited amount of notes3479 #commits_count3480 limits the number of commits requested3481 commit search3482 pagination3483 returns the correct results for each page3484 returns the correct number of pages3485 limiting requested commits3486 on page 13487 limits to 1003488 on subsequent pages3489 limits to 100 plus page offset3490 by commit message3491 finds commit by message3492 when there are not hits3493 handles when no commit match3494 when repository_ref is provided3495 searches in the specified ref3496 behaves like access restricted commits3497 when project is internal3498 searches if user is authenticated3499 when the user is not authenticated3500 does not search3501 when project is private3502 when the user is not authenticated3503 does not show commit to stranger3504 team access3505 when the user is the creator3506 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project727@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3507 when the user is a master3508 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project728@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3509 when the user is a reporter3510 is expected to contain exactly #<Commit id:59e29889be61e6e0e5e223bfa9ac2721d31605b8 private-project-author/project729@59e29889be61e6e0e5e223bfa9ac2721d31605b8>3511 by commit hash3512 shows commit by short hash id3513 shows commit by full hash id3514 handles not existing commit hash correctly3515 behaves like access restricted commits3516 when project is internal3517 searches if user is authenticated3518 when the user is not authenticated3519 does not search3520 when project is private3521 when the user is not authenticated3522 does not show commit to stranger3523 team access3524 when the user is the creator3525 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project736@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3526 when the user is a master3527 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project737@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3528 when the user is a reporter3529 is expected to contain exactly #<Commit id:0b4bc9a49b562e85de7cc9e834518ea6828729b9 private-project-author/project738@0b4bc9a49b562e85de7cc9e834518ea6828729b9>3530 user search3531 returns the user belonging to the project matching the search query3532 returns the user belonging to the group matching the search query3533 when multiple projects provided3534 returns users belonging to projects matching the search query3535CommitStatus3536 is expected to belong to pipeline required: false3537 is expected to belong to user required: false3538 is expected to belong to project required: false3539 is expected to belong to auto_canceled_by required: false3540 is expected to validate that :name cannot be empty/falsy3541 is expected to validate that :status is either ‹"pending"›, ‹"running"›, ‹"failed"›, ‹"success"›, or ‹"canceled"›3542 is expected to delegate #sha to the #pipeline object3543 is expected to delegate #short_sha to the #pipeline object3544 is expected to respond to #success?3545 is expected to respond to #failed?3546 is expected to respond to #running?3547 is expected to respond to #pending?3548 behaves like having unique enum values3549 has unique values in "scheduling_type"3550 has unique values in "failure_reason"3551 #author3552 is expected to eq #<User id: @>3553 status state machine3554 when expire_job_and_pipeline_cache_synchronously is enabled3555 invalidates the cache after a transition3556 when expire_job_and_pipeline_cache_synchronously is disabled3557 invalidates the cache after a transition3558 transitioning to running3559 records the started at time3560 transitioning to created from skipped or manual3561 does not update user without parameter3562 updates user with user parameter3563 .updated_at_before3564 finds the relevant records3565 .created_at_before3566 finds the relevant records3567 .scheduled_at_before3568 is expected to contain exactly #<CommitStatus status: "success", finished_at: "2016-01-26 07:23:42.000000000 +0000", trace: nil, cre...id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: nil, id: 12, stage_id: 12>3569 #processed3570 processed state is always persisted3571 status is latest3572 is expected to be falsey3573 status is retried3574 is expected to be truthy3575 #started?3576 without started_at3577 is expected to be falsey3578 if commit status is running3579 is expected to be truthy3580 if commit status is success3581 is expected to be truthy3582 if commit status is failed3583 is expected to be truthy3584 if commit status is pending3585 is expected to be falsey3586 if commit status is canceled3587 is expected to be falsey3588 #active?3589 if commit_status.status is pending3590 is expected to be truthy3591 if commit_status.status is running3592 is expected to be truthy3593 if commit_status.status is success3594 is expected to be falsey3595 if commit_status.status is failed3596 is expected to be falsey3597 if commit_status.status is canceled3598 is expected to be falsey3599 #complete?3600 if commit_status.status is success3601 is expected to be truthy3602 if commit_status.status is failed3603 is expected to be truthy3604 if commit_status.status is canceled3605 is expected to be truthy3606 if commit_status.status is pending3607 is expected to be falsey3608 if commit_status.status is running3609 is expected to be falsey3610 #cancel3611 when status is scheduled3612 updates the status3613 #auto_canceled?3614 when it is canceled3615 when there is auto_canceled_by3616 is auto canceled3617 when there is no auto_canceled_by3618 is not auto canceled3619 #duration3620 is expected to eq 120.03621 if the building process has not started yet3622 is expected to be nil3623 if the building process has started3624 is expected to be a kind of Float3625 is expected to be > 0.03626 #queued_duration3627 when created, then enqueued, then started3628 is expected to eq 5.03629 when created but not yet enqueued3630 is expected to be nil3631 when enqueued, but not started3632 is expected to eq 1 minute3633 .latest3634 returns unique statuses3635 .retried3636 returns unique statuses3637 .retried_ordered3638 returns retried statuses in order3639 .running_or_pending3640 returns statuses that are running or pending3641 .after_stage3642 returns statuses from second and third stage3643 .exclude_ignored3644 returns statuses without what we want to ignore3645 .failed_but_allowed3646 returns statuses without what we want to ignore3647 .for_ref3648 returns statuses with the specified ref3649 .by_name3650 returns statuses with the specified name3651 .for_project_paths3652 with a single path3653 returns statuses for other_project3654 with array of paths3655 returns statuses for project3656 .status3657 when there are multiple statuses present3658 returns a correct compound status3659 when there are only allowed to fail commit statuses present3660 returns status that indicates success3661 when using a scope to select latest statuses3662 returns status according to the scope3663 .match_id_and_lock_version3664 returns statuses that match the given id and lock versions3665 #before_sha3666 when no before_sha is set for pipeline3667 returns blank sha3668 for before_sha set for pipeline3669 returns the set value3670 #commit3671 returns commit pipeline has been created for3672 #group_name3673 name: "rspec1", group_name: "rspec1"3674 rspec1 puts in rspec13675 name: "rspec1 0 1", group_name: "rspec1"3676 rspec1 0 1 puts in rspec13677 name: "rspec1 0/2", group_name: "rspec1"3678 rspec1 0/2 puts in rspec13679 name: "rspec:windows", group_name: "rspec:windows"3680 rspec:windows puts in rspec:windows3681 name: "rspec:windows 0", group_name: "rspec:windows 0"3682 rspec:windows 0 puts in rspec:windows 03683 name: "rspec:windows 0 2/2", group_name: "rspec:windows 0"3684 rspec:windows 0 2/2 puts in rspec:windows 03685 name: "rspec:windows 0 test", group_name: "rspec:windows 0 test"3686 rspec:windows 0 test puts in rspec:windows 0 test3687 name: "rspec:windows 0 test 2/2", group_name: "rspec:windows 0 test"3688 rspec:windows 0 test 2/2 puts in rspec:windows 0 test3689 name: "rspec:windows 0 1 2/2", group_name: "rspec:windows"3690 rspec:windows 0 1 2/2 puts in rspec:windows3691 name: "rspec:windows 0 1 [aws] 2/2", group_name: "rspec:windows"3692 rspec:windows 0 1 [aws] 2/2 puts in rspec:windows3693 name: "rspec:windows 0 1 name [aws] 2/2", group_name: "rspec:windows 0 1 name"3694 rspec:windows 0 1 name [aws] 2/2 puts in rspec:windows 0 1 name3695 name: "rspec:windows 0 1 name", group_name: "rspec:windows 0 1 name"3696 rspec:windows 0 1 name puts in rspec:windows 0 1 name3697 name: "rspec:windows 0 1 name 1/2", group_name: "rspec:windows 0 1 name"3698 rspec:windows 0 1 name 1/2 puts in rspec:windows 0 1 name3699 name: "rspec:windows 0/1", group_name: "rspec:windows"3700 rspec:windows 0/1 puts in rspec:windows3701 name: "rspec:windows 0/1 name", group_name: "rspec:windows 0/1 name"3702 rspec:windows 0/1 name puts in rspec:windows 0/1 name3703 name: "rspec:windows 0/1 name 1/2", group_name: "rspec:windows 0/1 name"3704 rspec:windows 0/1 name 1/2 puts in rspec:windows 0/1 name3705 name: "rspec:windows 0:1", group_name: "rspec:windows"3706 rspec:windows 0:1 puts in rspec:windows3707 name: "rspec:windows 0:1 name", group_name: "rspec:windows 0:1 name"3708 rspec:windows 0:1 name puts in rspec:windows 0:1 name3709 name: "rspec:windows 10000 20000", group_name: "rspec:windows"3710 rspec:windows 10000 20000 puts in rspec:windows3711 name: "rspec:windows 0 : / 1", group_name: "rspec:windows"3712 rspec:windows 0 : / 1 puts in rspec:windows3713 name: "rspec:windows 0 : / 1 name", group_name: "rspec:windows 0 : / 1 name"3714 rspec:windows 0 : / 1 name puts in rspec:windows 0 : / 1 name3715 name: "0 1 name ruby", group_name: "0 1 name ruby"3716 0 1 name ruby puts in 0 1 name ruby3717 name: "0 :/ 1 name ruby", group_name: "0 :/ 1 name ruby"3718 0 :/ 1 name ruby puts in 0 :/ 1 name ruby3719 name: "rspec: [aws]", group_name: "rspec"3720 rspec: [aws] puts in rspec3721 name: "rspec: [aws] 0/1", group_name: "rspec"3722 rspec: [aws] 0/1 puts in rspec3723 name: "rspec: [aws, max memory]", group_name: "rspec"3724 rspec: [aws, max memory] puts in rspec3725 name: "rspec:linux: [aws, max memory, data]", group_name: "rspec:linux"3726 rspec:linux: [aws, max memory, data] puts in rspec:linux3727 name: "rspec: [inception: [something, other thing], value]", group_name: "rspec"3728 rspec: [inception: [something, other thing], value] puts in rspec3729 name: "rspec:windows 0/1: [name, other]", group_name: "rspec:windows"3730 rspec:windows 0/1: [name, other] puts in rspec:windows3731 name: "rspec:windows: [name, other] 0/1", group_name: "rspec:windows"3732 rspec:windows: [name, other] 0/1 puts in rspec:windows3733 name: "rspec:windows: [name, 0/1] 0/1", group_name: "rspec:windows"3734 rspec:windows: [name, 0/1] 0/1 puts in rspec:windows3735 name: "rspec:windows: [0/1, name]", group_name: "rspec:windows"3736 rspec:windows: [0/1, name] puts in rspec:windows3737 name: "rspec:windows: [, ]", group_name: "rspec:windows"3738 rspec:windows: [, ] puts in rspec:windows3739 name: "rspec:windows: [name]", group_name: "rspec:windows"3740 rspec:windows: [name] puts in rspec:windows3741 name: "rspec:windows: [name,other]", group_name: "rspec:windows"3742 rspec:windows: [name,other] puts in rspec:windows3743 #detailed_status3744 returns a detailed status3745 #sortable_name3746 'karma' sorts as '["karma"]'3747 'karma 0 20' sorts as '["karma ", 0, " ", 20]'3748 'karma 10 20' sorts as '["karma ", 10, " ", 20]'3749 'karma 50:100' sorts as '["karma ", 50, ":", 100]'3750 'karma 1.10' sorts as '["karma ", 1, ".", 10]'3751 'karma 1.5.1' sorts as '["karma ", 1, ".", 5, ".", 1]'3752 'karma 1 a' sorts as '["karma ", 1, " a"]'3753 #locking_enabled?3754 when changing status3755 lock3756 raise exception when trying to update3757 when changing description3758 do not lock3759 save correctly3760 #drop3761 when failure_reason is nil3762 is expected to be unknown failure3763 behaves like incrementing failure reason counter3764 increments the counter with the failure_reason3765 when failure_reason is script_failure3766 is expected to be script failure3767 behaves like incrementing failure reason counter3768 increments the counter with the failure_reason3769 when failure_reason is unmet_prerequisites3770 is expected to be unmet prerequisites3771 behaves like incrementing failure reason counter3772 increments the counter with the failure_reason3773 when status is manual3774 is able to be dropped3775 ensure stage assignment3776 when commit status has a stage_id assigned3777 does not create a new stage3778 when commit status does not have a stage_id assigned3779 creates a new stage3780 when commit status does not have stage but it exists3781 uses existing stage3782 when commit status is being imported3783 does not create a new stage3784 #all_met_to_become_pending?3785 is expected to eq true3786 #enqueue3787 when initial state is :created3788 behaves like commit status enqueued3789 sets queued_at value when enqueued3790 when initial state is :skipped3791 behaves like commit status enqueued3792 sets queued_at value when enqueued3793 when initial state is :manual3794 behaves like commit status enqueued3795 sets queued_at value when enqueued3796 when initial state is :scheduled3797 behaves like commit status enqueued3798 sets queued_at value when enqueued3799 #present3800 is expected to be a kind of CommitStatusPresenter3801 #recoverable?3802 when commit status is failed3803 failure_reason: :script_failure, recoverable: false3804 when failure reason is script_failure3805 is expected to eq false3806 failure_reason: :missing_dependency_failure, recoverable: false3807 when failure reason is missing_dependency_failure3808 is expected to eq false3809 failure_reason: :archived_failure, recoverable: false3810 when failure reason is archived_failure3811 is expected to eq false3812 failure_reason: :scheduler_failure, recoverable: false3813 when failure reason is scheduler_failure3814 is expected to eq false3815 failure_reason: :data_integrity_failure, recoverable: false3816 when failure reason is data_integrity_failure3817 is expected to eq false3818 failure_reason: :unknown_failure, recoverable: true3819 when failure reason is unknown_failure3820 is expected to eq true3821 failure_reason: :api_failure, recoverable: true3822 when failure reason is api_failure3823 is expected to eq true3824 failure_reason: :stuck_or_timeout_failure, recoverable: true3825 when failure reason is stuck_or_timeout_failure3826 is expected to eq true3827 failure_reason: :runner_system_failure, recoverable: true3828 when failure reason is runner_system_failure3829 is expected to eq true3830 when commit status is not failed3831 is expected to eq false3832 #update_older_statuses_retried!3833 updates 'retried' and 'status' columns of the latest status with the same name in the same pipeline3834 .bulk_insert_tags!3835 delegates to bulk insert class3836 #expire_etag_cache!3837 expires the etag cache3838Projects::UpdateService3839 #execute3840 when changing visibility level3841 when visibility_level changes to INTERNAL3842 updates the project to internal3843 when visibility_level changes to PUBLIC3844 updates the project to public3845 and project is PRIVATE3846 does not unlink project from fork network3847 when visibility_level changes to PRIVATE3848 updates the project to private3849 when visibility levels are restricted to PUBLIC only3850 when visibility_level is INTERNAL3851 updates the project to internal3852 when visibility_level is PUBLIC3853 does not update the project to public3854 when updated by an admin3855 when admin mode is enabled3856 updates the project to public3857 when admin mode is disabled3858 does not update the project to public3859 when project visibility is higher than parent group3860 does not update project visibility level even if admin3861 when updating shared runners3862 can enable shared runners3863 enables shared runners3864 cannot enable shared runners3865 does not enable shared runners3866 when updating project that has forks3867 and unlink forks feature flag is off3868 updates forks visibility level when parent set to more restrictive3869 does not update forks visibility level when parent set to less restrictive3870 and unlink forks feature flag is on3871 does not change visibility of forks3872 when updating a default branch3873 changes default branch, tracking the previous branch3874 does not change a default branch3875 when we update project but not enabling a wiki3876 does not try to create an empty wiki3877 handles empty project feature attributes3878 when enabling a wiki3879 creates a wiki3880 logs an error and creates a metric when wiki can not be created3881 when changing feature visibility to private3882 updates the visibility correctly3883 when updating a project that contains container images3884 does not allow to rename the project3885 allows to update other settings3886 when renaming a project3887 with legacy storage3888 does not allow renaming when new path matches existing repository on disk3889 when hashed storage is enabled3890 migrates project to a hashed storage instead of renaming the repo to another legacy name3891 with hashed storage3892 does not check if new path matches existing repository on disk3893 when passing invalid parameters3894 returns an error result when record cannot be updated3895 when updating #pages_https_only3896 updates the attribute3897 behaves like updating pages configuration3898 schedules the `PagesUpdateConfigurationWorker` when pages are deployed3899 does not schedule a job when pages aren't deployed3900 when updating #pages_access_level3901 updates the attribute3902 behaves like updating pages configuration3903 schedules the `PagesUpdateConfigurationWorker` when pages are deployed3904 does not schedule a job when pages aren't deployed3905 when updating #emails_disabled3906 updates the attribute for the project owner3907 does not update when not project owner3908 when updating runners settings3909 when project has shared runners enabled3910 updates builds queue when shared runners get disabled3911 when project has shared runners disabled3912 updates builds queue when shared runners get enabled3913 when project has group runners enabled3914 updates builds queue when group runners get disabled3915 when project has group runners disabled3916 updates builds queue when group runners get enabled3917 with external authorization enabled3918 does not save the project with an error if the service denies access3919 saves the new label if the service allows access3920 checks the default label when the classification label was cleared3921 does not check the label when it does not change3922 when updating nested attributes for prometheus integration3923 prometheus integration exists3924 updates existing record3925 prometheus integration does not exist3926 valid parameters3927 creates new record3928 invalid parameters3929 does not create new record3930 when changing repository_storage3931 authenticated as admin3932 when admin mode is enabled3933 schedules the transfer of the repository to the new storage and locks the project3934 when admin mode is disabled3935 behaves like the transfer was not scheduled3936 does not schedule the transfer3937 the repository is read-only3938 behaves like the transfer was not scheduled3939 does not schedule the transfer3940 the storage has not changed3941 behaves like the transfer was not scheduled3942 does not schedule the transfer3943 the storage does not exist3944 behaves like the transfer was not scheduled3945 does not schedule the transfer3946 authenticated as user3947 behaves like the transfer was not scheduled3948 does not schedule the transfer3949 when updating topics3950 update using topics3951 update using topic_list3952 update using tag_list (deprecated)3953 #run_auto_devops_pipeline?3954 when master contains a .gitlab-ci.yml file3955 is expected to eq false3956 when auto devops is nil3957 is expected to eq false3958 when auto devops is explicitly enabled3959 is expected to eq true3960 when auto devops is explicitly disabled3961 is expected to eq false3962 when auto devops is set to instance setting3963 when auto devops is enabled system-wide3964 is expected to eq true3965 when auto devops is disabled system-wide3966 is expected to eq false3967Integrations::Mattermost3968 behaves like Integrations::SlackMattermostNotifier3969 Associations3970 is expected to belong to project required: false3971 is expected to have one service_hook3972 Validations3973 when service is active3974 is expected to validate that :webhook cannot be empty/falsy3975 behaves like issue tracker integration URL attribute3976 is expected to allow :webhook to be ‹"https://example.com"›3977 is expected not to allow :webhook to be ‹"example.com"›3978 is expected not to allow :webhook to be ‹"ftp://example.com"›3979 is expected not to allow :webhook to be ‹"herp-and-derp"›3980 when service is inactive3981 is expected not to validate that :webhook cannot be empty/falsy3982 #execute3983 with username for slack configured3984 uses the username as an option3985 push events3986 behaves like calls the service API with the event message3987 is expected to request POST https://8.8.8.9/ 1 time3988 with event channel3989 uses the right channel for push event3990 tag_push events3991 behaves like calls the service API with the event message3992 is expected to request POST https://8.8.8.9/ 1 time3993 issue events3994 behaves like calls the service API with the event message3995 is expected to request POST https://8.8.8.9/ 1 time3996 whith event channel3997 uses the right channel for issue event3998 for confidential issues3999 falls back to issue channel4000 and confidential_issue_channel is defined4001 uses the confidential issue channel when it is defined4002 merge request events4003 behaves like calls the service API with the event message4004 is expected to request POST https://8.8.8.9/ 1 time4005 with event channel4006 uses the right channel for merge request event4007 wiki page events4008 behaves like calls the service API with the event message4009 is expected to request POST https://8.8.8.9/ 1 time4010 with event channel4011 uses the right channel for wiki event4012 deployment events4013 behaves like calls the service API with the event message4014 is expected to request POST https://8.8.8.9/ 1 time4015 note event4016 behaves like calls the service API with the event message4017 is expected to request POST https://8.8.8.9/ 1 time4018 with event channel4019 uses the right channel4020 for confidential notes4021 falls back to note channel4022 and confidential_note_channel is defined4023 uses confidential channel4024 Push events4025 on default branch4026 pushing tags4027 behaves like triggered Mattermost service4028 notifies about push events4029 notification enabled only for default branch4030 behaves like triggered Mattermost service4031 notifies about push events4032 notification enabled only for protected branches4033 behaves like untriggered Mattermost service4034 notifies about push events4035 notification enabled only for default and protected branches4036 behaves like triggered Mattermost service4037 notifies about push events4038 notification enabled for all branches4039 behaves like triggered Mattermost service4040 notifies about push events4041 on a protected branch4042 pushing tags4043 behaves like triggered Mattermost service4044 notifies about push events4045 notification enabled only for default branch4046 behaves like untriggered Mattermost service4047 notifies about push events4048 notification enabled only for protected branches4049 behaves like triggered Mattermost service4050 notifies about push events4051 notification enabled only for default and protected branches4052 behaves like triggered Mattermost service4053 notifies about push events4054 notification enabled for all branches4055 behaves like triggered Mattermost service4056 notifies about push events4057 on a protected branch with protected branches defined using wildcards4058 pushing tags4059 behaves like triggered Mattermost service4060 notifies about push events4061 notification enabled only for default branch4062 behaves like untriggered Mattermost service4063 notifies about push events4064 notification enabled only for protected branches4065 behaves like triggered Mattermost service4066 notifies about push events4067 notification enabled only for default and protected branches4068 behaves like triggered Mattermost service4069 notifies about push events4070 notification enabled for all branches4071 behaves like triggered Mattermost service4072 notifies about push events4073 on a neither protected nor default branch4074 pushing tags4075 behaves like triggered Mattermost service4076 notifies about push events4077 notification enabled only for default branch4078 behaves like untriggered Mattermost service4079 notifies about push events4080 notification enabled only for protected branches4081 behaves like untriggered Mattermost service4082 notifies about push events4083 notification enabled only for default and protected branches4084 behaves like untriggered Mattermost service4085 notifies about push events4086 notification enabled for all branches4087 behaves like triggered Mattermost service4088 notifies about push events4089 Note events4090 when commit comment event executed4091 behaves like triggered Mattermost service4092 notifies about commit comment events4093 when merge request comment event executed4094 behaves like triggered Mattermost service4095 notifies about merge request comment events4096 when issue comment event executed4097 behaves like triggered Mattermost service4098 notifies about issue comment events4099 when snippet comment event executed4100 behaves like triggered Mattermost service4101 notifies about snippet comment events4102 Pipeline events4103 with succeeded pipeline4104 with default to notify_only_broken_pipelines4105 behaves like untriggered Mattermost service4106 notifies about pipeline events4107 with setting notify_only_broken_pipelines to false4108 behaves like triggered Mattermost service4109 notifies about pipeline events4110 with failed pipeline4111 on default branch4112 notification enabled only for default branch4113 behaves like triggered Mattermost service4114 notifies about pipeline events4115 notification enabled only for protected branches4116 behaves like untriggered Mattermost service4117 notifies about pipeline events4118 notification enabled only for default and protected branches4119 behaves like triggered Mattermost service4120 notifies about pipeline events4121 notification enabled for all branches4122 behaves like triggered Mattermost service4123 notifies about pipeline events4124 on a protected branch4125 notification enabled only for default branch4126 behaves like untriggered Mattermost service4127 notifies about pipeline events4128 notification enabled only for protected branches4129 behaves like triggered Mattermost service4130 notifies about pipeline events4131 notification enabled only for default and protected branches4132 behaves like triggered Mattermost service4133 notifies about pipeline events4134 notification enabled for all branches4135 behaves like triggered Mattermost service4136 notifies about pipeline events4137 on a protected branch with protected branches defined usin wildcards4138 notification enabled only for default branch4139 behaves like untriggered Mattermost service4140 notifies about pipeline events4141 notification enabled only for protected branches4142 behaves like triggered Mattermost service4143 notifies about pipeline events4144 notification enabled only for default and protected branches4145 behaves like triggered Mattermost service4146 notifies about pipeline events4147 notification enabled for all branches4148 behaves like triggered Mattermost service4149 notifies about pipeline events4150 on a neither protected nor default branch4151 notification enabled only for default branch4152 behaves like untriggered Mattermost service4153 notifies about pipeline events4154 notification enabled only for protected branches4155 behaves like untriggered Mattermost service4156 notifies about pipeline events4157 notification enabled only for default and protected branches4158 behaves like untriggered Mattermost service4159 notifies about pipeline events4160 notification enabled for all branches4161 behaves like triggered Mattermost service4162 notifies about pipeline events4163Packages::Maven::Metadata::CreateVersionsXmlService4164 #execute4165 with same versions in both sides4166 returns no changes4167 with more versions4168 in the xml side4169 behaves like returning an xml with versions in the database4170 returns an metadata versions xml with versions in the database4171 in the database side4172 behaves like returning an xml with versions in the database4173 returns an metadata versions xml with versions in the database4174 with completely different versions4175 behaves like returning an xml with versions in the database4176 returns an metadata versions xml with versions in the database4177 with no versions in the database4178 returns a success4179 with an xml without a release version4180 returns a success4181 with differences in both sides4182 behaves like returning an xml with versions in the database4183 returns an metadata versions xml with versions in the database4184 with a new release and latest from the database4185 behaves like returning an xml with4186 returns an xml with the updated release and latest versions4187 with a latest in the xml4188 behaves like returning an xml with4189 returns an xml with the updated release and latest versions4190 with release and latest not existing in the database4191 behaves like returning an xml with4192 returns an xml with the updated release and latest versions4193 with added versions in the database side no more recent than release4194 behaves like returning an xml with4195 returns an xml with the updated release and latest versions4196 with a latest in the xml4197 behaves like returning an xml with4198 returns an xml with the updated release and latest versions4199 only snapshot versions are in the database4200 returns an xml without any release element4201 behaves like returning an xml with4202 returns an xml with the updated release and latest versions4203 last updated timestamp4204 updates the last updated timestamp4205 with an incomplete metadata content4206 behaves like returning an error service response4207 returns an error service response4208 with an invalid metadata content4209 behaves like returning an error service response4210 returns an error service response4211 behaves like handling metadata content pointing to a file for the create xml service4212 with metadata content pointing to a file4213 with valid content4214 returns no changes4215 with invalid content4216 behaves like returning an error service response4217 returns an error service response4218 with no content4219 behaves like returning an error service response4220 returns an error service response4221 behaves like handling invalid parameters for create xml service4222 with no package4223 behaves like returning an error service response4224 returns an error service response4225 with no metadata content4226 behaves like returning an error service response4227 returns an error service response4228WikiPagePolicy4229 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 14230 grants permission4231 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 14232 grants permission4233 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 14234 grants permission4235 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 14236 grants permission4237 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 14238 grants permission4239 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 14240 grants permission4241 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14242 grants permission4243 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04244 grants permission4245 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14246 grants permission4247 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 14248 grants permission4249 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04250 grants permission4251 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04252 grants permission4253 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04254 grants permission4255 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04256 grants permission4257 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04258 grants permission4259 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04260 grants permission4261 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 14262 grants permission4263 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 14264 grants permission4265 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 14266 grants permission4267 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 14268 grants permission4269 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 14270 grants permission4271 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 04272 grants permission4273 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14274 grants permission4275 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04276 grants permission4277 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14278 grants permission4279 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 14280 grants permission4281 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04282 grants permission4283 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04284 grants permission4285 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04286 grants permission4287 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04288 grants permission4289 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04290 grants permission4291 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04292 grants permission4293 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 14294 grants permission4295 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 04296 grants permission4297 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 14298 grants permission4299 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 14300 grants permission4301 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 04302 grants permission4303 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 04304 grants permission4305 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 04306 grants permission4307 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 04308 grants permission4309 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 04310 grants permission4311 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 04312 grants permission4313GroupMember4314 scopes4315 counts users by group ID4316 .of_ldap_type4317 returns ldap type users4318 .with_user4319 returns requested user4320 delegations4321 is expected to delegate #update_two_factor_requirement to the #user object, allowing #user to return nil4322 .access_level_roles4323 returns Gitlab::Access.options_with_owner4324 behaves like members notifications4325 #after_create4326 sends email to user4327 #after_update4328 calls NotificationService.update_group_member4329 does not send an email when the access level has not changed4330 #accept_request4331 calls NotificationService.new_group_member4332 #accept_invite!4333 calls NotificationService.accept_group_invite4334 #decline_invite!4335 calls NotificationService.decline_group_invite4336 #namespace_id4337 is expected to eq 14338 #real_source_type4339 is expected to eq "Group"4340 #update_two_factor_requirement4341 is called after creation and deletion4342 #destroy4343 for an orphaned member4344 does not raise an error4345 #after_accept_invite4346 calls #update_two_factor_requirement4347 access levels4348 with parent group4349 behaves like inherited access level as a member of entity4350 with root parent_entity developer member4351 is allowed to be a maintainer of the entity4352 is not allowed to be a reporter of the entity4353 is allowed to change to be a developer of the entity4354 is not allowed to change to be a guest of the entity4355 shows an error if the member can't be updated4356 allows changing the level from a non existing member4357 with parent group and a sub subgroup4358 behaves like inherited access level as a member of entity4359 with root parent_entity developer member4360 is allowed to be a maintainer of the entity4361 is not allowed to be a reporter of the entity4362 is allowed to change to be a developer of the entity4363 is not allowed to change to be a guest of the entity4364 shows an error if the member can't be updated4365 allows changing the level from a non existing member4366 when only the subgroup has the member4367 behaves like inherited access level as a member of entity4368 with root parent_entity developer member4369 is allowed to be a maintainer of the entity4370 is not allowed to be a reporter of the entity4371 is allowed to change to be a developer of the entity4372 is not allowed to change to be a guest of the entity4373 shows an error if the member can't be updated4374 allows changing the level from a non existing member4375 when group member expiration date is updated4376 emails the user that their group membership expiry has changed4377 refresh_member_authorized_projects4378 when importing4379 does not refresh4380DraftNotes::PublishService4381 only publishes the draft notes belonging to the current user4382 single draft note4383 publishes4384 does not skip notification4385 does not track the publish event4386 commit_id is set4387 creates note from draft with commit_id4388 multiple draft notes4389 returns success4390 publishes all draft notes for a user in a merge request4391 sends batch notification4392 tracks the publish event4393 when review fails to create4394 does not publish any draft note4395 does not track the publish event4396 returns an error4397 capturing diff notes positions and keeping around commits4398 creates diff_note_positions for diff notes4399 keeps around the commits of each published note4400 does not requests a lot from Gitaly4401 commit_id is set4402 creates note from draft with commit_id4403 draft notes with suggestions4404 creates a suggestion with correct content4405 when the diff is changed4406 creates a suggestion based on the latest diff content and positions4407 with quick actions4408 performs quick actions4409 does not create a note if it only contains quick actions4410 with drafts that resolve threads4411 resolves the thread4412 sends notifications if all threads are resolved4413 user cannot create notes4414 returns an error4415Integrations::PipelinesEmail4416 Validations4417 when integration is active4418 is expected to validate that :recipients cannot be empty/falsy4419 when integration is inactive4420 is expected not to validate that :recipients cannot be empty/falsy4421 validates number of recipients4422 valid number of recipients4423 does not count empty emails4424 invalid number of recipients4425 is expected not to be valid4426 adds an error message4427 when integration is not active4428 is expected to be valid4429 #test4430 when pipeline is failed and on default branch4431 behaves like sending email4432 sends email4433 when pipeline is succeeded4434 behaves like sending email4435 sends email4436 when the pipeline failed4437 on default branch4438 notifications are enabled only for default branch4439 behaves like sending email4440 sends email4441 notifications are enabled only for protected branch4442 behaves like sending email4443 sends email4444 notifications are enabled only for default and protected branches4445 behaves like sending email4446 sends email4447 notifications are enabled only for all branches4448 behaves like sending email4449 sends email4450 on a protected branch4451 notifications are enabled only for default branch4452 behaves like sending email4453 sends email4454 notifications are enabled only for protected branch4455 behaves like sending email4456 sends email4457 notifications are enabled only for default and protected branches4458 behaves like sending email4459 sends email4460 notifications are enabled only for all branches4461 behaves like sending email4462 sends email4463 on a neither protected nor default branch4464 notifications are enabled only for default branch4465 behaves like sending email4466 sends email4467 notifications are enabled only for protected branch4468 behaves like sending email4469 sends email4470 notifications are enabled only for default and protected branches4471 behaves like sending email4472 sends email4473 notifications are enabled only for all branches4474 behaves like sending email4475 sends email4476 #execute4477 with recipients4478 with failed pipeline4479 behaves like sending email4480 sends email4481 with succeeded pipeline4482 behaves like not sending email4483 does not send email4484 with notify_only_broken_pipelines on4485 with failed pipeline4486 behaves like sending email4487 sends email4488 with succeeded pipeline4489 behaves like not sending email4490 does not send email4491 when the pipeline failed4492 on default branch4493 notifications are enabled only for default branch4494 behaves like sending email4495 sends email4496 notifications are enabled only for protected branch4497 behaves like not sending email4498 does not send email4499 notifications are enabled only for default and protected branches4500 behaves like sending email4501 sends email4502 notifications are enabled only for all branches4503 behaves like sending email4504 sends email4505 on a protected branch4506 notifications are enabled only for default branch4507 behaves like not sending email4508 does not send email4509 notifications are enabled only for protected branch4510 behaves like sending email4511 sends email4512 notifications are enabled only for default and protected branches4513 behaves like sending email4514 sends email4515 notifications are enabled only for all branches4516 behaves like sending email4517 sends email4518 on a neither protected nor default branch4519 notifications are enabled only for default branch4520 behaves like not sending email4521 does not send email4522 notifications are enabled only for protected branch4523 behaves like not sending email4524 does not send email4525 notifications are enabled only for default and protected branches4526 behaves like not sending email4527 does not send email4528 notifications are enabled only for all branches4529 behaves like sending email4530 sends email4531 with empty recipients list4532 with failed pipeline4533 behaves like not sending email4534 does not send email4535 with recipients list separating with newlines4536 with failed pipeline4537 behaves like sending email4538 sends email4539Integrations::DroneCi4540 validations4541 active4542 is expected to validate that :token cannot be empty/falsy4543 is expected to validate that :drone_url cannot be empty/falsy4544 behaves like issue tracker integration URL attribute4545 is expected to allow :drone_url to be ‹"https://example.com"›4546 is expected not to allow :drone_url to be ‹"example.com"›4547 is expected not to allow :drone_url to be ‹"ftp://example.com"›4548 is expected not to allow :drone_url to be ‹"herp-and-derp"›4549 inactive4550 is expected not to validate that :token cannot be empty/falsy4551 is expected not to validate that :drone_url cannot be empty/falsy4552 behaves like Integrations::HasWebHook4553 does not create a hook if project is not present4554 callbacks4555 calls #update_web_hook! when enabled4556 does not call #update_web_hook! when disabled4557 does not call #update_web_hook! when validation fails4558 #hook_url4559 returns a string4560 #hook_ssl_verification4561 returns a boolean4562 #update_web_hook!4563 creates or updates a service hook4564 raises an error if the service hook could not be saved4565 does not attempt to save the service hook if there are no changes4566 #execute_web_hook!4567 creates the webhook if necessary and executes it4568 raises an error if the service hook could not be saved4569 integration page/path methods4570 is expected to eq "http://drone.example.com/gitlab/namespace908/project/redirect/commits/2ab7834c?branch=dev"4571 is expected to eq "http://drone.example.com/gitlab/namespace909/project/commits/2ab7834c?branch=dev&access_token=secret"4572 #commit_status4573 returns the contents of the reactive cache4574 #calculate_reactive_cache4575 #commit_status4576 sets commit status to :error when status is 5004577 sets commit status to :error when status is 4044578 sets commit status to :error with a Net::OpenTimeout error4579 sets commit status to :error with a Net::ReadTimeout error4580 sets commit status to :error with a Net::WriteTimeout error4581 sets commit status to :error with a Gitlab::HTTP::ReadTotalTimeout error4582 sets commit status to :error with a EOFError error4583 sets commit status to :error with a SocketError error4584 sets commit status to :error with a OpenSSL::SSL::SSLError error4585 sets commit status to :error with a OpenSSL::OpenSSLError error4586 sets commit status to :error with a Errno::ECONNRESET error4587 sets commit status to :error with a Errno::ECONNREFUSED error4588 sets commit status to :error with a Errno::EHOSTUNREACH error4589 sets commit status to :error with a Errno::ENETUNREACH error4590 sets commit status to :error with a Gitlab::HTTP::BlockedUrlError error4591 sets commit status to :error with a Gitlab::HTTP::RedirectionTooDeep error4592 sets commit status to :canceled when returned status is "killed"4593 sets commit status to :failed when returned status is "failure"4594 sets commit status to :failed when returned status is "error"4595 sets commit status to "success" when returned status is "success"4596 execute4597 executes the webhook4598 does not try to execute the webhook if the integration is not in a project4599CommitStatusPresenter4600 inherits from Gitlab::View::Presenter::Delegated4601 #callout_failure_message4602 when troubleshooting doc is available4603 appends the troubleshooting link4604 covers all failure reasons4605 unknown_failure4606 is a valid status4607 script_failure4608 is a valid status4609 api_failure4610 is a valid status4611 stuck_or_timeout_failure4612 is a valid status4613 runner_system_failure4614 is a valid status4615 missing_dependency_failure4616 is a valid status4617 runner_unsupported4618 is a valid status4619 stale_schedule4620 is a valid status4621 job_execution_timeout4622 is a valid status4623 archived_failure4624 is a valid status4625 unmet_prerequisites4626 is a valid status4627 scheduler_failure4628 is a valid status4629 data_integrity_failure4630 is a valid status4631 forward_deployment_failure4632 is a valid status4633 user_blocked4634 is a valid status4635 project_deleted4636 is a valid status4637 ci_quota_exceeded4638 is a valid status4639 pipeline_loop_detected4640 is a valid status4641 no_matching_runner4642 is a valid status4643 trace_size_exceeded4644 is a valid status4645 builds_disabled4646 is a valid status4647 environment_creation_failure4648 is a valid status4649 deployment_rejected4650 is a valid status4651 insufficient_bridge_permissions4652 is a valid status4653 downstream_bridge_project_not_found4654 is a valid status4655 invalid_bridge_trigger4656 is a valid status4657 bridge_pipeline_is_child_pipeline4658 is a valid status4659 downstream_pipeline_creation_failed4660 is a valid status4661 secrets_provider_not_found4662 is a valid status4663 reached_max_descendant_pipelines_depth4664 is a valid status4665 protected_environment_failure4666 is a valid status4667 upstream_bridge_project_not_found4668 is a valid status4669 insufficient_upstream_permissions4670 is a valid status4671 invalid failure message4672 is an invalid status4673UsersHelper4674 #user_link4675 links to the user's profile4676 has the user's email as title4677 #profile_tabs4678 with public profile4679 includes all the expected tabs4680 with private profile4681 is empty4682 #user_internal_regex_data4683 user_default_external: false, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4684 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4685 user_default_external: false, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4686 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4687 user_default_external: false, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4688 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4689 user_default_external: true, user_default_internal_regex: nil, result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4690 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4691 user_default_external: true, user_default_internal_regex: "", result: {:user_internal_regex_pattern=>nil, :user_internal_regex_options=>nil}4692 is expected to eq {:user_internal_regex_options=>nil, :user_internal_regex_pattern=>nil}4693 user_default_external: true, user_default_internal_regex: "mockRegexPattern", result: {:user_internal_regex_pattern=>"mockRegexPattern", :user_internal_regex_options=>"i"}4694 is expected to eq {:user_internal_regex_options=>"i", :user_internal_regex_pattern=>"mockRegexPattern"}4695 #current_user_menu_items4696 includes all default items4697 includes the profile tab if the user can read themself4698 includes the settings tab if the user can update themself4699 when terms are enforced4700 hides the profile and the settings tab4701 #user_badges_in_admin_section4702 with a blocked user4703 returns the blocked badge4704 with a pending approval user4705 returns the pending approval badge4706 with a banned user4707 returns the banned badge4708 with an admin user4709 returns the admin badge4710 with an external user4711 returns the external badge4712 with the current user4713 returns the "It's You" badge4714 with an external blocked admin4715 returns the blocked, admin and external badges4716 get badges for normal user4717 returns no badges4718 #can_force_email_confirmation?4719 for a user that is already confirmed4720 is expected to eq false4721 for a user that is not confirmed4722 is expected to eq true4723 #work_information4724 when neither organization nor job_title are present4725 is expected to be nil4726 when user parameter is nil4727 is expected to be nil4728 without schema markup4729 when both job_title and organization are present4730 returns job title concatenated with organization4731 when only organization is present4732 returns organization4733 when only job_title is present4734 returns job title4735 with schema markup4736 when both job_title and organization are present4737 returns job title concatenated with organization4738 when only organization is present4739 returns organization4740 when only job_title is present4741 returns job title4742 #user_display_name4743 for a confirmed user4744 is expected to eq "Sidney Jones1429"4745 for an unconfirmed user4746 is expected to eq "Unconfirmed user"4747 when current user is an admin4748 is expected to eq "Sidney Jones1431"4749 when the current user is self4750 is expected to eq "Sidney Jones1433"4751 for a blocked user4752 is expected to eq "Blocked user"4753 #admin_users_data_attributes4754 users matches the serialized json4755 paths matches the schema4756 #confirm_user_data4757 sets `path` key correctly4758 sets `modal_attributes` key to valid json4759 when `user.unconfirmed_email` is set4760 sets `modal_attributes.messageHtml` correctly4761 when `user.unconfirmed_email` is not set4762 sets `modal_attributes.messageHtml` correctly4763 #admin_user_actions_data_attributes4764 user matches the serialized json4765 paths matches the schema4766ProtectedBranch4767 Associations4768 is expected to belong to project required: false4769 Validation4770 is expected to validate that :project cannot be empty/falsy4771 is expected to validate that :name cannot be empty/falsy4772 #matches?4773 when the protected branch setting is not a wildcard4774 returns true for branch names that are an exact match4775 returns false for branch names that are not an exact match4776 when the protected branch name contains wildcard(s)4777 when there is a single '*'4778 returns true for branch names matching the wildcard4779 returns false for branch names not matching the wildcard4780 when the wildcard contains regex symbols other than a '*'4781 returns true for branch names matching the wildcard4782 returns false for branch names not matching the wildcard4783 when there are '*'s at either end4784 returns true for branch names matching the wildcard4785 returns false for branch names not matching the wildcard4786 when there are arbitrarily placed '*'s4787 returns true for branch names matching the wildcard4788 returns false for branch names not matching the wildcard4789 #matching4790 for direct matches4791 returns a list of protected branches matching the given branch name4792 accepts a list of protected branches to search from, so as to avoid a DB call4793 for wildcard matches4794 returns a list of protected branches matching the given branch name4795 accepts a list of protected branches to search from, so as to avoid a DB call4796 #protected?4797 existing project4798 returns true when the branch matches a protected branch via direct match4799 returns true when the branch matches a protected branch via wildcard match4800 returns false when the branch does not match a protected branch via direct match4801 returns false when the branch does not match a protected branch via wildcard match4802 returns false when branch name is nil4803 with caching4804 correctly invalidates a cache4805 correctly uses the cached version4806 new project4807 when the group has set their own default_branch_protection level4808 default_branch_protection_level: 0, result: false4809 protects the default branch based on the default branch protection setting of the group4810 default_branch_protection_level: 1, result: false4811 protects the default branch based on the default branch protection setting of the group4812 default_branch_protection_level: 3, result: true4813 protects the default branch based on the default branch protection setting of the group4814 default_branch_protection_level: 2, result: true4815 protects the default branch based on the default branch protection setting of the group4816 when the group has not set their own default_branch_protection level4817 default_branch_protection_level: 0, result: false4818 protects the default branch based on the instance level default branch protection setting4819 default_branch_protection_level: 1, result: false4820 protects the default branch based on the instance level default branch protection setting4821 default_branch_protection_level: 3, result: true4822 protects the default branch based on the instance level default branch protection setting4823 default_branch_protection_level: 2, result: true4824 protects the default branch based on the instance level default branch protection setting4825 #allow_force_push?4826 when the attr allow_force_push is true4827 returns true4828 when the attr allow_force_push is false4829 returns false4830 #any_protected?4831 existing project4832 returns true when any of the branch names match a protected branch via direct match4833 returns true when any of the branch matches a protected branch via wildcard match4834 returns false when none of branches does not match a protected branch via direct match4835 returns false when none of the branches does not match a protected branch via wildcard match4836 .by_name4837 returns protected branches with a matching name4838 returns protected branches with a partially matching name4839 returns protected branches with a matching name regardless of the casing4840 returns nothing when nothing matches4841 return nothing when query is blank4842 .get_ids_by_name4843 returns the id for each protected branch matching name4844ProjectSnippet4845 Associations4846 is expected to belong to project required: false4847 Validation4848 is expected to validate that :project cannot be empty/falsy4849 is expected to validate that :secret is ‹false›4850 #embeddable?4851 only returns true when both project and snippet are public4852 only returns true when both project and snippet are public4853 only returns true when both project and snippet are public4854 only returns true when both project and snippet are public4855 only returns true when both project and snippet are public4856 only returns true when both project and snippet are public4857 only returns true when both project and snippet are public4858 only returns true when both project and snippet are public4859 only returns true when both project and snippet are public4860 behaves like model with repository4861 container class includes HasRepository4862 #commits_by4863 retrieves several commits from the repository by oid4864 #web_url4865 when given the only_path option4866 when only_path is false4867 returns the full web URL for this repo4868 when only_path is true4869 returns the relative web URL for this repo4870 when only_path is nil4871 returns the full web URL for this repo4872 when not given the only_path option4873 returns the full web URL for this repo4874 #url_to_repo4875 returns the SSH URL to the repository4876 #ssh_url_to_repo4877 returns the SSH URL to the repository4878 #http_url_to_repo4879 returns the HTTP URL to the repository4880 #repository4881 returns valid repo4882 uses the same container4883 #storage4884 returns valid storage4885 #full_path4886 returns valid full_path4887 #lfs_enabled?4888 returns the expected value4889 #empty_repo?4890 when the repo does not exist4891 returns true4892 when the repo exists4893 returns the empty state of the repository4894 #valid_repo?4895 is expected to equal false4896 is expected to equal true4897 #repository_exists?4898 is expected to equal false4899 is expected to equal true4900 #repo_exists?4901 is expected to equal false4902 is expected to equal true4903 #root_ref4904 is expected to equal true4905 is expected to equal false4906 is expected to equal false4907 Respond to4908 is expected to respond to #base_dir4909 is expected to respond to #disk_path4910 is expected to respond to #gitlab_shell4911 #change_head4912 delegates #change_head to repository4913 #after_repository_change_head4914 calls #reload_default_branch4915CommitsHelper4916 commit_author_link4917 escapes the author email4918 escapes the author name4919 commit_committer_link4920 escapes the committer email4921 escapes the committer name4922 #view_file_button4923 links to project files4924 #view_on_environment_button4925 returns a link tag linking to the file in the environment4926 #commit_to_html4927DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: projects/commits/_commit.html (called from commit_to_html at /builds/gitlab-org/gitlab/app/helpers/commits_helper.rb:30)4928DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: projects/commits/_commit.html (called from commit_to_html at /builds/gitlab-org/gitlab/app/helpers/commits_helper.rb:30)4929 renders HTML representation of a commit4930 commit_path4931 returns a persisted merge request commit path4932 returns a non-persisted merge request commit path which commits still reside in the source project4933 returns a project commit path4934 #conditionally_paginate_diff_files4935 pagination is enabled4936 has been paginated4937 can change the number of items per page4938 page 14939 has 20 diffs4940 page 54941 has the remaining 5 out of 85 diffs4942 pagination is disabled4943 returns a standard DiffCollection4944 #cherry_pick_projects_data4945 returns data for cherry picking into a project4946 #commit_options_dropdown_data4947 when user is logged in4948 returns data as expected4949 when can not collaborate on project4950 returns data as expected4951 when commit has already been reverted4952 returns data as expected4953 when user is not logged in4954 returns data as expected4955 #commit_partial_cache_key4956 is expected to be a kind of Array4957 is expected to include #<CommitPresenter(#<Commit id:570e7b2abdd848b95f2f578043fc23bd6f6fd24d namespace1056/project1228@570e7b2abdd848b95f2f578043fc23bd6f6fd24d>)>4958 is expected to include #<User id:1193 @user565>4959 is expected to include "master"4960 is expected to include {:merge_request => "merge_requests/58-20211220171123684027", :pipeline_status => "pipelines/142-20211220171123104564", :xhr => true, :controller => "commits", :path => "test"}4961 final cache key output4962 is expected to include "commit:570e7b2abdd848b95f2f578043fc23bd6f6fd24d"4963 is expected to include "pipelines/144-20211220171126711434"4964 #commit_path_template4965 is expected to eq "/namespace1074/project1246/-/commit/$COMMIT_SHA"4966Backup::Files4967 #restore4968 folders with permission4969 moves all necessary files4970 raises no errors4971 calls tar command with unlink4972 raises an error on failure4973 folders without permissions4974 shows error message4975 folders that are a mountpoint4976 shows error message4977 #dump4978 raises no errors4979 excludes tmp dirs from archive4980 raises an error on failure4981 with STRATEGY=copy4982 excludes tmp dirs from rsync4983 retries if rsync fails due to vanishing files4984 raises an error and outputs an error message if rsync failed4985 #exclude_dirs4986 prepends a leading dot slash to tar excludes4987 prepends a leading slash and app_files_dir basename to rsync excludes4988 #run_pipeline!4989 executes an Open3.pipeline for cmd_list4990 returns an empty output on success pipeline4991 returns the stderr for failed pipeline4992 returns the success status list on success pipeline4993 returns the failed status in status list for failed commands in pipeline4994 #pipeline_succeeded?4995 returns true if both tar and gzip succeeeded4996 returns false if gzip failed4997 if gzip succeeded and tar failed non-critically4998 returns true4999 if gzip succeeded and tar failed in other cases5000 returns false5001 #tar_ignore_non_success?5002 if `tar` command exits with 1 exitstatus5003Ignoring tar exit status 1 'Some files differ': any_output5004 returns true5005 outputs a warning5006 if `tar` command exits with 2 exitstatus with non-critical warning5007Ignoring non-success exit status 2 due to output of non-critical warning(s): any_output5008 returns true5009 outputs a warning5010 if `tar` command exits with any other unlisted error5011 returns false5012 #noncritical_warning?5013 returns true if given text matches noncritical warnings list5014 returns false otherwize5015Integrations::Prometheus5016 redirects5017 does not follow redirects5018 Validations5019 when manual_configuration is enabled5020 validates presence of api_url5021 when manual configuration is disabled5022 does not validate presence of api_url5023 local connections allowed5024 does not validate presence of api_url5025 when the api_url domain points to localhost or local network5026 cannot query5027 can query when local requests are allowed5028 with self-monitoring project and internal Prometheus5029 allows self-monitoring project to connect to internal Prometheus5030 does not allow self-monitoring project to connect to other local URLs5031 callbacks5032 after_create5033 creates default alerts5034 no project exists5035 does not create default alerts5036 #test5037 success5038 reads the discovery endpoint5039 failure5040 fails to read the discovery endpoint5041 #prometheus_client5042 manual configuration is enabled5043 calls valid?5044 manual configuration is disabled5045 no client provided5046 when local requests are allowed5047 allows local requests5048 when local requests are blocked5049 blocks local requests5050 with self monitoring project and internal Prometheus URL5051 allows local requests5052 behind IAP5053 includes the authorization header5054 when passed with token_credential_uri5055 param_name: :token_credential_uri5056 does not make any unexpected HTTP requests5057 param_name: :tokencredentialuri5058 does not make any unexpected HTTP requests5059 param_name: :Token_credential_uri5060 does not make any unexpected HTTP requests5061 param_name: :tokenCredentialUri5062 does not make any unexpected HTTP requests5063 #prometheus_available?5064 clusters with enabled prometheus5065 cluster belongs to project5066 returns true5067 cluster belongs to projects group5068 returns true5069 avoids N+1 queries5070 cluster belongs to gitlab instance5071 returns true5072 clusters with prometheus disabled5073 returns false5074 clusters without prometheus5075 returns false5076 no clusters5077 returns false5078 #synchronize_service_state before_save callback5079 no clusters with prometheus are installed5080 when integration is inactive5081 activates integration when manual_configuration is enabled5082 keeps integration inactive when manual_configuration is disabled5083 when integration is active5084 keeps the integration active when manual_configuration is enabled5085 inactivates the integration when manual_configuration is disabled5086 with prometheus installed in the cluster5087 when integration is inactive5088 activates integration when manual_configuration is enabled5089 activates integration when manual_configuration is disabled5090 when integration is active5091 keeps integration active when manual_configuration is enabled5092 keeps integration active when manual_configuration is disabled5093 #track_events after_commit callback5094 enabling manual_configuration5095 tracks enable event5096 tracks disable event5097 #editable?5098 is editable5099 when cluster exists with prometheus enabled5100 remains editable5101 #fields5102 returns fields5103GroupMemberPolicy5104 with anonymous user5105 is expected to be allowed :read_group5106 design management is enabled5107 is expected to be allowed :read_design_activity5108 for a private group5109 is expected not to be allowed :destroy_group_member5110 for an internal group5111 is expected not to be allowed :destroy_group_member5112 with guest user, for own membership5113 is expected not to be allowed :update_group_member5114 is expected to be allowed :destroy_group_member5115 with guest user, for other membership5116 is expected not to be allowed :update_group_member5117 is expected to be allowed :read_group5118 with one owner5119 is expected not to be allowed :destroy_group_member5120 is expected to be allowed :read_group5121 with one blocked owner5122 is expected not to be allowed :destroy_group_member5123 is expected not to be allowed :read_group5124 with more than one owner5125 is expected to be allowed :destroy_group_member5126 with the group parent5127 is expected to be allowed :update_group_member5128 without group parent5129 is expected not to be allowed :update_group_member5130 without group parent with two owners5131 is expected to be allowed :update_group_member5132Gitlab::GitalyClient::CommitService5133 #diff_from_parent5134 returns a Gitlab::GitalyClient::DiffStitcher5135 encodes paths correctly5136 when a commit has a parent5137 sends an RPC request with the parent ID as left commit5138 when a commit does not have a parent5139 sends an RPC request with empty tree ref as left commit5140 #commit_deltas5141 when a commit has a parent5142 sends an RPC request with the parent ID as left commit5143 when a commit does not have a parent5144 sends an RPC request with empty tree ref as left commit5145 #diff_stats5146 sends an RPC request and returns the stats5147 #find_changed_paths5148 sends an RPC request and returns the stats5149 #tree_entries5150 sends a get_tree_entries message5151 with UTF-8 params strings5152 handles string encodings correctly5153 with pagination parameters5154 responds with a pagination cursor5155 #commit_count5156 sends a commit_count message5157 with UTF-8 params strings5158 handles string encodings correctly5159 #find_commit5160 sends an RPC request5161 caching5162 when passed revision is a branch name5163 calls Gitaly5164 when passed revision is a commit ID5165 returns a cached commit5166 when caching of the ref name is enabled5167 caches negative entries5168 returns a cached commit5169 #list_commits5170 behaves like a ListCommits request5171 sends a list_commits message5172 with multiple revisions5173 behaves like a ListCommits request5174 sends a list_commits message5175 with reverse: true5176 behaves like a ListCommits request5177 sends a list_commits message5178 with pagination params5179 behaves like a ListCommits request5180 sends a list_commits message5181 #list_new_commits5182 with hook environment5183 with allowed quarantine5184 behaves like a #list_all_commits message5185 sends a list_all_commits message5186 with disallowed quarantine5187 behaves like a #list_commits message5188 sends a list_commits message5189 without hook environment5190 with allowed quarantine5191 behaves like a #list_commits message5192 sends a list_commits message5193 with disallowed quarantine5194 behaves like a #list_commits message5195 sends a list_commits message5196 #commit_stats5197 sends an RPC request5198 #find_commits5199 sends an RPC request with NONE when default5200 sends an RPC request5201 sends an RPC request with an author5202 #commits_by_message5203 when only the query is provided5204 sends an RPC request with the correct payload5205 when all arguments are provided5206 sends an RPC request with the correct payload5207 when limit and offset are not integers5208 sends an RPC request with the correct payload5209 when revision and path contain non-ASCII characters5210 sends an RPC request with the correct payload5211 #list_commits_by_ref_name5212 lists latest commits grouped by a ref name5213Packages::Maven::Metadata::CreatePluginsXmlService5214 #execute5215 with same plugins on both sides5216 behaves like returning no changes5217 returns no changes5218 with more plugins5219 in database5220 behaves like returning no changes5221 returns no changes5222 in xml5223 behaves like returning an xml with plugins from the database5224 returns an metadata versions xml with versions in the database5225 with no versions in the database5226 returns a success5227 with an incomplete metadata content5228 behaves like returning an error service response5229 returns an error service response5230 with an invalid metadata content5231 behaves like returning an error service response5232 returns an error service response5233 behaves like handling metadata content pointing to a file for the create xml service5234 with metadata content pointing to a file5235 with valid content5236 returns no changes5237 with invalid content5238 behaves like returning an error service response5239 returns an error service response5240 with no content5241 behaves like returning an error service response5242 returns an error service response5243 behaves like handling invalid parameters for create xml service5244 with no package5245 behaves like returning an error service response5246 returns an error service response5247 with no metadata content5248 behaves like returning an error service response5249 returns an error service response5250AlertManagement::Alerts::UpdateService5251 #execute5252 when the current_user is nil5253 behaves like error response5254 has an informative message5255 behaves like does not add a todo5256 is expected not to change `Todo.count`5257 behaves like does not add a system note5258 is expected not to change `Note.count`5259 when current_user does not have permission to update alerts5260 behaves like error response5261 has an informative message5262 behaves like does not add a todo5263 is expected not to change `Todo.count`5264 behaves like does not add a system note5265 is expected not to change `Note.count`5266 when no parameters are included5267 behaves like error response5268 has an informative message5269 behaves like does not add a todo5270 is expected not to change `Todo.count`5271 behaves like does not add a system note5272 is expected not to change `Note.count`5273 when an error occurs during update5274 behaves like error response5275 has an informative message5276 behaves like does not add a todo5277 is expected not to change `Todo.count`5278 behaves like does not add a system note5279 is expected not to change `Note.count`5280 when a model attribute is included without assignees5281 behaves like title update5282 updates the attribute5283 behaves like does not add a todo5284 is expected not to change `Todo.count`5285 behaves like does not add a system note5286 is expected not to change `Note.count`5287 when alert is resolved and another existing open alert5288 behaves like title update5289 updates the attribute5290 behaves like does not add a todo5291 is expected not to change `Todo.count`5292 behaves like does not add a system note5293 is expected not to change `Note.count`5294 when assignees are included5295 when the assignee is the current user5296 behaves like successful assignment5297 is expected to be success5298 behaves like adds a system note5299 is expected to change `alert.reload.notes.count` by 15300 behaves like adds a todo5301 is expected to eq #<User id:1691 @user640>5302 when the assignee has read permissions5303 behaves like successful assignment5304 is expected to be success5305 behaves like adds a system note5306 is expected to change `alert.reload.notes.count` by 15307 behaves like adds a todo5308 is expected to eq #<User id:1691 @user640>5309 when the assignee does not have read permissions5310 behaves like error response5311 has an informative message5312 behaves like does not add a todo5313 is expected not to change `Todo.count`5314 behaves like does not add a system note5315 is expected not to change `Note.count`5316 when user is already assigned5317 behaves like does not add a system note5318 is expected not to change `Note.count`5319 behaves like does not add a todo5320 is expected not to change `Todo.count`5321 with multiple users included5322 behaves like successful assignment5323 is expected to be success5324 behaves like adds a system note5325 is expected to change `alert.reload.notes.count` by 15326 behaves like adds a todo5327 is expected to eq #<User id:1691 @user640>5328 when a status is included5329 successfully changes the status5330 behaves like adds a system note5331 is expected to change `alert.reload.notes.count` by 15332 with unknown status5333 behaves like error response5334 has an informative message5335 behaves like does not add a todo5336 is expected not to change `Todo.count`5337 behaves like does not add a system note5338 is expected not to change `Note.count`5339 with resolving status5340 changes the status5341 resolves the current user's related todos5342 with an opening status and existing open alert5343 has an informative message5344 behaves like does not add a todo5345 is expected not to change `Todo.count`5346 behaves like does not add a system note5347 is expected not to change `Note.count`5348 fingerprints are blank5349 successfully changes the status5350 behaves like adds a system note5351 is expected to change `alert.reload.notes.count` by 15352 two existing closed alerts5353 successfully changes the status5354 behaves like adds a system note5355 is expected to change `alert.reload.notes.count` by 15356Gitlab::Database::PartitioningMigrationHelpers::TableManagementHelpers5357 #partition_table_by_date5358 when the table is not allowed5359 raises an error5360 when run inside a transaction block5361 raises an error5362 when the the max_date is less than the min_date5363 raises an error5364 when the max_date is equal to the min_date5365 raises an error5366 when the given table does not have a primary key5367 raises an error5368 when an invalid partition column is given5369 raises an error5370 constructing the partitioned table5371 creates a table partitioned by the proper column5372 changes the primary key datatype to bigint5373 removes the default from the primary key column5374 creates the partitioned table with the same non-key columns5375 creates a partition spanning over each month in the range given5376 with a non-integer primary key datatype5377 does not change the primary key datatype5378 when min_date is not given5379 with records present already5380 creates a partition spanning over each month from the first record5381 without data5382 creates the catchall partition plus two actual partition5383 when max_date is not given5384 creates partitions including the next month from today5385 without min_date, max_date5386 creates partitions for the current and next month5387 keeping data in sync with the partitioned table5388 creates a trigger function on the original table5389 syncs inserts to the partitioned tables5390 syncs updates to the partitioned tables5391 syncs deletes to the partitioned tables5392 #drop_partitioned_table_for5393 drops the trigger syncing to the partitioned table5394 drops the partitioned copy and all partitions5395 when the table is not allowed5396 raises an error5397 #enqueue_partitioning_data_migration5398 when the table is not allowed5399 raises an error5400 when run inside a transaction block5401 raises an error5402 when records exist in the source table5403 enqueues jobs to copy each batch of data5404 #cleanup_partitioning_data_migration5405 when the table is not allowed5406 raises an error5407 when tracking records exist in the background_migration_jobs table5408 deletes those pertaining to the given table5409 #create_hash_partitions5410 creates partitions for the full hash space (8 partitions)5411 creates partitions for the full hash space (16 partitions)5412 #finalize_backfilling_partitioned_table5413 when the table is not allowed5414 raises an error5415 when the partitioned table does not exist5416 raises an error5417 finishing pending background migration jobs5418 finishes remaining jobs for the correct table5419 when there is missed data5420 idempotently cleans up after failed background migrations5421 raises an error if no job tracking records are marked as succeeded5422 vacuums the table after loading is complete5423 #replace_with_partitioned_table5424 replaces the original table with the partitioned table5425 moves the trigger from the original table to the new table5426 #rollback_replace_with_partitioned_table5427 replaces the partitioned table with the non-partitioned table5428 moves the trigger from the partitioned table to the non-partitioned table5429 #drop_nonpartitioned_archive_table5430 drops the archive table5431 drops the trigger on the source table5432 drops the sync function5433 #create_trigger_to_sync_tables5434 creates the sync function5435 installs the trigger5436Banzai::Filter::References::ReferenceFilter5437 #each_node5438 iterates over the nodes in a document5439 returns an Enumerator when no block is given5440 skips links with a "gfm" class5441 skips text nodes in pre elements5442 #nodes5443 returns an Array of the HTML nodes5444 #replace_text_when_pattern_matches5445 when node has no reference pattern5446 skips node5447 behaves like replaces document node5448 when parent has only one node5449 behaves like replaces text5450 when content didnt change5451 does not replace link node with html5452 when link node has changed5453 replaces reference node5454 calls replace_and_update_new_nodes5455 stores filtered new nodes5456 when parent has multiple nodes5457 when pattern matches in the first node5458 behaves like replaces text5459 when content didnt change5460 does not replace link node with html5461 when link node has changed5462 replaces reference node5463 calls replace_and_update_new_nodes5464 stores filtered new nodes5465 when pattern matches in the middle node5466 behaves like replaces text5467 when content didnt change5468 does not replace link node with html5469 when link node has changed5470 replaces reference node5471 calls replace_and_update_new_nodes5472 stores filtered new nodes5473 when pattern matches in the last node5474 behaves like replaces text5475 when content didnt change5476 does not replace link node with html5477 when link node has changed5478 replaces reference node5479 calls replace_and_update_new_nodes5480 stores filtered new nodes5481 #replace_link_node_with_text5482 behaves like replaces document node5483 when parent has only one node5484 behaves like replaces text5485 when content didnt change5486 does not replace link node with html5487 when link node has changed5488 replaces reference node5489 calls replace_and_update_new_nodes5490 stores filtered new nodes5491 when parent has multiple nodes5492 when pattern matches in the first node5493 behaves like replaces text5494 when content didnt change5495 does not replace link node with html5496 when link node has changed5497 replaces reference node5498 calls replace_and_update_new_nodes5499 stores filtered new nodes5500 when pattern matches in the middle node5501 behaves like replaces text5502 when content didnt change5503 does not replace link node with html5504 when link node has changed5505 replaces reference node5506 calls replace_and_update_new_nodes5507 stores filtered new nodes5508 when pattern matches in the last node5509 behaves like replaces text5510 when content didnt change5511 does not replace link node with html5512 when link node has changed5513 replaces reference node5514 calls replace_and_update_new_nodes5515 stores filtered new nodes5516 #replace_link_node_with_href5517 behaves like replaces document node5518 when parent has only one node5519 behaves like replaces text5520 when content didnt change5521 does not replace link node with html5522 when link node has changed5523 replaces reference node5524 calls replace_and_update_new_nodes5525 stores filtered new nodes5526 when parent has multiple nodes5527 when pattern matches in the first node5528 behaves like replaces text5529 when content didnt change5530 does not replace link node with html5531 when link node has changed5532 replaces reference node5533 calls replace_and_update_new_nodes5534 stores filtered new nodes5535 when pattern matches in the middle node5536 behaves like replaces text5537 when content didnt change5538 does not replace link node with html5539 when link node has changed5540 replaces reference node5541 calls replace_and_update_new_nodes5542 stores filtered new nodes5543 when pattern matches in the last node5544 behaves like replaces text5545 when content didnt change5546 does not replace link node with html5547 when link node has changed5548 replaces reference node5549 calls replace_and_update_new_nodes5550 stores filtered new nodes5551 #call_and_update_nodes5552 updates all new nodes5553 .call5554 updates all nodes5555 abstract methods5556 #references_in5557 raises NotImplementedError5558 #object_link_filter5559 raises NotImplementedError5560ServerlessDomainFinder5561 #serverless?5562 with a valid URI5563 is expected to be truthy5564 with an invalid URI5565 is expected to be falsy5566 #serverless_domain_cluster_uuid5567 with a valid URI5568 is expected to eq "abcdef12345678"5569 with an invalid URI5570 is expected to be nil5571 #execute5572 with a valid URI5573 has the correct function_name5574 has the correct serverless_domain_cluster5575 has the correct environment5576 with an invalid URI5577 is expected to be nil5578Labels::TransferService5579 with use_optimized_group_labels_query FF on5580 behaves like transfer labels5581 #execute5582 recreates missing group labels at project level and assigns them to the issuables5583 recreates missing ancestor group labels at project level and assigns them to the issuables5584 recreates label priorities related to the missing group labels5585 does not recreate missing group labels that are not applied to issues or merge requests5586 does not recreate missing group labels that already exist in the project group5587 updates only label links in the given project5588 when moving within the same ancestor group5589 does not recreate ancestor group labels5590 with use_optimized_group_labels_query FF off5591 behaves like transfer labels5592 #execute5593 recreates missing group labels at project level and assigns them to the issuables5594 recreates missing ancestor group labels at project level and assigns them to the issuables5595 recreates label priorities related to the missing group labels5596 does not recreate missing group labels that are not applied to issues or merge requests5597 does not recreate missing group labels that already exist in the project group5598 updates only label links in the given project5599 when moving within the same ancestor group5600 does not recreate ancestor group labels5601Issues::BuildService5602 for a single discussion5603 #execute5604 references the noteable title in the issue title5605 adds the note content to the description5606 for discussions in a merge request5607 #items_for_discussions5608 has an item for each discussion5609 #item_for_discussion5610 mentions the author of the note5611 wraps the note in a blockquote5612 #execute5613 uses provided title if title param given5614 uses provided description if description param given5615 without additional params5616 has the merge request reference in the title5617 has the reference of the merge request in the description5618 with multiple discussions5619 mentions all the authors in the description5620 has a link for each unresolved discussion in the description5621 mentions additional notes5622 For a merge request without discussions5623 #execute5624 mentions the merge request in the description5625 #execute5626 setting milestone5627 when developer5628 builds a new issues with given params5629 sets milestone to nil if it is not available for the project5630 when guest5631 cannot set milestone5632 setting issue type5633 with a corresponding WorkItem::Type5634 issue_type: nil, current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5635 builds an issue5636 issue_type: "issue", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5637 builds an issue5638 issue_type: "incident", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5639 builds an issue5640 issue_type: "incident", current_user: reporter, work_item_type_id: type_incident_id, resulting_issue_type: "incident"5641 builds an issue5642 issue_type: "test_case", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5643 builds an issue5644 issue_type: "requirement", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5645 builds an issue5646 issue_type: "invalid", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5647 builds an issue5648 issue_type: "project", current_user: guest, work_item_type_id: type_issue_id, resulting_issue_type: "issue"5649 builds an issue5650AlertManagement::AlertsFinder#execute5651 #execute5652 user is not a developer or above5653 is expected to be empty5654 user is developer5655 domain5656 domain is threat management5657 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5658 domain is unknown5659 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5660 domain is missing5661 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5662 skips domain if iid is given5663 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>5664 empty params5665 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5666 iid given5667 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>5668 unknown iid5669 is expected to be empty5670 status given5671 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>5672 with an array of statuses5673 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>5674 with no alerts of status5675 is expected to be empty5676 with an empty status array5677 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5678 with an nil status5679 is expected to contain exactly #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1> and #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>5680 sorting5681 when sorting by created5682 sorts alerts ascending5683 is expected to eq [#<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>, #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>]5684 sorts alerts descending5685 is expected to eq [#<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>, #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>]5686 when sorting by updated5687 sorts alerts ascending5688 is expected to eq [#<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>, #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>]5689 sorts alerts descending5690 is expected to eq [#<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>, #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>]5691 when sorting by start time5692 sorts alerts ascending5693 is expected to eq [#<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>, #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>]5694 sorts alerts descending5695 is expected to eq [#<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>, #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>]5696 when sorting by end time5697 sorts alerts ascending5698 is expected to eq [#<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>, #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>]5699 sorts alerts descending5700 is expected to eq [#<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>, #<AlertManagement::Alert id:14 namespace1253/project1425^alert#1>]5701 when sorting by events count5702 sorts alerts ascending5703 is expected to eq [#<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>, #<AlertManagement::Alert id:14 na...mespace1253/project1425^alert#4>, #<AlertManagement::Alert id:18 namespace1253/project1425^alert#3>]5704 sorts alerts descending5705 is expected to eq [#<AlertManagement::Alert id:18 namespace1253/project1425^alert#3>, #<AlertManagement::Alert id:19 na...mespace1253/project1425^alert#1>, #<AlertManagement::Alert id:15 namespace1253/project1425^alert#2>]5706 when sorting by severity5707 with ascending sort order5708 sorts alerts by severity from less critical to more critical5709 with descending sort order5710 sorts alerts by severity from more critical to less critical5711 when sorting by status5712 with ascending sort order5713 sorts by status: Ignored > Resolved > Acknowledged > Triggered5714 with descending sort order5715 sorts by status: Triggered > Acknowledged > Resolved > Ignored5716 search query given5717 searching title5718 is expected to contain exactly #<AlertManagement::Alert id:30 namespace1253/project1425^alert#3>5719 searching description5720 is expected to contain exactly #<AlertManagement::Alert id:30 namespace1253/project1425^alert#3>5721 searching service5722 is expected to contain exactly #<AlertManagement::Alert id:30 namespace1253/project1425^alert#3>5723 searching monitoring tool5724 is expected to contain exactly #<AlertManagement::Alert id:30 namespace1253/project1425^alert#3>5725 searching something else5726 is expected to be empty5727 assignee username given5728 with valid assignee_username5729 is expected to contain exactly #<AlertManagement::Alert id:31 namespace1253/project1425^alert#3>5730 with invalid assignee_username5731 is expected to be empty5732 .counts_by_status5733 is expected to match {:resolved=>1, :ignored=>1}5734 when filtering params are included5735 is expected to match {:resolved=>1}5736DesignManagement::DesignPolicy5737 when DesignManagement is not enabled5738 behaves like design abilities not available5739 for owners5740 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5741 for admins5742 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5743 for maintainers5744 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5745 for developers5746 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5747 for reporters5748 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5749 for guests5750 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5751 for anonymous users5752 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5753 when the feature is available5754 behaves like design abilities available for members5755 for owners5756 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5757 for admins5758 when admin mode enabled5759 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5760 when admin mode disabled5761 behaves like read-only design abilities5762 is expected to be allowed :read_design5763 is expected to be disallowed :create_design, :destroy_design, and :move_design5764 for maintainers5765 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5766 for developers5767 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5768 for reporters5769 behaves like read-only design abilities5770 is expected to be allowed :read_design5771 is expected to be disallowed :create_design, :destroy_design, and :move_design5772 for guests in private projects5773 behaves like read-only design abilities5774 is expected to be allowed :read_design5775 is expected to be disallowed :create_design, :destroy_design, and :move_design5776 for anonymous users in public projects5777 behaves like read-only design abilities5778 is expected to be allowed :read_design5779 is expected to be disallowed :create_design, :destroy_design, and :move_design5780 when the issue is confidential5781 behaves like design abilities available for members5782 for owners5783 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5784 for admins5785 when admin mode enabled5786 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5787 when admin mode disabled5788 behaves like read-only design abilities5789 is expected to be allowed :read_design5790 is expected to be disallowed :create_design, :destroy_design, and :move_design5791 for maintainers5792 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5793 for developers5794 is expected to be allowed :read_design, :create_design, :destroy_design, and :move_design5795 for reporters5796 behaves like read-only design abilities5797 is expected to be allowed :read_design5798 is expected to be disallowed :create_design, :destroy_design, and :move_design5799 for guests5800 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5801 for anonymous users5802 is expected to be disallowed :read_design, :create_design, :destroy_design, and :move_design5803 when the project is archived5804 behaves like read-only design abilities5805 is expected to be allowed :read_design5806 is expected to be disallowed :create_design, :destroy_design, and :move_design5807CommitCollection5808 #each5809 yields every commit5810 .committers5811 returns a relation of users when users are found5812 returns empty array when committers cannot be found5813 excludes authors of merge commits5814 #without_merge_commits5815 returns all commits except merge commits5816 #with_latest_pipeline5817 sets the latest pipeline for every commit so no additional queries are necessary5818 performs a single query to fetch pipeline warnings5819 #with_markdown_cache5820 preloads commits cache markdown5821 enrichment methods5822 #unenriched5823 returns all commits that are not backed by gitaly data5824 #fully_enriched?5825 returns true when all commits are backed by gitaly data5826 returns false when any commits are not backed by gitaly data5827 returns true when the collection is empty5828 #enrich!5829 replaces commits in the collection with those backed by gitaly data5830 maintains the original order of the commits5831 fetches data if there are unenriched commits5832 does not fetch data if all commits are enriched5833 returns the original commit if the commit could not be lazy loaded5834 #respond_to_missing?5835 returns true when the underlying Array responds to the message5836 returns false when the underlying Array does not respond to the message5837 #method_missing5838 delegates undefined methods to the underlying Array5839Gitlab::Diff::PositionTracer::ImageStrategy5840 #trace5841 diff scenarios5842 when the file was created in the old diff5843 when the file is unchanged between the old and the new diff5844 returns the new position5845 when the file was updated between the old and the new diff5846 returns the position of the change5847 when the file was renamed in between the old and the new diff5848 returns the position of the change5849 when the file was removed in between the old and the new diff5850 returns the position of the change5851 when the file is unchanged in the new diff5852 returns the position of the change5853 when the file was changed in the old diff5854 when the file is unchanged in between the old and the new diff5855 returns the new position5856 when the file was updated in between the old and the new diff5857 returns the position of the change5858 when the file was renamed in between the old and the new diff5859 returns the position of the change5860 when the file was removed in between the old and the new diff5861 returns the position of the change5862 when the file is unchanged in the new diff5863 returns the position of the change5864 symlink scenarios5865 from symlink to image5866 when the old position is on the new image file5867 when the image file's content was unchanged between the old and the new diff5868 returns the new position5869 when the image file's content was changed between the old and the new diff5870 returns the position of the change5871 when the image file was removed between the old and the new diff5872 returns the position of the change5873 from image to symlink5874 when the old position is on the added image file5875 when the image file gets changed to a symlink between the old and the new diff5876 returns the position of the change5877Projects::UpdateRemoteMirrorService5878 #execute5879 does not fetch the remote repository5880 marks the mirror as started when beginning5881 marks the mirror as successfully finished5882 marks the mirror as failed and raises the error when an unexpected error occurs5883 when the URL is blocked5884 hard retries and returns error status5885 when retries are exceeded5886 hard fails and returns error status5887 when given URLs containing escaped elements5888 behaves like URLs containing escaped elements return expected status5889 url: "https://user:0a%23@test.example.com/project.git", result_status: :success5890 returns expected status5891 url: "https://git.example.com:1%2F%2F@source.developers.google.com/project.git", result_status: :success5892 returns expected status5893 url: "git%3A%2F%2Flocalhost%3A1234%2Fsome-path%3Fsome-query%3Dsome-val%23%40example.com%2F", result_status: :error5894 returns expected status5895 url: "https%253A%252F%252Fuser%253A0a%252523%2540test.example.com%252Fproject.git", result_status: :error5896 returns expected status5897 when the update fails because of a `Gitlab::Git::CommandError`5898 wraps `Gitlab::Git::CommandError`s in a service error5899 marks the mirror as to be retried5900 marks the mirror as failed after 3 tries5901 when there are divergent refs5902 marks the mirror as failed and sets an error message5903 sending lfs objects5904 pushes LFS objects to a HTTP repository5905 does nothing to an SSH repository5906 does nothing if LFS is disabled5907 does nothing if non-password auth is specified5908Git::TagHooksService5909 System hooks5910 executes system hooks5911 Webhooks5912 executes hooks on the project5913 Pipelines5914 creates a new pipeline5915 Push data5916 annotated tag5917 has expected push data attributes5918 with repository data5919 has expected repository attributes5920 with commits5921 is expected to be a kind of Array5922 has 1 element5923 the commit5924 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}5925 has expected commit attributes5926 with an author5927 has expected author attributes5928 lightweight tag5929 has expected push data attributes5930 with repository data5931 has expected repository attributes5932 with commits5933 is expected to be a kind of Array5934 has 1 element5935 the commit5936 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}5937 has expected commit attributes5938 with an author5939 has expected author attributes5940Gitlab::Kubernetes::Helm::V2::InitCommand5941 behaves like helm command generator5942 #generate_script5943 returns appropriate command5944 on a rbac-enabled cluster5945 behaves like helm command generator5946 #generate_script5947 returns appropriate command5948 behaves like helm command5949 HELM_VERSION5950 is expected to match /\d+\.\d+\.\d+/5951 #env5952 is expected to be a kind of Hash5953 #rbac?5954 rbac is enabled5955 is expected to be truthy5956 rbac is not enabled5957 is expected to be falsey5958 #pod_resource5959 rbac is enabled5960 is expected to be an instance of Kubeclient::Resource5961 generates a pod that uses the tiller serviceAccountName5962 rbac is not enabled5963 is expected to be an instance of Kubeclient::Resource5964 generates a pod that uses the default serviceAccountName5965 #config_map_resource5966 returns a KubeClient resource with config map content for the application5967 #service_account_resource5968 rbac is enabled5969 generates a Kubeclient resource for the tiller ServiceAccount5970 rbac is not enabled5971 generates nothing5972 #cluster_role_binding_resource5973 rbac is enabled5974 generates a Kubeclient resource for the ClusterRoleBinding for tiller5975 binds the account in #service_account_resource5976 rbac is not enabled5977 generates nothing5978Packages::Conan::FileMetadatum5979 relationships5980 is expected to belong to package_file required: false5981 validations5982 is expected to validate that :package_file cannot be empty/falsy5983 is expected to validate that :recipe_revision cannot be empty/falsy5984 #recipe_revision5985 is expected to allow :recipe_revision to be ‹"0"›5986 is expected not to allow :recipe_revision to be ‹nil›5987 #package_revision_for_package_file5988 recipe file5989 is valid with empty value5990 is invalid with value5991 package file5992 is valid with default value5993 is invalid with non-default value5994 #conan_package_reference_for_package_file5995 recipe file5996 is valid with empty value5997 is invalid with value5998 package file5999 is valid with acceptable value6000 is invalid with invalid value6001 is invalid when nil6002 #conan_package_type6003 validates package of type conan6004Gitlab::Ci::Reports::TestSuiteComparer6005 #new_failures6006 when head suite has a newly failed test case which does not exist in base6007 returns the failed test case6008 when head suite still has a failed test case which failed in base6009 does not return the failed test case6010 when head suite has a success test case which failed in base6011 does not return the failed test case6012 #existing_failures6013 when head suite has a newly failed test case which does not exist in base6014 returns the failed test case6015 when head suite still has a failed test case which failed in base6016 does not return the failed test case6017 when head suite has a success test case which failed in base6018 does not return the failed test case6019 #resolved_failures6020 when head suite has a newly failed test case which does not exist in base6021 returns the failed test case6022 returns the correct resolved count6023 when head suite still has a failed test case which failed in base6024 does not return the failed test case6025 returns the correct resolved count6026 when head suite has a success test case which failed in base6027 does not return the resolved test case6028 returns the correct resolved count6029 #new_errors6030 when head suite has a new error test case which does not exist in base6031 returns the error test case6032 when head suite still has an error test case which errored in base6033 does not return the error test case6034 when head suite has a success test case which errored in base6035 does not return the error test case6036 #existing_errors6037 when head suite has a new error test case which does not exist in base6038 does not return the error test case6039 when head suite still has an error test case which errored in base6040 returns the error test case6041 when head suite has a success test case which errored in base6042 does not return the error test case6043 #resolved_errors6044 when head suite has a new error test case which does not exist in base6045 does not return the error test case6046 returns the correct resolved count6047 when head suite still has an error test case which errored in base6048 does not return the error test case6049 returns the correct resolved count6050 when head suite has a success test case which errored in base6051 returns the resolved test case6052 returns the correct resolved count6053 #total_count6054 returns the total test counts in head suite6055 #failed_count6056 when there are a new failure and an existing failure6057 returns the correct count6058 when there is a new failure6059 returns the correct count6060 when there is an existing failure6061 returns the correct count6062 #total_status6063 when all test cases in head suite are success6064 returns the total status in head suite6065 when there is a failed test case in head suite6066 returns the total status in head suite as failed6067 when there is an error test case in head suite6068 returns the total status in head suite as failed6069 #limited_tests6070 limits amount of tests returned6071 prefers new over existing and resolved6072 returns 2 of each new category, and 1 of each resolved and existing6073 does not affect the overall count6074 prefers existing over resolved6075 returns 2 of each existing category, and 1 of each resolved6076 does not affect the overall count6077 limits amount of resolved6078 returns 2 of each resolved category6079 does not affect the overall count6080DropdownsHelper6081 #dropdown_tag6082 returns the container in the content6083 returns the block in the content6084 #dropdown_toggle6085 returns the button6086 returns the buttons default label data attribute6087 returns the dropdown toggle text6088 returns the button icon in the content6089 #dropdown_toggle_link6090 returns the link6091 returns the links data attribute6092 returns the link text6093 #dropdown_title6094 with a back and close button6095 applies the justification class to the container6096 behaves like has a back button6097 contains the back button6098 behaves like has the title text6099 contains the title text6100 behaves like has a close button6101 contains the close button6102 behaves like has two icons6103 returns two icons6104 behaves like does not have the title margin class6105 does not have the title margin class6106 with a back button6107 returns the back button icon6108 behaves like has a back button6109 contains the back button6110 behaves like has the title text6111 contains the title text6112 behaves like has the title margin class6113 contains the title margin class6114 behaves like does not have a close button6115 does not contain the close button6116 with a close button6117 returns the close button icon6118 behaves like does not have a back button6119 does not contain the back button6120 behaves like has the title text6121 contains the title text6122 behaves like has the title margin class6123 contains the title margin class6124 behaves like has a close button6125 contains the close button6126 without any buttons6127 returns no button icons6128 behaves like does not have a back button6129 does not contain the back button6130 behaves like has the title text6131 contains the title text6132 behaves like does not have the title margin class6133 does not have the title margin class6134 behaves like does not have a close button6135 does not contain the close button6136 #dropdown_filter6137 returns the container6138 returns the search input6139 behaves like has two icons6140 returns two icons6141 #dropdown_content6142 without block6143 behaves like contains the container6144 returns the container in the content6145 with block6146 returns the block in the content6147 behaves like contains the container6148 returns the container in the content6149 #dropdown_footer6150 without a content class6151 behaves like contains the content6152 returns the container in the content6153 returns the block in the content6154 without a content class6155 returns the footer in the content6156 behaves like contains the content6157 returns the container in the content6158 returns the block in the content6159 #dropdown_loading6160 returns the container in the content6161 returns a gl-spinner in the content6162Labels::FindOrCreateService6163 #execute6164 when acting on behalf of a specific user6165 when finding labels on project level6166 when existing_labels_by_title is provided6167 when label exists6168 returns preloaded label6169 when label does not exists6170 does not generates additional label search6171 when label does not exist at group level6172 creates a new label at project level6173 when label exists at group level6174 returns the group label6175 when label exists at project level6176 returns the project label6177 when include_ancestor_groups is true6178 returns the ancestor group labels6179 creates new labels if labels are not found6180 when finding labels on group level6181 when label does not exist at group level6182 creates a new label at group level6183 when label exists at group level6184 returns the group label6185 when authorization is not required6186 when finding labels on project level6187 returns the project label6188 when finding labels on group level6189 returns the group label6190Gitlab::Ci::Reports::TestSuiteSummary6191 #name6192 when test suite summary has several build report results6193 returns the suite name6194 #build_ids6195 when test suite summary has several build report results6196 returns the build ids6197 #total_time6198 when test suite summary has several build report results6199 returns the total time6200 #success_count6201 when test suite summary has several build report results6202 returns the total success6203 #failed_count6204 when test suite summary has several build report results6205 returns the total failed6206 #error_count6207 when test suite summary has several build report results6208 returns the total errored6209 #skipped_count6210 when test suite summary has several build report results6211 returns the total skipped6212 #total_count6213 when test suite summary has several build report results6214 returns the total count6215 #suite_error6216 when there are no build report results with suite errors6217 is expected to be nil6218 when there are build report results with suite errors6219 includes the first suite error from the collection of build report results6220 #to_h6221 when test suite summary has several build report results6222 returns the total as a hash6223Banzai::Filter::References::AlertReferenceFilter6224 requires project context6225 ignores valid references contained inside 'pre' element6226 ignores valid references contained inside 'code' element6227 ignores valid references contained inside 'a' element6228 ignores valid references contained inside 'style' element6229 internal reference6230 links to a valid reference6231 links with adjacent text6232 ignores invalid alert IDs6233 includes a title attribute6234 escapes the title attribute6235 includes default classes6236 includes a data-project attribute6237 includes a data-alert attribute6238 supports an :only_path context6239 cross-project / cross-namespace complete reference6240 links to a valid reference6241 link has valid text6242 has valid text6243 ignores invalid alert IDs on the referenced project6244 cross-project / same-namespace complete reference6245 links to a valid reference6246 link has valid text6247 has valid text6248 ignores invalid alert IDs on the referenced project6249 cross-project shorthand reference6250 links to a valid reference6251 link has valid text6252 has valid text6253 ignores invalid alert IDs on the referenced project6254 cross-project URL reference6255 links to a valid reference6256 links with adjacent text6257 ignores invalid alert IDs on the referenced project6258 group context6259 links to a valid reference6260 ignores internal references6261 checking N+16262 does not have N+1 per multiple references per project6263Gitlab::I18n::PoLinter6264 #errors6265 only calls validation once6266 #validate_po6267 for a fuzzy message6268 has an error6269 for a translations with newlines6270 has an error for a normal string6271 has an error when a translation is defined over multiple lines6272 raises an error when a plural translation is defined over multiple lines6273 raises an error when the plural id is defined over multiple lines6274 with an invalid po6275 returns the error6276 does not validate entries6277 with missing metadata6278 returns the an error6279 with a valid po6280 parses the file6281 validates the entries6282 has no errors6283 with missing plurals6284 has errors6285 with multiple plurals6286 has errors6287 with unescaped chars6288 contains an error6289 when an entry contains html6290 presents an error for each component containing angle brackets6291 #parse_po6292 with a valid po6293 fills in the entries6294 does not have errors6295 with an invalid po6296 contains an error6297 sets the entries to an empty array6298 #validate_entries6299 keeps track of errors for entries6300 #validate_entry6301 validates the flags, variable usage, newlines, and unescaped chars6302 #validate_number_of_plurals6303 validates when there are an incorrect number of translations6304 #validate_variables6305 validates both singular and plural in a pluralized string when the entry has a singular6306 only validates plural when there is no separate singular6307 validates the message variables6308 validates variable usage in message ids6309 #validate_variables_in_message6310 detects when a variables are used incorrectly6311 does not allow combining 1 `%d` unnamed variable with named variables6312 #validate_translation6313 succeeds with valid variables6314 adds an error message when translating fails6315 adds an error message when translating fails when translating with context6316 adds an error when trying to translate with incorrect variables when using unnamed variables6317 adds an error when trying to translate with named variables when unnamed variables are expected6318 tests translation for all given forms6319 #numbers_covering_all_plurals6320 can correctly find all required numbers to translate to Polish6321 #fill_in_variables6322 builds an array for %d translations6323 builds an array for %s translations6324 builds a hash for named variables6325Gitlab::Ci::Config::Entry::Environment6326 when configuration is a string6327 #string?6328 is string configuration6329 #hash?6330 is not hash configuration6331 #valid?6332 is valid6333 #value6334 returns valid hash6335 #name6336 returns environment name6337 #url6338 returns environment url6339 when configuration is a hash6340 #string?6341 is not string configuration6342 #hash?6343 is hash configuration6344 #valid?6345 is valid6346 #value6347 returns valid hash6348 #name6349 returns environment name6350 #url6351 returns environment url6352 when valid action is used6353 is valid6354 when prepare action is used6355 is valid6356 when wrong action type is used6357 #valid?6358 is not valid6359 #errors6360 contains error about wrong action type6361 when invalid action is used6362 #valid?6363 is not valid6364 #errors6365 contains error about invalid action6366 when on_stop is used6367 is valid6368 when invalid on_stop is used6369 #valid?6370 is not valid6371 #errors6372 contains error about invalid action6373 when wrong url type is used6374 #valid?6375 is not valid6376 #errors6377 contains error about wrong url type6378 when variables are used for environment6379 #valid?6380 is valid6381 when auto_stop_in is specified6382 when auto_stop_in is correct format6383 becomes valid6384 when auto_stop_in is invalid format6385 becomes invalid6386 when configuration is invalid6387 when configuration is an array6388 #valid?6389 is not valid6390 #errors6391 contains error about invalid type6392 when environment name is not present6393 #valid?6394 is not valid6395 #errors?6396 contains error about missing environment name6397 kubernetes6398 is a string6399 is expected not to be valid6400 is a hash6401 is expected to be valid6402 is nil6403 is expected to be valid6404 deployment_tier6405 is a string6406 is expected to be valid6407 is a hash6408 is expected not to be valid6409 is nil6410 is expected to be valid6411 is unknown value6412 is invalid and adds an error6413ProjectFeatureUsage6414 .jira_dvcs_integrations_enabled_count6415 returns count of projects with Jira DVCS Cloud enabled6416 returns count of projects with Jira DVCS Server enabled6417 #log_jira_dvcs_integration_usage6418 when the feature usage has not been created yet6419 logs Jira DVCS Cloud last sync6420 logs Jira DVCS Server last sync6421 when the feature usage already exists6422 cloud: true, timestamp_field: :jira_dvcs_cloud_last_sync_at6423 when Jira DVCS Cloud last sync has not been logged6424 logs Jira DVCS Cloud last sync6425 when Jira DVCS Cloud last sync was logged today6426 does not log Jira DVCS Cloud last sync6427 when Jira DVCS Cloud last sync was logged yesterday6428 logs Jira DVCS Cloud last sync6429 cloud: false, timestamp_field: :jira_dvcs_server_last_sync_at6430 when Jira DVCS Cloud last sync has not been logged6431 logs Jira DVCS Cloud last sync6432 when Jira DVCS Cloud last sync was logged today6433 does not log Jira DVCS Cloud last sync6434 when Jira DVCS Cloud last sync was logged yesterday6435 logs Jira DVCS Cloud last sync6436 when log_jira_dvcs_integration_usage is called simultaneously for the same project6437 logs the latest call6438 ProjectFeatureUsage with DB Load Balancing6439 #log_jira_dvcs_integration_usage6440 database load balancing is configured6441 logs Jira DVCS Cloud last sync6442 does not stick to primary6443 database load balancing is not cofigured6444 logs Jira DVCS Cloud last sync6445Gitlab::Ci::Config::Entry::Cache6446 validations6447 when entry config value is correct6448 #value6449 behaves like hash key value6450 returns hash value6451 with files6452 behaves like hash key value6453 returns hash value6454 with files and prefix6455 behaves like hash key value6456 returns hash value6457 with prefix6458 key is nil6459 with `policy`6460 policy: "pull-push", result: "pull-push"6461 is expected to include {:policy => "pull-push"}6462 policy: "push", result: "push"6463 is expected to include {:policy => "push"}6464 policy: "pull", result: "pull"6465 is expected to include {:policy => "pull"}6466 policy: "unknown", result: "unknown"6467 is expected to include {:policy => "unknown"}6468 without `policy`6469 assigns policy to default6470 with `when`6471 when_config: "on_success", result: "on_success"6472 is expected to include {:when => "on_success"}6473 when_config: "on_failure", result: "on_failure"6474 is expected to include {:when => "on_failure"}6475 when_config: "always", result: "always"6476 is expected to include {:when => "always"}6477 when_config: "unknown", result: "unknown"6478 is expected to include {:when => "unknown"}6479 without `when`6480 assigns when to default6481 #valid?6482 is expected to be valid6483 with files6484 is expected to be valid6485 with `policy`6486 policy: "pull-push", valid: true6487 returns expected validity6488 policy: "push", valid: true6489 returns expected validity6490 policy: "pull", valid: true6491 returns expected validity6492 policy: "unknown", valid: false6493 returns expected validity6494 with `when`6495 when_config: "on_success", valid: true6496 returns expected validity6497 when_config: "on_failure", valid: true6498 returns expected validity6499 when_config: "always", valid: true6500 returns expected validity6501 when_config: "unknown", valid: false6502 returns expected validity6503 with key missing6504 #value6505 sets key with the default6506 when entry value is not correct6507 #errors6508 when is not a hash6509 reports errors with config value6510 when policy is unknown6511 reports error6512 when `when` is unknown6513 reports error6514 when descendants are invalid6515 with invalid keys6516 reports error with descendants6517 with empty key6518 reports error with descendants6519 with invalid files6520 reports error with descendants6521 with prefix without files6522 reports error with descendants6523 when there is an unknown key present6524 reports error with descendants6525 when there is an unknown key present6526 reports error with descendants6527Integrations::MattermostSlashCommands6528 behaves like Integrations::BaseSlashCommands6529 Associations6530 is expected to respond to #token6531 is expected to have many chat_names6532 #valid_token?6533 when the token is empty6534 is false6535 when there is a token6536 accepts equal tokens6537 #trigger6538 no token is passed6539 returns nil6540 with a token passed6541 no user can be found6542 when no url can be generated6543 responds with the authorize url6544 when an auth url can be generated6545 generates the url6546 when the user is authenticated6547 triggers the command6548 when user is blocked6549 behaves like blocks command execution6550 is expected to match "you do not have access to the GitLab project"6551 when user is deactivated6552 behaves like blocks command execution6553 is expected to match "your account has been deactivated by your administrator"6554 Mattermost API6555 #configure6556 when the request succeeds6557 saves the integration6558 saves the token6559 when an error is received6560 shows error messages6561 #list_teams6562 when the request succeeds6563 returns a list of teams6564 when an error is received6565 shows error messages6566 #chat_responder6567 returns the responder to use for Mattermost6568Gitlab::LegacyGithubImport::ProjectCreator6569 #execute6570 creates a project6571 handle GitHub credentials6572 when GitHub project is private6573 sets project visibility to private6574 when GitHub project is public6575 sets project visibility to namespace visibility level6576 when importing into a user namespace6577 sets project visibility to user namespace visibility level6578 when visibility level is restricted6579 when GitHub project is private6580 sets project visibility to the default project visibility6581 when GitHub project is public6582 sets project visibility to the default project visibility6583 when GitHub project has wiki6584 does not create the wiki repository6585 when GitHub project does not have wiki6586 creates the wiki repository6587Gitlab::X509::Certificate6588 testing environment setup6589 generate_root6590 generates a root CA that expires a long way in the future6591 generate_intermediate6592 generates an intermediate CA that expires a long way in the future6593 generates an intermediate CA properly signed by the root CA6594 generate_cert6595 generates a cert properly signed by the intermediate CA6596 generates a cert that expires soon6597 generates a cert intended for email signing6598 passing in INFINITE_EXPIRY6599 generates a cert that expires a long way in the future6600 .from_strings6601 parses correctly a certificate and key6602 .from_files6603 parses correctly a certificate and key6604 with optional ca_certs6605 parses correctly certificate, key and ca_certs6606 with no intermediate CA6607 parses correctly a certificate and key6608 .ca_certs_paths6609 returns all files specified by OpenSSL defaults6610 .ca_certs_bundle6611 skips certificates if OpenSSLError is raised and report it6612 returns a list certificates as strings6613 .load_ca_certs_bundle6614 loads a PEM-encoded certificate bundle into an OpenSSL::X509::Certificate array6615Metrics::Dashboard::Annotations::DeleteService6616 .execute6617 with specific environment6618 with anonymous user6619 behaves like prevented annotation deletion6620 returns error response6621 does not change db state6622 with maintainer user6623 behaves like executed annotation deletion6624 returns success response6625 annotation failed to delete6626 returns error response6627 with specific cluster6628 with anonymous user6629 behaves like prevented annotation deletion6630 returns error response6631 does not change db state6632 with maintainer user6633 behaves like executed annotation deletion6634 returns success response6635 with owner user6636 behaves like executed annotation deletion6637 returns success response6638Gitlab::Database::MigrationHelpers::V26639 #rename_column_concurrently6640 behaves like Setting up to rename a column6641 creates the renamed column, syncing existing data6642 installs triggers to sync new data6643 when called inside a transaction block6644 raises an error6645 when the existing column has a default value6646 raises an error6647 when passing a batch column6648 when the batch column does not exist6649 raises an error6650 when the batch column does exist6651 passes it when creating the column6652 when the column to rename does not exist6653 raises an error6654 #undo_cleanup_concurrent_column_rename6655 behaves like Setting up to rename a column6656 creates the renamed column, syncing existing data6657 installs triggers to sync new data6658 when called inside a transaction block6659 raises an error6660 when the existing column has a default value6661 raises an error6662 when passing a batch column6663 when the batch column does not exist6664 raises an error6665 when the batch column does exist6666 passes it when creating the column6667 when the renamed column does not exist6668 raises an error6669 #undo_rename_column_concurrently6670 behaves like Cleaning up from renaming a column6671 when the helper is called repeatedly6672 does not make repeated attempts to cleanup6673 when the renamed column exists6674 removes the sync triggers and renamed columns6675 #cleanup_concurrent_column_rename6676 behaves like Cleaning up from renaming a column6677 when the helper is called repeatedly6678 does not make repeated attempts to cleanup6679 when the renamed column exists6680 removes the sync triggers and renamed columns6681 #create_table6682 using a limit: attribute on .text6683 creates the table as expected6684 #with_lock_retries6685-- transaction_open?()6686 -> 0.0003s6687 sets the migration class name in the logs6688-- transaction_open?()6689 -> 0.0003s6690 does not raise on exhaustion by default6691-- transaction_open?()6692 -> 0.0003s6693 defaults to disallowing subtransactions6694 raise_on_exhaustion: true6695-- transaction_open?()6696 -> 0.0003s6697 sets raise_on_exhaustion as requested6698 raise_on_exhaustion: false6699-- transaction_open?()6700 -> 0.0002s6701 sets raise_on_exhaustion as requested6702 when in transaction6703 when lock retries are enabled6704 does not use Gitlab::Database::WithLockRetries and executes the provided block directly6705 when lock retries are not enabled6706 raises an error6707Issues::ResolveDiscussions6708 for resolving discussions6709 #merge_request_for_resolving_discussion6710 finds the merge request6711 only queries for the merge request once6712 #discussions_to_resolve6713 contains a single discussion when matching merge request and discussion are passed6714 contains all discussions when only a merge request is passed6715 contains only unresolved discussions6716 is empty when a discussion and another merge request are passed6717projects/commit/branches.html.haml6718 when branches and tags are available6719 shows default branch6720 shows js expand link6721 shows branch and tag links6722 when branches are available but no tags6723 shows branches6724 shows js expand link6725 shows limit exceeded message for tags6726 when tags are available but no branches (just default)6727 shows default branch6728 shows js expand link6729 shows tags6730 shows limit exceeded for branches6731 when branches and tags are not available6732 shows default branch6733 shows js expand link6734 shows too many to search6735gitlab:ldap:rename_provider rake task6736 completes without error6737gitlab:ldap:secret rake tasks6738 :show6739 displays error when file does not exist6740 displays error when key does not exist6741 displays error when key is changed6742 outputs the unencrypted content when present6743 edit6744# main:6745# password: '123'6746# user_dn: 'gitlab-adm'6747 creates encrypted file6748 displays error when key does not exist6749 displays error when key is changed6750 displays error when write directory does not exist6751somevalue shows a warning when content is invalid6752 displays error when $EDITOR is not set6753 write6754 creates encrypted file from stdin6755 displays error when key does not exist6756 displays error when write directory does not exist6757somevalue shows a warning when content is invalid6758Banzai::ReferenceParser::ExternalIssueParser6759 #nodes_visible_to_user6760 when the link has a data-issue attribute6761 creates reference when the feature is 06762 creates reference when the feature is 106763 creates reference when the feature is 206764 #referenced_by6765 when the link has a data-project attribute6766 when the link has a data-external-issue attribute6767 returns an Array of ExternalIssue instances6768 when the link does not have a data-external-issue attribute6769 returns an empty Array6770 when the link does not have a data-project attribute6771 returns an empty Array6772 #issue_ids_per_project6773 returns a Hash containing range IDs per project6774 does not add a project when the data-external-issue attribute is empty6775Gitlab::Ci::Config::Normalizer6776 .normalize_jobs6777 with parallel config as integer6778 does not have original job6779 has parallelized jobs6780 sets job instance in options6781 parallelizes jobs with original config6782 when the job is not parallelized6783 returns the same hash6784 when there is a job with a slash in it6785 properly parallelizes job names6786 behaves like parallel dependencies6787 when job has dependencies on parallelized jobs6788 parallelizes dependencies6789 does not include original job name in RSpec::ExampleGroups::GitlabCiConfigNormalizer::NormalizeJobs::WithParallelConfigAsInteger::BehavesLikeParallelDependencies::WhenJobHasDependenciesOnParallelizedJobs::Anonymous6790 when there are dependencies which are both parallelized and not6791 parallelizes dependencies6792 includes the regular job in dependencies6793 behaves like parallel needs6794 when job has needs on parallelized jobs6795 parallelizes needs6796 when there are dependencies which are both parallelized and not6797 parallelizes dependencies6798 includes the regular job in dependencies6799 with parallel matrix config6800 does not have original job6801 sets job instance in options6802 sets job variables6803 parallelizes jobs with original config6804 has parallelized jobs6805 behaves like parallel dependencies6806 when job has dependencies on parallelized jobs6807 parallelizes dependencies6808 does not include original job name in RSpec::ExampleGroups::GitlabCiConfigNormalizer::NormalizeJobs::WithParallelMatrixConfig::BehavesLikeParallelDependencies::WhenJobHasDependenciesOnParallelizedJobs::Anonymous6809 when there are dependencies which are both parallelized and not6810 parallelizes dependencies6811 includes the regular job in dependencies6812 behaves like parallel needs6813 when job has needs on parallelized jobs6814 parallelizes needs6815 when there are dependencies which are both parallelized and not6816 parallelizes dependencies6817 includes the regular job in dependencies6818 when parallel config does not matches a factory6819 does not alter the job config6820 when jobs config is nil6821 is expected to eq {}6822Lfs::UnlockFileService6823 #execute6824 when not authorized6825 doesn't succeed6826 when authorized6827 when lock does not exists6828 doesn't succeed6829 when unlocked by the author6830 succeeds6831 when unlocked by a different user6832 doesn't succeed6833 when forced6834 by a regular user6835 doesn't succeed6836 by a maintainer user6837 succeeds6838Resolvers::DesignManagement::DesignsResolver6839 is expected to have nullable GraphQL type DesignConnection6840 #resolve6841 when the user cannot see designs6842 returns nothing6843 for a design collection6844 which contains just a single design6845 returns just that design6846 which contains another design6847 returns all designs6848 filtering6849 by filename6850 resolves to just the relevant design, ignoring designs with the same filename on different issues6851 by id6852 ids is provided but null6853 behaves as if unfiltered6854 ids is provided but empty6855 eliminates all values6856 the ID is on the current issue6857 resolves to just the relevant design6858 the ID is on a different issue6859 ignores it6860notify/pipeline_failed_email.html.haml6861 behaves like pipeline status changes email6862 when the pipeline contains a failed job6863 behaves like renders the pipeline status changes email correctly6864 pipeline with user6865 renders the email correctly6866 behaves like correct pipeline information for pipelines for merge requests6867 when pipeline for merge request6868 renders a source ref of the pipeline6869 pipeline without user6870 renders the email correctly6871 when the latest failed job is a bridge job6872 behaves like renders the pipeline status changes email correctly6873 pipeline with user6874 renders the email correctly6875 behaves like correct pipeline information for pipelines for merge requests6876 when pipeline for merge request6877 renders a source ref of the pipeline6878 pipeline without user6879 renders the email correctly6880Analytics::CycleAnalytics::IssueStageEvent6881 is expected to validate that :stage_event_hash_id cannot be empty/falsy6882 is expected to validate that :issue_id cannot be empty/falsy6883 is expected to validate that :group_id cannot be empty/falsy6884 is expected to validate that :project_id cannot be empty/falsy6885 is expected to validate that :start_event_timestamp cannot be empty/falsy6886 has state enum6887 behaves like StageEventModel6888 .upsert_data6889 inserts the data6890 does not produce duplicate rows6891 inserts the data correctly6892 scopes6893 filters by stage_event_hash_id6894 filters by project_id6895 filters by group_id6896 filters by author_id6897 filters by assignee6898 filters by milestone_id6899 start_event_timestamp filtering6900 when range is given6901 when specifying upper bound6902 when specifying the lower bound6903 end_event_timestamp filtering6904 when range is given6905 when specifying upper bound6906 when specifying the lower bound6907Gitlab::Database::Count6908 .approximate_counts6909 fallbacks6910 gets results from first strategy6911 gets more results from second strategy if some counts are missing6912 does not get more results as soon as all counts are present6913 default strategies6914 with a read-only database6915 only uses the ExactCountStrategy6916 with a read-write database6917 uses the available strategies6918Integrations::PropagateService6919 .propagate6920 with inherited integration6921 calls to PropagateIntegrationProjectWorker6922 with a project without integration6923 calls to PropagateIntegrationProjectWorker6924 with a group without integration6925 calls to PropagateIntegrationProjectWorker6926 for a group-level integration6927 with a project without integration6928 calls to PropagateIntegrationProjectWorker6929 with a subgroup without integration6930 calls to PropagateIntegrationGroupWorker6931 with a subgroup with integration6932 calls to PropagateIntegrationInheritDescendantWorker6933Packages::Maven::PackageFinder6934 uses CTE in the query6935 #execute!6936 within the project6937 behaves like handling valid and invalid paths6938 with a valid path6939 is expected to eq #<Packages::Package id: 284, project_id: 1510, created_at: "2021-12-20 17:18:28.542840000 +0000", upd.../app/my-app", version: "1.134-SNAPSHOT", package_type: "maven", creator_id: 2146, status: "default">6940 with an invalid path6941 raises an error6942 with an uninstallable package6943 is expected to raise ActiveRecord::RecordNotFound6944 within a group6945 behaves like handling valid and invalid paths6946 with a valid path6947 is expected to eq #<Packages::Package id: 284, project_id: 1510, created_at: "2021-12-20 17:18:28.542840000 +0000", upd.../app/my-app", version: "1.134-SNAPSHOT", package_type: "maven", creator_id: 2146, status: "default">6948 with an invalid path6949 raises an error6950 with an uninstallable package6951 is expected to raise ActiveRecord::RecordNotFound6952 across all projects6953 raises an error6954 versionless maven-metadata.xml package6955 without order by package file6956 is expected to eq #<Packages::Package id: 290, project_id: 1514, created_at: "2021-12-20 17:18:33.358748815 +0000", upd...48815 +0000", name: "foo", version: nil, package_type: "maven", creator_id: 2153, status: "default">6957 with order by package file6958 is expected to eq #<Packages::Package id: 288, project_id: 1513, created_at: "2021-12-20 17:18:33.093660929 +0000", upd...60929 +0000", name: "foo", version: nil, package_type: "maven", creator_id: 2151, status: "default">6959Ci::Trigger6960 associations6961 is expected to belong to project required: false6962 is expected to belong to owner required: false6963 is expected to have many trigger_requests6964 validations6965 is expected to validate that :owner cannot be empty/falsy6966 before_validation6967 sets an random token if none provided6968 does not set a random token if one provided6969 #short_token6970 returns shortened token6971 #can_access_project?6972 and is member of the project6973 is expected to eq true6974 and is not member of the project6975 is expected to eq false6976 behaves like includes Limitable concern6977 validations6978 is expected to be a kind of Limitable6979 without plan limits configured6980 can create new models6981 with plan limits configured6982 can create new models6983 with an existing model6984 cannot create new models exceeding the plan limits6985UsersStatistics6986 scopes6987 .order_created_at_desc6988 returns the entries ordered by created at descending6989 .latest6990 returns the latest entry6991 .create_current_stats!6992 when successful6993 creates an entry with the current statistics values6994 when unsuccessful6995 raises an ActiveRecord::RecordInvalid exception6996 #active6997 sums users statistics values without the value for blocked6998 #total6999 sums all users statistics values7000MergeRequests::RemoveApprovalService7001 #execute7002 with a user who has approved7003 removes the approval7004 creates an unapproval note and triggers web hook7005 tracks merge request unapprove action7006 with a user who has not approved7007 does not create an unapproval note and triggers web hook7008 does not track merge request unapprove action7009Integrations::CustomIssueTracker7010 Validations7011 when integration is active7012 is expected to validate that :project_url cannot be empty/falsy7013 is expected to validate that :issues_url cannot be empty/falsy7014 is expected to validate that :new_issue_url cannot be empty/falsy7015 behaves like issue tracker integration URL attribute7016 is expected to allow :project_url to be ‹"https://example.com"›7017 is expected not to allow :project_url to be ‹"example.com"›7018 is expected not to allow :project_url to be ‹"ftp://example.com"›7019 is expected not to allow :project_url to be ‹"herp-and-derp"›7020 behaves like issue tracker integration URL attribute7021 is expected to allow :issues_url to be ‹"https://example.com"›7022 is expected not to allow :issues_url to be ‹"example.com"›7023 is expected not to allow :issues_url to be ‹"ftp://example.com"›7024 is expected not to allow :issues_url to be ‹"herp-and-derp"›7025 behaves like issue tracker integration URL attribute7026 is expected to allow :new_issue_url to be ‹"https://example.com"›7027 is expected not to allow :new_issue_url to be ‹"example.com"›7028 is expected not to allow :new_issue_url to be ‹"ftp://example.com"›7029 is expected not to allow :new_issue_url to be ‹"herp-and-derp"›7030 when integration is inactive7031 is expected not to validate that :project_url cannot be empty/falsy7032 is expected not to validate that :issues_url cannot be empty/falsy7033 is expected not to validate that :new_issue_url cannot be empty/falsy7034Gitlab::FileHook7035 with file_hooks present7036 .any?7037 returns true7038 .files?7039 returns a list of file_hooks7040 without any file_hooks7041 .any?7042 returns false7043 .files7044 returns an empty list7045 .execute7046 successful execution7047 is expected to equal true7048 is expected to be empty7049 ensures file_hook received data via stdin7050 non-executable7051 is expected to equal false7052 is expected to include "Permission denied"7053 non-zero exit7054 is expected to equal false7055 is expected to be empty7056MergeRequests::MarkReviewerReviewedService7057 #execute7058 invalid permissions7059 returns an error7060 reviewer does not exist7061 returns an error7062 reviewer exists7063 returns success7064 updates reviewers state7065Gitlab::SidekiqLogging::StructuredLogger7066 #call7067 with SIDEKIQ_LOG_ARGUMENTS enabled7068 logs start and end of job7069 logs real job wrapped by active job worker7070 logs an exception in job7071 logs the root cause of an Sidekiq::JobRetry::Skip exception in the job7072 logs the root cause of an Sidekiq::JobRetry::Handled exception in the job7073 keeps Sidekiq::JobRetry::Handled exception if the cause does not exist7074 does not modify the job7075 does not modify the wrapped job7076 with SIDEKIQ_LOG_ARGUMENTS disabled7077 logs start and end of job without args7078 logs without created_at and enqueued_at fields7079 with latency7080 logs with scheduling latency7081 with enqueue latency7082 logs with scheduling latency7083 with Gitaly, Rugged, and Redis calls7084 logs with Gitaly and Rugged timing data7085 when the job performs database queries7086 when load balancing is enabled7087 logs the database time7088 prevents database time from leaking to the next job7089 when the job uses load balancing capabilities7090 logs the database chosen7091 when there is extra metadata set for the done log7092 logs it in the done log7093 when instrumentation data is not loaded7094 does not raise exception7095 when the job payload is compressed7096 logs it in the done log7097 #add_time_keys!7098 update payload correctly7099Gitlab::Ci::Config::Entry::Service7100 when configuration is a string7101 #valid?7102 is valid7103 #value7104 returns valid hash7105 #image7106 returns service's image name7107 #alias7108 returns service's alias7109 #command7110 returns service's command7111 #ports7112 returns service's ports7113 when configuration is a hash7114 #valid?7115 is valid7116 #value7117 returns valid hash7118 #image7119 returns service's image name7120 #alias7121 returns service's alias7122 #command7123 returns service's command7124 #entrypoint7125 returns service's entrypoint7126 when configuration has ports7127 when with_image_ports metadata is not enabled7128 #valid?7129 is not valid7130 when with_image_ports metadata is enabled7131 #valid?7132 is valid7133 when unknown port keys detected7134 is not valid7135 #ports7136 returns image's ports7137 when entry value is not correct7138 #errors7139 saves errors7140 #valid?7141 is not valid7142 when unexpected key is specified7143 #errors7144 saves errors7145 #valid?7146 is not valid7147 when service has ports7148 alias field is mandatory7149 when service does not have ports7150 alias field is optional7151Resolvers::Users::SnippetsResolver7152 #resolve7153 calls SnippetsFinder7154 when using no filter7155 returns expected authored snippets7156 when using filters7157 returns the snippets by visibility7158 returns the snippets by type7159 returns the snippets by single gid7160 returns the snippets by array of gid7161 returns an error if the gid is invalid7162 when user profile is private7163 does not return snippets for that user7164Ci::CommitStatusesFinder#execute7165 tag refs7166 no pipelines7167 returns nil7168 when multiple tags exist7169 all relevant commit statuses are received7170 when a tag has multiple pipelines7171 chooses the latest to determine status7172 branch refs7173 no pipelines7174 returns nil7175 when a branch has multiple pipelines7176 chooses the latest to determine status7177 when multiple branches exist7178 all relevant commit statuses are received7179 CI pipelines visible to7180 everyone7181 returns something7182 project members only7183 returns a blank hash7184 when not a member of a private project7185 returns a blank hash7186Gitlab::Template::MergeRequestTemplate7187 .all7188 strips the md suffix7189 combines the globals and rest7190 .find7191 returns nil if the file does not exist7192 returns the merge request object of a valid file7193 .by_category7194 return array of templates7195 when repo is bare or empty7196 returns empty array7197 #content7198 loads the full file7199 raises error when file is not found7200 when repo is empty7201 raises file not found7202Packages::Composer::CacheUploader7203 behaves like builds correct paths7204 #store_dir7205 behaves like matches the method pattern7206 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/7207 #cache_dir7208 behaves like matches the method pattern7209 is expected to match /\/packages\/tmp\/cache/7210 #work_dir7211 behaves like matches the method pattern7212 is expected to match /\/packages\/tmp\/work/7213 #upload_path7214 behaves like matches the method pattern7215 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7216 #relative_path7217 is relative (PENDING: Path not set, skipping.)7218 .absolute_path7219 behaves like matches the method pattern7220 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7221 .base_dir7222 behaves like matches the method pattern7223 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7224 path traversal exploits7225 throws an exception7226 object store is remote7227 behaves like builds correct paths7228 #store_dir7229 behaves like matches the method pattern7230 is expected to match /^\h{2}\/\h{2}\/\h{64}\/packages\/composer_cache\/\d+$/7231 #cache_dir7232 behaves like matches the method pattern7233 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7234 #work_dir7235 behaves like matches the method pattern7236 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7237 #upload_path7238 behaves like matches the method pattern7239 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7240 #relative_path7241 is relative (PENDING: Path not set, skipping.)7242 .absolute_path7243 behaves like matches the method pattern7244 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7245 .base_dir7246 behaves like matches the method pattern7247 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)7248 path traversal exploits7249 throws an exception7250 remote file7251 with object storage enabled7252 can store file remotely7253MergeRequests::ReloadDiffsService7254 #execute7255 creates new merge request diff7256 calls update_diff_discussion_positions with correct params7257 does not change existing merge request diff7258 cache clearing7259 clears the cache for older diffs on the merge request7260 avoids N+1 queries7261Banzai::ReferenceParser::LabelParser7262 #nodes_visible_to_user7263 when the link has a data-issue attribute7264 behaves like referenced feature visibility7265 when feature is disabled7266 does not create reference7267 when feature is enabled only for team members7268 does not create reference for non member7269 creates reference for member7270 when feature is enabled7271 creates reference7272 #referenced_by7273 when the link has a data-label attribute7274 using an existing label ID7275 returns an Array of labels7276 using a non-existing label ID7277 returns an empty Array7278Gitlab::GithubImport7279 github.com7280 returns a new Client with a custom token7281 returns a new Client with a token stored in the import data7282 returns the ID of the ghost user7283 caches the ghost user ID7284 GitHub Enterprise7285 returns a new Client with a custom token7286 returns a new Client with a token stored in the import data7287 returns the ID of the ghost user7288 caches the ghost user ID7289 formats the import url7290 .per_page7291 when project group is present7292 when github_importer_lower_per_page_limit is enabled7293 returns lower per page value7294 when github_importer_lower_per_page_limit is disabled7295 returns default per page value7296 when project group is missing7297 returns default per page value7298Gitlab::ImportExport::SnippetsRepoRestorer7299 bundle a snippet Git repo7300 when export has no snippet repository bundle7301 behaves like imports snippet repositories7302 is expected not to be empty7303 when export has snippet repository bundles and snippets without them7304 behaves like imports snippet repositories7305 is expected not to be empty7306 when export has only snippet bundles7307 behaves like imports snippet repositories7308 is expected not to be empty7309 when any of the snippet repositories cannot be created7310 continues processing other snippets and returns false7311MetricsServer7312 .spawn7313 when in parent process7314 forks into a new process and detaches it7315 when in child process7316 starts the metrics server with the given arguments7317 resets signal handlers from parent process7318 #start7319 configures ::Prometheus::Client7320 ensures that metrics directory exists in correct mode (0700)7321 starts a metrics server7322 starts a RubySampler instance7323 when wipe_metrics_dir is true7324 removes any old metrics files7325 when wipe_metrics_dir is false7326 does not remove any old metrics files7327ErrorTracking::ErrorEvent7328 relationships7329 is expected to belong to error required: false7330 validations7331 is expected to validate that :description cannot be empty/falsy7332 is expected to validate that the length of :description is at most 10247333 is expected to validate that :occurred_at cannot be empty/falsy7334 is expected to validate that the length of :level is at most 2557335 is expected to validate that the length of :environment is at most 2557336 #stacktrace7337 generates a correct stacktrace in expected format7338 error context is missing7339 generates a stacktrace without context7340 #to_sentry_error_event7341 is expected to be a kind of Gitlab::ErrorTracking::ErrorEvent7342Banzai::Pipeline::DescriptionPipeline7343 uses a limited allowlist7344 removes 'pre' elements7345 removes 'code' elements7346 removes 'img' elements7347 removes 'ol' elements7348 removes 'ul' elements7349 removes 'li' elements7350 still allows 'b' elements7351 still allows 'i' elements7352 still allows 'strong' elements7353 still allows 'em' elements7354 still allows 'a' elements7355 still allows 'ins' elements7356 still allows 'del' elements7357 still allows 'sup' elements7358 still allows 'sub' elements7359 still allows 'p' elements7360Integrations::Youtrack7361 Validations7362 when integration is active7363 is expected to validate that :project_url cannot be empty/falsy7364 is expected to validate that :issues_url cannot be empty/falsy7365 behaves like issue tracker integration URL attribute7366 is expected to allow :project_url to be ‹"https://example.com"›7367 is expected not to allow :project_url to be ‹"example.com"›7368 is expected not to allow :project_url to be ‹"ftp://example.com"›7369 is expected not to allow :project_url to be ‹"herp-and-derp"›7370 behaves like issue tracker integration URL attribute7371 is expected to allow :issues_url to be ‹"https://example.com"›7372 is expected not to allow :issues_url to be ‹"example.com"›7373 is expected not to allow :issues_url to be ‹"ftp://example.com"›7374 is expected not to allow :issues_url to be ‹"herp-and-derp"›7375 when integration is inactive7376 is expected not to validate that :project_url cannot be empty/falsy7377 is expected not to validate that :issues_url cannot be empty/falsy7378 .reference_pattern7379 does allow project prefix on the reference7380 allows lowercase project key on the reference7381 behaves like allows project key on reference pattern7382 allows underscores in the project name7383 allows numbers in the project name7384 requires the project name to begin with A-Z7385 does not allow issue number to finish with a letter7386Gitlab::Tracking::StandardContext7387 #to_context7388 contains source7389 contains user id7390 contains namespace and project ids7391 accepts just project id as integer7392 environment7393 development or test7394 contains environment7395 staging7396 contains environment7397 production7398 contains environment7399 org7400 contains environment7401 other self-managed instance7402 contains environment7403 plan7404 when namespace is not available7405 is nil7406 when namespace is available7407 contains plan name7408 with extra data7409 includes extra data in `extra` hash7410 without extra data7411 contains an empty `extra` hash7412projects/jobs/show7413 when showing a CI build7414 shows job vue app7415 when job is running7416 does not show retry button7417 does not show New issue button7418 when showing a bridge job7419 shows bridge vue app7420Resolvers::Projects::ServicesResolver7421 is expected to have nullable GraphQL type ServiceConnection7422 #resolve7423 when project does not have services7424 when user cannot access services7425 when anonymous user7426 behaves like cannot access project services7427 raises error7428 when user developer7429 behaves like cannot access project services7430 raises error7431 when user can read project services7432 behaves like no project services7433 returns empty collection7434 when project has services7435 when user cannot access services7436 when anonymous user7437 behaves like cannot access project services7438 raises error7439 when user developer7440 behaves like cannot access project services7441 raises error7442 when user can read project services7443 returns project services7444Gitlab::Ci::Build::Artifacts::Metadata7445 metadata file exists7446 #find_entries! empty string7447 matches correct paths7448 matches metadata for every path7449 return Hashes for each metadata7450 #find_entries! other_artifacts_0.1.2/7451 matches correct paths7452 #find_entries! other_artifacts_0.1.2/another-subdirectory/7453 matches correct paths7454 #find_entries! recursively for other_artifacts_0.1.2/7455 matches correct paths7456 #to_entry7457 is expected to be an instance of Gitlab::Ci::Build::Artifacts::Metadata::Entry7458 #full_version7459 is expected to eq "GitLab Build Artifacts Metadata 0.0.1"7460 #version7461 is expected to eq "0.0.1"7462 #errors7463 is expected to eq {}7464 metadata file does not exist7465 #find_entries!7466 raises error7467 metadata file is invalid7468 #find_entries!7469 raises error7470 generated metadata7471 #find_entries!7472 reads expected number of entries7473Gitlab::Checks::TagCheck7474 #validate!7475 raises an error when user does not have access7476 with protected tag7477 as maintainer7478 deletion7479 is prevented7480 update7481 is prevented7482 creation7483 prevents creation below access level7484 when user has access7485 allows tag creation7486Gitlab::Auth::OAuth::Provider7487 .enabled?7488 when OmniAuth is disabled7489 allows database auth7490 allows LDAP auth7491 does not allow other OmniAuth providers7492 when OmniAuth is enabled7493 allows database auth7494 allows LDAP auth7495 allows other OmniAuth providers7496 .config_for7497 for an LDAP provider7498 when the provider exists7499 returns the config7500 when the provider does not exist7501 returns nil7502 for an OmniAuth provider7503 when the provider exists7504 returns the config7505 merges defaults with the given configuration7506 when the provider does not exist7507 returns nil7508 .label_for7509 when configuration specifies a custom label7510 returns the custom label name7511 when configuration does not specify a custom label7512 when the name does not correspond to a label mapping7513 returns the titleized name7514 when the name corresponds to a label mapping7515 returns the mapped name7516Ci::CreatePipelineService7517 creation errors and warnings7518 when created successfully7519 when warnings are raised7520 contains only warnings7521 when no warnings are raised7522 contains no warnings7523 when failed to create the pipeline7524 when warnings are raised7525 contains both errors and warnings7526 when no warnings are raised7527 contains only errors7528PagesDomains::CreateAcmeOrderService7529 saves order to database before requesting validation7530 generates and saves private key7531 properly saves order attributes7532 properly saves challenge attributes7533BulkImports::Projects::Pipelines::ProjectPipeline7534 #run7535 imports new project into destination group7536 pipeline parts7537 is expected to includes the BulkImports::Pipeline module7538 is expected to includes the BulkImports::Pipeline::Runner module7539 has extractors7540 has transformers7541ProtectedTags::CreateService7542 #execute7543 creates a new protected tag7544 when name has escaped HTML7545 creates the new protected tag matching the unescaped version7546 and name contains HTML tags7547 creates the new protected tag with sanitized name7548 and contains unsafe HTML7549 does not create the new protected tag7550 when name contains unescaped HTML tags7551 creates the new protected tag with sanitized name7552NotificationRecipients::Builder::Default7553 #build!7554 participants and project watchers7555 adds all participants and watchers7556 subscribers7557 adds all subscribers7558 custom notifications7559 behaves like custom notification recipients7560 with project custom notification setting7561 adds the user to the recipients7562 with the project custom notification setting in another project7563 does not add the user to the recipients7564 with group custom notification setting7565 adds the user to the recipients7566 with the group custom notification setting in another group7567 does not add the user to the recipients7568 with project global custom notification setting7569 with global custom notification setting7570 adds the user to the recipients7571 without global custom notification setting7572 does not add the user to the recipients7573 with group global custom notification setting7574 with global custom notification setting7575 adds the user to the recipients7576 without global custom notification setting7577 does not add the user to the recipients7578 with group custom notification setting in deeply nested parent group7579 adds the user to the recipients7580 without a project or group7581 does not add the user to the recipients7582Gitlab::Diff::FileCollection::Commit7583 behaves like diff statistics7584 when include_stats is true7585 Repository#diff_stats is called7586 Gitlab::Diff::File is initialized with diff stats7587 when should not request diff stats7588 Repository#diff_stats is not called7589 behaves like unfoldable diff7590 calls Gitlab::Diff::File#unfold_diff_lines with correct position7591 behaves like sortable diff files7592 #raw_diff_files7593 when sorted is false (default)7594 returns unsorted diff files7595 when sorted is true7596 returns sorted diff files7597 #cache_key7598 returns with the commit id7599DeployKeysProject7600 Associations7601 is expected to belong to deploy_key required: false7602 is expected to belong to project required: false7603 Validation7604 is expected to validate that :project_id cannot be empty/falsy7605 is expected to validate that :deploy_key cannot be empty/falsy7606 Destroying7607 when the deploy key is only used by this project7608 when the deploy key is public7609 doesn't destroy the deploy key7610 when the deploy key is private7611 destroys the deploy key7612 when the deploy key is used by more than one project7613 doesn't destroy the deploy key7614RepositoryCleanupWorker7615 #perform7616 executes the cleanup service and sends a success notification7617 raises an error if the project cannot be found7618 raises an error if the user cannot be found7619 #sidekiq_retries_exhausted7620 does not send a failure notification for a RecordNotFound error7621 sends a failure notification7622 cleans up the attempt7623Integrations::Asana7624 Validations7625 active7626 is expected to validate that :api_key cannot be empty/falsy7627 Execute7628 calls Asana integration to create a story7629 calls Asana integration to create a story and close a task7630 is able to close via url7631 allows multiple matches per line7632Keys::LastUsedService7633 #execute7634 updates the key when it has not been used recently7635 does not update the key when it has been used recently7636 does not update the updated_at field7637 #update?7638 returns true when no last used timestamp is present7639 returns true when the key needs to be updated7640 returns false when a lease has already been obtained7641 returns false when the key does not yet need to be updated7642MergeRequests::Mergeability::RunChecksService7643 #CHECKS7644 contains every subclass of the base checks service7645 #execute7646 when every check is skipped7647 is still a success7648 when a check is skipped7649 does not execute the check7650 when a check is not skipped7651 when the check is cacheable7652 when the check is cached7653 returns the cached result7654 when the check is not cached7655 writes and returns the result7656 when check is not cacheable7657 does not call the results store7658 when mergeability_caching is turned off7659 does not call the results store7660Sidebars::Groups::Menus::SettingsMenu7661 #render?7662 when user cannot admin group7663 returns false7664 Menu items7665 General menu7666 behaves like access rights checks7667 is expected not to be nil7668 when the user does not have access7669 is expected to be nil7670 Integrations menu7671 behaves like access rights checks7672 is expected not to be nil7673 when the user does not have access7674 is expected to be nil7675 Projects menu7676 behaves like access rights checks7677 is expected not to be nil7678 when the user does not have access7679 is expected to be nil7680 Repository menu7681 behaves like access rights checks7682 is expected not to be nil7683 when the user does not have access7684 is expected to be nil7685 CI/CD menu7686 behaves like access rights checks7687 is expected not to be nil7688 when the user does not have access7689 is expected to be nil7690 Applications menu7691 behaves like access rights checks7692 is expected not to be nil7693 when the user does not have access7694 is expected to be nil7695 Packages & Registries7696 when packages feature is disabled7697 is expected to be nil7698 when packages feature is enabled7699 behaves like access rights checks7700 is expected not to be nil7701 when the user does not have access7702 is expected to be nil7703Packages::CreateDependencyService7704 #execute7705 when packages are published7706 creates dependencies and links7707 with repeated packages7708 creates dependencies and links7709 with dependencies bulk insert conflicts7710 creates dependences and links7711 with existing dependencies7712 reuses them7713 with a dependency not described with a hash7714 creates dependencies and links7715Resolvers::ProjectMergeRequestsResolver7716 by assignee7717 filters merge requests by assignee username7718 does not find anything7719 by author7720 filters merge requests by author username7721 does not find anything7722 by reviewer7723 filters merge requests by reviewer username7724 does not find anything7725Gitlab::Kubernetes::Helm::V3::InstallCommand7726 behaves like helm command generator7727 #generate_script7728 returns appropriate command7729 when rbac is true7730 behaves like helm command generator7731 #generate_script7732 returns appropriate command7733 when there is a pre-install script7734 behaves like helm command generator7735 #generate_script7736 returns appropriate command7737 when there is a post-install script7738 behaves like helm command generator7739 #generate_script7740 returns appropriate command7741 when there is no version7742 behaves like helm command generator7743 #generate_script7744 returns appropriate command7745 behaves like helm command7746 HELM_VERSION7747 is expected to match /\d+\.\d+\.\d+/7748 #env7749 is expected to be a kind of Hash7750 #rbac?7751 rbac is enabled7752 is expected to be truthy7753 rbac is not enabled7754 is expected to be falsey7755 #pod_resource7756 rbac is enabled7757 is expected to be an instance of Kubeclient::Resource7758 generates a pod that uses the tiller serviceAccountName7759 rbac is not enabled7760 is expected to be an instance of Kubeclient::Resource7761 generates a pod that uses the default serviceAccountName7762 #config_map_resource7763 returns a KubeClient resource with config map content for the application7764 #service_account_resource7765 rbac is enabled7766 generates a Kubeclient resource for the tiller ServiceAccount7767 rbac is not enabled7768 generates nothing7769 #cluster_role_binding_resource7770 rbac is enabled7771 generates a Kubeclient resource for the ClusterRoleBinding for tiller7772 binds the account in #service_account_resource7773 rbac is not enabled7774 generates nothing7775Gitlab::Database::BackgroundMigrationJob7776 behaves like having unique enum values7777 has unique values in "status"7778 .for_migration_execution7779 returns jobs matching class_name and arguments7780 normalizes class names by removing leading ::7781 .for_partitioning_migration7782 returns jobs matching class_name and the table_name job argument7783 normalizes class names by removing leading ::7784 .mark_all_as_succeeded7785 marks all matching jobs as succeeded7786 normalizes class_names by removing leading ::7787 returns the number of jobs updated7788 when previous matching jobs have already succeeded7789 does not update non-pending jobs7790 #class_name=7791 when the class_name is given without the leading ::7792 sets the class_name to the given value7793 when the class_name is given with the leading ::7794 removes the leading :: when setting the class_name7795 when the value is nil7796 sets the class_name to nil7797 when the values is blank7798 sets the class_name to the given value7799Gitlab::APIAuthentication::Builder7800 #build7801 behaves like builds the correct result7802 with 1 token type(s) and 1 sent through(s)7803 works when passed together7804 works when token types are passed separately7805 works when sent throughs are passed separately7806 works when token types and sent throughs are passed separately7807 behaves like builds the correct result7808 with 1 token type(s) and 2 sent through(s)7809 works when passed together7810 works when token types are passed separately7811 works when sent throughs are passed separately7812 works when token types and sent throughs are passed separately7813 behaves like builds the correct result7814 with 2 token type(s) and 1 sent through(s)7815 works when passed together7816 works when token types are passed separately7817 works when sent throughs are passed separately7818 works when token types and sent throughs are passed separately7819 behaves like builds the correct result7820 with 2 token type(s) and 2 sent through(s)7821 works when passed together7822 works when token types are passed separately7823 works when sent throughs are passed separately7824 works when token types and sent throughs are passed separately7825 with a complex auth strategy7826 builds the correct result7827Gitlab::FeatureCategories7828 #valid?7829 returns true if category is known7830 #from_request7831 returns category from request when valid, otherwise returns nil7832 when request is not verified7833 returns nil7834 #categories7835 returns a set of the given categories7836 .load_from_yaml7837 creates FeatureCategories from feature_categories.yml file7838 .default7839 returns a memoization of load_from_yaml7840layouts/application7841 body data elements for pageview context7842 includes the body element page7843 includes the body element page_type_id7844 includes the body element project_id7845 includes the body element namespace_id7846Gitlab::Ci::Pipeline::Expression::Lexeme::String7847 .build7848 creates a new instance of the token7849 .type7850 is a value lexeme7851 .scan7852 when using double quotes7853 correctly identifies string token7854 when using single quotes7855 correctly identifies string token7856 when there are mixed quotes in the string7857 is a greedy scanner for double quotes7858 is a greedy scanner for single quotes7859 allows to use single quotes inside double quotes7860 allow to use double quotes inside single quotes7861 allows to use an empty string inside single quotes7862 allow to use an empty string inside double quotes7863 #evaluate7864 returns string value if it is present7865 returns an empty string if it is empty7866BroadcastMessagesHelper7867 current_broadcast_notification_message7868 with available broadcast notification messages7869 is expected to eq #<BroadcastMessage id: 2, message: "MyText", starts_at: "2021-12-20 17:21:17.999946217 +0000", ends_a...ached_markdown_version: 1900544, target_path: nil, broadcast_type: "notification", dismissable: nil>7870 when last broadcast message is hidden7871 is expected to eq #<BroadcastMessage id: 3, message: "MyText", starts_at: "2021-12-19 17:21:18.042005353 +0000", ends_a...ached_markdown_version: 1900544, target_path: nil, broadcast_type: "notification", dismissable: nil>7872 without broadcast notification messages7873 is expected to be nil7874 broadcast_message7875 returns nil when no current message7876 includes the current message7877 includes custom style7878 broadcast_message_style7879 defaults to no style7880 allows custom style for banner messages7881 does not add style for notification messages7882 broadcast_message_status7883 returns Active7884 returns Expired7885 returns Pending7886Gitlab::RepositoryCache::Preloader7887 #preload7888 when the values are already cached7889 prevents individual cache reads for cached methods7890 when values are not cached7891 reads and writes from cache individually7892ProtectedBranchesFinder7893 #execute7894 returns all protected branches of project by default7895 when search param is present7896 filters by search param7897 when there are more protected branches than the limit7898 returns limited protected branches of project7899Ci::CreatePipelineService7900 custom config content7901 creates a pipeline using the content passed in as param7902 when bridge includes yaml from artifact7903 when referenced job exists7904 created a pipeline using the content passed in as param and download the artifact7905 when referenced job does not exist7906 creates an empty pipeline7907Expirable7908 ProjectMember7909 .expired7910 is expected to contain exactly #<ProjectMember id: 2308, access_level: 40, source_id: 1628, source_type: "Project", user_id: 2385, n...: nil, expires_at: "2021-12-21", ldap: false, override: false, state: 0, invite_email_success: true>7911 #expired?7912 is expected to eq false7913 is expected to eq false7914 is expected to eq true7915 #expires?7916 is expected to eq false7917 is expected to eq true7918 is expected to eq true7919 #expires_soon?7920 is expected to eq false7921 is expected to eq true7922 is expected to eq true7923BulkImports::Common::Transformers::UserReferenceTransformer7924 #transform7925 when user can be found by email7926 sets found user_id and removes user key7927 when user cannot be found by email7928 sets found user_id and removes user key7929 when there is no data to transform7930 returns7931 when custom reference is provided7932 updates provided reference7933 updates provided reference7934projects/commits/_commit.html.haml7935 with different committer7936DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: projects/commits/_commit.html.haml (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/views/projects/commits/_commit.html.haml_spec.rb:22)7937DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: projects/commits/_commit.html.haml (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/views/projects/commits/_commit.html.haml_spec.rb:22)7938 renders committed by user7939 with a signed commit7940 does not display a loading spinner for GPG status7941 with ci status7942 when pipelines are disabled7943 does not display a ci status icon7944 when pipelines are enabled7945 does display a ci status icon when pipelines are enabled7946WikiPageVersionHelper7947 #wiki_page_version_author_url7948 when user exists7949 returns the link to the user profile7950 when user does not exist7951 returns the mailto link7952 #wiki_page_version_author_avatar7953 returns the user avatar7954 #wiki_page_version_author_header7955 when user exists7956 renders commit header with user info7957 when user does not exist7958 renders commit header with info from commit7959 when user info has XSS7960 sets the right href and escapes HTML chars7961Mutations::AlertManagement::PrometheusIntegration::Create7962 is expected to require graphql authorizations :admin_project7963 #resolve7964 user has access to project7965 when Prometheus Integration already exists7966 returns errors7967 when UpdateService responds with success7968 returns the integration with no errors7969 creates a corresponding token7970 when UpdateService responds with an error7971 returns errors7972 when resource is not accessible to the user7973 raises an error if the resource is not accessible to the user7974Gitlab::Metrics::Subscribers::RailsCache7975 #cache_read7976 increments the cache_read duration7977 with a transaction7978 with hit event7979 when super operation is fetch7980 does not increment cache read miss total7981 with miss event7982 increments the cache_read_miss total7983 when super operation is fetch7984 does not increment cache read miss total7985 #cache_write7986 observes write duration7987 #cache_delete7988 observes delete duration7989 #cache_exist?7990 observes the exists duration7991 #cache_fetch_hit7992 without a transaction7993 returns7994 with a transaction7995 increments the cache_read_hit count7996 #cache_generate7997 without a transaction7998 returns7999 with a transaction8000 increments the cache_fetch_miss count and cache_read_miss total8001 #observe8002 without a transaction8003 returns8004 with a transaction8005 observes cache metric8006 increments the operations total8007Projects::ForksCountService8008 behaves like a counter caching service8009 #count8010 caches the count8011 #refresh_cache8012 refreshes the cache8013 #delete_cache8014 removes the cache8015 #uncached_count8016 does not cache the count8017 #count8018 returns the number of forks8019Gitlab::Ci::Status::Pipeline::Blocked8020 #text8021 overrides status text8022 #label8023 overrides status label8024 .matches?8025 when pipeline is blocked8026 is a correct match8027 when pipeline is not blocked8028 does not match8029Gitlab::HookData::SubgroupBuilder8030 #build8031 data8032 on create8033 is expected to eq "subgroup_create"8034 behaves like includes the required attributes8035 includes the required attributes8036 on destroy8037 is expected to eq "subgroup_destroy"8038 behaves like includes the required attributes8039 includes the required attributes8040LabelPriority8041 relationships8042 is expected to belong to project required: false8043 is expected to belong to label required: false8044 validations8045 is expected to validate that :project cannot be empty/falsy8046 is expected to validate that :label cannot be empty/falsy8047 is expected to validate that :priority looks like an integer greater than or equal to 08048 validates uniqueness of label_id scoped to project_id8049 when importing8050 is expected not to validate that :label cannot be empty/falsy8051Resolvers::ErrorTracking::SentryErrorsResolver8052 is expected to have nullable GraphQL type SentryErrorConnection8053 #resolve8054 with insufficient user permission8055 returns nil8056 with sufficient permission8057 when after arg given8058 gives the cursor arg8059 when no issues fetched8060 returns nil8061 when issues returned8062 sets the issues8063 sets the pagination variables8064 returns an externally paginated array8065Gitlab::Ci::Status::Build::Preparing8066 #illustration8067 is expected to include :image, :size, :title, and :content8068 .matches?8069 when build is preparing8070 is a correct match8071 when build is not preparing8072 does not match8073Resolvers::UserNotesCountResolver8074 #resolve8075 is expected to have nullable GraphQL type Int8076 when counting notes from an issue8077 when counting notes from a public issue8078 returns the number of non-system notes for the issue8079 when a user has permission to view notes8080 returns the number of notes for the issue8081 when a user does not have permission to view notes8082 raises an error8083 when counting notes from a merge request8084 when counting notes from a public merge request8085 returns the number of non-system notes for the merge request8086 when a user has permission to view notes8087 returns the number of notes for the merge request8088 when a user does not have permission to view notes8089 raises an error8090ErrorTracking::ClientKey8091 relationships8092 is expected to belong to project required: false8093 validations8094 is expected to validate that :public_key cannot be empty/falsy8095 is expected to validate that the length of :public_key is at most 2558096 #generate_key8097 is expected to be present8098 is expected to start with "glet_"8099Ci::PipelineBridgeStatusService8100 #execute8101 when pipeline has upstream bridge8102 calls inherit_status_from_downstream on upstream bridge8103 when bridge job status raises state machine errors8104 tracks the exception8105Mutations::Ci::Runner::Delete8106 is expected to require graphql authorizations :delete_runner8107 #resolve8108 when the user cannot admin the runner8109 raises an error8110 with invalid params8111 raises an error8112 when required arguments are missing8113 raises an error8114 when user can delete owned runner8115 with one associated project8116 deletes runner8117 with more than one associated project8118 does not delete project runner8119 when admin can delete runner8120 deletes runner8121SystemCheck::App::AuthorizedKeysPermissionCheck8122 #skip?8123 authorized keys enabled8124 is expected to eq false8125 authorized keys not enabled8126 is expected to eq true8127 #check?8128 authorized keys is accessible8129 is expected to eq true8130 authorized keys is not accessible8131 is expected to eq false8132 #repair!8133 authorized_keys file created8134 is expected to eq true8135 authorized_keys file is not created8136 is expected to eq false8137projects/commit/show.html.haml8138 inline diff view8139 has limited width8140 parallel diff view8141 spans full width8142 in the context of a merge request8143 shows that it is in the context of a merge request8144Sidebars::Projects::Menus::WikiMenu8145 does not contain any sub menu8146 #render?8147 when user can access project wiki8148 returns true8149 when user cannot access project wiki8150 returns false8151Mutations::ResolvesIssuable8152 with issues8153 behaves like resolving an issuable in GraphQL8154 when user has access8155 resolves issuable by iid8156 the IID does not refer to a valid issuable8157 returns nil8158 the parent path is not present8159 returns nil8160 with merge requests8161 behaves like resolving an issuable in GraphQL8162 when user has access8163 resolves issuable by iid8164 the IID does not refer to a valid issuable8165 returns nil8166 the parent path is not present8167 returns nil8168Resolvers::Clusters::AgentActivityEventsResolver8169 is expected to eq Types::Clusters::AgentActivityEventType8170 is expected to be truthy8171 #resolve8172 returns events associated with the agent8173 user does not have permission8174 is expected to be empty8175HamlLint::Linter::NoPlainNodes8176 reports when a tag has an inline plain node8177 is expected to report a lint with message '`Hello Tanuki` is a plain node. Please use an i18n method like `= _('Hello Tanuki')`'8178 reports when a tag has multiline plain nodes8179 is expected to report a lint8180 reports when a tag has an inline plain node with interpolation8181 is expected to report a lint8182 does not report when a tag has an inline script8183 is expected not to report a lint8184 does not report when a tag is empty8185 is expected not to report a lint8186 reports multiple when a tag has multiline plain nodes split by non-text nodes8187 is expected to report a lint8188 does not report when a html entity8189 is expected not to report a lint8190 does report when something that looks like a html entity8191 is expected to report a lint8192 does not report multiline when one or more html entities8193 >8194 ©8195 »8196 does report multiline when one or more html entities amidst plain text8197 Test8198 Test>8199 ©Hello8200 Hello»8201Gitlab::Graphql::Loaders::IssuableLoader8202 #find_all8203 factory: :project, param_name: :project_id8204 assignes the parent parameter, and batching_find_alls the finder8205 factory: :group, param_name: :group_id8206 assignes the parent parameter, and batching_find_alls the finder8207 the parent is of an unexpected type8208 raises an error if we pass an unexpected parent8209 #batching_find_all8210 the finder params are anything other than [iids]8211 batching_find_alls the finder, setting the correct parent parameter8212 allows a post-process block8213 the finder params are exactly [iids]8214 batches requests8215Gitlab::JiraImport::Stage::FinishImportWorker8216 modules8217 behaves like include import workers modules8218 is expected to includes the ApplicationWorker module8219 is expected to includes the Gitlab::JiraImport::QueueOptions module8220 is expected to includes the Gitlab::JiraImport::ImportWorker module8221 #perform8222 when import did not start8223 behaves like cannot do Jira import8224 does not advance to next stage8225 when import started8226 changes import state to finished8227 saves imported issues counts8228Groups::UserGroupsFinder8229 #execute8230 returns all groups where the user is a direct member8231 when target_user is nil8232 is expected to be empty8233 when current_user is nil8234 is expected to be empty8235 when permission is :create_projects8236 is expected to match [#<Group id:4395 @a-public-maintainer>, #<Group id:4393 @b-private-maintainer>, #<Group id:4394 @c-public-developer>]8237 when paginatable_namespace_drop_down_for_project_creation feature flag is disabled8238 ignores project creation scope and returns all groups where the user is a direct member8239 when search is provided8240 is expected to match [#<Group id:4395 @a-public-maintainer>, #<Group id:4393 @b-private-maintainer>]8241 when search is provided8242 is expected to match [#<Group id:4395 @a-public-maintainer>, #<Group id:4393 @b-private-maintainer>]8243Ci::PipelineArtifacts::CreateQualityReportWorker8244 #perform8245 when pipeline exists8246 calls pipeline codequality report service8247 behaves like an idempotent worker8248 is labeled as idempotent8249 performs multiple times sequentially without raising an exception8250 does not create another pipeline artifact if already has one8251 when pipeline does not exist8252 does not call pipeline codequality report service8253Gitlab::SlashCommands::Presenters::Access8254 #access_denied8255 is expected to be a kind of Hash8256 behaves like displays an error message8257 is expected to equal :ephemeral8258 #generic_access_denied8259 is expected to be a kind of Hash8260 behaves like displays an error message8261 is expected to equal :ephemeral8262 #deactivated8263 is expected to be a kind of Hash8264 behaves like displays an error message8265 is expected to equal :ephemeral8266 #not_found8267 is expected to be a kind of Hash8268 tells the user the resource was not found8269 #authorize8270 with an authorization URL8271 is expected to be a kind of Hash8272 tells the user to authorize8273 without authorization url8274 is expected to be a kind of Hash8275 tells the user to authorize8276Gitlab::GrapeLogging::Loggers::QueueDurationLogger8277 .parameters8278 when no proxy time is available8279 returns an empty hash8280 when a proxy time is available8281 returns the correct duration in seconds8282Sidebars::Projects::Menus::InviteTeamMembersMenu8283 when the project is viewed by an owner of the group8284 #render?8285 renders the Invite team members link8286 when the project already has at least 2 members8287 does not render the link8288 #title8289 displays the correct Invite team members text for the link in the side nav8290 when the project is viewed by a guest user without admin permissions8291 #render?8292 does not render8293Alerting::ProjectAlertingSetting8294 Associations8295 is expected to belong to project required: false8296 #token8297 when set8298 reads the token8299 when not set8300 generates a token before validation8301RuboCop::Cop::Migration::PreventIndexCreation8302 when in migration8303 when adding an index to a forbidden table8304 when table_name is a symbol8305 registers an offense when add_index is used8306 registers an offense when add_concurrent_index is used8307 when table_name is a string8308 registers an offense when add_index is used8309 registers an offense when add_concurrent_index is used8310 when table_name is a constant8311 registers an offense when add_concurrent_index is used8312 when adding an index to a regular table8313 does not register an offense8314 when using a constant8315 does not register an offense8316 when outside of migration8317 does not register an offense8318Gitlab::Ci::Config::Entry::Paths8319 validations8320 when entry config value is valid8321 #value8322 returns key value8323 #valid?8324 is valid8325 when entry value is not valid8326 #errors8327 saves errors8328ServiceFieldEntity8329 #as_json8330 Jira Service8331 field with type text8332 exposes correct attributes8333 field with type password8334 exposes correct attributes but hides password8335 EmailsOnPush Service8336 field with type checkbox8337 exposes correct attributes and casts value to Boolean8338 field with type select8339 exposes correct attributes8340Ci::PipelineScheduleService8341 #execute8342 schedules next run8343 runs RunPipelineScheduleWorker8344 when owner is nil8345 does not raise an error8346Types::RangeInputType8347 follows expected subtyping relationships for instances8348 follows expected subtyping relationships for classes8349 parameterized on Integer8350 accepts start and end8351 rejects inverted ranges8352Gitlab::Git::ChangedPath8353 #new_file?8354 when it is a new file8355 returns true8356 when it is not a new file8357 returns false8358Resolvers::UsersResolver8359 is expected to have nullable GraphQL type UserCoreConnection8360 #resolve8361 raises an error when read_users_list is not authorized8362 when no arguments are passed8363 returns all users8364 when both ids and usernames are passed8365 raises an error8366 when a set of IDs is passed8367 returns those users8368 when a set of usernames is passed8369 returns those users8370 when admins is true8371 returns only admins8372 when a search term is passed8373 returns all users who match8374RuboCop::Cop::Migration::Datetime8375 when in migration8376 registers an offense when the ":datetime" data type is used on create_table8377 registers an offense when the ":timestamp" data type is used on create_table8378 does not register an offense when the ":datetime" data type is not used on create_table8379 does not register an offense when the ":datetime_with_timezone" data type is used on create_table8380 registers an offense when the ":datetime" data type is used on add_column8381 registers an offense when the ":timestamp" data type is used on add_column8382 does not register an offense when the ":datetime" data type is not used on add_column8383 does not register an offense when the ":datetime_with_timezone" data type is used on add_column8384 when outside of migration8385 registers no offense8386Gitlab::Bullet::Exclusions8387 #execute8388 with preferred method of path and method name8389 behaves like loads exclusion results8390 is expected to match [["_path_", "_method_"]]8391 with file pattern8392 behaves like loads exclusion results8393 is expected to match [["_file_pattern_"]]8394 with file name and line range8395 behaves like loads exclusion results8396 is expected to match [["file_name.rb", 5..10]]8397 without exclusions8398 behaves like loads exclusion results8399 is expected to match [[]]8400 without exclusions key in config8401 behaves like loads exclusion results8402 is expected to match []8403 when config file does not exist8404 provides an empty array for exclusions8405 #validate_paths!8406 when validating scenarios8407 when using paths with method name8408 when source file for exclusion exists8409 is expected not to raise Exception8410 when source file for exclusion does not exist8411 is expected to raise RuntimeError8412 when using path only8413 when source file for exclusion exists8414 is expected not to raise Exception8415 when source file for exclusion does not exist8416 is expected to raise RuntimeError8417 when path_with_method is false for a file pattern8418 is expected not to raise Exception8419Gitlab::SlashCommands::Presenters::IssueSearch8420 formats the message correct8421 shows a list of results8422Gitlab::HookData::KeyBuilder8423 #build8424 for keys that belong to a user8425 data8426 on create8427 is expected to eq "key_create"8428 is expected to eq "user1019"8429 behaves like includes the required attributes8430 includes the required attributes8431 on destroy8432 is expected to eq "key_destroy"8433 is expected to eq "user1019"8434 behaves like includes the required attributes8435 includes the required attributes8436 for keys that do not belong to a user8437 data8438 on create8439 is expected to eq "key_create"8440 behaves like includes the required attributes8441 includes the required attributes8442 on destroy8443 is expected to eq "key_destroy"8444 behaves like includes the required attributes8445 includes the required attributes8446Ci::Sources::Pipeline8447 is expected to belong to project required: false8448 is expected to belong to pipeline required: false8449 is expected to belong to source_project required: false8450 is expected to belong to source_job required: false8451 is expected to belong to source_bridge required: false8452 is expected to belong to source_pipeline required: false8453 is expected to validate that :project cannot be empty/falsy8454 is expected to validate that :pipeline cannot be empty/falsy8455 is expected to validate that :source_project cannot be empty/falsy8456 is expected to validate that :source_job cannot be empty/falsy8457 is expected to validate that :source_pipeline cannot be empty/falsy8458Gitlab::Ci::Pipeline::Logger8459 #log_when8460 stores blocks for later evaluation8461 #instrument8462 returns the block's value8463 records durations of instrumented operations8464 raises an error when block is not provided8465 #observe8466 records durations of observed operations8467 #commit8468 when the feature flag is enabled8469 logs to application.json8470 with log conditions8471 does not log when the conditions are false8472 logs when a condition is true8473 when the feature flag is disabled8474 does not log8475Mutations::AlertManagement::PrometheusIntegration::ResetToken8476 is expected to require graphql authorizations :admin_project8477 #resolve8478 user has sufficient access to project8479 when ::Projects::Operations::UpdateService responds with success8480 returns the integration with no errors8481 when ::Projects::Operations::UpdateService responds with an error8482 returns errors8483 when resource is not accessible to the user8484 raises an error if the resource is not accessible to the user8485Backup::Artifacts8486 #initialize8487 uses the correct upload dir8488 #dump8489 uses the correct artifact dir8490 excludes tmp from backup tar8491Gitlab::UsageDataCounters::WikiPageCounter8492 behaves like a redis usage counter8493 .count(view)8494 increments the Wiki Page view counter by 18495 .read(view)8496 returns the total number of view events8497 behaves like a redis usage counter8498 .count(create)8499 increments the Wiki Page create counter by 18500 .read(create)8501 returns the total number of create events8502 behaves like a redis usage counter8503 .count(update)8504 increments the Wiki Page update counter by 18505 .read(update)8506 returns the total number of update events8507 behaves like a redis usage counter8508 .count(delete)8509 increments the Wiki Page delete counter by 18510 .read(delete)8511 returns the total number of delete events8512 behaves like a redis usage counter with totals8513 totals8514 can report all totals8515 unknown events8516 cannot increment8517 cannot read8518LfsFileLockEntity8519 exposes basic attrs of the lock8520 exposes the owner info8521sidekiq8522 enable_reliable_fetch?8523 when gitlab_sidekiq_reliable_fetcher is enabled8524 is expected to be truthy8525 when gitlab_sidekiq_reliable_fetcher is disabled8526 is expected to be falsey8527 enable_semi_reliable_fetch_mode?8528 when gitlab_sidekiq_enable_semi_reliable_fetcher is enabled8529 is expected to be truthy8530 when gitlab_sidekiq_enable_semi_reliable_fetcher is disabled8531 is expected to be falsey8532Gitlab::Git::RepositoryCleaner8533 #apply_bfg_object_map_stream (from StringIO)8534 removes internal references8535 #apply_bfg_object_map_stream (from Gitlab::HttpIO)8536 removes internal references8537Gitlab::Metrics::Samplers::DatabaseSampler8538 behaves like metrics sampler8539 when sampling interval is passed explicitly8540 is expected to eq 428541 when sampling interval is passed through the environment8542 is expected to eq 428543 when no sampling interval is passed anywhere8544 uses the hardcoded default8545 #start8546 calls the sample method on the sampler thread8547 with warmup set to true8548 calls the sample method first on the caller thread8549 #safe_sample8550 calls #sample once8551 when sampling fails with error8552 recovers from errors8553 with logger8554 logs errors8555 #sample8556 when all base models are connected8557 samples connection pool statistics for all primaries8558 when replica hosts are configured8559 samples connection pool statistics for primaries and replicas8560 when a base model is not connected8561 records no samples for that primary8562 when the base model has replica connections8563 still records the replica metrics8564Sidebars::Projects::Context8565 sets project attribute reader8566Gitlab::JwtAuthenticatable8567 .secret8568 returns 32 bytes8569 accepts a trailing newline8570 raises an exception if the secret file cannot be read8571 raises an exception if the secret file contains the wrong number of bytes8572 .write_secret8573 uses mode 06008574 writes base64 data8575 .decode_jwt_for_issuer8576 accepts a correct header8577 raises an error when the JWT is not signed8578 raises an error when the header is signed with the wrong secret8579 raises an error when the issuer is incorrect8580Resolvers::ContainerRepositoryTagsResolver8581 #resolve8582 by name8583 without sort8584 is expected to contain exactly "aaa", "bab", "bbb", "ccc", and "123"8585 with sorting and filtering8586 name_asc8587 is expected to eq ["123", "aaa", "bab", "bbb", "ccc"]8588 name_desc8589 is expected to eq ["ccc", "bbb", "bab", "aaa", "123"]8590 filter by name8591 is expected to eq ["bbb", "bab"]8592MergeRequests::Mergeability::CheckBaseService8593 #merge_request8594 returns the merge_request8595 #params8596 returns the params8597 #skip?8598 raises NotImplementedError8599 #cacheable?8600 raises NotImplementedError8601 #cache_key?8602 raises NotImplementedError8603Gitlab::Ci::Pipeline::Preloader8604 .preload!8605 preloads commit authors, number of warnings and ref commits8606 returns original collection8607 when preloading multiple commits8608 preloads all commits once8609Import::GitlabProjects::CreateProjectFromUploadedFileService8610 creates a project and returns a successful response8611 when required parameters are not provided8612 returns an erred response with the reason of the failure8613 when the project is invalid8614 returns an erred response with the reason of the failure8615Gitlab::Checks::PushFileCountCheck8616 #validate!8617 initial creation8618 allows creation8619 old: "single-file", new: "edit-file", valid: true, message: nil8620 verifies8621 old: "single-file", new: "multiple-files", valid: false, message: "The repository can contain at most 2 file(s)."8622 verifies8623 old: "single-file", new: "no-files", valid: false, message: "The repository must contain at least 1 file."8624 verifies8625 old: "edit-file", new: "rename-and-edit-file", valid: true, message: nil8626 verifies8627Gitlab::Database::Partitioning::SingleNumericListPartition8628 .from_sql8629 uses specified table name8630 uses specified partition name8631 parses the definition8632 #partition_name8633 is the explicit name if provided8634 defaults to the table name followed by the partition value8635 sorting8636 is incomparable if the tables do not match8637 sorts by the value when the tables match8638 sorts by numeric value rather than text value8639Gitlab::Ci::Config::Entry::Rules8640 .new8641 with a list of rule rule8642 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules8643 is expected to be valid8644 with a list of two rules8645 is expected to be valid8646 with a single rule object8647 is expected not to be valid8648 with nested rules8649 is expected to be valid8650 with rules nested more than one level8651 is expected to be valid8652 #value8653 with a list of rule rule8654 is expected to eq [{:if=>"$THIS == \"that\"", :when=>"never"}]8655 with a list of two rules8656 is expected to eq [{:if=>"$THIS == \"that\"", :when=>"always"}, {:if=>"$SKIP", :when=>"never"}]8657 with a single rule object8658 is expected to eq [{:if=>"$SKIP", :when=>"never"}]8659 with nested rules8660 is expected to contain exactly {:if=>"$THIS == \"that\"", :when=>"always"} and {:if=>"$SKIP", :when=>"never"}8661 with rules nested more than one level8662 is expected to contain exactly {:if=>"$THIS == \"that\"", :when=>"always"}, {:if=>"$SKIP", :when=>"never"}, and {:if=>"$THIS == \"other\"", :when=>"always"}8663 .default8664 does not have default policy8665EnvironmentHelper8666 #render_deployment_status8667 when using a manual deployment8668 renders a span tag8669 when using a deployment from a build8670 renders a link tag8671 #environments_detail_data_json8672 returns the correct data8673Gitlab::Kroki8674 .formats8675 enabled_formats: "", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "svgbob", "umlet", "vega", "vegalite", "wavedrom"]8676 returns the expected formats8677 enabled_formats: "blockdiag", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "actdiag", "blockdiag", "nwdiag", "packetdiag", "rackdiag", "seqdiag"]8678 returns the expected formats8679 enabled_formats: "bpmn", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "bpmn"]8680 returns the expected formats8681 enabled_formats: "excalidraw", expected_formats: ["bytefield", "c4plantuml", "ditaa", "erd", "graphviz", "nomnoml", "pikchr", "plantuml", "svgbob", "umlet", "vega", "vegalite", "wavedrom", "excalidraw"]8682 returns the expected formats8683TestSuiteComparerEntity8684 #as_json8685 when head suite has a newly failed test case which does not exist in base8686 contains correct compared test suite details8687 when head suite has a new error test case which does not exist in base8688 contains correct compared test suite details8689 when head suite still has a failed test case which failed in base8690 contains correct compared test suite details8691 when head suite has a success test case which failed in base8692 contains correct compared test suite details8693 when head suite has suite error8694 contains suite error for head suite8695 when base suite has suite error8696 contains suite error for head suite8697 when base and head suite both have suite errors8698 contains suite error for head suite8699Gitlab::Ci::Reports::Security::Locations::Sast8700 behaves like vulnerability location8701 #initialize8702 when all params are given8703 initializes an instance8704 param: :file_path8705 when param file_path is missing8706 raises an error8707 param: :start_line8708 when param start_line is missing8709 raises an error8710 #fingerprint8711 generates expected fingerprint8712 #fingerprint_path8713 generates expected fingerprint8714 #==8715 returns true when fingerprints are equal8716 returns false when fingerprints are different8717BulkImports::NetworkError8718 .new8719 requires either a message or a HTTP response8720 #retriable?8721 returns true for MAX_RETRIABLE_COUNT times when cause if one of RETRIABLE_EXCEPTIONS8722 returns true for MAX_RETRIABLE_COUNT times when response is one of RETRIABLE_CODES8723 returns false for other exceptions8724 #retry_delay8725 returns the default value when there is not a rate limit error8726 when the exception is a rate limit error8727 returns the "Retry-After"8728 returns the default value when there is no "Retry-After" header8729Gitlab::Ci::Reports::CodequalityReports8730 is expected to eq {}8731 #add_degradation8732 when there is a degradation8733 adds degradation to codequality report8734 when a required property is missing in the degradation8735 sets location as an error8736 #set_error_message8737 when there is an error8738 sets errors8739 #degradations_count8740 when there are many degradations8741 returns the number of degradations8742 #all_degradations8743 when there are many degradations8744 returns all degradations8745 #sort_degradations!8746 sorts degradations based on severity8747ContentTypeWhitelist8748 upload whitelisted file content type8749 behaves like accepted carrierwave upload8750 will accept upload8751 will cache uploaded file8752 behaves like upload with content type8753 will not change upload file content type8754 upload non-whitelisted file content type8755 behaves like denied carrierwave upload8756 will deny upload8757 upload misnamed non-whitelisted file content type8758 behaves like denied carrierwave upload8759 will deny upload8760gitlab:terraform_states8761 gitlab:terraform_states:migrate8762 invokes the migration helper to move files to object storage8763 an error is raised while migrating8764 logs the error8765Gitlab::Utils::Gzip8766 #gzip_compress8767 compresses data passed to it8768 returns uncompressed data when encountering Zlib::GzipFile::Error8769 #gzip_decompress8770 decompresses encoded data8771 returns compressed data when encountering Zlib::GzipFile::Error8772 returns unmodified data when it is determined to be uncompressed8773FeatureFlagSummarySerializer8774 #represent8775 has summary information8776Ci::GenerateTerraformReportsService8777 #execute8778 when head pipeline has terraform reports8779 returns status and data8780 when head pipeline has corrupted terraform reports8781 returns a report with error messages8782 when head pipeline is corrupted8783 returns status and error message8784Gitlab::Routing8785 when module is included8786 makes it possible to access url helpers8787 when module is not included8788 exposes url helpers module through a method8789 Gitlab::Routing::LegacyRedirector8790 returns "-" scoped url8791 invalid uri characters8792 raises error8793Gitlab::Sherlock::Location8794 from_ruby_location8795 creates a Location from a Thread::Backtrace::Location8796 #path8797 returns the file path8798 #line8799 returns the line number8800 #application?8801 returns true for an application frame8802 returns false for a non application frame8803GroupDeployKeysGroupPolicy8804 edit a group deploy key for a given group8805 is allowed when the user is an owner of this group8806 is not allowed when the user is not an owner of this group8807Gitlab::SidekiqMiddleware::DuplicateJobs::Client8808 with until_executing strategy8809 behaves like client duplicate job8810 #call8811 adds a correct duplicate tag to the jobs8812 without scheduled deduplication8813 does not mark a job that's scheduled in the future as a duplicate8814 with scheduled deduplication8815 adds a correct duplicate tag to the jobs8816 with until_executed strategy8817 behaves like client duplicate job8818 #call8819 adds a correct duplicate tag to the jobs8820 without scheduled deduplication8821 does not mark a job that's scheduled in the future as a duplicate8822 with scheduled deduplication8823 adds a correct duplicate tag to the jobs8824BulkImports::Projects::Pipelines::ServiceDeskSettingPipeline8825 #run8826 imports project feature8827Graphql Field feature flags8828 Feature flagged field8829 checks YAML definition for default_enabled8830 skipping YAML check8831 returns the value when feature is enabled8832 returns nil when the feature is disabled8833Groups::DeployTokens::DestroyService8834 behaves like a deploy token deletion service8835 #execute8836 destroys a token record and it's associated DeployToken8837 invalid token id8838 raises an error8839ActiveRecord::QueryRecorder8840 includes duration information8841 printing to the log8842 prints SQL, duration and backtrace, all prefixed with QueryRecorder8843 detecting the right number of calls and their origin8844 detects two separate queries8845Import::BulkImportEntity8846 exposes id8847 exposes full_name8848 exposes full_path8849 exposes web_url8850 does not expose unspecified attributes8851CronValidator8852 validates valid crontab8853 validates invalid crontab8854 cron field is not whitelisted8855 raises an error8856Gitlab::Template::GitignoreTemplate8857 .all8858 strips the gitignore suffix8859 combines the globals and rest8860 .find8861 returns nil if the file does not exist8862 returns the Gitignore object of a valid file8863 #content8864 loads the full file8865UpdateProjectStatisticsWorker8866 #perform8867 updates the project statistics8868RuboCop::Cop::Migration::AddTimestamps8869 when in migration8870 registers an offense when the "add_timestamps" method is used8871 does not register an offense when the "add_timestamps" method is not used8872 does not register an offense when the "add_timestamps_with_timezone" method is used8873 when outside of migration8874 registers no offense8875AnalyticsIssueSerializer8876 when there is a single object provided8877 contains important elements of the issue8878BulkImports::Groups::Pipelines::ProjectEntitiesPipeline8879 #run8880 creates project entity8881 pipeline parts8882 is expected to includes the BulkImports::Pipeline module8883 is expected to includes the BulkImports::Pipeline::Runner module8884 has extractors8885 has transformers8886RuboCop::Cop::SidekiqLoadBalancing::WorkerDataConsistency8887 adds an offense when not defining data_consistency8888 adds no offense when defining data_consistency8889 adds no offense when worker is not an ApplicationWorker8890Types::ReleaseAssetsInputType8891 is expected to eq "ReleaseAssetsInput"8892 has the correct arguments8893 sets the type of links argument to ReleaseAssetLinkInputType8894CrudPolicyHelpers8895 .create_read_update_admin_destroy8896 returns an array of the appropriate abilites given a feature name8897 .create_update_admin_destroy8898 returns an array of the appropriate abilites given a feature name8899 .create_update_admin8900 returns an array of the appropriate abilites given a feature name8901RuboCop::Cop::RSpec::EnvAssignment8902 with a key using single quotes8903 behaves like an offensive and correction ENV#[]= call8904 registers an offense for `ENV['FOO'] = 'bar'` and corrects8905 with a key using double quotes8906 behaves like an offensive and correction ENV#[]= call8907 registers an offense for `ENV["FOO"] = 'bar'` and corrects8908StatAnchorsHelper8909 #stat_anchor_attrs8910 when anchor is a link8911 returns the proper attributes8912 when anchor is not a link8913 when class_modifier is set8914 returns the proper attributes8915 when class_modifier is not set8916 returns the proper attributes8917 when itemprop is not set8918 returns the itemprop attributes8919 when itemprop is set set8920 returns the itemprop attributes8921 when data is not set8922 returns the data attributes8923 when itemprop is set8924 returns the data attributes8925API::API8926 .prefix8927 has a prefix defined8928 .version8929 uses most recent version of the API8930 .versions8931 returns all available versions8932Gitlab::UsageDataCounters::BaseCounter8933 .fetch_supported_event8934 returns the matching event8935 when event is unknown8936 is expected to be nil8937 when prefix does not match the event name8938 is expected to be nil8939Snippets::ScheduleBulkRepositoryShardMovesWorker8940 behaves like schedules bulk repository shard moves8941 #perform8942 is labeled as idempotent8943 performs multiple times sequentially without raising an exception8944 schedules container repository storage moves8945Types::CiConfiguration::Sast::OptionsEntityType8946 is expected to eq "SastCiConfigurationOptionsEntity"8947 is expected to have graphql fields :label and :value8948Types::Snippets::BlobActionEnum8949 is expected to eq "SnippetBlobActionEnum"8950 exposes all file input action types8951GroupLink::GroupGroupLinkSerializer8952 matches json schema8953API::Entities::DeployKey8954 #as_json8955 includes basic fields8956Gitlab::SidekiqStatus::ClientMiddleware8957 #call8958 when the job has status_expiration set8959 tracks the job in Redis with a value of 28960 when the job does not have status_expiration set8961 tracks the job in Redis with a value of 18962Events::RenderService8963 #execute8964 when the request format is atom8965 renders the note inside events8966 when the request format is not atom8967 renders the note inside events8968Types::JiraImportType8969 is expected to eq "JiraImport"8970 has the expected fields8971Gitlab::Utils::MergeHash8972 .crush8973 can flatten a hash to each element8974 .elements8975 deep merges an array of elements8976Gitlab::Email::Hook::DeliveryMetricsObserver8977 when email has been delivered8978 increments both email delivery metrics8979 when email has not been delivered due to an error8980 increments only delivery attempt metric8981Gitlab::Serializer::Ci::Variables8982 converts keys into strings and symbolizes hash8983Gitlab::Ci::Config::Entry::Product::Variables8984 validations8985 when entry config value is correct8986 #value8987 returns hash with key value strings8988 #errors8989 does not append errors8990 #valid?8991 is valid8992 with only one variable8993 #valid?8994 is valid8995 #errors8996 does not append errors8997API::Entities::SSHKey8998 #as_json8999 includes basic fields9000EmojiHelper9001 #emoji_icon9002 has no options9003 with aria-hidden option9004 applies aria-hidden9005API::Entities::ProjectImportFailedRelation9006 #as_json9007 includes basic fields9008Gitlab::ErrorTracking::Processor::ContextPayloadProcessor9009 .call9010 merges the context payload into event payload9011Types::TodoType9012 has the correct fields9013 is expected to require graphql authorizations :read_todo9014ErrorTracking::Collector::Dsn9015 .build__url9016 returns a valid URL9017Types::MergeRequestType9018 is expected to expose permissions using Types::PermissionTypes::MergeRequest9019RuboCop::Cop::SafeParams9020 flags the params as an argument of url_for9021 flags the merged params as an argument of url_for9022 flags the merged params arg as an argument of url_for9023 does not flag other argument of url_for9024Types::PermissionTypes::MergeRequest9025 is expected to have graphql fields :read_merge_request, :admin_merge_request, :update_merge_request, :create_note, :push_to_source_branch, :remove_source_branch, :cherry_pick_on_current_merge_request, :revert_on_current_merge_request, and :can_merge9026ProtectedTags::DestroyService9027 #execute9028 destroy a protected tag9029Gitlab::Database::EachDatabase9030 .each_database_connection9031 yields each connection after connecting SharedModel9032 .each_model_connection9033 yields each model after connecting SharedModel9034Types::Projects::TopicType9035 is expected to eq "Topic"9036 is expected to have graphql fields :id, :name, :description, :description_html, and :avatar_url9037Asset proxy settings initialization9038 #asset_proxy9039 defaults to disabled9040Types::Repository::BlobType9041 is expected to eq "RepositoryBlob"9042 is expected to have graphql fields :id, :oid, :name, :path, :web_path, :lfs_oid, :mode, :size, :raw_size, :raw_blob, :raw_text_blob, :file_type, :edit_blob_path, :stored_externally, :raw_path, :replace_path, :pipeline_editor_path, :code_owners, :simple_viewer, :rich_viewer, :plain_data, :can_modify_blob, :can_current_user_push_to_branch, :ide_edit_path, :external_storage_url, :fork_and_edit_path, and :ide_fork_and_edit_path9043Types::PermissionTypes::User9044 returns user permissions9045Types::Terraform::StateType9046 is expected to eq "TerraformState"9047 is expected to require graphql authorizations :read_terraform_state9048 fields9049 is expected to have graphql fields :id, :name, :locked_by_user, :locked_at, :latest_version, :created_at, and :updated_at9050 is expected to be non null9051 is expected to be non null9052 is expected not to be non null9053 is expected not to be non null9054 is expected to be non null9055 is expected to be non null9056 is expected not to be non null9057 is expected to eq 39058Gitlab::Ci::Status::Success9059 #text9060 is expected to eq "passed"9061 #label9062 is expected to eq "passed"9063 #icon9064 is expected to eq "status_success"9065 #favicon9066 is expected to eq "favicon_status_success"9067 #group9068 is expected to eq "success"9069 #details_path9070 is expected to be nil9071Gitlab::Metrics::System9072 when /proc files exist9073 .memory_usage_rss9074 returns the process' resident set size (RSS) in bytes9075 .file_descriptor_count9076 returns the amount of open file descriptors9077 .max_open_file_descriptors9078 returns the max allowed open file descriptors9079 .memory_usage_uss_pss9080 returns the process' unique and porportional set size (USS/PSS) in bytes9081 .summary9082 contains a selection of the available fields9083 when /proc files do not exist9084 .memory_usage_rss9085 returns 09086 .memory_usage_uss_pss9087 returns 0 for all components9088 .file_descriptor_count9089 returns 09090 .max_open_file_descriptors9091 returns 09092 .summary9093 returns only available fields9094 .cpu_time9095 returns a Float9096 .real_time9097 returns a Float9098 .monotonic_time9099 returns a Float9100 .thread_cpu_time9101 returns cpu_time on supported platform9102 returns nil on unsupported platform9103 .thread_cpu_duration9104 returns difference between start and current time9105 returns nil on unsupported platform9106PartitionedTable9107 .partitioned_by9108 assigns the MonthlyStrategy as the partitioning strategy9109 passes the partitioning key to the strategy instance9110 with keyword arguments passed to the strategy9111 passes the keyword arguments to the strategy9112Emails::DestroyService9113 #execute9114 removes an email9115 when it corresponds to the user primary email9116 does not remove the email and raises an exception9117Gitlab::GithubImport::Queue9118 sets the Sidekiq options for the worker9119Knapsack report was generated. Preview:9120{9121 "spec/models/repository_spec.rb": 233.14519428300082,9122 "spec/policies/project_policy_spec.rb": 123.49625656699936,9123 "spec/finders/snippets_finder_spec.rb": 67.14846839300117,9124 "spec/tasks/gitlab/backup_rake_spec.rb": 103.86170293199939,9125 "spec/services/projects/overwrite_project_service_spec.rb": 95.5827572249982,9126 "spec/lib/gitlab/project_search_results_spec.rb": 55.766105384000184,9127 "spec/models/commit_status_spec.rb": 38.658380241000486,9128 "spec/services/projects/update_service_spec.rb": 47.86666879099903,9129 "spec/models/integrations/mattermost_spec.rb": 41.144853454999975,9130 "spec/services/packages/maven/metadata/create_versions_xml_service_spec.rb": 58.894399169999815,9131 "spec/policies/wiki_page_policy_spec.rb": 35.37471509700117,9132 "spec/models/members/group_member_spec.rb": 28.17346199199892,9133 "spec/services/draft_notes/publish_service_spec.rb": 40.24097726000036,9134 "spec/models/integrations/pipelines_email_spec.rb": 27.406328659999417,9135 "spec/models/integrations/drone_ci_spec.rb": 22.373732987998665,9136 "spec/presenters/commit_status_presenter_spec.rb": 20.088098278998586,9137 "spec/helpers/users_helper_spec.rb": 10.014598698000555,9138 "spec/models/protected_branch_spec.rb": 20.650887436999255,9139 "spec/models/project_snippet_spec.rb": 7.266366427000321,9140 "spec/helpers/commits_helper_spec.rb": 19.055430980999517,9141 "spec/lib/backup/files_spec.rb": 17.2906067240001,9142 "spec/models/integrations/prometheus_spec.rb": 14.662830346998817,9143 "spec/policies/group_member_policy_spec.rb": 17.237314841000625,9144 "spec/lib/gitlab/gitaly_client/commit_service_spec.rb": 18.755667457999152,9145 "spec/services/packages/maven/metadata/create_plugins_xml_service_spec.rb": 16.306760579000183,9146 "spec/services/alert_management/alerts/update_service_spec.rb": 9.9981971899997,9147 "spec/lib/gitlab/database/partitioning_migration_helpers/table_management_helpers_spec.rb": 11.09106901100131,9148 "spec/lib/banzai/filter/references/reference_filter_spec.rb": 5.8510783269994135,9149 "spec/finders/serverless_domain_finder_spec.rb": 16.846872120000626,9150 "spec/services/labels/transfer_service_spec.rb": 15.839650108999194,9151 "spec/services/issues/build_service_spec.rb": 13.585811693999858,9152 "spec/finders/alert_management/alerts_finder_spec.rb": 10.235802629998943,9153 "spec/policies/design_management/design_policy_spec.rb": 7.092599089999567,9154 "spec/models/commit_collection_spec.rb": 12.043479951000336,9155 "spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb": 13.242303777999041,9156 "spec/services/projects/update_remote_mirror_service_spec.rb": 7.62391688200114,9157 "spec/services/git/tag_hooks_service_spec.rb": 14.657019919000959,9158 "spec/lib/gitlab/kubernetes/helm/v2/init_command_spec.rb": 12.160110946000714,9159 "spec/models/packages/conan/file_metadatum_spec.rb": 10.235385580001093,9160 "spec/lib/gitlab/ci/reports/test_suite_comparer_spec.rb": 3.9102474939991225,9161 "spec/helpers/dropdowns_helper_spec.rb": 4.522222565999982,9162 "spec/services/labels/find_or_create_service_spec.rb": 11.002323213000636,9163 "spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb": 10.794484968999313,9164 "spec/lib/banzai/filter/references/alert_reference_filter_spec.rb": 7.728266037998765,9165 "spec/lib/gitlab/i18n/po_linter_spec.rb": 6.362883432000672,9166 "spec/lib/gitlab/ci/config/entry/environment_spec.rb": 4.625055023001551,9167 "spec/models/project_feature_usage_spec.rb": 9.021757204000096,9168 "spec/lib/gitlab/ci/config/entry/cache_spec.rb": 4.448569424999732,9169 "spec/models/integrations/mattermost_slash_commands_spec.rb": 8.182219991000238,9170 "spec/lib/gitlab/legacy_github_import/project_creator_spec.rb": 11.136789545000283,9171 "spec/lib/gitlab/x509/certificate_spec.rb": 5.295977366999068,9172 "spec/services/metrics/dashboard/annotations/delete_service_spec.rb": 7.134841503000644,9173 "spec/lib/gitlab/database/migration_helpers/v2_spec.rb": 4.867029322000235,9174 "spec/services/issues/resolve_discussions_spec.rb": 10.545865220999985,9175 "spec/views/projects/commit/branches.html.haml_spec.rb": 8.764482566999504,9176 "spec/tasks/gitlab/ldap_rake_spec.rb": 4.815226959000938,9177 "spec/lib/banzai/reference_parser/external_issue_parser_spec.rb": 6.192726692999713,9178 "spec/lib/gitlab/ci/config/normalizer_spec.rb": 3.4368811839995033,9179 "spec/services/lfs/unlock_file_service_spec.rb": 7.207775033999496,9180 "spec/graphql/resolvers/design_management/designs_resolver_spec.rb": 8.666732399000466,9181 "spec/views/notify/pipeline_failed_email.html.haml_spec.rb": 8.800899882999147,9182 "spec/models/analytics/cycle_analytics/issue_stage_event_spec.rb": 3.67145899299976,9183 "spec/lib/gitlab/database/count_spec.rb": 8.713586174000739,9184 "spec/services/integrations/propagate_service_spec.rb": 4.83370939499946,9185 "spec/finders/packages/maven/package_finder_spec.rb": 7.720669539001392,9186 "spec/models/ci/trigger_spec.rb": 7.087646839998342,9187 "spec/models/users_statistics_spec.rb": 6.376882149999801,9188 "spec/services/merge_requests/remove_approval_service_spec.rb": 6.728164555001058,9189 "spec/models/integrations/custom_issue_tracker_spec.rb": 4.29866843399941,9190 "spec/lib/gitlab/file_hook_spec.rb": 6.954055586000322,9191 "spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb": 6.329125345999273,9192 "spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb": 4.213345394000498,9193 "spec/lib/gitlab/ci/config/entry/service_spec.rb": 3.5573150479995093,9194 "spec/graphql/resolvers/users/snippets_resolver_spec.rb": 3.3138149099995644,9195 "spec/finders/ci/commit_statuses_finder_spec.rb": 4.550487222000811,9196 "spec/lib/gitlab/template/merge_request_template_spec.rb": 7.604457093999372,9197 "spec/uploaders/packages/composer/cache_uploader_spec.rb": 5.088508033000835,9198 "spec/services/merge_requests/reload_diffs_service_spec.rb": 6.747054022000157,9199 "spec/lib/banzai/reference_parser/label_parser_spec.rb": 5.394387723999898,9200 "spec/lib/gitlab/github_import_spec.rb": 2.3830193969988613,9201 "spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb": 4.266210777999731,9202 "spec/metrics_server/metrics_server_spec.rb": 3.3228451579998364,9203 "spec/models/error_tracking/error_event_spec.rb": 1.8772683210008836,9204 "spec/lib/banzai/pipeline/description_pipeline_spec.rb": 2.1971512510008324,9205 "spec/models/integrations/youtrack_spec.rb": 1.7842521340007806,9206 "spec/lib/gitlab/tracking/standard_context_spec.rb": 1.5682579500007705,9207 "spec/views/projects/jobs/show.html.haml_spec.rb": 4.178591818999848,9208 "spec/graphql/resolvers/projects/services_resolver_spec.rb": 2.4452153090005595,9209 "spec/lib/gitlab/ci/build/artifacts/metadata_spec.rb": 0.9423057100011647,9210 "spec/lib/gitlab/checks/tag_check_spec.rb": 4.787018152999735,9211 "spec/lib/gitlab/auth/o_auth/provider_spec.rb": 1.0424961159988015,9212 "spec/services/ci/create_pipeline_service/creation_errors_and_warnings_spec.rb": 2.163932763000048,9213 "spec/services/pages_domains/create_acme_order_service_spec.rb": 4.7223615599996265,9214 "spec/lib/bulk_imports/projects/pipelines/project_pipeline_spec.rb": 1.8369903050006542,9215 "spec/services/protected_tags/create_service_spec.rb": 2.914822878999985,9216 "spec/services/notification_recipients/builder/default_spec.rb": 4.872490621999532,9217 "spec/lib/gitlab/diff/file_collection/commit_spec.rb": 3.8383587439984694,9218 "spec/models/deploy_keys_project_spec.rb": 3.2811590430010256,9219 "spec/workers/repository_cleanup_worker_spec.rb": 4.27044880700123,9220 "spec/models/integrations/asana_spec.rb": 3.2414417390009476,9221 "spec/services/keys/last_used_service_spec.rb": 1.1330963159998646,9222 "spec/services/merge_requests/mergeability/run_checks_service_spec.rb": 2.238450904998899,9223 "spec/lib/sidebars/groups/menus/settings_menu_spec.rb": 1.6666207409998606,9224 "spec/services/packages/create_dependency_service_spec.rb": 4.889896172999215,9225 "spec/graphql/resolvers/project_merge_requests_resolver_spec.rb": 2.3958804109988705,9226 "spec/lib/gitlab/kubernetes/helm/v3/install_command_spec.rb": 1.511714641999788,9227 "spec/lib/gitlab/database/background_migration_job_spec.rb": 1.374298873999578,9228 "spec/lib/gitlab/api_authentication/builder_spec.rb": 1.3722731350007962,9229 "spec/lib/gitlab/feature_categories_spec.rb": 1.1017069990011805,9230 "spec/views/layouts/application.html.haml_spec.rb": 3.5797848619986326,9231 "spec/lib/gitlab/ci/pipeline/expression/lexeme/string_spec.rb": 0.9412321840009099,9232 "spec/helpers/broadcast_messages_helper_spec.rb": 1.1458545749992481,9233 "spec/lib/gitlab/repository_cache/preloader_spec.rb": 2.633849919999193,9234 "spec/finders/protected_branches_finder_spec.rb": 3.339517264999813,9235 "spec/services/ci/create_pipeline_service/custom_config_content_spec.rb": 2.453814296000928,9236 "spec/models/concerns/expirable_spec.rb": 2.315270278999378,9237 "spec/lib/bulk_imports/common/transformers/user_reference_transformer_spec.rb": 2.109537017000548,9238 "spec/views/projects/commits/_commit.html.haml_spec.rb": 3.4094003890004387,9239 "spec/helpers/wiki_page_version_helper_spec.rb": 1.3987965220003389,9240 "spec/graphql/mutations/alert_management/prometheus_integration/create_spec.rb": 2.440988357000606,9241 "spec/lib/gitlab/metrics/subscribers/rails_cache_spec.rb": 1.336596027998894,9242 "spec/services/projects/forks_count_service_spec.rb": 0.8514198319990101,9243 "spec/lib/gitlab/ci/status/pipeline/blocked_spec.rb": 1.6066461829996115,9244 "spec/lib/gitlab/hook_data/subgroup_builder_spec.rb": 1.003891427999406,9245 "spec/models/label_priority_spec.rb": 2.7961722140007623,9246 "spec/graphql/resolvers/error_tracking/sentry_errors_resolver_spec.rb": 2.393109581000317,9247 "spec/lib/gitlab/ci/status/build/preparing_spec.rb": 1.6213193709991174,9248 "spec/graphql/resolvers/user_notes_count_resolver_spec.rb": 3.351164882999001,9249 "spec/models/error_tracking/client_key_spec.rb": 0.8866311490000953,9250 "spec/services/ci/pipeline_bridge_status_service_spec.rb": 1.7343112710004789,9251 "spec/graphql/mutations/ci/runner/delete_spec.rb": 2.4328815280005074,9252 "spec/lib/system_check/app/authorized_keys_permission_check_spec.rb": 0.9453851830003259,9253 "spec/views/projects/commit/show.html.haml_spec.rb": 3.2502138930012734,9254 "spec/lib/sidebars/projects/menus/wiki_menu_spec.rb": 0.9461094230009621,9255 "spec/graphql/mutations/concerns/mutations/resolves_issuable_spec.rb": 2.3529699049995543,9256 "spec/graphql/resolvers/clusters/agent_activity_events_resolver_spec.rb": 1.4456169879995286,9257 "spec/haml_lint/linter/no_plain_nodes_spec.rb": 1.323191338999095,9258 "spec/lib/gitlab/graphql/loaders/issuable_loader_spec.rb": 2.593151992999992,9259 "spec/workers/gitlab/jira_import/stage/finish_import_worker_spec.rb": 1.8592528990011488,9260 "spec/finders/groups/user_groups_finder_spec.rb": 1.704907005001587,9261 "spec/workers/ci/pipeline_artifacts/create_quality_report_worker_spec.rb": 2.6087245020007686,9262 "spec/lib/gitlab/slash_commands/presenters/access_spec.rb": 1.0759493509995082,9263 "spec/lib/gitlab/grape_logging/loggers/queue_duration_logger_spec.rb": 0.7041529460002494,9264 "spec/lib/sidebars/projects/menus/invite_team_members_menu_spec.rb": 1.4637518859999545,9265 "spec/models/alerting/project_alerting_setting_spec.rb": 1.0993711789997178,9266 "spec/rubocop/cop/migration/prevent_index_creation_spec.rb": 1.0060817189987574,9267 "spec/lib/gitlab/ci/config/entry/paths_spec.rb": 0.7690282490002573,9268 "spec/serializers/service_field_entity_spec.rb": 2.8395744800000102,9269 "spec/services/ci/pipeline_schedule_service_spec.rb": 2.626694110000244,9270 "spec/graphql/types/range_input_type_spec.rb": 0.7284457929999917,9271 "spec/lib/gitlab/git/changed_path_spec.rb": 0.8237842449998425,9272 "spec/graphql/resolvers/users_resolver_spec.rb": 1.551045628000793,9273 "spec/rubocop/cop/migration/datetime_spec.rb": 1.3493679969997174,9274 "spec/lib/gitlab/bullet/exclusions_spec.rb": 1.270969363000404,9275 "spec/lib/gitlab/slash_commands/presenters/issue_search_spec.rb": 2.1726236609993066,9276 "spec/lib/gitlab/hook_data/key_builder_spec.rb": 1.3183878989984805,9277 "spec/models/ci/sources/pipeline_spec.rb": 1.0681589619998704,9278 "spec/lib/gitlab/ci/pipeline/logger_spec.rb": 1.2010003010000219,9279 "spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb": 1.5145941920000041,9280 "spec/lib/backup/artifacts_spec.rb": 1.005718837999666,9281 "spec/lib/gitlab/usage_data_counters/wiki_page_counter_spec.rb": 1.0538823930000945,9282 "spec/serializers/lfs_file_lock_entity_spec.rb": 1.821610134000366,9283 "spec/initializers/sidekiq_spec.rb": 0.7466131109995331,9284 "spec/lib/gitlab/git/repository_cleaner_spec.rb": 1.7778951569998753,9285 "spec/lib/gitlab/metrics/samplers/database_sampler_spec.rb": 1.5242535799989128,9286 "spec/lib/sidebars/projects/context_spec.rb": 0.7940693870004907,9287 "spec/lib/gitlab/jwt_authenticatable_spec.rb": 0.8449184729997796,9288 "spec/graphql/resolvers/container_repository_tags_resolver_spec.rb": 1.4578023759986536,9289 "spec/services/merge_requests/mergeability/check_base_service_spec.rb": 0.8477839730003325,9290 "spec/lib/gitlab/ci/pipeline/preloader_spec.rb": 1.1598725740004738,9291 "spec/services/import/gitlab_projects/create_project_from_uploaded_file_service_spec.rb": 1.7000629940012004,9292 "spec/lib/gitlab/checks/push_file_count_check_spec.rb": 1.858847589999641,9293 "spec/lib/gitlab/database/partitioning/single_numeric_list_partition_spec.rb": 0.8464496429987776,9294 "spec/lib/gitlab/ci/config/entry/rules_spec.rb": 1.2519103650010948,9295 "spec/helpers/environment_helper_spec.rb": 1.5263348200005566,9296 "spec/lib/gitlab/kroki_spec.rb": 1.006368037998982,9297 "spec/serializers/test_suite_comparer_entity_spec.rb": 0.9346669349997683,9298 "spec/lib/gitlab/ci/reports/security/locations/sast_spec.rb": 0.8699910100003763,9299 "spec/lib/bulk_imports/network_error_spec.rb": 0.8931332989996008,9300 "spec/lib/gitlab/ci/reports/codequality_reports_spec.rb": 0.8233884049986955,9301 "spec/uploaders/content_type_whitelist_spec.rb": 0.8182597849990998,9302 "spec/tasks/gitlab/terraform/migrate_rake_spec.rb": 1.394278273000964,9303 "spec/lib/gitlab/utils/gzip_spec.rb": 0.7532221710007434,9304 "spec/serializers/feature_flag_summary_serializer_spec.rb": 1.4069166209992545,9305 "spec/services/ci/generate_terraform_reports_service_spec.rb": 1.851548840999385,9306 "spec/lib/gitlab/routing_spec.rb": 0.8650967499997932,9307 "spec/lib/gitlab/sherlock/location_spec.rb": 0.8658536610000738,9308 "spec/policies/group_deploy_keys_group_policy_spec.rb": 1.1582844839995232,9309 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb": 0.8628184409990354,9310 "spec/lib/bulk_imports/projects/pipelines/service_desk_setting_pipeline_spec.rb": 1.2579209850009647,9311 "spec/graphql/features/feature_flag_spec.rb": 0.900933018001524,9312 "spec/services/groups/deploy_tokens/destroy_service_spec.rb": 1.0587567830007174,9313 "spec/support_specs/helpers/active_record/query_recorder_spec.rb": 0.859901001000253,9314 "spec/serializers/import/bulk_import_entity_spec.rb": 0.9439001240007201,9315 "spec/validators/cron_validator_spec.rb": 0.7361131620000378,9316 "spec/lib/gitlab/template/gitignore_template_spec.rb": 0.8281939339995006,9317 "spec/workers/update_project_statistics_worker_spec.rb": 1.1244630370001687,9318 "spec/rubocop/cop/migration/add_timestamps_spec.rb": 0.7425157520010544,9319 "spec/serializers/analytics_issue_serializer_spec.rb": 1.152234174998739,9320 "spec/lib/bulk_imports/groups/pipelines/project_entities_pipeline_spec.rb": 1.2258203770015825,9321 "spec/rubocop/cop/sidekiq_load_balancing/worker_data_consistency_spec.rb": 0.782771418998891,9322 "spec/graphql/types/release_assets_input_type_spec.rb": 0.843296762999671,9323 "spec/policies/concerns/crud_policy_helpers_spec.rb": 0.841623702999641,9324 "spec/rubocop/cop/rspec/env_assignment_spec.rb": 0.7322017840015178,9325 "spec/helpers/stat_anchors_helper_spec.rb": 1.076482181000756,9326 "spec/lib/api/api_spec.rb": 0.6739767380004196,9327 "spec/lib/gitlab/usage_data_counters/base_counter_spec.rb": 0.8243077150000317,9328 "spec/workers/snippets/schedule_bulk_repository_shard_moves_worker_spec.rb": 0.9739713710005162,9329 "spec/graphql/types/ci_configuration/sast/options_entity_spec.rb": 0.7842698580006982,9330 "spec/graphql/types/snippets/blob_action_enum_spec.rb": 0.6650139590001345,9331 "spec/serializers/group_link/group_group_link_serializer_spec.rb": 0.9356472639992717,9332 "spec/lib/api/entities/deploy_key_spec.rb": 0.9086071370002173,9333 "spec/lib/gitlab/sidekiq_status/client_middleware_spec.rb": 0.6743358179992356,9334 "spec/services/events/render_service_spec.rb": 0.7871971280001162,9335 "spec/graphql/types/jira_import_type_spec.rb": 0.8345562729991798,9336 "spec/lib/gitlab/utils/merge_hash_spec.rb": 0.7582674109999061,9337 "spec/lib/gitlab/email/hook/delivery_metrics_observer_spec.rb": 0.6918326969989721,9338 "spec/lib/gitlab/serializer/ci/variables_spec.rb": 0.7538400200010074,9339 "spec/lib/gitlab/ci/config/entry/product/variables_spec.rb": 0.8725341209992621,9340 "spec/lib/api/entities/ssh_key_spec.rb": 0.9210165650001727,9341 "spec/helpers/emoji_helper_spec.rb": 0.6958887569999206,9342 "spec/lib/api/entities/project_import_failed_relation_spec.rb": 1.0201478759991005,9343 "spec/lib/gitlab/error_tracking/processor/context_payload_processor_spec.rb": 0.7296127930003422,9344 "spec/graphql/types/todo_type_spec.rb": 0.658118410001407,9345 "spec/lib/error_tracking/collector/dsn_spec.rb": 0.6897564569990209,9346 "spec/graphql/types/permission_types/merge_request_type_spec.rb": 0.7348037829997338,9347 "spec/rubocop/cop/safe_params_spec.rb": 0.7100930249998783,9348 "spec/graphql/types/permission_types/merge_request_spec.rb": 0.6722043480003776,9349 "spec/services/protected_tags/destroy_service_spec.rb": 1.0748155219989712,9350 "spec/lib/gitlab/database/each_database_spec.rb": 0.6528655000001891,9351 "spec/graphql/types/projects/topic_type_spec.rb": 0.6978558969985897,9352 "spec/initializers/asset_proxy_setting_spec.rb": 0.9135887369993725,9353 "spec/graphql/types/repository/blob_type_spec.rb": 0.8509171120003884,9354 "spec/graphql/types/permission_types/user_spec.rb": 0.6760971179992339,9355 "spec/graphql/types/terraform/state_type_spec.rb": 0.9901014199986093,9356 "spec/lib/gitlab/ci/status/success_spec.rb": 0.8478900630016142,9357 "spec/lib/gitlab/metrics/system_spec.rb": 1.1829075419991568,9358 "spec/models/concerns/partitioned_table_spec.rb": 0.7602069599997776,9359 "spec/services/emails/destroy_service_spec.rb": 1.0879144810005528,9360 "spec/workers/concerns/gitlab/github_import/queue_spec.rb": 0.77613387800010979361}9362Knapsack global time execution for tests: 30m 48s9363Pending: (Failures listed here are expected and do not affect your suite's status)9364 1) Packages::Composer::CacheUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 9365 # No pattern provided, skipping.9366 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89367 2) Packages::Composer::CacheUploader behaves like builds correct paths #relative_path is relative9368 # Path not set, skipping.9369 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409370 3) Packages::Composer::CacheUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 9371 # No pattern provided, skipping.9372 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89373 4) Packages::Composer::CacheUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 9374 # No pattern provided, skipping.9375 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89376 5) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 9377 # No pattern provided, skipping.9378 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89379 6) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 9380 # No pattern provided, skipping.9381 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89382 7) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 9383 # No pattern provided, skipping.9384 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89385 8) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths #relative_path is relative9386 # Path not set, skipping.9387 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409388 9) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 9389 # No pattern provided, skipping.9390 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89391 10) Packages::Composer::CacheUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 9392 # No pattern provided, skipping.9393 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89394Finished in 30 minutes 52 seconds (files took 54.19 seconds to load)93954088 examples, 0 failures, 10 pending9396Mon Dec 20 17:24:19 UTC 20219398Not uploading cache ruby-gems-v1-9 due to policy9399Not uploading cache gitaly-ruby-gems-v1-9 due to policy9401Uploading artifacts...9402coverage/: found 5 matching files and directories 9403crystalball/: found 2 matching files and directories 9404deprecations/: found 7 matching files and directories 9405knapsack/: found 3 matching files and directories 9406rspec_flaky/: found 5 matching files and directories 9407rspec_profiling/: found 1 matching files and directories 9408WARNING: tmp/capybara/: no matching files 9409tmp/memory_test/: found 2 matching files and directories 9410log/*.log: found 19 matching files and directories 9411Uploading artifacts as "archive" to coordinator... ok id=1904366599 responseStatus=201 Created token=uyxy49pd9412Uploading artifacts...9413junit_rspec.xml: found 1 matching files and directories 9414Uploading artifacts as "junit" to coordinator... ok id=1904366599 responseStatus=201 Created token=uyxy49pd9416Job succeeded