rspec unit pg12 7/22
Passed Started
by
@.luke

Luke Duncalfe
1Running with gitlab-runner 14.5.2 (e91107dd)2 on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq3 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-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1639434314-be66e0ad...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: 91326, done. 25remote: Counting objects: 100% (91326/91326), done. 26remote: Compressing objects: 100% (68267/68267), done. 27remote: Total 91326 (delta 30507), reused 60832 (delta 19269), pack-reused 0 28Receiving objects: 100% (91326/91326), 103.88 MiB | 29.89 MiB/s, done.29Resolving deltas: 100% (30507/30507), done.31 * [new ref] 74a38a79b62c49b1e9b89b9829f66b53abaed5a9 -> refs/pipelines/42880374432 * [new branch] master -> origin/master33Checking out 74a38a79 as master...34Skipping Git submodules setup36Checking cache for ruby-gems-v1-9...37cache.zip is up to date 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-v1-9...40cache.zip is up to date 41Successfully extracted cache43Downloading artifacts for compile-test-assets (1880797874)...44Downloading artifacts from coordinator... ok id=1880797874 responseStatus=200 OK token=HwSwMQAA45Downloading artifacts for detect-tests (1880797889)...46Downloading artifacts from coordinator... ok id=1880797889 responseStatus=200 OK token=cosp53gX47Downloading artifacts for retrieve-tests-metadata (1880797899)...48Downloading artifacts from coordinator... ok id=1880797899 responseStatus=200 OK token=mhRg1nsp49Downloading artifacts for setup-test-env (1880797883)...50Downloading artifacts from coordinator... ok id=1880797883 responseStatus=200 OK token=eZ79kRQL52Using 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 ...53$ echo $FOSS_ONLY54$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb55$ export GOPATH=$CI_PROJECT_DIR/.go56$ mkdir -p $GOPATH57$ source scripts/utils.sh58$ source scripts/prepare_build.sh59Bundler version 2.1.460production:development61Settings are listed in order of priority. The top value will be used.62path63Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"64clean65Set for the current user (/root/.bundle/config): "true"66without67Set via BUNDLE_WITHOUT: [:production, :development]68install_flags69Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"70$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check71The Gemfile's dependencies are satisfied72==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.73$ bundle pristine pg74Installing pg 1.2.3 with native extensions75==> 'bundle pristine pg' succeeded in 11 seconds.76$ setup_db_user_only77CREATE ROLE78GRANT79==> 'setup_db_user_only' succeeded in 1 seconds.80$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee81Dropped database 'gitlabhq_test'82Dropped database 'gitlabhq_geo_test'83Created database 'gitlabhq_test'84Created database 'gitlabhq_geo_test'85DEPRECATION 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)86Dropped database 'gitlabhq_geo_test'87Created database 'gitlabhq_geo_test'88==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 29 seconds.89$ run_timed_command "gem install knapsack --no-document"90$ gem install knapsack --no-document91Successfully installed knapsack-4.0.0921 gem installed93==> 'gem install knapsack --no-document' succeeded in 0 seconds.94$ run_timed_command "scripts/gitaly-test-spawn"95$ scripts/gitaly-test-spawn96Don't run Bundler as root. Bundler can ask for sudo if it is needed, and97installing your bundle as root will break this application for all non-root98users on this machine.99Using abstract_type 0.0.7100Using concurrent-ruby 1.1.9101Using i18n 1.8.10102Using minitest 5.14.4103Using tzinfo 2.0.4104Using zeitwerk 2.4.2105Using activesupport 6.1.4.1106Using builder 3.2.4107Using erubi 1.10.0108Using mini_portile2 2.5.1109Using racc 1.5.2110Using nokogiri 1.11.7 (x86_64-linux)111Using rails-dom-testing 2.0.3112Using crass 1.0.6113Using loofah 2.12.0114Using rails-html-sanitizer 1.4.2115Using actionview 6.1.4.1116Using rack 2.2.3117Using rack-test 1.1.0118Using actionpack 6.1.4.1119Using ice_nine 0.11.2120Using thread_safe 0.3.6121Using memoizable 0.4.2122Using adamantium 0.2.0123Using public_suffix 4.0.6124Using addressable 2.7.0125Using ast 2.4.1126Using binding_ninja 0.2.3127Using bundler 2.1.4128Using charlock_holmes 0.7.7129Using coderay 1.1.2130Using equalizer 0.0.11131Using concord 0.1.5132Using diff-lcs 1.3133Using dotenv 2.7.6134Using escape_utils 1.2.1135Using factory_bot 5.0.2136Using multipart-post 2.1.1137Using faraday 1.0.1138Using ffi 1.15.3139Using json 2.5.1140Using gemojione 3.3.0141Using mini_mime 1.0.2142Using rugged 1.2.0143Using github-linguist 7.12.1144Using github-markup 1.7.0145Using mime-types-data 3.2020.1104146Using mime-types 3.3.1147Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1148Using rouge 3.26.0149Using nokogumbo 1.5.0150Using sanitize 4.6.6151Using stringex 2.8.5152Using gitlab-gollum-lib 4.2.7.10.gitlab.1153Using google-protobuf 3.17.3 (x86_64-linux)154Using googleapis-common-protos-types 1.1.0155Using grpc 1.30.2 (x86_64-linux)156Using opentracing 0.5.0157Using thrift 0.15.0158Using jaeger-client 1.1.0159Using pg_query 2.1.1160Using redis 4.4.0161Using gitlab-labkit 0.21.2162Using rubyzip 2.3.2163Using thor 1.1.0164Using tomlrb 2.0.1165Using with_env 1.1.0166Using rexml 3.2.4167Using xml-simple 1.1.9168Using gitlab-license_finder 6.14.2.1169Using gitlab-markup 1.7.1170Using grpc-tools 1.30.2171Using sawyer 0.8.2172Using octokit 4.20.0173Using reverse_markdown 1.4.0174Using licensee 9.14.1175Using method_source 0.9.2176Using msgpack 1.3.3177Using optimist 3.0.1178Using parallel 1.19.2179Using parser 2.7.2.0180Using procto 0.0.3181Using unparser 0.4.7182Using proc_to_ast 0.1.0183Using pry 0.12.2184Using rainbow 3.0.0185Using rbtrace 0.4.14186Using rdoc 6.3.2187Using regexp_parser 1.8.1188Using rspec-support 3.8.0189Using rspec-core 3.8.0190Using rspec-expectations 3.8.3191Using rspec-mocks 3.8.0192Using rspec 3.8.0193Using rspec-parameterized 0.4.2194Using rubocop-ast 0.2.0195Using ruby-progressbar 1.10.1196Using unicode-display_width 1.7.0197Using rubocop 0.86.0198Using sentry-raven 3.0.4199Using timecop 0.9.1200Bundle complete! 22 Gemfile dependencies, 101 gems now installed.201Gems in the groups production and development were not installed.202Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`203Checking gitaly-ruby Gemfile...204Checking gitaly-ruby bundle...205The Gemfile's dependencies are satisfied206Trying to connect to gitaly: ........................................ OK207Trying to connect to gitaly2: .............................................................. OK208Trying to connect to praefect: ......... OK209==> 'scripts/gitaly-test-spawn' succeeded in 13 seconds.210$ source ./scripts/rspec_helpers.sh211$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"212KNAPSACK_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.rb213SKIP_FLAKY_TESTS_AUTOMATICALLY: true214Knapsack node specs:215spec/lib/gitlab/usage_data_spec.rb216spec/services/ci/create_pipeline_service_spec.rb217spec/services/boards/issues/list_service_spec.rb218spec/models/concerns/mentionable_spec.rb219spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb220spec/models/project_wiki_spec.rb221spec/uploaders/file_uploader_spec.rb222spec/services/projects/update_service_spec.rb223spec/services/issues/clone_service_spec.rb224spec/finders/packages/group_packages_finder_spec.rb225spec/policies/wiki_page_policy_spec.rb226spec/lib/gitlab/cleanup/project_uploads_spec.rb227spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb228spec/lib/banzai/filter/references/commit_reference_filter_spec.rb229spec/serializers/deployment_entity_spec.rb230spec/lib/gitlab/background_migration/drop_invalid_vulnerabilities_spec.rb231spec/models/jira_import_state_spec.rb232spec/lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url_spec.rb233spec/lib/backup/files_spec.rb234spec/helpers/labels_helper_spec.rb235spec/models/project_statistics_spec.rb236spec/lib/gitlab/checks/branch_check_spec.rb237spec/models/blob_spec.rb238spec/services/resource_access_tokens/create_service_spec.rb239spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb240spec/services/ci/update_build_state_service_spec.rb241spec/services/projects/open_issues_count_service_spec.rb242spec/lib/gitlab/issues/rebalancing/state_spec.rb243spec/services/packages/nuget/update_package_from_metadata_service_spec.rb244spec/models/wiki_page/meta_spec.rb245spec/graphql/mutations/merge_requests/set_assignees_spec.rb246spec/presenters/project_clusterable_presenter_spec.rb247spec/graphql/mutations/issues/update_spec.rb248spec/lib/container_registry/path_spec.rb249spec/models/key_spec.rb250spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb251spec/services/projects/after_import_service_spec.rb252spec/services/resource_access_tokens/revoke_service_spec.rb253spec/services/packages/npm/create_tag_service_spec.rb254spec/lib/gitlab/github_import/importer/releases_importer_spec.rb255spec/lib/gitlab/auth/ldap/person_spec.rb256spec/services/metrics/dashboard/annotations/create_service_spec.rb257spec/models/alert_management/http_integration_spec.rb258spec/services/merge_requests/remove_attention_requested_service_spec.rb259spec/helpers/ci/runners_helper_spec.rb260spec/lib/gitlab/changelog/config_spec.rb261spec/lib/gitlab/checks/single_change_access_spec.rb262spec/tooling/quality/test_level_spec.rb263spec/finders/merge_requests/oldest_per_commit_finder_spec.rb264spec/lib/gitlab/chat/command_spec.rb265spec/lib/gitlab/ci/pipeline/chain/create_deployments_spec.rb266spec/lib/gitlab/database/query_analyzers/prevent_cross_database_modification_spec.rb267spec/models/audit_event_spec.rb268spec/finders/resource_state_event_finder_spec.rb269spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb270spec/workers/auto_devops/disable_worker_spec.rb271spec/lib/gitlab/jira_import_spec.rb272spec/presenters/snippet_blob_presenter_spec.rb273spec/services/merge_requests/resolved_discussion_notification_service_spec.rb274spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb275spec/graphql/types/ci/job_token_scope_type_spec.rb276spec/lib/sidebars/menu_spec.rb277spec/models/packages/debian/project_component_file_spec.rb278spec/lib/gitlab/suggestions/file_suggestion_spec.rb279spec/lib/error_tracking/sentry_client/issue_link_spec.rb280spec/services/groups/update_shared_runners_service_spec.rb281spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb282spec/workers/chat_notification_worker_spec.rb283spec/lib/gitlab/gitaly_client/blob_service_spec.rb284spec/services/packages/conan/search_service_spec.rb285spec/graphql/types/user_type_spec.rb286spec/lib/api/entities/user_spec.rb287spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb288spec/lib/gitlab/ci/build/rules_spec.rb289spec/lib/gitlab/slash_commands/issue_comment_spec.rb290spec/services/metrics/dashboard/clone_dashboard_service_spec.rb291spec/workers/merge_worker_spec.rb292spec/lib/gitlab/slash_commands/issue_new_spec.rb293spec/helpers/learn_gitlab_helper_spec.rb294spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb295spec/services/users/update_canonical_email_service_spec.rb296spec/serializers/test_suite_summary_entity_spec.rb297spec/models/group_group_link_spec.rb298spec/lib/gitlab/ci/config/entry/port_spec.rb299spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb300spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb301spec/services/packages/debian/update_distribution_service_spec.rb302spec/lib/gitlab/kubernetes/helm/api_spec.rb303spec/workers/issue_rebalancing_worker_spec.rb304spec/models/concerns/access_requestable_spec.rb305spec/lib/gitlab/config/loader/yaml_spec.rb306spec/lib/gitlab/hook_data/key_builder_spec.rb307spec/finders/environments/environments_finder_spec.rb308spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb309spec/finders/packages/conan/package_file_finder_spec.rb310spec/lib/gitlab/health_checks/redis/trace_chunks_check_spec.rb311spec/lib/banzai/reference_parser/mentioned_project_parser_spec.rb312spec/views/layouts/_head.html.haml_spec.rb313spec/lib/gitlab/api_authentication/token_resolver_spec.rb314spec/lib/gitlab/ci/build/policy/variables_spec.rb315spec/lib/gitlab/health_checks/redis/shared_state_check_spec.rb316spec/lib/backup/repository_backup_error_spec.rb317spec/lib/mattermost/session_spec.rb318spec/tooling/rspec_flaky/config_spec.rb319spec/graphql/types/snippet_type_spec.rb320spec/services/environments/canary_ingress/update_service_spec.rb321spec/presenters/event_presenter_spec.rb322spec/lib/gitlab/sanitizers/svg_spec.rb323spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb324spec/lib/gitlab/tracking/destinations/snowplow_micro_spec.rb325spec/lib/gitlab/changelog/release_spec.rb326spec/lib/gitlab/import_export/repo_restorer_spec.rb327spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb328spec/models/project_deploy_token_spec.rb329spec/services/packages/rubygems/process_gem_service_spec.rb330spec/graphql/mutations/labels/create_spec.rb331spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb332spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb333spec/policies/terraform/state_version_policy_spec.rb334spec/workers/jira_connect/sync_merge_request_worker_spec.rb335spec/workers/issue_due_scheduler_worker_spec.rb336spec/graphql/resolvers/repository_branch_names_resolver_spec.rb337spec/models/analytics/cycle_analytics/project_value_stream_spec.rb338spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb339spec/lib/gitlab/usage/metrics/aggregates/sources/postgres_hll_spec.rb340spec/lib/gitlab/favicon_spec.rb341spec/workers/remove_unaccepted_member_invites_worker_spec.rb342spec/finders/repositories/tree_finder_spec.rb343spec/services/dependency_proxy/request_token_service_spec.rb344spec/views/admin/application_settings/ci_cd.html.haml_spec.rb345spec/workers/object_pool/create_worker_spec.rb346spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb347spec/services/ci/build_report_result_service_spec.rb348spec/lib/gitlab/metrics/subscribers/external_http_spec.rb349spec/services/clusters/aws/finalize_creation_service_spec.rb350spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb351spec/workers/incident_management/pager_duty/process_incident_worker_spec.rb352spec/serializers/label_serializer_spec.rb353spec/lib/sidebars/projects/menus/shimo_menu_spec.rb354spec/lib/gitlab/auth/saml/identity_linker_spec.rb355spec/tasks/gitlab/task_helpers_spec.rb356spec/tasks/gitlab/praefect_rake_spec.rb357spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb358spec/services/boards/create_service_spec.rb359spec/lib/gitlab/external_authorization/response_spec.rb360spec/serializers/feature_flag_summary_serializer_spec.rb361spec/graphql/resolvers/issue_status_counts_resolver_spec.rb362spec/models/experiment_user_spec.rb363spec/services/service_ping/permit_data_categories_service_spec.rb364spec/lib/gitlab/sherlock/line_profiler_spec.rb365spec/policies/application_setting/term_policy_spec.rb366spec/services/concerns/merge_requests/assigns_merge_params_spec.rb367spec/lib/gitlab/health_checks/db_check_spec.rb368spec/lib/gitlab/ci/pipeline/preloader_spec.rb369spec/finders/packages/go/module_finder_spec.rb370spec/policies/alert_management/http_integration_policy_spec.rb371spec/lib/gitlab/sherlock/collection_spec.rb372spec/tooling/lib/tooling/test_map_packer_spec.rb373spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb374spec/lib/gitlab/ci/status/build/erased_spec.rb375spec/graphql/types/ci/config/need_type_spec.rb376spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb377spec/graphql/types/design_management/design_at_version_type_spec.rb378spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb379spec/workers/ci/initial_pipeline_process_worker_spec.rb380spec/graphql/types/group_member_type_spec.rb381spec/models/concerns/after_commit_queue_spec.rb382spec/lib/gitlab/config/entry/validator_spec.rb383spec/helpers/export_helper_spec.rb384spec/graphql/resolvers/commit_pipelines_resolver_spec.rb385spec/workers/auto_merge_process_worker_spec.rb386spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb387spec/views/layouts/profile.html.haml_spec.rb388spec/lib/gitlab/database/migration_spec.rb389spec/lib/feature/gitaly_spec.rb390spec/presenters/packages/nuget/service_index_presenter_spec.rb391spec/models/namespace/aggregation_schedule_spec.rb392spec/lib/gitlab/graphql/present/field_extension_spec.rb393spec/lib/gitlab/import_export/saver_spec.rb394spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb395spec/services/ci/generate_terraform_reports_service_spec.rb396spec/serializers/project_serializer_spec.rb397spec/lib/gitlab/github_import/parallel_importer_spec.rb398spec/graphql/resolvers/board_list_resolver_spec.rb399spec/lib/gitlab/cluster/lifecycle_events_spec.rb400spec/services/dependency_proxy/find_or_create_blob_service_spec.rb401spec/models/alerting/project_alerting_setting_spec.rb402spec/lib/bitbucket_server/representation/repo_spec.rb403spec/lib/gitlab/cycle_analytics/summary/value_spec.rb404spec/models/term_agreement_spec.rb405spec/lib/gitlab/template/gitignore_template_spec.rb406spec/lib/bulk_imports/pipeline/extracted_data_spec.rb407spec/lib/gitlab/phabricator_import/issues/importer_spec.rb408spec/graphql/types/ci/stage_type_spec.rb409spec/lib/gitlab/graphql/pagination/keyset/last_items_spec.rb410spec/graphql/types/ci/status_action_type_spec.rb411spec/serializers/feature_flags_client_serializer_spec.rb412spec/lib/gitlab/email/message/in_product_marketing/create_spec.rb413spec/workers/ci/stuck_builds/drop_running_worker_spec.rb414spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb415spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb416spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb417spec/services/ci/process_pipeline_service_spec.rb418spec/lib/backup/uploads_spec.rb419spec/helpers/ci/jobs_helper_spec.rb420spec/views/profiles/notifications/show.html.haml_spec.rb421spec/workers/schedule_migrate_external_diffs_worker_spec.rb422spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb423spec/graphql/types/ci/test_case_status_enum_spec.rb424spec/lib/gitlab/sidekiq_logging/deduplication_logger_spec.rb425spec/workers/approve_blocked_pending_approval_users_worker_spec.rb426spec/graphql/types/alert_management/status_enum_spec.rb427spec/serializers/evidences/issue_entity_spec.rb428spec/views/groups/settings/_remove.html.haml_spec.rb429spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb430spec/experiments/new_project_sast_enabled_experiment_spec.rb431spec/lib/quality/seeders/issues_spec.rb432spec/serializers/ci/group_variable_entity_spec.rb433spec/lib/gitlab/config_checker/external_database_checker_spec.rb434spec/finders/packages/pypi/package_finder_spec.rb435spec/lib/gitlab/metrics/dashboard/stages/track_panel_type_spec.rb436spec/lib/gitlab/graphql/timeout_spec.rb437spec/tooling/lib/tooling/crystalball/coverage_lines_strategy_spec.rb438spec/tasks/gitlab/shell_rake_spec.rb439spec/graphql/types/todo_type_spec.rb440spec/workers/ci/build_prepare_worker_spec.rb441spec/lib/gitlab/sidekiq_middleware/instrumentation_logger_spec.rb442spec/rubocop/cop/database/multiple_databases_spec.rb443spec/policies/concerns/policy_actor_spec.rb444spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb445spec/serializers/ci/trigger_serializer_spec.rb446spec/workers/ci_platform_metrics_update_cron_worker_spec.rb447spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb448spec/graphql/types/merge_request_review_state_enum_spec.rb449spec/rubocop/cop/user_admin_spec.rb450spec/helpers/projects/incidents_helper_spec.rb451spec/lib/gitlab/process_memory_cache/helper_spec.rb452spec/models/synthetic_note_spec.rb453spec/lib/gitlab/redis/wrapper_spec.rb454spec/workers/todos_destroyer/project_private_worker_spec.rb455spec/workers/namespaces/in_product_marketing_emails_worker_spec.rb456Filter specs:457Running specs:458Running all node tests without filter459spec/lib/gitlab/usage_data_spec.rb460spec/services/ci/create_pipeline_service_spec.rb461spec/services/boards/issues/list_service_spec.rb462spec/models/concerns/mentionable_spec.rb463spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb464spec/models/project_wiki_spec.rb465spec/uploaders/file_uploader_spec.rb466spec/services/projects/update_service_spec.rb467spec/services/issues/clone_service_spec.rb468spec/finders/packages/group_packages_finder_spec.rb469spec/policies/wiki_page_policy_spec.rb470spec/lib/gitlab/cleanup/project_uploads_spec.rb471spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb472spec/lib/banzai/filter/references/commit_reference_filter_spec.rb473spec/serializers/deployment_entity_spec.rb474spec/lib/gitlab/background_migration/drop_invalid_vulnerabilities_spec.rb475spec/models/jira_import_state_spec.rb476spec/lib/gitlab/background_migration/update_jira_tracker_data_deployment_type_based_on_url_spec.rb477spec/lib/backup/files_spec.rb478spec/helpers/labels_helper_spec.rb479spec/models/project_statistics_spec.rb480spec/lib/gitlab/checks/branch_check_spec.rb481spec/models/blob_spec.rb482spec/services/resource_access_tokens/create_service_spec.rb483spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb484spec/services/ci/update_build_state_service_spec.rb485spec/services/projects/open_issues_count_service_spec.rb486spec/lib/gitlab/issues/rebalancing/state_spec.rb487spec/services/packages/nuget/update_package_from_metadata_service_spec.rb488spec/models/wiki_page/meta_spec.rb489spec/graphql/mutations/merge_requests/set_assignees_spec.rb490spec/presenters/project_clusterable_presenter_spec.rb491spec/graphql/mutations/issues/update_spec.rb492spec/lib/container_registry/path_spec.rb493spec/models/key_spec.rb494spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb495spec/services/projects/after_import_service_spec.rb496spec/services/resource_access_tokens/revoke_service_spec.rb497spec/services/packages/npm/create_tag_service_spec.rb498spec/lib/gitlab/github_import/importer/releases_importer_spec.rb499spec/lib/gitlab/auth/ldap/person_spec.rb500spec/services/metrics/dashboard/annotations/create_service_spec.rb501spec/models/alert_management/http_integration_spec.rb502spec/services/merge_requests/remove_attention_requested_service_spec.rb503spec/helpers/ci/runners_helper_spec.rb504spec/lib/gitlab/changelog/config_spec.rb505spec/lib/gitlab/checks/single_change_access_spec.rb506spec/tooling/quality/test_level_spec.rb507spec/finders/merge_requests/oldest_per_commit_finder_spec.rb508spec/lib/gitlab/chat/command_spec.rb509spec/lib/gitlab/ci/pipeline/chain/create_deployments_spec.rb510spec/lib/gitlab/database/query_analyzers/prevent_cross_database_modification_spec.rb511spec/models/audit_event_spec.rb512spec/finders/resource_state_event_finder_spec.rb513spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb514spec/workers/auto_devops/disable_worker_spec.rb515spec/lib/gitlab/jira_import_spec.rb516spec/presenters/snippet_blob_presenter_spec.rb517spec/services/merge_requests/resolved_discussion_notification_service_spec.rb518spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb519spec/graphql/types/ci/job_token_scope_type_spec.rb520spec/lib/sidebars/menu_spec.rb521spec/models/packages/debian/project_component_file_spec.rb522spec/lib/gitlab/suggestions/file_suggestion_spec.rb523spec/lib/error_tracking/sentry_client/issue_link_spec.rb524spec/services/groups/update_shared_runners_service_spec.rb525spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb526spec/workers/chat_notification_worker_spec.rb527spec/lib/gitlab/gitaly_client/blob_service_spec.rb528spec/services/packages/conan/search_service_spec.rb529spec/graphql/types/user_type_spec.rb530spec/lib/api/entities/user_spec.rb531spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb532spec/lib/gitlab/ci/build/rules_spec.rb533spec/lib/gitlab/slash_commands/issue_comment_spec.rb534spec/services/metrics/dashboard/clone_dashboard_service_spec.rb535spec/workers/merge_worker_spec.rb536spec/lib/gitlab/slash_commands/issue_new_spec.rb537spec/helpers/learn_gitlab_helper_spec.rb538spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb539spec/services/users/update_canonical_email_service_spec.rb540spec/serializers/test_suite_summary_entity_spec.rb541spec/models/group_group_link_spec.rb542spec/lib/gitlab/ci/config/entry/port_spec.rb543spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb544spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb545spec/services/packages/debian/update_distribution_service_spec.rb546spec/lib/gitlab/kubernetes/helm/api_spec.rb547spec/workers/issue_rebalancing_worker_spec.rb548spec/models/concerns/access_requestable_spec.rb549spec/lib/gitlab/config/loader/yaml_spec.rb550spec/lib/gitlab/hook_data/key_builder_spec.rb551spec/finders/environments/environments_finder_spec.rb552spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb553spec/finders/packages/conan/package_file_finder_spec.rb554spec/lib/gitlab/health_checks/redis/trace_chunks_check_spec.rb555spec/lib/banzai/reference_parser/mentioned_project_parser_spec.rb556spec/views/layouts/_head.html.haml_spec.rb557spec/lib/gitlab/api_authentication/token_resolver_spec.rb558spec/lib/gitlab/ci/build/policy/variables_spec.rb559spec/lib/gitlab/health_checks/redis/shared_state_check_spec.rb560spec/lib/backup/repository_backup_error_spec.rb561spec/lib/mattermost/session_spec.rb562spec/tooling/rspec_flaky/config_spec.rb563spec/graphql/types/snippet_type_spec.rb564spec/services/environments/canary_ingress/update_service_spec.rb565spec/presenters/event_presenter_spec.rb566spec/lib/gitlab/sanitizers/svg_spec.rb567spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb568spec/lib/gitlab/tracking/destinations/snowplow_micro_spec.rb569spec/lib/gitlab/changelog/release_spec.rb570spec/lib/gitlab/import_export/repo_restorer_spec.rb571spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb572spec/models/project_deploy_token_spec.rb573spec/services/packages/rubygems/process_gem_service_spec.rb574spec/graphql/mutations/labels/create_spec.rb575spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb576spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb577spec/policies/terraform/state_version_policy_spec.rb578spec/workers/jira_connect/sync_merge_request_worker_spec.rb579spec/workers/issue_due_scheduler_worker_spec.rb580spec/graphql/resolvers/repository_branch_names_resolver_spec.rb581spec/models/analytics/cycle_analytics/project_value_stream_spec.rb582spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb583spec/lib/gitlab/usage/metrics/aggregates/sources/postgres_hll_spec.rb584spec/lib/gitlab/favicon_spec.rb585spec/workers/remove_unaccepted_member_invites_worker_spec.rb586spec/finders/repositories/tree_finder_spec.rb587spec/services/dependency_proxy/request_token_service_spec.rb588spec/views/admin/application_settings/ci_cd.html.haml_spec.rb589spec/workers/object_pool/create_worker_spec.rb590spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb591spec/services/ci/build_report_result_service_spec.rb592spec/lib/gitlab/metrics/subscribers/external_http_spec.rb593spec/services/clusters/aws/finalize_creation_service_spec.rb594spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb595spec/workers/incident_management/pager_duty/process_incident_worker_spec.rb596spec/serializers/label_serializer_spec.rb597spec/lib/sidebars/projects/menus/shimo_menu_spec.rb598spec/lib/gitlab/auth/saml/identity_linker_spec.rb599spec/tasks/gitlab/task_helpers_spec.rb600spec/tasks/gitlab/praefect_rake_spec.rb601spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb602spec/services/boards/create_service_spec.rb603spec/lib/gitlab/external_authorization/response_spec.rb604spec/serializers/feature_flag_summary_serializer_spec.rb605spec/graphql/resolvers/issue_status_counts_resolver_spec.rb606spec/models/experiment_user_spec.rb607spec/services/service_ping/permit_data_categories_service_spec.rb608spec/lib/gitlab/sherlock/line_profiler_spec.rb609spec/policies/application_setting/term_policy_spec.rb610spec/services/concerns/merge_requests/assigns_merge_params_spec.rb611spec/lib/gitlab/health_checks/db_check_spec.rb612spec/lib/gitlab/ci/pipeline/preloader_spec.rb613spec/finders/packages/go/module_finder_spec.rb614spec/policies/alert_management/http_integration_policy_spec.rb615spec/lib/gitlab/sherlock/collection_spec.rb616spec/tooling/lib/tooling/test_map_packer_spec.rb617spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb618spec/lib/gitlab/ci/status/build/erased_spec.rb619spec/graphql/types/ci/config/need_type_spec.rb620spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb621spec/graphql/types/design_management/design_at_version_type_spec.rb622spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb623spec/workers/ci/initial_pipeline_process_worker_spec.rb624spec/graphql/types/group_member_type_spec.rb625spec/models/concerns/after_commit_queue_spec.rb626spec/lib/gitlab/config/entry/validator_spec.rb627spec/helpers/export_helper_spec.rb628spec/graphql/resolvers/commit_pipelines_resolver_spec.rb629spec/workers/auto_merge_process_worker_spec.rb630spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb631spec/views/layouts/profile.html.haml_spec.rb632spec/lib/gitlab/database/migration_spec.rb633spec/lib/feature/gitaly_spec.rb634spec/presenters/packages/nuget/service_index_presenter_spec.rb635spec/models/namespace/aggregation_schedule_spec.rb636spec/lib/gitlab/graphql/present/field_extension_spec.rb637spec/lib/gitlab/import_export/saver_spec.rb638spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb639spec/services/ci/generate_terraform_reports_service_spec.rb640spec/serializers/project_serializer_spec.rb641spec/lib/gitlab/github_import/parallel_importer_spec.rb642spec/graphql/resolvers/board_list_resolver_spec.rb643spec/lib/gitlab/cluster/lifecycle_events_spec.rb644spec/services/dependency_proxy/find_or_create_blob_service_spec.rb645spec/models/alerting/project_alerting_setting_spec.rb646spec/lib/bitbucket_server/representation/repo_spec.rb647spec/lib/gitlab/cycle_analytics/summary/value_spec.rb648spec/models/term_agreement_spec.rb649spec/lib/gitlab/template/gitignore_template_spec.rb650spec/lib/bulk_imports/pipeline/extracted_data_spec.rb651spec/lib/gitlab/phabricator_import/issues/importer_spec.rb652spec/graphql/types/ci/stage_type_spec.rb653spec/lib/gitlab/graphql/pagination/keyset/last_items_spec.rb654spec/graphql/types/ci/status_action_type_spec.rb655spec/serializers/feature_flags_client_serializer_spec.rb656spec/lib/gitlab/email/message/in_product_marketing/create_spec.rb657spec/workers/ci/stuck_builds/drop_running_worker_spec.rb658spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb659spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb660spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb661spec/services/ci/process_pipeline_service_spec.rb662spec/lib/backup/uploads_spec.rb663spec/helpers/ci/jobs_helper_spec.rb664spec/views/profiles/notifications/show.html.haml_spec.rb665spec/workers/schedule_migrate_external_diffs_worker_spec.rb666spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb667spec/graphql/types/ci/test_case_status_enum_spec.rb668spec/lib/gitlab/sidekiq_logging/deduplication_logger_spec.rb669spec/workers/approve_blocked_pending_approval_users_worker_spec.rb670spec/graphql/types/alert_management/status_enum_spec.rb671spec/serializers/evidences/issue_entity_spec.rb672spec/views/groups/settings/_remove.html.haml_spec.rb673spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb674spec/experiments/new_project_sast_enabled_experiment_spec.rb675spec/lib/quality/seeders/issues_spec.rb676spec/serializers/ci/group_variable_entity_spec.rb677spec/lib/gitlab/config_checker/external_database_checker_spec.rb678spec/finders/packages/pypi/package_finder_spec.rb679spec/lib/gitlab/metrics/dashboard/stages/track_panel_type_spec.rb680spec/lib/gitlab/graphql/timeout_spec.rb681spec/tooling/lib/tooling/crystalball/coverage_lines_strategy_spec.rbKnapsack report generator started!682warning: parser/current is loading parser/ruby27, which recognizes683warning: 2.7.4-compliant syntax, but you are running 2.7.5.684warning: please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.685undefined method `[]' for #<RspecFlaky::FlakyExample:0x00007ff22e5e2d38>686Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}687==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.034960805 seconds...688Test environment set up in 2.45148428 seconds689Gitlab::UsageData690 .uncached_data691 includes basic top and second level keys692/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH693/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here694 clears memoized values695 ensures recorded_at is set before any other usage data calculation696 when generating usage ping in critical weeks697/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH698/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here699 does not raise error when generated in last week of the year700/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH701/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here702 does not raise error when generated in first week of the year703/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH704/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here705 does not raise error when generated in second week of the year706/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH707/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here708 does not raise error when generated in 3rd week of the year709 usage_activity_by_stage_package710 includes accurate usage_activity_by_stage data711 .usage_activity_by_stage_configure712 includes accurate usage_activity_by_stage data713 usage_activity_by_stage_create714 includes accurate usage_activity_by_stage data715 usage_activity_by_stage_manage716 includes accurate usage_activity_by_stage data717 includes import gmau usage data718 includes imports usage data719 usage_activity_by_stage_monitor720 includes accurate usage_activity_by_stage data721 usage_activity_by_stage_plan722 includes accurate usage_activity_by_stage data723 does not merge the data from instrumentation classes724 usage_activity_by_stage_release725 includes accurate usage_activity_by_stage data726 usage_activity_by_stage_verify727 includes accurate usage_activity_by_stage data728 .data729/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH730/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here731 gathers usage data732/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH733/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here734 gathers usage counts735/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH736/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here737 gathers usage counts correctly738/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH739/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here740 gathers object store usage correctly741/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH742/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here743 includes a recording_ce_finished_at timestamp744 with existing container expiration policies745/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH746/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here747 gathers usage data748 when queries time out749 with should_raise_for_dev? true750 raises an error751 when metric calls find_in_batches752 raises an error for jira_usage753 with should_raise_for_dev? false754/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH755/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here756 does not raise an error757 when metric calls find_in_batches758 does not raise an error for jira_usage759 .system_usage_data_monthly760 gathers monthly usage counts correctly761 .runners_usage762 gathers runner usage counts correctly763 .usage_counters764 is expected to include :kubernetes_agent_gitops_sync765 is expected to include :kubernetes_agent_k8s_api_proxy_request766 is expected to include :static_site_editor_views767 is expected to include :package_events_i_package_pull_package768 is expected to include :package_events_i_package_delete_package_by_user769 is expected to include :package_events_i_package_conan_push_package770 .usage_data_counters771 is expected to all respond to #totals772 is expected to all respond to #fallback_totals773 does not have any conflicts774 the results of calling #totals on all objects in the array775 is expected to all be a kind of Hash776 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all be a kind of Integer)}777 the results of calling #fallback_totals on all objects in the array778 is expected to all be a kind of Hash779 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all eq -1)}780 .license_usage_data781 gathers license data782 when not relying on database records783 .features_usage_data_ce784 gathers feature usage data785 with embedded Prometheus786 returns true when embedded Prometheus is enabled787 returns false when embedded Prometheus is disabled788 with embedded grafana789 returns true when embedded grafana is enabled790 returns false when embedded grafana is disabled791 with Gitpod792 returns true when is enabled793 returns false when is disabled794 .components_usage_data795 gathers basic components usage data796 .object_store_config797 when object_store is not configured798 returns component enable status only799 when object_store is configured800 returns filtered object store config801 when retrieve component setting meets exception802 returns -1 for component enable status803 .object_store_usage_data804 fetches object store config of five components805 .grafana_embed_usage_data806 with project grafana integration enabled807 with valid and invalid embeds808 counts only the issues with embeds809 with project grafana integration disabled810 with one issue having a grafana link in the description and one without811 behaves like zero count812 does not count the issue813 with an un-integrated project814 with one issue having a grafana link in the description and one without815 behaves like zero count816 does not count the issue817 .operating_system818/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH819/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here820 is expected to eq "ubuntu-20.04"821 when on Debian with armv architecture822/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: already initialized constant MAC_MATCH823/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/ohai-16.10.6/lib/ohai/plugins/eucalyptus.rb:32: warning: previous definition of MAC_MATCH was here824 is expected to eq "raspbian-10"825 .system_usage_data_settings826 gathers encrypted secrets usage data827 populates operating system information828 gathers gitaly apdex829 reports collected data categories830 gathers service_ping_features_enabled831 gathers user_cap_feature_enabled832 snowplow stats833 gathers snowplow stats834 .merge_requests_users835 returns the distinct count of users using merge requests (via events table) within the specified time period836 #action_monthly_active_users837 returns the distinct count of user actions within the specified time period838 .analytics_unique_visits_data839 returns the number of unique visits to pages with analytics features840 .compliance_unique_visits_data841 returns the number of unique visits to pages with compliance features842 .search_unique_visits_data843 returns the number of unique visits to pages with search features844 redis_hll_counters845 has all known_events846 .aggregated_metrics_data847 uses ::Gitlab::Usage::Metrics::Aggregates::Aggregate methods848 .service_desk_counts849 gathers Service Desk data850 .email_campaign_counts851 when queries time out852 with should_raise_for_dev? true853 raises an error854 with should_raise_for_dev? false855 returns -1 for email campaign data856 when there are entries857 gathers email campaign data858Ci::CreatePipelineService859 #execute860 skips creating pipeline for refs without .gitlab-ci.yml861 performance862 behaves like pipelines are created without N+1 SQL queries863 avoids N+1 queries864 valid params865 responds with success866 creates a pipeline867 increments the prometheus counter868 records pipeline size in a prometheus histogram869 tracks included template usage870 when merge requests already exist for this source branch871 when related merge request is already merged872 does not schedule update head pipeline job873 when the head pipeline sha equals merge request sha874 updates head pipeline of each merge request875 when the head pipeline sha does not equal merge request sha876 does not update the head piepeline of MRs877 when there is no pipeline for source branch878 does not update merge request head pipeline879 when merge request target project is different from source project880 updates head pipeline for merge request881 when the pipeline is not the latest for the branch882 does not update merge request head pipeline883 when pipeline has errors884 updates merge request head pipeline reference885 when pipeline has been skipped886 updates merge request head pipeline887 auto-cancel enabled888 does not cancel HEAD pipeline889 auto cancel pending non-HEAD pipelines890 cancels running outdated pipelines891 cancel created outdated pipelines892 does not cancel pipelines from the other branches893 when the interruptible attribute is894 not defined895 is cancelable896 set to true897 is cancelable898 set to false899 is not cancelable900 interruptible builds901 properly configures interruptible status902 when only interruptible builds are running903 when build marked explicitly by interruptible is running904 cancels running outdated pipelines905 when build that is not marked as interruptible is running906 cancels running outdated pipelines907 when an uninterruptible build is running908 does not cancel running outdated pipelines909 when an build is waiting on an interruptible scheduled task910 cancels running outdated pipelines911 when a uninterruptible build has finished912 does not cancel running outdated pipelines913 auto-cancel disabled914 does not auto cancel created non-HEAD pipelines915 skip tag if there is no build for it916 creates commit if there is appropriate job917 creates commit if there is no appropriate job but deploy job has right ref setting918 config evaluation919 when config is in a file in repository920 pull it from the repository921 when config is from Auto-DevOps922 pull it from Auto-DevOps923 when config is not found924 responds with error message925 when an unexpected error is raised926 saves error in pipeline927 logs error928 when yaml is invalid929 increments the error metric930 behaves like a failed pipeline931 creates failed pipeline932 when receive git commit933 behaves like a failed pipeline934 creates failed pipeline935 when config has ports936 in the main image937 behaves like a failed pipeline938 creates failed pipeline939 in the job image940 behaves like a failed pipeline941 creates failed pipeline942 in the service943 behaves like a failed pipeline944 creates failed pipeline945 when an unexpected error is raised946 saves error in pipeline947 logs error948 when commit contains a [ci skip] directive949 when the commit message is some message[ci skip]950 behaves like skipping a pipeline951 skips pipeline creation952 when the commit message is some message[skip ci]953 behaves like skipping a pipeline954 skips pipeline creation955 when the commit message is some message[CI SKIP]956 behaves like skipping a pipeline957 skips pipeline creation958 when the commit message is some message[SKIP CI]959 behaves like skipping a pipeline960 skips pipeline creation961 when the commit message is some message[ci_skip]962 behaves like skipping a pipeline963 skips pipeline creation964 when the commit message is some message[skip_ci]965 behaves like skipping a pipeline966 skips pipeline creation967 when the commit message is some message[ci-skip]968 behaves like skipping a pipeline969 skips pipeline creation970 when the commit message is some message[skip-ci]971 behaves like skipping a pipeline972 skips pipeline creation973 when commit message does not contain [ci skip] nor [skip ci]974 behaves like creating a pipeline975 does not skip pipeline creation976 when commit message is nil977 behaves like creating a pipeline978 does not skip pipeline creation979 when there is [ci skip] tag in commit message and yaml is invalid980 behaves like skipping a pipeline981 skips pipeline creation982 when push options contain ci.skip983 creates a pipline in the skipped state984 when there are no jobs for this pipeline985 does not create a new pipeline986 #iid987 rewinds iid988 with manual actions989 does not create a new pipeline990 with environment991 creates the environment with tags992 with environment with auto_stop_in993 creates the environment with auto stop in994 with environment name including persisted variables995 skipps persisted variables in environment name996 environment with Kubernetes configuration997 stores the requested namespace998 when environment with invalid name999 does not create an environment1000 when environment with duplicate names1001 creates a pipeline with the environment1002 when builds with auto-retries are configured1003 as an integer1004 correctly creates builds with auto-retry value configured1005 as hash1006 correctly creates builds with auto-retry value configured1007 with resource group1008 when resource group is defined1009 persists the association correctly1010 when resource group key includes predefined variables1011 interpolates the variables into the key correctly1012 when resource group is defined for review app deployment1013 persists the association correctly1014 initializes scoped variables only once for each build1015 with timeout1016 when builds with custom timeouts are configured1017 correctly creates builds with custom timeout value configured1018 with release1019 simple example1020 behaves like a successful release pipeline1021 is valid config1022 example with all release metadata1023 behaves like a successful release pipeline1024 is valid config1025 when ref is a protected branch1026 behaves like when ref is protected1027 when user is developer1028 does not create a pipeline1029 when user is maintainer1030 creates a protected pipeline1031 when trigger belongs to no one1032 does not create a pipeline1033 when trigger belongs to a developer1034 does not create a pipeline1035 when trigger belongs to a maintainer1036 creates a pipeline1037 when ref is a protected tag1038 behaves like when ref is protected1039 when user is developer1040 does not create a pipeline1041 when user is maintainer1042 creates a protected pipeline1043 when trigger belongs to no one1044 does not create a pipeline1045 when trigger belongs to a developer1046 does not create a pipeline1047 when trigger belongs to a maintainer1048 creates a pipeline1049 when pipeline is running for a tag1050 creates a tagged pipeline1051 when pipeline is running for a nonexistant-branch1052 does not create the pipeline1053 when there is a tag with that nonexistant-branch1054 does not create the pipeline1055 when pipeline is running for a branch with the name of both a branch and a tag1056 creates the pipeline for the branch1057 when pipeline is running for a tag with the name of both a branch and a tag1058 creates the pipeline for the tag1059 when pipeline is running for an ambiguous ref1060 does not create the pipeline1061 when pipeline variables are specified1062 with valid pipeline variables1063 creates a pipeline with specified variables1064 with duplicate pipeline variables1065 fails to create the pipeline1066 with more than one duplicate pipeline variable1067 fails to create the pipeline1068 when pipeline has a job with environment1069 when environment name is valid1070 has a job with environment1071 when environment name is invalid1072 has a job without environment1073 Pipeline for external pull requests1074 when source is external pull request1075 when config has external_pull_requests keywords1076 when external pull request is specified1077 creates an external pull request pipeline1078 when ref is tag1079 does not create an extrnal pull request pipeline1080 when pull request is created from fork1081 does not create an external pull request pipeline (PENDING: Not yet implemented)1082 when there are no matched jobs1083 does not create a detached merge request pipeline1084 when external pull request is not specified1085 does not create an external pull request pipeline1086 when config does not have external_pull_requests keywords1087 when external pull request is specified1088 creates an external pull request pipeline1089 when external pull request is not specified1090 does not create an external pull request pipeline1091 Pipelines for merge requests1092 when source is merge request1093 when config has merge_requests keywords1094 when merge request is specified1095 creates a detached merge request pipeline1096 persists the specified source sha1097 does not persist target sha for detached merge request pipeline1098 schedules update for the head pipeline of the merge request1099 schedules a namespace onboarding create action worker1100 when target sha is specified1101 persists the target sha1102 when ref is tag1103 does not create a merge request pipeline1104 when merge request is created from a forked project1105 creates a legacy detached merge request pipeline in the forked project1106 when there are no matched jobs1107 does not create a detached merge request pipeline1108 when config does not have merge_requests keywords1109 when merge request is specified1110 does not create a detached merge request pipeline1111 when config uses regular expression for only keyword1112 when merge request is specified1113 does not create a detached merge request pipeline1114 when config uses variables for only keyword1115 when merge request is specified1116 does not create a detached merge request pipeline1117 when config has 'except: [tags]'1118 when merge request is specified1119 does not create a detached merge request pipeline1120 when source is web1121 when config has merge_requests keywords1122 creates a branch pipeline1123 when needs is used1124 when pipeline on master is created1125 creates a pipeline with build_a and test_a1126 bulk inserts all needs1127 when pipeline on feature is created1128 when save_on_errors is enabled1129 does create a pipeline as test_a depends on build_a1130 behaves like has errors1131 contains the expected errors1132 when save_on_errors is disabled1133 does not create a pipeline as test_a depends on build_a1134 behaves like has errors1135 contains the expected errors1136 when pipeline on v1.0.0 is created1137 does create a pipeline only with deploy1138 when rules are used1139 with simple if: clauses1140 with matches1141 creates a pipeline with the vanilla and manual jobs1142 assigns job:when values to the builds1143 assigns job:allow_failure values to the builds1144 assigns start_in for delayed jobs1145 with no matches1146 behaves like rules jobs are excluded1147 only persists the job without rules1148 with complex if: clauses1149 matches the first rule1150 with changes:1151 and matches1152 creates five jobs1153 sets when: for all jobs1154 sets allow_failure: for negligible job1155 and matches the second rule1156 includes both jobs1157 sets when: for the created rules job based on the second clause1158 and does not match1159 sets when: for the created job1160 behaves like rules jobs are excluded1161 only persists the job without rules1162 with mixed if: and changes: rules1163 and changes: matches before if1164 creates two jobs1165 sets when: for all jobs1166 sets allow_failure: for all jobs1167 and if: matches after changes1168 includes both jobs1169 sets when: for the created rules job based on the second clause1170 and does not match1171 sets when: for the created job1172 behaves like rules jobs are excluded1173 only persists the job without rules1174 with mixed if: and changes: clauses1175 with if matches and changes matches1176 persists all jobs1177 with if matches and no change matches1178 behaves like rules jobs are excluded1179 only persists the job without rules1180 with change matches and no if matches1181 behaves like rules jobs are excluded1182 only persists the job without rules1183 and no matches1184 behaves like rules jobs are excluded1185 only persists the job without rules1186 with complex if: allow_failure usages1187 creates a pipeline1188 assigns job:allow_failure values to the builds1189 with complex if: allow_failure & when usages1190 creates a pipeline1191 assigns job:allow_failure values to the builds1192 assigns job:when values to the builds1193 with deploy freeze period `if:` clause1194 with 2 jobs1195 when outside freeze period1196 creates two jobs1197 when inside freeze period1198 creates one job1199 with 1 job1200 when outside freeze period1201 creates two jobs1202 when inside freeze period1203 does not create the pipeline1204 with workflow rules with persisted variables1205 with matches1206 creates a pipeline1207 with no matches1208 does not create a pipeline1209 with workflow rules with pipeline variables1210 with matches1211 creates a pipeline1212 with no matches1213 does not create a pipeline1214 with workflow rules with trigger variables1215 with matches1216 creates a pipeline1217 when a job requires the same variable1218 creates a pipeline1219 with no matches1220 does not create a pipeline1221 when a job requires the same variable1222 does not create a pipeline1223 #execute!1224 when user has a permission to create a pipeline1225 does not raise an error1226 creates a pipeline1227 when user does not have a permission to create a pipeline1228 raises an error1229 when a user with permissions has been blocked1230 raises an error1231Boards::Issues::ListService1232 #execute1233 when parent is a project1234 behaves like issues list service1235 delegates search to IssuesFinder1236 #metadata1237 returns issues count for list1238 behaves like items list service1239 avoids N+11240 returns opened items when list_id is missing1241 returns opened items when listing items from Backlog1242 returns opened items that have label list applied when listing items from a label list1243 returns closed items when listing items from Closed sorted by closed_at in descending order1244 raises an error if the list does not belong to the board1245 raises an error if list id is invalid1246 returns items from all lists if :all_list is used1247 when project is archived1248 behaves like issues list service1249 delegates search to IssuesFinder1250 #metadata1251 returns issues count for list1252 behaves like items list service1253 avoids N+11254 returns opened items when list_id is missing1255 returns opened items when listing items from Backlog1256 returns opened items that have label list applied when listing items from a label list1257 returns closed items when listing items from Closed sorted by closed_at in descending order1258 raises an error if the list does not belong to the board1259 raises an error if list id is invalid1260 returns items from all lists if :all_list is used1261 when filtering1262 when filtering by type1263 only returns the specified type1264 when filtering by negated type1265 only returns the specified type1266 when parent is a group1267 when the group has no parent1268 behaves like issues list service1269 delegates search to IssuesFinder1270 #metadata1271 returns issues count for list1272 behaves like items list service1273 avoids N+11274 returns opened items when list_id is missing1275 returns opened items when listing items from Backlog1276 returns opened items that have label list applied when listing items from a label list1277 returns closed items when listing items from Closed sorted by closed_at in descending order1278 raises an error if the list does not belong to the board1279 raises an error if list id is invalid1280 returns items from all lists if :all_list is used1281 when the group is an ancestor1282 behaves like issues list service1283 delegates search to IssuesFinder1284 #metadata1285 returns issues count for list1286 behaves like items list service1287 avoids N+11288 returns opened items when list_id is missing1289 returns opened items when listing items from Backlog1290 returns opened items that have label list applied when listing items from a label list1291 returns closed items when listing items from Closed sorted by closed_at in descending order1292 raises an error if the list does not belong to the board1293 raises an error if list id is invalid1294 returns items from all lists if :all_list is used1295 .initialize_relative_positions1296 when 'Gitlab::Database::read_write?' is true1297 user cannot move issues1298 does not initialize the relative positions of issues1299 user can move issues1300 initializes the relative positions of issues1301 when 'Gitlab::Database::read_write?' is false1302 does not initialize the relative positions of issues1303Mentionable1304 references1305 excludes Jira references1306Issue Mentionable1307 #mentioned_users1308 is expected to contain exactly #<User id:469 @stranger>1309 when a note on personal snippet1310 is expected to contain exactly #<User id:473 @stranger> and #<User id:475 @jim>1311 #referenced_mentionables1312 with an issue on a private project1313 when the current user can see the issue1314 includes the reference1315 when the current user cannot see the issue1316 does not include the reference1317 when there is no current user1318 does not include the reference1319 #create_cross_references!1320 correctly removes already-mentioned Commits1321 #create_new_cross_references!1322 before changes are persisted1323 ignores pre-existing references1324 notifies new references1325 after changes are persisted1326 ignores pre-existing references1327 notifies new references1328 notifies new references from project snippet note1329 #store_mentions!1330 behaves like mentions in description1331 when storing user mentions1332 when mentionable description has no mentions1333 stores no mentions1334 when mentionable description contains mentions1335 stores mentions1336 behaves like mentions in notes1337 when mentionable notes contain mentions1338 returns all mentionable mentions1339 load mentions1340 behaves like load mentions from DB1341 load stored mentions1342 when stored user mention contains ids of inexistent records1343 filters out inexistent mentions1344 when private projects and groups are mentioned1345 when user has no access to some mentions1346 filters out inaccessible mentions1347 when user has access to all mentions1348 returns all mentions1349Commit Mentionable1350 #matches_cross_reference_regex?1351 is false when message doesn't reference anything1352 is true if issue #number mentioned in title1353 is true if references an MR1354 is true if references a commit1355 is true if issue referenced by url1356 with external issue tracker1357 is true if external issues referenced1358 is true if internal issues referenced1359 #store_mentions!1360 behaves like mentions in notes1361 when mentionable notes contain mentions1362 returns all mentionable mentions1363 load mentions1364 behaves like load mentions from DB1365 load stored mentions1366 when stored user mention contains ids of inexistent records1367 filters out inexistent mentions1368 when private projects and groups are mentioned1369 when user has no access to some mentions1370 filters out inaccessible mentions1371 when user has access to all mentions1372 returns all mentions1373MergeRequest Mentionable1374 #store_mentions!1375 behaves like mentions in description1376 when storing user mentions1377 when mentionable description has no mentions1378 stores no mentions1379 when mentionable description contains mentions1380 stores mentions1381 behaves like mentions in notes1382 when mentionable notes contain mentions1383 returns all mentionable mentions1384 load mentions1385 behaves like load mentions from DB1386 load stored mentions1387 when stored user mention contains ids of inexistent records1388 filters out inexistent mentions1389 when private projects and groups are mentioned1390 when user has no access to some mentions1391 filters out inaccessible mentions1392 when user has access to all mentions1393 returns all mentions1394Snippet Mentionable1395 #store_mentions!1396 behaves like mentions in description1397 when storing user mentions1398 when mentionable description has no mentions1399 stores no mentions1400 when mentionable description contains mentions1401 stores mentions1402 behaves like mentions in notes1403 when mentionable notes contain mentions1404 returns all mentionable mentions1405 load mentions1406 behaves like load mentions from DB1407 load stored mentions1408 when stored user mention contains ids of inexistent records1409 filters out inexistent mentions1410 when private projects and groups are mentioned1411 when user has no access to some mentions1412 filters out inaccessible mentions1413 when user has access to all mentions1414 returns all mentions1415PersonalSnippet Mentionable1416 #store_mentions!1417 behaves like mentions in description1418 when storing user mentions1419 when mentionable description has no mentions1420 stores no mentions1421 when mentionable description contains mentions1422 stores mentions1423 behaves like mentions in notes1424 when mentionable notes contain mentions1425 returns all mentionable mentions1426 load mentions1427 behaves like load mentions from DB1428 load stored mentions1429 when stored user mention contains ids of inexistent records1430 filters out inexistent mentions1431 when private projects and groups are mentioned1432 when user has no access to some mentions1433 filters out inaccessible mentions1434 when user has access to all mentions1435 returns all mentions1436DesignManagement::Design1437 #store_mentions!1438 behaves like mentions in notes1439 when mentionable notes contain mentions1440 returns all mentionable mentions1441 load mentions1442 behaves like load mentions from DB1443 load stored mentions1444 when stored user mention contains ids of inexistent records1445 filters out inexistent mentions1446 when private projects and groups are mentioned1447 when user has no access to some mentions1448 filters out inaccessible mentions1449 when user has access to all mentions1450 returns all mentions1451Gitlab::UsageDataCounters::CiTemplateUniqueCounter1452 .track_unique_project_event1453 expands short template names1454 with explicit includes1455 for Laravel.gitlab-ci.yml1456 has an event defined for template1457 tracks template1458 for Python.gitlab-ci.yml1459 has an event defined for template1460 tracks template1461 for Gradle.gitlab-ci.yml1462 has an event defined for template1463 tracks template1464 for Go.gitlab-ci.yml1465 has an event defined for template1466 tracks template1467 for Composer.gitlab-ci.yml1468 has an event defined for template1469 tracks template1470 for Auto-DevOps.gitlab-ci.yml1471 has an event defined for template1472 tracks template1473 for Android.latest.gitlab-ci.yml1474 has an event defined for template1475 tracks template1476 for Rust.gitlab-ci.yml1477 has an event defined for template1478 tracks template1479 for Elixir.gitlab-ci.yml1480 has an event defined for template1481 tracks template1482 for Mono.gitlab-ci.yml1483 has an event defined for template1484 tracks template1485 for Terraform/Base.latest.gitlab-ci.yml1486 has an event defined for template1487 tracks template1488 for Terraform/Base.gitlab-ci.yml1489 has an event defined for template1490 tracks template1491 for PHP.gitlab-ci.yml1492 has an event defined for template1493 tracks template1494 for LaTeX.gitlab-ci.yml1495 has an event defined for template1496 tracks template1497 for Android.gitlab-ci.yml1498 has an event defined for template1499 tracks template1500 for Terraform.latest.gitlab-ci.yml1501 has an event defined for template1502 tracks template1503 for Serverless.gitlab-ci.yml1504 has an event defined for template1505 tracks template1506 for Django.gitlab-ci.yml1507 has an event defined for template1508 tracks template1509 for C++.gitlab-ci.yml1510 has an event defined for template1511 tracks template1512 for Terraform.gitlab-ci.yml1513 has an event defined for template1514 tracks template1515 for Scala.gitlab-ci.yml1516 has an event defined for template1517 tracks template1518 for Code-Quality.gitlab-ci.yml1519 has an event defined for template1520 tracks template1521 for Managed-Cluster-Applications.gitlab-ci.yml1522 has an event defined for template1523 tracks template1524 for Docker.gitlab-ci.yml1525 has an event defined for template1526 tracks template1527 for Julia.gitlab-ci.yml1528 has an event defined for template1529 tracks template1530 for npm.gitlab-ci.yml1531 has an event defined for template1532 tracks template1533 for Flutter.gitlab-ci.yml1534 has an event defined for template1535 tracks template1536 for Kaniko.gitlab-ci.yml1537 has an event defined for template1538 tracks template1539 for Getting-Started.gitlab-ci.yml1540 has an event defined for template1541 tracks template1542 for Packer.gitlab-ci.yml1543 has an event defined for template1544 tracks template1545 for Grails.gitlab-ci.yml1546 has an event defined for template1547 tracks template1548 for Crystal.gitlab-ci.yml1549 has an event defined for template1550 tracks template1551 for dotNET-Core.gitlab-ci.yml1552 has an event defined for template1553 tracks template1554 for OpenShift.gitlab-ci.yml1555 has an event defined for template1556 tracks template1557 for Deploy-ECS.gitlab-ci.yml1558 has an event defined for template1559 tracks template1560 for iOS-Fastlane.gitlab-ci.yml1561 has an event defined for template1562 tracks template1563 for dotNET.gitlab-ci.yml1564 has an event defined for template1565 tracks template1566 for Clojure.gitlab-ci.yml1567 has an event defined for template1568 tracks template1569 for Swift.gitlab-ci.yml1570 has an event defined for template1571 tracks template1572 for Security/Cluster-Image-Scanning.gitlab-ci.yml1573 has an event defined for template1574 tracks template1575 for Security/License-Scanning.gitlab-ci.yml1576 has an event defined for template1577 tracks template1578 for Security/Coverage-Fuzzing.gitlab-ci.yml1579 has an event defined for template1580 tracks template1581 for Security/DAST-On-Demand-Scan.gitlab-ci.yml1582 has an event defined for template1583 tracks template1584 for Security/SAST.gitlab-ci.yml1585 has an event defined for template1586 tracks template1587 for Security/DAST.latest.gitlab-ci.yml1588 has an event defined for template1589 tracks template1590 for Security/Secure-Binaries.gitlab-ci.yml1591 has an event defined for template1592 tracks template1593 for Security/DAST-API.gitlab-ci.yml1594 has an event defined for template1595 tracks template1596 for Security/Dependency-Scanning.gitlab-ci.yml1597 has an event defined for template1598 tracks template1599 for Security/API-Fuzzing.gitlab-ci.yml1600 has an event defined for template1601 tracks template1602 for Security/DAST.gitlab-ci.yml1603 has an event defined for template1604 tracks template1605 for Security/API-Fuzzing.latest.gitlab-ci.yml1606 has an event defined for template1607 tracks template1608 for Security/SAST-IaC.latest.gitlab-ci.yml1609 has an event defined for template1610 tracks template1611 for Security/DAST-Runner-Validation.gitlab-ci.yml1612 has an event defined for template1613 tracks template1614 for Security/Secret-Detection.gitlab-ci.yml1615 has an event defined for template1616 tracks template1617 for Security/DAST-API.latest.gitlab-ci.yml1618 has an event defined for template1619 tracks template1620 for Security/Container-Scanning.gitlab-ci.yml1621 has an event defined for template1622 tracks template1623 for Chef.gitlab-ci.yml1624 has an event defined for template1625 tracks template1626 for Android-Fastlane.gitlab-ci.yml1627 has an event defined for template1628 tracks template1629 for Maven.gitlab-ci.yml1630 has an event defined for template1631 tracks template1632 for Pages/Middleman.gitlab-ci.yml1633 has an event defined for template1634 tracks template1635 for Pages/Doxygen.gitlab-ci.yml1636 has an event defined for template1637 tracks template1638 for Pages/SwaggerUI.gitlab-ci.yml1639 has an event defined for template1640 tracks template1641 for Pages/Lektor.gitlab-ci.yml1642 has an event defined for template1643 tracks template1644 for Pages/Nanoc.gitlab-ci.yml1645 has an event defined for template1646 tracks template1647 for Pages/Pelican.gitlab-ci.yml1648 has an event defined for template1649 tracks template1650 for Pages/JBake.gitlab-ci.yml1651 has an event defined for template1652 tracks template1653 for Pages/Brunch.gitlab-ci.yml1654 has an event defined for template1655 tracks template1656 for Pages/Harp.gitlab-ci.yml1657 has an event defined for template1658 tracks template1659 for Pages/Hugo.gitlab-ci.yml1660 has an event defined for template1661 tracks template1662 for Pages/Gatsby.gitlab-ci.yml1663 has an event defined for template1664 tracks template1665 for Pages/HTML.gitlab-ci.yml1666 has an event defined for template1667 tracks template1668 for Pages/Metalsmith.gitlab-ci.yml1669 has an event defined for template1670 tracks template1671 for Pages/Jekyll.gitlab-ci.yml1672 has an event defined for template1673 tracks template1674 for Pages/Hexo.gitlab-ci.yml1675 has an event defined for template1676 tracks template1677 for Pages/Hyde.gitlab-ci.yml1678 has an event defined for template1679 tracks template1680 for Pages/Jigsaw.gitlab-ci.yml1681 has an event defined for template1682 tracks template1683 for Pages/Octopress.gitlab-ci.yml1684 has an event defined for template1685 tracks template1686 for Dart.gitlab-ci.yml1687 has an event defined for template1688 tracks template1689 for 5-Minute-Production-App.gitlab-ci.yml1690 has an event defined for template1691 tracks template1692 for Verify/Load-Performance-Testing.gitlab-ci.yml1693 has an event defined for template1694 tracks template1695 for Verify/FailFast.gitlab-ci.yml1696 has an event defined for template1697 tracks template1698 for Verify/Accessibility.gitlab-ci.yml1699 has an event defined for template1700 tracks template1701 for Ruby.gitlab-ci.yml1702 has an event defined for template1703 tracks template1704 for Workflows/MergeRequest-Pipelines.gitlab-ci.yml1705 has an event defined for template1706 tracks template1707 for Workflows/Branch-Pipelines.gitlab-ci.yml1708 has an event defined for template1709 tracks template1710 for Nodejs.gitlab-ci.yml1711 has an event defined for template1712 tracks template1713 for Indeni.Cloudrail.gitlab-ci.yml1714 has an event defined for template1715 tracks template1716 for AWS/Deploy-ECS.gitlab-ci.yml1717 has an event defined for template1718 tracks template1719 for AWS/CF-Provision-and-Deploy-EC2.gitlab-ci.yml1720 has an event defined for template1721 tracks template1722 for Bash.gitlab-ci.yml1723 has an event defined for template1724 tracks template1725 for Jobs/Deploy.latest.gitlab-ci.yml1726 has an event defined for template1727 tracks template1728 for Jobs/Build.gitlab-ci.yml1729 has an event defined for template1730 tracks template1731 for Jobs/Deploy.gitlab-ci.yml1732 has an event defined for template1733 tracks template1734 for Jobs/SAST.gitlab-ci.yml1735 has an event defined for template1736 tracks template1737 for Jobs/Load-Performance-Testing.gitlab-ci.yml1738 has an event defined for template1739 tracks template1740 for Jobs/Build.latest.gitlab-ci.yml1741 has an event defined for template1742 tracks template1743 for Jobs/Test.gitlab-ci.yml1744 has an event defined for template1745 tracks template1746 for Jobs/Code-Quality.gitlab-ci.yml1747 has an event defined for template1748 tracks template1749 for Jobs/Helm-2to3.gitlab-ci.yml1750 has an event defined for template1751 tracks template1752 for Jobs/Deploy/EC2.gitlab-ci.yml1753 has an event defined for template1754 tracks template1755 for Jobs/Deploy/ECS.gitlab-ci.yml1756 has an event defined for template1757 tracks template1758 for Jobs/SAST-IaC.latest.gitlab-ci.yml1759 has an event defined for template1760 tracks template1761 for Jobs/Code-Intelligence.gitlab-ci.yml1762 has an event defined for template1763 tracks template1764 for Jobs/Browser-Performance-Testing.latest.gitlab-ci.yml1765 has an event defined for template1766 tracks template1767 for Jobs/DAST-Default-Branch-Deploy.gitlab-ci.yml1768 has an event defined for template1769 tracks template1770 for Jobs/Secret-Detection.gitlab-ci.yml1771 has an event defined for template1772 tracks template1773 for Jobs/Browser-Performance-Testing.gitlab-ci.yml1774 has an event defined for template1775 tracks template1776 for Jobs/CF-Provision.gitlab-ci.yml1777 has an event defined for template1778 tracks template1779 with implicit includes1780 for Auto-DevOps.gitlab-ci.yml1781 has an event defined for template1782 tracks template1783 for Deploy.latest.gitlab-ci.yml1784 has an event defined for template1785 tracks template1786 for Build.gitlab-ci.yml1787 has an event defined for template1788 tracks template1789 for Deploy.gitlab-ci.yml1790 has an event defined for template1791 tracks template1792 for SAST.gitlab-ci.yml1793 has an event defined for template1794 tracks template1795 for Load-Performance-Testing.gitlab-ci.yml1796 has an event defined for template1797 tracks template1798 for Build.latest.gitlab-ci.yml1799 has an event defined for template1800 tracks template1801 for Test.gitlab-ci.yml1802 has an event defined for template1803 tracks template1804 for Code-Quality.gitlab-ci.yml1805 has an event defined for template1806 tracks template1807 for Helm-2to3.gitlab-ci.yml1808 has an event defined for template1809 tracks template1810 for Deploy/EC2.gitlab-ci.yml1811 has an event defined for template1812 tracks template1813 for Deploy/ECS.gitlab-ci.yml1814 has an event defined for template1815 tracks template1816 for SAST-IaC.latest.gitlab-ci.yml1817 has an event defined for template1818 tracks template1819 for Code-Intelligence.gitlab-ci.yml1820 has an event defined for template1821 tracks template1822 for Browser-Performance-Testing.latest.gitlab-ci.yml1823 has an event defined for template1824 tracks template1825 for DAST-Default-Branch-Deploy.gitlab-ci.yml1826 has an event defined for template1827 tracks template1828 for Secret-Detection.gitlab-ci.yml1829 has an event defined for template1830 tracks template1831 for Browser-Performance-Testing.gitlab-ci.yml1832 has an event defined for template1833 tracks template1834 for CF-Provision.gitlab-ci.yml1835 has an event defined for template1836 tracks template1837 for Cluster-Image-Scanning.gitlab-ci.yml1838 has an event defined for template1839 tracks template1840 for License-Scanning.gitlab-ci.yml1841 has an event defined for template1842 tracks template1843 for Coverage-Fuzzing.gitlab-ci.yml1844 has an event defined for template1845 tracks template1846 for DAST-On-Demand-Scan.gitlab-ci.yml1847 has an event defined for template1848 tracks template1849 for SAST.gitlab-ci.yml1850 has an event defined for template1851 tracks template1852 for DAST.latest.gitlab-ci.yml1853 has an event defined for template1854 tracks template1855 for Secure-Binaries.gitlab-ci.yml1856 has an event defined for template1857 tracks template1858 for DAST-API.gitlab-ci.yml1859 has an event defined for template1860 tracks template1861 for Dependency-Scanning.gitlab-ci.yml1862 has an event defined for template1863 tracks template1864 for API-Fuzzing.gitlab-ci.yml1865 has an event defined for template1866 tracks template1867 for DAST.gitlab-ci.yml1868 has an event defined for template1869 tracks template1870 for API-Fuzzing.latest.gitlab-ci.yml1871 has an event defined for template1872 tracks template1873 for SAST-IaC.latest.gitlab-ci.yml1874 has an event defined for template1875 tracks template1876 for DAST-Runner-Validation.gitlab-ci.yml1877 has an event defined for template1878 tracks template1879 for Secret-Detection.gitlab-ci.yml1880 has an event defined for template1881 tracks template1882 for DAST-API.latest.gitlab-ci.yml1883 has an event defined for template1884 tracks template1885 for Container-Scanning.gitlab-ci.yml1886 has an event defined for template1887 tracks template1888ProjectWiki1889 behaves like wiki model1890 container class includes HasWiki1891 is expected to delegate #storage to the #container object1892 is expected to delegate #repository_storage to the #container object1893 is expected to delegate #hashed_storage? to the #container object1894 behaves like model with repository1895 container class includes HasRepository1896 #commits_by1897 retrieves several commits from the repository by oid1898 #web_url1899 when given the only_path option1900 when only_path is false1901 returns the full web URL for this repo1902 when only_path is true1903 returns the relative web URL for this repo1904 when only_path is nil1905 returns the full web URL for this repo1906 when not given the only_path option1907 returns the full web URL for this repo1908 #url_to_repo1909 returns the SSH URL to the repository1910 #ssh_url_to_repo1911 returns the SSH URL to the repository1912 #http_url_to_repo1913 returns the HTTP URL to the repository1914 #repository1915 returns valid repo1916 uses the same container1917 #storage1918 returns valid storage1919 #full_path1920 returns valid full_path1921 #lfs_enabled?1922 returns the expected value1923 #empty_repo?1924 when the repo does not exist1925 returns true1926 when the repo exists1927 returns the empty state of the repository1928 #valid_repo?1929 is expected to equal false1930 is expected to equal true1931 #repository_exists?1932 is expected to equal false1933 is expected to equal true1934 #repo_exists?1935 is expected to equal false1936 is expected to equal true1937 #root_ref1938 is expected to equal true1939 is expected to equal false1940 is expected to equal false1941 Respond to1942 is expected to respond to #base_dir1943 is expected to respond to #disk_path1944 is expected to respond to #gitlab_shell1945 #change_head1946 delegates #change_head to repository1947 #after_repository_change_head1948 calls #reload_default_branch1949 .container_class1950 is set to the container class1951 .find_by_id1952 returns a wiki instance if the container is found1953 returns nil if the container is not found1954 #initialize1955 accepts a valid user1956 accepts a blank user1957 raises an error for invalid users1958 #run_after_commit1959 delegates to the container1960 #==1961 returns true for wikis from the same container1962 returns false for wikis from different containers1963 #id1964 returns the ID of the container1965 #to_global_id1966 returns a global ID1967 #repository1968 returns a wiki repository1969 #full_path1970 returns the container path with the .wiki extension1971 #wiki_base_path1972 returns the wiki base path1973 includes the relative URL root1974 #wiki1975 contains a Gitlab::Git::Wiki instance1976 creates a new wiki repo if one does not yet exist1977 creates a new wiki repo with a default commit message1978 when the repository cannot be created1979 raises CouldNotCreateWikiError1980 #empty?1981 when the wiki repository is empty1982 returns true1983 when the repository does not exist1984 returns true and does not create the repo1985 when the wiki has pages1986 #empty?1987 returns false1988 only instantiates a Wiki page once1989 #list_pages1990 returns an array of WikiPage instances1991 does not load WikiPage content by default1992 returns all pages by default1993 with limit option1994 returns limited set of pages1995 with sorting options1996 returns pages sorted by title by default1997 returns pages sorted by created_at1998 with load_content option1999 loads WikiPage content2000 #sidebar_entries2001 when the number of pages does not exceed the limit2002 returns all pages grouped by directory and limited is false2003 when the number of pages exceeds the limit2004 returns 15 pages grouped by directory and limited is true2005 #find_page2006 returns the latest version of the page if it exists2007 returns nil if the page or version does not exist2008 can find a page by slug2009 returns a WikiPage instance2010 pages with multibyte-character title2011 can find a page by slug2012 pages with invalidly-encoded content2013 can find the page2014 #find_sidebar2015 finds the page defined as _sidebar2016 #find_file2017 returns the latest version of the file if it exists2018 returns nil if the page does not exist2019 returns a Gitlab::Git::WikiFile instance2020 returns the whole file2021 when load_content is disabled2022 includes the file data in the Gitlab::Git::WikiFile2023 #create_page2024 creates a new wiki page2025 returns false when a duplicate page exists2026 stores an error message when a duplicate page exists2027 sets the correct commit message2028 sets the correct commit email2029 runs after_wiki_activity callbacks2030 #update_page2031 updates the content of the page2032 sets the correct commit message2033 sets the correct commit email2034 runs after_wiki_activity callbacks2035 #delete_page2036 deletes the page2037 sets the correct commit email2038 runs after_wiki_activity callbacks2039 when an error is raised2040 logs the error and returns false2041 #ensure_repository2042 if the repository exists2043 does not create the repository2044 if the repository does not exist2045 creates the repository2046 #hook_attrs2047 returns a hash with values2048 #default_branch2049 when repository is not created2050 returns the instance default branch2051 when repository is empty2052 returns the instance default branch2053 when repository is not empty2054 returns the repository default branch2055 #create_wiki_repository2056 when repository is not created2057 changes the HEAD reference to the default branch2058 when repository is empty2059 changes the HEAD reference to the default branch2060 when repository is not empty2061 does nothing when HEAD points to the right branch2062 when HEAD points to the wrong branch2063 rewrites HEAD with the right branch2064 #disk_path2065 returns the repository storage path2066 #after_wiki_activity2067 updates project activity2068 #after_post_receive2069 updates project activity and expires caches2070 behaves like can housekeep repository2071 with a clean redis state2072 #pushes_since_gc2073 without any pushes2074 returns 02075 with a number of pushes2076 returns the number of pushes2077 #increment_pushes_since_gc2078 increments the number of pushes since the last GC2079 #reset_pushes_since_gc2080 resets the number of pushes since the last GC2081 #pushes_since_gc_redis_shared_state_key2082 returns the proper redis key format2083 #git_garbage_collect_worker_klass2084 defines a git gargabe collect worker2085FileUploader2086 legacy storage2087 behaves like builds correct legacy storage paths2088 #store_dir2089 behaves like matches the method pattern2090 is expected to match /awesome\/project\/\h+/2091 #cache_dir2092 behaves like matches the method pattern2093 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2094 #work_dir2095 behaves like matches the method pattern2096 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2097 #upload_path2098 behaves like matches the method pattern2099 is expected to match /\h+\/<filename>/2100 #relative_path2101 is relative (PENDING: Path not set, skipping.)2102 .absolute_path2103 behaves like matches the method pattern2104 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/awesome\/project\/55dc16aa0edd05693fd98b5051e83321\/foo.jpg/2105 .base_dir2106 behaves like matches the method pattern2107 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2108 path traversal exploits2109 throws an exception2110 uses hashed storage2111 when rolled out attachments2112 #store_dir2113 behaves like matches the method pattern2114 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+/2115 #cache_dir2116 behaves like matches the method pattern2117 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2118 #work_dir2119 behaves like matches the method pattern2120 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2121 #upload_path2122 behaves like matches the method pattern2123 is expected to match /\h+\/<filename>/2124 #relative_path2125 is relative (PENDING: Path not set, skipping.)2126 .absolute_path2127 behaves like matches the method pattern2128 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2129 .base_dir2130 behaves like matches the method pattern2131 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2132 path traversal exploits2133 throws an exception2134 when only repositories are rolled out2135 behaves like builds correct legacy storage paths2136 #store_dir2137 behaves like matches the method pattern2138 is expected to match /awesome\/project\/\h+/2139 #cache_dir2140 behaves like matches the method pattern2141 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2142 #work_dir2143 behaves like matches the method pattern2144 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2145 #upload_path2146 behaves like matches the method pattern2147 is expected to match /\h+\/<filename>/2148 #relative_path2149 is relative (PENDING: Path not set, skipping.)2150 .absolute_path2151 behaves like matches the method pattern2152 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/awesome\/project\/55dc16aa0edd05693fd98b5051e83321\/foo.jpg/2153 .base_dir2154 behaves like matches the method pattern2155 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2156 path traversal exploits2157 throws an exception2158 object store is remote2159 behaves like builds correct paths2160 #store_dir2161 behaves like matches the method pattern2162 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+/2163 #cache_dir2164 behaves like matches the method pattern2165 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2166 #work_dir2167 behaves like matches the method pattern2168 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2169 #upload_path2170 behaves like matches the method pattern2171 is expected to match /@hashed\/\h{2}\/\h{2}\/\h+\/\h+\/<filename>/2172 #relative_path2173 is relative (PENDING: Path not set, skipping.)2174 .absolute_path2175 behaves like matches the method pattern2176 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2177 .base_dir2178 behaves like matches the method pattern2179 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)2180 path traversal exploits2181 throws an exception2182 initialize2183 accepts a secret parameter2184 callbacks2185 #prune_store_dir after :remove2186 is called2187 prune the store directory2188 copy_to2189 files are stored locally2190 copies the file to the correct location2191 returned uploader2192 generates a new secret2193 creates new upload correctly2194 copies the file2195 files are stored remotely2196 copies the file to the correct location2197 returned uploader2198 generates a new secret2199 creates new upload correctly2200 copies the file2201 .extract_dynamic_path2202 with an absolute path without a slash in the beginning2203 behaves like a valid secret2204 with a 32-byte hexadecimal secret2205 extracts the secret2206 extracts the identifier2207 with a 10-byte hexadecimal secret2208 extracts the secret2209 extracts the identifier2210 with an invalid secret2211 returns nil2212 with an absolute path with a slash in the beginning2213 behaves like a valid secret2214 with a 32-byte hexadecimal secret2215 extracts the secret2216 extracts the identifier2217 with a 10-byte hexadecimal secret2218 extracts the secret2219 extracts the identifier2220 with an invalid secret2221 returns nil2222 with an relative path without a slash in the beginning2223 behaves like a valid secret2224 with a 32-byte hexadecimal secret2225 extracts the secret2226 extracts the identifier2227 with a 10-byte hexadecimal secret2228 extracts the secret2229 extracts the identifier2230 with an invalid secret2231 returns nil2232 with an relative path with a slash in the beginning2233 behaves like a valid secret2234 with a 32-byte hexadecimal secret2235 extracts the secret2236 extracts the identifier2237 with a 10-byte hexadecimal secret2238 extracts the secret2239 extracts the identifier2240 with an invalid secret2241 returns nil2242 #secret2243 generates a secret if none is provided2244 validation2245 32-byte hexadecimal2246 returns the secret2247 10-byte hexadecimal2248 returns the secret2249 invalid secret supplied2250 raises an exception2251 #migrate!2252 behaves like migrates2253 returns corresponding file type2254 does nothing when migrating to the current store2255 migrate to the specified store2256 removes the original file after the migration2257 can access to the original file during migration2258 when migrate! is not occupied by another process2259 executes migrate!2260 executes use_file2261 when migrate! is occupied by another process2262 does not execute migrate!2263 does not execute use_file2264 migration is unsuccessful2265 when the store is not supported2266 does not update the object_store2267 does not delete the original file2268 upon a fog failure2269 does not update the object_store2270 does not delete the original file2271 upon a database failure2272 does not update the object_store2273 does not delete the original file2274 behaves like migrates2275 returns corresponding file type2276 does nothing when migrating to the current store2277 migrate to the specified store2278 removes the original file after the migration2279 can access to the original file during migration2280 when migrate! is not occupied by another process2281 executes migrate!2282 executes use_file2283 when migrate! is occupied by another process2284 does not execute migrate!2285 does not execute use_file2286 migration is unsuccessful2287 when the store is not supported2288 does not update the object_store2289 does not delete the original file2290 upon a fog failure2291 does not update the object_store2292 does not delete the original file2293 upon a database failure2294 does not update the object_store2295 does not delete the original file2296 #upload=2297 handles nil2298 extract the uploader context from it2299 #replace_file_without_saving!2300 replaces an existing file without changing its metadata2301 when remote file is used2302 #cache!2303 file is stored remotely in permament location with sanitized name2304 #to_h2305 generates URL using original file name instead of filename returned by object storage2306Projects::UpdateService2307 #execute2308 when changing visibility level2309 when visibility_level changes to INTERNAL2310 updates the project to internal2311 when visibility_level changes to PUBLIC2312 updates the project to public2313 and project is PRIVATE2314 does not unlink project from fork network2315 when visibility_level changes to PRIVATE2316 updates the project to private2317 when visibility levels are restricted to PUBLIC only2318 when visibility_level is INTERNAL2319 updates the project to internal2320 when visibility_level is PUBLIC2321 does not update the project to public2322 when updated by an admin2323 when admin mode is enabled2324 updates the project to public2325 when admin mode is disabled2326 does not update the project to public2327 when project visibility is higher than parent group2328 does not update project visibility level even if admin2329 when updating shared runners2330 can enable shared runners2331 enables shared runners2332 cannot enable shared runners2333 does not enable shared runners2334 when updating project that has forks2335 and unlink forks feature flag is off2336 updates forks visibility level when parent set to more restrictive2337 does not update forks visibility level when parent set to less restrictive2338 and unlink forks feature flag is on2339 does not change visibility of forks2340 when updating a default branch2341 changes default branch, tracking the previous branch2342 does not change a default branch2343 when we update project but not enabling a wiki2344 does not try to create an empty wiki2345 handles empty project feature attributes2346 when enabling a wiki2347 creates a wiki2348 logs an error and creates a metric when wiki can not be created2349 when changing feature visibility to private2350 updates the visibility correctly2351 when updating a project that contains container images2352 does not allow to rename the project2353 allows to update other settings2354 when renaming a project2355 with legacy storage2356 does not allow renaming when new path matches existing repository on disk2357 when hashed storage is enabled2358 migrates project to a hashed storage instead of renaming the repo to another legacy name2359 with hashed storage2360 does not check if new path matches existing repository on disk2361 when passing invalid parameters2362 returns an error result when record cannot be updated2363 when updating #pages_https_only2364 updates the attribute2365 behaves like updating pages configuration2366 schedules the `PagesUpdateConfigurationWorker` when pages are deployed2367 does not schedule a job when pages aren't deployed2368 when updating #pages_access_level2369 updates the attribute2370 behaves like updating pages configuration2371 schedules the `PagesUpdateConfigurationWorker` when pages are deployed2372 does not schedule a job when pages aren't deployed2373 when updating #emails_disabled2374 updates the attribute for the project owner2375 does not update when not project owner2376 when updating runners settings2377 when project has shared runners enabled2378 updates builds queue when shared runners get disabled2379 when project has shared runners disabled2380 updates builds queue when shared runners get enabled2381 when project has group runners enabled2382 updates builds queue when group runners get disabled2383 when project has group runners disabled2384 updates builds queue when group runners get enabled2385 with external authorization enabled2386 does not save the project with an error if the service denies access2387 saves the new label if the service allows access2388 checks the default label when the classification label was cleared2389 does not check the label when it does not change2390 when updating nested attributes for prometheus integration2391 prometheus integration exists2392 updates existing record2393 prometheus integration does not exist2394 valid parameters2395 creates new record2396 invalid parameters2397 does not create new record2398 when changing repository_storage2399 authenticated as admin2400 when admin mode is enabled2401 schedules the transfer of the repository to the new storage and locks the project2402 when admin mode is disabled2403 behaves like the transfer was not scheduled2404 does not schedule the transfer2405 the repository is read-only2406 behaves like the transfer was not scheduled2407 does not schedule the transfer2408 the storage has not changed2409 behaves like the transfer was not scheduled2410 does not schedule the transfer2411 the storage does not exist2412 behaves like the transfer was not scheduled2413 does not schedule the transfer2414 authenticated as user2415 behaves like the transfer was not scheduled2416 does not schedule the transfer2417 when updating topics2418 update using topics2419 update using topic_list2420 update using tag_list (deprecated)2421 #run_auto_devops_pipeline?2422 when master contains a .gitlab-ci.yml file2423 is expected to eq false2424 when auto devops is nil2425 is expected to eq false2426 when auto devops is explicitly enabled2427 is expected to eq true2428 when auto devops is explicitly disabled2429 is expected to eq false2430 when auto devops is set to instance setting2431 when auto devops is enabled system-wide2432 is expected to eq true2433 when auto devops is disabled system-wide2434 is expected to eq false2435Issues::CloneService2436 #execute2437 issue movable2438 generic issue2439 creates a new issue in the selected project2440 copies issue title2441 copies issue description2442 adds system note to old issue at the end2443 adds system note to new issue at the end2444 keeps old issue open2445 persists new issue2446 persists all changes2447 sets the current user as author2448 creates a new internal id for issue2449 preserves create time2450 does not copy system notes2451 does not set moved_issue2452 when copying comments2453 does not create extra system notes2454 issue with award emoji2455 copies the award emoji2456 issue with milestone2457 does not create extra milestone events2458 issue with due date2459 keeps the same due date2460 issue with assignee2461 preserves assignee with access to the new issue2462 ignores assignee without access to the new issue2463 issue is confidential2464 preserves the confidential flag2465 moving to same project2466 also works2467 project issue hooks2468 executes project issue hooks2469 issue with notes2470 does not copy notes2471 when copying comments2472 copies existing notes in order2473 issue with a design2474 calls CopyDesignCollection::QueueService2475 logs if QueueService returns an error2476 copies the design and its notes2477 issue relative position2478 behaves like copy or reset relative position2479 when moved to a project within same group hierarchy2480 does not reset the relative_position2481 when moved to a project in a different group hierarchy2482 does reset the relative_position2483 clone permissions2484 target project is pending deletion2485 is expected to raise Issues::CloneService::CloneError with message matching /pending deletion/2486 user is reporter in both projects2487 is expected not to raise Exception2488 user is reporter only in new project2489 is expected to raise StandardError with message matching /permissions/2490 user is reporter only in old project2491 is expected to raise StandardError with message matching /permissions/2492 user is reporter in one project and guest in another2493 is expected to raise StandardError with message matching /permissions/2494 issue is not persisted2495 is expected to raise StandardError with message matching /permissions/2496Packages::GroupPackagesFinder2497 #execute2498 group has packages2499 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default"> and #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2500 subgroup has packages2501 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2502 excluding subgroups2503 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default"> and #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2504 permissions2505 role: :anonymous, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2506 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2507 role: :guest, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2508 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2509 role: :reporter, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2510 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2511 role: :developer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2512 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2513 role: :maintainer, project_visibility: :public, repository_visibility: :enabled, packages_returned: :all2514 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2515 role: :anonymous, project_visibility: :public, repository_visibility: :private, packages_returned: :none2516 is expected to contain exactly2517 role: :guest, project_visibility: :public, repository_visibility: :private, packages_returned: :all2518 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2519 role: :reporter, project_visibility: :public, repository_visibility: :private, packages_returned: :all2520 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2521 role: :developer, project_visibility: :public, repository_visibility: :private, packages_returned: :all2522 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2523 role: :maintainer, project_visibility: :public, repository_visibility: :private, packages_returned: :all2524 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2525 role: :anonymous, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none2526 is expected to contain exactly2527 role: :guest, project_visibility: :private, repository_visibility: :enabled, packages_returned: :none2528 is expected to contain exactly2529 role: :reporter, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2530 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2531 role: :developer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2532 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2533 role: :maintainer, project_visibility: :private, repository_visibility: :enabled, packages_returned: :all2534 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2535 role: :anonymous, project_visibility: :private, repository_visibility: :private, packages_returned: :none2536 is expected to contain exactly2537 role: :guest, project_visibility: :private, repository_visibility: :private, packages_returned: :none2538 is expected to contain exactly2539 role: :reporter, project_visibility: :private, repository_visibility: :private, packages_returned: :all2540 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2541 role: :developer, project_visibility: :private, repository_visibility: :private, packages_returned: :all2542 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2543 role: :maintainer, project_visibility: :private, repository_visibility: :private, packages_returned: :all2544 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">, and #<Packages::Package id: 51, project_id: 557, created_at: "2021-12-14 01:42:35.626027108 +0000", updat...e: "@group115/package-1", version: "1.0.1", package_type: "npm", creator_id: 792, status: "default">2545 avoid N+1 query2546 avoids N+1 database queries2547 when there are processing packages2548 is expected to contain exactly #<Packages::Package id: 46, project_id: 552, created_at: "2021-12-14 01:42:34.357905939 +0000", updat...ny/app/my-app", version: "1.45-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default"> and #<Packages::Package id: 48, project_id: 552, created_at: "2021-12-14 01:42:34.590652063 +0000", updat...ny/app/my-app", version: "1.47-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2549 with package_name2550 as complete name2551 is expected to eq [#<Packages::Package id: 68, project_id: 552, created_at: "2021-12-14 01:42:52.493364678 +0000", upda...name: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">]2552 for fuzzy filter aven2553 is expected to eq [#<Packages::Package id: 68, project_id: 552, created_at: "2021-12-14 01:42:52.493364678 +0000", upda...name: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">]2554 for fuzzy filter mav2555 is expected to eq [#<Packages::Package id: 68, project_id: 552, created_at: "2021-12-14 01:42:52.493364678 +0000", upda...name: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">]2556 for fuzzy filter ave2557 is expected to eq [#<Packages::Package id: 68, project_id: 552, created_at: "2021-12-14 01:42:52.493364678 +0000", upda...name: "maven", version: "1.53-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">]2558 with exact package_name2559 as complete name2560 is expected to contain exactly #<Packages::Package id: 70, project_id: 552, created_at: "2021-12-14 01:42:53.763607687 +0000", updat... name: "maven", version: "1.55-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2561 behaves like concerning versionless param2562 is expected not to include #<Packages::Package id: 74, project_id: 552, created_at: "2021-12-14 01:42:54.602580574 +0000", updat...e: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 787, status: "default">2563 with valid include_versionless param2564 is expected to include #<Packages::Package id: 74, project_id: 552, created_at: "2021-12-14 01:42:54.602580574 +0000", updat...e: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 787, status: "default">2565 with empty include_versionless param2566 is expected not to include #<Packages::Package id: 74, project_id: 552, created_at: "2021-12-14 01:42:54.602580574 +0000", updat...e: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 787, status: "default">2567 behaves like concerning package statuses2568 displayable packages2569 is expected not to include #<Packages::Package id: 76, project_id: 552, created_at: "2021-12-14 01:42:55.466266357 +0000", updat...any/app/my-app", version: "1.60-SNAPSHOT", package_type: "maven", creator_id: 787, status: "hidden">2570 is expected to include #<Packages::Package id: 78, project_id: 552, created_at: "2021-12-14 01:42:55.746732643 +0000", updat...pany/app/my-app", version: "1.62-SNAPSHOT", package_type: "maven", creator_id: 787, status: "error">2571 with status param2572 is expected to contain exactly #<Packages::Package id: 76, project_id: 552, created_at: "2021-12-14 01:42:55.466266357 +0000", updat...any/app/my-app", version: "1.60-SNAPSHOT", package_type: "maven", creator_id: 787, status: "hidden">2573 with invalid status param2574 is expected to raise Packages::FinderHelper::InvalidStatusError2575 group has package of all types2576 behaves like with package type2577 is expected to contain exactly #<Packages::Package id: 80, project_id: 552, created_at: "2021-12-14 01:42:56.657422909 +0000", updat...ny/app/my-app", version: "1.64-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2578 behaves like with package type2579 is expected to contain exactly #<Packages::Package id: 81, project_id: 552, created_at: "2021-12-14 01:42:56.697278292 +0000", updat...e: "@group115/package-3", version: "1.0.3", package_type: "npm", creator_id: 787, status: "default">2580 behaves like with package type2581 is expected to contain exactly #<Packages::Package id: 83, project_id: 552, created_at: "2021-12-14 01:42:56.964017100 +0000", updat...00", name: "package-3", version: "1.0.0", package_type: "conan", creator_id: 787, status: "default">2582 behaves like with package type2583 is expected to contain exactly #<Packages::Package id: 84, project_id: 552, created_at: "2021-12-14 01:42:57.029374480 +0000", updat... name: "NugetPackage3", version: "1.0.3", package_type: "nuget", creator_id: 787, status: "default">2584 behaves like with package type2585 is expected to contain exactly #<Packages::Package id: 85, project_id: 552, created_at: "2021-12-14 01:42:57.042645348 +0000", updat... name: "pypi-package-2", version: "1.0.2", package_type: "pypi", creator_id: 787, status: "default">2586 behaves like with package type2587 is expected to contain exactly #<Packages::Package id: 86, project_id: 552, created_at: "2021-12-14 01:42:57.060994565 +0000", updat...composer-package-2", version: "1.0.2", package_type: "composer", creator_id: 787, status: "default">2588 behaves like with package type2589 is expected to contain exactly #<Packages::Package id: 87, project_id: 552, created_at: "2021-12-14 01:42:57.065085934 +0000", updat... "generic-package-2", version: "1.0.0", package_type: "generic", creator_id: 787, status: "default">2590 behaves like with package type2591 is expected to contain exactly #<Packages::Package id: 88, project_id: 552, created_at: "2021-12-14 01:42:57.069002403 +0000", updat..."golang.org/x/pkg-2", version: "v1.0.2", package_type: "golang", creator_id: 787, status: "default">2592 behaves like with package type2593 is expected to contain exactly #<Packages::Package id: 89, project_id: 552, created_at: "2021-12-14 01:42:57.265238762 +0000", updat...0", name: "package-2", version: "1.0-2", package_type: "debian", creator_id: 787, status: "default">2594 behaves like with package type2595 is expected to contain exactly #<Packages::Package id: 90, project_id: 552, created_at: "2021-12-14 01:42:57.405824750 +0000", updat...00", name: "my_gem_2", version: "1.2", package_type: "rubygems", creator_id: 787, status: "default">2596 behaves like with package type2597 is expected to contain exactly #<Packages::Package id: 91, project_id: 552, created_at: "2021-12-14 01:42:57.436455695 +0000", updat...00", name: "package-2", version: "v1.0.2", package_type: "helm", creator_id: 787, status: "default">2598 behaves like with package type2599 is expected to contain exactly #<Packages::Package id: 92, project_id: 552, created_at: "2021-12-14 01:42:57.458297272 +0000", updat...e-2/system", version: "1.0.0", package_type: "terraform_module", creator_id: 787, status: "default">2600 group has no packages2601 is expected to be empty2602 group is nil2603 is expected to be empty2604 package type is nil2605 is expected to contain exactly #<Packages::Package id: 94, project_id: 552, created_at: "2021-12-14 01:43:01.058860642 +0000", updat...ny/app/my-app", version: "1.66-SNAPSHOT", package_type: "maven", creator_id: 787, status: "default">2606 with invalid package_type2607 is expected to raise Packages::FinderHelper::InvalidPackageTypeError2608WikiPagePolicy2609 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12610 grants permission2611 project_level: :public, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12612 grants permission2613 project_level: :public, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12614 grants permission2615 project_level: :public, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12616 grants permission2617 project_level: :public, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12618 grants permission2619 project_level: :public, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 12620 grants permission2621 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12622 grants permission2623 project_level: :public, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02624 grants permission2625 project_level: :public, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12626 grants permission2627 project_level: :public, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12628 grants permission2629 project_level: :public, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02630 grants permission2631 project_level: :public, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02632 grants permission2633 project_level: :public, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02634 grants permission2635 project_level: :public, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02636 grants permission2637 project_level: :public, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02638 grants permission2639 project_level: :public, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02640 grants permission2641 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: true, expected_count: 12642 grants permission2643 project_level: :internal, feature_access_level: :enabled, membership: :admin, admin_mode: false, expected_count: 12644 grants permission2645 project_level: :internal, feature_access_level: :enabled, membership: :reporter, admin_mode: nil, expected_count: 12646 grants permission2647 project_level: :internal, feature_access_level: :enabled, membership: :guest, admin_mode: nil, expected_count: 12648 grants permission2649 project_level: :internal, feature_access_level: :enabled, membership: :non_member, admin_mode: nil, expected_count: 12650 grants permission2651 project_level: :internal, feature_access_level: :enabled, membership: :anonymous, admin_mode: nil, expected_count: 02652 grants permission2653 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12654 grants permission2655 project_level: :internal, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02656 grants permission2657 project_level: :internal, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12658 grants permission2659 project_level: :internal, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12660 grants permission2661 project_level: :internal, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02662 grants permission2663 project_level: :internal, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02664 grants permission2665 project_level: :internal, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02666 grants permission2667 project_level: :internal, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02668 grants permission2669 project_level: :internal, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02670 grants permission2671 project_level: :internal, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02672 grants permission2673 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: true, expected_count: 12674 grants permission2675 project_level: :private, feature_access_level: :private, membership: :admin, admin_mode: false, expected_count: 02676 grants permission2677 project_level: :private, feature_access_level: :private, membership: :reporter, admin_mode: nil, expected_count: 12678 grants permission2679 project_level: :private, feature_access_level: :private, membership: :guest, admin_mode: nil, expected_count: 12680 grants permission2681 project_level: :private, feature_access_level: :private, membership: :non_member, admin_mode: nil, expected_count: 02682 grants permission2683 project_level: :private, feature_access_level: :private, membership: :anonymous, admin_mode: nil, expected_count: 02684 grants permission2685 project_level: :private, feature_access_level: :disabled, membership: :reporter, admin_mode: nil, expected_count: 02686 grants permission2687 project_level: :private, feature_access_level: :disabled, membership: :guest, admin_mode: nil, expected_count: 02688 grants permission2689 project_level: :private, feature_access_level: :disabled, membership: :non_member, admin_mode: nil, expected_count: 02690 grants permission2691 project_level: :private, feature_access_level: :disabled, membership: :anonymous, admin_mode: nil, expected_count: 02692 grants permission2693Gitlab::Cleanup::ProjectUploads2694 #run!2695 orphaned project upload file2696 when an upload record matching the secret and filename is found2697 when the project is still in legacy storage2698 behaves like fixes the file2699 behaves like moves the file2700 when dry_run is false2701 behaves like a real run2702 moves the file to its proper location2703 logs action as done2704 when dry_run is nil2705 behaves like a real run2706 moves the file to its proper location2707 logs action as done2708 when dry_run is true2709 behaves like a dry run2710 does not move the file2711 logs action as able to be done2712 with dry_run not specified2713 behaves like a dry run2714 does not move the file2715 logs action as able to be done2716 when the project was moved to hashed storage2717 behaves like fixes the file2718 behaves like moves the file2719 when dry_run is false2720 behaves like a real run2721 moves the file to its proper location2722 logs action as done2723 when dry_run is nil2724 behaves like a real run2725 moves the file to its proper location2726 logs action as done2727 when dry_run is true2728 behaves like a dry run2729 does not move the file2730 logs action as able to be done2731 with dry_run not specified2732 behaves like a dry run2733 does not move the file2734 logs action as able to be done2735 when the project is missing (the upload *record* is an orphan)2736 behaves like moves the file to lost and found2737 behaves like moves the file2738 when dry_run is false2739 behaves like a real run2740 moves the file to its proper location2741 logs action as done2742 when dry_run is nil2743 behaves like a real run2744 moves the file to its proper location2745 logs action as done2746 when dry_run is true2747 behaves like a dry run2748 does not move the file2749 logs action as able to be done2750 with dry_run not specified2751 behaves like a dry run2752 does not move the file2753 logs action as able to be done2754 when the file should be in object storage2755 when the file otherwise has the correct local path2756 does not move the file2757 when the file has the wrong local path2758 behaves like moves the file to lost and found2759 behaves like moves the file2760 when dry_run is false2761 behaves like a real run2762 moves the file to its proper location2763 logs action as done2764 when dry_run is nil2765 behaves like a real run2766 moves the file to its proper location2767 logs action as done2768 when dry_run is true2769 behaves like a dry run2770 does not move the file2771 logs action as able to be done2772 with dry_run not specified2773 behaves like a dry run2774 does not move the file2775 logs action as able to be done2776 when a matching upload record can not be found2777 when the file path fits the known pattern2778 behaves like moves the file to lost and found2779 behaves like moves the file2780 when dry_run is false2781 behaves like a real run2782 moves the file to its proper location2783 logs action as done2784 when dry_run is nil2785 behaves like a real run2786 moves the file to its proper location2787 logs action as done2788 when dry_run is true2789 behaves like a dry run2790 does not move the file2791 logs action as able to be done2792 with dry_run not specified2793 behaves like a dry run2794 does not move the file2795 logs action as able to be done2796 when the file path does not fit the known pattern2797 behaves like moves the file to lost and found2798 behaves like moves the file2799 when dry_run is false2800 behaves like a real run2801 moves the file to its proper location2802 logs action as done2803 when dry_run is nil2804 behaves like a real run2805 moves the file to its proper location2806 logs action as done2807 when dry_run is true2808 behaves like a dry run2809 does not move the file2810 logs action as able to be done2811 with dry_run not specified2812 behaves like a dry run2813 does not move the file2814 logs action as able to be done2815 non-orphaned project upload file2816 does not move the file2817 ignorable cases2818 does not move any non-project (FileUploader) uploads2819 does not move any uploads in tmp (which would interfere with ongoing upload activity)2820 when the file is already in hashed storage2821 does not move even an orphan file2822Gitlab::ImportExport::FastHashSerializer2823 saves the correct hash2824 has approvals_before_merge set2825 has milestones2826 has merge requests2827 has merge request's milestones2828 has merge request's source branch SHA2829 has merge request's target branch SHA2830 has events2831 has snippets2832 has snippet notes2833 has releases2834 has no author on releases2835 has the author ID on releases2836 has issues2837 has issue comments2838 has issue assignees2839 has author on issue comments2840 has project members2841 has merge requests diffs2842 has merge request diff files2843 has merge request diff commits2844 has merge requests comments2845 has author on merge requests comments2846 has pipeline stages2847 has pipeline statuses2848 has pipeline builds2849 has pipeline commits2850 has ci pipeline notes2851 has labels with no associations2852 has labels associated to records2853 has project and group labels2854 has priorities associated to labels2855 has issue resource label events2856 has merge request resource label events2857 has project feature2858 has custom attributes2859 has badges2860 does not complain about non UTF-8 characters in MR diff files2861 has a board and a list2862 project attributes2863 does not contain the runners token2864 relation ordering2865 orders exported pipelines by primary key2866Banzai::Filter::References::CommitReferenceFilter2867 requires project context2868 ignores valid references contained inside 'pre' element2869 ignores valid references contained inside 'code' element2870 ignores valid references contained inside 'a' element2871 ignores valid references contained inside 'style' element2872 internal reference2873 links to a valid reference of 7 characters2874 links to a valid reference of 8 characters2875 links to a valid reference of 12 characters2876 links to a valid reference of 18 characters2877 links to a valid reference of 20 characters2878 links to a valid reference of 32 characters2879 links to a valid reference of 40 characters2880 always uses the short ID as the link text2881 links with adjacent text2882 ignores invalid commit IDs2883 includes a title attribute2884 escapes the title attribute2885 includes default classes2886 includes a data-project attribute2887 includes a data-commit attribute2888 supports an :only_path context2889 in merge request context2890 handles merge request contextual commit references2891 a doc with many (29) strings that could be SHAs2892 makes only a single request to Gitaly2893 cross-project / cross-namespace complete reference2894 link has valid text2895 has valid text2896 ignores invalid commit IDs on the referenced project2897 cross-project / same-namespace complete reference2898 link has valid text2899 has valid text2900 ignores invalid commit IDs on the referenced project2901 cross-project shorthand reference2902 link has valid text2903 has valid text2904 ignores invalid commit IDs on the referenced project2905 cross-project URL reference2906 links to a valid reference2907 links with adjacent text2908 ignores invalid commit IDs on the referenced project2909 URL reference for a commit patch2910 links to a valid reference2911 has valid text2912 does not link to patch when extension match is after the path2913 group context2914 ignores internal references2915 links to a valid reference2916 checking N+12917 does not have N+1 per multiple references per project2918DeploymentEntity2919 exposes internal deployment id2920 exposes nested information about branch2921 exposes status2922 exposes creation date2923 exposes deployed_at2924 when deployable is nil2925 does not expose deployable entry2926 when the pipeline has another manual action2927 returns another manual action2928 when user is a reporter2929 returns another manual action2930 when deployment details serialization was disabled2931 does not serialize manual actions details2932 scheduled_actions2933 when the same pipeline has a scheduled action2934 returns other scheduled actions2935 when the same pipeline does not have a scheduled action2936 does not return other actions2937 when deployment details serialization was disabled2938 does not serialize scheduled actions details2939 playable_build2940 when the deployment has a playable deployable2941 when this build is ready to be played2942 exposes only the play_path2943 when this build has failed2944 exposes the play_path and the retry_path2945 when the deployment does not have a playable deployable2946 is not exposed2947 when deployment details serialization was disabled2948 does not serialize deployment details2949 only exposes deployable name and path2950JiraImportState2951 associations2952 is expected to belong to project required: false2953 is expected to belong to user required: false2954 is expected to belong to label required: false2955 modules2956 is expected to includes the AfterCommitQueue module2957 validations2958 is expected to validate that :project cannot be empty/falsy2959 is expected to validate that :jira_project_key cannot be empty/falsy2960 is expected to validate that :jira_project_name cannot be empty/falsy2961 is expected to validate that :jira_project_xid cannot be empty/falsy2962 when trying to run multiple imports2963 when project has an initial jira_import2964 behaves like multiple running imports not allowed2965 returns not valid2966 when project has a scheduled jira_import2967 behaves like multiple running imports not allowed2968 returns not valid2969 when project has a started jira_import2970 behaves like multiple running imports not allowed2971 returns not valid2972 when project has a failed jira_import2973 returns valid2974 when project has a finished jira_import2975 returns valid2976 #in_progress?2977 statuses that return in progress2978 behaves like in progress2979 returns true2980 behaves like in progress2981 returns true2982 statuses that return not in progress2983 behaves like not in progress2984 returns false2985 behaves like not in progress2986 returns false2987 behaves like not in progress2988 returns false2989 states transition flow2990 when jira import is in initial state2991 behaves like can transition2992 returns true2993 returns true2994 behaves like cannot transition2995 returns false2996 returns false2997 when jira import is in scheduled state2998 behaves like can transition2999 returns true3000 returns true3001 behaves like cannot transition3002 returns false3003 when jira import is in started state3004 behaves like can transition3005 returns true3006 returns true3007 behaves like cannot transition3008 returns false3009 when jira import is in failed state3010 behaves like cannot transition3011 returns false3012 returns false3013 returns false3014 when jira import is in finished state3015 behaves like cannot transition3016 returns false3017 returns false3018 returns false3019 after transition to scheduled3020 triggers the import job3021 after transition to finished3022 triggers the import job3023 triggers the import job3024 updates the record with imported issues counts3025 ensure error_message size on save3026 when jira import has no error_message3027 does not run the callback3028 when jira import error_message does not exceed the limit3029 does not run the callback3030 when error_message exceeds limit3031 truncates error_message to the limit3032Backup::Files3033 #restore3034 folders with permission3035 moves all necessary files3036 raises no errors3037 calls tar command with unlink3038 raises an error on failure3039 folders without permissions3040 shows error message3041 folders that are a mountpoint3042 shows error message3043 #dump3044 raises no errors3045 excludes tmp dirs from archive3046 raises an error on failure3047 with STRATEGY=copy3048 excludes tmp dirs from rsync3049 retries if rsync fails due to vanishing files3050 raises an error and outputs an error message if rsync failed3051 #exclude_dirs3052 prepends a leading dot slash to tar excludes3053 prepends a leading slash and app_files_dir basename to rsync excludes3054 #run_pipeline!3055 executes an Open3.pipeline for cmd_list3056 returns an empty output on success pipeline3057 returns the stderr for failed pipeline3058 returns the success status list on success pipeline3059 returns the failed status in status list for failed commands in pipeline3060 #pipeline_succeeded?3061 returns true if both tar and gzip succeeeded3062 returns false if gzip failed3063 if gzip succeeded and tar failed non-critically3064 returns true3065 if gzip succeeded and tar failed in other cases3066 returns false3067 #tar_ignore_non_success?3068 if `tar` command exits with 1 exitstatus3069Ignoring tar exit status 1 'Some files differ': any_output3070 returns true3071 outputs a warning3072 if `tar` command exits with 2 exitstatus with non-critical warning3073Ignoring non-success exit status 2 due to output of non-critical warning(s): any_output3074 returns true3075 outputs a warning3076 if `tar` command exits with any other unlisted error3077 returns false3078 #noncritical_warning?3079 returns true if given text matches noncritical warnings list3080 returns false otherwize3081LabelsHelper3082 #show_label_issuables_link?3083 with a project label3084 when asking for an issue link3085 behaves like a valid response to show_label_issuables_link?3086 when asking for a issues link3087 when issues are enabled for the project3088 is expected to equal true3089 when issues are disabled for the project3090 is expected to equal false3091 when asking for a merge requests link3092 behaves like a valid response to show_label_issuables_link?3093 when asking for a merge_requests link3094 when merge_requests are enabled for the project3095 is expected to equal true3096 when merge_requests are disabled for the project3097 is expected to equal false3098 with a group label3099 when asking for an issue link3100 behaves like a valid response to show_label_issuables_link?3101 when asking for a issues link3102 when issues are enabled for the project3103 is expected to equal true3104 when issues are disabled for the project3105 is expected to equal true3106 when asking for a merge requests link3107 behaves like a valid response to show_label_issuables_link?3108 when asking for a merge_requests link3109 when merge_requests are enabled for the project3110 is expected to equal true3111 when merge_requests are disabled for the project3112 is expected to equal true3113 link_to_label3114 without subject3115 uses the label's project3116 with a project as subject3117 links to project issues page3118 with a group as subject3119 links to group issues page3120 with a type argument3121 set to issue3122 links to correct page3123 set to issue3124 links to correct page3125 set to merge_request3126 links to correct page3127 set to merge_request3128 links to correct page3129 with a tooltip argument3130 set to false3131 does not include the has-tooltip class3132 with block3133 passes the block to link_to3134 without block3135 uses render_colored_label as the link content3136 text_color_for_bg3137 uses light text on dark backgrounds3138 uses dark text on light backgrounds3139 supports RGB triplets3140 create_label_title3141 with a group as subject3142 returns "Create group label"3143 with a project as subject3144 returns "Create project label"3145 with no subject3146 returns "Create new label"3147 manage_labels_title3148 with a group as subject3149 returns "Manage group labels"3150 with a project as subject3151 returns "Manage project labels"3152 with no subject3153 returns "Manage labels"3154 view_labels_title3155 with a group as subject3156 returns "View group labels"3157 with a project as subject3158 returns "View project labels"3159 with no subject3160 returns "View labels"3161 labels_filter_path3162 links to the dashboard labels page3163 links to the group labels page3164 links to the project labels page3165 supports json format3166 presented_labels_sorted_by_title3167 sorts labels alphabetically3168 returns an array of label presenters3169 #label_status_tooltip3170 with a project label3171 is expected to eq "Subscribe at project level"3172 with a group label3173 is expected to eq "Subscribe at group level"3174 #label_tooltip_title3175 removes HTML3176 #show_labels_full_path?3177 within a project3178 returns truthy3179 within a subgroup3180 returns truthy3181 within a group3182 returns falsey3183 within the admin area3184 returns falsey3185ProjectStatistics3186 associations3187 is expected to belong to project required: false3188 is expected to belong to namespace required: false3189 scopes3190 .for_project_ids3191 returns only requested projects3192 statistics columns3193 support values up to 8 exabytes3194 #total_repository_size3195 sums repository and LFS object size3196 #wiki_size3197 is initialized with not null value3198 coerces any nil value to 03199 #snippets_size3200 is initialized with not null value3201 coerces any nil value to 03202 #refresh!3203 without arguments3204 sums all counters3205 when passing an only: argument3206 only updates the given columns3207 without repositories3208 does not crash3209 with deleted repositories3210 does not crash3211 when the column is namespace relatable3212 when arguments are passed3213 schedules the aggregation worker3214 when no argument is passed3215 schedules the aggregation worker3216 when the column is not namespace relatable3217 does not schedules an aggregation worker3218 when the database is read-only3219 does nothing3220 #update_commit_count3221 stores the number of commits in the repository3222 #update_repository_size3223 stores the size of the repository3224 #update_wiki_size3225 stores the size of the wiki3226 #update_snippets_size3227 stores the size of snippets3228 when not all snippets has statistics3229 stores the size of snippets with statistics3230 #update_lfs_objects_size3231 stores the size of related LFS objects3232 #update_uploads_size3233 stores the size of related uploaded files3234 #update_storage_size3235 sums all storage counters3236 works during wiki_size backfill3237 when nullable columns are nil3238 does not raise any error3239 .increment_statistic3240 when adjusting :build_artifacts_size3241 behaves like a statistic that increases storage_size asynchronously3242 stores the increment temporarily in Redis3243 schedules a worker to update the statistic and storage_size async3244 when adjusting :pipeline_artifacts_size3245 behaves like a statistic that increases storage_size3246 increases the statistic by that amount3247 increases also storage size by that amount3248 when adjusting :packages_size3249 behaves like a statistic that increases storage_size3250 increases the statistic by that amount3251 increases also storage size by that amount3252 when the amount is 03253 does not execute a query3254 when using an invalid column3255 raises an error3256Gitlab::Checks::BranchCheck3257 #validate!3258 does not raise any error3259 trying to delete the default branch3260 raises an error3261 prohibited branches check3262 prohibits 40-character hexadecimal branch names3263 doesn't prohibit a nested hexadecimal in a branch name3264 deleting a hexadecimal branch3265 doesn't prohibit the deletion of a hexadecimal branch name3266 the feature flag is disabled3267 doesn't prohibit a 40-character hexadecimal branch name3268 protected branches check3269 raises an error if the user is not allowed to do forced pushes to protected branches3270 raises an error if the user is not allowed to merge to protected branches3271 raises an error if the user is not allowed to push to protected branches3272 when user has push access3273 if protected branches is allowed to force push3274 allows force push3275 if protected branches is not allowed to force push3276WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<Gitlab::GitAccess::ForbiddenError: You are not allowed to force push code to a protected branch on this project.>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/checks/branch_check_spec.rb:115:in `block (6 levels) in <top (required)>'.3277 prevents force push3278 when user does not have push access3279 if protected branches is allowed to force push3280WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<Gitlab::GitAccess::ForbiddenError: You are not allowed to push code to protected branches on this project.>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/checks/branch_check_spec.rb:138:in `block (6 levels) in <top (required)>'.3281 prevents force push3282 if protected branches is not allowed to force push3283WARNING: Using the `raise_error` matcher without providing a specific error or message risks false positives, since `raise_error` will match when Ruby raises a `NoMethodError`, `NameError` or `ArgumentError`, potentially allowing the expectation to pass without even executing the method you are intending to call. Actual error raised was #<Gitlab::GitAccess::ForbiddenError: You are not allowed to force push code to a protected branch on this project.>. Instead consider providing a specific error class or message. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/checks/branch_check_spec.rb:153:in `block (6 levels) in <top (required)>'.3284 prevents force push3285 when project repository is empty3286 user is not allowed to push to protected branches3287 raises an error3288 user is allowed to push to protected branches3289 allows branch creation3290 branch creation3291 user can push to branch3292 does not raise an error3293 user cannot push to branch3294 user cannot merge to branch3295 raises an error3296 user can merge to branch3297 newrev isn't in any protected branches3298 raises an error3299 newrev is included in a protected branch3300 via web interface3301 allows branch creation3302 via SSH3303 raises an error3304 branch deletion3305 if the user is not allowed to delete protected branches3306 raises an error3307 if the user is allowed to delete protected branches3308 through the web interface3309 allows branch deletion3310 over SSH or HTTP3311 raises an error3312Blob3313 .decorate3314 returns NilClass when given nil3315 .lazy3316 with project3317 behaves like .lazy checks3318 does not fetch blobs when none are accessed3319 fetches all blobs for the same repository when one is accessed3320 does not include blobs from previous requests in later requests3321 with personal snippet3322 behaves like .lazy checks3323 does not fetch blobs when none are accessed3324 fetches all blobs for the same repository when one is accessed3325 does not include blobs from previous requests in later requests3326 with project snippet3327 behaves like .lazy checks3328 does not fetch blobs when none are accessed3329 fetches all blobs for the same repository when one is accessed3330 does not include blobs from previous requests in later requests3331 #data3332 with project3333 behaves like #data checks3334 using a binary blob3335 returns the data as-is3336 using a text blob3337 converts the data to UTF-83338 with personal snippet3339 behaves like #data checks3340 using a binary blob3341 returns the data as-is3342 using a text blob3343 converts the data to UTF-83344 with project snippet3345 behaves like #data checks3346 using a binary blob3347 returns the data as-is3348 using a text blob3349 converts the data to UTF-83350 #external_storage_error?3351 if the blob is stored in LFS3352 when LFS is enabled3353 is expected to be falsy3354 when LFS is not enabled3355 is expected to be truthy3356 if the blob is not stored in LFS3357 is expected to be falsy3358 #stored_externally?3359 if the blob is stored in LFS3360 when LFS is enabled3361 is expected to be truthy3362 when LFS is not enabled3363 is expected to be falsy3364 if the blob is not stored in LFS3365 is expected to be falsy3366 #binary?3367 an lfs object3368 filename: "file.pdf", is_binary: true3369 is expected to eq true3370 filename: "file.md", is_binary: false3371 is expected to eq false3372 filename: "file.txt", is_binary: false3373 is expected to eq false3374 filename: "file.ics", is_binary: false3375 is expected to eq false3376 filename: "file.rb", is_binary: false3377 is expected to eq false3378 filename: "file.exe", is_binary: true3379 is expected to eq true3380 filename: "file.ini", is_binary: false3381 is expected to eq false3382 filename: "file.wtf", is_binary: true3383 is expected to eq true3384 a non-lfs object3385 delegates to binary_in_repo?3386 #extension3387 returns the extension3388 #file_type3389 returns the file type3390 #simple_viewer3391 when the blob is empty3392 returns an empty viewer3393 when the file represented by the blob is binary3394 returns a download viewer3395 when the file represented by the blob is text-based3396 returns a text viewer3397 #rich_viewer3398 when the blob has an external storage error3399 returns nil3400 when the blob is empty3401 returns nil3402 when the blob is stored externally3403 returns a matching viewer3404 when the blob is binary3405 returns a matching binary viewer3406 when the blob is text-based3407 returns a matching text-based viewer3408 when the blob is video3409 returns a video viewer3410 when the blob is audio3411 returns an audio viewer3412 #auxiliary_viewer3413 when the blob has an external storage error3414 returns nil3415 when the blob is empty3416 returns nil3417 when the blob is stored externally3418 returns a matching viewer3419 when the blob is binary3420 returns nil3421 when the blob is text-based3422 returns a matching text-based viewer3423 #rendered_as_text?3424 when ignoring errors3425 when the simple viewer is text-based3426 is expected to be truthy3427 when the simple viewer is binary3428 is expected to be falsy3429 when not ignoring errors3430 when the viewer has render errors3431 is expected to be falsy3432 when the viewer doesn't have render errors3433 is expected to be truthy3434 policy3435 works with policy3436 when project is nil3437 does not err3438ResourceAccessTokens::CreateService3439 #execute3440 when resource is a project3441 when user does not have permission to create a resource bot3442 returns the permission error message3443 behaves like token creation fails3444 does not add the project bot as a member3445 immediately destroys the bot user if one was created3446 user with valid permission3447 behaves like allows creation of bot with valid params3448 is expected to change `User.count` by 13449 creates resource bot user3450 logs the event3451 email confirmation status3452 when created by an admin3453 when admin mode is enabled3454 behaves like creates a user that has their email confirmed3455 creates a user that has their email confirmed3456 when admin mode is disabled3457 returns error3458 when created by a non-admin3459 behaves like creates a user that has their email confirmed3460 creates a user that has their email confirmed3461 bot name3462 when no name is passed3463 uses default name3464 when user provides name3465 overrides the default name value3466 access level3467 when user does not specify an access level3468 adds the bot user as a maintainer in the resource3469 when user specifies an access level3470 adds the bot user with the specified access level in the resource3471 when user is external3472 creates resource bot user with external status3473 personal access token3474 is expected to change `PersonalAccessToken.count` by 13475 when user does not provide scope3476 has default scopes3477 when user provides scope explicitly3478 overrides the default scope value3479 expires_at3480 when no expiration value is passed3481 uses nil expiration value3482 expiry of the project bot member3483 project bot membership does not expire3484 when user provides expiration value3485 overrides the default expiration value3486 expiry of the project bot member3487 sets the project bot to expire on the same day as the token3488 when invalid scope is passed3489 returns the scope error message3490 behaves like token creation fails3491 does not add the project bot as a member3492 immediately destroys the bot user if one was created3493 when access provisioning fails3494 returns the provisioning error message3495 behaves like token creation fails3496 does not add the project bot as a member3497 immediately destroys the bot user if one was created3498Gitlab::Ci::Config::Entry::Rules::Rule3499 .new3500 with a when: value but no clauses3501 is expected to be valid3502 with an allow_failure: value but no clauses3503 is expected to be valid3504 when specifying an if: clause3505 is expected to be valid3506 #when3507 is expected to eq "manual"3508 #allow_failure3509 is expected to eq true3510 using a list of multiple expressions3511 is expected not to be valid3512 reports an error about invalid format3513 when specifying an invalid if: clause expression3514 is expected not to be valid3515 reports an error about invalid statement3516 when specifying an if: clause expression with an invalid token3517 is expected not to be valid3518 reports an error about invalid statement3519 when using invalid regex in an if: clause3520 reports an error about invalid expression3521 when using an if: clause with lookahead regex character "?"3522 when allow_unsafe_ruby_regexp is disabled3523 is expected not to be valid3524 reports an error about invalid expression syntax3525 when using a changes: clause3526 is expected to be valid3527 when using a string as an invalid changes: clause3528 is expected not to be valid3529 reports an error about invalid policy3530 when using a list as an invalid changes: clause3531 is expected not to be valid3532 returns errors3533 when using a long list as an invalid changes: clause3534 is expected not to be valid3535 returns errors3536 when using a exists: clause3537 is expected to be valid3538 when using a string as an invalid exists: clause3539 is expected not to be valid3540 reports an error about invalid policy3541 when using a list as an invalid exists: clause3542 is expected not to be valid3543 returns errors3544 when using a long list as an invalid exists: clause3545 is expected not to be valid3546 returns errors3547 specifying a delayed job3548 is expected to be valid3549 sets attributes for the job delay3550 without a when: key3551 is expected not to be valid3552 returns an error about the disallowed key3553 without a start_in: key3554 is expected not to be valid3555 returns an error about tstart_in being blank3556 when specifying unknown policy3557 is expected not to be valid3558 returns error about invalid key3559 when clause is empty3560 is expected not to be valid3561 is not a valid configuration3562 when policy strategy does not match3563 is expected not to be valid3564 returns information about errors3565 when: validation3566 with an invalid boolean when:3567 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule3568 is expected not to be valid3569 returns an error about invalid when:3570 when composed3571 is expected not to be valid3572 returns an error about invalid when:3573 with an invalid string when:3574 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule3575 is expected not to be valid3576 returns an error about invalid when:3577 when composed3578 is expected not to be valid3579 returns an error about invalid when:3580 with a string passed in metadata but not allowed in the class3581 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule3582 is expected not to be valid3583 returns an error about invalid when:3584 when composed3585 is expected not to be valid3586 returns an error about invalid when:3587 with a string allowed in the class but not passed in metadata3588 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule3589 is expected not to be valid3590 returns an error about invalid when:3591 when composed3592 is expected not to be valid3593 returns an error about invalid when:3594 with an invalid variables3595 is expected not to be valid3596 returns an error about invalid variables:3597 allow_failure: validation3598 with an invalid string allow_failure:3599 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule3600 is expected not to be valid3601 returns an error about invalid allow_failure:3602 when composed3603 is expected not to be valid3604 returns an error about invalid allow_failure:3605 #value3606 when specifying an if: clause3607 stores the expression as "if"3608 when using a changes: clause3609 is expected to eq {:changes=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}3610 when default value has been provided3611 does not set a default value3612 does not add to provided configuration3613 when using a exists: clause3614 is expected to eq {:exists=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}3615 .default3616 does not have default value3617Ci::UpdateBuildStateService3618 when build has unknown failure reason3619 updates a build status3620 when build does not have checksum3621 when state has changed3622 updates a state of a running build3623 returns 200 OK status3624 does not increment finalized trace metric3625 when it is a heartbeat request3626 updates a build timestamp3627 when state is unknown3628 responds with 400 bad request3629 when build has a checksum3630 when build does not have associated trace chunks3631 updates a build status3632 updates the allow_failure flag3633 does not increment invalid trace metric3634 does not increment chunks_invalid_checksum trace metric3635 when build trace has been migrated3636 updates a build state3637 updates the allow_failure flag3638 responds with 200 OK status3639 does not set a backoff value3640 increments trace finalized operation metric3641 records migration duration in a histogram3642 when trace checksum is not valid3643 increments invalid trace metric3644 increments chunks_invalid_checksum trace metric3645 when trace checksum is valid3646 does not increment invalid or corrupted trace metric3647 when using deprecated parameters3648 does not increment invalid or corrupted trace metric3649 when trace checksum is invalid and the log is corrupted3650 increments invalid and corrupted trace metrics3651 when trace checksum is invalid but the log seems fine3652 does not increment corrupted trace metric3653 when failed to acquire a build trace lock3654 accepts a state update request3655 increment locked trace metric3656 when build trace has not been migrated yet3657 does not update a build state3658 responds with 202 accepted3659 sets a request backoff value3660 schedules live chunks for migration3661 creates a pending state record3662 increments trace accepted operation metric3663 does not increment invalid trace metric3664 when build pending state is outdated3665 responds with 200 OK3666 updates build state3667 increments discarded traces metric3668 does not increment finalized trace metric3669 when build pending state has changes3670 uses stored state and responds with 200 OK3671 increments conflict trace metric3672 when live traces are disabled3673 responds with 200 OK3674Projects::OpenIssuesCountService3675 behaves like a counter caching service3676 #count3677 caches the count3678 #refresh_cache3679 refreshes the cache3680 #delete_cache3681 removes the cache3682 #uncached_count3683 does not cache the count3684 #count3685 when user is nil3686 behaves like counts public issues, does not count hidden or confidential3687 counts only public issues3688 uses PUBLIC_COUNT_WITHOUT_HIDDEN_KEY cache key3689 when user is provided3690 when user can read confidential issues3691 includes confidential issues and does not include hidden issues in count3692 uses TOTAL_COUNT_WITHOUT_HIDDEN_KEY cache key3693 when user cannot read confidential or hidden issues3694 behaves like counts public issues, does not count hidden or confidential3695 counts only public issues3696 uses PUBLIC_COUNT_WITHOUT_HIDDEN_KEY cache key3697 when user is an admin3698 when admin mode is enabled3699 includes confidential and hidden issues in count3700 uses TOTAL_COUNT_KEY cache key3701 when admin mode is disabled3702 behaves like counts public issues, does not count hidden or confidential3703 counts only public issues3704 uses PUBLIC_COUNT_WITHOUT_HIDDEN_KEY cache key3705 #refresh_cache3706 when cache is empty3707 refreshes cache keys correctly3708 when cache is outdated3709 refreshes cache keys correctly3710Gitlab::Issues::Rebalancing::State3711 rebalancing issues in namespace3712 is expected to eq 13713 behaves like issues rebalance caching3714 #track_new_running_rebalance3715 caches a project id to track caching in progress3716 #set and get current_index3717 returns zero as current index when index not cached3718 returns cached current index3719 #set and get current_project3720 returns nil if there is no project_id cached3721 returns cached current project_id3722 #rebalance_in_progress?3723 return zero if no re-balances are running3724 return false if no re-balances are running3725 return true a re-balance for given project/namespace is running3726 caching issue ids3727 with no issue ids cached3728 returns zero when there are no cached issue ids3729 returns empty array when there are no cached issue ids3730 with cached issue ids3731 returns count of cached issue ids3732 returns array of issue ids3733 limits returned values3734 when caching duplicate issue_ids3735 does not cache duplicate issues3736 returns cached issues with latest scores3737 when setting expiration3738 when tracking new rebalance3739 returns as expired for non existent key3740 has expiration set3741 when setting current index3742 returns as expiring for non existent key3743 has expiration set3744 when setting current project id3745 returns as expired for non existent key3746 has expiration set3747 when setting cached issue ids3748 returns as expired for non existent key3749 has expiration set3750 cleanup cache3751 removes cache keys3752 .fetch_rebalancing_groups_and_projects3753 caches recently finished rebalance key3754 rebalancing issues in a project3755 is expected to eq 23756 behaves like issues rebalance caching3757 #track_new_running_rebalance3758 caches a project id to track caching in progress3759 #set and get current_index3760 returns zero as current index when index not cached3761 returns cached current index3762 #set and get current_project3763 returns nil if there is no project_id cached3764 returns cached current project_id3765 #rebalance_in_progress?3766 return zero if no re-balances are running3767 return false if no re-balances are running3768 return true a re-balance for given project/namespace is running3769 caching issue ids3770 with no issue ids cached3771 returns zero when there are no cached issue ids3772 returns empty array when there are no cached issue ids3773 with cached issue ids3774 returns count of cached issue ids3775 returns array of issue ids3776 limits returned values3777 when caching duplicate issue_ids3778 does not cache duplicate issues3779 returns cached issues with latest scores3780 when setting expiration3781 when tracking new rebalance3782 returns as expired for non existent key3783 has expiration set3784 when setting current index3785 returns as expiring for non existent key3786 has expiration set3787 when setting current project id3788 returns as expired for non existent key3789 has expiration set3790 when setting cached issue ids3791 returns as expired for non existent key3792 has expiration set3793 cleanup cache3794 removes cache keys3795 .fetch_rebalancing_groups_and_projects3796 caches recently finished rebalance key3797Packages::Nuget::UpdatePackageFromMetadataService3798 #execute3799 with no existing package3800 updates package and package file3801 behaves like taking the lease3802 takes the lease3803 behaves like not updating the package if the lease is taken3804 without obtaining the exclusive lease3805 does not update the package3806 with existing package3807 link existing package and updates package file3808 behaves like taking the lease3809 takes the lease3810 behaves like not updating the package if the lease is taken3811 without obtaining the exclusive lease3812 does not update the package3813 with a nuspec file with metadata3814 creates tags3815 creates nuget metadatum3816 with existing package and tags3817 creates tags and deletes those not in metadata3818 with too long url3819 behaves like raising an3820 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3821 with nuspec file with dependencies3822 updates package and package file3823 with package file not containing a nuspec file3824 behaves like raising an3825 raises an Packages::Nuget::MetadataExtractionService::ExtractionError3826 with a symbol package3827 with no existing package3828 behaves like raising an3829 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3830 with existing package3831 link existing package and updates package file3832 behaves like taking the lease3833 takes the lease3834 behaves like not updating the package if the lease is taken3835 without obtaining the exclusive lease3836 does not update the package3837 with an invalid package name3838 behaves like raising an3839 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3840 behaves like raising an3841 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3842 behaves like raising an3843 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3844 behaves like raising an3845 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3846 with an invalid package version3847 behaves like raising an3848 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3849 behaves like raising an3850 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3851 behaves like raising an3852 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3853 behaves like raising an3854 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3855 behaves like raising an3856 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3857 behaves like raising an3858 raises an Packages::Nuget::UpdatePackageFromMetadataService::InvalidMetadataError3859WikiPage::Meta3860 Associations3861 is expected to belong to project required: false3862 is expected to have many slugs3863 is expected to have many events3864 can find slugs3865 Validations3866 is expected to validate that :project_id cannot be empty/falsy3867 is expected to validate that the length of :title is at most 2553868 is expected not to allow :title to be ‹nil›3869 is forbidden to have two records for the same project with the same canonical_slug3870 #canonical_slug3871 can be set on initialization3872 there are no slugs3873 is expected to have attributes {:canonical_slug => (be nil)}3874 we have some non-canonical slugs3875 is expected to have attributes {:canonical_slug => (be nil)}3876 issues at most one query3877 issues no queries if we already know the slug3878 we have a canonical slug3879 has the correct value3880 canonical_slug=3881 the slug is not known to us3882 changes it to the correct value3883 ensures the slug is in the db3884 issues at most N queries3885 issues fewer queries if we already know the current slug3886 the slug is already in the DB (but not canonical)3887 changes it to the correct value3888 ensures the slug is in the db3889 issues at most N queries3890 issues fewer queries if we already know the current slug3891 the slug is already in the DB (and canonical)3892 changes it to the correct value3893 ensures the slug is in the db3894 issues at most N queries3895 issues fewer queries if we already know the current slug3896 the slug is up to date and in the DB3897 changes it to the correct value3898 ensures the slug is in the db3899 issues at most N queries3900 issues fewer queries if we already know the current slug3901 .find_or_create3902 there are problems3903 the slug is too long3904 raises an error3905 a conflicting record exists3906 raises an error3907 the wiki page is not valid3908 raises an error3909 no existing record exists3910 establishes the correct state3911 makes a reasonable number of DB queries3912 the commit happened a day ago3913 establishes the correct state3914 makes a reasonable number of DB queries3915 the last_known_slug is the same as the current slug, as on creation3916 establishes the correct state3917 makes a reasonable number of DB queries3918 a record exists in the DB in the correct state3919 establishes the correct state3920 makes a reasonable number of DB queries3921 a record exists in the DB, but we need to update timestamps3922 establishes the correct state3923 makes a reasonable number of DB queries3924 we need to update the slug, but not the title3925 establishes the correct state3926 makes a reasonable number of DB queries3927 we need to update the title, but not the slug3928 establishes the correct state3929 makes a reasonable number of DB queries3930 we want to change the slug back to a previous version3931 establishes the correct state3932 makes a reasonable number of DB queries3933 we want to change the slug a bunch of times3934 establishes the correct state3935 makes a reasonable number of DB queries3936 we need to update the title and the slug3937 establishes the correct state3938 makes a reasonable number of DB queries3939Mutations::MergeRequests::SetAssignees3940 when the user does not have permissions3941 #resolve3942 behaves like permission level for merge request mutation is correctly verified3943 when the user is not a project member3944 behaves like when the user does not have access to the resource3945 raises an error3946 even if assigned to the merge request3947 does not modify merge request3948 even if reviewer of the merge request3949 raises an error3950 even if author of the merge request3951 raises an error3952 when the user is a project member3953 with guest role3954 behaves like when the user does not have access to the resource3955 raises an error3956 even if assigned to the merge request3957 does not modify merge request3958 even if reviewer of the merge request3959 raises an error3960 even if author of the merge request3961 raises an error3962 with reporter role3963 behaves like when the user does not have access to the resource3964 raises an error3965 even if assigned to the merge request3966 does not modify merge request3967 even if reviewer of the merge request3968 raises an error3969 even if author of the merge request3970 raises an error3971 behaves like an assignable resource3972 #resolve3973 raises an error if the resource is not accessible to the user3974 does not change assignees if the resource is not accessible to the assignees3975 returns an operational error if the resource is not accessible to the assignees3976 when the user can update the resource3977 replaces the assignee3978 returns errors when resource could not be updated3979 when passing an empty assignee list3980 removes all assignees3981 when passing "append" as true3982 is a NO-OP in FOSS3983 when passing "remove" as true3984 removes named assignee3985 does not remove unnamed assignee3986ProjectClusterablePresenter3987 #can_create_cluster?3988 when user can create3989 is expected to be truthy3990 when user cannot create3991 is expected to be falsey3992 #index_path3993 is expected to eq "/namespace766/project1011/-/clusters"3994 #new_path3995 is expected to eq "/namespace767/project1012/-/clusters/new"3996 #authorize_aws_role_path3997 is expected to eq "/namespace768/project1013/-/clusters/authorize_aws_role"3998 #create_user_clusters_path3999 is expected to eq "/namespace769/project1014/-/clusters/create_user"4000 #create_gcp_clusters_path4001 is expected to eq "/namespace770/project1015/-/clusters/create_gcp"4002 #cluster_status_cluster_path4003 is expected to eq "/namespace771/project1016/-/clusters/115/cluster_status"4004 #clear_cluster_cache_path4005 is expected to eq "/namespace772/project1017/-/clusters/118/clear_cache"4006 #cluster_path4007 is expected to eq "/namespace773/project1018/-/clusters/121"4008 #metrics_dashboard_path4009 is expected to eq "/namespace774/project1019/-/clusters/124/metrics_dashboard"4010 #learn_more_link4011 is expected to include "user/project/clusters/index"4012Mutations::Issues::Update4013 is expected to require graphql authorizations :update_issue4014 #resolve4015 behaves like permission level for issue mutation is correctly verified4016 when the user is not a project member4017 behaves like when the user does not have access to the resource4018 raises an error4019 even if assigned to the issue4020 does not modify issue4021 even if author of the issue4022 raises an error4023 when the user is a project member4024 with guest role4025 behaves like when the user does not have access to the resource4026 raises an error4027 even if assigned to the issue4028 does not modify issue4029 even if author of the issue4030 raises an error4031 when the user can update the issue4032 updates issue with correct values4033 when iid does not exist4034 raises resource not available error4035 when setting milestone to nil4036 changes the milestone corrrectly4037 when changing state4038 closes issue4039 reopens issue4040 when changing labels4041 adds and removes labels correctly4042 does not add label if label id is nil4043 does not add label if label is not found4044 does not modify labels if label is already present4045 does not modify labels if label is addded and removed in the same request4046 when setting labels with label_ids4047 replaces existing labels with provided ones4048 raises error when label_ids is combined with remove_label_ids4049 raises error when label_ids is combined with add_label_ids4050 when changing type4051 changes the type of the issue4052ContainerRegistry::Path4053 #components4054 splits components by a forward slash4055 #nodes4056 when repository path is valid4057 return all project path like node in reverse order4058 when repository path is invalid4059 rasises en error4060 #to_s4061 when path does not have uppercase characters4062 return a string with a repository path4063 when path has uppercase characters4064 return a string with a repository path4065 #valid?4066 when path has less than two components4067 is expected not to be valid4068 when path has more than allowed number of components4069 is expected not to be valid4070 when path has invalid characters4071 is expected not to be valid4072 when path has two or more components4073 is expected to be valid4074 when path is related to multi-level image4075 is expected to be valid4076 when path contains uppercase letters4077 is expected to be valid4078 when path contains double underscore4079 is expected to be valid4080 when path contains invalid separator with dot4081 is expected not to be valid4082 when path contains invalid separator with underscore4083 is expected not to be valid4084 #has_repository?4085 when project exists4086 when path already has matching repository4087 is expected to have repository4088 is expected to have project4089 when path does not have matching repository4090 is expected not to have repository4091 is expected to have project4092 when project does not exist4093 is expected not to have repository4094 is expected not to have project4095 #repository_project4096 when project for given path exists4097 returns a correct project4098 when project for given path does not exist4099 returns nil4100 when matching multi-level path4101 when using the zero-level path4102 supports zero-level path4103 when using first-level path4104 supports first-level path4105 when using second-level path4106 supports second-level path4107 when using too deep nesting in the path4108 does not support three-levels of nesting4109 #repository_name4110 when project does not exist4111 returns nil4112 when project exists4113 when project path equal repository path4114 returns an empty string4115 when repository path has one additional level4116 returns a correct repository name4117 when repository path has two additional levels4118 returns a correct repository name4119 #project_path4120 when project does not exist4121 returns nil4122 when project with uppercase characters in path exists4123 returns downcased project path4124Key4125 Associations4126 is expected to belong to user required: false4127 Validation4128 is expected to validate that :title cannot be empty/falsy4129 is expected to validate that the length of :title is at most 2554130 is expected to validate that :key cannot be empty/falsy4131 is expected to validate that the length of :key is at most 50004132 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC98dbu7gxcbmAvwMqz/6AALhSr1jiXG0UC8FQMvoDt+ciB+uSJhg7KlxinKjYJnPGfhX+q2K+mmCGAmI/D6q7rFxE+bn09O+75qgkTHi+suDVE6KG7L3n0alGd/qSevfomR77Snh6fQPdG6sEAZz3kehcpfVnq5/IuLFq9FBrgmu52Jd4XZLQZKkDq6zYOJ69FUkGf93LZIV/OOaS+f+qkOGPCUkdKl7oEcgpVNY9SRjBCduXnvi2CyQnnJVkBguGL5VlXwFXH+17Whs7oFWmdiG+4jzBRLIMz4EuIW09b8Su5PW6+bBuXOifHA8KG5TMmjs5LYdCMPFnhTyDyO3a1 dummy@gitlab.com"›4133 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDGSD77lLtjmzewiBs6nu2R5nu6oNkrAkH/0co1fHHosKfRr+sWkSTKXOVcL7bhRu+tniGBmB5pn+i1qX7BXtrcnv//bCXWIp+me027L4RJa5/Ep077iiTJlzTpcV664xNUXC8mzBr601HR/Z2TzX5DWJvnyqqFkN7qHTYo/+IoKECnKqNzI5SQrAxgi6sbWA5DFQ/nwcqsUSBo5gCCJ/0QPrR19yVV5lJA19EY2LawOb1SJNOFo4mQupSlBZwvERZJ7IqhBTPtQIfrqqz5VJbI13jK3ViZTugIZqydWAhosUyejP3SdCj1KMexrvV95tjUtmhVFlph4tKThQO0p9pXKZNCzYsbQTye6O6Hk2rojOJLyFWqNBVKtI8Ymfu7OQWppRnuUFuhuuS515H1s888bZFMPsC74mPyo0Y7Q9wAoTnQ9Hw6b0J6OfY3PIRVphaCmxh6b7dgSPFdD7TA6j0xk6PCTOIEzBKuc85B3GQc8Nt4sTv6fW8lGeuYWqepW74igeC4qB6U3/3+p3nPdq/bTM1txrhnQsl1r4dv6TLZ51EtHp6sXayp0qd0pRaiavebXFC0iaETLraQpye4FWbBL/8xTjQ/0VPrYVuUCDvDSMIIS3/9g7Kp7ERUDC9jUqOVonm4pTXL9iItiUBlK7Mob9C4fQIRFnVR00DCmkmVgw== dummy@gitlab.com"›4134 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACgQDxnZP0TucLH3zcrvt75DPNq+xKqOmJkCEzTytKq4S5MDH0nlx+xOZ9WykhwDHXU0iZBJF7yRdLkZweYDJVKnBzr4t7QP5Sw2/ZdLelvUMWGJjuz28x8Z+8NZ+IxL/exDz7itrhCsLupQhGO1obiIwf8xVzzPoxrQ9dxaN4x965N+QdQcld8O6xfpSE0p5Y3sRn3kp57aHWoNa/bUGZy0OHLr/ig0uc6EKyWsTmEESOgDyV94wOyHR0KNGEENyxQt4BwAbEBn3Y41HKqD358KKh+XjbECebrrBFigdDL/eYFIUlstJ07SK/HtYjZbiUZCPs8bJA+SBaLK0pGGqguM2LXRoMeMUZFwKKKS2LpRqjKGj3Qt7qMnp1SkVhiMnxNqL4nJnDOOVo07xDIPKqIBYO67/cp4Icv3IjKxy6K3EIpLr+iRCxcllpDogxolzFC+pEDVpmEvcrGEv1ON6HcCdk/6Q8Iekr8rYDHpKCU5FF2uBHkqq7yNJ1/+NFC4dgyOo0xCVL4D3DvDKNxFYkrzW4ICt0f5XcMnU10yS/OFXz8JwA3jvuLvMRe5JdFiIjb/l86+TgYyvK8Y8N/UWgSgyjXUCv8nxdvpsxdz5h7HBF8E2DIxCVMC23655e5rp5eJW9EU9X5YFZc3u6uWJ1f1aO+1ViTtqkPrqxovNDD+gVel8Ny6MJ4MvmDKY+eM8beNMSSf1n1Oyh/SvCffhZpUqrXdTr9qwZEOaC75T74AJ7KBl9VvO3vPLZuJrt38R2OZG/4SlNEUA6bb5TWQLtdor/qpPN5jAskkAUzOh5L/M+dmq2jNn03U9xwORCYPZj+fFM9bL99/0knsV0ypZDZyWH dummy@gitlab.com"›4135 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQC5jMyGtgMOVX4t2GuXkbirJA0Edr+qlOH9grnRBPHPo0Npt6XE6ZN3J3hDULTQo03wmekGw42dxdNSgk+F0GjsUBrMLbqrk485MMe0cUbP4lRXNu4ao87wPVM5fAsD4E3FQiZcI6Df011ZGIL7hGTHt6eafTfr9cJheRyYSu6g06rlnFWbbtSh9oQ7Y6sfDLBcsC9ECcXwe3mwViuQXPIVomZ02EdnBbAhbGHDtA+ZbSvTfraxOMjkxkVvvdjLxXEykpwVuZf8eZ+R/Js8jQ5RKvTZMbfxJNsGEqHD32s43ml4VF549Qz2GJDXF7Cld/n3CT6wvw0mMPM0LnykL2v0CMr44bjIA3KsNEs5MhkcBO8sv5hGfcPhrpm9WwI6gd9vdZVcxarVI+iQS947owvdn4VbEZXynCDqEEv3Zh+FA5p23mf2p7DkG/swiK/IPrjr1wmsiWmwIUsENzJNyJtibKuRsBawC4ZdL797tFilSoTzSpriegSL13joPXz3eOHCVu4ATHMo3QyLfIFbxrf9PQ79nyOpHoX2YeFXvei3xFkGMundkOqeI+pnJKDyqbiLV7UVlclua11QWNQZf1ZUd0n1wZ1g89de+wl3oJSRbSA5ZpveZEPstcMC/JhogY4JBYsvCT1yHOoNWHo90NZQsUCjNnR+/FVaACtpt2zcPTjjbXvxwCDlT3gXTmTBp/kEZq6u8p+BOlqFgxcP/sdAR8jWTin3Iw/YAcbqNgRHdjMUzJBrPQ5NcK6xFcmkOEQahdJDZs98xozCHkD4Urx6+auTr/uqRYobKoNUNiYqN1n7/dfZjQJJVkHtKd06JTFx+7/SqyfrTKS+/EIf2Hypdy9r9IFR+SWAOi11N/wflS/ZbH95Qt3STifXRecmHzyYGkMOZ+mg3Hi2YU0yn7k+P1jy627xudpT9Ak3HWT5ji8tMyn9udL7m80dYpUiEAxoYZdbSSNCDaKP4ViABnGIeZreIujabI8IdtEIjFQTaF2d5HTYjp28/qf576CFP5L7AGydypipYqZUmsYnay5YVjdm89He3TMD71SwspJlPOC4RnM0HS87OE+U0+mVaIe8YYbcjTekpVU9mkqsE/GQ34Egw79VMNNgWq5avOzpT8msClTJxgfJ1agGgigTvGxUM0FB07+sIdJxxNymAGpLKZ1op8xaJI3o8D86jWgI22za1zxUB5il9U7+KOzaWo9mp3bmhvZWGDwzTXEZhUJYMRby7o6UxSHlA6fKE63JSDD2yhXk4CjsQRNC7Ph9cYSB+Wa3i9Am4rRlJgrF79okmEOMpj1idliHkpIsy/k2CN9Lf2EIHOD4NMuLrSUH4qJsPUq19ZbGIMdImD3vMS5b dummy@gitlab.com"›4136 is expected to allow :key to be ‹"ssh-dss AAAAB3NzaC1kc3MAAAEBALEB3sM2kPy6LKLiyL+UlDx2vzuKrzSD2nsW2Kb70ivIqDNJu5CbqIQSkjdMzJiocs33ESFqXid6ezOtVdDwXHJQRxKGalW1kBbFAPjtMxlDbf559+7qN2zfCfcQsgTmNAZ7O+wltqJmyLv5i4QqNwPDvyeBvJ4C+770DzlcQtpkflKJX+O7i8Ylq34h6UTCTnjry+dFVm1xz97LPf7XuzXGZcAG/eGUNQgxQ2bferKnrpYOXx6cocSRj9W54nrRFMWuDeOspWp4MoYK0FRMfDQYPksUayGUnm1KQTGuDbB0ahRNCOm8b3tfP9Z+vjANAkqenzDuXCpz2PU/Oj6/N/UAAAAhAPOLyut12Mjcp3eUXLe1xSoI5IRXSLsoW9no93dcFNprAAABAQCLhpqKY+PNcwbhhPruL+f+uROghHzDwRNX+e231F4wHHeDDomfWyLVFj31XrHdDXZnS9tTTj5D2XWLovSSxYb3H7earTctmktL0lQ3HapujzvOkn+VM0pGs6B3j54+AM3mg50KZdYWxxv+v/lb6oEcsCjfKNyRIx/5pqX6XI3dxl9MMIxrfVWpkNX+FI68v1LVV61DC9PkNyEHU0v9YBOfrTiS21TIlVIZcSFhuDjg52MekfZAnoKaP7YFJNF3fdCrXaU3hYQrwB9XdskBUppwxKGhf7O6SWEZhAEfPA9kgxaWHoJvsDz8aca576UNe7BPmjzo/SLUX+P4uvcaffd+AAABAEqzpmwjzTxB+DV8C+0LnmKf3L/UlQWyGdmhd65rnbkHGgRMAAkoh4GBOEHL5bznNRmO7X/H6g2fR7SEabxfbvb903KI4nbfFF+3QtnwyIbTBAcH0893D3bi5rsaJcz+c6lBob2En2nThRciefXUk2oPzCQuDyFIyHLJikqRQVcalHCdQ00c/H/JkiJedHNqaeU4TeMk8SM53Brjplj/iiJq+ujc5MlEgACdCwWp0BviFACEoYyFaa3Rkc7Xdm9vFpclm9fzgUfPloASA0SkO945in3mIqMfODTb4yRvbjk8If9483fEPgQkczpdptBz1VAKg8AmRcz1GmBIxs+Stn0= dummy@gitlab.com"›4137 is expected to allow :key to be ‹"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJZmkzTgY0fiCQ+DVReyH/fFwTFz0XoR3RUO0u+199H19KFw7mNPxRSMOVS7tEtONj3Q7FcZXfqthHvgAzDiHsc= dummy@gitlab.com"›4138 is expected to allow :key to be ‹"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIETnVTgzqC1gatgSlC4zH6aYt2CAQzgJOhDRvf59ohL6 dummy@gitlab.com"›4139 is expected not to allow :key to be ‹"foo-bar"›4140 Methods4141 is expected to respond to #projects4142 is expected to respond to #publishable_key4143 #publishable_keys4144 replaces SSH key comment with simple identifier of username + hostname4145 #update_last_used_at4146 updates the last used timestamp4147 scopes4148 .for_user4149 returns keys of the specified user only4150 .order_last_used_at_desc4151 sorts by last_used_at descending, with null values at last4152 expiration scopes4153 .expired_today_and_not_notified4154 returns keys that expire today and in the past4155 .expiring_soon_and_not_notified4156 returns keys that will expire soon4157 validation of uniqueness (based on fingerprint uniqueness)4158 accepts the key once4159 does not accept the exact same key twice4160 does not accept a duplicate key with a different comment4161 validate it is a fingerprintable key4162 accepts the fingerprintable key4163 rejects the unfingerprintable key (not a key)4164 factory: :key, characters: ["\n", "\r\n"], expected_sections: 34165 accepts a key with blank space characters after stripping them4166 factory: :key, characters: [" ", " "], expected_sections: 34167 accepts a key with blank space characters after stripping them4168 factory: :key_without_comment, characters: [" ", " "], expected_sections: 24169 accepts a key with blank space characters after stripping them4170 validate it meets key restrictions4171 factory: :rsa_key_2048, minimum: 0, result: true4172 is expected to eq true4173 factory: :dsa_key_2048, minimum: 0, result: true4174 is expected to eq true4175 factory: :ecdsa_key_256, minimum: 0, result: true4176 is expected to eq true4177 factory: :ed25519_key_256, minimum: 0, result: true4178 is expected to eq true4179 factory: :rsa_key_2048, minimum: 1024, result: true4180 is expected to eq true4181 factory: :rsa_key_2048, minimum: 2048, result: true4182 is expected to eq true4183 factory: :rsa_key_2048, minimum: 4096, result: false4184 is expected to eq false4185 factory: :dsa_key_2048, minimum: 1024, result: true4186 is expected to eq true4187 factory: :dsa_key_2048, minimum: 2048, result: true4188 is expected to eq true4189 factory: :dsa_key_2048, minimum: 4096, result: false4190 is expected to eq false4191 factory: :ecdsa_key_256, minimum: 256, result: true4192 is expected to eq true4193 factory: :ecdsa_key_256, minimum: 384, result: false4194 is expected to eq false4195 factory: :ed25519_key_256, minimum: 256, result: true4196 is expected to eq true4197 factory: :ed25519_key_256, minimum: 384, result: false4198 is expected to eq false4199 factory: :rsa_key_2048, minimum: -1, result: false4200 is expected to eq false4201 factory: :dsa_key_2048, minimum: -1, result: false4202 is expected to eq false4203 factory: :ecdsa_key_256, minimum: -1, result: false4204 is expected to eq false4205 factory: :ed25519_key_256, minimum: -1, result: false4206 is expected to eq false4207 callbacks4208 authorized keys file is enabled4209 adds new key to authorized_file4210 removes key from authorized_file4211 authorized_keys file is disabled4212 does not add the key on creation4213 does not remove the key on destruction4214 #key=4215 strips white spaces4216 invalidates the public_key attribute4217 #refresh_user_cache4218 when the key belongs to a user4219 refreshes the keys count cache for the user4220 when the key does not belong to a user4221 does nothing4222Gitlab::UsageDataCounters::HLLRedisCounter4223 .categories4224 gets all unique category names4225 known_events4226 .events_for_category4227 gets the event names for given category4228 .track_event4229 with redis_hll_tracking4230 tracks the event when feature enabled4231 does not track the event with feature flag disabled4232 with event feature flag set4233 tracks the event when feature enabled4234 does not track the event with feature flag disabled4235 with no event feature flag set4236 tracks the event4237 when usage_ping is disabled4238 does not track the event4239 when usage_ping is enabled4240 tracks event when using symbol4241 tracks events with multiple values4242 raise error if metrics don't have same aggregation4243 raise error if metrics of unknown event4244 reports an error if Feature.enabled raise an error4245 for weekly events4246 sets the keys in Redis to expire automatically after the given expiry time4247 sets the keys in Redis to expire automatically after 6 weeks by default4248 for daily events4249 sets the keys in Redis to expire after the given expiry time4250 sets the keys in Redis to expire after 29 days by default4251 .track_event_in_context4252 with valid contex4253 increments context event counter4254 tracks events with multiple values4255 with empty context4256 does not increment a counter4257 when sending invalid context4258 does not increment a counter4259 .unique_events4260 returns 0 if there are no keys for the given events4261 raise error if metrics are not in the same slot4262 raise error if metrics are not in the same category4263 raise error if metrics don't have same aggregation4264 when data for the last complete week4265 is expected to eq 14266 when data for the last 4 complete weeks4267 is expected to eq 24268 when data for the week 4 weeks ago4269 is expected to eq 14270 when using symbol as parameter4271 is expected to eq 14272 when using daily aggregation4273 is expected to eq 24274 is expected to eq 34275 is expected to eq 14276 when no slot is set4277 is expected to eq 14278 when data crosses into new year4279 does not raise error4280 .weekly_redis_keys4281 returns 1 key for last for week4282 returns 4 key for last for weeks4283 start_date: "2020-12-21", end_date: "2020-12-21", keys: []4284 returns the correct keys4285 start_date: "2020-12-21", end_date: "2020-12-20", keys: []4286 returns the correct keys4287 start_date: "2020-12-21", end_date: "2020-11-21", keys: []4288 returns the correct keys4289 start_date: "2021-01-01", end_date: "2020-12-28", keys: []4290 returns the correct keys4291 start_date: "2020-12-21", end_date: "2020-12-28", keys: ["g_{compliance}_dashboard-2020-52"]4292 returns the correct keys4293 start_date: "2020-12-21", end_date: "2021-01-01", keys: ["g_{compliance}_dashboard-2020-52"]4294 returns the correct keys4295 start_date: "2020-12-27", end_date: "2021-01-01", keys: ["g_{compliance}_dashboard-2020-52"]4296 returns the correct keys4297 start_date: "2020-12-26", end_date: "2021-01-04", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53"]4298 returns the correct keys4299 start_date: "2020-12-26", end_date: "2021-01-11", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01"]4300 returns the correct keys4301 start_date: "2020-12-26", end_date: "2021-01-17", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01"]4302 returns the correct keys4303 start_date: "2020-12-26", end_date: "2021-01-18", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01", "g_{compliance}_dashboard-2021-02"]4304 returns the correct keys4305 context level tracking4306 with correct arguments4307 event_names: ["event_name_1"], context: "default", value: 24308 is expected to eq 24309 event_names: ["event_name_1"], context: "", value: 04310 is expected to eq 04311 event_names: ["event_name_2"], context: "", value: 04312 is expected to eq 04313 with invalid context4314 raise error4315 unique_events_data4316 returns the number of unique events for all known events4317 .calculate_events_union4318 calculates union of given events4319 validates and raise exception if events has mismatched slot or aggregation4320 returns 0 if there are no keys for given events4321 .weekly_time_range4322 return hash with weekly time range boundaries4323 .monthly_time_range4324 return hash with monthly time range boundaries4325Projects::AfterImportService4326 #execute4327 performs housekeeping4328 with some refs in refs/pull/**/*4329 removes refs/pull/**/*4330 with a ref in refs/heads/tmp4331 does not remove refs/heads/tmp4332 with a ref in refs/tags/tmp4333 does not remove refs/tags/tmp4334 with a ref in refs/replace/tmp4335 does not remove refs/replace/tmp4336 with a ref in refs/environments/tmp4337 does not remove refs/environments/tmp4338 with a ref in refs/keep-around/tmp4339 does not remove refs/keep-around/tmp4340 with a ref in refs/pipelines/tmp4341 does not remove refs/pipelines/tmp4342 when after import action throw non-retriable exception4343 throws after import error4344 when housekeeping service lease is taken4345 logs the error message4346 when after import action throw retriable exception one time4347 removes refs/pull/**/*4348 records the failures in the database4349ResourceAccessTokens::RevokeService4350 #execute4351 when resource is a project4352 behaves like revokes access token4353 is expected to equal true4354 is expected to eq "Access token PAT 2 has been revoked and the bot user has been scheduled for deletion."4355 calls delete user worker4356 removes membership of bot user4357 transfer issuables of bot user to ghost user4358 deletes project bot user4359 logs the event4360 revoke fails4361 when access token does not belong to this project4362 does not find the bot4363 when user does not have permission to destroy bot4364 when non-project member tries to delete project bot4365 does not allow other user to delete bot4366 when non-maintainer project member tries to delete project bot4367 does not allow developer to delete bot4368 when deletion of bot user fails4369 behaves like rollback revoke steps4370 does not revoke the access token4371 does not remove bot from member list4372 does not transfer issuables of bot user to ghost user4373 does not destroy project bot user4374Packages::Npm::CreateTagService4375 #execute4376 with no existing tag name4377 behaves like it creates the tag4378 is expected to change `Packages::Tag.count` by 14379 is expected to eq "test-tag"4380 adds tag to the package4381 with exisiting tag name4382 on package with different name4383 behaves like it creates the tag4384 is expected to change `Packages::Tag.count` by 14385 is expected to eq "test-tag"4386 adds tag to the package4387 on different package type4388 behaves like it creates the tag4389 is expected to change `Packages::Tag.count` by 14390 is expected to eq "test-tag"4391 adds tag to the package4392 on same package with different version4393 is expected to not change `Packages::Tag.count`4394 is expected to eq "test-tag"4395 adds tag to the package4396Gitlab::GithubImport::Importer::ReleasesImporter4397 #execute4398 imports the releases in bulk4399 imports draft releases4400 #build_releases4401 returns an Array containing release rows4402 does not create releases that already exist4403 uses a default release description if none is provided4404 #build4405 returns the attributes of the release as a Hash4406 the returned Hash4407 includes the tag name4408 includes the release description4409 includes the project ID4410 includes the created timestamp4411 includes the updated timestamp4412 includes the release name4413 #each_release4414 returns an Enumerator4415 yields every release to the Enumerator4416 #description_for4417 returns the description when present4418 returns a generated description when one is not present4419Gitlab::Auth::Ldap::Person4420 .normalize_dn4421 behaves like normalizes a DN4422 test_description: "strips extraneous whitespace", given: "uid =John Smith , ou = People, dc= example,dc =com", expected: "uid=john smith,ou=people,dc=example,dc=com"4423 normalizes the DN4424 test_description: "strips extraneous whitespace for a DN with a single RDN", given: "uid = John Smith", expected: "uid=john smith"4425 normalizes the DN4426 test_description: "unescapes non-reserved, non-special Unicode characters", given: "uid = Sebasti\\c3\\a1n\\ C.\\20Smith, ou=People (aka. \\22humans\\\") ,dc=example, dc=com", expected: "uid=sebastián c. smith,ou=people (aka. \\\"humans\\\"),dc=example,dc=com"4427 normalizes the DN4428 test_description: "downcases the whole string", given: "UID=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4429 normalizes the DN4430 test_description: "for a null DN (empty string), returns empty string and does not error", given: "", expected: ""4431 normalizes the DN4432 test_description: "does not strip an escaped leading space in an attribute value", given: "uid=\\ John Smith,ou=People,dc=example,dc=com", expected: "uid=\\ john smith,ou=people,dc=example,dc=com"4433 normalizes the DN4434 test_description: "does not strip an escaped leading space in the last attribute value", given: "uid=\\ John Smith", expected: "uid=\\ john smith"4435 normalizes the DN4436 test_description: "does not strip an escaped trailing space in an attribute value", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4437 normalizes the DN4438 test_description: "strips extraneous spaces after an escaped trailing space", given: "uid=John Smith\\ ,ou=People,dc=example,dc=com", expected: "uid=john smith\\ ,ou=people,dc=example,dc=com"4439 normalizes the DN4440 test_description: "strips extraneous spaces after an escaped trailing space at the end of the DN", given: "uid=John Smith,ou=People,dc=example,dc=com\\ ", expected: "uid=john smith,ou=people,dc=example,dc=com\\ "4441 normalizes the DN4442 test_description: "properly preserves escaped trailing space after unescaped trailing spaces", given: "uid=John Smith \\ ,ou=People,dc=example,dc=com", expected: "uid=john smith \\ ,ou=people,dc=example,dc=com"4443 normalizes the DN4444 test_description: "preserves multiple inner spaces in an attribute value", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4445 normalizes the DN4446 test_description: "preserves inner spaces after an escaped space", given: "uid=John\\ Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4447 normalizes the DN4448 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "uid=\\\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4449 normalizes the DN4450 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "uid=John Smith\\\n,ou=People,dc=example,dc=com", expected: "uid=john smith\\0a,ou=people,dc=example,dc=com"4451 normalizes the DN4452 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN?)", given: "uid=\nJohn Smith,ou=People,dc=example,dc=com", expected: "uid=\\0ajohn smith,ou=people,dc=example,dc=com"4453 normalizes the DN4454 test_description: "strips an unescaped trailing newline (actually an invalid DN?)", given: "uid=John Smith\n,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4455 normalizes the DN4456 test_description: "does not strip if no extraneous whitespace", given: "uid=John Smith,ou=People,dc=example,dc=com", expected: "uid=john smith,ou=people,dc=example,dc=com"4457 normalizes the DN4458 test_description: "does not modify an escaped equal sign in an attribute value", given: "uid= foo \\= bar", expected: "uid=foo \\= bar"4459 normalizes the DN4460 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: "uid= foo \\3D bar", expected: "uid=foo \\= bar"4461 normalizes the DN4462 test_description: "does not modify an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\, CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4463 normalizes the DN4464 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\2C CA", expected: "uid=john c. smith,ou=san francisco\\, ca"4465 normalizes the DN4466 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0DCA", expected: "uid=john c. smith,ou=san francisco\\,\\0dca"4467 normalizes the DN4468 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0aca"4469 normalizes the DN4470 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "uid= John C. Smith, ou=San Francisco\\,\\0D\\0ACA", expected: "uid=john c. smith,ou=san francisco\\,\\0d\\0aca"4471 normalizes the DN4472 test_description: "allows attribute type name OIDs", given: "0.9.2342.19200300.100.1.25=Example,0.9.2342.19200300.100.1.25=Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4473 normalizes the DN4474 test_description: "strips extraneous whitespace from attribute type name OIDs", given: "0.9.2342.19200300.100.1.25 = Example, 0.9.2342.19200300.100.1.25 = Com", expected: "0.9.2342.19200300.100.1.25=example,0.9.2342.19200300.100.1.25=com"4475 normalizes the DN4476 with an exception during normalization4477 returns the given DN unmodified4478 .normalize_uid4479 behaves like normalizes a DN attribute value4480 test_description: "strips extraneous whitespace", given: " John Smith ", expected: "john smith"4481 normalizes the DN attribute value4482 test_description: "unescapes non-reserved, non-special Unicode characters", given: "Sebasti\\c3\\a1n\\ C.\\20Smith", expected: "sebastián c. smith"4483 normalizes the DN attribute value4484 test_description: "downcases the whole string", given: "JoHn C. Smith", expected: "john c. smith"4485 normalizes the DN attribute value4486 test_description: "does not strip an escaped leading space in an attribute value", given: "\\ John Smith", expected: "\\ john smith"4487 normalizes the DN attribute value4488 test_description: "does not strip an escaped trailing space in an attribute value", given: "John Smith\\ ", expected: "john smith\\ "4489 normalizes the DN attribute value4490 test_description: "hex-escapes an escaped leading newline in an attribute value", given: "\\\nJohn Smith", expected: "\\0ajohn smith"4491 normalizes the DN attribute value4492 test_description: "hex-escapes and does not strip an escaped trailing newline in an attribute value", given: "John Smith\\\n", expected: "john smith\\0a"4493 normalizes the DN attribute value4494 test_description: "hex-escapes an unescaped leading newline (actually an invalid DN value?)", given: "\nJohn Smith", expected: "\\0ajohn smith"4495 normalizes the DN attribute value4496 test_description: "strips an unescaped trailing newline (actually an invalid DN value?)", given: "John Smith\n", expected: "john smith"4497 normalizes the DN attribute value4498 test_description: "does not strip if no extraneous whitespace", given: "John Smith", expected: "john smith"4499 normalizes the DN attribute value4500 test_description: "does not modify an escaped equal sign in an attribute value", given: " foo \\= bar", expected: "foo \\= bar"4501 normalizes the DN attribute value4502 test_description: "converts an escaped hex equal sign to an escaped equal sign in an attribute value", given: " foo \\3D bar", expected: "foo \\= bar"4503 normalizes the DN attribute value4504 test_description: "does not modify an escaped comma in an attribute value", given: "San Francisco\\, CA", expected: "san francisco\\, ca"4505 normalizes the DN attribute value4506 test_description: "converts an escaped hex comma to an escaped comma in an attribute value", given: "San Francisco\\2C CA", expected: "san francisco\\, ca"4507 normalizes the DN attribute value4508 test_description: "does not modify an escaped hex carriage return character in an attribute value", given: "San Francisco\\,\\0DCA", expected: "san francisco\\,\\0dca"4509 normalizes the DN attribute value4510 test_description: "does not modify an escaped hex line feed character in an attribute value", given: "San Francisco\\,\\0ACA", expected: "san francisco\\,\\0aca"4511 normalizes the DN attribute value4512 test_description: "does not modify an escaped hex CRLF in an attribute value", given: "San Francisco\\,\\0D\\0ACA", expected: "san francisco\\,\\0d\\0aca"4513 normalizes the DN attribute value4514 with an exception during normalization4515 returns the given UID unmodified4516 .ldap_attributes4517 returns a compact and unique array4518 #name4519 uses the configured name attribute and handles values as an array4520 #email4521 returns the value of mail, if present4522 returns the value of userPrincipalName, if mail and email are not present4523 #username4524 with default uid username attribute4525 returns the proper username value4526 with a different username attribute4527 returns the proper username value4528 with a non-standard username attribute4529 returns the proper username value4530 if lowercase_usernames setting is4531 enabled the username attribute is lower cased4532 disabled the username attribute is not lower cased4533Metrics::Dashboard::Annotations::CreateService4534 .execute4535 with environment4536 with anonymous user4537 behaves like prevented annotation creation4538 returns error response4539 does not change db state4540 with maintainer user4541 behaves like executed annotation creation4542 returns success response4543 creates annotation4544 with cluster4545 with anonymous user4546 behaves like prevented annotation creation4547 returns error response4548 does not change db state4549 with maintainer user4550 behaves like executed annotation creation4551 returns success response4552 creates annotation4553 with owner user4554 behaves like executed annotation creation4555 returns success response4556 creates annotation4557 non cluster nor environment is supplied4558 behaves like annotation creation failure4559 returns error response4560 missing dashboard_path4561 with maintainer user4562 behaves like annotation creation failure4563 returns error response4564 incorrect dashboard_path4565 with maintainer user4566 behaves like prevented annotation creation4567 returns error response4568 does not change db state4569AlertManagement::HttpIntegration4570 associations4571 is expected to belong to project required: false4572 validations4573 is expected to validate that :project cannot be empty/falsy4574 is expected to validate that :name cannot be empty/falsy4575 is expected to validate that the length of :name is at most 2554576 when active4577 is expected to validate that :endpoint_identifier is case-sensitively unique within the scope of :project_id and :active4578 when inactive4579 is expected not to validate that :endpoint_identifier is case-sensitively unique within the scope of :project_id and :active4580 payload_attribute_mapping4581 with valid JSON schema4582 is expected to be valid4583 with invalid JSON schema4584 when property is not an object4585 behaves like is invalid record4586 is expected to eq ["must be a valid json schema"]4587 when property missing required attributes4588 behaves like is invalid record4589 is expected to eq ["must be a valid json schema"]4590 when property has extra attributes4591 behaves like is invalid record4592 is expected to eq ["must be a valid json schema"]4593 before validation4594 #ensure_payload_example_not_nil4595 when the payload_example is nil4596 sets the payload_example to empty JSON4597 when the payload_example is not nil4598 sets the payload_example to specified value4599 #token4600 when unsaved4601 when unassigned4602 behaves like valid token4603 is expected to match /\A\h{32}\z/4604 when assigned4605 is expected not to eq "random_token"4606 behaves like valid token4607 is expected to match /\A\h{32}\z/4608 when persisted4609 behaves like valid token4610 is expected to match /\A\h{32}\z/4611 when resetting4612 is expected not to eq "87c614806da4f07b143662aafcef5b81"4613 behaves like valid token4614 is expected to match /\A\h{32}\z/4615 when reassigning4616 is expected to eq "c1f7081fe27a497915f96cb7958dd18f"4617 behaves like valid token4618 is expected to match /\A\h{32}\z/4619 #endpoint_identifier4620 when defined on initialize4621 is expected to match /\A\h{16}\z/4622 when included in initialization args4623 is expected to eq "legacy"4624 when reassigning4625 does not allow reassignment4626 #url4627 is expected to eq "http://localhost/namespace871/project1106/alerts/notify/datadog/d2a2af04.json"4628 when name is not defined4629 is expected to eq "http://localhost/namespace849/project1084/alerts/notify/http-endpoint/eb9b3afbf9f8d2c7.json"4630 for a legacy integration4631 is expected to eq "http://localhost/namespace872/project1107/alerts/notify.json"4632MergeRequests::RemoveAttentionRequestedService4633 #execute4634 invalid permissions4635 returns an error4636 reviewer does not exist4637 returns an error4638 reviewer exists4639 returns success4640 updates reviewers state4641 assignee exists4642 returns success4643 updates assignees state4644 assignee is the same as reviewer4645 updates reviewers and assignees state4646Ci::RunnersHelper4647 #runner_status_icon4648 returns - not contacted yet4649 returns offline text4650 returns online text4651 returns paused text4652 #runner_contacted_at4653 without sorting4654 returns cached value4655 with sorting set to created_date4656 returns cached value4657 with sorting set to contacted_asc4658 returns stored value4659 #admin_runners_data_attributes4660 returns the data in format4661 #group_shared_runners_settings_data4662 returns group data for top level group4663 returns group data for child group4664 #group_runners_data_attributes4665 returns group data to render a runner list4666 #toggle_shared_runners_settings_data4667 when project has runners4668 returns the correct value for is_enabled4669 when project does not have runners4670 returns the correct value for is_enabled4671 for all projects4672 returns the update path for toggling the shared runners setting4673 returns false for is_disabled_and_unoverridable when project has no group4674 shared_runners_setting: :shared_runners_enabled, is_disabled_and_unoverridable: "false"4675 returns the override runner status for project with group4676 shared_runners_setting: :disabled_with_override, is_disabled_and_unoverridable: "false"4677 returns the override runner status for project with group4678 shared_runners_setting: :disabled_and_unoverridable, is_disabled_and_unoverridable: "true"4679 returns the override runner status for project with group4680Gitlab::Changelog::Config4681 .from_git4682 retrieves the configuration from Git4683 returns the default configuration when no YAML file exists in Git4684 .from_hash4685 sets the configuration according to a Hash4686 raises Error when the categories are not a Hash4687 raises a Gitlab::Changelog::Error when the template is invalid4688 #contributor?4689 when user is a member of project4690 is expected to eq false4691 when user has at least one merge request merged into default_branch4692 is expected to eq true4693 is expected to eq false4694 #category4695 returns the name of a category4696 returns the raw category name when no alternative name is configured4697 #format_date4698 formats a date according to the configured date format4699 #always_credit_author?4700 when include_groups is defined4701 when user generating changelog has access to group4702 returns whether author should always be credited4703 when user generating changelog has no access to group4704 always returns false4705 when include_groups is not defined4706 always returns false4707Gitlab::Checks::SingleChangeAccess4708 #validate!4709 without failed checks4710 doesn't raise an error4711 calls pushes checks4712 calls branches checks4713 calls tags checks4714 calls diff checks4715 when time limit was reached4716 raises a TimeoutError4717 #commits4718 with provided commits4719 behaves like #commits4720 returns expected commits4721 returns expected commits on repeated calls4722 without provided commits4723 behaves like #commits4724 returns expected commits4725 returns expected commits on repeated calls4726Quality::TestLevel4727 #pattern4728 when level is all4729 returns a pattern4730 when level is geo4731 returns a pattern4732 when level is frontend_fixture4733 returns a pattern4734 when level is unit4735 returns a pattern4736 when level is migration4737 returns a pattern4738 when level is background_migration4739 returns a pattern4740 when level is integration4741 returns a pattern4742 when level is system4743 returns a pattern4744 with a prefix4745 returns a pattern4746 with several prefixes4747 returns a pattern4748 performance4749 memoizes the pattern for a given level4750 freezes the pattern for a given level4751 #regexp4752 when level is all4753 returns a regexp4754 when level is geo4755 returns a regexp4756 when level is frontend_fixture4757 returns a regexp4758 when level is unit4759 returns a regexp4760 when level is migration4761 returns a regexp4762 when level is background_migration4763 returns a regexp4764 when level is integration4765 returns a regexp4766 when level is system4767 returns a regexp4768 with a prefix4769 returns a regexp4770 with several prefixes4771 returns a regexp4772 performance4773 memoizes the regexp for a given level4774 freezes the regexp for a given level4775 #level_for4776 returns the correct level for a unit test4777 returns the correct level for a frontend fixture test4778 returns the correct level for a tooling test4779 returns the correct level for a migration test4780 returns the correct level for a background migration test4781 returns the correct level for an EE file without passing a prefix4782 returns the correct level for a geo migration test4783 returns the correct level for a EE-namespaced background migration test4784 returns the correct level for an integration test4785 returns the correct level for an integration test in a subfolder4786 returns the correct level for a system test4787 raises an error for an unknown level4788 #background_migration?4789 returns false for a unit test4790 returns true for a migration test4791 returns true for a background migration test4792 returns true for a geo migration test4793 returns true for a EE-namespaced background migration test4794MergeRequests::OldestPerCommitFinder4795 #execute4796 returns a Hash mapping commit SHAs to their oldest merge requests4797 skips merge requests that are not merged4798 includes the merge request for a merge commit4799 includes a merge request that was squashed into the target branch4800 includes a merge request for both a squash and merge commit4801 includes the oldest merge request when a merge commit is present in a newer merge request4802Gitlab::Chat::Command4803 #try_create_pipeline4804 returns nil when the command is not valid4805 tries to create the pipeline when a command is valid4806 #create_pipeline4807 creates the pipeline4808 creates the chat data for the pipeline4809 stores the chat name ID in the chat data4810 stores the response URL in the chat data4811 creates the environment variables for the pipeline4812Gitlab::Ci::Pipeline::Chain::CreateDeployments4813 #perform!4814 when a pipeline contains a deployment job4815 creates a deployment record4816 when creation failure occures4817 trackes the exception4818 when the corresponding environment does not exist4819 does not create a deployment record4820 when create_deployment_in_separate_transaction feature flag is disabled4821 does not create a deployment record4822 when a pipeline contains a teardown job4823 does not create a deployment record4824 when a pipeline does not contain a deployment job4825 does not create any deployments4826Gitlab::Database::QueryAnalyzers::PreventCrossDatabaseModification4827 when CI and other tables are read in a transaction4828 outside transaction4829 is expected not to raise Exception4830 within transaction4831 is expected not to raise Exception4832 within nested transaction4833 is expected not to raise Exception4834 when only CI data is modified4835 outside transaction4836 is expected not to raise Exception4837 within transaction4838 is expected not to raise Exception4839 within nested transaction4840 is expected not to raise Exception4841 when other data is modified4842 outside transaction4843 is expected not to raise Exception4844 within transaction4845 is expected not to raise Exception4846 within nested transaction4847 is expected not to raise Exception4848 when both CI and other data is modified4849 outside transaction4850 is expected not to raise Exception4851 when data modification happens in a transaction4852 raises error4853 when data modification happens in nested transactions4854 raises error4855 when comments are added to the front of query strings4856 raises error4857 when executing a SELECT FOR UPDATE query4858 outside transaction4859 is expected not to raise Exception4860 when data modification happens in a transaction4861 raises error4862 when the modification is inside a factory save! call4863 does not raise an error4864 when CI association is modified through project4865 outside transaction4866 is expected not to raise Exception4867 within transaction4868 is expected not to raise Exception4869 within nested transaction4870 is expected not to raise Exception4871 .allow_cross_database_modification_within_transaction4872 skips raising error4873 skips raising error on factory creation4874 when some table with a defined schema and another table with undefined gitlab_schema is modified4875 raises an error including including message about undefined schema4876AuditEvent4877 sanitizes custom_message in the details hash4878 validations4879 is expected to allow :ip_address to be ‹"192.168.17.43"›4880 is expected to allow :ip_address to be ‹"2001:0db8:85a3:0000:0000:8a2e:0370:7334"›4881 is expected not to allow :ip_address to be ‹"invalid IP"›4882 callbacks4883 #parallel_persist4884 wih author_name4885 behaves like a parallel persisted field4886 column: :value, details: nil, expected_value: :value4887 sets both values to be the same4888 column: nil, details: :value, expected_value: :value4889 sets both values to be the same4890 column: :value, details: :another_value, expected_value: :value4891 sets both values to be the same4892 column: nil, details: nil, expected_value: nil4893 sets both values to be the same4894 with entity_path4895 behaves like a parallel persisted field4896 column: :value, details: nil, expected_value: :value4897 sets both values to be the same4898 column: nil, details: :value, expected_value: :value4899 sets both values to be the same4900 column: :value, details: :another_value, expected_value: :value4901 sets both values to be the same4902 column: nil, details: nil, expected_value: nil4903 sets both values to be the same4904 with target_details4905 behaves like a parallel persisted field4906 column: :value, details: nil, expected_value: :value4907 sets both values to be the same4908 column: nil, details: :value, expected_value: :value4909 sets both values to be the same4910 column: :value, details: :another_value, expected_value: :value4911 sets both values to be the same4912 column: nil, details: nil, expected_value: nil4913 sets both values to be the same4914 with target_type4915 behaves like a parallel persisted field4916 column: :value, details: nil, expected_value: :value4917 sets both values to be the same4918 column: nil, details: :value, expected_value: :value4919 sets both values to be the same4920 column: :value, details: :another_value, expected_value: :value4921 sets both values to be the same4922 column: nil, details: nil, expected_value: nil4923 sets both values to be the same4924 with target_id4925 behaves like a parallel persisted field4926 column: :value, details: nil, expected_value: :value4927 sets both values to be the same4928 column: nil, details: :value, expected_value: :value4929 sets both values to be the same4930 column: :value, details: :another_value, expected_value: :value4931 sets both values to be the same4932 column: nil, details: nil, expected_value: nil4933 sets both values to be the same4934 #as_json4935 ip_address4936 overrides the ip_address with its string value4937ResourceStateEventFinder4938 #execute4939 returns events accessible by user4940 when issues are private4941 does not return any events4942 when issue is not accesible to the user4943 does not return any events4944 #can_read_eventable?4945 when eventable is an Issue4946 when issue is readable4947 is expected to be truthy4948 when issue is not readable4949 is expected to be falsey4950 when eventable is a MergeRequest4951 when merge request is readable4952 is expected to be truthy4953 when merge request is not readable4954 is expected to be falsey4955Gitlab::Ci::Pipeline::Seed::Environment4956 #to_resource4957 when job has environment name attribute4958 behaves like returning a correct environment4959 returns a persisted environment object4960 when environment has already existed4961 returns the existing environment object4962 and job environment also has an auto_stop_in attribute4963 behaves like returning a correct environment4964 returns a persisted environment object4965 when environment has already existed4966 returns the existing environment object4967 when job has deployment tier attribute4968 when environment has not been created yet4969 sets the specified deployment tier4970 when deployment tier is staging4971 sets the specified deployment tier4972 when deployment tier is unknown4973 raises an error4974 when environment has already been created4975 does not overwrite the specified deployment tier4976 when job starts a review app4977 behaves like returning a correct environment4978 returns a persisted environment object4979 when environment has already existed4980 returns the existing environment object4981 when job stops a review app4982 behaves like returning a correct environment4983 returns a persisted environment object4984 when environment has already existed4985 returns the existing environment object4986AutoDevops::DisableWorker#perform4987 disables auto devops for project4988 when project owner is a user4989 sends an email to pipeline user and project owner4990 when project does not have owner4991 sends an email to pipeline user4992 when pipeline is not related to a user and project does not have owner4993 does not send an email4994Gitlab::JiraImport4995 .validate_project_settings!4996 without user param4997 behaves like jira configuration base checks4998 with configuration_check set to false4999 does not raise Jira integration error5000 when Jira integration was not setup5001 behaves like raise Jira import error5002 returns error5003 when Jira integration exists5004 when Jira connection is not valid5005 behaves like raise Jira import error5006 returns error5007 when jira connection is valid5008 does not return any error5009 with user param provided5010 when user has permission to run import5011 behaves like jira configuration base checks5012 with configuration_check set to false5013 does not raise Jira integration error5014 when Jira integration was not setup5015 behaves like raise Jira import error5016 returns error5017 when Jira integration exists5018 when Jira connection is not valid5019 behaves like raise Jira import error5020 returns error5021 when jira integration is configured5022 when issues feature is disabled5023 behaves like raise Jira import error5024 returns error5025 when everything is ok5026 does not return any error5027 when user does not have permissions to run the import5028 behaves like raise Jira import error5029 returns error5030 .jira_issue_cache_key5031 returns cache key for Jira issue imported to given project5032 .already_imported_cache_key5033 returns cache key for already imported items5034 .jira_issues_next_page_cache_key5035 returns cache key for next issues5036 .get_issues_next_start_at5037 returns zero when not defined5038 returns negative value for next issues to be imported starting point5039 returns cached value for next issues to be imported starting point5040 .cache_users_mapping5041 stores the data correctly5042 .get_user_mapping5043 reads the data correctly5044 returns nil if value not found5045 .store_issues_next_started_at5046 stores nil value5047 stores positive value5048 stores negative value5049SnippetBlobPresenter5050 #rich_data5051 with PersonalSnippet5052 when blob is binary5053 returns the HTML associated with the binary5054 with markdown format5055 returns rich markdown content5056 with notebook format5057 returns rich notebook content5058 with openapi format5059 returns rich openapi content5060 with svg format5061 returns rich svg content5062 with other format5063 does not return no rich content5064 route helpers5065 #raw_path5066 behaves like snippet blob raw path5067 for PersonalSnippets5068 returns the raw personal snippet blob path5069 for ProjectSnippets5070 returns the raw project snippet blob path5071 with a snippet without a repository5072 with ProjectSnippet5073 returns the raw project snippet path5074 with PersonalSnippet5075 returns the raw personal snippet path5076 #raw_plain_data5077 with a plain file5078 shows raw data for non binary files5079 with a binary file5080 returns nil5081 #raw_url5082 behaves like snippet blob raw url5083 for PersonalSnippets5084 returns the raw personal snippet blob url5085 for ProjectSnippets5086 returns the raw project snippet blob url5087 with a snippet without a repository5088 with ProjectSnippet5089 returns the raw project snippet url5090 with PersonalSnippet5091 returns the raw personal snippet url5092MergeRequests::ResolvedDiscussionNotificationService5093 #execute5094 when not all discussions are resolved5095 doesn't add a system note5096 doesn't send a notification email5097 doesn't send a webhook5098 when all discussions are resolved5099 adds a system note5100 sends a notification email5101 sends a webhook5102Banzai::Filter::InlineMetricsRedactorFilter5103 without a metrics charts placeholder5104 leaves regular non-metrics links unchanged5105 with a metrics charts placeholder5106 behaves like redacts the embed placeholder5107 no user is logged in5108 redacts the placeholder5109 the user does not have permission do see charts5110 redacts the placeholder5111 behaves like retains the embed placeholder when applicable5112 the user has requisite permissions5113 leaves the placeholder5114 with /-/metrics?environment=:environment_id URL5115 behaves like redacts the embed placeholder5116 no user is logged in5117 redacts the placeholder5118 the user does not have permission do see charts5119 redacts the placeholder5120 behaves like retains the embed placeholder when applicable5121 the user has requisite permissions5122 leaves the placeholder5123 for a grafana dashboard5124 behaves like redacts the embed placeholder5125 no user is logged in5126 redacts the placeholder5127 the user does not have permission do see charts5128 redacts the placeholder5129 behaves like retains the embed placeholder when applicable5130 the user has requisite permissions5131 leaves the placeholder5132 for a cluster metric embed5133 with user who can read cluster5134 behaves like redacts the embed placeholder5135 no user is logged in5136 redacts the placeholder5137 the user does not have permission do see charts5138 redacts the placeholder5139 behaves like retains the embed placeholder when applicable5140 the user has requisite permissions5141 leaves the placeholder5142 without user who can read cluster5143 redacts the embed placeholder5144 the user has requisite permissions5145 for an internal non-dashboard url5146 leaves the placeholder5147 with over 100 embeds5148 redacts ill-advised embeds5149 for an alert embed5150 behaves like redacts the embed placeholder5151 no user is logged in5152 redacts the placeholder5153 the user does not have permission do see charts5154 redacts the placeholder5155 behaves like retains the embed placeholder when applicable5156 the user has requisite permissions5157 leaves the placeholder5158Types::Ci::JobTokenScopeType5159 is expected to eq "CiJobTokenScopeType"5160 has the correct fields5161 query5162 with access to scope5163 when multiple projects in the allow list5164 when linked projects are readable5165 returns readable projects in scope5166 when linked project is not readable5167 returns readable projects in scope5168 when job token scope is disabled5169 does not return an error5170 returns nil5171Sidebars::Menu5172 #all_active_routes5173 gathers all active routes of items and the current menu5174 #render?5175 when the menus has no items5176 returns false5177 when menu has a partial5178 returns true5179 when the menu has items5180 returns true5181 when menu items are NilMenuItem5182 returns false5183 #has_items?5184 returns true when there are regular menu items5185 returns true when there are nil menu items5186 #has_renderable_items?5187 returns true when there are regular menu items5188 returns false when there are nil menu items5189 returns true when there are both regular and nil menu items5190 #renderable_items5191 returns only regular menu items5192 #insert_element_before5193 adds element before the specific element class5194 does not add nil elements5195 when reference element does not exist5196 adds the element to the top of the list5197 #insert_element_after5198 adds element after the specific element class5199 does not add nil elements5200 when reference element does not exist5201 adds the element to the end of the list5202 #remove_element5203 removes specific element5204 does not remove nil elements5205 #container_html_options5206 when menu can be rendered5207 when menu has renderable items5208 contains the special class5209 when menu already has other classes5210 appends special class5211 when menu does not have renderable items5212 does not contain the special class5213 when menu cannot be rendered5214 does not contain special class5215 #link5216 returns first visible menu item link5217 returns nil if there are no visible menu items5218Packages::Debian::ProjectComponentFile5219 behaves like Debian Component File5220 relationships5221 with stubbed uploader5222 is expected to belong to component class_name => Packages::Debian::ProjectComponent required: false inverse_of => files5223 with packages file_type5224 is expected to belong to architecture class_name => Packages::Debian::ProjectArchitecture required: false inverse_of => files5225 with :sources file_type5226 is expected to belong to architecture class_name => Packages::Debian::ProjectArchitecture inverse_of => files optional: true5227 validations5228 #component5229 is expected to validate that :component cannot be empty/falsy5230 #architecture5231 with packages file_type5232 is expected to validate that :architecture cannot be empty/falsy5233 with :sources file_type5234 is expected to validate that :architecture is empty/falsy5235 #file_type5236 is expected to validate that :file_type cannot be empty/falsy5237 is expected to allow :file_type to be ‹:packages›5238 #compression_type5239 is expected not to validate that :compression_type cannot be empty/falsy5240 is expected to allow :compression_type to be ‹nil›5241 is expected to allow :compression_type to be ‹:gz›5242 #file5243 the uploader api5244 is expected to respond to #store_dir5245 is expected to respond to #cache_dir5246 is expected to respond to #work_dir5247 #file_store5248 is expected to validate that :file_store cannot be empty/falsy5249 #file_md55250 is expected to validate that :file_md5 cannot be empty/falsy5251 #file_sha2565252 is expected to validate that :file_sha256 cannot be empty/falsy5253 scopes5254 .with_container5255 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 7, created_at: "2021-12-14 01:50:29.537369107 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5256 .with_codename_or_suite5257 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 7, created_at: "2021-12-14 01:50:29.537369107 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5258 .with_component_name5259 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 3, created_at: "2021-12-14 01:50:29.509041251 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5260 .with_file_type5261 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 8, created_at: "2021-12-14 01:50:29.545566000 +0000", up...1, file: "Sources", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5262 .with_architecture5263 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 2, created_at: "2021-12-14 01:50:29.502157392 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5264 .with_architecture_name5265 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 2, created_at: "2021-12-14 01:50:29.502157392 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5266 .with_compression_type5267 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 4, created_at: "2021-12-14 01:50:29.516200810 +0000", up..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5268 .with_file_sha2565269 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 6, created_at: "2021-12-14 01:50:29.530301728 +0000", up...ion_type: nil, file_store: 1, file: "Packages", file_md5: "12345abcde", file_sha256: "other_sha256">5270 .updated_before5271 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 10, created_at: "2021-12-14 01:50:30.712107416 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad"> and #<Packages::Debian::ProjectComponentFile id: 11, created_at: "2021-12-14 01:50:30.720321145 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5272 callbacks5273 updates metadata columns5274 #relative_path5275 with a Packages file_type5276 is expected to eq "project-component-1/binary-project-arch-1/Packages"5277 with a Source file_type5278 is expected to eq "project-component-1/source/Sources"5279 with a DI Packages file_type5280 is expected to eq "project-component-1/debian-installer/binary-project-arch-1/Packages"5281 with an xz compression_type5282 is expected to eq "project-component-1/binary-project-arch-1/Packages.xz"5283Gitlab::Suggestions::FileSuggestion5284 #line_conflict5285 when line ranges do not overlap5286 return false5287 when line ranges are identical5288 returns true5289 when one range starts, and the other ends, on the same line5290 returns true5291 when one line range contains the other5292 returns true5293 when line ranges overlap5294 returns true5295 when no suggestions have been added5296 returns false5297 #new_content5298 with two suggestions5299 returns a blob with the suggestions applied to it5300 when no suggestions have been added5301 returns an empty string5302 with multiline suggestions5303 when the previous suggestion increases the line count5304 returns a blob with the suggestions applied to it5305 when the previous suggestion decreases and increases the line count5306 returns a blob with the suggestions applied to it5307 when the previous suggestion replaces with the same number of lines5308 returns a blob with the suggestions applied to it5309 when the previous suggestion replaces multiple lines and the suggestions were applied out of order5310 returns a blob with the suggestions applied to it5311ErrorTracking::SentryClient::IssueLink5312 #create_issue_link5313 is expected to be present5314 behaves like calls sentry api5315 calls sentry api5316 redirects5317 behaves like no Sentry redirects5318 does not follow redirects5319 when exception is raised5320 behaves like maps Sentry exceptions5321 HTTParty::Error5322 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"5323 Net::OpenTimeout5324 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"5325 SocketError5326 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"5327 OpenSSL::SSL::SSLError5328 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"5329 Errno::ECONNREFUSED5330 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"5331 StandardError5332 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"5333 when integration_id is not provided5334 is expected to be present5335 behaves like calls sentry api5336 calls sentry api5337 redirects5338 behaves like no Sentry redirects5339 does not follow redirects5340 when exception is raised5341 behaves like maps Sentry exceptions5342 HTTParty::Error5343 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"5344 Net::OpenTimeout5345 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"5346 SocketError5347 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"5348 OpenSSL::SSL::SSLError5349 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"5350 Errno::ECONNREFUSED5351 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"5352 StandardError5353 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"5354Groups::UpdateSharedRunnersService5355 #execute5356 when current_user is not the group owner5357 results error and does not call any method5358 when current_user is the group owner5359 enable shared Runners5360 group that its ancestors have shared runners disabled5361 results error5362 root group with shared runners disabled5363 receives correct method and succeeds5364 when group has pending builds5365 updates pending builds for the group5366 when shared runners is not toggled5367 does not update pending builds for the group5368 disable shared Runners5369 receives correct method and succeeds5370 when group has pending builds5371 updates pending builds for the group5372 allow descendants to override5373 top level group5374 receives correct method and succeeds5375 when parent does not allow5376 results error5377BulkImports::Projects::Pipelines::IssuesPipeline5378 #run5379 imports issue into destination project5380 zoom meetings5381 restores zoom meetings5382 sentry issue5383 restores sentry issue information5384 award emoji5385 has award emoji on an issue5386 issue state5387 restores issue state5388 labels5389 restores issue labels5390 milestone5391 restores issue milestone5392 timelogs5393 restores issue timelogs5394 notes5395 restores issue notes and their award emoji5396ChatNotificationWorker5397 instructs sidekiq not to retry on failure5398 #perform5399 does nothing when the build no longer exists5400 sends a response for an existing build5401 when the trace sections could not be found5402 reschedules the job5403 raises an error after 300 seconds of retrying5404 #send_response5405 when a responder could not be found5406 does nothing5407 when a responder could be found5408 sends the response for a succeeded build5409 sends the response for a failed build5410Gitlab::GitalyClient::BlobService5411 #get_new_lfs_pointers5412 sends a get_new_lfs_pointers message5413 with not_in = :all5414 sends the correct message5415 with hook environment5416 sends a list_all_lfs_pointers message5417 #get_all_lfs_pointers5418 sends a get_all_lfs_pointers message5419 #list_blobs5420 with a single revision5421 sends a list_blobs message5422 with multiple revisions5423 sends a list_blobs message5424 with multiple revisions and limits5425 sends a list_blobs message5426 with paths5427 sends a list_blobs message5428 with split contents5429 sends a list_blobs message5430Packages::Conan::SearchService5431 #execute5432 with wildcard5433 makes a wildcard query54351st Try error in ./spec/services/packages/conan/search_service_spec.rb:23:5436expected: {:results=>["package-8/1.0.0@namespace1024+project1268/stable", "package-10/1.0.0@namespace1024+project1268/stable"]}5437 got: {:results=>["package-10/1.0.0@namespace1024+project1268/stable", "package-8/1.0.0@namespace1024+project1268/stable"]}5438(compared using ==)5439Diff:5440@@ -1 +1 @@5441-:results => ["package-8/1.0.0@namespace1024+project1268/stable", "package-10/1.0.0@namespace1024+project1268/stable"],5442+:results => ["package-10/1.0.0@namespace1024+project1268/stable", "package-8/1.0.0@namespace1024+project1268/stable"],5444RSpec::Retry: 2nd try ./spec/services/packages/conan/search_service_spec.rb:235445 with only wildcard5446 returns empty5447 with no wildcard5448 makes a search using the beginning of the recipe5449 with full recipe match5450 makes an exact search5451 with malicious query5452 returns empty5453Types::UserInterface5454 is expected to eq "User"5455 is expected to require graphql authorizations :read_user5456 has the expected fields5457 name field5458 user requests5459 a user5460 returns name5461 a project bot5462 returns `****` for a regular user5463 when requester is nil5464 returns `****`5465 when requester is a project maintainer5466 returns name5467 admin requests5468 a user5469 returns name5470 a project bot5471 returns name5472 snippets field5473 returns snippets5474 callouts field5475 returns user callouts5476 timelogs field5477 returns user timelogs5478API::Entities::User5479 exposes correct attributes5480 exposes created_at if the current user can read the user profile5481 does not expose created_at if the current user cannot read the user profile5482 exposes user as not a bot5483 exposes local_time5484 with project bot user5485 exposes user as a bot5486 when the requester is not an admin5487 does not expose project bot user name5488 when the requester is nil5489 does not expose project bot user name5490 when the requester is a project maintainer5491 exposes project bot user name5492 when the requester is an admin5493 exposes project bot user name5494Gitlab::Ci::Pipeline::Chain::Config::Content5495 #perform!5496 when bridge job is passed in as parameter5497 returns the content already available in command5498 when config is defined in a custom path in the repository5499 builds root config including the local custom file5500 when config is defined remotely5501 builds root config including the remote config5502 when config is defined in a separate repository5503 builds root config including the path to another repository5504 when path specifies a refname5505 builds root config including the path and refname to another repository5506 when config is defined in the default .gitlab-ci.yml5507 builds root config including the canonical CI config file5508 when config is the Auto-Devops template5509 builds root config including the auto-devops template5510 when config is passed as a parameter5511 uses the parameter content5512 when config is not defined anywhere5513 builds root config including the auto-devops template5514Gitlab::Ci::Build::Rules5515 .new5516 with no rules5517 sets @rule_list to an empty array5518 sets @default_when to "on_success"5519 with one rule5520 sets @rule_list to an array of a single rule5521 sets @default_when to "on_success"5522 with multiple rules5523 sets @rule_list to an array of a single rule5524 sets @default_when to "on_success"5525 with a specified default when:5526 sets @rule_list to an array of a single rule5527 sets @default_when to "manual"5528 #evaluate5529 with nil rules5530 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="on_success", start_in=nil, allow_failure=nil, variables=nil>5531 and when:manual set as the default5532 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="manual", start_in=nil, allow_failure=nil, variables=nil>5533 with no rules5534 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="never", start_in=nil, allow_failure=nil, variables=nil>5535 and when:manual set as the default5536 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="never", start_in=nil, allow_failure=nil, variables=nil>5537 with one rule without any clauses5538 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="manual", start_in=nil, allow_failure=true, variables=nil>5539 with one matching rule5540 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="always", start_in=nil, allow_failure=nil, variables=nil>5541 with two matching rules5542 returns the value of the first matched rule in the list5543 with a non-matching and matching rule5544 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="always", start_in=nil, allow_failure=nil, variables=nil>5545 with a matching and non-matching rule5546 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="delayed", start_in="1 day", allow_failure=nil, variables=nil>5547 with non-matching rules5548 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="never", start_in=nil, allow_failure=nil, variables=nil>5549 and when:manual set as the default5550 does not return the default when:5551 with only allow_failure5552 with matching rule5553 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="on_success", start_in=nil, allow_failure=true, variables=nil>5554 with non-matching rule5555 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="never", start_in=nil, allow_failure=nil, variables=nil>5556 with variables5557 with matching rule5558 is expected to eq #<struct Gitlab::Ci::Build::Rules::Result when="on_success", start_in=nil, allow_failure=nil, variables={:MY_VAR=>"my var"}>5559 Gitlab::Ci::Build::Rules::Result5560 #build_attributes5561 compacts nil values5562 #pass?5563 'when' is 'never'5564 returns false5565 'when' is 'on_success'5566 returns true5567Gitlab::SlashCommands::IssueComment5568 #execute5569 when the issue exists5570 when project is private5571 when the user is not a member of the project5572 does not allow the user to comment5573 when the user is not a member of the project5574 when the discussion is locked in the issue5575 does not allow the user to comment5576 when the user can comment on the issue5577 when comment body exists5578 creates a new comment5579 a new comment has a correct body5580 when comment body does not exist5581 does not create a new comment5582 displays the errors5583 when the issue does not exist5584 returns not found5585 .match5586 when a command has an issue ID5587 when command has a comment body5588 matches an issue ID5589 matches an note body5590 when a command has a reference prefix for issue ID5591 matches an issue ID5592 when a command does not have an issue ID5593 does not match5594Metrics::Dashboard::CloneDashboardService5595 #execute5596 user does not have push right to repository5597 behaves like misconfigured dashboard service response with stepable5598 returns an appropriate message and status code5599 with rights to push to the repository5600 wrong target file extension5601 behaves like misconfigured dashboard service response with stepable5602 returns an appropriate message and status code5603 wrong source dashboard file5604 behaves like misconfigured dashboard service response with stepable5605 returns an appropriate message and status code5606 path traversal attack attempt5607 behaves like misconfigured dashboard service response with stepable5608 returns an appropriate message and status code5609 path traversal attack attempt on target file5610 strips target file name to safe value5611 valid parameters5612 extends dashboard template path to absolute url5613 behaves like valid dashboard cloning process5614 dashboard template: config/prometheus/common_metrics.yml5615 delegates commit creation to Files::CreateService5616 user has defined custom metrics5617 uses external service to includes them into new file content5618 behaves like valid dashboard cloning process5619 dashboard template: config/prometheus/cluster_metrics.yml5620 delegates commit creation to Files::CreateService5621 user has defined custom metrics5622 uses external service to includes them into new file content5623 behaves like valid dashboard cloning process5624 dashboard template: config/prometheus/self_monitoring_default.yml5625 delegates commit creation to Files::CreateService5626 user has defined custom metrics5627 uses external service to includes them into new file content5628 selected branch already exists5629 behaves like misconfigured dashboard service response with stepable5630 returns an appropriate message and status code5631 blank branch name5632 behaves like misconfigured dashboard service response with stepable5633 returns an appropriate message and status code5634 dashboard file already exists5635 behaves like misconfigured dashboard service response with stepable5636 returns an appropriate message and status code5637 Files::CreateService success5638 clears dashboards cache5639 returns success5640 Files::CreateService fails5641 does NOT clear dashboards cache5642 returns error5643MergeWorker5644 remove source branch5645 clears cache of source repo after removing source branch5646 behaves like an idempotent worker5647 is labeled as idempotent5648 performs multiple times sequentially without raising an exception5649 the merge request is still shown as merged5650Gitlab::SlashCommands::IssueNew5651 #execute5652 without description5653 creates the issue5654 with description5655 creates the issue with description5656 with more newlines between the title and the description5657 creates the issue5658 issue cannot be created5659 displays the errors5660 .match5661 matches the title without description5662 matches the title with description5663 matches the alias new5664LearnGitlabHelper5665 #learn_gitlab_enabled?5666 onboarding: true, learn_gitlab_available: true, result: true5667 when signed in5668 is expected to eq true5669 onboarding: true, learn_gitlab_available: false, result: false5670 when signed in5671 is expected to eq false5672 onboarding: false, learn_gitlab_available: true, result: false5673 when signed in5674 is expected to eq false5675 when not signed in5676 is expected to eq false5677 #learn_gitlab_data5678DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5679Falling back to an asset that may be in the public folder.5680This behavior is deprecated and will be removed.5681To bypass the asset pipeline and preserve this behavior,5682use the `skip_pipeline: true` option.5683 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5684DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5685Falling back to an asset that may be in the public folder.5686This behavior is deprecated and will be removed.5687To bypass the asset pipeline and preserve this behavior,5688use the `skip_pipeline: true` option.5689 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5690DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5691Falling back to an asset that may be in the public folder.5692This behavior is deprecated and will be removed.5693To bypass the asset pipeline and preserve this behavior,5694use the `skip_pipeline: true` option.5695 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5696DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5697Falling back to an asset that may be in the public folder.5698This behavior is deprecated and will be removed.5699To bypass the asset pipeline and preserve this behavior,5700use the `skip_pipeline: true` option.5701 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5702DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5703Falling back to an asset that may be in the public folder.5704This behavior is deprecated and will be removed.5705To bypass the asset pipeline and preserve this behavior,5706use the `skip_pipeline: true` option.5707 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5708DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5709Falling back to an asset that may be in the public folder.5710This behavior is deprecated and will be removed.5711To bypass the asset pipeline and preserve this behavior,5712use the `skip_pipeline: true` option.5713 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5714DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5715Falling back to an asset that may be in the public folder.5716This behavior is deprecated and will be removed.5717To bypass the asset pipeline and preserve this behavior,5718use the `skip_pipeline: true` option.5719 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5720DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5721Falling back to an asset that may be in the public folder.5722This behavior is deprecated and will be removed.5723To bypass the asset pipeline and preserve this behavior,5724use the `skip_pipeline: true` option.5725 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5726DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5727Falling back to an asset that may be in the public folder.5728This behavior is deprecated and will be removed.5729To bypass the asset pipeline and preserve this behavior,5730use the `skip_pipeline: true` option.5731 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5732 sets correct paths5733DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5734Falling back to an asset that may be in the public folder.5735This behavior is deprecated and will be removed.5736To bypass the asset pipeline and preserve this behavior,5737use the `skip_pipeline: true` option.5738 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5739DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5740Falling back to an asset that may be in the public folder.5741This behavior is deprecated and will be removed.5742To bypass the asset pipeline and preserve this behavior,5743use the `skip_pipeline: true` option.5744 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5745DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5746Falling back to an asset that may be in the public folder.5747This behavior is deprecated and will be removed.5748To bypass the asset pipeline and preserve this behavior,5749use the `skip_pipeline: true` option.5750 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5751DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5752Falling back to an asset that may be in the public folder.5753This behavior is deprecated and will be removed.5754To bypass the asset pipeline and preserve this behavior,5755use the `skip_pipeline: true` option.5756 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5757DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5758Falling back to an asset that may be in the public folder.5759This behavior is deprecated and will be removed.5760To bypass the asset pipeline and preserve this behavior,5761use the `skip_pipeline: true` option.5762 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5763DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5764Falling back to an asset that may be in the public folder.5765This behavior is deprecated and will be removed.5766To bypass the asset pipeline and preserve this behavior,5767use the `skip_pipeline: true` option.5768 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5769DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5770Falling back to an asset that may be in the public folder.5771This behavior is deprecated and will be removed.5772To bypass the asset pipeline and preserve this behavior,5773use the `skip_pipeline: true` option.5774 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5775DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5776Falling back to an asset that may be in the public folder.5777This behavior is deprecated and will be removed.5778To bypass the asset pipeline and preserve this behavior,5779use the `skip_pipeline: true` option.5780 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5781DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5782Falling back to an asset that may be in the public folder.5783This behavior is deprecated and will be removed.5784To bypass the asset pipeline and preserve this behavior,5785use the `skip_pipeline: true` option.5786 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5787 sets correct completion statuses5788 behaves like has all data5789DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5790Falling back to an asset that may be in the public folder.5791This behavior is deprecated and will be removed.5792To bypass the asset pipeline and preserve this behavior,5793use the `skip_pipeline: true` option.5794 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5795DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5796Falling back to an asset that may be in the public folder.5797This behavior is deprecated and will be removed.5798To bypass the asset pipeline and preserve this behavior,5799use the `skip_pipeline: true` option.5800 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5801DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5802Falling back to an asset that may be in the public folder.5803This behavior is deprecated and will be removed.5804To bypass the asset pipeline and preserve this behavior,5805use the `skip_pipeline: true` option.5806 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5807DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5808Falling back to an asset that may be in the public folder.5809This behavior is deprecated and will be removed.5810To bypass the asset pipeline and preserve this behavior,5811use the `skip_pipeline: true` option.5812 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5813DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5814Falling back to an asset that may be in the public folder.5815This behavior is deprecated and will be removed.5816To bypass the asset pipeline and preserve this behavior,5817use the `skip_pipeline: true` option.5818 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5819DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5820Falling back to an asset that may be in the public folder.5821This behavior is deprecated and will be removed.5822To bypass the asset pipeline and preserve this behavior,5823use the `skip_pipeline: true` option.5824 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5825DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5826Falling back to an asset that may be in the public folder.5827This behavior is deprecated and will be removed.5828To bypass the asset pipeline and preserve this behavior,5829use the `skip_pipeline: true` option.5830 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5831DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5832Falling back to an asset that may be in the public folder.5833This behavior is deprecated and will be removed.5834To bypass the asset pipeline and preserve this behavior,5835use the `skip_pipeline: true` option.5836 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5837DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5838Falling back to an asset that may be in the public folder.5839This behavior is deprecated and will be removed.5840To bypass the asset pipeline and preserve this behavior,5841use the `skip_pipeline: true` option.5842 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5843 has all actions5844DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5845Falling back to an asset that may be in the public folder.5846This behavior is deprecated and will be removed.5847To bypass the asset pipeline and preserve this behavior,5848use the `skip_pipeline: true` option.5849 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5850DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5851Falling back to an asset that may be in the public folder.5852This behavior is deprecated and will be removed.5853To bypass the asset pipeline and preserve this behavior,5854use the `skip_pipeline: true` option.5855 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5856DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5857Falling back to an asset that may be in the public folder.5858This behavior is deprecated and will be removed.5859To bypass the asset pipeline and preserve this behavior,5860use the `skip_pipeline: true` option.5861 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5862DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5863Falling back to an asset that may be in the public folder.5864This behavior is deprecated and will be removed.5865To bypass the asset pipeline and preserve this behavior,5866use the `skip_pipeline: true` option.5867 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5868DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5869Falling back to an asset that may be in the public folder.5870This behavior is deprecated and will be removed.5871To bypass the asset pipeline and preserve this behavior,5872use the `skip_pipeline: true` option.5873 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5874DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5875Falling back to an asset that may be in the public folder.5876This behavior is deprecated and will be removed.5877To bypass the asset pipeline and preserve this behavior,5878use the `skip_pipeline: true` option.5879 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5880DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5881Falling back to an asset that may be in the public folder.5882This behavior is deprecated and will be removed.5883To bypass the asset pipeline and preserve this behavior,5884use the `skip_pipeline: true` option.5885 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5886DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5887Falling back to an asset that may be in the public folder.5888This behavior is deprecated and will be removed.5889To bypass the asset pipeline and preserve this behavior,5890use the `skip_pipeline: true` option.5891 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5892DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5893Falling back to an asset that may be in the public folder.5894This behavior is deprecated and will be removed.5895To bypass the asset pipeline and preserve this behavior,5896use the `skip_pipeline: true` option.5897 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5898 has all section data5899DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5900Falling back to an asset that may be in the public folder.5901This behavior is deprecated and will be removed.5902To bypass the asset pipeline and preserve this behavior,5903use the `skip_pipeline: true` option.5904 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5905DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5906Falling back to an asset that may be in the public folder.5907This behavior is deprecated and will be removed.5908To bypass the asset pipeline and preserve this behavior,5909use the `skip_pipeline: true` option.5910 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5911DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5912Falling back to an asset that may be in the public folder.5913This behavior is deprecated and will be removed.5914To bypass the asset pipeline and preserve this behavior,5915use the `skip_pipeline: true` option.5916 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5917DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5918Falling back to an asset that may be in the public folder.5919This behavior is deprecated and will be removed.5920To bypass the asset pipeline and preserve this behavior,5921use the `skip_pipeline: true` option.5922 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5923DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5924Falling back to an asset that may be in the public folder.5925This behavior is deprecated and will be removed.5926To bypass the asset pipeline and preserve this behavior,5927use the `skip_pipeline: true` option.5928 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5929DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5930Falling back to an asset that may be in the public folder.5931This behavior is deprecated and will be removed.5932To bypass the asset pipeline and preserve this behavior,5933use the `skip_pipeline: true` option.5934 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5935DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5936Falling back to an asset that may be in the public folder.5937This behavior is deprecated and will be removed.5938To bypass the asset pipeline and preserve this behavior,5939use the `skip_pipeline: true` option.5940 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5941DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5942Falling back to an asset that may be in the public folder.5943This behavior is deprecated and will be removed.5944To bypass the asset pipeline and preserve this behavior,5945use the `skip_pipeline: true` option.5946 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5947DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.5948Falling back to an asset that may be in the public folder.5949This behavior is deprecated and will be removed.5950To bypass the asset pipeline and preserve this behavior,5951use the `skip_pipeline: true` option.5952 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5953 has all project data5954 when in the new action URLs experiment5955DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.5956Falling back to an asset that may be in the public folder.5957This behavior is deprecated and will be removed.5958To bypass the asset pipeline and preserve this behavior,5959use the `skip_pipeline: true` option.5960 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5961DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.5962Falling back to an asset that may be in the public folder.5963This behavior is deprecated and will be removed.5964To bypass the asset pipeline and preserve this behavior,5965use the `skip_pipeline: true` option.5966 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5967DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.5968Falling back to an asset that may be in the public folder.5969This behavior is deprecated and will be removed.5970To bypass the asset pipeline and preserve this behavior,5971use the `skip_pipeline: true` option.5972 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5973DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.5974Falling back to an asset that may be in the public folder.5975This behavior is deprecated and will be removed.5976To bypass the asset pipeline and preserve this behavior,5977use the `skip_pipeline: true` option.5978 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5979DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.5980Falling back to an asset that may be in the public folder.5981This behavior is deprecated and will be removed.5982To bypass the asset pipeline and preserve this behavior,5983use the `skip_pipeline: true` option.5984 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5985DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.5986Falling back to an asset that may be in the public folder.5987This behavior is deprecated and will be removed.5988To bypass the asset pipeline and preserve this behavior,5989use the `skip_pipeline: true` option.5990 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5991DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.5992Falling back to an asset that may be in the public folder.5993This behavior is deprecated and will be removed.5994To bypass the asset pipeline and preserve this behavior,5995use the `skip_pipeline: true` option.5996 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)5997DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.5998Falling back to an asset that may be in the public folder.5999This behavior is deprecated and will be removed.6000To bypass the asset pipeline and preserve this behavior,6001use the `skip_pipeline: true` option.6002 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6003DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.6004Falling back to an asset that may be in the public folder.6005This behavior is deprecated and will be removed.6006To bypass the asset pipeline and preserve this behavior,6007use the `skip_pipeline: true` option.6008 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6009 sets mostly new paths6010 behaves like has all data6011DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.6012Falling back to an asset that may be in the public folder.6013This behavior is deprecated and will be removed.6014To bypass the asset pipeline and preserve this behavior,6015use the `skip_pipeline: true` option.6016 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6017DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.6018Falling back to an asset that may be in the public folder.6019This behavior is deprecated and will be removed.6020To bypass the asset pipeline and preserve this behavior,6021use the `skip_pipeline: true` option.6022 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6023DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.6024Falling back to an asset that may be in the public folder.6025This behavior is deprecated and will be removed.6026To bypass the asset pipeline and preserve this behavior,6027use the `skip_pipeline: true` option.6028 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6029DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.6030Falling back to an asset that may be in the public folder.6031This behavior is deprecated and will be removed.6032To bypass the asset pipeline and preserve this behavior,6033use the `skip_pipeline: true` option.6034 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6035DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.6036Falling back to an asset that may be in the public folder.6037This behavior is deprecated and will be removed.6038To bypass the asset pipeline and preserve this behavior,6039use the `skip_pipeline: true` option.6040 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6041DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.6042Falling back to an asset that may be in the public folder.6043This behavior is deprecated and will be removed.6044To bypass the asset pipeline and preserve this behavior,6045use the `skip_pipeline: true` option.6046 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6047DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.6048Falling back to an asset that may be in the public folder.6049This behavior is deprecated and will be removed.6050To bypass the asset pipeline and preserve this behavior,6051use the `skip_pipeline: true` option.6052 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6053DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.6054Falling back to an asset that may be in the public folder.6055This behavior is deprecated and will be removed.6056To bypass the asset pipeline and preserve this behavior,6057use the `skip_pipeline: true` option.6058 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6059DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.6060Falling back to an asset that may be in the public folder.6061This behavior is deprecated and will be removed.6062To bypass the asset pipeline and preserve this behavior,6063use the `skip_pipeline: true` option.6064 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6065 has all actions6066DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.6067Falling back to an asset that may be in the public folder.6068This behavior is deprecated and will be removed.6069To bypass the asset pipeline and preserve this behavior,6070use the `skip_pipeline: true` option.6071 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6072DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.6073Falling back to an asset that may be in the public folder.6074This behavior is deprecated and will be removed.6075To bypass the asset pipeline and preserve this behavior,6076use the `skip_pipeline: true` option.6077 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6078DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.6079Falling back to an asset that may be in the public folder.6080This behavior is deprecated and will be removed.6081To bypass the asset pipeline and preserve this behavior,6082use the `skip_pipeline: true` option.6083 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6084DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.6085Falling back to an asset that may be in the public folder.6086This behavior is deprecated and will be removed.6087To bypass the asset pipeline and preserve this behavior,6088use the `skip_pipeline: true` option.6089 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6090DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.6091Falling back to an asset that may be in the public folder.6092This behavior is deprecated and will be removed.6093To bypass the asset pipeline and preserve this behavior,6094use the `skip_pipeline: true` option.6095 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6096DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.6097Falling back to an asset that may be in the public folder.6098This behavior is deprecated and will be removed.6099To bypass the asset pipeline and preserve this behavior,6100use the `skip_pipeline: true` option.6101 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6102DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.6103Falling back to an asset that may be in the public folder.6104This behavior is deprecated and will be removed.6105To bypass the asset pipeline and preserve this behavior,6106use the `skip_pipeline: true` option.6107 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6108DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.6109Falling back to an asset that may be in the public folder.6110This behavior is deprecated and will be removed.6111To bypass the asset pipeline and preserve this behavior,6112use the `skip_pipeline: true` option.6113 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6114DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.6115Falling back to an asset that may be in the public folder.6116This behavior is deprecated and will be removed.6117To bypass the asset pipeline and preserve this behavior,6118use the `skip_pipeline: true` option.6119 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6120 has all section data6121DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.6122Falling back to an asset that may be in the public folder.6123This behavior is deprecated and will be removed.6124To bypass the asset pipeline and preserve this behavior,6125use the `skip_pipeline: true` option.6126 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6127DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.6128Falling back to an asset that may be in the public folder.6129This behavior is deprecated and will be removed.6130To bypass the asset pipeline and preserve this behavior,6131use the `skip_pipeline: true` option.6132 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6133DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.6134Falling back to an asset that may be in the public folder.6135This behavior is deprecated and will be removed.6136To bypass the asset pipeline and preserve this behavior,6137use the `skip_pipeline: true` option.6138 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6139DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.6140Falling back to an asset that may be in the public folder.6141This behavior is deprecated and will be removed.6142To bypass the asset pipeline and preserve this behavior,6143use the `skip_pipeline: true` option.6144 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6145DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.6146Falling back to an asset that may be in the public folder.6147This behavior is deprecated and will be removed.6148To bypass the asset pipeline and preserve this behavior,6149use the `skip_pipeline: true` option.6150 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6151DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.6152Falling back to an asset that may be in the public folder.6153This behavior is deprecated and will be removed.6154To bypass the asset pipeline and preserve this behavior,6155use the `skip_pipeline: true` option.6156 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6157DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.6158Falling back to an asset that may be in the public folder.6159This behavior is deprecated and will be removed.6160To bypass the asset pipeline and preserve this behavior,6161use the `skip_pipeline: true` option.6162 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6163DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.6164Falling back to an asset that may be in the public folder.6165This behavior is deprecated and will be removed.6166To bypass the asset pipeline and preserve this behavior,6167use the `skip_pipeline: true` option.6168 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6169DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.6170Falling back to an asset that may be in the public folder.6171This behavior is deprecated and will be removed.6172To bypass the asset pipeline and preserve this behavior,6173use the `skip_pipeline: true` option.6174 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:41)6175 has all project data6176Gitlab::Ci::Pipeline::Seed::Build::Cache6177 #attributes6178 with cache:key6179 is expected to include {:key => "a-key", :paths => ["vendor/ruby"]}6180 with cache:key as a symbol6181 is expected to include {:key => "a_key", :paths => ["vendor/ruby"]}6182 with cache:key:files6183 with existing files6184 behaves like version and gemfile files6185 builds a string key6186 with files starting with ./6187 behaves like version and gemfile files6188 builds a string key6189 with files ending with /6190 behaves like default key6191 uses default key6192 with new line in filenames6193 behaves like default key6194 uses default key6195 with missing files6196 behaves like default key6197 uses default key6198 with directories6199 with directory6200 behaves like foo/bar directory key6201 builds a string key6202 with directory ending in slash6203 behaves like foo/bar directory key6204 builds a string key6205 with directories ending in slash star6206 behaves like foo/bar directory key6207 builds a string key6208 with cache:key:prefix6209 without files6210 adds prefix to default key6211 with existing files6212 adds prefix key6213 with missing files6214 adds prefix to default key6215 with all cache option keys6216 is expected to include {:key => "a-key", :paths => ["vendor/ruby"], :untracked => true, :policy => "push", :when => "on_success"}6217 with unknown cache option keys6218 is expected to raise ArgumentError with message matching /unknown_key/6219Users::UpdateCanonicalEmailService6220 #initialize6221 unsuccessful6222 raises an error if there is no user6223 raises an error if the object is not a User6224 when a user is provided6225 does not error6226 #canonicalize_email6227 when the email domain is included6228 strips out any . or anything after + in the agent for included domains6229 raw_email: "user@includeddomain.com", expected_result: "user@includeddomain.com"6230 is expected to eq "user@includeddomain.com"6231 raw_email: "u.s.e.r@includeddomain.com", expected_result: "user@includeddomain.com"6232 is expected to eq "user@includeddomain.com"6233 raw_email: "user+123@includeddomain.com", expected_result: "user@includeddomain.com"6234 is expected to eq "user@includeddomain.com"6235 raw_email: "us.er+123@includeddomain.com", expected_result: "user@includeddomain.com"6236 is expected to eq "user@includeddomain.com"6237 when the user has an existing canonical email6238 updates the user canonical email record6239 when the email domain is not included6240 returns nil6241 destroys any existing UserCanonicalEmail record6242 when the user email is not processable6243 is expected to be nil6244 preserves any existing record6245 is expected to be nil6246 preserves any existing record6247TestSuiteSummaryEntity6248 #as_json6249 contains the total time6250 contains the counts6251 contains the build_ids6252 contains the suite_error6253GroupGroupLink6254 relations6255 is expected to belong to shared_group required: false6256 is expected to belong to shared_with_group required: false6257 scopes6258 .non_guests6259 returns all records which are greater than Guests access6260 .public_or_visible_to_user6261 when user can access shared group6262 returns the private group6263 when user does not have access to shared group6264 does not return private group6265 validation6266 is expected to validate that :shared_group cannot be empty/falsy6267 is expected to validate that :shared_group_id is case-sensitively unique within the scope of :shared_with_group_id, producing a custom validation error on failure6268 is expected to validate that :shared_with_group cannot be empty/falsy6269 is expected to validate that :group_access cannot be empty/falsy6270 is expected to validate that :group_access is either ‹10›, ‹20›, ‹30›, or ‹40›6271 #human_access6272 delegates to Gitlab::Access6273Gitlab::Ci::Config::Entry::Port6274 when configuration is a string6275 #valid?6276 is valid6277 #value6278 returns valid hash6279 #number6280 returns port number6281 #protocol6282 is nil6283 #name6284 is nil6285 when configuration is a hash6286 with the complete hash6287 #valid?6288 is valid6289 #value6290 returns valid hash6291 #number6292 returns port number6293 #protocol6294 returns port protocol6295 #name6296 returns port name6297 with only the port number6298 #valid?6299 is valid6300 #value6301 returns valid hash6302 #number6303 returns port number6304 #protocol6305 is nil6306 #name6307 is nil6308 without the number6309 #valid?6310 is not valid6311 when configuration is invalid6312 #valid?6313 is valid6314 when protocol6315 is http6316 #valid?6317 is valid6318 is https6319 #valid?6320 is valid6321 is neither http nor https6322 #valid?6323 is invalid6324Banzai::ReferenceParser::FeatureFlagParser6325 #nodes_visible_to_user6326 when the link has a data-issue attribute6327 behaves like referenced feature visibility6328 when feature is disabled6329 does not create reference6330 when feature is enabled only for team members6331 does not create reference for non member6332 creates reference for member6333 when feature is enabled6334 creates reference6335 #referenced_by6336 when the link has a data-feature-flag attribute6337 using an existing feature flag ID6338 returns an Array of feature flags6339 using a non-existing feature flag ID6340 returns an empty Array6341Gitlab::Database::Partitioning::DetachedPartitionDropper6342 #perform6343 when the partition should not be dropped yet6344 does not drop the partition6345 with a partition to drop6346 drops the partition6347 removing foreign keys6348 removes foreign keys from the table before dropping it6349 does not remove foreign keys from the parent table6350 when another process drops the foreign key6351 skips dropping that foreign key6352 when another process drops the partition6353 skips dropping the foreign key6354 when another process drops the table while the first waits for a lock6355 skips the table6356 when the partition to drop is still attached to its table6357 does not drop the partition, but does remove the DetachedPartition entry6358 when another process removes the entry before this process6359 does nothing6360 with multiple partitions to drop6361 drops both partitions6362 when the first drop returns an error6363 still drops the second partition6364Packages::Debian::UpdateDistributionService6365 behaves like Debian Update Distribution Service6366 with a Debian project distribution6367 with valid simple params6368 behaves like Update Debian Distribution6369 returns ServiceResponse6370 with invalid simple params6371 behaves like Update Debian Distribution6372 returns ServiceResponse6373 with valid components and architectures6374 behaves like Update Debian Distribution6375 returns ServiceResponse6376 with invalid components6377 behaves like Update Debian Distribution6378 returns ServiceResponse6379 with invalid architectures6380 behaves like Update Debian Distribution6381 returns ServiceResponse6382 behaves like Debian Update Distribution Service6383 with a Debian group distribution6384 with valid simple params6385 behaves like Update Debian Distribution6386 returns ServiceResponse6387 with invalid simple params6388 behaves like Update Debian Distribution6389 returns ServiceResponse6390 with valid components and architectures6391 behaves like Update Debian Distribution6392 returns ServiceResponse6393 with invalid components6394 behaves like Update Debian Distribution6395 returns ServiceResponse6396 with invalid architectures6397 behaves like Update Debian Distribution6398 returns ServiceResponse6399Gitlab::Kubernetes::Helm::API6400 #initialize6401 creates a namespace object6402 #uninstall6403 ensures the namespace exists before creating the POD6404 removes an existing pod before installing6405 with a ConfigMap6406 creates a ConfigMap on kubeclient6407 config map already exists6408 updates the config map6409 #install6410 ensures the namespace exists before creating the POD6411 removes an existing pod before installing6412 with a ConfigMap6413 creates a ConfigMap on kubeclient6414 config map already exists6415 updates the config map6416 without a service account6417 does not create a service account on kubeclient6418 with a service account6419 rbac-enabled cluster6420 service account does not exist6421 creates a service account, followed the cluster role binding on kubeclient6422 service account already exists6423 updates the service account, followed by creating the cluster role binding6424 a non-404 error is thrown6425 raises an error6426 legacy abac cluster6427 does not create a service account on kubeclient6428 #status6429 fetches POD phase from kubernetes cluster6430 #log6431 fetches POD phase from kubernetes cluster6432 #delete_pod!6433 deletes the POD from kubernetes cluster6434 when the resource being deleted does not exist6435 catches the error6436 #get_config_map6437 ensures the namespace exists before retrieving the config map6438 gets the config map on kubeclient6439IssueRebalancingWorker6440 has the `until_executed` deduplicate strategy6441 #perform6442 without root_namespace param6443 is labeled as idempotent6444 performs multiple times sequentially without raising an exception6445 is labeled as idempotent6446 performs multiple times sequentially without raising an exception6447 behaves like running the worker6448 runs an instance of Issues::RelativePositionRebalancingService6449 anticipates there being too many concurent rebalances6450 takes no action if the value is nil6451 does not schedule a new rebalance if it finished under 1h ago6452 behaves like safely handles non-existent ids6453 anticipates the inability to find the issue6454 with root_namespace param6455 is labeled as idempotent6456 performs multiple times sequentially without raising an exception6457 is labeled as idempotent6458 performs multiple times sequentially without raising an exception6459 behaves like running the worker6460 runs an instance of Issues::RelativePositionRebalancingService6461 anticipates there being too many concurent rebalances6462 takes no action if the value is nil6463 does not schedule a new rebalance if it finished under 1h ago6464 behaves like safely handles non-existent ids6465 anticipates the inability to find the issue6466AccessRequestable6467 Group6468 #request_access6469 is expected to be a kind of GroupMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: int..., expires_at: date, ldap: boolean, override: boolean, state: integer, invite_email_success: boolean)6470 is expected to eq #<User id:1901 @user954>6471 #access_requested?6472 is expected to be truthy6473 Project6474 #request_access6475 is expected to be a kind of ProjectMember(id: integer, access_level: integer, source_id: integer, source_type: string, user_id: i..., expires_at: date, ldap: boolean, override: boolean, state: integer, invite_email_success: boolean)6476 #access_requested?6477 is expected to be truthy6478Gitlab::Config::Loader::Yaml6479 when max yaml size and depth are set in ApplicationSetting6480 uses ApplicationSetting values rather than the defaults6481 when yaml syntax is correct6482 #valid?6483 returns true6484 #load!6485 returns a valid hash6486 when yaml syntax is incorrect6487 #valid?6488 returns false6489 #load!6490 raises error6491 when there is an unknown alias6492 #initialize6493 raises FormatError6494 when yaml config is empty6495 #valid?6496 returns false6497 #load_raw!6498 raises error6499 when yaml size is too large6500 #valid?6501 returns false6502 returns true if "ci_yaml_limit_size" feature flag is disabled6503 #load!6504 raises FormatError6505 when yaml has cyclic data structure6506 #valid?6507 returns false6508 #load!6509 raises FormatError6510 #load_raw!6511 loads keys as strings6512 #load!6513 symbolizes keys6514Gitlab::HookData::KeyBuilder6515 #build6516 for keys that belong to a user6517 data6518 on create6519 is expected to eq "key_create"6520 is expected to eq "user958"6521 behaves like includes the required attributes6522 includes the required attributes6523 on destroy6524 is expected to eq "key_destroy"6525 is expected to eq "user958"6526 behaves like includes the required attributes6527 includes the required attributes6528 for keys that do not belong to a user6529 data6530 on create6531 is expected to eq "key_create"6532 behaves like includes the required attributes6533 includes the required attributes6534 on destroy6535 is expected to eq "key_destroy"6536 behaves like includes the required attributes6537 includes the required attributes6538Environments::EnvironmentsFinder6539 #execute6540 with states parameter6541 returns environments with the requested state6542 returns environments with any of the requested states6543 raises exception when requested state is invalid6544 works with symbols6545 returns environments with the requested state6546 returns environments with any of the requested states6547 with search and states6548 searches environments by name and state6549 with id6550 searches environments by name and state6551BitbucketServer::Representation::PullRequestComment6552 #id6553 is expected to eq 76554 #from_sha6555 is expected to eq "c5f4288162e2e6218180779c7f6ac1735bb56eab"6556 #to_sha6557 is expected to eq "a4c2164330f2549f67c13f36a93884cf66e976be"6558 #to?6559 is expected to be falsey6560 #from?6561 is expected to be truthy6562 #added?6563 is expected to be falsey6564 #removed?6565 is expected to be falsey6566 #new_pos6567 is expected to eq 116568 #old_pos6569 is expected to eq 96570 #file_path6571 is expected to eq "CHANGELOG.md"6572Packages::Conan::PackageFileFinder6573 #execute6574 behaves like package file finder examples6575 is expected to eq #<Packages::PackageFile id: 229, package_id: 177, created_at: "2021-12-14 01:52:08.821612000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6576 with conan_file_type6577 is expected to eq "recipe_file"6578 with conan_package_reference6579 is expected to eq #<Packages::PackageFile id: 233, package_id: 177, created_at: "2021-12-14 01:52:08.873393000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6580 with file_name_like6581 is expected to eq #<Packages::PackageFile id: 229, package_id: 177, created_at: "2021-12-14 01:52:08.821612000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6582 with unknown file_name6583 is expected to be nil6584 #execute!6585 behaves like package file finder examples6586 is expected to eq #<Packages::PackageFile id: 229, package_id: 177, created_at: "2021-12-14 01:52:08.821612000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6587 with conan_file_type6588 is expected to eq "recipe_file"6589 with conan_package_reference6590 is expected to eq #<Packages::PackageFile id: 233, package_id: 177, created_at: "2021-12-14 01:52:08.873393000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6591 with file_name_like6592 is expected to eq #<Packages::PackageFile id: 229, package_id: 177, created_at: "2021-12-14 01:52:08.821612000 +0000", ...verification_checksum: nil, verification_state: 0, verification_started_at: nil, new_file_path: nil>6593 with unknown file_name6594 is expected to raise ActiveRecord::RecordNotFound6595Gitlab::HealthChecks::Redis::TraceChunksCheck6596 #metrics6597 Check is passing6598 is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 1})6599 is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 0})6600 is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})6601 Check is misbehaving6602 is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 0})6603 is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 0})6604 is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})6605 Check is timeouting6606 is expected to include (have attributes {:name => "redis_trace_chunks_ping_success", :value => 0})6607 is expected to include (have attributes {:name => "redis_trace_chunks_ping_timeout", :value => 1})6608 is expected to include (have attributes {:name => "redis_trace_chunks_ping_latency_seconds", :value => (be >= 0)})6609 #readiness6610 Check returns ok6611 is expected to have attributes {:success => true}6612 Check is misbehaving6613 is expected to have attributes {:message => "unexpected Trace_chunks check result: error!", :success => false}6614 Check is timeouting6615 is expected to have attributes {:message => "Trace_chunks check timed out", :success => false}6616 Check is raising an unhandled exception6617 is expected to have attributes {:message => "unexpected Trace_chunks check result: unexpected error", :success => false}6618Banzai::ReferenceParser::MentionedProjectParser6619 #gather_references6620 when the link has a data-project attribute6621 using an existing project ID where user does not have access6622 returns empty Array6623 using an existing project ID6624 returns an Array of referenced projects6625 using a non-existing project ID6626 returns an empty Array6627layouts/_head6628 escapes HTML-safe strings in page_title6629 escapes HTML-safe strings in page_description6630 escapes HTML-safe strings in page_image6631DEPRECATION WARNING: The asset "highlight/themes/solarised-light.css" is not present in the asset pipeline.6632Falling back to an asset that may be in the public folder.6633This behavior is deprecated and will be removed.6634To bypass the asset pipeline and preserve this behavior,6635use the `skip_pipeline: true` option.6636 (called from block in _app_views_layouts__loading_hints_html_haml__3182582964575442502_426387320 at /builds/gitlab-org/gitlab/app/views/layouts/_loading_hints.html.haml:13)6637DEPRECATION WARNING: The asset "highlight/themes/solarised-light.css" is not present in the asset pipeline.6638Falling back to an asset that may be in the public folder.6639This behavior is deprecated and will be removed.6640To bypass the asset pipeline and preserve this behavior,6641use the `skip_pipeline: true` option.6642 (called from stylesheet_link_tag_defer at /builds/gitlab-org/gitlab/app/helpers/application_helper.rb:251)6643 adds selected syntax highlight stylesheet6644 when an asset_host is set6645 adds a link dns-prefetch tag6646 adds a link preconnect tag6647 when a Matomo config is set6648 add a Matomo Javascript6649 when matomo_disable_cookies is true6650 disables cookies6651Gitlab::APIAuthentication::TokenResolver6652 .new6653 with a valid type6654 creates a new instance6655 with an invalid type6656 raises a validation error6657 #resolve6658 with :personal_access_token_with_username6659 with valid credentials6660 behaves like an authorized request6661 returns the correct token6662 with an invalid username6663 behaves like an unauthorized request6664 raises an error6665 with no username6666 behaves like an unauthorized request6667 raises an error6668 with :job_token_with_username6669 with valid credentials6670 behaves like an authorized request6671 returns the correct token6672 when the job is not running6673 behaves like an unauthorized request6674 raises an error6675 with the wrong username6676 behaves like an anoymous request6677 returns nil6678 with an invalid job token6679 behaves like an unauthorized request6680 raises an error6681 with :deploy_token_with_username6682 with a valid deploy token6683 behaves like an authorized request6684 returns the correct token6685 with an invalid username6686 behaves like an unauthorized request6687 raises an error6688 with :personal_access_token6689 with valid credentials6690 behaves like an authorized request6691 returns the correct token6692 with :job_token6693 with valid credentials6694 behaves like an authorized request6695 returns the correct token6696 when the job is not running6697 behaves like an unauthorized request6698 raises an error6699 with an invalid job token6700 behaves like an unauthorized request6701 raises an error6702 with :deploy_token6703 with a valid deploy token6704 behaves like an authorized request6705 returns the correct token6706 with :personal_access_token_from_jwt6707 with valid credentials6708 behaves like an authorized request6709 returns the correct token6710 with :deploy_token_from_jwt6711 with valid credentials6712 behaves like an authorized request6713 returns the correct token6714 with :job_token_from_jwt6715 with valid credentials6716 behaves like an authorized request6717 returns the correct token6718 when the job is not running6719 behaves like an unauthorized request6720 raises an error6721 with an invalid job token6722 behaves like an unauthorized request6723 raises an error6724Gitlab::Ci::Build::Policy::Variables6725 #satisfied_by?6726 is satisfied by at least one matching statement6727 is satisfied by a matching pipeline variable6728 is not satisfied by an overridden empty variable6729 is satisfied by a truthy pipeline expression6730 is not satisfied by a falsy pipeline expression6731 is satisfied by a truthy expression using undefined variable6732 is not satisfied by a falsy expression using undefined variable6733 allows to evaluate regular CI variables6734 does not persist neither pipeline nor build6735 when a bridge job is used6736 is satisfied by a matching expression for a bridge job6737 when using project ci variables in environment scope6738 is satisfied by scoped variable match6739 is not satisfied when matching against overridden variable6740Gitlab::HealthChecks::Redis::SharedStateCheck6741 #metrics6742 Check is passing6743 is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 1})6744 is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 0})6745 is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})6746 Check is misbehaving6747 is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 0})6748 is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 0})6749 is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})6750 Check is timeouting6751 is expected to include (have attributes {:name => "redis_shared_state_ping_success", :value => 0})6752 is expected to include (have attributes {:name => "redis_shared_state_ping_timeout", :value => 1})6753 is expected to include (have attributes {:name => "redis_shared_state_ping_latency_seconds", :value => (be >= 0)})6754 #readiness6755 Check returns ok6756 is expected to have attributes {:success => true}6757 Check is misbehaving6758 is expected to have attributes {:message => "unexpected Shared_state check result: error!", :success => false}6759 Check is timeouting6760 is expected to have attributes {:message => "Shared_state check timed out", :success => false}6761 Check is raising an unhandled exception6762 is expected to have attributes {:message => "unexpected Shared_state check result: unexpected error", :success => false}6763Backup::RepositoryBackupError6764 with snippet repository6765 behaves like includes backup path6766 is expected to respond to #container6767 is expected to respond to #backup_repos_path6768 expects exception message to include repo backup path location6769 expects exception message to include container being back-up6770 with project repository6771 behaves like includes backup path6772 is expected to respond to #container6773 is expected to respond to #backup_repos_path6774 expects exception message to include repo backup path location6775 expects exception message to include container being back-up6776 with wiki repository6777 behaves like includes backup path6778 is expected to respond to #container6779 is expected to respond to #backup_repos_path6780 expects exception message to include repo backup path location6781 expects exception message to include container being back-up6782Mattermost::Session6783 is expected to respond to #current_resource_owner6784 is expected to respond to #request6785 is expected to respond to #authorization6786 is expected to respond to #strategy6787 #with session6788 without oauth uri6789 makes a request to the oauth uri6790 with oauth_uri6791 without token_uri6792 can not create a session6793 with token_uri6794 can set up a session6795 returns the value of the block6796 exclusive lease6797 tries to obtain a lease6798 returns a NoSessionError error without lease6799RspecFlaky::Config6800 .generate_report?6801 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is not set6802 returns false6803 when ENV['FLAKY_RSPEC_GENERATE_REPORT'] is set6804 env_value: "1", result: true6805 returns false6806 env_value: "true", result: true6807 returns false6808 env_value: "foo", result: false6809 returns false6810 env_value: "0", result: false6811 returns false6812 env_value: "false", result: false6813 returns false6814 .suite_flaky_examples_report_path6815 when ENV['SUITE_FLAKY_RSPEC_REPORT_PATH'] is not set6816 returns the default path6817 when ENV['SUITE_FLAKY_RSPEC_REPORT_PATH'] is set6818 returns the value of the env variable6819 .flaky_examples_report_path6820 when ENV['FLAKY_RSPEC_REPORT_PATH'] is not set6821 returns the default path6822 when ENV['FLAKY_RSPEC_REPORT_PATH'] is set6823 returns the value of the env variable6824 .new_flaky_examples_report_path6825 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is not set6826 returns the default path6827 when ENV['NEW_FLAKY_RSPEC_REPORT_PATH'] is set6828 returns the value of the env variable6829Types::SnippetType6830 has the correct fields6831 blobs field6832 returns blobs6833 #user_permissions6834 can resolve the snippet permissions6835 when restricted visibility level is set to public6836 returns snippet author6837 when user is not logged in6838 returns snippet author as nil6839 authorizations6840 is expected to require graphql authorizations :read_snippet6841 Repository URLs6842 when RequestStore is disabled6843 behaves like snippets with repositories6844 when snippet has repository6845 responds with repository URLs6846 behaves like snippets without repositories6847 when snippet does not have a repository6848 behaves like response without repository URLs6849 does not respond with repository URLs6850 when RequestStore is enabled6851 behaves like snippets with repositories6852 when snippet has repository6853 responds with repository URLs6854 behaves like snippets without repositories6855 when snippet does not have a repository6856 behaves like response without repository URLs6857 does not respond with repository URLs6858 #blobs6859 when snippet does not have a repository6860 contains the first blob from the snippet6861 behaves like an array6862 returns an array of snippet blobs6863 when snippet has repository6864 contains all the blobs from the repository6865 behaves like an array6866 returns an array of snippet blobs6867 when specific path is set6868 returns specific files6869 behaves like an array6870 returns an array of snippet blobs6871Environments::CanaryIngress::UpdateService6872 #execute_async6873 when the actor does not have permission to update environment6874 behaves like failed request6875 returns an error6876 when weight parameter is invalid6877 behaves like failed request6878 returns an error6879 when no parameters exist6880 behaves like failed request6881 returns an error6882 when environment has a running deployment6883 behaves like failed request6884 returns an error6885 when canary ingress was updated recently6886 behaves like failed request6887 returns an error6888 #execute6889 when canary ingress is present in the environment6890 when patch request succeeds6891 returns success6892 clears all caches6893 when patch request does not succeed6894 behaves like failed request6895 returns an error6896 when canary ingress is not present in the environment6897 behaves like failed request6898 returns an error6899EventPresenter6900 #resource_parent_name6901 with group event6902 is expected to eq "group190"6903 with project label6904 is expected to eq "group190 / project1353"6905 #target_link_options6906 with group event6907 is expected to eq [#<Group id:3530 @group190>, #<Milestone id:50 group190/project1353%"My title 1057">]6908 with project label6909 is expected to eq [#<Project id:1316 group190/project1353>>, #<Milestone id:50 group190/project1353%"My title 1057">]6910 #target_type_name6911 returns design for a design event6912 returns project for a project event6913 returns milestone for a milestone event6914 #note_target_type_name6915 returns design for an event on a comment on a design6916 returns nil for an event without a target6917 returns issue for an issue comment event6918Gitlab::Sanitizers::SVG6919 .clean6920 delegates sanitization to scrubber6921 returns sanitized data6922 scrubber6923 #scrub6924 removes an invalid element6925 removes an invalid attribute6926 accepts valid element6927 accepts valid namespaced attributes6928 #attribute_name_with_namespace6929 returns name with prefix when attribute is namespaced6930 #unsafe_href?6931 returns true if href attribute is an external url6932 returns false if href atttribute is an internal reference6933 #data_attribute?6934 returns true if is a valid data attribute6935 returns false if attribute is namespaced6936 returns false if not a data attribute6937Gitlab::Graphql::Pagination::OffsetActiveRecordRelationConnection6938 subclasses from GraphQL::Relay::RelationConnection6939 behaves like a connection with collection methods6940 responds to to_a6941 responds to size6942 responds to map6943 responds to include?6944 responds to empty?6945 behaves like a redactable connection6946 no redactor set6947 contains the unwanted item6948 does not redact more than once6949 redactor is set6950 does not contain the unwanted item6951 does not redact more than once6952Gitlab::Tracking::Destinations::SnowplowMicro6953 #hostname6954 when SNOWPLOW_MICRO_URI is set6955 returns hostname URI part6956 when SNOWPLOW_MICRO_URI is without protocol6957 returns hostname URI part6958 when SNOWPLOW_MICRO_URI is hostname only6959 returns hostname URI with default HTTP port6960 when SNOWPLOW_MICRO_URI is not set6961 returns localhost hostname6962 #options6963 includes protocol with the correct value6964 includes port with the correct value6965 includes forceSecureTracker with value false6966Gitlab::Changelog::Release6967 #to_markdown6968 when there are no entries6969 includes a notice about the lack of entries6970 when all data is present6971 includes all data6972 when no merge request is present6973 doesn't include a merge request link6974 when the author is not a contributor6975 doesn't include the author6976 when the author should always be credited6977 includes the author6978 when a category has no entries6979 isn't included in the output6980 #header_start_position6981 returns a regular expression for finding the start of a release section6982Gitlab::ImportExport::RepoRestorer6983 bundle a project Git repo6984 restores the repo successfully6985 when the repository already exists6986 deletes the existing repository before importing6987 restore a wiki Git repo6988 restores the wiki repo successfully6989 no wiki in the bundle6990 does not creates an empty wiki6991Gitlab::Ci::Config::Entry::Inherit::Variables6992 validations6993 config: true, valid: true6994 is expected to eq true6995 config: false, valid: true6996 is expected to eq true6997 config: ["A"], valid: true6998 is expected to eq true6999 config: ["A", "B"], valid: true7000 is expected to eq true7001 config: [:image], valid: true7002 is expected to eq true7003 config: [true], valid: false7004 is expected to eq false7005 config: "string", valid: false7006 is expected to eq false7007ProjectDeployToken7008 is expected to belong to project required: false7009 is expected to belong to deploy_token required: false7010 is expected to validate that :deploy_token cannot be empty/falsy7011 is expected to validate that :project cannot be empty/falsy7012 is expected to validate that :deploy_token_id is case-sensitively unique within the scope of :project_id7013Packages::Rubygems::ProcessGemService7014 #execute7015 no gem file7016 returns an error7017 success7018 returns successfully7019 updates the package name and version7020 updates the package file name7021 when the package already exists7022 assigns the package_file to the existing package and deletes the temporary package7023 sub-service failure7024 returns an error7025 bad gem file7026 returns an error7027 without obtaining an exclusive lease7028 does not perform the services7029Mutations::Labels::Create7030 is expected to require graphql authorizations :admin_label7031 when creating a project label7032 behaves like create labels mutation7033 #resolve7034 when the user does not have permission to create a label7035 raises an error7036 when the user can create a label7037 creates label with correct values7038 when creating a group label7039 behaves like create labels mutation7040 #resolve7041 when the user does not have permission to create a label7042 raises an error7043 when the user can create a label7044 creates label with correct values7045 #ready?7046 when passing both project_path and group_path7047 raises an argument error7048 when passing only project_path or group_path7049 does not raise an error7050Gitlab::LegacyGithubImport::LabelFormatter7051 #attributes7052 returns formatted attributes7053 #create!7054 when label does not exist7055 creates a new label7056 when label exists7057 does not create a new label7058AuthorizedProjectUpdate::UserRefreshOverUserRangeWorker7059 behaves like worker with data consistency7060 .get_data_consistency_feature_flag_enabled?7061 returns true7062 .get_data_consistency7063 returns correct data consistency7064 #perform7065 checks if project authorization update is required7066 checks if a project_authorization refresh is needed for each of the users7067 when there are project authorization records due for either removal or addition for a specific user7068 enqueues a new project authorization update job for the user7069 when there are no additions or removals to be made to project authorizations for a specific user7070 does not enqueue a new project authorization update job for the user7071Terraform::StateVersionPolicy7072 rules7073 no access7074 is expected to be disallowed :read_terraform_state7075 is expected to be disallowed :admin_terraform_state7076 developer7077 is expected to be allowed :read_terraform_state7078 is expected to be disallowed :admin_terraform_state7079 maintainer7080 is expected to be allowed :read_terraform_state7081 is expected to be allowed :admin_terraform_state7082JiraConnect::SyncMergeRequestWorker7083 behaves like worker with data consistency7084 .get_data_consistency_feature_flag_enabled?7085 returns true7086 .get_data_consistency7087 returns correct data consistency7088 #perform7089 calls JiraConnect::SyncService#execute7090 when MR no longer exists7091 does not call JiraConnect::SyncService7092IssueDueSchedulerWorker7093 #perform7094 schedules one MailScheduler::IssueDueWorker per project with open issues due tomorrow7095Resolvers::RepositoryBranchNamesResolver7096 #resolve7097 with empty search pattern7098 returns nil7099 with a valid search pattern7100 returns matching branches7101 properly offsets and limits branch name results7102Analytics::CycleAnalytics::ProjectValueStream7103 is not custom7104 associations7105 is expected to belong to project required: false7106 is expected to have many stages7107 validations7108 is expected to validate that :project cannot be empty/falsy7109 is expected to validate that :name cannot be empty/falsy7110 is expected to validate that the length of :name is at most 1007111 validates uniqueness of name7112 .build_default_value_stream7113 builds the default value stream7114Preloaders::UserMaxAccessLevelInProjectsPreloader7115 preload maximum access level to avoid querying project_authorizations7116 avoids N+1 queries7117 runs N queries without preloading7118Gitlab::Usage::Metrics::Aggregates::Sources::PostgresHll7119 metric calculations7120 .calculate_events_union7121 returns the number of unique events in the union of all metrics7122 when there is no aggregated data saved7123 raises error when union data is missing7124 when there is only one metric defined as aggregated7125 returns the number of unique events for that metric7126 .calculate_metrics_intersections7127 returns the number of common events in the intersection of all metrics7128 when there is no aggregated data saved7129 raises error when union data is missing7130 when there is only one metric defined in aggregate7131 returns the number of common/unique events for the intersection of that metric7132 .save_aggregated_metrics7133 with compatible data argument7134 persists serialized data in Redis7135 with monthly key7136 persists serialized data in Redis7137 with all_time key7138 persists serialized data in Redis7139 error handling7140 rescues and reraise ::Redis::CommandError for development and test environments7141 for environment different than development7142 rescues ::Redis::CommandError7143 with incompatible data argument7144 raises error for development environment7145 for environment different than development7146 does not persist data in Redis7147Gitlab::Favicon7148 .main7149 defaults to favicon.png7150 has yellow favicon for canary7151 uses the custom favicon if a favicon appearance is present7152 asset host7153 returns a relative url when the asset host is not configured7154 returns a full url when the asset host is configured7155 .status_overlay7156 returns the overlay for the status7157 .available_status_names7158 returns the available status names7159RemoveUnacceptedMemberInvitesWorker7160 #perform7161 unaccepted members7162 removes unaccepted members7163 invited members still within expiration threshold7164 leaves invited members7165 accepted members7166 leaves accepted members7167Repositories::TreeFinder7168 #execute7169 returns an array7170 includes 20 items by default7171 accepts a gitaly_pagination argument7172 commit doesn't exist7173 raises an error7174 pagination_params7175 has the per_page number of items7176 doesn't include any of the first page records7177 #total7178 is expected to be a kind of Integer7179 only calculates the total once7180 #commit_exists?7181 ref exists7182 is expected to equal true7183 ref is missing7184 is expected to equal false7185DependencyProxy::RequestTokenService7186 remote request is successful7187 is expected to eq :success7188 is expected to eq "a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3"7189 remote request is not found7190 is expected to eq :error7191 is expected to eq 4047192 is expected to eq "Expected 200 response code for an access token"7193 failed to parse response body7194 is expected to eq :error7195 is expected to eq 5007196 is expected to eq "Failed to parse a response body for an access token"7197 net timeout exception7198 is expected to eq :error7199 is expected to eq 5997200 is expected to eq "execution expired"7201admin/application_settings/ci_cd.html.haml7202 CI CD Runner Registration7203 when feature flag is enabled7204 has the setting section7205 renders the correct setting section content7206 when feature flag is disabled7207 does not have the setting section7208 does not render the correct setting section content7209ObjectPool::CreateWorker7210 #perform7211 when the pool creation is successful7212 marks the pool as ready7213 when a the pool already exists7214 cleans up the pool7215 when the server raises an unknown error7216 marks the pool as failed7217 when the pool creation failed before7218 deletes the pool first7219Resolvers::Metrics::Dashboards::AnnotationResolver7220 #resolve7221 user with developer access7222 with annotation records7223 loads annotations with usage of finder class7224 dashboard is missing7225 returns empty array7226 there are no annotations records7227 returns empty array7228Ci::BuildReportResultService7229 #execute7230 when build is finished7231 creates a build report result entry7232 tracks unique test cases parsed7233 and build has test report parsing errors7234 creates a build report result entry with suite error7235 does not track unique test cases parsed7236 when data has already been persisted7237 raises an error and do not persist the same data twice7238 when build is running and test report does not exist7239 does not persist data7240Gitlab::Metrics::Subscribers::ExternalHttp7241 .detail_store7242 when external HTTP detail store is empty7243 returns an empty array7244 when the performance bar is not enabled7245 returns an empty array7246 when external HTTP detail store has some values7247 returns the external http detailed store7248 .payload7249 when SafeRequestStore does not have any item from external HTTP7250 returns an empty array7251 when external HTTP recorded some values7252 returns the external http detailed store7253 #request7254 tracks external HTTP request count7255 tracks external HTTP duration7256 tracks external HTTP exceptions7257 stores per-request counters7258 stores a portion of events into the detail store7259 when the performance bar is not enabled7260 does not capture detail store7261Clusters::Aws::FinalizeCreationService7262 #execute7263 configures the provider and platform7264 calls the create_service_account_service7265 configures cluster node authentication7266 error handling7267 failed to request stack details from AWS7268 sets the status to :errored with an appropriate error message7269 failed to create auth config map7270 sets the status to :errored with an appropriate error message7271 failed to save records7272 sets the status to :errored with an appropriate error message7273Gitlab::Metrics::Dashboard::ServiceSelector7274 #call7275 is expected to equal Metrics::Dashboard::SystemDashboardService7276 when just the dashboard path is provided7277 is expected to equal Metrics::Dashboard::CustomDashboardService7278 when the path is for the system dashboard7279 is expected to equal Metrics::Dashboard::SystemDashboardService7280 when the path is for the pod dashboard7281 is expected to equal Metrics::Dashboard::PodDashboardService7282 when the path is for the self monitoring dashboard7283 is expected to equal Metrics::Dashboard::SelfMonitoringDashboardService7284 when the embedded flag is provided7285 is expected to equal Metrics::Dashboard::DefaultEmbedService7286 when an incomplete set of dashboard identifiers are provided7287 is expected to equal Metrics::Dashboard::DefaultEmbedService7288 when all the chart identifiers are provided7289 is expected to equal Metrics::Dashboard::DynamicEmbedService7290 when all chart params expect dashboard_path are provided7291 is expected to equal Metrics::Dashboard::DynamicEmbedService7292 with a system dashboard and "custom" group7293 is expected to equal Metrics::Dashboard::CustomMetricEmbedService7294 with a grafana link7295 is expected to equal Metrics::Dashboard::GrafanaMetricEmbedService7296 with the embed defined in the arguments7297 is expected to equal Metrics::Dashboard::TransientEmbedService7298 when cluster is provided7299 is expected to equal Metrics::Dashboard::ClusterDashboardService7300 when cluster is provided and embedded is not true7301 is expected to equal Metrics::Dashboard::ClusterDashboardService7302 when cluster dashboard_path is provided7303 is expected to equal Metrics::Dashboard::ClusterDashboardService7304 when cluster is provided and embed params7305 is expected to equal Metrics::Dashboard::ClusterMetricsEmbedService7306 when metrics embed is for an alert7307 is expected to equal Metrics::Dashboard::GitlabAlertEmbedService7308IncidentManagement::PagerDuty::ProcessIncidentWorker7309 #perform7310 with valid incident payload7311 creates a GitLab issue7312 with invalid incident payload7313 does not create a GitLab issue7314 logs a warning7315LabelSerializer7316 #represent7317 when a single object is being serialized7318 serializes the label object7319 when multiple objects are being serialized7320 serializes the array of labels7321 #represent_appearance7322 when represents only appearance7323 serializes only attributes used for appearance7324Sidebars::Projects::Menus::ShimoMenu7325 #render?7326 without a valid Shimo integration7327 doesn't render the menu7328 with a valid Shimo integration7329 when integration is active7330 renders the menu7331 renders menu link7332 when integration is inactive7333 doesn't render the menu7334Gitlab::Auth::Saml::IdentityLinker7335 with valid GitLab initiated request7336 linked identity exists7337 doesn't create new identity7338 sets #changed? to false7339 identity needs to be created7340 creates linked identity7341 sets identity provider7342 sets identity extern_uid7343 sets #changed? to true7344 with identity provider initiated request7345 attempting to link accounts raises an exception7346Gitlab::TaskHelpers7347 #checkout_or_clone_version7348 checkout the version and reset to it7349 accepts clone_opts7350 target_dir doesn't exist7351 clones the repo7352 target_dir exists7353 doesn't clone the repository7354 #clone_repo7355 clones the repo in the target dir7356 accepts clone_opts7357 #checkout_version7358 clones the repo in the target dir7359 #run_command7360 runs command and return the output7361 returns empty string when command doesnt exist7362 #run_command!7363 runs command and return the output7364 returns and exception when command exit with non zero code7365 #get_version7366 version: "1.1.1", result: "v1.1.1"7367 is expected to eq "v1.1.1"7368 version: "master", result: "master"7369 is expected to eq "master"7370 version: "12.4.0-rc7", result: "v12.4.0-rc7"7371 is expected to eq "v12.4.0-rc7"7372 version: "594c3ea3e0e5540e5915bd1c49713a0381459dd6", result: "594c3ea3e0e5540e5915bd1c49713a0381459dd6"7373 is expected to eq "594c3ea3e0e5540e5915bd1c49713a0381459dd6"7374gitlab:praefect:replicas7375 replicas7376 when a valid project id is used as the argument7377 calls praefect info service's replicas method7378 prints out the expected row7379 when a non existent project id is used as the argument7380 does not call praefect info service's replicas method7381 when replicas throws an exception7382 aborts with the correct error message7383Gitlab::GithubImport::Stage::ImportNotesWorker7384 #import7385 imports all the notes7386 #importers7387 when project group is present7388 when feature flag github_importer_single_endpoint_notes_import is enabled7389 includes single endpoint mr and issue notes importers7390 when feature flag github_importer_single_endpoint_notes_import is disabled7391 includes default notes importer7392 when project group is missing7393 includes default diff notes importer7394Boards::CreateService7395 #execute7396 when board parent is a project7397 behaves like boards create service7398 when parent does not have a board7399 creates a new board7400 creates the default lists7401 when parent has a board7402 does not create a new board7403 when board parent is a group7404 behaves like boards create service7405 when parent does not have a board7406 creates a new board7407 creates the default lists7408 when parent has a board7409 does not create a new board7410Gitlab::ExternalAuthorization::Response7411 #valid?7412 is valid for 200, 401, and 403 responses7413 is invalid for other statuses7414 #reason7415 returns a reason if it was included in the response body7416 returns nil when there was no body7417 #successful?7418 is `true` if the status is 2007419 is `false` if the status is 401 or 4037420FeatureFlagSummarySerializer7421 #represent7422 has summary information7423Resolvers::IssueStatusCountsResolver7424 #resolve7425 is expected to be a kind of Gitlab::IssuablesCountForState7426 is expected to eq #<Project id:1380 group202/project1436>>7427 filters by search7428 filters by issue type7429 behaves like returns expected results7430 returns expected results7431 project used as parent7432 behaves like returns expected results7433 returns expected results7434 group used as parent7435 behaves like returns expected results7436 returns expected results7437 when both assignee_username and assignee_usernames are provided7438 raises a mutually exclusive filter error7439ExperimentUser7440 Associations7441 is expected to belong to experiment required: false7442 is expected to belong to user required: false7443 Validations7444 is expected to validate that :group_type cannot be empty/falsy7445ServicePing::PermitDataCategoriesService7446 #execute7447 when usage ping setting is set to true7448 returns all categories7449 when usage ping setting is set to false7450 returns no categories7451 when User.single_user&.requires_usage_stats_consent? is required7452 returns no categories7453Gitlab::Sherlock::LineProfiler7454 #profile7455 runs the profiler when using MRI7456 raises NotImplementedError when profiling an unsupported platform7457 #profile_mri7458 returns an Array containing the return value and profiling samples7459 #aggregate_rblineprof7460 returns an Array of FileSample objects7461 the first FileSample object7462 uses the correct file path7463 contains a list of line samples7464 contains the total file execution time7465 contains the total amount of file events7466ApplicationSetting::TermPolicy7467 has the correct permissions7468 for anonymous users7469 has the correct permissions7470 when the terms are not current7471 has the correct permissions7472 when the user already accepted the terms7473 has the correct permissions7474MergeRequests::AssignsMergeParams7475 raises an error when used from an instance that does not respond to #current_user7476 #assign_allowed_merge_params7477 only assigns known parameters to the merge request7478 returns a hash without the known merge params7479 the force_remove_source_branch param7480 assigns the param if the user is allowed to do that7481 only removes the param if the user is not allowed to do that7482Gitlab::HealthChecks::DbCheck7483 #metrics7484 Check is passing7485 is expected to include (have attributes {:name => "db_ping_success", :value => 1})7486 is expected to include (have attributes {:name => "db_ping_timeout", :value => 0})7487 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})7488 Check is misbehaving7489 is expected to include (have attributes {:name => "db_ping_success", :value => 0})7490 is expected to include (have attributes {:name => "db_ping_timeout", :value => 0})7491 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})7492 Check is timeouting7493 is expected to include (have attributes {:name => "db_ping_success", :value => 0})7494 is expected to include (have attributes {:name => "db_ping_timeout", :value => 1})7495 is expected to include (have attributes {:name => "db_ping_latency_seconds", :value => (be >= 0)})7496 #readiness7497 Check returns ok7498 is expected to have attributes {:success => true}7499 Check is misbehaving7500 is expected to have attributes {:message => "unexpected Db check result: error!", :success => false}7501 Check is timeouting7502 is expected to have attributes {:message => "Db check timed out", :success => false}7503 Check is raising an unhandled exception7504 is expected to have attributes {:message => "unexpected Db check result: unexpected error", :success => false}7505Gitlab::Ci::Pipeline::Preloader7506 .preload!7507 preloads commit authors, number of warnings and ref commits7508 returns original collection7509 when preloading multiple commits7510 preloads all commits once7511Packages::Go::ModuleFinder7512 #execute7513 with module name equal to project name7514 returns a module with empty path7515 with module name starting with project name and slash7516 returns a module with non-empty path7517 with a module name not equal to and not starting with project name7518 returns nil7519 with relative path component7520 behaves like an invalid path7521 #module_name7522 returns the expected name7523 #execute7524 returns nil7525 with many relative path components7526 behaves like an invalid path7527 #module_name7528 returns the expected name7529 #execute7530 returns nil7531AlertManagement::HttpIntegrationPolicy7532 rules7533 is expected to be disallowed :admin_operations7534 when maintainer7535 is expected to be allowed :admin_operations7536Gitlab::Sherlock::Collection7537 #add7538 adds a new transaction7539 is aliased as <<7540 #each7541 iterates over every transaction7542 #clear7543 removes all transactions7544 #empty?7545 returns true for an empty collection7546 returns false for a collection with a transaction7547 #find_transaction7548 returns the transaction for the given ID7549 returns nil when no transaction could be found7550 #newest_first7551 returns transactions sorted from new to old7552Tooling::TestMapPacker7553 #pack7554 compacts list of test files into a prefix tree7555 does nothing to empty hash7556 #unpack7557 unpack prefix tree into list of test files7558 does nothing to empty hash7559Gitlab::Metrics::Dashboard::Stages::GrafanaFormatter7560 #transform!7561 when the query and resources are configured correctly7562 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}7563 when a panelId is not included in the grafana_url7564 is expected to eq {:panel_groups=>[{:panels=>[{:metrics=>[{:id=>"In_0", :label=>"In", :prometheus_endpoint_path=>"/foo/...nstance=~\"localhost:9121\"}[1m]))"}], :title=>"Network I/O", :type=>"area-chart", :y_label=>""}]}]}7565 when there is also no valid panel in the dashboard7566 raises a processing error7567 when an input is invalid7568 raises a processing error7569Gitlab::Ci::Status::Build::Erased7570 #illustration7571 is expected to include :image, :size, and :title7572 .matches?7573 when build is erased7574 is a correct match7575 when build is not erased7576 does not match7577Types::Ci::Config::NeedType7578 is expected to eq "CiConfigNeed"7579 exposes the expected fields7580Gitlab::Prometheus::Queries::MatchedMetricQuery7581 with one group where two metrics is found7582 both metrics in the group pass requirements7583 responds with both metrics as actve7584 none of the metrics pass requirements7585 responds with both metrics missing requirements7586 no series information found about the metrics7587 responds with both metrics missing requirements7588 one of the series info was not found7589 responds with one active and one missing metric7590 with one group where only one metric is found7591 both metrics in the group pass requirements7592 responds with one metrics as active and no missing requiremens7593 no metrics in group pass requirements7594 responds with one metrics as active and no missing requiremens7595 with two groups where metrics are found in each group7596 all metrics in both groups pass requirements7597 responds with one metrics as active and no missing requiremens7598 no metrics in groups pass requirements7599 responds with one metrics as active and no missing requiremens7600Types::DesignManagement::DesignAtVersionType7601 behaves like a GraphQL type with design fields7602 is expected to require graphql authorizations :read_design7603 exposes the expected design fields7604 #image7605 resolves to the design image URL7606 has better than O(N) peformance7607Gitlab::Ci::Status::Bridge::WaitingForResource7608 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource7609Ci::InitialPipelineProcessWorker7610 #perform7611 is labeled as idempotent7612 performs multiple times sequentially without raising an exception7613 marks the pipeline as pending7614Types::GroupMemberType7615 is expected to expose permissions using Types::PermissionTypes::Group7616 is expected to eq "GroupMember"7617 is expected to require graphql authorizations :read_group7618 has the expected fields7619AfterCommitQueue7620 #run_after_commit7621 runs after record is saved7622 runs after transaction is committed7623 #run_after_commit_or_now7624 runs immediately if not within a transction7625 runs after transaction has completed7626 multiple databases - Ci::ApplicationRecord models7627 runs immediately if not within a transaction (PENDING: Skipping because multiple databases not set up)7628 runs after transaction has completed (PENDING: Skipping because multiple databases not set up)7629Gitlab::Config::Entry::Validator7630 delegated validator7631 when node is valid7632 validates attribute in node7633 returns no errors7634 when node is invalid7635 validates attribute in node7636 returns errors7637ExportHelper7638 #project_export_descriptions7639 includes design management7640Resolvers::CommitPipelinesResolver7641 resolves pipelines for commit and ref7642AutoMergeProcessWorker7643 #perform7644 when merge request is found7645 executes AutoMergeService7646 when merge request is not found7647 does not execute AutoMergeService7648Mutations::AlertManagement::PrometheusIntegration::Update7649 is expected to require graphql authorizations :admin_project7650 #resolve7651 user has sufficient access to project7652 when ::Projects::Operations::UpdateService responds with success7653 returns the integration with no errors7654 when ::Projects::Operations::UpdateService responds with an error7655 returns errors7656 when resource is not accessible to the user7657 raises an error if the resource is not accessible to the user7658layouts/profile7659 calls enable_search_settings helper with a custom container class7660 displays the search settings entry point7661Gitlab::Database::Migration7662 .[]7663 version: 1.07664 inherits from ActiveRecord::Migration[6.1]7665 includes migration helpers version 27666 includes LockRetriesConcern7667 unknown version7668 raises an error7669 .current_version7670 includes current ActiveRecord migration class7671 Gitlab::Database::Migration::LockRetriesConcern7672 when not explicitly called7673 does not disable lock retries by default7674 when explicitly disabled7675 does not disable lock retries by default7676Feature::Gitaly7677 .enabled?7678 when the flag is set globally7679 when the gate is closed7680 returns false7681 when the flag defaults to on7682 returns true7683 when the flag is enabled for a particular project7684 returns true for that project7685 returns false for any other project7686 returns false when no project is passed7687 .server_feature_flags7688 returns a hash of flags starting with the prefix, with dashes instead of underscores7689 when a project is passed7690 returns the value for the flag on the given project7691 when table does not exist7692 returns an empty Hash7693Packages::Nuget::ServiceIndexPresenter7694 #version7695 for a group7696 is expected to eq "3.0.0"7697 for a project7698 is expected to eq "3.0.0"7699 #resources7700 for a group7701 behaves like returning valid resources7702 has valid resources7703 does not return the publish resource7704 for a project7705 behaves like returning valid resources7706 has valid resources7707 does return the publish resource7708Namespace::AggregationSchedule7709 is expected to belong to namespace required: false7710 #schedule_root_storage_statistics7711 when we can't obtain the lease7712 does not schedule the workers7713 when we can obtain the lease7714 schedules a root storage statistics after create7715 does not release the lease7716 only executes the workers once7717Gitlab::Graphql::Present::FieldExtension7718 when the object does not declare a presenter7719 does not affect normal resolution7720 when the field is declared on an interface, and implemented by a presenter7721 resolves the interface field using the implementation from the presenter7722 when the implementation is inherited7723 resolves the interface field using the implementation from the presenter7724 interactions with inheritance7725 can resolve value, foo and bar7726 when the object declares a presenter7727 when the presenter overrides the original method7728 behaves like calling the presenter method7729 calls the presenter method7730 when the field uses a resolve proc7731 is expected to eq "Hello from a proc"7732 when the presenter provides a new method7733 when we select the original field7734 is unaffected7735 when we select the new field7736 behaves like calling the presenter method7737 calls the presenter method7738Gitlab::ImportExport::Saver7739 saves the repo using object storage7740 removes archive path and keeps base path untouched7741Sidebars::Projects::Menus::SecurityComplianceMenu7742 render?7743 when user is not authenticated7744 is expected to be falsey7745 when user is authenticated7746 when the Security & Compliance is disabled7747 is expected to be falsey7748 when the Security & Compliance is not disabled7749 is expected to be truthy7750Ci::GenerateTerraformReportsService7751 #execute7752 when head pipeline has terraform reports7753 returns status and data7754 when head pipeline has corrupted terraform reports7755 returns a report with error messages7756 when head pipeline is corrupted7757 returns status and error message7758ProjectSerializer7759 when serializer option is :import7760 represents with ProjectImportEntity7761 when serializer option is omitted7762 represents with ProjectEntity7763Gitlab::GithubImport::ParallelImporter7764 .async?7765 returns true7766 .track_start_import7767 tracks the start of import7768 #execute7769 schedules the importing of the repository7770 sets the JID in Redis7771Resolvers::BaseResolver.single7772 #resolve7773 with unauthorized user7774 is expected to be nil7775 when authorized7776 is expected to eq #<List id: 143, board_id: 44, label_id: 299, list_type: "label", position: 9, created_at: "2021-12-14...l, milestone_id: nil, max_issue_count: 0, max_issue_weight: 0, limit_metric: nil, iteration_id: nil>7777Gitlab::Cluster::LifecycleEvents7778 hooks execution7779 method: :do_worker_start, hook_names: [:worker_start_hooks]7780 executes all hooks7781 method: :do_before_fork, hook_names: [:before_fork_hooks]7782 executes all hooks7783 method: :do_before_graceful_shutdown, hook_names: [:master_blackout_period, :master_graceful_shutdown]7784 executes all hooks7785 method: :do_before_master_restart, hook_names: [:master_restart_hooks]7786 executes all hooks7787 #call7788 when many hooks raise exception7789 USE_FATAL_LIFECYCLE_EVENTS is set to default7790 only first hook is executed and is fatal7791 when USE_FATAL_LIFECYCLE_EVENTS is disabled7792ERROR: The hook my_hooks failed with exception (RuntimeError) "Exception A".7793ERROR: The hook my_hooks failed with exception (RuntimeError) "Exception B".7794 many hooks are executed and all exceptions are logged7795DependencyProxy::FindOrCreateBlobService7796 no cache7797 behaves like downloads the remote blob7798 downloads blob from remote registry if there is no cached one7799 cached blob7800 uses cached blob instead of downloading one7801 when the cached blob is expired7802 behaves like downloads the remote blob7803 downloads blob from remote registry if there is no cached one7804 no such blob exists remotely7805 returns error message and http status7806Alerting::ProjectAlertingSetting7807 Associations7808 is expected to belong to project required: false7809 #token7810 when set7811 reads the token7812 when not set7813 generates a token before validation7814BitbucketServer::Representation::Repo7815 #project_key7816 is expected to eq "TEST"7817 #project_name7818 is expected to eq "test"7819 #slug7820 is expected to eq "rouge"7821 #browse_url7822 is expected to eq "http://localhost:7990/projects/TEST/repos/rouge/browse"7823 #clone_url7824 is expected to eq "http://root@localhost:7990/scm/test/rouge.git"7825 #description7826 is expected to eq "Test"7827 #full_name7828 is expected to eq "test/rouge"7829Gitlab::CycleAnalytics::Summary::Value7830 Gitlab::CycleAnalytics::Summary::Value::None7831 returns `-`7832 Gitlab::CycleAnalytics::Summary::Value::Numeric7833 returns the string representation of the number7834 Gitlab::CycleAnalytics::Summary::Value::PrettyNumeric7835 #to_s7836 returns `-` when the number is 07837 returns `-` when the number is nil7838 returns the string representation of the number7839TermAgreement7840 validations7841 is expected to validate that :term cannot be empty/falsy7842 is expected to validate that :user cannot be empty/falsy7843 .accepted7844 only includes accepted terms7845Gitlab::Template::GitignoreTemplate7846 .all7847 strips the gitignore suffix7848 combines the globals and rest7849 .find7850 returns nil if the file does not exist7851 returns the Gitignore object of a valid file7852 #content7853 loads the full file7854BulkImports::Pipeline::ExtractedData7855 #has_next_page?7856 when next page is present7857 returns true7858 when next page is not present7859 returns false7860 #next_page7861 returns next page cursor information7862 #each7863 when block is present7864 yields each data item7865 when block is not present7866 returns enumerator7867Gitlab::PhabricatorImport::Issues::Importer7868 #execute7869 imports each task in the response7870 stubbed task import7871 schedules the next batch if there is one7872 does not reschedule when there is no next page7873Types::Ci::StageType7874 is expected to eq "CiStage"7875 exposes the expected fields7876Gitlab::Graphql::Pagination::Keyset::LastItems7877 when the `count` parameter is nil7878 returns a single record7879 when the `count` parameter is given7880 returns an array7881Types::Ci::StatusActionType7882 is expected to eq "StatusAction"7883 exposes the expected fields7884 id field7885 correctly renders the field7886FeatureFlagsClientSerializer7887 #represent_token7888 includes feature flags client token7889Gitlab::Email::Message::InProductMarketing::Create7890 public methods7891 series: 07892 returns value for series7893 series: 17894 returns value for series7895 series: 27896 returns value for series7897Ci::StuckBuilds::DropRunningWorker7898 #perform7899 executes an instance of Ci::StuckBuilds::DropRunningService7900 behaves like an idempotent worker7901 is labeled as idempotent7902 performs multiple times sequentially without raising an exception7903Gitlab::Pagination::Keyset::CursorBasedRequestContext7904 #per_page7905 is expected to eq 27906 #cursor7907 is expected to eq "eyJuYW1lIjoiR2l0TGFiIEluc3RhbmNlIiwiaWQiOiI1MiIsIl9rZCI6Im4ifQ=="7908 #order_by7909 is expected to eq {:name=>:asc}7910 #apply_headers7911 sets Link header with same host/path as the original request7912 sets Link header with a cursor to the next page7913Gitlab::Metrics::ElasticsearchRackMiddleware7914 #call7915 calls the app7916 records elasticsearch metrics7917 records elasticsearch metrics if an error is raised7918 when there are no elasticsearch requests7919 does not record any metrics7920Gitlab::Prometheus::Queries::KnativeInvocationQuery7921 verify queries7922 has the query, but no data7923Ci::ProcessPipelineService7924 processing events counter7925 increments processing events counter7926Backup::Uploads7927 #initialize7928 uses the correct upload dir7929 #dump7930 uses the correct upload dir7931 excludes tmp from backup tar7932Ci::JobsHelper7933 jobs data7934 returns bridge data7935profiles/notifications/show7936 when there is no database value for User#notification_email7937 displays the correct elements7938ScheduleMigrateExternalDiffsWorker7939 #perform7940 triggers a scan for diffs to migrate7941 will not run if the lease is already taken7942Sidebars::Projects::Menus::ExternalIssueTrackerMenu7943 does not contain any sub menu7944 #render?7945 when active external issue tracker7946 is present7947 returns true7948 is not present7949 returns false7950Types::Ci::TestCaseStatusEnum7951 is expected to eq "TestCaseStatus"7952 exposes all test case status types7953Gitlab::SidekiqLogging::DeduplicationLogger7954 #log_deduplication7955 logs a deduplication message to the sidekiq logger7956 does not modify the job7957 #rescheduled_log7958 logs a rescheduled message to the sidekiq logger7959 does not modify the job7960ApproveBlockedPendingApprovalUsersWorker7961 #perform7962 calls ApproveService for users in blocked_pending_approval state7963 does not call ApproveService for active users7964Types::AlertManagement::StatusEnum7965 is expected to eq "AlertManagementStatus"7966 statuses7967 status_name: "TRIGGERED", status_value: :triggered7968 exposes a status with the correct value7969 status_name: "ACKNOWLEDGED", status_value: :acknowledged7970 exposes a status with the correct value7971 status_name: "RESOLVED", status_value: :resolved7972 exposes a status with the correct value7973 status_name: "IGNORED", status_value: :ignored7974 exposes a status with the correct value7975Evidences::IssueEntity7976 exposes the expected fields7977groups/settings/_remove.html.haml7978 render7979 enables the Remove group button for a group7980BulkImports::Projects::Pipelines::AutoDevopsPipeline7981 #run7982 imports auto devops options into destination project7983NewProjectSastEnabledExperiment7984 defines the expected behaviors and variants7985 publishes to the database7986Quality::Seeders::Issues7987 #seed7988. seeds issues7989Ci::GroupVariableEntity7990 #as_json7991 contains required fields7992Gitlab::ConfigChecker::ExternalDatabaseChecker7993 #check7994 when database meets minimum supported version7995 is expected to be empty7996 when database does not meet minimum supported version7997 reports deprecated database notice7998Packages::Pypi::PackageFinder7999 execute8000 within a project8001 is expected to eq #<Packages::Package id: 185, project_id: 1421, created_at: "2021-12-14 01:54:59.795193858 +0000", upd...name: "pypi-package-4", version: "1.0.4", package_type: "pypi", creator_id: 2121, status: "default">8002 within a group8003 is expected to eq #<Packages::Package id: 185, project_id: 1421, created_at: "2021-12-14 01:54:59.795193858 +0000", upd...name: "pypi-package-4", version: "1.0.4", package_type: "pypi", creator_id: 2121, status: "default">8004Gitlab::Metrics::Dashboard::Stages::TrackPanelType8005 #transform!8006 creates tracking event8007Gitlab::Graphql::Timeout8008 inherits from8009 sends the error to our GraphQL logger8010Tooling::Crystalball::CoverageLinesStrategy8011 #after_register8012 starts coverage8013gitlab:shell rake tasks8014 install task8015 installs and compiles gitlab-shell8016Types::TodoType8017 has the correct fields8018 is expected to require graphql authorizations :read_todo8019Ci::BuildPrepareWorker8020 build exists8021 calls the prepare build service8022 build does not exist8023 does not attempt to prepare the build8024Gitlab::SidekiqMiddleware::InstrumentationLogger8025 #call8026 merges all instrumentation data in the job8027RuboCop::Cop::Database::MultipleDatabases8028 flags the use of ActiveRecord::Base.connection8029PolicyActor8030 implements all the methods from user8031Gitlab::Database::PostgresqlDatabaseTasks::LoadSchemaVersionsMixin8032 calls SchemaMigrations load_all8033Ci::TriggerSerializer8034 #represent8035 matches schema8036CiPlatformMetricsUpdateCronWorker8037 #perform8038 inserts new platform metrics8039Gitlab::SidekiqStatus::ServerMiddleware8040 #call8041 stops tracking of a job upon completion8042Types::MergeRequestReviewStateEnum8043 the correct enum members8044RuboCop::Cop::UserAdmin8045 flags a method call8046 flags a method call with safe operator8047Projects::IncidentsHelper8048 #incidents_data8049 when user can create incidents8050 returns frontend configuration8051 when user cannot create incidents8052 returns frontend configuration8053Gitlab::ProcessMemoryCache::Helper8054 .fetch_memory_cache8055 memoizes the result8056 resets the cache when the shared key is missing8057 .invalidate_memory_cache8058 invalidates the cache8059SyntheticNote8060 #to_ability_name8061 is expected to eq "note"8062Gitlab::Redis::Wrapper8063 .instrumentation_class8064 raises a NameError8065TodosDestroyer::ProjectPrivateWorker8066 calls the Todos::Destroy::ProjectPrivateService with the params it was given8067Knapsack report was generated. Preview:8068{8069 "spec/lib/gitlab/usage_data_spec.rb": 491.36003877500116,8070 "spec/services/ci/create_pipeline_service_spec.rb": 95.37616064000031,8071 "spec/services/boards/issues/list_service_spec.rb": 70.26008093499877,8072 "spec/models/concerns/mentionable_spec.rb": 58.62162510999951,8073 "spec/lib/gitlab/usage_data_counters/ci_template_unique_counter_spec.rb": 24.354501152998637,8074 "spec/models/project_wiki_spec.rb": 39.971900610999,8075 "spec/uploaders/file_uploader_spec.rb": 32.611353326001336,8076 "spec/services/projects/update_service_spec.rb": 40.67311744000108,8077 "spec/services/issues/clone_service_spec.rb": 47.03899133199957,8078 "spec/finders/packages/group_packages_finder_spec.rb": 28.45461376500134,8079 "spec/policies/wiki_page_policy_spec.rb": 26.847636919999786,8080 "spec/lib/gitlab/cleanup/project_uploads_spec.rb": 20.969802120000168,8081 "spec/lib/gitlab/import_export/fast_hash_serializer_spec.rb": 21.692458044999512,8082 "spec/lib/banzai/filter/references/commit_reference_filter_spec.rb": 24.304267141998935,8083 "spec/serializers/deployment_entity_spec.rb": 27.898930991999805,8084 "spec/models/jira_import_state_spec.rb": 19.42139207499895,8085 "spec/lib/backup/files_spec.rb": 14.334331540001585,8086 "spec/helpers/labels_helper_spec.rb": 11.60175527300089,8087 "spec/models/project_statistics_spec.rb": 17.26013735699962,8088 "spec/lib/gitlab/checks/branch_check_spec.rb": 15.291047599001104,8089 "spec/models/blob_spec.rb": 8.220162558000084,8090 "spec/services/resource_access_tokens/create_service_spec.rb": 10.878567587000362,8091 "spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb": 2.7106444609999016,8092 "spec/services/ci/update_build_state_service_spec.rb": 4.463100093000321,8093 "spec/services/projects/open_issues_count_service_spec.rb": 13.657383637999374,8094 "spec/lib/gitlab/issues/rebalancing/state_spec.rb": 3.2139155410004605,8095 "spec/services/packages/nuget/update_package_from_metadata_service_spec.rb": 12.443323079000038,8096 "spec/models/wiki_page/meta_spec.rb": 6.319248010000592,8097 "spec/graphql/mutations/merge_requests/set_assignees_spec.rb": 8.622678964000443,8098 "spec/presenters/project_clusterable_presenter_spec.rb": 7.3638609839999845,8099 "spec/graphql/mutations/issues/update_spec.rb": 10.960836484000538,8100 "spec/lib/container_registry/path_spec.rb": 8.096156028999758,8101 "spec/models/key_spec.rb": 6.152457125999717,8102 "spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb": 3.2697510119996878,8103 "spec/services/projects/after_import_service_spec.rb": 6.217501503000676,8104 "spec/services/resource_access_tokens/revoke_service_spec.rb": 10.450214935000986,8105 "spec/services/packages/npm/create_tag_service_spec.rb": 6.942507683001168,8106 "spec/lib/gitlab/github_import/importer/releases_importer_spec.rb": 6.319662304000303,8107 "spec/lib/gitlab/auth/ldap/person_spec.rb": 2.196155101999466,8108 "spec/services/metrics/dashboard/annotations/create_service_spec.rb": 7.353817485000036,8109 "spec/models/alert_management/http_integration_spec.rb": 4.559472548000485,8110 "spec/services/merge_requests/remove_attention_requested_service_spec.rb": 9.097197021999818,8111 "spec/helpers/ci/runners_helper_spec.rb": 5.169252809999307,8112 "spec/lib/gitlab/changelog/config_spec.rb": 6.642115067999839,8113 "spec/lib/gitlab/checks/single_change_access_spec.rb": 6.712387346000469,8114 "spec/tooling/quality/test_level_spec.rb": 2.160176097000658,8115 "spec/finders/merge_requests/oldest_per_commit_finder_spec.rb": 6.912690398001359,8116 "spec/lib/gitlab/chat/command_spec.rb": 8.6240305299998,8117 "spec/lib/gitlab/ci/pipeline/chain/create_deployments_spec.rb": 6.158811556999353,8118 "spec/lib/gitlab/database/query_analyzers/prevent_cross_database_modification_spec.rb": 3.4482535799998004,8119 "spec/models/audit_event_spec.rb": 3.319977918999939,8120 "spec/finders/resource_state_event_finder_spec.rb": 4.682054040998992,8121 "spec/lib/gitlab/ci/pipeline/seed/environment_spec.rb": 5.291634102999524,8122 "spec/workers/auto_devops/disable_worker_spec.rb": 5.441823510998802,8123 "spec/lib/gitlab/jira_import_spec.rb": 3.780290682001578,8124 "spec/presenters/snippet_blob_presenter_spec.rb": 3.399458047000735,8125 "spec/services/merge_requests/resolved_discussion_notification_service_spec.rb": 5.821435035999457,8126 "spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb": 3.367820261999441,8127 "spec/graphql/types/ci/job_token_scope_type_spec.rb": 5.368791221999345,8128 "spec/lib/sidebars/menu_spec.rb": 1.2748736450012075,8129 "spec/models/packages/debian/project_component_file_spec.rb": 2.75336321100076,8130 "spec/lib/gitlab/suggestions/file_suggestion_spec.rb": 2.8692552440006693,8131 "spec/lib/error_tracking/sentry_client/issue_link_spec.rb": 1.7453329770014534,8132 "spec/services/groups/update_shared_runners_service_spec.rb": 5.580199811000057,8133 "spec/lib/bulk_imports/projects/pipelines/issues_pipeline_spec.rb": 3.8536781710008654,8134 "spec/workers/chat_notification_worker_spec.rb": 4.431760407998809,8135 "spec/lib/gitlab/gitaly_client/blob_service_spec.rb": 4.611428010999589,8136 "spec/services/packages/conan/search_service_spec.rb": 9.174399640000047,8137 "spec/graphql/types/user_type_spec.rb": 2.096801855999729,8138 "spec/lib/api/entities/user_spec.rb": 5.318443419000687,8139 "spec/lib/gitlab/ci/pipeline/chain/config/content_spec.rb": 4.767635709000388,8140 "spec/lib/gitlab/ci/build/rules_spec.rb": 1.8714775890002784,8141 "spec/lib/gitlab/slash_commands/issue_comment_spec.rb": 4.903268549000131,8142 "spec/services/metrics/dashboard/clone_dashboard_service_spec.rb": 4.303188415999102,8143 "spec/workers/merge_worker_spec.rb": 4.940363514000637,8144 "spec/lib/gitlab/slash_commands/issue_new_spec.rb": 4.200934420001431,8145 "spec/helpers/learn_gitlab_helper_spec.rb": 1.9506782779990317,8146 "spec/lib/gitlab/ci/pipeline/seed/build/cache_spec.rb": 1.713520430999779,8147 "spec/services/users/update_canonical_email_service_spec.rb": 1.1515854930003115,8148 "spec/serializers/test_suite_summary_entity_spec.rb": 4.537724063000496,8149 "spec/models/group_group_link_spec.rb": 3.60863832799987,8150 "spec/lib/gitlab/ci/config/entry/port_spec.rb": 1.469881417000579,8151 "spec/lib/banzai/reference_parser/feature_flag_parser_spec.rb": 3.884015786999953,8152 "spec/lib/gitlab/database/partitioning/detached_partition_dropper_spec.rb": 1.5180521500005852,8153 "spec/services/packages/debian/update_distribution_service_spec.rb": 2.361815796999508,8154 "spec/lib/gitlab/kubernetes/helm/api_spec.rb": 1.2720104550007818,8155 "spec/workers/issue_rebalancing_worker_spec.rb": 1.5499119460000657,8156 "spec/models/concerns/access_requestable_spec.rb": 2.819660290999309,8157 "spec/lib/gitlab/config/loader/yaml_spec.rb": 0.9512214429996675,8158 "spec/lib/gitlab/hook_data/key_builder_spec.rb": 0.8923309700003301,8159 "spec/finders/environments/environments_finder_spec.rb": 1.5462026260011044,8160 "spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb": 0.7746079580010701,8161 "spec/finders/packages/conan/package_file_finder_spec.rb": 2.5910264440008177,8162 "spec/lib/gitlab/health_checks/redis/trace_chunks_check_spec.rb": 0.8759268529993278,8163 "spec/lib/banzai/reference_parser/mentioned_project_parser_spec.rb": 2.606275562000519,8164 "spec/views/layouts/_head.html.haml_spec.rb": 2.205269430000044,8165 "spec/lib/gitlab/api_authentication/token_resolver_spec.rb": 2.1988379310005257,8166 "spec/lib/gitlab/ci/build/policy/variables_spec.rb": 2.0648452910008928,8167 "spec/lib/gitlab/health_checks/redis/shared_state_check_spec.rb": 0.8531610059999366,8168 "spec/lib/backup/repository_backup_error_spec.rb": 1.2655863069994666,8169 "spec/lib/mattermost/session_spec.rb": 2.44759419500042,8170 "spec/tooling/rspec_flaky/config_spec.rb": 1.172347459998491,8171 "spec/graphql/types/snippet_type_spec.rb": 2.5483842800003913,8172 "spec/services/environments/canary_ingress/update_service_spec.rb": 3.49815207300162,8173 "spec/presenters/event_presenter_spec.rb": 1.7276173099999141,8174 "spec/lib/gitlab/sanitizers/svg_spec.rb": 0.8779436929999065,8175 "spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb": 0.9698870000011084,8176 "spec/lib/gitlab/tracking/destinations/snowplow_micro_spec.rb": 0.8669020140005159,8177 "spec/lib/gitlab/changelog/release_spec.rb": 2.4690441120001196,8178 "spec/lib/gitlab/import_export/repo_restorer_spec.rb": 3.5386809969986643,8179 "spec/lib/gitlab/ci/config/entry/inherit/variables_spec.rb": 0.8151515720001044,8180 "spec/models/project_deploy_token_spec.rb": 2.5014204070012056,8181 "spec/services/packages/rubygems/process_gem_service_spec.rb": 1.4983653629988112,8182 "spec/graphql/mutations/labels/create_spec.rb": 1.9637550950010336,8183 "spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb": 1.9114613530000497,8184 "spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb": 1.1047562599997036,8185 "spec/policies/terraform/state_version_policy_spec.rb": 2.288188918999367,8186 "spec/workers/jira_connect/sync_merge_request_worker_spec.rb": 1.3193630799996754,8187 "spec/workers/issue_due_scheduler_worker_spec.rb": 2.454773555000429,8188 "spec/graphql/resolvers/repository_branch_names_resolver_spec.rb": 1.939388038999823,8189 "spec/models/analytics/cycle_analytics/project_value_stream_spec.rb": 1.2750361149992386,8190 "spec/models/preloaders/user_max_access_level_in_projects_preloader_spec.rb": 2.3149685349999345,8191 "spec/lib/gitlab/usage/metrics/aggregates/sources/postgres_hll_spec.rb": 1.4183989249995648,8192 "spec/lib/gitlab/favicon_spec.rb": 1.209162164999725,8193 "spec/workers/remove_unaccepted_member_invites_worker_spec.rb": 2.5136409689985157,8194 "spec/finders/repositories/tree_finder_spec.rb": 1.2163042740012315,8195 "spec/services/dependency_proxy/request_token_service_spec.rb": 1.6628468190010608,8196 "spec/views/admin/application_settings/ci_cd.html.haml_spec.rb": 0.9819117079987336,8197 "spec/workers/object_pool/create_worker_spec.rb": 2.7520778809994226,8198 "spec/graphql/resolvers/metrics/dashboards/annotation_resolver_spec.rb": 1.116741218000243,8199 "spec/services/ci/build_report_result_service_spec.rb": 3.282526744000279,8200 "spec/lib/gitlab/metrics/subscribers/external_http_spec.rb": 0.9572216910000861,8201 "spec/services/clusters/aws/finalize_creation_service_spec.rb": 1.727989709999747,8202 "spec/lib/gitlab/metrics/dashboard/service_selector_spec.rb": 0.968571609000719,8203 "spec/workers/incident_management/pager_duty/process_incident_worker_spec.rb": 2.277773789999628,8204 "spec/serializers/label_serializer_spec.rb": 2.4882737690004433,8205 "spec/lib/sidebars/projects/menus/shimo_menu_spec.rb": 1.4531040900001244,8206 "spec/lib/gitlab/auth/saml/identity_linker_spec.rb": 1.7100579930011008,8207 "spec/tasks/gitlab/task_helpers_spec.rb": 1.2871963639991009,8208 "spec/tasks/gitlab/praefect_rake_spec.rb": 2.204480690001219,8209 "spec/workers/gitlab/github_import/stage/import_notes_worker_spec.rb": 2.1669525659999636,8210 "spec/services/boards/create_service_spec.rb": 2.2803735899997264,8211 "spec/lib/gitlab/external_authorization/response_spec.rb": 0.6758846619995893,8212 "spec/serializers/feature_flag_summary_serializer_spec.rb": 1.3166856090010697,8213 "spec/graphql/resolvers/issue_status_counts_resolver_spec.rb": 1.8329993539991847,8214 "spec/models/experiment_user_spec.rb": 0.7217823049995786,8215 "spec/services/service_ping/permit_data_categories_service_spec.rb": 0.8221316809995187,8216 "spec/lib/gitlab/sherlock/line_profiler_spec.rb": 0.9990281350001169,8217 "spec/policies/application_setting/term_policy_spec.rb": 1.8340664639999886,8218 "spec/services/concerns/merge_requests/assigns_merge_params_spec.rb": 0.834019439000258,8219 "spec/lib/gitlab/health_checks/db_check_spec.rb": 0.8585108549996221,8220 "spec/lib/gitlab/ci/pipeline/preloader_spec.rb": 1.2745653559995844,8221 "spec/finders/packages/go/module_finder_spec.rb": 1.3350044459984929,8222 "spec/policies/alert_management/http_integration_policy_spec.rb": 1.724175790001027,8223 "spec/lib/gitlab/sherlock/collection_spec.rb": 0.8160179820006306,8224 "spec/tooling/lib/tooling/test_map_packer_spec.rb": 0.7656279090006137,8225 "spec/lib/gitlab/metrics/dashboard/stages/grafana_formatter_spec.rb": 0.9269076359996689,8226 "spec/lib/gitlab/ci/status/build/erased_spec.rb": 2.099811096000849,8227 "spec/graphql/types/ci/config/need_type_spec.rb": 0.7083391169999231,8228 "spec/lib/gitlab/prometheus/queries/matched_metric_query_spec.rb": 0.9832890480010974,8229 "spec/graphql/types/design_management/design_at_version_type_spec.rb": 1.7481898160003766,8230 "spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb": 0.6805601810010558,8231 "spec/workers/ci/initial_pipeline_process_worker_spec.rb": 1.4486344599990844,8232 "spec/graphql/types/group_member_type_spec.rb": 0.7483245620005619,8233 "spec/models/concerns/after_commit_queue_spec.rb": 1.8089729369985434,8234 "spec/lib/gitlab/config/entry/validator_spec.rb": 0.7455269410002074,8235 "spec/helpers/export_helper_spec.rb": 0.9780155480002577,8236 "spec/graphql/resolvers/commit_pipelines_resolver_spec.rb": 1.0846946029996616,8237 "spec/workers/auto_merge_process_worker_spec.rb": 1.2800661250003031,8238 "spec/graphql/mutations/alert_management/prometheus_integration/update_spec.rb": 1.5635610129993438,8239 "spec/views/layouts/profile.html.haml_spec.rb": 2.2636227019993385,8240 "spec/lib/gitlab/database/migration_spec.rb": 0.8241609710003104,8241 "spec/lib/feature/gitaly_spec.rb": 1.395434767999177,8242 "spec/presenters/packages/nuget/service_index_presenter_spec.rb": 1.1350335650004126,8243 "spec/models/namespace/aggregation_schedule_spec.rb": 1.3376165259996924,8244 "spec/lib/gitlab/graphql/present/field_extension_spec.rb": 1.0495324779985822,8245 "spec/lib/gitlab/import_export/saver_spec.rb": 1.715315670999189,8246 "spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb": 0.9853873179999937,8247 "spec/services/ci/generate_terraform_reports_service_spec.rb": 1.3333822569984477,8248 "spec/serializers/project_serializer_spec.rb": 0.8188844009982859,8249 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 1.3237251580012526,8250 "spec/graphql/resolvers/board_list_resolver_spec.rb": 1.0132123229996068,8251 "spec/lib/gitlab/cluster/lifecycle_events_spec.rb": 1.0383458899996185,8252 "spec/services/dependency_proxy/find_or_create_blob_service_spec.rb": 0.9467743530003645,8253 "spec/models/alerting/project_alerting_setting_spec.rb": 0.9924578970003495,8254 "spec/lib/bitbucket_server/representation/repo_spec.rb": 0.9225053259997367,8255 "spec/lib/gitlab/cycle_analytics/summary/value_spec.rb": 0.6513167150005756,8256 "spec/models/term_agreement_spec.rb": 0.9077691889997368,8257 "spec/lib/gitlab/template/gitignore_template_spec.rb": 0.6986157890005416,8258 "spec/lib/bulk_imports/pipeline/extracted_data_spec.rb": 0.7411114829992584,8259 "spec/lib/gitlab/phabricator_import/issues/importer_spec.rb": 1.8716940880003676,8260 "spec/graphql/types/ci/stage_type_spec.rb": 0.6742786129998422,8261 "spec/lib/gitlab/graphql/pagination/keyset/last_items_spec.rb": 1.153769091999493,8262 "spec/graphql/types/ci/status_action_type_spec.rb": 0.9113260579997586,8263 "spec/serializers/feature_flags_client_serializer_spec.rb": 1.015105472999494,8264 "spec/lib/gitlab/email/message/in_product_marketing/create_spec.rb": 0.7194171159990219,8265 "spec/workers/ci/stuck_builds/drop_running_worker_spec.rb": 0.6957517589999043,8266 "spec/lib/gitlab/pagination/keyset/cursor_based_request_context_spec.rb": 0.6901072599994222,8267 "spec/lib/gitlab/metrics/elasticsearch_rack_middleware_spec.rb": 0.7984985740004049,8268 "spec/lib/gitlab/prometheus/queries/knative_invocation_query_spec.rb": 0.9948727160008275,8269 "spec/services/ci/process_pipeline_service_spec.rb": 0.8318994590008515,8270 "spec/lib/backup/uploads_spec.rb": 0.7435765720001655,8271 "spec/helpers/ci/jobs_helper_spec.rb": 1.1707376499998645,8272 "spec/views/profiles/notifications/show.html.haml_spec.rb": 0.9678801200007001,8273 "spec/workers/schedule_migrate_external_diffs_worker_spec.rb": 0.725804554998831,8274 "spec/lib/sidebars/projects/menus/external_issue_tracker_menu_spec.rb": 0.9406558039991069,8275 "spec/graphql/types/ci/test_case_status_enum_spec.rb": 0.6571593349999603,8276 "spec/lib/gitlab/sidekiq_logging/deduplication_logger_spec.rb": 1.048776898000142,8277 "spec/workers/approve_blocked_pending_approval_users_worker_spec.rb": 0.8091018830000394,8278 "spec/graphql/types/alert_management/status_enum_spec.rb": 0.6877365109994571,8279 "spec/serializers/evidences/issue_entity_spec.rb": 0.5987255630006985,8280 "spec/views/groups/settings/_remove.html.haml_spec.rb": 0.8534575760004373,8281 "spec/lib/bulk_imports/projects/pipelines/auto_devops_pipeline_spec.rb": 1.1325650259987015,8282 "spec/experiments/new_project_sast_enabled_experiment_spec.rb": 0.7602046699994389,8283 "spec/lib/quality/seeders/issues_spec.rb": 1.4588565089998156,8284 "spec/serializers/ci/group_variable_entity_spec.rb": 0.6329374680008186,8285 "spec/lib/gitlab/config_checker/external_database_checker_spec.rb": 0.7180764060012734,8286 "spec/finders/packages/pypi/package_finder_spec.rb": 1.2390195499992842,8287 "spec/lib/gitlab/metrics/dashboard/stages/track_panel_type_spec.rb": 0.7267509249995783,8288 "spec/lib/gitlab/graphql/timeout_spec.rb": 0.7570065600011731,8289 "spec/tooling/lib/tooling/crystalball/coverage_lines_strategy_spec.rb": 0.5388696720001462,8290 "spec/tasks/gitlab/shell_rake_spec.rb": 0.6941805890000978,8291 "spec/graphql/types/todo_type_spec.rb": 0.67116130300019,8292 "spec/workers/ci/build_prepare_worker_spec.rb": 1.101429830001507,8293 "spec/lib/gitlab/sidekiq_middleware/instrumentation_logger_spec.rb": 0.8489468970001326,8294 "spec/rubocop/cop/database/multiple_databases_spec.rb": 0.8439381579992187,8295 "spec/policies/concerns/policy_actor_spec.rb": 0.6042670219994761,8296 "spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb": 0.6200123300004634,8297 "spec/serializers/ci/trigger_serializer_spec.rb": 0.761420659999203,8298 "spec/workers/ci_platform_metrics_update_cron_worker_spec.rb": 0.649022915000387,8299 "spec/lib/gitlab/sidekiq_status/server_middleware_spec.rb": 0.6132994709987543,8300 "spec/graphql/types/merge_request_review_state_enum_spec.rb": 0.6025464619997365,8301 "spec/rubocop/cop/user_admin_spec.rb": 0.6988701390000642,8302 "spec/helpers/projects/incidents_helper_spec.rb": 0.7135709159992984,8303 "spec/lib/gitlab/process_memory_cache/helper_spec.rb": 0.8638778550011921,8304 "spec/models/synthetic_note_spec.rb": 0.6240038300002198,8305 "spec/lib/gitlab/redis/wrapper_spec.rb": 0.6600618140000734,8306 "spec/workers/todos_destroyer/project_private_worker_spec.rb": 0.5832054950005848307}8308Knapsack global time execution for tests: 27m 41s8309Pending: (Failures listed here are expected and do not affect your suite's status)8310 1) Ci::CreatePipelineService#execute Pipeline for external pull requests when source is external pull request when config has external_pull_requests keywords when external pull request is specified when pull request is created from fork does not create an external pull request pipeline8311 # Not yet implemented8312 # ./spec/services/ci/create_pipeline_service_spec.rb:15048313 2) FileUploader legacy storage behaves like builds correct legacy storage paths #cache_dir behaves like matches the method pattern 8314 # No pattern provided, skipping.8315 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88316 3) FileUploader legacy storage behaves like builds correct legacy storage paths #work_dir behaves like matches the method pattern 8317 # No pattern provided, skipping.8318 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88319 4) FileUploader legacy storage behaves like builds correct legacy storage paths #relative_path is relative8320 # Path not set, skipping.8321 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408322 5) FileUploader legacy storage behaves like builds correct legacy storage paths .base_dir behaves like matches the method pattern 8323 # No pattern provided, skipping.8324 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88325 6) FileUploader legacy storage uses hashed storage when rolled out attachments #cache_dir behaves like matches the method pattern 8326 # No pattern provided, skipping.8327 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88328 7) FileUploader legacy storage uses hashed storage when rolled out attachments #work_dir behaves like matches the method pattern 8329 # No pattern provided, skipping.8330 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88331 8) FileUploader legacy storage uses hashed storage when rolled out attachments #relative_path is relative8332 # Path not set, skipping.8333 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408334 9) FileUploader legacy storage uses hashed storage when rolled out attachments .absolute_path behaves like matches the method pattern 8335 # No pattern provided, skipping.8336 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88337 10) FileUploader legacy storage uses hashed storage when rolled out attachments .base_dir behaves like matches the method pattern 8338 # No pattern provided, skipping.8339 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88340 11) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #cache_dir behaves like matches the method pattern 8341 # No pattern provided, skipping.8342 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88343 12) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #work_dir behaves like matches the method pattern 8344 # No pattern provided, skipping.8345 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88346 13) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths #relative_path is relative8347 # Path not set, skipping.8348 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408349 14) FileUploader legacy storage uses hashed storage when only repositories are rolled out behaves like builds correct legacy storage paths .base_dir behaves like matches the method pattern 8350 # No pattern provided, skipping.8351 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88352 15) FileUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 8353 # No pattern provided, skipping.8354 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88355 16) FileUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 8356 # No pattern provided, skipping.8357 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88358 17) FileUploader object store is remote behaves like builds correct paths #relative_path is relative8359 # Path not set, skipping.8360 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408361 18) FileUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8362 # No pattern provided, skipping.8363 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88364 19) FileUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8365 # No pattern provided, skipping.8366 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88367 20) AfterCommitQueue#run_after_commit_or_now multiple databases - Ci::ApplicationRecord models runs immediately if not within a transaction8368 # Skipping because multiple databases not set up8369 # ./spec/models/concerns/after_commit_queue_spec.rb:998370 21) AfterCommitQueue#run_after_commit_or_now multiple databases - Ci::ApplicationRecord models runs after transaction has completed8371 # Skipping because multiple databases not set up8372 # ./spec/models/concerns/after_commit_queue_spec.rb:1088373Finished in 27 minutes 45 seconds (files took 50.39 seconds to load)83743399 examples, 0 failures, 21 pending8375Tue Dec 14 01:55:30 UTC 20218377Not uploading cache ruby-gems-v1-9 due to policy8378Not uploading cache gitaly-ruby-gems-v1-9 due to policy8380Uploading artifacts...8381coverage/: found 5 matching files and directories 8382crystalball/: found 2 matching files and directories 8383deprecations/: found 6 matching files and directories 8384knapsack/: found 3 matching files and directories 8385rspec_flaky/: found 5 matching files and directories 8386rspec_profiling/: found 1 matching files and directories 8387WARNING: tmp/capybara/: no matching files 8388tmp/memory_test/: found 2 matching files and directories 8389log/*.log: found 20 matching files and directories 8390Uploading artifacts as "archive" to coordinator... ok id=1880797985 responseStatus=201 Created token=DCJrJocS8391Uploading artifacts...8392junit_rspec.xml: found 1 matching files and directories 8393Uploading artifacts as "junit" to coordinator... ok id=1880797985 responseStatus=201 Created token=DCJrJocS8395Job succeeded