rspec unit pg12-as-if-foss single-db 7/22
Passed Started
by
@leetickett

Lee Tickett
1Running with gitlab-runner 15.1.0~beta.20.g62206bb2 (62206bb2)2 on blue-3.shared-gitlab-org.runners-manager.gitlab.com/default sUrYYgEG3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ac3b8cd6a8b42e839456256bc514d6230b5a2538c738b3d522e1384a2a172b96 for postgres:12 with digest postgres@sha256:e6ffad42c91a4d5a29257a27ac4e160c3ae7196696b37bf2e80410024ed95951 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:09401fed2a421bf0019f96dcec70c85f82ec7b76beb1ae589547b0dc302d6b76 for redis:6.0-alpine with digest redis@sha256:217a9db40a914cc3f6206a143a4d750da0607500cc013a147a4979e08e40beff ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...18Running on runner-suryygeg-project-278964-concurrent-0 via runner-suryygeg-shared-gitlab-org-1656912975-fc11e43b...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: 115982, done. 25remote: Counting objects: 100% (115982/115982), done. 26remote: Compressing objects: 100% (81017/81017), done. 27remote: Total 115982 (delta 48513), reused 75504 (delta 30561), pack-reused 0 28Receiving objects: 100% (115982/115982), 108.44 MiB | 28.88 MiB/s, done.29Resolving deltas: 100% (48513/48513), done.31 * [new ref] refs/pipelines/579176392 -> refs/pipelines/57917639232Checking out 204b4379 as refs/merge-requests/91556/merge...33Skipping Git submodules setup34$ git remote set-url origin "${CI_REPOSITORY_URL}"36Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...37cache.zip is up to date 38Successfully extracted cache39Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...40cache.zip is up to date 41Successfully extracted cache43Downloading artifacts for compile-test-assets as-if-foss (2673336707)...44Downloading artifacts from coordinator... ok id=2673336707 responseStatus=200 OK token=XS_vkJq445Downloading artifacts for detect-tests (2673336715)...46Downloading artifacts from coordinator... ok id=2673336715 responseStatus=200 OK token=XS_vkJq447Downloading artifacts for retrieve-tests-metadata (2673336722)...48Downloading artifacts from coordinator... ok id=2673336722 responseStatus=200 OK token=XS_vkJq449Downloading artifacts for setup-test-env (2673336712)...50Downloading artifacts from coordinator... ok id=2673336712 responseStatus=200 OK token=XS_vkJq452Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...53$ echo $FOSS_ONLY54155$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb56$ export GOPATH=$CI_PROJECT_DIR/.go57$ mkdir -p $GOPATH58$ source scripts/utils.sh59$ source scripts/prepare_build.sh603.2.3361Bundler version 2.2.3362Successfully installed bundler-2.3.15631 gem installed64production:development65Settings are listed in order of priority. The top value will be used.66clean67Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true68frozen69Set via BUNDLE_FROZEN: true70install_flags71Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"72path73Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"74without75Set via BUNDLE_WITHOUT: [:production, :development]76$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check77Don't run Bundler as root. Bundler can ask for sudo if it is needed, and78installing your bundle as root will break this application for all non-root79users on this machine.80The Gemfile's dependencies are satisfied81==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 3 seconds.82$ bundle pristine pg83Installing pg 1.3.5 with native extensions84==> 'bundle pristine pg' succeeded in 10 seconds.85$ setup_db_user_only86CREATE ROLE87GRANT88==> 'setup_db_user_only' succeeded in 1 seconds.89$ bundle exec rake db:drop db:create db:schema:load db:migrate90Dropped database 'gitlabhq_test'91Created database 'gitlabhq_test'92==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 27 seconds.93$ setup_db_praefect94SELECT pg_catalog.set_config('search_path', '', false);95CREATE DATABASE praefect_test ENCODING 'UTF8';96==> 'setup_db_praefect' succeeded in 0 seconds.97$ run_timed_command "gem install knapsack --no-document"98$ gem install knapsack --no-document99Successfully installed knapsack-4.0.01001 gem installed101==> 'gem install knapsack --no-document' succeeded in 1 seconds.102$ run_timed_command "scripts/gitaly-test-spawn"103$ scripts/gitaly-test-spawn104find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory105Don't run Bundler as root. Bundler can ask for sudo if it is needed, and106installing your bundle as root will break this application for all non-root107users on this machine.108Using abstract_type 0.0.7109Using concurrent-ruby 1.1.10110Using i18n 1.10.0111Using minitest 5.15.0112Using tzinfo 2.0.4113Using zeitwerk 2.5.4114Using activesupport 6.1.4.7115Using builder 3.2.4116Using erubi 1.10.0117Using mini_portile2 2.8.0118Using racc 1.6.0119Using nokogiri 1.13.6 (x86_64-linux)120Using rails-dom-testing 2.0.3121Using crass 1.0.6122Using loofah 2.16.0123Using rails-html-sanitizer 1.4.2124Using actionview 6.1.4.7125Using rack 2.2.3126Using rack-test 1.1.0127Using actionpack 6.1.4.7128Using ice_nine 0.11.2129Using thread_safe 0.3.6130Using memoizable 0.4.2131Using adamantium 0.2.0132Using public_suffix 4.0.6133Using addressable 2.7.0134Using ast 2.4.2135Using binding_ninja 0.2.3136Using bundler 2.3.15137Using charlock_holmes 0.7.7138Using coderay 1.1.2139Using equalizer 0.0.11140Using concord 0.1.5141Using diff-lcs 1.3142Using dotenv 2.7.6143Using escape_utils 1.2.1144Using factory_bot 5.0.2145Using multipart-post 2.1.1146Using faraday 1.0.1147Using ffi 1.15.3148Using json 2.5.1149Using gemojione 3.3.0150Using mini_mime 1.0.2151Using rugged 1.2.0152Using github-linguist 7.12.1153Using github-markup 1.7.0154Using mime-types-data 3.2020.1104155Using mime-types 3.3.1156Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1157Using rouge 3.27.0158Using sanitize 6.0.0159Using stringex 2.8.5160Using gitlab-gollum-lib 4.2.7.10.gitlab.2161Using google-protobuf 3.19.1 (x86_64-linux)162Using googleapis-common-protos-types 1.3.0163Using grpc 1.42.0 (x86_64-linux)164Using opentracing 0.5.0165Using thrift 0.15.0166Using jaeger-client 1.1.0167Using pg_query 2.1.1168Using redis 4.4.0169Using gitlab-labkit 0.23.0170Using rubyzip 2.3.2171Using thor 1.1.0172Using tomlrb 2.0.1173Using with_env 1.1.0174Using rexml 3.2.5175Using xml-simple 1.1.9176Using gitlab-license_finder 6.14.2.1177Using gitlab-markup 1.7.1178Using grpc-tools 1.42.0179Using sawyer 0.8.2180Using octokit 4.20.0181Using reverse_markdown 1.4.0182Using licensee 9.14.1183Using method_source 0.9.2184Using msgpack 1.3.3185Using optimist 3.0.1186Using parallel 1.19.2187Using parser 3.0.3.2188Using procto 0.0.3189Using unparser 0.4.7190Using proc_to_ast 0.1.0191Using pry 0.12.2192Using rainbow 3.0.0193Using rbtrace 0.4.14194Using rdoc 6.3.2195Using regexp_parser 1.8.1196Using rspec-support 3.8.0197Using rspec-core 3.8.0198Using rspec-expectations 3.8.3199Using rspec-mocks 3.8.0200Using rspec 3.8.0201Using rspec-parameterized 0.4.2202Using rubocop-ast 0.2.0203Using ruby-progressbar 1.10.1204Using unicode-display_width 1.7.0205Using rubocop 0.86.0206Using sentry-raven 3.0.4207Using timecop 0.9.1208Bundle complete! 22 Gemfile dependencies, 100 gems now installed.209Gems in the groups 'production' and 'development' were not installed.210Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`211Checking gitaly-ruby Gemfile...212Checking gitaly-ruby bundle...213The Gemfile's dependencies are satisfied214Trying to connect to gitaly: ........................................... OK215Trying to connect to gitaly2: ......................................................... OK216Starting Praefect with in-memory election strategyTrying to connect to praefect: ......... OK217==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.218$ source ./scripts/rspec_helpers.sh219$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"220SKIP_FLAKY_TESTS_AUTOMATICALLY: true221RETRY_FAILED_TESTS_IN_NEW_PROCESS: true222KNAPSACK_GENERATE_REPORT: 223FLAKY_RSPEC_GENERATE_REPORT: 224KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,factories,finders,frontend,graphql,haml_lint,helpers,initializers,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,components}{,/**/}*_spec.rb225KNAPSACK_LOG_LEVEL: debug226KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12-as-if-foss_single-db_7_22_report.json227FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json228FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12-as-if-foss_single-db_7_22_report.json229NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12-as-if-foss_single-db_7_22_report.json230SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12-as-if-foss_single-db_7_22_report.txt231RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12-as-if-foss_single-db_7_22_report.txt232CRYSTALBALL: 233Knapsack node specs:234spec/lib/gitlab/usage_data_spec.rb235spec/models/concerns/ci/has_status_spec.rb236spec/models/namespace/traversal_hierarchy_spec.rb237spec/policies/issue_policy_spec.rb238spec/services/users/migrate_to_ghost_user_service_spec.rb239spec/finders/deployments_finder_spec.rb240spec/services/system_notes/issuables_service_spec.rb241spec/lib/gitlab/search_results_spec.rb242spec/models/broadcast_message_spec.rb243spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb244spec/services/alert_management/process_prometheus_alert_service_spec.rb245spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb246spec/serializers/merge_request_widget_entity_spec.rb247spec/lib/banzai/filter/references/user_reference_filter_spec.rb248spec/presenters/project_presenter_spec.rb249spec/models/analytics/cycle_analytics/project_stage_spec.rb250spec/lib/service_ping/build_payload_spec.rb251spec/models/sent_notification_spec.rb252spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb253spec/lib/gitlab/database/reflection_spec.rb254spec/lib/gitlab/import_export/references_configuration_spec.rb255spec/lib/backup/files_spec.rb256spec/lib/gitlab/background_migration/drop_invalid_security_findings_spec.rb257spec/rubocop/cop/gitlab/mark_used_feature_flags_spec.rb258spec/lib/gitlab/ci/status/factory_spec.rb259spec/models/integrations/every_integration_spec.rb260spec/lib/gitlab/ci/runner/backoff_spec.rb261spec/services/projects/autocomplete_service_spec.rb262spec/uploaders/packages/debian/component_file_uploader_spec.rb263spec/lib/banzai/reference_parser/merge_request_parser_spec.rb264spec/finders/serverless_domain_finder_spec.rb265spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb266spec/models/internal_id_spec.rb267spec/models/concerns/chronic_duration_attribute_spec.rb268spec/services/search/group_service_spec.rb269spec/lib/gitlab/kubernetes/helm/v2/init_command_spec.rb270spec/models/timelog_spec.rb271spec/models/resource_state_event_spec.rb272spec/lib/banzai/filter/external_link_filter_spec.rb273spec/uploaders/ci/pipeline_artifact_uploader_spec.rb274spec/lib/gitlab/ci/build/context/build_spec.rb275spec/finders/environments/environments_by_deployments_finder_spec.rb276spec/graphql/mutations/discussions/toggle_resolve_spec.rb277spec/models/commit_collection_spec.rb278spec/services/metrics/dashboard/dynamic_embed_service_spec.rb279spec/services/ci/create_web_ide_terminal_service_spec.rb280spec/lib/gitlab/suggestions/suggestion_set_spec.rb281spec/models/concerns/discussion_on_diff_spec.rb282spec/models/incident_management/timeline_event_spec.rb283spec/models/ci/build_trace_metadata_spec.rb284spec/graphql/resolvers/container_repositories_resolver_spec.rb285spec/lib/gitlab/ci/status/build/stop_spec.rb286spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb287spec/lib/gitlab/doctor/secrets_spec.rb288spec/models/release_spec.rb289spec/models/packages/debian/group_component_file_spec.rb290spec/lib/gitlab/multi_collection_paginator_spec.rb291spec/lib/gitlab/redis/cache_spec.rb292spec/views/projects/artifacts/_artifact.html.haml_spec.rb293spec/lib/gitlab/jira_import_spec.rb294spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb295spec/lib/gitlab/graphql/pagination/active_record_array_connection_spec.rb296spec/models/projects/import_export/relation_export_spec.rb297spec/models/packages/debian/project_component_file_spec.rb298spec/services/merge_requests/delete_non_latest_diffs_service_spec.rb299spec/services/clusters/gcp/provision_service_spec.rb300spec/services/groups/group_links/destroy_service_spec.rb301spec/serializers/ci/dag_job_entity_spec.rb302spec/lib/banzai/filter/gollum_tags_filter_spec.rb303spec/services/ci/create_pipeline_service/dry_run_spec.rb304spec/models/ci/freeze_period_status_spec.rb305spec/models/merge_request_assignee_spec.rb306spec/services/pages/zip_directory_service_spec.rb307spec/lib/gitlab/git/rugged_impl/use_rugged_spec.rb308spec/models/clusters/agents/activity_event_spec.rb309spec/models/ci/persistent_ref_spec.rb310spec/lib/gitlab/encrypted_configuration_spec.rb311spec/serializers/web_ide_terminal_entity_spec.rb312spec/lib/gitlab/ci/config/entry/image_spec.rb313spec/models/grafana_integration_spec.rb314spec/lib/gitlab/ci/config/entry/variables_spec.rb315spec/workers/auto_devops/disable_worker_spec.rb316spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb317spec/rubocop/cop/migration/safer_boolean_column_spec.rb318spec/graphql/resolvers/project_milestones_resolver_spec.rb319spec/finders/autocomplete/group_finder_spec.rb320spec/workers/concerns/limited_capacity/worker_spec.rb321spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb322spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb323spec/models/concerns/bulk_insert_safe_spec.rb324spec/lib/gitlab/external_authorization/access_spec.rb325spec/config/mail_room_spec.rb326spec/initializers/mail_encoding_patch_spec.rb327spec/services/import/fogbugz_service_spec.rb328spec/models/concerns/ci/has_variable_spec.rb329spec/graphql/types/group_type_spec.rb330spec/lib/gitlab/github_import/importer/note_importer_spec.rb331spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb332spec/lib/gitlab/ci/config/entry/port_spec.rb333spec/services/markdown_content_rewriter_service_spec.rb334spec/views/projects/commit/_commit_box.html.haml_spec.rb335spec/lib/gitlab/usage/metrics/query_spec.rb336spec/finders/packages/package_file_finder_spec.rb337spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb338spec/views/notify/pipeline_failed_email.text.erb_spec.rb339spec/lib/gitlab/external_authorization/client_spec.rb340spec/finders/clusters_finder_spec.rb341spec/lib/bulk_imports/pipeline/context_spec.rb342spec/models/label_link_spec.rb343spec/models/integrations/shimo_spec.rb344spec/lib/gitlab/import_export/repo_restorer_spec.rb345spec/workers/loose_foreign_keys/cleanup_worker_spec.rb346spec/services/notification_recipients/builder/new_note_spec.rb347spec/lib/gitlab/spamcheck/client_spec.rb348spec/services/ide/terminal_config_service_spec.rb349spec/lib/error_tracking/sentry_client/issue_link_spec.rb350spec/models/concerns/ci/has_deployment_name_spec.rb351spec/lib/gitlab/metrics/method_call_spec.rb352spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb353spec/services/ci/job_token_scope/remove_project_service_spec.rb354spec/lib/gitlab/ci/build/policy/variables_spec.rb355spec/lib/gitlab/kubernetes/namespace_spec.rb356spec/graphql/resolvers/group_members/notification_email_resolver_spec.rb357spec/helpers/x509_helper_spec.rb358spec/models/diff_note_position_spec.rb359spec/events/pages/page_deployed_event_spec.rb360spec/lib/system_check/app/authorized_keys_permission_check_spec.rb361spec/graphql/resolvers/user_discussions_count_resolver_spec.rb362spec/services/packages/maven/metadata/append_package_file_service_spec.rb363spec/workers/integrations/irker_worker_spec.rb364spec/workers/merge_request_mergeability_check_worker_spec.rb365spec/scripts/changed-feature-flags_spec.rb366spec/views/projects/commit/show.html.haml_spec.rb367spec/views/projects/issues/_issue.html.haml_spec.rb368spec/lib/gitlab/sanitizers/exception_message_spec.rb369spec/policies/terraform/state_policy_spec.rb370spec/lib/gitlab/kubernetes/node_spec.rb371spec/models/integrations/chat_message/note_message_spec.rb372spec/lib/gitlab/import_formatter_spec.rb373spec/initializers/trusted_proxies_spec.rb374spec/policies/namespaces/project_namespace_policy_spec.rb375spec/helpers/routing/pseudonymization_helper_spec.rb376spec/graphql/resolvers/design_management/version_resolver_spec.rb377spec/services/incident_management/pager_duty/process_webhook_service_spec.rb378spec/lib/gitlab/hook_data/project_builder_spec.rb379spec/services/branches/validate_new_service_spec.rb380spec/lib/gitlab/auth/atlassian/auth_hash_spec.rb381spec/services/notes/resolve_service_spec.rb382spec/lib/banzai/filter/truncate_source_filter_spec.rb383spec/initializers/net_http_patch_spec.rb384spec/lib/gitlab/database/unidirectional_copy_trigger_spec.rb385spec/lib/gitlab/tracking_spec.rb386spec/lib/gitlab/health_checks/redis/redis_check_spec.rb387spec/lib/gitlab/sidekiq_queue_spec.rb388spec/lib/csv_builders/stream_spec.rb389spec/tooling/rspec_flaky/flaky_examples_collection_spec.rb390spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb391spec/finders/license_template_finder_spec.rb392spec/models/blob_viewer/readme_spec.rb393spec/finders/uploader_finder_spec.rb394spec/lib/gitlab/import_export/json/legacy_writer_spec.rb395spec/lib/gitlab/sidekiq_config/cli_methods_spec.rb396spec/serializers/deployment_serializer_spec.rb397spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb398spec/lib/json_web_token/token_spec.rb399spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb400spec/workers/partition_creation_worker_spec.rb401spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb402spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb403spec/graphql/types/projects/jira_service_type_spec.rb404spec/lib/grafana/validator_spec.rb405spec/workers/web_hook_worker_spec.rb406spec/graphql/types/clusters/agent_token_type_spec.rb407spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb408spec/lib/gitlab/health_checks/redis/rate_limiting_check_spec.rb409spec/services/projects/lfs_pointers/lfs_import_service_spec.rb410spec/rubocop/cop/gitlab/rails_logger_spec.rb411spec/lib/gitlab/private_commit_email_spec.rb412spec/lib/api/entities/bulk_imports/export_status_spec.rb413spec/lib/gitlab/usage/service_ping/payload_keys_processor_spec.rb414spec/services/branches/diverging_commit_counts_service_spec.rb415spec/models/performance_monitoring/prometheus_metric_spec.rb416spec/rubocop/cop/qa/ambiguous_page_object_name_spec.rb417spec/lib/gitlab/middleware/memory_report_spec.rb418spec/services/environments/reset_auto_stop_service_spec.rb419spec/lib/gitlab/mailgun/webhook_processors/member_invites_spec.rb420spec/services/terraform/states/trigger_destroy_service_spec.rb421spec/graphql/types/member_interface_spec.rb422spec/lib/gitlab/diff/formatters/text_formatter_spec.rb423spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb424spec/services/ide/base_config_service_spec.rb425spec/lib/gitlab/kubernetes/service_account_spec.rb426spec/rubocop/cop/style/regexp_literal_mixed_preserve_spec.rb427spec/serializers/evidences/project_entity_spec.rb428spec/support_specs/graphql/arguments_spec.rb429spec/finders/issuables/crm_contact_filter_spec.rb430spec/views/dashboard/projects/index.html.haml_spec.rb431spec/lib/gitlab/database/migration_helpers/cascading_namespace_settings_spec.rb432spec/lib/gitlab/discussions_diff/highlight_cache_spec.rb433spec/lib/gitlab/pagination/keyset/cursor_pager_spec.rb434spec/uploaders/content_type_whitelist_spec.rb435spec/lib/peek/views/detailed_view_spec.rb436spec/workers/projects/schedule_refresh_build_artifacts_size_statistics_worker_spec.rb437spec/models/alerting/project_alerting_setting_spec.rb438spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb439spec/lib/gitlab/view/presenter/delegated_spec.rb440spec/views/layouts/nav/sidebar/_profile.html.haml_spec.rb441spec/models/user_agent_detail_spec.rb442spec/models/ci/build_pending_state_spec.rb443spec/lib/gitlab/external_authorization_spec.rb444spec/services/bulk_imports/tree_export_service_spec.rb445spec/lib/gitlab/usage/metrics/instrumentations/count_boards_metric_spec.rb446spec/models/packages/pypi/metadatum_spec.rb447spec/lib/gitlab/dependency_linker/go_sum_linker_spec.rb448spec/lib/gitlab/dependency_linker/podfile_linker_spec.rb449spec/services/projects/forks_count_service_spec.rb450spec/lib/gitlab/database/postgresql_adapter/type_map_cache_spec.rb451spec/models/integrations/pivotaltracker_spec.rb452spec/graphql/types/merge_request_state_enum_spec.rb453spec/lib/service_ping/permit_data_categories_spec.rb454spec/lib/gitlab/word_diff/positions_counter_spec.rb455spec/graphql/types/range_input_type_spec.rb456spec/rubocop/cop/migration/background_migrations_spec.rb457spec/initializers/cookies_serializer_spec.rb458spec/lib/gitlab/gitaly_client/conflict_files_stitcher_spec.rb459spec/lib/gitlab/email/message/in_product_marketing/verify_spec.rb460spec/models/preloaders/commit_status_preloader_spec.rb461spec/graphql/types/todoable_interface_spec.rb462spec/lib/gitlab/database/migration_helpers/loose_foreign_key_helpers_spec.rb463spec/lib/gitlab/middleware/release_env_spec.rb464spec/models/blob_viewer/server_side_spec.rb465spec/models/concerns/from_intersect_spec.rb466spec/graphql/mutations/concerns/mutations/resolves_group_spec.rb467spec/graphql/types/packages/helm/dependency_type_spec.rb468spec/lib/gitlab/kubernetes/role_spec.rb469spec/services/projects/android_target_platform_detector_service_spec.rb470spec/lib/gitlab/app_logger_spec.rb471spec/graphql/types/issuable_sort_enum_spec.rb472spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb473spec/graphql/types/clusters/agent_token_status_enum_spec.rb474spec/graphql/types/access_level_type_spec.rb475spec/lib/gitlab/kubernetes/kubeconfig/entry/user_spec.rb476spec/lib/gitlab/import_export/legacy_relation_tree_saver_spec.rb477spec/lib/api/validations/validators/email_or_email_list_spec.rb478spec/lib/gitlab/etag_caching/router/graphql_spec.rb479spec/lib/bulk_imports/common/extractors/rest_extractor_spec.rb480spec/workers/gitlab/github_import/import_diff_note_worker_spec.rb481spec/rubocop/cop/gitlab/change_timezone_spec.rb482spec/services/users/banned_user_base_service_spec.rb483spec/lib/gitlab/patch/action_cable_redis_listener_spec.rb484spec/initializers/attr_encrypted_thread_safe_spec.rb485spec/policies/concerns/policy_actor_spec.rb486spec/graphql/types/packages/helm/file_metadatum_type_spec.rb487spec/lib/gitlab/ci/status/bridge/waiting_for_resource_spec.rb488spec/workers/todos_destroyer/destroyed_designs_worker_spec.rb489spec/workers/concerns/pipeline_queue_spec.rb490spec/lib/api/entities/nuget/search_result_spec.rb491spec/lib/api/entities/nuget/dependency_spec.rb492Filter specs:493Running specs:494Running all node tests without filter495spec/lib/gitlab/usage_data_spec.rb496spec/models/concerns/ci/has_status_spec.rb497spec/models/namespace/traversal_hierarchy_spec.rb498spec/policies/issue_policy_spec.rb499spec/services/users/migrate_to_ghost_user_service_spec.rb500spec/finders/deployments_finder_spec.rb501spec/services/system_notes/issuables_service_spec.rb502spec/lib/gitlab/search_results_spec.rb503spec/models/broadcast_message_spec.rb504spec/lib/gitlab/ci/parsers/security/validators/schema_validator_spec.rb505spec/services/alert_management/process_prometheus_alert_service_spec.rb506spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb507spec/serializers/merge_request_widget_entity_spec.rb508spec/lib/banzai/filter/references/user_reference_filter_spec.rb509spec/presenters/project_presenter_spec.rb510spec/models/analytics/cycle_analytics/project_stage_spec.rb511spec/lib/service_ping/build_payload_spec.rb512spec/models/sent_notification_spec.rb513spec/lib/gitlab/background_migration/remove_all_trace_expiration_dates_spec.rb514spec/lib/gitlab/database/reflection_spec.rb515spec/lib/gitlab/import_export/references_configuration_spec.rb516spec/lib/backup/files_spec.rb517spec/lib/gitlab/background_migration/drop_invalid_security_findings_spec.rb518spec/rubocop/cop/gitlab/mark_used_feature_flags_spec.rb519spec/lib/gitlab/ci/status/factory_spec.rb520spec/models/integrations/every_integration_spec.rb521spec/lib/gitlab/ci/runner/backoff_spec.rb522spec/services/projects/autocomplete_service_spec.rb523spec/uploaders/packages/debian/component_file_uploader_spec.rb524spec/lib/banzai/reference_parser/merge_request_parser_spec.rb525spec/finders/serverless_domain_finder_spec.rb526spec/lib/gitlab/github_import/importer/pull_request_importer_spec.rb527spec/models/internal_id_spec.rb528spec/models/concerns/chronic_duration_attribute_spec.rb529spec/services/search/group_service_spec.rb530spec/lib/gitlab/kubernetes/helm/v2/init_command_spec.rb531spec/models/timelog_spec.rb532spec/models/resource_state_event_spec.rb533spec/lib/banzai/filter/external_link_filter_spec.rb534spec/uploaders/ci/pipeline_artifact_uploader_spec.rb535spec/lib/gitlab/ci/build/context/build_spec.rb536spec/finders/environments/environments_by_deployments_finder_spec.rb537spec/graphql/mutations/discussions/toggle_resolve_spec.rb538spec/models/commit_collection_spec.rb539spec/services/metrics/dashboard/dynamic_embed_service_spec.rb540spec/services/ci/create_web_ide_terminal_service_spec.rb541spec/lib/gitlab/suggestions/suggestion_set_spec.rb542spec/models/concerns/discussion_on_diff_spec.rb543spec/models/incident_management/timeline_event_spec.rb544spec/models/ci/build_trace_metadata_spec.rb545spec/graphql/resolvers/container_repositories_resolver_spec.rb546spec/lib/gitlab/ci/status/build/stop_spec.rb547spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb548spec/lib/gitlab/doctor/secrets_spec.rb549spec/models/release_spec.rb550spec/models/packages/debian/group_component_file_spec.rb551spec/lib/gitlab/multi_collection_paginator_spec.rb552spec/lib/gitlab/redis/cache_spec.rb553spec/views/projects/artifacts/_artifact.html.haml_spec.rb554spec/lib/gitlab/jira_import_spec.rb555spec/workers/database/ci_project_mirrors_consistency_check_worker_spec.rb556spec/lib/gitlab/graphql/pagination/active_record_array_connection_spec.rb557spec/models/projects/import_export/relation_export_spec.rb558spec/models/packages/debian/project_component_file_spec.rb559spec/services/merge_requests/delete_non_latest_diffs_service_spec.rb560spec/services/clusters/gcp/provision_service_spec.rb561spec/services/groups/group_links/destroy_service_spec.rb562spec/serializers/ci/dag_job_entity_spec.rb563spec/lib/banzai/filter/gollum_tags_filter_spec.rb564spec/services/ci/create_pipeline_service/dry_run_spec.rb565spec/models/ci/freeze_period_status_spec.rb566spec/models/merge_request_assignee_spec.rb567spec/services/pages/zip_directory_service_spec.rb568spec/lib/gitlab/git/rugged_impl/use_rugged_spec.rb569spec/models/clusters/agents/activity_event_spec.rb570spec/models/ci/persistent_ref_spec.rb571spec/lib/gitlab/encrypted_configuration_spec.rb572spec/serializers/web_ide_terminal_entity_spec.rb573spec/lib/gitlab/ci/config/entry/image_spec.rb574spec/models/grafana_integration_spec.rb575spec/lib/gitlab/ci/config/entry/variables_spec.rb576spec/workers/auto_devops/disable_worker_spec.rb577spec/lib/gitlab/import_export/after_export_strategies/web_upload_strategy_spec.rb578spec/rubocop/cop/migration/safer_boolean_column_spec.rb579spec/graphql/resolvers/project_milestones_resolver_spec.rb580spec/finders/autocomplete/group_finder_spec.rb581spec/workers/concerns/limited_capacity/worker_spec.rb582spec/lib/gitlab/graphql/pagination/externally_paginated_array_connection_spec.rb583spec/lib/gitlab/cluster/mixins/puma_cluster_spec.rb584spec/models/concerns/bulk_insert_safe_spec.rb585spec/lib/gitlab/external_authorization/access_spec.rb586spec/config/mail_room_spec.rb587spec/initializers/mail_encoding_patch_spec.rb588spec/services/import/fogbugz_service_spec.rb589spec/models/concerns/ci/has_variable_spec.rb590spec/graphql/types/group_type_spec.rb591spec/lib/gitlab/github_import/importer/note_importer_spec.rb592spec/lib/sidebars/projects/menus/packages_registries_menu_spec.rb593spec/lib/gitlab/ci/config/entry/port_spec.rb594spec/services/markdown_content_rewriter_service_spec.rb595spec/views/projects/commit/_commit_box.html.haml_spec.rb596spec/lib/gitlab/usage/metrics/query_spec.rb597spec/finders/packages/package_file_finder_spec.rb598spec/lib/gitlab/ci/pipeline/chain/sequence_spec.rb599spec/views/notify/pipeline_failed_email.text.erb_spec.rb600spec/lib/gitlab/external_authorization/client_spec.rb601spec/finders/clusters_finder_spec.rb602spec/lib/bulk_imports/pipeline/context_spec.rb603spec/models/label_link_spec.rb604spec/models/integrations/shimo_spec.rb605spec/lib/gitlab/import_export/repo_restorer_spec.rb606spec/workers/loose_foreign_keys/cleanup_worker_spec.rb607spec/services/notification_recipients/builder/new_note_spec.rb608spec/lib/gitlab/spamcheck/client_spec.rb609spec/services/ide/terminal_config_service_spec.rb610spec/lib/error_tracking/sentry_client/issue_link_spec.rb611spec/models/concerns/ci/has_deployment_name_spec.rb612spec/lib/gitlab/metrics/method_call_spec.rb613spec/lib/gitlab/usage/metrics/instrumentations/count_imported_projects_metric_spec.rb614spec/services/ci/job_token_scope/remove_project_service_spec.rb615spec/lib/gitlab/ci/build/policy/variables_spec.rb616spec/lib/gitlab/kubernetes/namespace_spec.rb617spec/graphql/resolvers/group_members/notification_email_resolver_spec.rb618spec/helpers/x509_helper_spec.rb619spec/models/diff_note_position_spec.rb620spec/events/pages/page_deployed_event_spec.rb621spec/lib/system_check/app/authorized_keys_permission_check_spec.rb622spec/graphql/resolvers/user_discussions_count_resolver_spec.rb623spec/services/packages/maven/metadata/append_package_file_service_spec.rb624spec/workers/integrations/irker_worker_spec.rb625spec/workers/merge_request_mergeability_check_worker_spec.rb626spec/scripts/changed-feature-flags_spec.rb627spec/views/projects/commit/show.html.haml_spec.rb628spec/views/projects/issues/_issue.html.haml_spec.rb629spec/lib/gitlab/sanitizers/exception_message_spec.rb630spec/policies/terraform/state_policy_spec.rb631spec/lib/gitlab/kubernetes/node_spec.rb632spec/models/integrations/chat_message/note_message_spec.rb633spec/lib/gitlab/import_formatter_spec.rb634spec/initializers/trusted_proxies_spec.rb635spec/policies/namespaces/project_namespace_policy_spec.rb636spec/helpers/routing/pseudonymization_helper_spec.rb637spec/graphql/resolvers/design_management/version_resolver_spec.rb638spec/services/incident_management/pager_duty/process_webhook_service_spec.rb639spec/lib/gitlab/hook_data/project_builder_spec.rb640spec/services/branches/validate_new_service_spec.rb641spec/lib/gitlab/auth/atlassian/auth_hash_spec.rb642spec/services/notes/resolve_service_spec.rb643spec/lib/banzai/filter/truncate_source_filter_spec.rb644spec/initializers/net_http_patch_spec.rb645spec/lib/gitlab/database/unidirectional_copy_trigger_spec.rb646spec/lib/gitlab/tracking_spec.rb647spec/lib/gitlab/health_checks/redis/redis_check_spec.rb648spec/lib/gitlab/sidekiq_queue_spec.rb649spec/lib/csv_builders/stream_spec.rb650spec/tooling/rspec_flaky/flaky_examples_collection_spec.rb651spec/workers/gitlab/github_import/stage/import_pull_requests_merged_by_worker_spec.rb652spec/finders/license_template_finder_spec.rb653spec/models/blob_viewer/readme_spec.rb654spec/finders/uploader_finder_spec.rb655spec/lib/gitlab/import_export/json/legacy_writer_spec.rb656spec/lib/gitlab/sidekiq_config/cli_methods_spec.rb657spec/serializers/deployment_serializer_spec.rb658spec/lib/bulk_imports/common/extractors/ndjson_extractor_spec.rb659spec/lib/json_web_token/token_spec.rb660spec/lib/sidebars/groups/menus/kubernetes_menu_spec.rb661spec/workers/partition_creation_worker_spec.rb662spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb663spec/services/projects/container_repository/third_party/delete_tags_service_spec.rb664spec/graphql/types/projects/jira_service_type_spec.rb665spec/lib/grafana/validator_spec.rb666spec/workers/web_hook_worker_spec.rb667spec/graphql/types/clusters/agent_token_type_spec.rb668spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb669spec/lib/gitlab/health_checks/redis/rate_limiting_check_spec.rb670spec/services/projects/lfs_pointers/lfs_import_service_spec.rb671spec/rubocop/cop/gitlab/rails_logger_spec.rb672spec/lib/gitlab/private_commit_email_spec.rb673spec/lib/api/entities/bulk_imports/export_status_spec.rb674spec/lib/gitlab/usage/service_ping/payload_keys_processor_spec.rb675spec/services/branches/diverging_commit_counts_service_spec.rb676spec/models/performance_monitoring/prometheus_metric_spec.rb677spec/rubocop/cop/qa/ambiguous_page_object_name_spec.rb678spec/lib/gitlab/middleware/memory_report_spec.rb679spec/services/environments/reset_auto_stop_service_spec.rb680spec/lib/gitlab/mailgun/webhook_processors/member_invites_spec.rb681spec/services/terraform/states/trigger_destroy_service_spec.rb682spec/graphql/types/member_interface_spec.rb683spec/lib/gitlab/diff/formatters/text_formatter_spec.rb684spec/lib/gitlab/database/migrations/observers/total_database_size_change_spec.rb685spec/services/ide/base_config_service_spec.rb686spec/lib/gitlab/kubernetes/service_account_spec.rb687spec/rubocop/cop/style/regexp_literal_mixed_preserve_spec.rb688spec/serializers/evidences/project_entity_spec.rb689spec/support_specs/graphql/arguments_spec.rb690spec/finders/issuables/crm_contact_filter_spec.rb691spec/views/dashboard/projects/index.html.haml_spec.rb692spec/lib/gitlab/database/migration_helpers/cascading_namespace_settings_spec.rb693spec/lib/gitlab/discussions_diff/highlight_cache_spec.rb694spec/lib/gitlab/pagination/keyset/cursor_pager_spec.rb695spec/uploaders/content_type_whitelist_spec.rb696spec/lib/peek/views/detailed_view_spec.rb697spec/workers/projects/schedule_refresh_build_artifacts_size_statistics_worker_spec.rb698spec/models/alerting/project_alerting_setting_spec.rb699spec/services/incident_management/issuable_escalation_statuses/create_service_spec.rb700spec/lib/gitlab/view/presenter/delegated_spec.rbDEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.1.4.7/lib/active_record/connection_adapters/postgresql_adapter.rb:78: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call701/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/pg-1.3.5/lib/pg.rb:68: warning: The called method `connect' is defined here702 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)703Run options: exclude {:quarantine=>true, :level=>"migration"}704Test environment set up in 1.181064944 seconds705Gitlab::UsageData706 .data707 includes basic top and second level keys708/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_MATCH709/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 here710 clears memoized values711 ensures recorded_at is set before any other usage data calculation712 when generating usage ping in critical weeks713/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_MATCH714/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 here715 does not raise error when generated in last week of the year716/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_MATCH717/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 here718 does not raise error when generated in first week of the year719/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_MATCH720/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 here721 does not raise error when generated in second week of the year722/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_MATCH723/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 here724 does not raise error when generated in 3rd week of the year725 usage_activity_by_stage_package726 includes accurate usage_activity_by_stage data727 .usage_activity_by_stage_configure728 includes accurate usage_activity_by_stage data729 usage_activity_by_stage_create730 includes accurate usage_activity_by_stage data731 usage_activity_by_stage_manage732 includes accurate usage_activity_by_stage data733 includes import gmau usage data734 includes imports usage data735 usage_activity_by_stage_monitor736 includes accurate usage_activity_by_stage data737 usage_activity_by_stage_plan738 includes accurate usage_activity_by_stage data739 does not merge the data from instrumentation classes740 usage_activity_by_stage_release741 includes accurate usage_activity_by_stage data742 usage_activity_by_stage_verify743 includes accurate usage_activity_by_stage data744 .data745/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/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_MATCH749/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 here750 gathers usage counts751/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_MATCH752/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 here753 gathers usage counts correctly754/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 gathers object store usage correctly757/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_MATCH758/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 here759 includes a recording_ce_finished_at timestamp760 with existing container expiration policies761/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_MATCH762/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 here763 gathers usage data764 when queries time out765 with should_raise_for_dev? true766 raises an error767 when metric calls find_in_batches768 raises an error for jira_usage769 with should_raise_for_dev? false770/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_MATCH771/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 here772 does not raise an error773 when metric calls find_in_batches774 does not raise an error for jira_usage775 .system_usage_data_monthly776 gathers monthly usage counts correctly777 .runners_usage778 gathers runner usage counts correctly779 .usage_counters780 is expected to include :kubernetes_agent_gitops_sync781 is expected to include :kubernetes_agent_k8s_api_proxy_request782 is expected to include :package_events_i_package_pull_package783 is expected to include :package_events_i_package_delete_package_by_user784 is expected to include :package_events_i_package_conan_push_package785 .usage_data_counters786 is expected to all respond to #totals787 is expected to all respond to #fallback_totals788 does not have any conflicts789 the results of calling #totals on all objects in the array790 is expected to all be a kind of Hash791 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all be a kind of Integer)}792 the results of calling #fallback_totals on all objects in the array793 is expected to all be a kind of Hash794 is expected to all have attributes {:keys => (all be a kind of Symbol), :values => (all eq -1)}795 .license_usage_data796 gathers license data797 when not relying on database records798 .features_usage_data_ce799 gathers feature usage data800 with embedded Prometheus801 returns true when embedded Prometheus is enabled802 returns false when embedded Prometheus is disabled803 with embedded grafana804 returns true when embedded grafana is enabled805 returns false when embedded grafana is disabled806 with Gitpod807 returns true when is enabled808 returns false when is disabled809 .components_usage_data810 gathers basic components usage data811 .object_store_config812 when object_store is not configured813 returns component enable status only814 when object_store is configured815 returns filtered object store config816 when retrieve component setting meets exception817 with should_raise_for_dev? false818 returns -1 for component enable status819 with should_raise_for_dev? true820 raises an error821 .object_store_usage_data822 fetches object store config of five components823 .grafana_embed_usage_data824 with project grafana integration enabled825 with valid and invalid embeds826 counts only the issues with embeds827 with project grafana integration disabled828 with one issue having a grafana link in the description and one without829 behaves like zero count830 does not count the issue831 with an un-integrated project832 with one issue having a grafana link in the description and one without833 behaves like zero count834 does not count the issue835 .operating_system836/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_MATCH837/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 here838 is expected to eq "ubuntu-20.04"839 when on Debian with armv architecture840/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_MATCH841/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 here842 is expected to eq "raspbian-10"843 .system_usage_data_settings844 gathers encrypted secrets usage data845 populates operating system information846 gathers gitaly apdex847 reports collected data categories848 gathers service_ping_features_enabled849 gathers user_cap_feature_enabled850 reports status of the certificate_based_clusters feature flag as true851 with certificate_based_clusters disabled852 reports status of the certificate_based_clusters feature flag as false853 snowplow stats854 gathers snowplow stats855 .merge_requests_users856 returns the distinct count of users using merge requests (via events table) within the specified time period857 #action_monthly_active_users858 returns the distinct count of user actions within the specified time period859 redis_hll_counters860 has all known_events861 .aggregated_metrics_data862 uses ::Gitlab::Usage::Metrics::Aggregates::Aggregate methods863 .service_desk_counts864 gathers Service Desk data865 .email_campaign_counts866 when queries time out867 with should_raise_for_dev? true868 raises an error869 with should_raise_for_dev? false870 returns -1 for email campaign data871 when there are entries872 gathers email campaign data873 .with_duration874 with feature flag measure_service_ping_metric_collection turned off875 does NOT record duration and return block response876 with feature flag measure_service_ping_metric_collection turned off877 records duration878 on Gitlab.com879 .system_usage_data880 returns fallback value for disabled metrics881Ci::HasStatus882 .composite_status883 ci build statuses884 behaves like build status summary885 all successful886 is expected to eq "success"887 at least one failed888 is expected to eq "failed"889 at least one running890 is expected to eq "running"891 at least one pending892 is expected to eq "running"893 all waiting for resource894 is expected to eq "waiting_for_resource"895 at least one waiting for resource896 is expected to eq "waiting_for_resource"897 all preparing898 is expected to eq "preparing"899 at least one preparing900 is expected to eq "preparing"901 success and failed but allowed to fail902 is expected to eq "success"903 one failed but allowed to fail904 is expected to eq "success"905 success and canceled906 is expected to eq "canceled"907 one failed and one canceled908 is expected to eq "failed"909 one failed but allowed to fail and one canceled910 is expected to eq "canceled"911 one running one canceled912 is expected to eq "running"913 all canceled914 is expected to eq "canceled"915 success and canceled but allowed to fail916 is expected to eq "success"917 one finished and second running but allowed to fail918 is expected to eq "running"919 when one status finished and second is still created920 is expected to eq "running"921 when there is a manual status before created status922 is expected to eq "manual"923 when one status is a blocking manual action924 is expected to eq "manual"925 when one status is a non-blocking manual action926 is expected to eq "failed"927 generic commit statuses928 behaves like build status summary929 all successful930 is expected to eq "success"931 at least one failed932 is expected to eq "failed"933 at least one running934 is expected to eq "running"935 at least one pending936 is expected to eq "running"937 all waiting for resource938 is expected to eq "waiting_for_resource"939 at least one waiting for resource940 is expected to eq "waiting_for_resource"941 all preparing942 is expected to eq "preparing"943 at least one preparing944 is expected to eq "preparing"945 success and failed but allowed to fail946 is expected to eq "success"947 one failed but allowed to fail948 is expected to eq "success"949 success and canceled950 is expected to eq "canceled"951 one failed and one canceled952 is expected to eq "failed"953 one failed but allowed to fail and one canceled954 is expected to eq "canceled"955 one running one canceled956 is expected to eq "running"957 all canceled958 is expected to eq "canceled"959 success and canceled but allowed to fail960 is expected to eq "success"961 one finished and second running but allowed to fail962 is expected to eq "running"963 when one status finished and second is still created964 is expected to eq "running"965 when there is a manual status before created status966 is expected to eq "manual"967 when one status is a blocking manual action968 is expected to eq "manual"969 when one status is a non-blocking manual action970 is expected to eq "failed"971 for scope with one status972 behaves like having a job973 when it's created ci_build job974 .created975 contains the job976 .relevant977 contains nothing978 when it's created generic_commit_status job979 .created980 contains the job981 .relevant982 contains nothing983 behaves like having a job984 when it's waiting_for_resource ci_build job985 .waiting_for_resource986 contains the job987 .relevant988 contains the job989 when it's waiting_for_resource generic_commit_status job990 .waiting_for_resource991 contains the job992 .relevant993 contains the job994 behaves like having a job995 when it's preparing ci_build job996 .preparing997 contains the job998 .relevant999 contains the job1000 when it's preparing generic_commit_status job1001 .preparing1002 contains the job1003 .relevant1004 contains the job1005 behaves like having a job1006 when it's running ci_build job1007 .running1008 contains the job1009 .relevant1010 contains the job1011 when it's running generic_commit_status job1012 .running1013 contains the job1014 .relevant1015 contains the job1016 behaves like having a job1017 when it's pending ci_build job1018 .pending1019 contains the job1020 .relevant1021 contains the job1022 when it's pending generic_commit_status job1023 .pending1024 contains the job1025 .relevant1026 contains the job1027 behaves like having a job1028 when it's success ci_build job1029 .success1030 contains the job1031 .relevant1032 contains the job1033 when it's success generic_commit_status job1034 .success1035 contains the job1036 .relevant1037 contains the job1038 behaves like having a job1039 when it's failed ci_build job1040 .failed1041 contains the job1042 .relevant1043 contains the job1044 when it's failed generic_commit_status job1045 .failed1046 contains the job1047 .relevant1048 contains the job1049 behaves like having a job1050 when it's canceled ci_build job1051 .canceled1052 contains the job1053 .relevant1054 contains the job1055 when it's canceled generic_commit_status job1056 .canceled1057 contains the job1058 .relevant1059 contains the job1060 behaves like having a job1061 when it's skipped ci_build job1062 .skipped1063 contains the job1064 .relevant1065 contains the job1066 when it's skipped generic_commit_status job1067 .skipped1068 contains the job1069 .relevant1070 contains the job1071 for scope with more statuses1072 .running_or_pending1073 behaves like containing the job1074 when it's running ci_build job1075 contains the job1076 when it's running generic_commit_status job1077 contains the job1078 behaves like containing the job1079 when it's pending ci_build job1080 contains the job1081 when it's pending generic_commit_status job1082 contains the job1083 behaves like not containing the job1084 when it's created ci_build job1085 contains nothing1086 when it's created generic_commit_status job1087 contains nothing1088 behaves like not containing the job1089 when it's failed ci_build job1090 contains nothing1091 when it's failed generic_commit_status job1092 contains nothing1093 behaves like not containing the job1094 when it's success ci_build job1095 contains nothing1096 when it's success generic_commit_status job1097 contains nothing1098 .alive1099 behaves like containing the job1100 when it's running ci_build job1101 contains the job1102 when it's running generic_commit_status job1103 contains the job1104 behaves like containing the job1105 when it's pending ci_build job1106 contains the job1107 when it's pending generic_commit_status job1108 contains the job1109 behaves like containing the job1110 when it's waiting_for_resource ci_build job1111 contains the job1112 when it's waiting_for_resource generic_commit_status job1113 contains the job1114 behaves like containing the job1115 when it's preparing ci_build job1116 contains the job1117 when it's preparing generic_commit_status job1118 contains the job1119 behaves like containing the job1120 when it's created ci_build job1121 contains the job1122 when it's created generic_commit_status job1123 contains the job1124 behaves like not containing the job1125 when it's failed ci_build job1126 contains nothing1127 when it's failed generic_commit_status job1128 contains nothing1129 behaves like not containing the job1130 when it's success ci_build job1131 contains nothing1132 when it's success generic_commit_status job1133 contains nothing1134 .alive_or_scheduled1135 behaves like containing the job1136 when it's running ci_build job1137 contains the job1138 when it's running generic_commit_status job1139 contains the job1140 behaves like containing the job1141 when it's pending ci_build job1142 contains the job1143 when it's pending generic_commit_status job1144 contains the job1145 behaves like containing the job1146 when it's waiting_for_resource ci_build job1147 contains the job1148 when it's waiting_for_resource generic_commit_status job1149 contains the job1150 behaves like containing the job1151 when it's preparing ci_build job1152 contains the job1153 when it's preparing generic_commit_status job1154 contains the job1155 behaves like containing the job1156 when it's created ci_build job1157 contains the job1158 when it's created generic_commit_status job1159 contains the job1160 behaves like containing the job1161 when it's scheduled ci_build job1162 contains the job1163 when it's scheduled generic_commit_status job1164 contains the job1165 behaves like not containing the job1166 when it's failed ci_build job1167 contains nothing1168 when it's failed generic_commit_status job1169 contains nothing1170 behaves like not containing the job1171 when it's success ci_build job1172 contains nothing1173 when it's success generic_commit_status job1174 contains nothing1175 behaves like not containing the job1176 when it's canceled ci_build job1177 contains nothing1178 when it's canceled generic_commit_status job1179 contains nothing1180 behaves like not containing the job1181 when it's skipped ci_build job1182 contains nothing1183 when it's skipped generic_commit_status job1184 contains nothing1185 .created_or_pending1186 behaves like containing the job1187 when it's created ci_build job1188 contains the job1189 when it's created generic_commit_status job1190 contains the job1191 behaves like containing the job1192 when it's pending ci_build job1193 contains the job1194 when it's pending generic_commit_status job1195 contains the job1196 behaves like not containing the job1197 when it's running ci_build job1198 contains nothing1199 when it's running generic_commit_status job1200 contains nothing1201 behaves like not containing the job1202 when it's failed ci_build job1203 contains nothing1204 when it's failed generic_commit_status job1205 contains nothing1206 behaves like not containing the job1207 when it's success ci_build job1208 contains nothing1209 when it's success generic_commit_status job1210 contains nothing1211 .finished1212 behaves like containing the job1213 when it's success ci_build job1214 contains the job1215 when it's success generic_commit_status job1216 contains the job1217 behaves like containing the job1218 when it's failed ci_build job1219 contains the job1220 when it's failed generic_commit_status job1221 contains the job1222 behaves like containing the job1223 when it's canceled ci_build job1224 contains the job1225 when it's canceled generic_commit_status job1226 contains the job1227 behaves like not containing the job1228 when it's created ci_build job1229 contains nothing1230 when it's created generic_commit_status job1231 contains nothing1232 behaves like not containing the job1233 when it's running ci_build job1234 contains nothing1235 when it's running generic_commit_status job1236 contains nothing1237 behaves like not containing the job1238 when it's pending ci_build job1239 contains nothing1240 when it's pending generic_commit_status job1241 contains nothing1242 .cancelable1243 behaves like containing the job1244 when it's running ci_build job1245 contains the job1246 when it's running generic_commit_status job1247 contains the job1248 behaves like containing the job1249 when it's pending ci_build job1250 contains the job1251 when it's pending generic_commit_status job1252 contains the job1253 behaves like containing the job1254 when it's waiting_for_resource ci_build job1255 contains the job1256 when it's waiting_for_resource generic_commit_status job1257 contains the job1258 behaves like containing the job1259 when it's preparing ci_build job1260 contains the job1261 when it's preparing generic_commit_status job1262 contains the job1263 behaves like containing the job1264 when it's created ci_build job1265 contains the job1266 when it's created generic_commit_status job1267 contains the job1268 behaves like containing the job1269 when it's scheduled ci_build job1270 contains the job1271 when it's scheduled generic_commit_status job1272 contains the job1273 behaves like not containing the job1274 when it's failed ci_build job1275 contains nothing1276 when it's failed generic_commit_status job1277 contains nothing1278 behaves like not containing the job1279 when it's success ci_build job1280 contains nothing1281 when it's success generic_commit_status job1282 contains nothing1283 behaves like not containing the job1284 when it's skipped ci_build job1285 contains nothing1286 when it's skipped generic_commit_status job1287 contains nothing1288 behaves like not containing the job1289 when it's canceled ci_build job1290 contains nothing1291 when it's canceled generic_commit_status job1292 contains nothing1293 behaves like not containing the job1294 when it's manual ci_build job1295 contains nothing1296 when it's manual generic_commit_status job1297 contains nothing1298 .manual1299 behaves like containing the job1300 when it's manual ci_build job1301 contains the job1302 when it's manual generic_commit_status job1303 contains the job1304 behaves like not containing the job1305 when it's failed ci_build job1306 contains nothing1307 when it's failed generic_commit_status job1308 contains nothing1309 behaves like not containing the job1310 when it's success ci_build job1311 contains nothing1312 when it's success generic_commit_status job1313 contains nothing1314 behaves like not containing the job1315 when it's skipped ci_build job1316 contains nothing1317 when it's skipped generic_commit_status job1318 contains nothing1319 behaves like not containing the job1320 when it's canceled ci_build job1321 contains nothing1322 when it's canceled generic_commit_status job1323 contains nothing1324 .scheduled1325 behaves like containing the job1326 when it's scheduled ci_build job1327 contains the job1328 when it's scheduled generic_commit_status job1329 contains the job1330 behaves like not containing the job1331 when it's failed ci_build job1332 contains nothing1333 when it's failed generic_commit_status job1334 contains nothing1335 behaves like not containing the job1336 when it's success ci_build job1337 contains nothing1338 when it's success generic_commit_status job1339 contains nothing1340 behaves like not containing the job1341 when it's skipped ci_build job1342 contains nothing1343 when it's skipped generic_commit_status job1344 contains nothing1345 behaves like not containing the job1346 when it's canceled ci_build job1347 contains nothing1348 when it's canceled generic_commit_status job1349 contains nothing1350 .complete1351 behaves like containing the job1352 when it's success ci_build job1353 contains the job1354 when it's success generic_commit_status job1355 contains the job1356 behaves like containing the job1357 when it's failed ci_build job1358 contains the job1359 when it's failed generic_commit_status job1360 contains the job1361 behaves like containing the job1362 when it's canceled ci_build job1363 contains the job1364 when it's canceled generic_commit_status job1365 contains the job1366 behaves like containing the job1367 when it's skipped ci_build job1368 contains the job1369 when it's skipped generic_commit_status job1370 contains the job1371 behaves like not containing the job1372 when it's waiting_for_resource ci_build job1373 contains nothing1374 when it's waiting_for_resource generic_commit_status job1375 contains nothing1376 behaves like not containing the job1377 when it's preparing ci_build job1378 contains nothing1379 when it's preparing generic_commit_status job1380 contains nothing1381 behaves like not containing the job1382 when it's pending ci_build job1383 contains nothing1384 when it's pending generic_commit_status job1385 contains nothing1386 behaves like not containing the job1387 when it's running ci_build job1388 contains nothing1389 when it's running generic_commit_status job1390 contains nothing1391 .waiting_for_resource_or_upcoming1392 behaves like containing the job1393 when it's created ci_build job1394 contains the job1395 when it's created generic_commit_status job1396 contains the job1397 behaves like containing the job1398 when it's scheduled ci_build job1399 contains the job1400 when it's scheduled generic_commit_status job1401 contains the job1402 behaves like containing the job1403 when it's waiting_for_resource ci_build job1404 contains the job1405 when it's waiting_for_resource generic_commit_status job1406 contains the job1407 behaves like not containing the job1408 when it's running ci_build job1409 contains nothing1410 when it's running generic_commit_status job1411 contains nothing1412 behaves like not containing the job1413 when it's failed ci_build job1414 contains nothing1415 when it's failed generic_commit_status job1416 contains nothing1417 behaves like not containing the job1418 when it's success ci_build job1419 contains nothing1420 when it's success generic_commit_status job1421 contains nothing1422 behaves like not containing the job1423 when it's canceled ci_build job1424 contains nothing1425 when it's canceled generic_commit_status job1426 contains nothing1427 ::DEFAULT_STATUS1428 is a status created1429 ::BLOCKED_STATUS1430 is a status manual1431 blocked?1432 when status is scheduled1433 is expected to be truthy1434 when status is manual1435 is expected to be truthy1436 when status is created1437 is expected to be falsy1438 when status is scheduled1439 is expected to be truthy1440 when status is manual1441 is expected to be truthy1442 when status is created1443 is expected to be falsy1444 when status is scheduled1445 is expected to be truthy1446 when status is manual1447 is expected to be truthy1448 when status is created1449 is expected to be falsy1450 when status is scheduled1451 is expected to be truthy1452 when status is manual1453 is expected to be truthy1454 when status is created1455 is expected to be falsy1456Namespace::TraversalHierarchy1457 .for_namespace1458 with root group1459 is expected to eq #<Group id:1118 @group43>1460 with child group1461 is expected to eq #<Group id:1203 @group128>1462 with group outside of hierarchy1463 is expected not to eq #<Group id:1288 @group213>1464 .new1465 with root group1466 is expected to eq #<Group id:1374 @group299>1467 with child group1468 is expected to raise StandardError with "Must specify a root node"1469 #incorrect_traversal_ids1470 is expected to contain exactly #<Group id:1602 @group469/group512/group523/group527>, #<Group id:1603 @group469/group512/group528>, #<Group id:1604 @group469/group512/group528/group529>, #<Group id:1605 @group469/group512/group528/group530>, #<Group id:1606 @group469/group512/group528/group531>, #<Group id:1607 @group469/group512/group528/group532>, #<Group id:1608 @group469/group533>, #<Group id:1609 @group469/group533/group534>, #<Group id:1610 @group469/group533/group534/group535>, #<Group id:1611 @group469/group533/group534/group536>, #<Group id:1612 @group469/group533/group534/group537>, #<Group id:1613 @group469/group533/group534/group538>, #<Group id:1614 @group469/group533/group539>, #<Group id:1615 @group469/group533/group539/group540>, #<Group id:1616 @group469/group533/group539/group541>, #<Group id:1617 @group469/group533/group539/group542>, #<Group id:1618 @group469/group533/group539/group543>, #<Group id:1619 @group469/group533/group544>, #<Group id:1620 @group469/group533/group544/group545>, #<Group id:1621 @group469/group533/group544/group546>, #<Group id:1622 @group469/group533/group544/group547>, #<Group id:1623 @group469/group533/group544/group548>, #<Group id:1624 @group469/group533/group549>, #<Group id:1625 @group469/group533/group549/group550>, #<Group id:1626 @group469/group533/group549/group551>, #<Group id:1627 @group469/group533/group549/group552>, #<Group id:1628 @group469/group533/group549/group553>, #<Group id:1544 @group469>, #<Group id:1545 @group469/group470>, #<Group id:1546 @group469/group470/group471>, #<Group id:1547 @group469/group470/group471/group472>, #<Group id:1548 @group469/group470/group471/group473>, #<Group id:1549 @group469/group470/group471/group474>, #<Group id:1550 @group469/group470/group471/group475>, #<Group id:1551 @group469/group470/group476>, #<Group id:1552 @group469/group470/group476/group477>, #<Group id:1553 @group469/group470/group476/group478>, #<Group id:1554 @group469/group470/group476/group479>, #<Group id:1555 @group469/group470/group476/group480>, #<Group id:1556 @group469/group470/group481>, #<Group id:1557 @group469/group470/group481/group482>, #<Group id:1558 @group469/group470/group481/group483>, #<Group id:1559 @group469/group470/group481/group484>, #<Group id:1560 @group469/group470/group481/group485>, #<Group id:1561 @group469/group470/group486>, #<Group id:1562 @group469/group470/group486/group487>, #<Group id:1563 @group469/group470/group486/group488>, #<Group id:1564 @group469/group470/group486/group489>, #<Group id:1565 @group469/group470/group486/group490>, #<Group id:1566 @group469/group491>, #<Group id:1567 @group469/group491/group492>, #<Group id:1568 @group469/group491/group492/group493>, #<Group id:1569 @group469/group491/group492/group494>, #<Group id:1570 @group469/group491/group492/group495>, #<Group id:1571 @group469/group491/group492/group496>, #<Group id:1572 @group469/group491/group497>, #<Group id:1573 @group469/group491/group497/group498>, #<Group id:1574 @group469/group491/group497/group499>, #<Group id:1575 @group469/group491/group497/group500>, #<Group id:1576 @group469/group491/group497/group501>, #<Group id:1577 @group469/group491/group502>, #<Group id:1578 @group469/group491/group502/group503>, #<Group id:1579 @group469/group491/group502/group504>, #<Group id:1580 @group469/group491/group502/group505>, #<Group id:1581 @group469/group491/group502/group506>, #<Group id:1582 @group469/group491/group507>, #<Group id:1583 @group469/group491/group507/group508>, #<Group id:1584 @group469/group491/group507/group509>, #<Group id:1585 @group469/group491/group507/group510>, #<Group id:1586 @group469/group491/group507/group511>, #<Group id:1587 @group469/group512>, #<Group id:1588 @group469/group512/group513>, #<Group id:1589 @group469/group512/group513/group514>, #<Group id:1590 @group469/group512/group513/group515>, #<Group id:1591 @group469/group512/group513/group516>, #<Group id:1592 @group469/group512/group513/group517>, #<Group id:1593 @group469/group512/group518>, #<Group id:1594 @group469/group512/group518/group519>, #<Group id:1595 @group469/group512/group518/group520>, #<Group id:1596 @group469/group512/group518/group521>, #<Group id:1597 @group469/group512/group518/group522>, #<Group id:1598 @group469/group512/group523>, #<Group id:1599 @group469/group512/group523/group524>, #<Group id:1600 @group469/group512/group523/group525>, and #<Group id:1601 @group469/group512/group523/group526>1471 #sync_traversal_ids!1472 is expected to be empty1473 behaves like hierarchy with traversal_ids1474 will be valid1475 behaves like locked row1476 has locked row1477 when deadlocked1478 is expected to raise ActiveRecord::Deadlocked1479 increment db_deadlock counter1480IssuePolicy1481 a private project1482 allows guests to read issues1483 allows reporters to read, update, and admin issues1484 allows reporters from group links to read, update, and admin issues1485 allows issue authors to read and update their issues1486 allows issue assignees to read and update their issues1487 does not allow non-members to read, update or create issues1488 behaves like alert bot1489 allows alert_bot to read and set metadata on issues1490 behaves like support bot with service desk disabled1491 does not allow support_bot to read issues, create and set metadata on new issues1492 behaves like support bot with service desk enabled1493 allows support_bot to read issues, create and set metadata on new issues1494 with confidential issues1495 does not allow non-members to read confidential issues1496 does not allow guests to read confidential issues1497 allows reporters to read, update, and admin confidential issues1498 allows reporters from group links to read, update, and admin confidential issues1499 allows issue authors to read and update their confidential issues1500 does not allow issue author to read or update confidential issue moved to an private project1501 allows issue assignees to read and update their confidential issues1502 does not allow issue assignees to read or update confidential issue moved to an private project1503 a public project1504 does not allow anonymous user to create todos1505 allows guests to read issues1506 allows reporters to read, update, reopen, and admin issues1507 allows reporters from group links to read, update, reopen and admin issues1508 allows issue authors to read, reopen and update their issues1509 allows issue assignees to read, reopen and update their issues1510 allows non-members to read and create issues1511 allows non-members to read issues1512 does not allow non-members to update, admin or set metadata except for set confidential flag1513 allows support_bot to read issues1514 behaves like alert bot1515 allows alert_bot to read and set metadata on issues1516 behaves like support bot with service desk enabled1517 allows support_bot to read issues, create and set metadata on new issues1518 when issues are private1519 forbids visitors from viewing issues1520 forbids visitors from commenting1521 forbids visitors from subscribing1522 allows guests to view1523 allows guests to comment1524 allows guests to subscribe1525 does not allow non-members to update or create issues1526 when admin mode is enabled1527 allows admins to view1528 allows admins to comment1529 when admin mode is disabled1530 forbids admins to view1531 forbids admins to comment1532 behaves like alert bot1533 allows alert_bot to read and set metadata on issues1534 behaves like support bot with service desk disabled1535 does not allow support_bot to read issues, create and set metadata on new issues1536 behaves like support bot with service desk enabled1537 allows support_bot to read issues, create and set metadata on new issues1538 with confidential issues1539 does not allow guests to read confidential issues1540 allows reporters to read, update, and admin confidential issues1541 allows reporter from group links to read, update, and admin confidential issues1542 allows issue authors to read and update their confidential issues1543 allows issue assignees to read and update their confidential issues1544 with a hidden issue1545 does not allow non-admin user to read the issue1546 allows admin to read the issue1547 with external authorization enabled1548 can read the issue iid without accessing the external service1549 crm permissions1550 when project reporter1551 is disallowed1552 when subgroup reporter1553 is allowed1554 when root group reporter1555 is allowed1556 when crm disabled on subgroup1557 is disallowed1558 when peronsal namespace1559 is disallowed1560Users::MigrateToGhostUserService1561 migrating a user's associated records to the ghost user1562 issues1563 deleted user is present as both author and edited_user1564 for a issue the user has created1565 does not delete the issue1566 blocks the user before migrating issues to the 'Ghost User'1567 migrates all associated fields to the "Ghost user"1568 will only migrate specific records during a hard_delete1569 race conditions1570 blocks the user before issue migration begins1571 when issue migration fails and is rolled back1572 rolls back the user block1573 doesn't unblock a previously-blocked user1574 deleted user is present only as edited_user1575 for a issue the user has created1576 does not delete the issue1577 blocks the user before migrating issues to the 'Ghost User'1578 migrates all associated fields to the "Ghost user"1579 will only migrate specific records during a hard_delete1580 race conditions1581 blocks the user before issue migration begins1582 when issue migration fails and is rolled back1583 rolls back the user block1584 doesn't unblock a previously-blocked user1585 merge requests1586 deleted user is present as both author and merge_user1587 for a merge request the user has created1588 does not delete the merge request1589 blocks the user before migrating merge requests to the 'Ghost User'1590 migrates all associated fields to the "Ghost user"1591 will only migrate specific records during a hard_delete1592 race conditions1593 blocks the user before merge request migration begins1594 when merge request migration fails and is rolled back1595 rolls back the user block1596 doesn't unblock a previously-blocked user1597 deleted user is present only as both merge_user1598 for a merge request the user has created1599 does not delete the merge request1600 blocks the user before migrating merge requests to the 'Ghost User'1601 migrates all associated fields to the "Ghost user"1602 will only migrate specific records during a hard_delete1603 race conditions1604 blocks the user before merge request migration begins1605 when merge request migration fails and is rolled back1606 rolls back the user block1607 doesn't unblock a previously-blocked user1608 notes1609 for a note the user has created1610 does not delete the note1611 blocks the user before migrating notes to the 'Ghost User'1612 migrates all associated fields to the "Ghost user"1613 will only migrate specific records during a hard_delete1614 race conditions1615 blocks the user before note migration begins1616 when note migration fails and is rolled back1617 rolls back the user block1618 doesn't unblock a previously-blocked user1619 abuse reports1620 for a abuse report the user has created1621 does not delete the abuse report1622 blocks the user before migrating abuse reports to the 'Ghost User'1623 migrates all associated fields to the "Ghost user"1624 will only migrate specific records during a hard_delete1625 race conditions1626 blocks the user before abuse report migration begins1627 when abuse report migration fails and is rolled back1628 rolls back the user block1629 doesn't unblock a previously-blocked user1630 award emoji1631 for a award emoji the user has created1632 does not delete the award emoji1633 blocks the user before migrating award emojis to the 'Ghost User'1634 migrates all associated fields to the "Ghost user"1635 will only migrate specific records during a hard_delete1636 race conditions1637 blocks the user before award emoji migration begins1638 when award emoji migration fails and is rolled back1639 rolls back the user block1640 doesn't unblock a previously-blocked user1641 when the awardable already has an award emoji of the same name assigned to the ghost user1642 migrates the award emoji regardless1643 does not leave the migrated award emoji in an invalid state1644 snippets1645 for a snippet the user has created1646 does not delete the snippet1647 blocks the user before migrating snippets to the 'Ghost User'1648 migrates all associated fields to the "Ghost user"1649 will only migrate specific records during a hard_delete1650 race conditions1651 blocks the user before snippet migration begins1652 when snippet migration fails and is rolled back1653 rolls back the user block1654 doesn't unblock a previously-blocked user1655 reviews1656 for a review the user has created1657 does not delete the review1658 blocks the user before migrating reviews to the 'Ghost User'1659 migrates all associated fields to the "Ghost user"1660 will only migrate specific records during a hard_delete1661 race conditions1662 blocks the user before review migration begins1663 when review migration fails and is rolled back1664 rolls back the user block1665 doesn't unblock a previously-blocked user1666DeploymentsFinder1667 validation1668 when both updated_at and finished_at filters are specified1669 raises an error1670 when updated_at filter and id sorting1671 raises an error1672 when finished_at filter and id sorting1673 raises an error1674 when finished_at filter with failed status filter1675 raises an error1676 when environment filter with non-project scope1677 raises an error1678 #execute1679 when project or group is missing1680 returns nothing1681 at project scope1682 filtering1683 when updated_at filters are specified1684 returns deployments with matched updated_at1685 when the environment name is specified1686 returns deployments for the given environment1687 when the deployment status is specified1688 returns deployments for the given environment1689 when using an invalid deployment status1690 raises ArgumentError1691 ordering1692 order_by: "created_at", sort: "asc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]1693 returns the deployments ordered1694 order_by: "created_at", sort: "desc", ordered_deployments: [:deployment_3, :deployment_2, :deployment_1]1695 returns the deployments ordered1696 order_by: "id", sort: "asc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]1697 returns the deployments ordered1698 order_by: "id", sort: "desc", ordered_deployments: [:deployment_3, :deployment_2, :deployment_1]1699 returns the deployments ordered1700 order_by: "iid", sort: "asc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]1701 returns the deployments ordered1702 order_by: "iid", sort: "desc", ordered_deployments: [:deployment_3, :deployment_2, :deployment_1]1703 returns the deployments ordered1704 order_by: "ref", sort: "asc", ordered_deployments: [:deployment_2, :deployment_1, :deployment_3]1705 returns the deployments ordered1706 order_by: "ref", sort: "desc", ordered_deployments: [:deployment_3, :deployment_1, :deployment_2]1707 returns the deployments ordered1708 order_by: "updated_at", sort: "asc", ordered_deployments: DeploymentsFinder::InefficientQueryError1709 returns the deployments ordered1710 order_by: "updated_at", sort: "desc", ordered_deployments: DeploymentsFinder::InefficientQueryError1711 returns the deployments ordered1712 order_by: "finished_at", sort: "asc", ordered_deployments: DeploymentsFinder::InefficientQueryError1713 returns the deployments ordered1714 order_by: "finished_at", sort: "desc", ordered_deployments: DeploymentsFinder::InefficientQueryError1715 returns the deployments ordered1716 order_by: "invalid", sort: "asc", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]1717 returns the deployments ordered1718 order_by: "iid", sort: "err", ordered_deployments: [:deployment_1, :deployment_2, :deployment_3]1719 returns the deployments ordered1720 transform `created_at` sorting to `id` sorting1721 sorts by only one column1722 sorts by `id`1723 transform `iid` sorting to `id` sorting1724 sorts by only one column1725 sorts by `id`1726 tie-breaker for `updated_at` sorting1727 sorts by two columns1728 adds `id` sorting as the second order column1729 uses the `id ASC` as tie-breaker when ordering1730 when sort direction is desc1731 uses the `id DESC` as tie-breaker when ordering1732 enforce sorting to `updated_at` sorting1733 sorts by only one column1734 sorts by `updated_at`1735 when filtering by finished time1736 when filtering by finished_after and finished_before1737 is expected to contain exactly #<Deployment id: 105, iid: 1, project_id: 571, environment_id: 102, ref: "master", tag: false, sha: "...hed_at: "2022-07-02 07:28:00.184415161 +0000", cluster_id: nil, deployable_id: 425, archived: false>1738 when the finished_before parameter is missing1739 is expected to contain exactly #<Deployment id: 108, iid: 1, project_id: 571, environment_id: 105, ref: "master", tag: false, sha: "...hed_at: "2022-07-02 07:28:02.973776853 +0000", cluster_id: nil, deployable_id: 428, archived: false> and #<Deployment id: 110, iid: 3, project_id: 571, environment_id: 107, ref: "master", tag: false, sha: "...hed_at: "2022-07-04 02:28:04.755698136 +0000", cluster_id: nil, deployable_id: 430, archived: false>1740 when finished_after is missing1741 is expected to contain exactly #<Deployment id: 112, iid: 2, project_id: 571, environment_id: 109, ref: "master", tag: false, sha: "...hed_at: "2022-06-30 07:28:06.977782058 +0000", cluster_id: nil, deployable_id: 432, archived: false>1742 at group scope1743 avoids N+1 queries1744 ordering1745 order_by: "created_at", sort: "asc"1746 returns the deployments unordered1747 order_by: "created_at", sort: "desc"1748 returns the deployments unordered1749 order_by: "id", sort: "asc"1750 returns the deployments unordered1751 order_by: "id", sort: "desc"1752 returns the deployments unordered1753 order_by: "iid", sort: "asc"1754 returns the deployments unordered1755 order_by: "iid", sort: "desc"1756 returns the deployments unordered1757 order_by: "ref", sort: "asc"1758 returns the deployments unordered1759 order_by: "ref", sort: "desc"1760 returns the deployments unordered1761 order_by: "invalid", sort: "asc"1762 returns the deployments unordered1763 order_by: "iid", sort: "err"1764 returns the deployments unordered1765SystemNotes::IssuablesService1766 #relate_issuable1767 behaves like a system note1768 has the correct attributes1769 when issue marks another as related1770 sets the note text1771 #unrelate_issuable1772 behaves like a system note1773 has the correct attributes1774 when issue relation is removed1775 sets the note text1776 #change_assignee1777 behaves like a system note1778 has the correct attributes1779 when assignee added1780 sets the note text1781 behaves like a note with overridable created_at1782 the note has the correct time1783 when assignee removed1784 sets the note text1785 behaves like a note with overridable created_at1786 the note has the correct time1787 #change_issuable_assignees1788 builds a correct phrase when an assignee is added to a non-assigned issue1789 builds a correct phrase when assignee removed1790 builds a correct phrase when assignees changed1791 builds a correct phrase when three assignees removed and one added1792 builds a correct phrase when one assignee changed from a set1793 builds a correct phrase when one assignee removed from a set1794 builds a correct phrase when the locale is different1795 behaves like a system note1796 has the correct attributes1797 behaves like a note with overridable created_at1798 the note has the correct time1799 #change_issuable_reviewers1800 builds a correct phrase when a reviewer is added to a non-assigned merge request1801 builds a correct phrase when reviewer is removed1802 builds a correct phrase when reviewers changed1803 builds a correct phrase when three reviewers removed and one added1804 builds a correct phrase when one reviewer is changed from a set1805 builds a correct phrase when one reviewer removed from a set1806 builds a correct phrase when the locale is different1807 behaves like a system note1808 has the correct attributes1809 #change_issuable_contacts1810 builds a correct phrase when one contact is added1811 builds a correct phrase when one contact is removed1812 builds a correct phrase when one contact is added and one contact is removed1813 builds a correct phrase when three contacts are added and one removed1814 builds a correct phrase when three contacts are removed and one added1815 builds a correct phrase when the locale is different1816 behaves like a system note1817 has the correct attributes1818 #change_status1819 creates a resource state event1820 #request_attention1821 behaves like a system note1822 has the correct attributes1823 when attention requested1824 sets the note text1825 behaves like a note with overridable created_at1826 the note has the correct time1827 #remove_attention_request1828 behaves like a system note1829 has the correct attributes1830 when attention request is removed1831 sets the note text1832 behaves like a note with overridable created_at1833 the note has the correct time1834 #change_title1835 when noteable responds to `title`1836 sets the note text1837 behaves like a system note1838 has the correct attributes1839 behaves like a note with overridable created_at1840 the note has the correct time1841 #change_description1842 when noteable responds to `description`1843 sets the note text1844 associates the related description version1845 behaves like a system note1846 has the correct attributes1847 behaves like a note with overridable created_at1848 the note has the correct time1849 #change_issue_confidentiality1850 issue has been made confidential1851 sets the note text1852 behaves like a system note1853 has the correct attributes1854 issue has been made visible1855 sets the note text1856 behaves like a system note1857 has the correct attributes1858 #cross_reference1859 behaves like a system note1860 has the correct attributes1861 when cross-reference disallowed1862 returns nil1863 does not create a system note metadata record1864 when cross-reference allowed1865 behaves like a system note1866 has the correct attributes1867 behaves like a note with overridable created_at1868 the note has the correct time1869 note_body1870 cross-project1871 from Commit1872 references the mentioning commit1873 from non-Commit1874 references the mentioning object1875 within the same project1876 from Commit1877 references the mentioning commit1878 from non-Commit1879 references the mentioning object1880 with external issue1881 queues a background worker1882 #cross_reference_exists?1883 issue from commit1884 is truthy when already mentioned1885 is falsey when not already mentioned1886 legacy capitalized cross reference1887 is truthy when already mentioned1888 commit from commit1889 is truthy when already mentioned1890 is falsey when not already mentioned1891 legacy capitalized cross reference1892 is truthy when already mentioned1893 commit with cross-reference from fork1894 is true when a fork mentions an external issue1895 legacy capitalized cross reference1896 is true when a fork mentions an external issue1897 #change_task_status1898 posts the 'marked the task as complete' system note1899 behaves like a system note1900 has the correct attributes1901 #noteable_moved1902 moved to1903 notifies about noteable being moved to1904 behaves like cross project mentionable1905 contains cross reference to new noteable1906 mentions referenced noteable1907 mentions referenced project1908 behaves like a system note1909 has the correct attributes1910 moved from1911 notifies about noteable being moved from1912 behaves like cross project mentionable1913 contains cross reference to new noteable1914 mentions referenced noteable1915 mentions referenced project1916 behaves like a system note1917 has the correct attributes1918 invalid direction1919 raises error1920 #noteable_cloned1921 cloned to1922 notifies about noteable being cloned to1923 behaves like cross project mentionable1924 contains cross reference to new noteable1925 mentions referenced noteable1926 mentions referenced project1927 behaves like a system note1928 has the correct attributes1929 cloned from1930 notifies about noteable being cloned from1931 behaves like cross project mentionable1932 contains cross reference to new noteable1933 mentions referenced noteable1934 mentions referenced project1935 behaves like a system note1936 has the correct attributes1937 invalid direction1938 raises error1939 metrics1940 cloned from1941 does not tracks usage1942 cloned to1943 tracks usage1944 #mark_duplicate_issue1945 within the same project1946 is expected to eq "marked this issue as a duplicate of #2"1947 behaves like a system note1948 has the correct attributes1949 across different projects1950 is expected to eq "marked this issue as a duplicate of namespace703/project705#1"1951 behaves like a system note1952 has the correct attributes1953 #mark_canonical_issue_of_duplicate1954 within the same project1955 is expected to eq "marked #2 as a duplicate of this issue"1956 behaves like a system note1957 has the correct attributes1958 across different projects1959 is expected to eq "marked namespace705/project707#1 as a duplicate of this issue"1960 behaves like a system note1961 has the correct attributes1962 #discussion_lock1963 discussion unlocked1964 creates the note text correctly1965 behaves like a system note1966 has the correct attributes1967 discussion locked1968 creates the note text correctly1969 behaves like a system note1970 has the correct attributes1971 #cross_reference_disallowed?1972 when mentioned_in is not a MergeRequest1973 is falsey1974 when mentioned_in is a MergeRequest1975 is truthy when noteable is in commits1976 is falsey when noteable is not in commits1977 when notable is an ExternalIssue1978 is false with issue tracker supporting referencing1979 is true with issue tracker not supporting referencing1980 is true without issue tracker1981 #close_after_error_tracking_resolve1982 creates the expected state event1983 #auto_resolve_prometheus_alert1984 creates the expected state event1985 #change_issue_type1986 is expected to eq "changed issue type to incident"1987 behaves like a system note1988 has the correct attributes1989Gitlab::SearchResults1990 does not list issues on private projects1991 does not list merge requests on projects with limited access1992 as a user with access1993 does not include merge requests from source projects1994 #objects1995 returns without_counts collection by default1996 returns with counts collection when requested1997 returns without counts collection when requested1998 uses page and per_page to paginate results1999 #formatted_count2000 scope: "projects", count_method: :limited_projects_count, expected: "99+"2001 returns the expected formatted count2002 scope: "issues", count_method: :limited_issues_count, expected: "99+"2003 returns the expected formatted count2004 scope: "merge_requests", count_method: :limited_merge_requests_count, expected: "99+"2005 returns the expected formatted count2006 scope: "milestones", count_method: :limited_milestones_count, expected: "99+"2007 returns the expected formatted count2008 scope: "users", count_method: :limited_users_count, expected: "99+"2009 returns the expected formatted count2010 scope: "unknown", count_method: nil, expected: nil2011 returns the expected formatted count2012 #highlight_map2013 scope: "projects", expected: {}2014 returns the expected highlight_map2015 scope: "issues", expected: {}2016 returns the expected highlight_map2017 scope: "merge_requests", expected: {}2018 returns the expected highlight_map2019 scope: "milestones", expected: {}2020 returns the expected highlight_map2021 scope: "users", expected: {}2022 returns the expected highlight_map2023 scope: "unknown", expected: {}2024 returns the expected highlight_map2025 #formatted_limited_count2026 count: 23, expected: "23"2027 returns the expected formatted limited count2028 count: 99, expected: "99"2029 returns the expected formatted limited count2030 count: 100, expected: "99+"2031 returns the expected formatted limited count2032 count: 1234, expected: "99+"2033 returns the expected formatted limited count2034 #aggregations2035 scope: "projects"2036 returns an empty array2037 scope: "issues"2038 returns an empty array2039 scope: "merge_requests"2040 returns an empty array2041 scope: "blobs"2042 returns an empty array2043 scope: "commits"2044 returns an empty array2045 scope: "wiki_blobs"2046 returns an empty array2047 scope: "epics"2048 returns an empty array2049 scope: "milestones"2050 returns an empty array2051 scope: "users"2052 returns an empty array2053 scope: "unknown"2054 returns an empty array2055 when count_limit is lower than total amount2056 #limited_projects_count2057 returns the limited amount of projects2058 #limited_merge_requests_count2059 returns the limited amount of merge requests2060 #limited_milestones_count2061 returns the limited amount of milestones2062 #limited_issues_count2063 runs single SQL query to get the limited amount of issues2064 when count_limit is higher than total amount2065 #limited_issues_count2066 runs multiple queries to get the limited amount of issues2067 #merge_requests2068 includes project filter by default2069 skips project filter if default project context is used2070 filtering2071 state not provided2072 returns opened and closed results2073 all state2074 returns opened and closed results2075 closed state2076 returns only closed results2077 opened state2078 returns only opened results2079 unsupported state2080 returns only opened results2081 ordering2082 sort: created_desc2083 sorts results by created_at2084 sort: created_asc2085 sorts results by created_at2086 sort: updated_desc2087 sorts results by updated_desc2088 sort: updated_asc2089 sorts results by updated_asc2090 #issues2091 includes project filter by default2092 skips project filter if default project context is used2093 filtering2094 state not provided2095 returns opened and closed results2096 all state2097 returns opened and closed results2098 closed state2099 returns only closed results2100 opened state2101 returns only opened results2102 unsupported state2103 returns only opened results2104 filter not provided (all behavior)2105 returns confidential and not confidential results2106 confidential filter2107 returns only confidential results2108 not confidential filter2109 returns not confidential results2110 ordering2111 sort: created_desc2112 sorts results by created_at2113 sort: created_asc2114 sorts results by created_at2115 sort: updated_desc2116 sorts results by updated_desc2117 sort: updated_asc2118 sorts results by updated_asc2119 sort: popularity_desc2120 sorts results by upvotes2121 sort: popularity_asc2122 sorts results by created_at2123 #users2124 does not call the UsersFinder when the current_user is not allowed to read users list2125 calls the UsersFinder2126 confidential issues2127 does not list confidential issues for non project members2128 does not list confidential issues for project members with guest role2129 lists confidential issues for author2130 lists confidential issues for assignee2131 lists confidential issues for project members2132 with admin user2133 when admin mode enabled2134 lists all issues2135 when admin mode disabled2136 does not list confidential issues2137 milestones2138 returns correct set of milestones2139BroadcastMessage2140 is expected to be valid2141 validations2142 is expected to allow :color to be ‹nil›2143 is expected to allow :color to be ‹"#000"›2144 is expected to allow :color to be ‹"#AABBCC"›2145 is expected not to allow :color to be ‹"000"›2146 is expected to allow :font to be ‹nil›2147 is expected to allow :font to be ‹"#000"›2148 is expected to allow :font to be ‹"#AABBCC"›2149 is expected not to allow :font to be ‹"000"›2150 is expected to allow :broadcast_type to be ‹1›2151 is expected not to allow :broadcast_type to be ‹nil›2152 is expected not to allow :target_access_levels to be ‹nil›2153 is expected to validate that :target_access_levels is either ‹10›, ‹20›, ‹30›, ‹40›, or ‹50›2154 .current2155 returns both types2156 behaves like time constrainted2157 returns message if time match2158 returns multiple messages if time match2159 returns empty list if time not come2160 returns empty list if time has passed2161 behaves like message cache2162 caches the output of the query for two weeks2163 expires the value if a broadcast message has ended2164 does not create new records2165 includes messages that need to be displayed in the future2166 does not clear the cache if only a future message should be displayed2167 behaves like matches with current path2168 returns message if it matches the target path2169 returns message if part of the target path matches2170 returns message if provided a path without a preceding slash2171 returns the message for empty target path2172 returns the message if target path is nil2173 does not return message if target path does not match2174 does not return message if target path does not match when using wildcard2175 does not return message if target path has no wild card at the end2176 does not return message if target path has wild card at the end2177 does return message if target path has wild card at the beginning and the end2178 does not return message if the target path is set but no current path is provided2179 behaves like matches with user access level2180 when feature flag is disabled2181 when message is role-targeted2182 does not return the message2183 when message is not role-targeted2184 returns the message2185 when target_access_levels is empty2186 returns the message if user access level is not nil2187 returns the message if user access level is nil2188 when target_access_levels is not empty2189 does not return the message if user access level is nil2190 returns the message if user access level is in target_access_levels2191 does not return the message if user access level is not in target_access_levels2192 behaves like handles stale cache data gracefully2193 when cache returns stale data (e.g. nil target_access_levels)2194 does not raise error (e.g. NoMethodError from nil.empty?)2195 when feature flag is disabled2196 does not raise error (e.g. NoMethodError from nil.empty?)2197 when message is from cache2198 behaves like matches with current path2199 returns message if it matches the target path2200 returns message if part of the target path matches2201 returns message if provided a path without a preceding slash2202 returns the message for empty target path2203 returns the message if target path is nil2204 does not return message if target path does not match2205 does not return message if target path does not match when using wildcard2206 does not return message if target path has no wild card at the end2207 does not return message if target path has wild card at the end2208 does return message if target path has wild card at the beginning and the end2209 does not return message if the target path is set but no current path is provided2210 behaves like matches with user access level2211 when feature flag is disabled2212 when message is role-targeted2213 does not return the message2214 when message is not role-targeted2215 returns the message2216 when target_access_levels is empty2217 returns the message if user access level is not nil2218 returns the message if user access level is nil2219 when target_access_levels is not empty2220 does not return the message if user access level is nil2221 returns the message if user access level is in target_access_levels2222 does not return the message if user access level is not in target_access_levels2223 behaves like matches with current path2224 returns message if it matches the target path2225 returns message if part of the target path matches2226 returns message if provided a path without a preceding slash2227 returns the message for empty target path2228 returns the message if target path is nil2229 does not return message if target path does not match2230 does not return message if target path does not match when using wildcard2231 does not return message if target path has no wild card at the end2232 does not return message if target path has wild card at the end2233 does return message if target path has wild card at the beginning and the end2234 does not return message if the target path is set but no current path is provided2235 behaves like matches with user access level2236 when feature flag is disabled2237 when message is role-targeted2238 does not return the message2239 when message is not role-targeted2240 returns the message2241 when target_access_levels is empty2242 returns the message if user access level is not nil2243 returns the message if user access level is nil2244 when target_access_levels is not empty2245 does not return the message if user access level is nil2246 returns the message if user access level is in target_access_levels2247 does not return the message if user access level is not in target_access_levels2248 .current_banner_messages2249 only returns banners2250 behaves like time constrainted2251 returns message if time match2252 returns multiple messages if time match2253 returns empty list if time not come2254 returns empty list if time has passed2255 behaves like message cache2256 caches the output of the query for two weeks2257 expires the value if a broadcast message has ended2258 does not create new records2259 includes messages that need to be displayed in the future2260 does not clear the cache if only a future message should be displayed2261 behaves like matches with current path2262 returns message if it matches the target path2263 returns message if part of the target path matches2264 returns message if provided a path without a preceding slash2265 returns the message for empty target path2266 returns the message if target path is nil2267 does not return message if target path does not match2268 does not return message if target path does not match when using wildcard2269 does not return message if target path has no wild card at the end2270 does not return message if target path has wild card at the end2271 does return message if target path has wild card at the beginning and the end2272 does not return message if the target path is set but no current path is provided2273 behaves like matches with user access level2274 when feature flag is disabled2275 when message is role-targeted2276 does not return the message2277 when message is not role-targeted2278 returns the message2279 when target_access_levels is empty2280 returns the message if user access level is not nil2281 returns the message if user access level is nil2282 when target_access_levels is not empty2283 does not return the message if user access level is nil2284 returns the message if user access level is in target_access_levels2285 does not return the message if user access level is not in target_access_levels2286 behaves like handles stale cache data gracefully2287 when cache returns stale data (e.g. nil target_access_levels)2288 does not raise error (e.g. NoMethodError from nil.empty?)2289 when feature flag is disabled2290 does not raise error (e.g. NoMethodError from nil.empty?)2291 when message is from cache2292 behaves like matches with current path2293 returns message if it matches the target path2294 returns message if part of the target path matches2295 returns message if provided a path without a preceding slash2296 returns the message for empty target path2297 returns the message if target path is nil2298 does not return message if target path does not match2299 does not return message if target path does not match when using wildcard2300 does not return message if target path has no wild card at the end2301 does not return message if target path has wild card at the end2302 does return message if target path has wild card at the beginning and the end2303 does not return message if the target path is set but no current path is provided2304 behaves like matches with user access level2305 when feature flag is disabled2306 when message is role-targeted2307 does not return the message2308 when message is not role-targeted2309 returns the message2310 when target_access_levels is empty2311 returns the message if user access level is not nil2312 returns the message if user access level is nil2313 when target_access_levels is not empty2314 does not return the message if user access level is nil2315 returns the message if user access level is in target_access_levels2316 does not return the message if user access level is not in target_access_levels2317 .current_notification_messages2318 only returns notifications2319 behaves like time constrainted2320 returns message if time match2321 returns multiple messages if time match2322 returns empty list if time not come2323 returns empty list if time has passed2324 behaves like message cache2325 caches the output of the query for two weeks2326 expires the value if a broadcast message has ended2327 does not create new records2328 includes messages that need to be displayed in the future2329 does not clear the cache if only a future message should be displayed2330 behaves like matches with current path2331 returns message if it matches the target path2332 returns message if part of the target path matches2333 returns message if provided a path without a preceding slash2334 returns the message for empty target path2335 returns the message if target path is nil2336 does not return message if target path does not match2337 does not return message if target path does not match when using wildcard2338 does not return message if target path has no wild card at the end2339 does not return message if target path has wild card at the end2340 does return message if target path has wild card at the beginning and the end2341 does not return message if the target path is set but no current path is provided2342 behaves like matches with user access level2343 when feature flag is disabled2344 when message is role-targeted2345 does not return the message2346 when message is not role-targeted2347 returns the message2348 when target_access_levels is empty2349 returns the message if user access level is not nil2350 returns the message if user access level is nil2351 when target_access_levels is not empty2352 does not return the message if user access level is nil2353 returns the message if user access level is in target_access_levels2354 does not return the message if user access level is not in target_access_levels2355 behaves like handles stale cache data gracefully2356 when cache returns stale data (e.g. nil target_access_levels)2357 does not raise error (e.g. NoMethodError from nil.empty?)2358 when feature flag is disabled2359 does not raise error (e.g. NoMethodError from nil.empty?)2360 when message is from cache2361 behaves like matches with current path2362 returns message if it matches the target path2363 returns message if part of the target path matches2364 returns message if provided a path without a preceding slash2365 returns the message for empty target path2366 returns the message if target path is nil2367 does not return message if target path does not match2368 does not return message if target path does not match when using wildcard2369 does not return message if target path has no wild card at the end2370 does not return message if target path has wild card at the end2371 does return message if target path has wild card at the beginning and the end2372 does not return message if the target path is set but no current path is provided2373 behaves like matches with user access level2374 when feature flag is disabled2375 when message is role-targeted2376 does not return the message2377 when message is not role-targeted2378 returns the message2379 when target_access_levels is empty2380 returns the message if user access level is not nil2381 returns the message if user access level is nil2382 when target_access_levels is not empty2383 does not return the message if user access level is nil2384 returns the message if user access level is in target_access_levels2385 does not return the message if user access level is not in target_access_levels2386 #attributes2387 includes message_html field2388 #active?2389 is truthy when started and not ended2390 is falsey when ended2391 is falsey when not started2392 #started?2393 is truthy when starts_at has passed2394 is falsey when starts_at is in the future2395 #ended?2396 is truthy when ends_at has passed2397 is falsey when ends_at is in the future2398 #flush_redis_cache2399 flushes the Redis cache2400Gitlab::Ci::Parsers::Security::Validators::SchemaValidator2401 SUPPORTED_VERSIONS2402 matches DEPRECATED_VERSIONS keys2403 when a schema JSON file exists for a particular report type version2404 secret_detection 14.1.1 is in the constant2405 dast 14.1.1 is in the constant2406 dependency_scanning 14.1.1 is in the constant2407 container_scanning 14.1.1 is in the constant2408 cluster_image_scanning 14.1.1 is in the constant2409 sast 14.1.1 is in the constant2410 coverage_fuzzing 14.1.1 is in the constant2411 secret_detection 14.0.0 is in the constant2412 dast 14.0.0 is in the constant2413 dependency_scanning 14.0.0 is in the constant2414 container_scanning 14.0.0 is in the constant2415 sast 14.0.0 is in the constant2416 coverage_fuzzing 14.0.0 is in the constant2417 secret_detection 14.0.4 is in the constant2418 dast 14.0.4 is in the constant2419 dependency_scanning 14.0.4 is in the constant2420 container_scanning 14.0.4 is in the constant2421 cluster_image_scanning 14.0.4 is in the constant2422 sast 14.0.4 is in the constant2423 coverage_fuzzing 14.0.4 is in the constant2424 secret_detection 14.0.1 is in the constant2425 dast 14.0.1 is in the constant2426 dependency_scanning 14.0.1 is in the constant2427 container_scanning 14.0.1 is in the constant2428 sast 14.0.1 is in the constant2429 coverage_fuzzing 14.0.1 is in the constant2430 secret_detection 14.0.5 is in the constant2431 dast 14.0.5 is in the constant2432 dependency_scanning 14.0.5 is in the constant2433 container_scanning 14.0.5 is in the constant2434 cluster_image_scanning 14.0.5 is in the constant2435 sast 14.0.5 is in the constant2436 coverage_fuzzing 14.0.5 is in the constant2437 secret_detection 14.0.2 is in the constant2438 dast 14.0.2 is in the constant2439 dependency_scanning 14.0.2 is in the constant2440 container_scanning 14.0.2 is in the constant2441 sast 14.0.2 is in the constant2442 coverage_fuzzing 14.0.2 is in the constant2443 secret_detection 14.1.0 is in the constant2444 dast 14.1.0 is in the constant2445 dependency_scanning 14.1.0 is in the constant2446 container_scanning 14.1.0 is in the constant2447 cluster_image_scanning 14.1.0 is in the constant2448 sast 14.1.0 is in the constant2449 coverage_fuzzing 14.1.0 is in the constant2450 secret_detection 14.0.6 is in the constant2451 dast 14.0.6 is in the constant2452 dependency_scanning 14.0.6 is in the constant2453 container_scanning 14.0.6 is in the constant2454 cluster_image_scanning 14.0.6 is in the constant2455 sast 14.0.6 is in the constant2456 coverage_fuzzing 14.0.6 is in the constant2457 secret_detection 14.1.2 is in the constant2458 dast 14.1.2 is in the constant2459 dependency_scanning 14.1.2 is in the constant2460 container_scanning 14.1.2 is in the constant2461 cluster_image_scanning 14.1.2 is in the constant2462 sast 14.1.2 is in the constant2463 coverage_fuzzing 14.1.2 is in the constant2464 secret_detection 14.0.3 is in the constant2465 dast 14.0.3 is in the constant2466 dependency_scanning 14.0.3 is in the constant2467 container_scanning 14.0.3 is in the constant2468 sast 14.0.3 is in the constant2469 coverage_fuzzing 14.0.3 is in the constant2470 when every SUPPORTED_VERSION has a corresponding JSON file2471 cluster_image_scanning 14.0.4 schema file is present2472 cluster_image_scanning 14.0.5 schema file is present2473 cluster_image_scanning 14.0.6 schema file is present2474 cluster_image_scanning 14.1.0 schema file is present2475 cluster_image_scanning 14.1.1 schema file is present2476 cluster_image_scanning 14.1.2 schema file is present2477 container_scanning 14.0.0 schema file is present2478 container_scanning 14.0.1 schema file is present2479 container_scanning 14.0.2 schema file is present2480 container_scanning 14.0.3 schema file is present2481 container_scanning 14.0.4 schema file is present2482 container_scanning 14.0.5 schema file is present2483 container_scanning 14.0.6 schema file is present2484 container_scanning 14.1.0 schema file is present2485 container_scanning 14.1.1 schema file is present2486 container_scanning 14.1.2 schema file is present2487 coverage_fuzzing 14.0.0 schema file is present2488 coverage_fuzzing 14.0.1 schema file is present2489 coverage_fuzzing 14.0.2 schema file is present2490 coverage_fuzzing 14.0.3 schema file is present2491 coverage_fuzzing 14.0.4 schema file is present2492 coverage_fuzzing 14.0.5 schema file is present2493 coverage_fuzzing 14.0.6 schema file is present2494 coverage_fuzzing 14.1.0 schema file is present2495 coverage_fuzzing 14.1.1 schema file is present2496 coverage_fuzzing 14.1.2 schema file is present2497 dast 14.0.0 schema file is present2498 dast 14.0.1 schema file is present2499 dast 14.0.2 schema file is present2500 dast 14.0.3 schema file is present2501 dast 14.0.4 schema file is present2502 dast 14.0.5 schema file is present2503 dast 14.0.6 schema file is present2504 dast 14.1.0 schema file is present2505 dast 14.1.1 schema file is present2506 dast 14.1.2 schema file is present2507 dependency_scanning 14.0.0 schema file is present2508 dependency_scanning 14.0.1 schema file is present2509 dependency_scanning 14.0.2 schema file is present2510 dependency_scanning 14.0.3 schema file is present2511 dependency_scanning 14.0.4 schema file is present2512 dependency_scanning 14.0.5 schema file is present2513 dependency_scanning 14.0.6 schema file is present2514 dependency_scanning 14.1.0 schema file is present2515 dependency_scanning 14.1.1 schema file is present2516 dependency_scanning 14.1.2 schema file is present2517 sast 14.0.0 schema file is present2518 sast 14.0.1 schema file is present2519 sast 14.0.2 schema file is present2520 sast 14.0.3 schema file is present2521 sast 14.0.4 schema file is present2522 sast 14.0.5 schema file is present2523 sast 14.0.6 schema file is present2524 sast 14.1.0 schema file is present2525 sast 14.1.1 schema file is present2526 sast 14.1.2 schema file is present2527 secret_detection 14.0.0 schema file is present2528 secret_detection 14.0.1 schema file is present2529 secret_detection 14.0.2 schema file is present2530 secret_detection 14.0.3 schema file is present2531 secret_detection 14.0.4 schema file is present2532 secret_detection 14.0.5 schema file is present2533 secret_detection 14.0.6 schema file is present2534 secret_detection 14.1.0 schema file is present2535 secret_detection 14.1.1 schema file is present2536 secret_detection 14.1.2 schema file is present2537 #valid?2538 when given a supported schema version2539 when the report is valid2540 is expected to be truthy2541 when the report is invalid2542 is expected to be falsey2543 logs related information2544 when given a deprecated schema version2545 when the report passes schema validation2546 is expected to be truthy2547 logs related information2548 when the report does not pass schema validation2549 when enforce_security_report_validation is enabled2550 is expected to be falsey2551 when enforce_security_report_validation is disabled2552 is expected to be truthy2553 when given an unsupported schema version2554 when enforce_security_report_validation is enabled2555 when the report is valid2556 is expected to be falsey2557 logs related information2558 when the report is invalid2559 is expected to be falsey2560 when scanner information is empty2561 logs related information2562 when enforce_security_report_validation is disabled2563 when the report is valid2564 is expected to be truthy2565 when the report is invalid2566 is expected to be truthy2567 when not given a schema version2568 is expected to be falsey2569 when enforce_security_report_validation is disabled2570 is expected to be truthy2571 #errors2572 when given a supported schema version2573 when the report is valid2574 is expected to be empty2575 when the report is invalid2576 when enforce_security_report_validation is enabled2577 is expected to contain exactly "root is missing required keys: vulnerabilities"2578 when enforce_security_report_validation is disabled2579 is expected to be empty2580 when given a deprecated schema version2581 when the report passes schema validation2582 is expected to be empty2583 when the report does not pass schema validation2584 when enforce_security_report_validation is enabled2585 is expected to contain exactly "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$" and "root is missing required keys: vulnerabilities"2586 when enforce_security_report_validation is disabled2587 is expected to be empty2588 when given an unsupported schema version2589 when enforce_security_report_validation is enabled2590 when the report is valid2591 is expected to contain exactly "Version 12.37.0 for report type dast is unsupported, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2592 when the report is invalid2593 is expected to contain exactly "Version 12.37.0 for report type dast is unsupported, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2" and "root is missing required keys: vulnerabilities"2594 when enforce_security_report_validation is disabled2595 when the report is valid2596 is expected to be empty2597 when the report is invalid2598 is expected to be empty2599 when not given a schema version2600 is expected to contain exactly "root is missing required keys: version" and "Report version not provided, dast report type supports versions: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2601 when enforce_security_report_validation is disabled2602 is expected to be empty2603 #deprecation_warnings2604 when given a supported schema version2605 when the report is valid2606 is expected to be empty2607 when the report is invalid2608 is expected to be empty2609 when given a deprecated schema version2610 when the report passes schema validation2611 is expected to contain exactly "Version V2.7.0 for report type dast has been deprecated, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2612 when the report does not pass schema validation2613 is expected to contain exactly "Version V2.7.0 for report type dast has been deprecated, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2614 when given an unsupported schema version2615 is expected to contain exactly2616 #warnings2617 when given a supported schema version2618 when the report is valid2619 is expected to be empty2620 when the report is invalid2621 when enforce_security_report_validation is enabled2622 is expected to be empty2623 when enforce_security_report_validation is disabled2624 is expected to contain exactly "root is missing required keys: vulnerabilities"2625 when given a deprecated schema version2626 when the report passes schema validation2627 is expected to be empty2628 when the report does not pass schema validation2629 when enforce_security_report_validation is enabled2630 is expected to be empty2631 when enforce_security_report_validation is disabled2632 is expected to contain exactly "property '/version' does not match pattern: ^[0-9]+\\.[0-9]+\\.[0-9]+$" and "root is missing required keys: vulnerabilities"2633 when given an unsupported schema version2634 when enforce_security_report_validation is enabled2635 when the report is valid2636 is expected to be empty2637 when the report is invalid2638 is expected to be empty2639 when enforce_security_report_validation is disabled2640 when the report is valid2641 is expected to contain exactly "Version 12.37.0 for report type dast is unsupported, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2642 when the report is invalid2643 is expected to contain exactly "Version 12.37.0 for report type dast is unsupported, supported versions for this report type are: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2" and "root is missing required keys: vulnerabilities"2644 when not given a schema version2645 is expected to be empty2646 when enforce_security_report_validation is disabled2647 is expected to contain exactly "root is missing required keys: version" and "Report version not provided, dast report type supports versions: 14.0.0, 14.0.1, 14.0.2, 14.0.3, 14.0.4, 14.0.5, 14.0.6, 14.1.0, 14.1.1, 14.1.2"2648AlertManagement::ProcessPrometheusAlertService2649 #execute2650 when alert payload is valid2651 behaves like processes new firing alert2652 behaves like creates an alert management alert or errors2653 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2654 creates AlertManagement::Alert2655 executes the alert service hooks2656 and fails to save2657 writes a warning to the log2658 behaves like alerts service responds with an error2659 is expected to eq :bad_request2660 behaves like creates expected system notes for alert2661 for new_alert2662 behaves like processes incident issues if enabled2663 is expected to be success2664 with incident setting disabled2665 behaves like does not process incident issues2666 is expected not to receive perform_async(*(any args)) 0 times2667 behaves like sends alert notification emails if enabled2668 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2669 with email setting disabled2670 behaves like does not send alert notification emails2671 is expected not to receive new(*(any args)) 0 times2672 for an existing alert with the same fingerprint2673 which is triggered2674 behaves like adds an alert management alert event2675 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2676 behaves like does not create an alert management alert2677 is expected not to change `AlertManagement::Alert.count`2678 behaves like sends alert notification emails if enabled2679 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2680 with email setting disabled2681 behaves like does not send alert notification emails2682 is expected not to receive new(*(any args)) 0 times2683 behaves like processes incident issues if enabled2684 is expected to be success2685 with incident setting disabled2686 behaves like does not process incident issues2687 is expected not to receive perform_async(*(any args)) 0 times2688 behaves like does not create an alert management alert2689 is expected not to change `AlertManagement::Alert.count`2690 behaves like does not create a system note for alert2691 is expected not to change `Note.count`2692 with an existing resolved alert as well2693 behaves like adds an alert management alert event2694 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2695 behaves like does not create an alert management alert2696 is expected not to change `AlertManagement::Alert.count`2697 behaves like sends alert notification emails if enabled2698 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2699 with email setting disabled2700 behaves like does not send alert notification emails2701 is expected not to receive new(*(any args)) 0 times2702 behaves like processes incident issues if enabled2703 is expected to be success2704 with incident setting disabled2705 behaves like does not process incident issues2706 is expected not to receive perform_async(*(any args)) 0 times2707 behaves like does not create an alert management alert2708 is expected not to change `AlertManagement::Alert.count`2709 behaves like does not create a system note for alert2710 is expected not to change `Note.count`2711 which is acknowledged2712 behaves like adds an alert management alert event2713 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2714 behaves like does not create an alert management alert2715 is expected not to change `AlertManagement::Alert.count`2716 behaves like processes incident issues if enabled2717 is expected to be success2718 with incident setting disabled2719 behaves like does not process incident issues2720 is expected not to receive perform_async(*(any args)) 0 times2721 behaves like does not create an alert management alert2722 is expected not to change `AlertManagement::Alert.count`2723 behaves like does not create a system note for alert2724 is expected not to change `Note.count`2725 behaves like does not send alert notification emails2726 is expected not to receive new(*(any args)) 0 times2727 which is ignored2728 behaves like adds an alert management alert event2729 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2730 behaves like does not create an alert management alert2731 is expected not to change `AlertManagement::Alert.count`2732 behaves like processes incident issues if enabled2733 is expected to be success2734 with incident setting disabled2735 behaves like does not process incident issues2736 is expected not to receive perform_async(*(any args)) 0 times2737 behaves like does not create an alert management alert2738 is expected not to change `AlertManagement::Alert.count`2739 behaves like does not create a system note for alert2740 is expected not to change `Note.count`2741 behaves like does not send alert notification emails2742 is expected not to receive new(*(any args)) 0 times2743 which is resolved2744 behaves like creates an alert management alert or errors2745 is expected to match {:alerts=>(all a kind of AlertManagement::Alert(id: integer, created_at: datetime_with_timezone, updated_at: datetim...hosts: text, payload: jsonb, prometheus_alert_id: integer, environment_id: integer, domain: integer))}2746 creates AlertManagement::Alert2747 executes the alert service hooks2748 and fails to save2749 writes a warning to the log2750 behaves like alerts service responds with an error2751 is expected to eq :bad_request2752 behaves like creates expected system notes for alert2753 for new_alert2754 behaves like processes incident issues if enabled2755 is expected to be success2756 with incident setting disabled2757 behaves like does not process incident issues2758 is expected not to receive perform_async(*(any args)) 0 times2759 behaves like sends alert notification emails if enabled2760 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2761 with email setting disabled2762 behaves like does not send alert notification emails2763 is expected not to receive new(*(any args)) 0 times2764 with resolving payload2765 behaves like processes recovery alert2766 seen for the first time2767 behaves like alerts service responds with an error and takes no actions2768 is expected to eq :bad_request2769 behaves like does not create an alert management alert2770 is expected not to change `AlertManagement::Alert.count`2771 behaves like does not create a system note for alert2772 is expected not to change `Note.count`2773 behaves like does not process incident issues2774 is expected not to receive perform_async(*(any args)) 0 times2775 behaves like does not send alert notification emails2776 is expected not to receive new(*(any args)) 0 times2777 for an existing alert with the same fingerprint2778 which is triggered2779 behaves like resolves an existing alert management alert2780 sets the end time and status2781 behaves like creates expected system notes for alert2782 for recovery_alert, resolve_alert2783 behaves like sends alert notification emails if enabled2784 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2785 with email setting disabled2786 behaves like does not send alert notification emails2787 is expected not to receive new(*(any args)) 0 times2788 behaves like closes related incident if enabled2789 with incident2790 is expected to change `alert.issue.reload.closed?` from false to true and change `ResourceStateEvent.count` by 12791 without incident2792 is expected not to receive perform_async(*(any args)) 0 times2793 with incident setting disabled2794 behaves like does not close related incident2795 with incident2796 is expected to not change `alert.issue.reload.state` and not change `ResourceStateEvent.count`2797 without incident2798 is expected not to receive perform_async(*(any args)) 0 times2799 behaves like writes a warning to the log for a failed alert status update2800 is expected to be success2801 behaves like does not create an alert management alert2802 is expected not to change `AlertManagement::Alert.count`2803 behaves like does not process incident issues2804 is expected not to receive perform_async(*(any args)) 0 times2805 behaves like does not add an alert management alert event2806 is expected not to change `alert.reload.events`2807 which is ignored2808 behaves like resolves an existing alert management alert2809 sets the end time and status2810 behaves like creates expected system notes for alert2811 for recovery_alert, resolve_alert2812 behaves like sends alert notification emails if enabled2813 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2814 with email setting disabled2815 behaves like does not send alert notification emails2816 is expected not to receive new(*(any args)) 0 times2817 behaves like closes related incident if enabled2818 with incident2819 is expected to change `alert.issue.reload.closed?` from false to true and change `ResourceStateEvent.count` by 12820 without incident2821 is expected not to receive perform_async(*(any args)) 0 times2822 with incident setting disabled2823 behaves like does not close related incident2824 with incident2825 is expected to not change `alert.issue.reload.state` and not change `ResourceStateEvent.count`2826 without incident2827 is expected not to receive perform_async(*(any args)) 0 times2828 behaves like writes a warning to the log for a failed alert status update2829 is expected to be success2830 behaves like does not create an alert management alert2831 is expected not to change `AlertManagement::Alert.count`2832 behaves like does not process incident issues2833 is expected not to receive perform_async(*(any args)) 0 times2834 behaves like does not add an alert management alert event2835 is expected not to change `alert.reload.events`2836 which is acknowledged2837 behaves like resolves an existing alert management alert2838 sets the end time and status2839 behaves like creates expected system notes for alert2840 for recovery_alert, resolve_alert2841 behaves like sends alert notification emails if enabled2842 is expected to receive prometheus_alerts_fired(*(any args)) 1 time2843 with email setting disabled2844 behaves like does not send alert notification emails2845 is expected not to receive new(*(any args)) 0 times2846 behaves like closes related incident if enabled2847 with incident2848 is expected to change `alert.issue.reload.closed?` from false to true and change `ResourceStateEvent.count` by 12849 without incident2850 is expected not to receive perform_async(*(any args)) 0 times2851 with incident setting disabled2852 behaves like does not close related incident2853 with incident2854 is expected to not change `alert.issue.reload.state` and not change `ResourceStateEvent.count`2855 without incident2856 is expected not to receive perform_async(*(any args)) 0 times2857 behaves like writes a warning to the log for a failed alert status update2858 is expected to be success2859 behaves like does not create an alert management alert2860 is expected not to change `AlertManagement::Alert.count`2861 behaves like does not process incident issues2862 is expected not to receive perform_async(*(any args)) 0 times2863 behaves like does not add an alert management alert event2864 is expected not to change `alert.reload.events`2865 which is resolved2866 behaves like alerts service responds with an error and takes no actions2867 is expected to eq :bad_request2868 behaves like does not create an alert management alert2869 is expected not to change `AlertManagement::Alert.count`2870 behaves like does not create a system note for alert2871 is expected not to change `Note.count`2872 behaves like does not process incident issues2873 is expected not to receive perform_async(*(any args)) 0 times2874 behaves like does not send alert notification emails2875 is expected not to receive new(*(any args)) 0 times2876 environment given2877 sets the environment2878 prometheus alert given2879 sets the prometheus alert and environment2880 when alert payload is invalid2881 behaves like alerts service responds with an error and takes no actions2882 is expected to eq :bad_request2883 behaves like does not create an alert management alert2884 is expected not to change `AlertManagement::Alert.count`2885 behaves like does not create a system note for alert2886 is expected not to change `Note.count`2887 behaves like does not process incident issues2888 is expected not to receive perform_async(*(any args)) 0 times2889 behaves like does not send alert notification emails2890 is expected not to receive new(*(any args)) 0 times2891Gitlab::Database::MigrationHelpers::RestrictGitlabSchema2892 #restrict_gitlab_migration2893 invalid schema raises exception2894 does configure allowed_gitlab_schema2895 when executing migrations2896 does create table in gitlab_main and gitlab_ci2897 for db_config_name=main2898 while restrict_gitlab_migration=no_gitlab_schema2899 does run migrate :up and :down2900 while restrict_gitlab_migration=gitlab_schema_gitlab_main2901 does run migrate :up and :down2902 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2903 does run migrate :up and :down2904 does add column to projects in gitlab_main and gitlab_ci2905 for db_config_name=main2906 while restrict_gitlab_migration=no_gitlab_schema2907 does run migrate :up and :down2908 while restrict_gitlab_migration=gitlab_schema_gitlab_main2909 does run migrate :up and :down2910 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2911 does run migrate :up and :down2912 does add column to ci_builds in gitlab_main and gitlab_ci2913 for db_config_name=main2914 while restrict_gitlab_migration=no_gitlab_schema2915 does run migrate :up and :down2916 while restrict_gitlab_migration=gitlab_schema_gitlab_main2917 does run migrate :up and :down2918 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2919 does run migrate :up and :down2920 does add index to projects in gitlab_main and gitlab_ci2921 for db_config_name=main2922 while restrict_gitlab_migration=no_gitlab_schema2923 does run migrate :up and :down2924 while restrict_gitlab_migration=gitlab_schema_gitlab_main2925 does run migrate :up and :down2926 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2927 does run migrate :up and :down2928 does add index to ci_builds in gitlab_main and gitlab_ci2929 for db_config_name=main2930 while restrict_gitlab_migration=no_gitlab_schema2931 does run migrate :up and :down2932 while restrict_gitlab_migration=gitlab_schema_gitlab_main2933 does run migrate :up and :down2934 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2935 does run migrate :up and :down2936 does create trigger in gitlab_main and gitlab_ci2937 for db_config_name=main2938 while restrict_gitlab_migration=no_gitlab_schema2939 does run migrate :up and :down2940 while restrict_gitlab_migration=gitlab_schema_gitlab_main2941 does run migrate :up and :down2942 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2943 does run migrate :up and :down2944 does create schema in gitlab_main and gitlab_ci2945 for db_config_name=main2946 while restrict_gitlab_migration=no_gitlab_schema2947 does run migrate :up and :down2948 while restrict_gitlab_migration=gitlab_schema_gitlab_main2949 does run migrate :up and :down2950 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2951 does run migrate :up and :down2952 does attach loose foreign key trigger in gitlab_main and gitlab_ci2953 for db_config_name=main2954 while restrict_gitlab_migration=no_gitlab_schema2955 does run migrate :up and :down2956 while restrict_gitlab_migration=gitlab_schema_gitlab_main2957 does run migrate :up and :down2958 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2959 does run migrate :up and :down2960 does insert into software_licenses2961 for db_config_name=main2962 while restrict_gitlab_migration=no_gitlab_schema2963 does run migrate :up and :down2964 while restrict_gitlab_migration=gitlab_schema_gitlab_main2965 does run migrate :up and :down2966 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2967 does run migrate :up and :down2968 does raise exception when accessing tables outside of gitlab_main2969 for db_config_name=main2970 while restrict_gitlab_migration=no_gitlab_schema2971 does run migrate :up and :down2972 while restrict_gitlab_migration=gitlab_schema_gitlab_main2973 does run migrate :up and :down2974 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2975 does run migrate :up and :down2976 does allow modifying gitlab_shared2977 for db_config_name=main2978 while restrict_gitlab_migration=no_gitlab_schema2979 does run migrate :up and :down2980 while restrict_gitlab_migration=gitlab_schema_gitlab_main2981 does run migrate :up and :down2982 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2983 does run migrate :up and :down2984 does update data in batches of gitlab_main, but skips gitlab_ci2985 for db_config_name=main2986 while restrict_gitlab_migration=no_gitlab_schema2987 does run migrate :up and :down2988 while restrict_gitlab_migration=gitlab_schema_gitlab_main2989 does run migrate :up and :down2990 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2991 does run migrate :up and :down2992 does not allow executing mixed DDL and DML migrations2993 for db_config_name=main2994 while restrict_gitlab_migration=no_gitlab_schema2995 does run migrate :up and :down2996 while restrict_gitlab_migration=gitlab_schema_gitlab_main2997 does run migrate :up and :down2998 while restrict_gitlab_migration=gitlab_schema_gitlab_shared2999 does run migrate :up and :down3000 does schedule background migrations on gitlab_main3001 for db_config_name=main3002 while restrict_gitlab_migration=no_gitlab_schema3003 does run migrate :up and :down3004 while restrict_gitlab_migration=gitlab_schema_gitlab_main3005 does run migrate :up and :down3006 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3007 does run migrate :up and :down3008 does support prepare_async_index3009 for db_config_name=main3010 while restrict_gitlab_migration=no_gitlab_schema3011 does run migrate :up and :down3012 while restrict_gitlab_migration=gitlab_schema_gitlab_main3013 does run migrate :up and :down3014 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3015 does run migrate :up and :down3016 does raise exception when accessing current settings3017 for db_config_name=main3018 while restrict_gitlab_migration=no_gitlab_schema3019 does run migrate :up and :down3020 while restrict_gitlab_migration=gitlab_schema_gitlab_main3021 does run migrate :up and :down3022 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3023 does run migrate :up and :down3024 does raise exception when accessing feature flags3025 for db_config_name=main3026 while restrict_gitlab_migration=no_gitlab_schema3027 does run migrate :up and :down3028 while restrict_gitlab_migration=gitlab_schema_gitlab_main3029 does run migrate :up and :down3030 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3031 does run migrate :up and :down3032 does raise exception about cross schema access when suppressing restriction to ensure3033 for db_config_name=main3034 while restrict_gitlab_migration=no_gitlab_schema3035 does run migrate :up and :down (PENDING: Skipping because multiple databases not set up)3036 while restrict_gitlab_migration=gitlab_schema_gitlab_main3037 does run migrate :up and :down (PENDING: Skipping because multiple databases not set up)3038 while restrict_gitlab_migration=gitlab_schema_gitlab_shared3039 does run migrate :up and :down (PENDING: Skipping because multiple databases not set up)3040MergeRequestWidgetEntity3041 has email_patches_path3042 has plain_diff_path3043 has human access3044 has new pipeline path for project3045 has security_reports_docs_path3046 source_project_full_path3047 includes the full path of the source project3048 when the source project is missing3049 returns `nil` for the source project3050 can_create_pipeline_in_target_project3051 when user has permission3052 includes the correct permission info3053 when user does not have permission3054 includes the correct permission info3055 issues links3056 includes issues links when requested3057 omits issue links by default3058 merge_request_add_ci_config_path3059 when there is a standard ci config file in the source project3060 no ci config path3061 when there is no standard ci config file in the source project3062 when user has permissions3063 has add ci config path3064 has expected params3065 when auto devops is enabled3066 returns a blank ci config path3067 when source project is missing3068 returns a blank ci config path3069 when there are no commits3070 returns a blank ci config path3071 when build feature is disabled3072 has no path3073 when creating the pipeline is not allowed3074 has no path3075 when merge request is merged3076 returns a blank ci config path3077 when merge request is closed3078 returns a blank ci config path3079 when source branch does not exist3080 returns a blank ci config path3081 when user does not have permissions3082 has add ci config path3083 user callouts3084 provides a valid path value for user callout path3085 provides a valid value for suggest pipeline feature id3086 when source project is deleted3087 returns a blank rebase_path3088 has source_project_default_url3089 returns the default url to the source project3090 when source project is nil3091 returns nil3092 when gitpod is disabled3093 exposes gitpod attributes3094 when gitpod is enabled3095 exposes gitpod attributes3096 when gitpod is enabled for user3097 exposes gitpod_enabled as true3098 is_dismissed_suggest_pipeline3099 when user is logged in3100 when the suggest pipeline feature is enabled3101 is false3102 when suggest pipeline has been dismissed3103 is true3104 when the suggest pipeline feature is disabled3105 is true3106 when user is not logged in3107 is true3108Banzai::Filter::References::UserReferenceFilter3109 requires project context3110 ignores invalid users3111 ignores references with text before the @ sign3112 ignores valid references contained inside 'pre' element3113 ignores valid references contained inside 'code' element3114 ignores valid references contained inside 'a' element3115 ignores valid references contained inside 'style' element3116 links with adjacent text3117 includes default classes3118 behaves like user reference or project reference3119 supports an :only_path context3120 mentioning a resource3121 links to a resource3122 links to a resource with a period3123 links to a resource with an underscore3124 links to a resource with different case-sensitivity3125 behaves like a reference containing an element node3126 does not escape inner html3127 behaves like it contains a data- attribute3128 includes a data- attribute3129 referencing a resource in a link href3130 links to the resource3131 links with adjacent text3132 behaves like it contains a data- attribute3133 includes a data- attribute3134 mentioning @all3135 supports a special @all mention3136 includes a data-author attribute when there is an author3137 does not include a data-author attribute when there is no author3138 ignores reference to all when the user is not a project member3139 behaves like a reference containing an element node3140 does not escape inner html3141 mentioning a group3142 links to the Group3143 includes a data-group attribute3144 behaves like a reference containing an element node3145 does not escape inner html3146 mentioning a nested group3147 links to the nested group3148 has the full group name as a title3149 behaves like a reference containing an element node3150 does not escape inner html3151 when a project is not specified3152 does not link a User3153 when skip_project_check set to true3154 links to a User3155 does not link users using @all reference3156 in group context3157 supports a special @all mention3158 supports mentioning a single user3159 supports mentioning a group3160 #namespaces3161 returns a Hash containing all Namespaces3162 #usernames3163 returns the usernames mentioned in a document3164 checking N+13165 does not have N+1 per multiple user references3166ProjectPresenter3167 #license_short_name3168 when project.repository has a license_key3169 returns the nickname of the license if present3170 returns the name of the license if nickname is not present3171 when project.repository has no license_key but a license_blob3172 returns LICENSE3173 #default_view3174 user not signed in3175 when repository is empty3176 returns wiki if user has repository access and can read wiki, which exists3177 returns activity if user has repository access and can read wiki, which does not exist3178 returns issues if user does not have repository access, but can read issues3179 returns activity if user can read neither wiki nor issues3180 when repository is not empty3181 returns files and readme if user has repository access3182 returns wiki if user does not have repository access and can read wiki, which exists3183 returns activity if user does not have repository or wiki access3184 returns releases anchor3185 user signed in3186 when the user is allowed to see the code3187 returns the project view3188 with wikis enabled and the right policy for the user3189 returns wiki if the user has the right policy and the wiki exists3190 returns activity if the user does not have the right policy3191 with issues as a feature available3192 return issues3193 with no activity, no wikies and no issues3194 returns activity as default3195 #can_current_user_push_code?3196 empty repo3197 returns true if user can push_code3198 returns false if user cannot push_code3199 not empty repo3200 returns true if user can push to default branch3201 returns false if default branch is protected3202 if no current user3203 returns false3204 statistics anchors (empty repo)3205 #storage_anchor_data3206 returns storage data3207 #releases_anchor_data3208 does not return release count3209 #commits_anchor_data3210 returns commits data3211 #branches_anchor_data3212 returns branches data3213 #tags_anchor_data3214 returns tags data3215 statistics anchors3216 #storage_anchor_data3217 returns storage data without usage quotas link for non-admin users3218 returns storage data with usage quotas link for admin users3219 #releases_anchor_data3220 returns release count if user can read release3221 returns nil if user cannot read release3222 user not signed in3223 returns nil if user is signed out3224 #commits_anchor_data3225 returns commits data3226 #branches_anchor_data3227 returns branches data3228 #tags_anchor_data3229 returns tags data3230 #new_file_anchor_data3231 returns new file data if user can push3232 returns nil if user cannot push3233 when the project is empty3234 is empty for a developer3235 #readme_anchor_data3236 when user can push and README does not exists3237 returns anchor data3238 when README exists3239 returns anchor data3240 #changelog_anchor_data3241 when user can push and CHANGELOG does not exist3242 returns anchor data3243 when CHANGELOG exists3244 returns anchor data3245 #license_anchor_data3246 when user can push and LICENSE does not exist3247 returns anchor data3248 when LICENSE exists3249 returns anchor data3250 #contribution_guide_anchor_data3251 when user can push and CONTRIBUTING does not exist3252 returns anchor data3253 when CONTRIBUTING exists3254 returns anchor data3255 #autodevops_anchor_data3256 when Auto Devops is enabled3257 returns anchor data3258 when user can admin pipeline and CI yml does not exist3259 returns anchor data3260 #kubernetes_cluster_anchor_data3261 when user can create Kubernetes cluster3262 returns link to cluster if only one exists3263 returns link to clusters page if more than one exists3264 returns link to create a cluster if no cluster exists3265 when user cannot create Kubernetes cluster3266 returns nil3267 #upload_anchor_data3268 when a user can push to the default branch3269 returns upload_anchor_data3270 when the user cannot push to default branch3271 returns nil3272 #statistics_buttons3273 orders the items correctly3274 #repo_statistics_buttons3275 empty repo3276 includes a button to configure integrations for maintainers3277 does not include a button if not a maintainer3278 for a guest user3279 orders the items correctly3280 for a developer3281 orders the items correctly3282 initialized repo3283 orders the items correctly3284 #can_setup_review_app?3285 when the ci/cd file is missing3286 is expected to be truthy3287 when the ci/cd file is not missing3288 and the user can create a cluster3289 and there is no cluster associated to this project3290 is expected to be truthy3291 and there is already a cluster associated to this project3292 is expected to be falsey3293 when a group cluster is instantiated3294 and the project belongs to this group3295 is expected to be falsey3296 and the project does not belong to this group3297 is expected to be truthy3298 and there is already an instance cluster3299 is false3300 and the user cannot create a cluster3301 is expected to be falsey3302Analytics::CycleAnalytics::ProjectStage3303 default stages must be valid3304 associations3305 is expected to belong to project required: false3306 behaves like value stream analytics stage3307 associations3308 is expected to belong to end_event_label required: false3309 is expected to belong to start_event_label required: false3310 is expected to belong to stage_event_hash required: false3311 validation3312 is valid3313 validates presence of parent3314 validates presence of start_event_identifier3315 validates presence of end_event_identifier3316 is invalid when end_event is not allowed for the given start_event3317 disallows default stage names when creating custom stage3318 is expected not to be valid3319 .by_value_stream3320 finds stages by value stream3321 #subject_class3322 infers the model from the start event3323 #start_event3324 builds start_event object based on start_event_identifier3325 #end_event3326 builds end_event object based on end_event_identifier3327 #matches_with_stage_params?3328 matches with default stage params3329 mismatches when the stage is custom3330 #parent_id3331 delegates to 'parent_name'_id attribute3332 #hash_code3333 does not differ when the same object is built with the same params3334 differs when the stage events are different3335 #event_hash3336 associates the same stage event hash record3337 does not introduce duplicated stage event hash records3338 creates different hash record for different event configurations3339 when the stage event hash changes3340 deletes the old, unused stage event hash record3341 does not delete used stage event hash record3342 when the stage events hash code does not change3343 does not trigger extra query on save3344 relative positioning3345 behaves like a class that supports relative positioning3346 #scoped_items3347 includes all items with the same scope3348 #relative_siblings3349 includes all items with the same scope, except self3350 .move_nulls_to_end3351 moves items with null relative_position to the end3352 preserves relative position3353 moves the item near the start position when there are no existing positions3354 does not perform any moves if all items have their relative_position set3355 manages to move nulls to the end even if there is a sequence at the end3356 manages to move nulls to the end even if there is not enough space3357 manages to move nulls to the end, stacking if we cannot create enough space3358 manages to move nulls found in the relative scope3359 can move many nulls3360 does not have an N+1 issue3361 .move_nulls_to_start3362 moves items with null relative_position to the start3363 moves the item near the start position when there are no existing positions3364 preserves relative position3365 does not perform any moves if all items have their relative_position set3366 manages to move nulls to the start even if there is not enough space3367 manages to move nulls to the end, stacking if we cannot create enough space3368 #move_before3369 moves item before3370 can move the item before an item at the start3371 can move the item before an item at MIN_POSITION3372 can move the item before an item bunched up at MIN_POSITION3373 when there is no space3374 moves items correctly3375 leap-frogging to the left3376 can leap-frog STEPS times before needing to rebalance3377 there is no space to the left after moving STEPS times3378 rebalances to the right3379 #move_after3380 moves item after3381 can move the item after an item bunched up at MAX_POSITION3382 when there is no space3383 can move the item after an item at MAX_POSITION3384 moves items correctly3385 leap-frogging3386 rebalances after STEPS jumps3387 #move_to_start3388 places items at most IDEAL_DISTANCE from the start when the range is open3389 moves item to the end3390 positions the item at MIN_POSITION when there is only one space left3391 rebalances when there is already an item at the MIN_POSITION3392 deals with a run of elements at the start3393 #move_to_end3394 places items at most IDEAL_DISTANCE from the start when the range is open3395 moves item to the end3396 positions the item at MAX_POSITION when there is only one space left3397 rebalances when there is already an item at the MAX_POSITION3398 deals with a run of elements at the end3399 #move_between3400 positions item between two other3401 positions item between on top3402 positions item between to end3403 positions items even when after and before positions are the same3404 positions item in the middle of other two if distance is big enough3405 positions item closer to the middle if we are at the very top3406 positions item closer to the middle if we are at the very bottom3407 positions item in the middle of other two3408 positions item right if we pass non-sequential parameters3409 avoids N+1 queries when rebalancing other items3410 the two items are next to each other3411 behaves like moves item between3412 moves the middle item to between left and right3413 there is no space3414 behaves like moves item between3415 moves the middle item to between left and right3416 there is a bunch of items3417 handles bunches correctly3418 behaves like moves item between3419 moves the middle item to between left and right3420 .distinct_stages_within_hierarchy3421 returns distinct stages by start and end events (using stage_event_hash_id)3422ServicePing::BuildPayload3423 #execute3424 behaves like complete service ping payload3425 behaves like service ping payload with all expected metrics3426/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_MATCH3427/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 here3428 is expected to have usage metric "topology"3429SentNotification3430 validation3431 note validity3432 when the project doesn't match the noteable's project3433 is invalid3434 when the project doesn't match the discussion project3435 is invalid3436 when the noteable project and discussion project match3437 is valid3438 .record3439 behaves like a successful sent notification3440 creates a new SentNotification3441 .record_note3442 for a discussion note3443 sets in_reply_to_discussion_id3444 behaves like a successful sent notification3445 creates a new SentNotification3446 for an individual note3447 sets in_reply_to_discussion_id3448 behaves like a successful sent notification3449 creates a new SentNotification3450 #unsubscribable?3451 behaves like an unsubscribable notification3452 for issue3453 is expected to be unsubscribable3454 behaves like an unsubscribable notification3455 for merge request3456 is expected to be unsubscribable3457 behaves like a non-unsubscribable notification3458 for a commit3459 is expected not to be unsubscribable3460 behaves like a non-unsubscribable notification3461 for a personal snippet3462 is expected not to be unsubscribable3463 behaves like a non-unsubscribable notification3464 for a project snippet3465 is expected not to be unsubscribable3466 #for_commit?3467 behaves like a non-commit notification3468 for a issue3469 is expected not to be for commit3470 behaves like a non-commit notification3471 for a merge request3472 is expected not to be for commit3473 behaves like a commit notification3474 for commit3475 is expected to be for commit3476 behaves like a non-commit notification3477 for a personal snippet3478 is expected not to be for commit3479 behaves like a non-commit notification3480 for a project snippet3481 is expected not to be for commit3482 #for_snippet?3483 behaves like a non-snippet notification3484 for a issue3485 is expected not to be for snippet3486 behaves like a non-snippet notification3487 for a merge request3488 is expected not to be for snippet3489 behaves like a non-snippet notification3490 for a commit3491 is expected not to be for snippet3492 behaves like a snippet notification3493 for personal snippet3494 is expected to be for snippet3495 behaves like a snippet notification3496 for project snippet3497 is expected to be for snippet3498 #create_reply3499 for issue3500 creates a comment on the issue3501 for issue comment3502 converts the comment to a discussion on the issue3503 for issue discussion3504 creates a reply on the discussion3505 for merge request3506 creates a comment on the merge_request3507 for merge request comment3508 converts the comment to a discussion on the merge request3509 for merge request diff discussion3510 creates a reply on the discussion3511 for merge request non-diff discussion3512 creates a reply on the discussion3513 for commit3514 creates a comment on the commit3515 for commit comment3516 creates a comment on the commit3517 for commit diff discussion3518 creates a reply on the discussion3519 for commit non-diff discussion3520 creates a reply on the discussion3521 #position=3522 doesn't accept non-hash JSON passed as a string3523 does accept a position hash as a string3524 does accept a hash3525Gitlab::Database::Reflection3526 #username3527 when a username is set3528 returns the username3529 when a username is not set3530 returns the value of the USER environment variable3531 #database_name3532 returns the name of the database3533 #adapter_name3534 returns the database adapter name3535 #human_adapter_name3536 when the adapter is PostgreSQL3537 returns PostgreSQL3538 when the adapter is not PostgreSQL3539 returns Unknown3540 #postgresql?3541 when using PostgreSQL3542 returns true3543 when not using PostgreSQL3544 returns false3545 #db_read_only?3546 detects a read-only database3547 detects a read-only database3548 detects a read-write database3549 detects a read-write database3550 #db_read_write?3551 detects a read-only database3552 detects a read-only database3553 detects a read-write database3554 detects a read-write database3555 #version3556 memoizes the result3557 on postgresql3558 extracts the version number3559 #postgresql_minimum_supported_version?3560 returns false when using PostgreSQL 103561 returns false when using PostgreSQL 113562 returns true when using PostgreSQL 123563 #cached_column_exists?3564 only retrieves the data from the schema cache3565 #cached_table_exists?3566 only retrieves the data from the schema cache3567 returns false when database does not exist3568 #exists?3569 returns true if the database exists3570 returns false if the database doesn't exist3571 #system_id3572 returns the PostgreSQL system identifier3573 #flavor3574 re-raises exceptions not matching expected messages3575 recognizes Amazon Aurora PostgreSQL3576 recognizes PostgreSQL on Amazon RDS3577 recognizes CloudSQL for PostgreSQL3578 recognizes Azure Database for PostgreSQL - Flexible Server3579 recognizes Azure Database for PostgreSQL - Single Server3580 returns nil if can not recognize the flavor3581 #config3582 returns a HashWithIndifferentAccess3583 returns a default pool size3584 does not cache its results3585Import/Export Project configuration3586 relation_path: "project", relation_name: :project3587 where relation project3588 does not have prohibited keys3589 relation_path: "project.labels", relation_name: :labels3590 where relation project.labels3591 does not have prohibited keys3592 relation_path: "project.labels.priorities", relation_name: :priorities3593 where relation project.labels.priorities3594 does not have prohibited keys3595 relation_path: "project.milestones", relation_name: :milestones3596 where relation project.milestones3597 does not have prohibited keys3598 relation_path: "project.milestones.events", relation_name: :events3599 where relation project.milestones.events3600 does not have prohibited keys3601 relation_path: "project.milestones.events.push_event_payload", relation_name: :push_event_payload3602 where relation project.milestones.events.push_event_payload3603 does not have prohibited keys3604 relation_path: "project.issues", relation_name: :issues3605 where relation project.issues3606 does not have prohibited keys3607 relation_path: "project.issues.events", relation_name: :events3608 where relation project.issues.events3609 does not have prohibited keys3610 relation_path: "project.issues.events.push_event_payload", relation_name: :push_event_payload3611 where relation project.issues.events.push_event_payload3612 does not have prohibited keys3613 relation_path: "project.issues.timelogs", relation_name: :timelogs3614 where relation project.issues.timelogs3615 does not have prohibited keys3616 relation_path: "project.issues.notes", relation_name: :notes3617 where relation project.issues.notes3618 does not have prohibited keys3619 relation_path: "project.issues.notes.award_emoji", relation_name: :award_emoji3620 where relation project.issues.notes.award_emoji3621 does not have prohibited keys3622 relation_path: "project.issues.notes.system_note_metadata", relation_name: :system_note_metadata3623 where relation project.issues.notes.system_note_metadata3624 does not have prohibited keys3625 relation_path: "project.issues.notes.events", relation_name: :events3626 where relation project.issues.notes.events3627 does not have prohibited keys3628 relation_path: "project.issues.notes.events.push_event_payload", relation_name: :push_event_payload3629 where relation project.issues.notes.events.push_event_payload3630 does not have prohibited keys3631 relation_path: "project.issues.label_links", relation_name: :label_links3632 where relation project.issues.label_links3633 does not have prohibited keys3634 relation_path: "project.issues.label_links.label", relation_name: :label3635 where relation project.issues.label_links.label3636 does not have prohibited keys3637 relation_path: "project.issues.label_links.label.priorities", relation_name: :priorities3638 where relation project.issues.label_links.label.priorities3639 does not have prohibited keys3640 relation_path: "project.issues.milestone", relation_name: :milestone3641 where relation project.issues.milestone3642 does not have prohibited keys3643 relation_path: "project.issues.milestone.events", relation_name: :events3644 where relation project.issues.milestone.events3645 does not have prohibited keys3646 relation_path: "project.issues.milestone.events.push_event_payload", relation_name: :push_event_payload3647 where relation project.issues.milestone.events.push_event_payload3648 does not have prohibited keys3649 relation_path: "project.issues.resource_label_events", relation_name: :resource_label_events3650 where relation project.issues.resource_label_events3651 does not have prohibited keys3652 relation_path: "project.issues.resource_label_events.label", relation_name: :label3653 where relation project.issues.resource_label_events.label3654 does not have prohibited keys3655 relation_path: "project.issues.resource_label_events.label.priorities", relation_name: :priorities3656 where relation project.issues.resource_label_events.label.priorities3657 does not have prohibited keys3658 relation_path: "project.issues.designs", relation_name: :designs3659 where relation project.issues.designs3660 does not have prohibited keys3661 relation_path: "project.issues.designs.notes", relation_name: :notes3662 where relation project.issues.designs.notes3663 does not have prohibited keys3664 relation_path: "project.issues.designs.notes.events", relation_name: :events3665 where relation project.issues.designs.notes.events3666 does not have prohibited keys3667 relation_path: "project.issues.designs.notes.events.push_event_payload", relation_name: :push_event_payload3668 where relation project.issues.designs.notes.events.push_event_payload3669 does not have prohibited keys3670 relation_path: "project.issues.design_versions", relation_name: :design_versions3671 where relation project.issues.design_versions3672 does not have prohibited keys3673 relation_path: "project.issues.design_versions.actions", relation_name: :actions3674 where relation project.issues.design_versions.actions3675 does not have prohibited keys3676 relation_path: "project.issues.design_versions.actions.design", relation_name: :design3677 where relation project.issues.design_versions.actions.design3678 does not have prohibited keys3679 relation_path: "project.issues.issue_assignees", relation_name: :issue_assignees3680 where relation project.issues.issue_assignees3681 does not have prohibited keys3682 relation_path: "project.issues.zoom_meetings", relation_name: :zoom_meetings3683 where relation project.issues.zoom_meetings3684 does not have prohibited keys3685 relation_path: "project.issues.sentry_issue", relation_name: :sentry_issue3686 where relation project.issues.sentry_issue3687 does not have prohibited keys3688 relation_path: "project.issues.award_emoji", relation_name: :award_emoji3689 where relation project.issues.award_emoji3690 does not have prohibited keys3691 relation_path: "project.snippets", relation_name: :snippets3692 where relation project.snippets3693 does not have prohibited keys3694 relation_path: "project.snippets.award_emoji", relation_name: :award_emoji3695 where relation project.snippets.award_emoji3696 does not have prohibited keys3697 relation_path: "project.snippets.notes", relation_name: :notes3698 where relation project.snippets.notes3699 does not have prohibited keys3700 relation_path: "project.snippets.notes.award_emoji", relation_name: :award_emoji3701 where relation project.snippets.notes.award_emoji3702 does not have prohibited keys3703 relation_path: "project.releases", relation_name: :releases3704 where relation project.releases3705 does not have prohibited keys3706 relation_path: "project.releases.links", relation_name: :links3707 where relation project.releases.links3708 does not have prohibited keys3709 relation_path: "project.releases.milestone_releases", relation_name: :milestone_releases3710 where relation project.releases.milestone_releases3711 does not have prohibited keys3712 relation_path: "project.releases.milestone_releases.milestone", relation_name: :milestone3713 where relation project.releases.milestone_releases.milestone3714 does not have prohibited keys3715 relation_path: "project.project_members", relation_name: :project_members3716 where relation project.project_members3717 does not have prohibited keys3718 relation_path: "project.project_members.user", relation_name: :user3719 where relation project.project_members.user3720 does not have prohibited keys3721 relation_path: "project.merge_requests", relation_name: :merge_requests3722 where relation project.merge_requests3723 does not have prohibited keys3724 relation_path: "project.merge_requests.metrics", relation_name: :metrics3725 where relation project.merge_requests.metrics3726 does not have prohibited keys3727 relation_path: "project.merge_requests.award_emoji", relation_name: :award_emoji3728 where relation project.merge_requests.award_emoji3729 does not have prohibited keys3730 relation_path: "project.merge_requests.notes", relation_name: :notes3731 where relation project.merge_requests.notes3732 does not have prohibited keys3733 relation_path: "project.merge_requests.notes.award_emoji", relation_name: :award_emoji3734 where relation project.merge_requests.notes.award_emoji3735 does not have prohibited keys3736 relation_path: "project.merge_requests.notes.system_note_metadata", relation_name: :system_note_metadata3737 where relation project.merge_requests.notes.system_note_metadata3738 does not have prohibited keys3739 relation_path: "project.merge_requests.notes.events", relation_name: :events3740 where relation project.merge_requests.notes.events3741 does not have prohibited keys3742 relation_path: "project.merge_requests.notes.events.push_event_payload", relation_name: :push_event_payload3743 where relation project.merge_requests.notes.events.push_event_payload3744 does not have prohibited keys3745 relation_path: "project.merge_requests.notes.suggestions", relation_name: :suggestions3746 where relation project.merge_requests.notes.suggestions3747 does not have prohibited keys3748 relation_path: "project.merge_requests.merge_request_diff", relation_name: :merge_request_diff3749 where relation project.merge_requests.merge_request_diff3750 does not have prohibited keys3751 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_commits", relation_name: :merge_request_diff_commits3752 where relation project.merge_requests.merge_request_diff.merge_request_diff_commits3753 does not have prohibited keys3754 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_commits.commit_author", relation_name: :commit_author3755 where relation project.merge_requests.merge_request_diff.merge_request_diff_commits.commit_author3756 does not have prohibited keys3757 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_commits.committer", relation_name: :committer3758 where relation project.merge_requests.merge_request_diff.merge_request_diff_commits.committer3759 does not have prohibited keys3760 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_files", relation_name: :merge_request_diff_files3761 where relation project.merge_requests.merge_request_diff.merge_request_diff_files3762 does not have prohibited keys3763 relation_path: "project.merge_requests.events", relation_name: :events3764 where relation project.merge_requests.events3765 does not have prohibited keys3766 relation_path: "project.merge_requests.events.push_event_payload", relation_name: :push_event_payload3767 where relation project.merge_requests.events.push_event_payload3768 does not have prohibited keys3769 relation_path: "project.merge_requests.timelogs", relation_name: :timelogs3770 where relation project.merge_requests.timelogs3771 does not have prohibited keys3772 relation_path: "project.merge_requests.label_links", relation_name: :label_links3773 where relation project.merge_requests.label_links3774 does not have prohibited keys3775 relation_path: "project.merge_requests.label_links.label", relation_name: :label3776 where relation project.merge_requests.label_links.label3777 does not have prohibited keys3778 relation_path: "project.merge_requests.label_links.label.priorities", relation_name: :priorities3779 where relation project.merge_requests.label_links.label.priorities3780 does not have prohibited keys3781 relation_path: "project.merge_requests.milestone", relation_name: :milestone3782 where relation project.merge_requests.milestone3783 does not have prohibited keys3784 relation_path: "project.merge_requests.milestone.events", relation_name: :events3785 where relation project.merge_requests.milestone.events3786 does not have prohibited keys3787 relation_path: "project.merge_requests.milestone.events.push_event_payload", relation_name: :push_event_payload3788 where relation project.merge_requests.milestone.events.push_event_payload3789 does not have prohibited keys3790 relation_path: "project.merge_requests.resource_label_events", relation_name: :resource_label_events3791 where relation project.merge_requests.resource_label_events3792 does not have prohibited keys3793 relation_path: "project.merge_requests.resource_label_events.label", relation_name: :label3794 where relation project.merge_requests.resource_label_events.label3795 does not have prohibited keys3796 relation_path: "project.merge_requests.resource_label_events.label.priorities", relation_name: :priorities3797 where relation project.merge_requests.resource_label_events.label.priorities3798 does not have prohibited keys3799 relation_path: "project.external_pull_requests", relation_name: :external_pull_requests3800 where relation project.external_pull_requests3801 does not have prohibited keys3802 relation_path: "project.ci_pipelines", relation_name: :ci_pipelines3803 where relation project.ci_pipelines3804 does not have prohibited keys3805 relation_path: "project.ci_pipelines.notes", relation_name: :notes3806 where relation project.ci_pipelines.notes3807 does not have prohibited keys3808 relation_path: "project.ci_pipelines.notes.events", relation_name: :events3809 where relation project.ci_pipelines.notes.events3810 does not have prohibited keys3811 relation_path: "project.ci_pipelines.notes.events.push_event_payload", relation_name: :push_event_payload3812 where relation project.ci_pipelines.notes.events.push_event_payload3813 does not have prohibited keys3814 relation_path: "project.ci_pipelines.stages", relation_name: :stages3815 where relation project.ci_pipelines.stages3816 does not have prohibited keys3817 relation_path: "project.ci_pipelines.stages.statuses", relation_name: :statuses3818 where relation project.ci_pipelines.stages.statuses3819 does not have prohibited keys3820 relation_path: "project.ci_pipelines.external_pull_request", relation_name: :external_pull_request3821 where relation project.ci_pipelines.external_pull_request3822 does not have prohibited keys3823 relation_path: "project.ci_pipelines.merge_request", relation_name: :merge_request3824 where relation project.ci_pipelines.merge_request3825 does not have prohibited keys3826 relation_path: "project.auto_devops", relation_name: :auto_devops3827 where relation project.auto_devops3828 does not have prohibited keys3829 relation_path: "project.pipeline_schedules", relation_name: :pipeline_schedules3830 where relation project.pipeline_schedules3831 does not have prohibited keys3832 relation_path: "project.container_expiration_policy", relation_name: :container_expiration_policy3833 where relation project.container_expiration_policy3834 does not have prohibited keys3835 relation_path: "project.protected_branches", relation_name: :protected_branches3836 where relation project.protected_branches3837 does not have prohibited keys3838 relation_path: "project.protected_branches.merge_access_levels", relation_name: :merge_access_levels3839 where relation project.protected_branches.merge_access_levels3840 does not have prohibited keys3841 relation_path: "project.protected_branches.push_access_levels", relation_name: :push_access_levels3842 where relation project.protected_branches.push_access_levels3843 does not have prohibited keys3844 relation_path: "project.protected_tags", relation_name: :protected_tags3845 where relation project.protected_tags3846 does not have prohibited keys3847 relation_path: "project.protected_tags.create_access_levels", relation_name: :create_access_levels3848 where relation project.protected_tags.create_access_levels3849 does not have prohibited keys3850 relation_path: "project.project_feature", relation_name: :project_feature3851 where relation project.project_feature3852 does not have prohibited keys3853 relation_path: "project.custom_attributes", relation_name: :custom_attributes3854 where relation project.custom_attributes3855 does not have prohibited keys3856 relation_path: "project.prometheus_metrics", relation_name: :prometheus_metrics3857 where relation project.prometheus_metrics3858 does not have prohibited keys3859 relation_path: "project.project_badges", relation_name: :project_badges3860 where relation project.project_badges3861 does not have prohibited keys3862 relation_path: "project.ci_cd_settings", relation_name: :ci_cd_settings3863 where relation project.ci_cd_settings3864 does not have prohibited keys3865 relation_path: "project.error_tracking_setting", relation_name: :error_tracking_setting3866 where relation project.error_tracking_setting3867 does not have prohibited keys3868 relation_path: "project.metrics_setting", relation_name: :metrics_setting3869 where relation project.metrics_setting3870 does not have prohibited keys3871 relation_path: "project.boards", relation_name: :boards3872 where relation project.boards3873 does not have prohibited keys3874 relation_path: "project.boards.lists", relation_name: :lists3875 where relation project.boards.lists3876 does not have prohibited keys3877 relation_path: "project.boards.lists.label", relation_name: :label3878 where relation project.boards.lists.label3879 does not have prohibited keys3880 relation_path: "project.boards.lists.label.priorities", relation_name: :priorities3881 where relation project.boards.lists.label.priorities3882 does not have prohibited keys3883 relation_path: "project.service_desk_setting", relation_name: :service_desk_setting3884 where relation project.service_desk_setting3885 does not have prohibited keys3886Backup::Files3887 #restore3888 folders with permission3889 moves all necessary files3890 raises no errors3891 calls tar command with unlink3892 raises an error on failure3893 folders without permissions3894 shows error message3895 folders that are a mountpoint3896 shows error message3897 #dump3898 raises no errors3899 excludes tmp dirs from archive3900 raises an error on failure3901 with STRATEGY=copy3902 excludes tmp dirs from rsync3903 retries if rsync fails due to vanishing files3904 raises an error and outputs an error message if rsync failed3905 #exclude_dirs3906 prepends a leading dot slash to tar excludes3907 prepends a leading slash and app_files_dir basename to rsync excludes3908 #run_pipeline!3909 executes an Open3.pipeline for cmd_list3910 returns an empty output on success pipeline3911 returns the stderr for failed pipeline3912 returns the success status list on success pipeline3913 returns the failed status in status list for failed commands in pipeline3914 #pipeline_succeeded?3915 returns true if both tar and gzip succeeeded3916 returns false if gzip failed3917 if gzip succeeded and tar failed non-critically3918 returns true3919 if gzip succeeded and tar failed in other cases3920 returns false3921 #tar_ignore_non_success?3922 if `tar` command exits with 1 exitstatus3923Ignoring tar exit status 1 'Some files differ': any_output3924 returns true3925 outputs a warning3926 if `tar` command exits with 2 exitstatus with non-critical warning3927Ignoring non-success exit status 2 due to output of non-critical warning(s): any_output3928 returns true3929 outputs a warning3930 if `tar` command exits with any other unlisted error3931 returns false3932 #noncritical_warning?3933 returns true if given text matches noncritical warnings list3934 returns false otherwize3935RuboCop::Cop::Gitlab::MarkUsedFeatureFlags3936 Feature.enabled? method3937 a string feature flag3938 sets the flag as used3939 a symbol feature flag3940 sets the flag as used3941 an interpolated string feature flag with a string prefix3942The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.enabled?("foo_#{bar}")`, source: (string))3943The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.enabled?("foo_#{bar}")`, source: (string))3944 sets the flag as used3945 an interpolated symbol feature flag with a string prefix3946The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.enabled?(:"foo_#{bar}")`, source: (string))3947The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.enabled?(:"foo_#{bar}")`, source: (string))3948 sets the flag as used3949 a string with a "/" in it3950 sets the flag as used3951 an interpolated string feature flag with a string prefix and suffix3952Interpolated feature flag name has multiple static string parts, we won't track it. (call: `Feature.enabled?(:"foo_#{bar}_baz")`, source: (string))3953 sets the flag as used3954 a dynamic string feature flag as a variable3955Feature flag is dynamic: '(send nil :a_variable). (call: `Feature.enabled?(a_variable, an_arg)`, source: (string))3956 sets the flag as used3957 an integer feature flag3958Feature flag has an unknown type: int. (call: `Feature.enabled?(123)`, source: (string))3959 sets the flag as used3960 Feature.disabled? method3961 a string feature flag3962 sets the flag as used3963 a symbol feature flag3964 sets the flag as used3965 an interpolated string feature flag with a string prefix3966The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.disabled?("foo_#{bar}")`, source: (string))3967The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.disabled?("foo_#{bar}")`, source: (string))3968 sets the flag as used3969 an interpolated symbol feature flag with a string prefix3970The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.disabled?(:"foo_#{bar}")`, source: (string))3971The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature.disabled?(:"foo_#{bar}")`, source: (string))3972 sets the flag as used3973 a string with a "/" in it3974 sets the flag as used3975 an interpolated string feature flag with a string prefix and suffix3976Interpolated feature flag name has multiple static string parts, we won't track it. (call: `Feature.disabled?(:"foo_#{bar}_baz")`, source: (string))3977 sets the flag as used3978 a dynamic string feature flag as a variable3979Feature flag is dynamic: '(send nil :a_variable). (call: `Feature.disabled?(a_variable, an_arg)`, source: (string))3980 sets the flag as used3981 an integer feature flag3982Feature flag has an unknown type: int. (call: `Feature.disabled?(123)`, source: (string))3983 sets the flag as used3984 push_frontend_feature_flag method3985 a string feature flag3986 sets the flag as used3987 a symbol feature flag3988 sets the flag as used3989 an interpolated string feature flag with a string prefix3990The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_feature_flag("foo_#{bar}")`, source: (string))3991The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_feature_flag("foo_#{bar}")`, source: (string))3992 sets the flag as used3993 an interpolated symbol feature flag with a string prefix3994The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_feature_flag(:"foo_#{bar}")`, source: (string))3995The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_feature_flag(:"foo_#{bar}")`, source: (string))3996 sets the flag as used3997 a string with a "/" in it3998 sets the flag as used3999 an interpolated string feature flag with a string prefix and suffix4000Interpolated feature flag name has multiple static string parts, we won't track it. (call: `push_frontend_feature_flag(:"foo_#{bar}_baz")`, source: (string))4001 sets the flag as used4002 a dynamic string feature flag as a variable4003Feature flag is dynamic: '(send nil :a_variable). (call: `push_frontend_feature_flag(a_variable, an_arg)`, source: (string))4004 sets the flag as used4005 an integer feature flag4006Feature flag has an unknown type: int. (call: `push_frontend_feature_flag(123)`, source: (string))4007 sets the flag as used4008 Feature::Gitaly.enabled? method4009 a string feature flag4010 sets the flag as used4011 a symbol feature flag4012 sets the flag as used4013 an interpolated string feature flag with a string prefix4014The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.enabled?("foo_#{bar}")`, source: (string))4015The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.enabled?("foo_#{bar}")`, source: (string))4016 sets the flag as used4017 an interpolated symbol feature flag with a string prefix4018The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.enabled?(:"foo_#{bar}")`, source: (string))4019The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.enabled?(:"foo_#{bar}")`, source: (string))4020 sets the flag as used4021 an interpolated string feature flag with a string prefix and suffix4022Interpolated feature flag name has multiple static string parts, we won't track it. (call: `Feature::Gitaly.enabled?(:"foo_#{bar}_baz")`, source: (string))4023 sets the flag as used4024 a dynamic string feature flag as a variable4025Feature flag is dynamic: '(send nil :a_variable). (call: `Feature::Gitaly.enabled?(a_variable, an_arg)`, source: (string))4026 sets the flag as used4027 an integer feature flag4028Feature flag has an unknown type: int. (call: `Feature::Gitaly.enabled?(123)`, source: (string))4029 sets the flag as used4030 Feature::Gitaly.disabled? method4031 a string feature flag4032 sets the flag as used4033 a symbol feature flag4034 sets the flag as used4035 an interpolated string feature flag with a string prefix4036The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.disabled?("foo_#{bar}")`, source: (string))4037The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.disabled?("foo_#{bar}")`, source: (string))4038 sets the flag as used4039 an interpolated symbol feature flag with a string prefix4040The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.disabled?(:"foo_#{bar}")`, source: (string))4041The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Feature::Gitaly.disabled?(:"foo_#{bar}")`, source: (string))4042 sets the flag as used4043 an interpolated string feature flag with a string prefix and suffix4044Interpolated feature flag name has multiple static string parts, we won't track it. (call: `Feature::Gitaly.disabled?(:"foo_#{bar}_baz")`, source: (string))4045 sets the flag as used4046 a dynamic string feature flag as a variable4047Feature flag is dynamic: '(send nil :a_variable). (call: `Feature::Gitaly.disabled?(a_variable, an_arg)`, source: (string))4048 sets the flag as used4049 an integer feature flag4050Feature flag has an unknown type: int. (call: `Feature::Gitaly.disabled?(123)`, source: (string))4051 sets the flag as used4052 experiment method4053 a string feature flag4054The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `experiment("baz")`, source: (string))4055 sets the flag as used4056 a symbol feature flag4057The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `experiment(:baz)`, source: (string))4058 sets the flag as used4059 an interpolated string feature flag with a string prefix4060The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment("foo_#{bar}")`, source: (string))4061The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment("foo_#{bar}")`, source: (string))4062 sets the flag as used4063 an interpolated symbol feature flag with a string prefix4064The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment(:"foo_#{bar}")`, source: (string))4065The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment(:"foo_#{bar}")`, source: (string))4066 sets the flag as used4067 an interpolated string feature flag with a string prefix and suffix4068Interpolated feature flag name has multiple static string parts, we won't track it. (call: `experiment(:"foo_#{bar}_baz")`, source: (string))4069 sets the flag as used4070 a dynamic string feature flag as a variable4071Feature flag is dynamic: '(send nil :a_variable). (call: `experiment(a_variable, an_arg)`, source: (string))4072 sets the flag as used4073 an integer feature flag4074Feature flag has an unknown type: int. (call: `experiment(123)`, source: (string))4075 sets the flag as used4076 experiment_enabled? method4077 a string feature flag4078The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `experiment_enabled?("baz")`, source: (string))4079 sets the flag as used4080 a symbol feature flag4081The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `experiment_enabled?(:baz)`, source: (string))4082 sets the flag as used4083 an interpolated string feature flag with a string prefix4084The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment_enabled?("foo_#{bar}")`, source: (string))4085The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment_enabled?("foo_#{bar}")`, source: (string))4086 sets the flag as used4087 an interpolated symbol feature flag with a string prefix4088The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment_enabled?(:"foo_#{bar}")`, source: (string))4089The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `experiment_enabled?(:"foo_#{bar}")`, source: (string))4090 sets the flag as used4091 an interpolated string feature flag with a string prefix and suffix4092Interpolated feature flag name has multiple static string parts, we won't track it. (call: `experiment_enabled?(:"foo_#{bar}_baz")`, source: (string))4093 sets the flag as used4094 a dynamic string feature flag as a variable4095Feature flag is dynamic: '(send nil :a_variable). (call: `experiment_enabled?(a_variable, an_arg)`, source: (string))4096 sets the flag as used4097 an integer feature flag4098Feature flag has an unknown type: int. (call: `experiment_enabled?(123)`, source: (string))4099 sets the flag as used4100 push_frontend_experiment method4101 a string feature flag4102The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `push_frontend_experiment("baz")`, source: (string))4103 sets the flag as used4104 a symbol feature flag4105The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `push_frontend_experiment(:baz)`, source: (string))4106 sets the flag as used4107 an interpolated string feature flag with a string prefix4108The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_experiment("foo_#{bar}")`, source: (string))4109The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_experiment("foo_#{bar}")`, source: (string))4110 sets the flag as used4111 an interpolated symbol feature flag with a string prefix4112The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_experiment(:"foo_#{bar}")`, source: (string))4113The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `push_frontend_experiment(:"foo_#{bar}")`, source: (string))4114 sets the flag as used4115 an interpolated string feature flag with a string prefix and suffix4116Interpolated feature flag name has multiple static string parts, we won't track it. (call: `push_frontend_experiment(:"foo_#{bar}_baz")`, source: (string))4117 sets the flag as used4118 a dynamic string feature flag as a variable4119Feature flag is dynamic: '(send nil :a_variable). (call: `push_frontend_experiment(a_variable, an_arg)`, source: (string))4120 sets the flag as used4121 an integer feature flag4122Feature flag has an unknown type: int. (call: `push_frontend_experiment(123)`, source: (string))4123 sets the flag as used4124 Gitlab::Experimentation.active? method4125 a string feature flag4126The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `Gitlab::Experimentation.active?("baz")`, source: (string))4127 sets the flag as used4128 a symbol feature flag4129The 'baz_experiment_percentage' feature flag tracks the baz experiment, which is still in use, so we'll mark it as used. (call: `Gitlab::Experimentation.active?(:baz)`, source: (string))4130 sets the flag as used4131 an interpolated string feature flag with a string prefix4132The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Gitlab::Experimentation.active?("foo_#{bar}")`, source: (string))4133The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Gitlab::Experimentation.active?("foo_#{bar}")`, source: (string))4134 sets the flag as used4135 an interpolated symbol feature flag with a string prefix4136The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Gitlab::Experimentation.active?(:"foo_#{bar}")`, source: (string))4137The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `Gitlab::Experimentation.active?(:"foo_#{bar}")`, source: (string))4138 sets the flag as used4139 an interpolated string feature flag with a string prefix and suffix4140Interpolated feature flag name has multiple static string parts, we won't track it. (call: `Gitlab::Experimentation.active?(:"foo_#{bar}_baz")`, source: (string))4141 sets the flag as used4142 a dynamic string feature flag as a variable4143Feature flag is dynamic: '(send nil :a_variable). (call: `Gitlab::Experimentation.active?(a_variable, an_arg)`, source: (string))4144 sets the flag as used4145 an integer feature flag4146Feature flag has an unknown type: int. (call: `Gitlab::Experimentation.active?(123)`, source: (string))4147 sets the flag as used4148 use_rugged? method4149 a string feature flag4150 sets the flag as used4151 a symbol feature flag4152 sets the flag as used4153 an interpolated string feature flag with a string prefix4154The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `use_rugged?(arg, "foo_#{bar}")`, source: (string))4155The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `use_rugged?(arg, "foo_#{bar}")`, source: (string))4156 sets the flag as used4157 an interpolated symbol feature flag with a string prefix4158The 'foo_hello' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `use_rugged?(arg, :"foo_#{bar}")`, source: (string))4159The 'foo_world' feature flag starts with 'foo_', so we'll optimistically mark it as used. (call: `use_rugged?(arg, :"foo_#{bar}")`, source: (string))4160 sets the flag as used4161 an interpolated string feature flag with a string prefix and suffix4162Interpolated feature flag name has multiple static string parts, we won't track it. (call: `use_rugged?(arg, :"foo_#{bar}_baz")`, source: (string))4163 sets the flag as used4164 a dynamic string feature flag as a variable4165Feature flag is dynamic: '(send nil :an_arg). (call: `use_rugged?(a_variable, an_arg)`, source: (string))4166 sets the flag as used4167 an integer feature flag4168Feature flag has an unknown type: int. (call: `use_rugged?(arg, 123)`, source: (string))4169 sets the flag as used4170 self.limit_feature_flag = :foo4171 sets the flag as used4172 self.limit_feature_flag_for_override = :foo4173 sets the flag as used4174 FEATURE_FLAG = :foo4175 sets the flag as used4176 Worker `data_consistency` method4177 sets the flag as used4178 sets the flag as used4179 Worker `deduplicate` method4180 sets the flag as used4181 sets the flag as used4182 GraphQL `field` method4183 sets the flag as used4184 sets the flag as used4185 sets the flag as used4186 sets the flag as used4187 sets the flag as used4188 sets the flag as used4189 tracking of usage data metrics known events happens at the beginning of inspection4190 sets the flag as used4191Gitlab::Ci::Status::Factory4192 when object has a core status4193 when simple core status is created4194 fabricates a core status created4195 matches a valid core status for created4196 does not match any extended statuses for created4197 when simple core status is waiting_for_resource4198 fabricates a core status waiting_for_resource4199 matches a valid core status for waiting_for_resource4200 does not match any extended statuses for waiting_for_resource4201 when simple core status is preparing4202 fabricates a core status preparing4203 matches a valid core status for preparing4204 does not match any extended statuses for preparing4205 when simple core status is pending4206 fabricates a core status pending4207 matches a valid core status for pending4208 does not match any extended statuses for pending4209 when simple core status is running4210 fabricates a core status running4211 matches a valid core status for running4212 does not match any extended statuses for running4213 when simple core status is success4214 fabricates a core status success4215 matches a valid core status for success4216 does not match any extended statuses for success4217 when simple core status is failed4218 fabricates a core status failed4219 matches a valid core status for failed4220 does not match any extended statuses for failed4221 when simple core status is canceled4222 fabricates a core status canceled4223 matches a valid core status for canceled4224 does not match any extended statuses for canceled4225 when simple core status is skipped4226 fabricates a core status skipped4227 matches a valid core status for skipped4228 does not match any extended statuses for skipped4229 when simple core status is manual4230 fabricates a core status manual4231 matches a valid core status for manual4232 does not match any extended statuses for manual4233 when simple core status is scheduled4234 fabricates a core status scheduled4235 matches a valid core status for scheduled4236 does not match any extended statuses for scheduled4237 when resource supports multiple extended statuses4238 when exclusive statuses are matches4239 does not fabricate compound decorator4240 delegates to core status4241 matches correct core status4242 matches correct extended statuses4243 when exclusive statuses are not matched4244 behaves like compound decorator factory4245 fabricates compound decorator4246 delegates to core status4247 latest matches status becomes a status name4248 matches correct core status4249 matches correct extended statuses4250 when using simplified status grouping4251 behaves like compound decorator factory4252 fabricates compound decorator4253 delegates to core status4254 latest matches status becomes a status name4255 matches correct core status4256 matches correct extended statuses4257 behaviour of FactoryBot traits that create associations4258 creating a namespace with an associated aggregation_schedule record4259 creates only one Namespace record and one Namespace::AggregationSchedule record4260Every integration4261 asana4262 secret fields4263 uses type: 'password' for all secret fields4264 defines non-empty titles and help texts for all secret fields4265 assembla4266 secret fields4267 uses type: 'password' for all secret fields4268 defines non-empty titles and help texts for all secret fields4269 bamboo4270 secret fields4271 uses type: 'password' for all secret fields4272 defines non-empty titles and help texts for all secret fields4273 bugzilla4274 secret fields4275 uses type: 'password' for all secret fields4276 defines non-empty titles and help texts for all secret fields4277 buildkite4278 secret fields4279 uses type: 'password' for all secret fields4280 defines non-empty titles and help texts for all secret fields4281 campfire4282 secret fields4283 uses type: 'password' for all secret fields4284 defines non-empty titles and help texts for all secret fields4285 confluence4286 secret fields4287 uses type: 'password' for all secret fields4288 defines non-empty titles and help texts for all secret fields4289 custom_issue_tracker4290 secret fields4291 uses type: 'password' for all secret fields4292 defines non-empty titles and help texts for all secret fields4293 datadog4294 secret fields4295 uses type: 'password' for all secret fields4296 defines non-empty titles and help texts for all secret fields4297 discord4298 secret fields4299 uses type: 'password' for all secret fields4300 defines non-empty titles and help texts for all secret fields4301 drone_ci4302 secret fields4303 uses type: 'password' for all secret fields4304 defines non-empty titles and help texts for all secret fields4305 emails_on_push4306 secret fields4307 uses type: 'password' for all secret fields4308 defines non-empty titles and help texts for all secret fields4309 ewm4310 secret fields4311 uses type: 'password' for all secret fields4312 defines non-empty titles and help texts for all secret fields4313 external_wiki4314 secret fields4315 uses type: 'password' for all secret fields4316 defines non-empty titles and help texts for all secret fields4317 flowdock4318 secret fields4319 uses type: 'password' for all secret fields4320 defines non-empty titles and help texts for all secret fields4321 hangouts_chat4322 secret fields4323 uses type: 'password' for all secret fields4324 defines non-empty titles and help texts for all secret fields4325 harbor4326 secret fields4327 uses type: 'password' for all secret fields4328 defines non-empty titles and help texts for all secret fields4329 irker4330 secret fields4331 uses type: 'password' for all secret fields4332 defines non-empty titles and help texts for all secret fields4333 jenkins4334 secret fields4335 uses type: 'password' for all secret fields4336 defines non-empty titles and help texts for all secret fields4337 jira4338 secret fields4339 uses type: 'password' for all secret fields4340 defines non-empty titles and help texts for all secret fields4341 mattermost4342 secret fields4343 uses type: 'password' for all secret fields4344 defines non-empty titles and help texts for all secret fields4345 mattermost_slash_commands4346 secret fields4347 uses type: 'password' for all secret fields4348 defines non-empty titles and help texts for all secret fields4349 microsoft_teams4350 secret fields4351 uses type: 'password' for all secret fields4352 defines non-empty titles and help texts for all secret fields4353 mock_ci4354 secret fields4355 uses type: 'password' for all secret fields4356 defines non-empty titles and help texts for all secret fields4357 mock_monitoring4358 secret fields4359 uses type: 'password' for all secret fields4360 defines non-empty titles and help texts for all secret fields4361 packagist4362 secret fields4363 uses type: 'password' for all secret fields4364 defines non-empty titles and help texts for all secret fields4365 pipelines_email4366 secret fields4367 uses type: 'password' for all secret fields4368 defines non-empty titles and help texts for all secret fields4369 pivotaltracker4370 secret fields4371 uses type: 'password' for all secret fields4372 defines non-empty titles and help texts for all secret fields4373 prometheus4374 secret fields4375 uses type: 'password' for all secret fields4376 defines non-empty titles and help texts for all secret fields4377 pushover4378 secret fields4379 uses type: 'password' for all secret fields4380 defines non-empty titles and help texts for all secret fields4381 redmine4382 secret fields4383 uses type: 'password' for all secret fields4384 defines non-empty titles and help texts for all secret fields4385 shimo4386 secret fields4387 uses type: 'password' for all secret fields4388 defines non-empty titles and help texts for all secret fields4389 slack4390 secret fields4391 uses type: 'password' for all secret fields4392 defines non-empty titles and help texts for all secret fields4393 slack_slash_commands4394 secret fields4395 uses type: 'password' for all secret fields4396 defines non-empty titles and help texts for all secret fields4397 teamcity4398 secret fields4399 uses type: 'password' for all secret fields4400 defines non-empty titles and help texts for all secret fields4401 unify_circuit4402 secret fields4403 uses type: 'password' for all secret fields4404 defines non-empty titles and help texts for all secret fields4405 webex_teams4406 secret fields4407 uses type: 'password' for all secret fields4408 defines non-empty titles and help texts for all secret fields4409 youtrack4410 secret fields4411 uses type: 'password' for all secret fields4412 defines non-empty titles and help texts for all secret fields4413 zentao4414 secret fields4415 uses type: 'password' for all secret fields4416 defines non-empty titles and help texts for all secret fields4417Gitlab::Ci::Runner::Backoff4418 #duration4419 returns backoff duration from start4420 returns an integer value4421 returns the smallest number greater than or equal to duration4422 #slot4423 started: 0, slot: 04424 falls into an appropaite backoff slot4425 started: 0.1, slot: 04426 falls into an appropaite backoff slot4427 started: 0.9, slot: 04428 falls into an appropaite backoff slot4429 started: 1, slot: 04430 falls into an appropaite backoff slot4431 started: 1.1, slot: 04432 falls into an appropaite backoff slot4433 started: 1.9, slot: 04434 falls into an appropaite backoff slot4435 started: 2, slot: 04436 falls into an appropaite backoff slot4437 started: 2.9, slot: 04438 falls into an appropaite backoff slot4439 started: 3, slot: 04440 falls into an appropaite backoff slot4441 started: 4, slot: 14442 falls into an appropaite backoff slot4443 started: 5, slot: 14444 falls into an appropaite backoff slot4445 started: 6, slot: 14446 falls into an appropaite backoff slot4447 started: 7, slot: 14448 falls into an appropaite backoff slot4449 started: 8, slot: 24450 falls into an appropaite backoff slot4451 started: 9, slot: 24452 falls into an appropaite backoff slot4453 started: 9.9, slot: 24454 falls into an appropaite backoff slot4455 started: 10, slot: 24456 falls into an appropaite backoff slot4457 started: 15, slot: 24458 falls into an appropaite backoff slot4459 started: 16, slot: 34460 falls into an appropaite backoff slot4461 started: 31, slot: 34462 falls into an appropaite backoff slot4463 started: 32, slot: 44464 falls into an appropaite backoff slot4465 started: 63, slot: 44466 falls into an appropaite backoff slot4467 started: 64, slot: 54468 falls into an appropaite backoff slot4469 started: 127, slot: 54470 falls into an appropaite backoff slot4471 started: 128, slot: 64472 falls into an appropaite backoff slot4473 started: 250, slot: 64474 falls into an appropaite backoff slot4475 started: 310, slot: 74476 falls into an appropaite backoff slot4477 started: 520, slot: 84478 falls into an appropaite backoff slot4479 started: 999, slot: 84480 falls into an appropaite backoff slot4481 #to_seconds4482 started: 0, backoff: 14483 calculates backoff based on an appropriate slot4484 started: 0.1, backoff: 14485 calculates backoff based on an appropriate slot4486 started: 0.9, backoff: 14487 calculates backoff based on an appropriate slot4488 started: 1, backoff: 14489 calculates backoff based on an appropriate slot4490 started: 1.1, backoff: 14491 calculates backoff based on an appropriate slot4492 started: 1.9, backoff: 14493 calculates backoff based on an appropriate slot4494 started: 2, backoff: 14495 calculates backoff based on an appropriate slot4496 started: 3, backoff: 14497 calculates backoff based on an appropriate slot4498 started: 4, backoff: 24499 calculates backoff based on an appropriate slot4500 started: 5, backoff: 24501 calculates backoff based on an appropriate slot4502 started: 6, backoff: 24503 calculates backoff based on an appropriate slot4504 started: 6.5, backoff: 24505 calculates backoff based on an appropriate slot4506 started: 7, backoff: 24507 calculates backoff based on an appropriate slot4508 started: 8, backoff: 44509 calculates backoff based on an appropriate slot4510 started: 9, backoff: 44511 calculates backoff based on an appropriate slot4512 started: 9.9, backoff: 44513 calculates backoff based on an appropriate slot4514 started: 10, backoff: 44515 calculates backoff based on an appropriate slot4516 started: 15, backoff: 44517 calculates backoff based on an appropriate slot4518 started: 16, backoff: 84519 calculates backoff based on an appropriate slot4520 started: 31, backoff: 84521 calculates backoff based on an appropriate slot4522 started: 32, backoff: 164523 calculates backoff based on an appropriate slot4524 started: 63, backoff: 164525 calculates backoff based on an appropriate slot4526 started: 64, backoff: 324527 calculates backoff based on an appropriate slot4528 started: 127, backoff: 324529 calculates backoff based on an appropriate slot4530 started: 128, backoff: 644531 calculates backoff based on an appropriate slot4532 started: 250, backoff: 644533 calculates backoff based on an appropriate slot4534 started: 310, backoff: 644535 calculates backoff based on an appropriate slot4536 started: 520, backoff: 644537 calculates backoff based on an appropriate slot4538 started: 999, backoff: 644539 calculates backoff based on an appropriate slot4540Projects::AutocompleteService4541 #issues4542 confidential issues4543 does not list project confidential issues for guests4544 does not list project confidential issues for non project members4545 does not list project confidential issues for project members with guest role4546 lists project confidential issues for author4547 lists project confidential issues for assignee4548 lists project confidential issues for project members4549 when admin mode is enabled4550 lists all project issues for admin4551 when admin mode is disabled4552 does not list project confidential issues for admin4553 #milestones4554 includes project and group milestones and sorts them correctly4555 does not include closed milestones4556 does not include milestones from other projects in the group4557 with nested groups4558 includes project milestones and all acestors milestones4559 #contacts4560 returns contact data correctly4561 #labels_as_hash4562 returns labels from project and ancestor groups4563 some labels are already assigned4564 marks already assigned as set4565Packages::Debian::ComponentFileUploader4566 Packages::Debian::ProjectComponentFile4567 behaves like builds correct paths4568 #store_dir4569 behaves like matches the method pattern4570 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_component_file\/\d+$/4571 #cache_dir4572 behaves like matches the method pattern4573 is expected to match /\/packages\/tmp\/cache$/4574 #work_dir4575 behaves like matches the method pattern4576 is expected to match /\/packages\/tmp\/work$/4577 #upload_path4578 behaves like matches the method pattern4579 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4580 #relative_path4581 is relative (PENDING: Path not set, skipping.)4582 .absolute_path4583 behaves like matches the method pattern4584 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4585 .base_dir4586 behaves like matches the method pattern4587 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4588 path traversal exploits4589 throws an exception4590 object store is remote4591 behaves like builds correct paths4592 #store_dir4593 behaves like matches the method pattern4594 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_project_component_file\/\d+$/4595 #cache_dir4596 behaves like matches the method pattern4597 is expected to match /\/packages\/tmp\/cache$/4598 #work_dir4599 behaves like matches the method pattern4600 is expected to match /\/packages\/tmp\/work$/4601 #upload_path4602 behaves like matches the method pattern4603 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4604 #relative_path4605 is relative (PENDING: Path not set, skipping.)4606 .absolute_path4607 behaves like matches the method pattern4608 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4609 .base_dir4610 behaves like matches the method pattern4611 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4612 path traversal exploits4613 throws an exception4614 remote file4615 with object storage enabled4616 can store file remotely4617 Packages::Debian::GroupComponentFile4618 behaves like builds correct paths4619 #store_dir4620 behaves like matches the method pattern4621 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_component_file\/\d+$/4622 #cache_dir4623 behaves like matches the method pattern4624 is expected to match /\/packages\/tmp\/cache$/4625 #work_dir4626 behaves like matches the method pattern4627 is expected to match /\/packages\/tmp\/work$/4628 #upload_path4629 behaves like matches the method pattern4630 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4631 #relative_path4632 is relative (PENDING: Path not set, skipping.)4633 .absolute_path4634 behaves like matches the method pattern4635 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4636 .base_dir4637 behaves like matches the method pattern4638 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4639 path traversal exploits4640 throws an exception4641 object store is remote4642 behaves like builds correct paths4643 #store_dir4644 behaves like matches the method pattern4645 is expected to match /^\h{2}\/\h{2}\/\h{64}\/debian_group_component_file\/\d+$/4646 #cache_dir4647 behaves like matches the method pattern4648 is expected to match /\/packages\/tmp\/cache$/4649 #work_dir4650 behaves like matches the method pattern4651 is expected to match /\/packages\/tmp\/work$/4652 #upload_path4653 behaves like matches the method pattern4654 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4655 #relative_path4656 is relative (PENDING: Path not set, skipping.)4657 .absolute_path4658 behaves like matches the method pattern4659 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4660 .base_dir4661 behaves like matches the method pattern4662 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4663 path traversal exploits4664 throws an exception4665 remote file4666 with object storage enabled4667 can store file remotely4668Banzai::ReferenceParser::MergeRequestParser4669 #nodes_visible_to_user4670 when the link has a data-issue attribute4671 behaves like referenced feature visibility4672 when feature is disabled4673 does not create reference4674 when feature is enabled only for team members4675 does not create reference for non member4676 creates reference for member4677 when feature is enabled4678 creates reference4679 #referenced_by4680 when the link has a data-merge-request attribute4681 using an existing merge request ID4682 returns an Array of merge requests4683 using a non-existing merge request ID4684 returns an empty Array4685 when checking multiple merge requests on another project4686 behaves like no N+1 queries4687 avoids N+1 queries in #records_for_nodes4688 behaves like no project N+1 queries4689 avoids N+1 queries in #nodes_visible_to_user4690 #can_read_reference?4691 is expected to be truthy4692 when merge request belongs to the private project4693 prevents user from reading merge request references4694 when user has access to the project4695 is expected to be truthy4696 with memoization4697 when project is the same4698 calls #can? only once4699 when merge requests belong to different projects4700 calls #can? for each project4701ServerlessDomainFinder4702 #serverless?4703 with a valid URI4704 is expected to be truthy4705 with an invalid URI4706 is expected to be falsy4707 #serverless_domain_cluster_uuid4708 with a valid URI4709 is expected to eq "abcdef12345678"4710 with an invalid URI4711 is expected to be nil4712 #execute4713 with a valid URI4714 has the correct function_name4715 has the correct serverless_domain_cluster4716 has the correct environment4717 with an invalid URI4718 is expected to be nil4719Gitlab::GithubImport::Importer::PullRequestImporter4720 #execute4721 imports the pull request4722 #create_merge_request4723 when the author could be found4724 imports the pull request with the pull request author as the merge request author4725 returns the created merge request4726 when the source and target branch are identical4727 uses a generated source branch name for the merge request4728 when the import fails due to a foreign key error4729 does not raise any errors4730 when the merge request already exists4731 returns the existing merge request4732 when the author could not be found4733 imports the pull request with the project creator as the merge request author4734 #set_merge_request_assignees4735 when pull request has an assignee4736 sets merge request assignees4737 when pull request does not have any assignees4738 does not set merge request assignees4739 #insert_git_data4740 does not create the source branch if merge request is merged4741 creates a merge request diff and sets it as the latest4742 creates the merge request diff commits4743 when merge request is open4744 creates the source branch4745 is able to retry on pre-receive errors4746 ignores Git command errors when creating a branch4747 when the merge request exists4748 creates the merge request diffs if they do not yet exist4749InternalId4750 behaves like having unique enum values4751 has unique values in "usage"4752 validations4753 is expected to validate that :usage cannot be empty/falsy4754 .flush_records!4755 deletes all records for the given project4756 retains records for other projects4757 does not allow an empty filter4758 .generate_next4759 generates a strictly monotone, gapless sequence4760 in the absence of a record4761 creates a record if not yet present4762 stores record attributes4763 with existing issues4764 calculates last_value values automatically4765 there are no instances to pass in4766 accepts classes instead4767 when executed outside of transaction4768 increments counter with in_transaction: "false"4769 when executed within transaction4770 increments counter with in_transaction: "true"4771 .reset4772 in the absence of a record4773 does not revert back the value4774 when valid iid is used to reset4775 and iid is a latest one4776 does rewind and next generated value is the same4777 and iid is not a latest one4778 does not rewind4779 when executed outside of transaction4780 increments counter with in_transaction: "false"4781 when executed within transaction4782 increments counter with in_transaction: "true"4783 .track_greatest4784 stores record attributes4785 in the absence of a record4786 creates a record if not yet present4787 with existing issues4788 still returns the last value to that of the given value4789 when value is less than the current last_value4790 returns the current last_value4791 there are no instances to pass in4792 accepts classes instead4793 when executed outside of transaction4794 increments counter with in_transaction: "false"4795 when executed within transaction4796 increments counter with in_transaction: "true"4797ChronicDurationAttribute4798 when default value is not set4799 behaves like ChronicDurationAttribute reader4800 contains dynamically created reader method4801 outputs chronic duration formatted value4802 when value is set to nil4803 outputs nil4804 behaves like ChronicDurationAttribute writer4805 contains dynamically created writer method4806 parses chronic duration input4807 passes validation4808 when negative input is used4809 doesn't raise exception4810 doesn't change value4811 doesn't pass validation4812 when empty input is used4813 writes default value4814 passes validation4815 when nil input is used4816 writes default value4817 passes validation4818 doesn't raise exception4819 when default value is set4820 behaves like ChronicDurationAttribute reader4821 contains dynamically created reader method4822 outputs chronic duration formatted value4823 when value is set to nil4824 outputs nil4825 behaves like ChronicDurationAttribute writer4826 contains dynamically created writer method4827 parses chronic duration input4828 passes validation4829 when negative input is used4830 doesn't raise exception4831 doesn't change value4832 doesn't pass validation4833 when empty input is used4834 writes default value4835 passes validation4836 when nil input is used4837 writes default value4838 passes validation4839 doesn't raise exception4840ChronicDurationAttribute - reader4841 doesn't contain dynamically created writer method4842 behaves like ChronicDurationAttribute reader4843 contains dynamically created reader method4844 outputs chronic duration formatted value4845 when value is set to nil4846 outputs nil4847Search::GroupService4848 basic search4849 finding projects by name4850 in parent group4851 is expected to contain exactly #<Project id:1050 group1106/group1105/inner_project_name_1>>, #<Project id:1051 group1106/group1105/inner_project_name_2>>, and #<Project id:1052 group1106/outer_project_name>>4852 in subgroup4853 is expected to contain exactly #<Project id:1056 group1108/group1107/inner_project_name_1>> and #<Project id:1057 group1108/group1107/inner_project_name_2>>4854 issues4855 sorting4856 sort: created_desc4857 sorts results by created_at4858 sort: created_asc4859 sorts results by created_at4860 sort: updated_desc4861 sorts results by updated_desc4862 sort: updated_asc4863 sorts results by updated_asc4864 merge requests4865 sorting4866 sort: created_desc4867 sorts results by created_at4868 sort: created_asc4869 sorts results by created_at4870 sort: updated_desc4871 sorts results by updated_desc4872 sort: updated_asc4873 sorts results by updated_asc4874Gitlab::Kubernetes::Helm::V2::InitCommand4875 behaves like helm command generator4876 #generate_script4877 returns appropriate command4878 on a rbac-enabled cluster4879 behaves like helm command generator4880 #generate_script4881 returns appropriate command4882 behaves like helm command4883 HELM_VERSION4884 is expected to match /\d+\.\d+\.\d+/4885 #env4886 is expected to be a kind of Hash4887 #rbac?4888 rbac is enabled4889 is expected to be truthy4890 rbac is not enabled4891 is expected to be falsey4892 #pod_resource4893 rbac is enabled4894 is expected to be an instance of Kubeclient::Resource4895 generates a pod that uses the tiller serviceAccountName4896 rbac is not enabled4897 is expected to be an instance of Kubeclient::Resource4898 generates a pod that uses the default serviceAccountName4899 #config_map_resource4900 returns a KubeClient resource with config map content for the application4901 #service_account_resource4902 rbac is enabled4903 generates a Kubeclient resource for the tiller ServiceAccount4904 rbac is not enabled4905 generates nothing4906 #cluster_role_binding_resource4907 rbac is enabled4908 generates a Kubeclient resource for the ClusterRoleBinding for tiller4909 binds the account in #service_account_resource4910 rbac is not enabled4911 generates nothing4912Timelog4913 is expected to belong to project required: false4914 is expected to belong to issue required: false4915 is expected to belong to merge_request required: false4916 is expected to be valid4917 is expected to validate that :time_spent cannot be empty/falsy4918 is expected to validate that :user cannot be empty/falsy4919 is expected to validate that the length of :summary is at most 2554920 is expected not to be nil4921 validation4922 is invalid if issue_id and merge_request_id are missing4923 is invalid if issue_id and merge_request_id are set4924 is valid if only issue_id is set4925 is valid if only merge_request_id is set4926 when importing4927 is valid if issue_id and merge_request_id are missing4928 scopes4929 .in_group4930 return timelogs created for group issues and merge requests4931 .for_user4932 return timelogs created by user4933 .in_project4934 returns timelogs created for project issues and merge requests4935 .at_or_after4936 returns timelogs at the time limit4937 returns timelogs after given time4938 .at_or_before4939 returns timelogs at the time limit4940 returns timelogs before given time4941 hooks4942 .set_project4943 populates project with issuable project4944ResourceStateEvent4945 behaves like a resource event4946 importable4947 is expected to respond to #importing?4948 is expected to respond to #imported?4949 validations4950 is expected not to allow :user to be ‹nil›4951 when importing4952 is expected to allow :user to be ‹nil›4953 associations4954 is expected to belong to user required: false4955 .created_after4956 returns the expected events4957 returns no events if time is after last record time4958 behaves like a resource event for issues4959 associations4960 is expected to belong to issue required: false4961 .by_issue4962 returns the expected records for an issue with events4963 returns the expected records for an issue with no events4964 .by_issue_ids4965 returns the expected events4966 .by_created_at_earlier_or_equal_to4967 returns the expected events4968 returns the expected events4969 #issuable4970 returns the expected issuable4971 behaves like a resource event for merge requests4972 associations4973 is expected to belong to merge_request required: false4974 .by_merge_request4975 returns the expected records for an issue with events4976 returns the expected records for an issue with no events4977 #issuable4978 returns the expected issuable4979 validations4980 Issuable validation4981 is valid if an issue is set4982 is valid if a merge request is set4983 is invalid if both issue and merge request are set4984 is invalid if there is no issuable set4985 callbacks4986 #issue_usage_metrics4987 tracks closed issues4988 tracks reopened issues4989 does not track merge requests4990Banzai::Filter::ExternalLinkFilter4991 ignores elements without an href attribute4992 ignores non-HTTP(S) links4993 skips internal links4994 for root links on document4995 behaves like an external link with rel attribute4996 adds rel="nofollow" to external links4997 adds rel="noreferrer" to external links4998 adds rel="noopener" to external links4999 for nested links on document5000 behaves like an external link with rel attribute5001 adds rel="nofollow" to external links5002 adds rel="noreferrer" to external links5003 adds rel="noopener" to external links5004 for invalid urls5005 adds rel and target attributes to broken hrefs5006 adds rel and target to improperly formatted mailtos5007 adds rel and target to improperly formatted autolinks5008 adds rel and target attributes to improperly formatted protocols5009 for links with a username5010 with a valid username5011 behaves like an external link with rel attribute5012 adds rel="nofollow" to external links5013 adds rel="noreferrer" to external links5014 adds rel="noopener" to external links5015 with an impersonated username5016 behaves like an external link with rel attribute5017 adds rel="nofollow" to external links5018 adds rel="noreferrer" to external links5019 adds rel="noopener" to external links5020 for non-lowercase scheme links5021 skips internal links5022 skips relative links5023 with http5024 behaves like an external link with rel attribute5025 adds rel="nofollow" to external links5026 adds rel="noreferrer" to external links5027 adds rel="noopener" to external links5028 with https5029 behaves like an external link with rel attribute5030 adds rel="nofollow" to external links5031 adds rel="noreferrer" to external links5032 adds rel="noopener" to external links5033 for protocol-relative links5034 behaves like an external link with rel attribute5035 adds rel="nofollow" to external links5036 adds rel="noreferrer" to external links5037 adds rel="noopener" to external links5038 links with RTLO character5039 escapes RTLO in link text5040 does not mangle the link text5041 behaves like an external link with rel attribute5042 adds rel="nofollow" to external links5043 adds rel="noreferrer" to external links5044 adds rel="noopener" to external links5045 for generated autolinks5046 with an IDN character5047 does not change the link text5048 uses punycode for emails5049 behaves like an external link with rel attribute5050 adds rel="nofollow" to external links5051 adds rel="noreferrer" to external links5052 adds rel="noopener" to external links5053 autolinked image5054 adds a toolip with punycode5055 behaves like an external link with rel attribute5056 adds rel="nofollow" to external links5057 adds rel="noreferrer" to external links5058 adds rel="noopener" to external links5059 for links that look malicious5060 with an IDN character5061 adds a toolip with punycode5062 with RTLO character5063 adds a toolip with punycode5064 for links that have `rel=license`5065 maintains rel license5066 behaves like an external link with rel attribute5067 adds rel="nofollow" to external links5068 adds rel="noreferrer" to external links5069 adds rel="noopener" to external links5070Ci::PipelineArtifactUploader5071 behaves like builds correct paths5072 #store_dir5073 behaves like matches the method pattern5074 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/5075 #cache_dir5076 behaves like matches the method pattern5077 is expected to match /artifacts\/tmp\/cache/5078 #work_dir5079 behaves like matches the method pattern5080 is expected to match /artifacts\/tmp\/work/5081 #upload_path5082 behaves like matches the method pattern5083 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5084 #relative_path5085 is relative (PENDING: Path not set, skipping.)5086 .absolute_path5087 behaves like matches the method pattern5088 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5089 .base_dir5090 behaves like matches the method pattern5091 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5092 path traversal exploits5093 throws an exception5094 when object store is REMOTE5095 behaves like builds correct paths5096 #store_dir5097 behaves like matches the method pattern5098 is expected to match /\h{2}\/\h{2}\/\h{64}\/pipelines\/\d+\/artifacts\/\d+/5099 #cache_dir5100 behaves like matches the method pattern5101 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5102 #work_dir5103 behaves like matches the method pattern5104 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5105 #upload_path5106 behaves like matches the method pattern5107 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5108 #relative_path5109 is relative (PENDING: Path not set, skipping.)5110 .absolute_path5111 behaves like matches the method pattern5112 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5113 .base_dir5114 behaves like matches the method pattern5115 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5116 path traversal exploits5117 throws an exception5118 when file is stored in valid local_path5119 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/artifacts\/\h{2}\/\h{2}\/\h{64}\/pipelines\/464\/artifacts\/17\/code_coverage.json/5120Gitlab::Ci::Build::Context::Build5121 #variables5122 is expected to be an instance of Gitlab::Ci::Variables::Collection5123 behaves like variables collection5124 is expected to include {"CI_COMMIT_REF_NAME" => "master"}5125 is expected to include {"CI_PIPELINE_IID" => "1"}5126 is expected to include {"CI_PROJECT_PATH" => "namespace1140/project1138"}5127 is expected to include {"CI_JOB_NAME" => "some-job"}5128 is expected to include {"CI_BUILD_REF_NAME" => "master"}5129 without passed build-specific attributes5130 is expected to include {"CI_JOB_NAME" => nil}5131 is expected to include {"CI_BUILD_REF_NAME" => "master"}5132 is expected to include {"CI_PROJECT_PATH" => "namespace1145/project1143"}5133 #variables_hash5134 is expected to be an instance of ActiveSupport::HashWithIndifferentAccess5135 behaves like variables collection5136 is expected to include {"CI_COMMIT_REF_NAME" => "master"}5137 is expected to include {"CI_PIPELINE_IID" => "1"}5138 is expected to include {"CI_PROJECT_PATH" => "namespace1149/project1147"}5139 is expected to include {"CI_JOB_NAME" => "some-job"}5140 is expected to include {"CI_BUILD_REF_NAME" => "master"}5141 without passed build-specific attributes5142 is expected to include {"CI_JOB_NAME" => nil}5143 is expected to include {"CI_BUILD_REF_NAME" => "master"}5144 is expected to include {"CI_PROJECT_PATH" => "namespace1154/project1152"}5145Environments::EnvironmentsByDeploymentsFinder5146 #execute5147 tagged deployment5148 does not return environment when commit is not part of deployment5149 only calls Gitaly twice when multiple environments are present5150 branch deployment5151 returns environment when ref is set5152 does not environment when ref is different5153 does not return environment when commit is not part of deployment5154 returns environment when commit constraint is not set5155 sha deployment5156 returns environment5157 does not return environment when sha is different5158 commit deployment5159 returns environment5160 recently updated5161 when last deployment to environment is the most recent one5162 finds recently updated environment5163 when last deployment to environment is not the most recent5164 does not find environment5165 when there are two environments that deploy to the same branch5166 finds both environments5167Mutations::Discussions::ToggleResolve5168 #resolve5169 when discussion is on a merge request5170 behaves like a working resolve method5171 when the user does not have permission5172 raises an error if the resource is not accessible to the user5173 when the user has permission5174 when discussion cannot be found5175 raises an error5176 when the `resolve` argument is true5177 returns a resolved discussion5178 returns empty errors5179 when the discussion is already resolved5180 returns a resolved discussion5181 returns empty errors5182 when the service raises an `ActiveRecord::RecordNotSaved` error5183 does not resolve the discussion5184 returns errors5185 when the `resolve` argument is false5186 when the discussion is resolved5187 returns an unresolved discussion5188 returns empty errors5189 when the service raises an `ActiveRecord::RecordNotSaved` error5190 does not unresolve the discussion5191 returns errors5192 when the discussion is already unresolved5193 returns an unresolved discussion5194 returns empty errors5195 when user is the author and discussion is locked5196 raises an error5197 when discussion is on a design5198 behaves like a working resolve method5199 when the user does not have permission5200 raises an error if the resource is not accessible to the user5201 when the user has permission5202 when discussion cannot be found5203 raises an error5204 when the `resolve` argument is true5205 returns a resolved discussion5206 returns empty errors5207 when the discussion is already resolved5208 returns a resolved discussion5209 returns empty errors5210 when the service raises an `ActiveRecord::RecordNotSaved` error5211 does not resolve the discussion5212 returns errors5213 when the `resolve` argument is false5214 when the discussion is resolved5215 returns an unresolved discussion5216 returns empty errors5217 when the service raises an `ActiveRecord::RecordNotSaved` error5218 does not unresolve the discussion5219 returns errors5220 when the discussion is already unresolved5221 returns an unresolved discussion5222 returns empty errors5223 when user is the author and discussion is locked5224 raises an error5225CommitCollection5226 #each5227 yields every commit5228 .committers5229 returns a relation of users when users are found5230 returns empty array when committers cannot be found5231 excludes authors of merge commits5232 #without_merge_commits5233 returns all commits except merge commits5234 #with_latest_pipeline5235 sets the latest pipeline for every commit so no additional queries are necessary5236 performs a single query to fetch pipeline warnings5237 #with_markdown_cache5238 preloads commits cache markdown5239 enrichment methods5240 #unenriched5241 returns all commits that are not backed by gitaly data5242 #fully_enriched?5243 returns true when all commits are backed by gitaly data5244 returns false when any commits are not backed by gitaly data5245 returns true when the collection is empty5246 #enrich!5247 replaces commits in the collection with those backed by gitaly data5248 maintains the original order of the commits5249 fetches data if there are unenriched commits5250 does not fetch data if all commits are enriched5251 returns the original commit if the commit could not be lazy loaded5252 #respond_to_missing?5253 returns true when the underlying Array responds to the message5254 returns false when the underlying Array does not respond to the message5255 #method_missing5256 delegates undefined methods to the underlying Array5257Metrics::Dashboard::DynamicEmbedService5258 .valid_params?5259 is expected to be truthy5260 missing embedded5261 is expected to be falsey5262 not embedded5263 is expected to be falsey5264 undefined dashboard5265 is expected to be truthy5266 missing dashboard5267 is expected to be truthy5268 missing group5269 is expected to be falsey5270 missing title5271 is expected to be falsey5272 undefined y-axis label5273 is expected to be falsey5274 #get_dashboard5275 when the dashboard does not exist5276 behaves like misconfigured dashboard service response5277 returns an appropriate message and status code5278 when the dashboard is exists5279 caches the unprocessed dashboard for subsequent calls5280 behaves like valid embedded dashboard service response5281 behaves like valid dashboard service response for schema5282 returns a json representation of the dashboard5283 behaves like raises error for users with insufficient permissions5284 when the user does not have sufficient access5285 behaves like misconfigured dashboard service response5286 returns an appropriate message and status code5287 when the user is anonymous5288 behaves like misconfigured dashboard service response5289 returns an appropriate message and status code5290 when the specified group is not present on the dashboard5291 behaves like misconfigured dashboard service response5292 returns an appropriate message and status code5293 when the specified title is not present on the dashboard5294 behaves like misconfigured dashboard service response5295 returns an appropriate message and status code5296 when the specified y-axis label is not present on the dashboard5297 behaves like misconfigured dashboard service response5298 returns an appropriate message and status code5299 when the dashboard is nil5300 behaves like uses system dashboard5301 uses the overview dashboard5302 when the dashboard is not present5303 behaves like uses system dashboard5304 uses the overview dashboard5305Ci::CreateWebIdeTerminalService5306 #execute5307 for maintainer5308 when web-ide has valid configuration5309 for empty configuration5310 behaves like be successful5311 returns a success with pipeline object5312 calls ensure_project_iid explicitly5313 for configuration with container image5314 behaves like be successful5315 returns a success with pipeline object5316 calls ensure_project_iid explicitly5317 for configuration with ports5318 behaves like be successful5319 returns a success with pipeline object5320 calls ensure_project_iid explicitly5321 for configuration with variables5322 saves the variables5323 behaves like be successful5324 returns a success with pipeline object5325 calls ensure_project_iid explicitly5326 error handling5327 when user is developer5328 behaves like having insufficient permissions5329 behaves like having an error5330 returns an error5331 when user is maintainer5332 when terminal is already running5333 behaves like having an error5334 returns an error5335 when ref is non-existing5336 behaves like having an error5337 returns an error5338 when ref is a tag5339 behaves like having an error5340 returns an error5341 when terminal config is missing5342 behaves like having an error5343 returns an error5344 when webide config is present5345 config has invalid content5346 behaves like having an error5347 returns an error5348 config is valid, but does not have terminal5349 behaves like having an error5350 returns an error5351Gitlab::Suggestions::SuggestionSet5352 merge_request: merge_request_same_project5353 #source_project5354 returns the source project associated with the suggestions5355 #target_project5356 returns the target project associated with the suggestions5357 #branch5358 returns the branch associated with the suggestions5359 #valid?5360 returns true if no errors are found5361 returns false if an error is found5362 #error_message5363 returns an error message if an error is found5364 returns nil if no errors are found5365 #actions5366 returns an array of hashes with proper key/value pairs5367 #file_paths5368 returns an array of unique file paths associated with the suggestions5369 merge_request: merge_request_from_fork5370 #source_project5371 returns the source project associated with the suggestions5372 #target_project5373 returns the target project associated with the suggestions5374 #branch5375 returns the branch associated with the suggestions5376 #valid?5377 returns true if no errors are found5378 returns false if an error is found5379 #error_message5380 returns an error message if an error is found5381 returns nil if no errors are found5382 #actions5383 returns an array of hashes with proper key/value pairs5384 #file_paths5385 returns an array of unique file paths associated with the suggestions5386DiscussionOnDiff5387 #truncated_diff_lines5388 when diff is greater than allowed number of truncated diff lines5389 returns fewer lines5390 with truncated diff lines diff limit set5391 when diff limit is higher than default5392 returns fewer lines than the default5393 when diff_limit is lower than default5394 returns fewer lines than the default5395 when some diff lines are meta5396 returns no meta lines5397 when the diff line does not exist on a legacy diff note5398 returns an empty array5399 when the diff line does not exist on a corrupt diff note5400 returns an empty array5401 when the discussion is on an image5402 returns an empty array5403 #line_code_in_diffs5404 when the discussion is active in the diff5405 returns the current line code5406 when the discussion was created in the diff5407 returns the original line code5408 when the discussion is unrelated to the diff5409 returns nil5410IncidentManagement::TimelineEvent5411 associations5412 is expected to belong to project required: false5413 is expected to belong to author required: false5414 is expected to belong to incident required: false5415 is expected to belong to updated_by_user required: false5416 is expected to belong to promoted_from_note required: false5417 validations5418 is expected to validate that :project cannot be empty/falsy5419 is expected to validate that :incident cannot be empty/falsy5420 is expected to validate that :note cannot be empty/falsy5421 is expected to validate that the length of :note is at most 100005422 is expected to validate that :note_html cannot be empty/falsy5423 is expected to validate that the length of :note_html is at most 100005424 is expected to validate that :occurred_at cannot be empty/falsy5425 is expected to validate that :action cannot be empty/falsy5426 is expected to validate that the length of :action is at most 1285427 .order_occurred_at_asc5428 sorts timeline events by occurred_at5429 #cache_markdown_field5430 on create5431 updates note_html5432 on update5433 updates note_html5434Ci::BuildTraceMetadata5435 is expected to belong to build required: false5436 is expected to belong to trace_artifact required: false5437 is expected to validate that :build cannot be empty/falsy5438 is expected to validate that :archival_attempts cannot be empty/falsy5439 #can_attempt_archival_now?5440 when archival_attempts is over the limit5441 is expected to be falsey5442 when last_archival_attempt_at is not set5443 is expected to be truthy5444 when last_archival_attempt_at is set5445 is expected to be truthy5446 when last_archival_attempt_at is too close5447 is expected to be falsey5448 #archival_attempts_available?5449 when archival_attempts is over the limit5450 is expected to be falsey5451 when archival_attempts is at the limit5452 is expected to be truthy5453 #increment_archival_attempts!5454 increments the attempts5455 updates the last_archival_attempt_at timestamp5456 #track_archival!5457 stores the artifact id and timestamp5458 .find_or_upsert_for!5459 creates a new record5460 with existing records5461 returns the existing record5462 #remote_checksum_valid?5463 checksum: nil, remote_checksum: nil, result: false5464 is expected to eq false5465 checksum: nil, remote_checksum: "a", result: false5466 is expected to eq false5467 checksum: "a", remote_checksum: nil, result: false5468 is expected to eq false5469 checksum: "a", remote_checksum: "b", result: false5470 is expected to eq false5471 checksum: "b", remote_checksum: "a", result: false5472 is expected to eq false5473 checksum: "a", remote_checksum: "a", result: true5474 is expected to eq true5475Resolvers::ContainerRepositoriesResolver5476 #resolve5477 with authorized user5478 when the object is a project5479 behaves like returning container repositories5480 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1225, name: "test_image_1", created_at: "2022-07-04 07:39:00...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>5481 with a named search5482 is expected to contain exactly #<ContainerRepository id: 2, project_id: 1225, name: "Foobar", created_at: "2022-07-04 07:39:01.29597...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>5483 with a sort argument5484 created_desc5485 is expected to eq [#<ContainerRepository id: 4, project_id: 1226, name: "foo", created_at: "2022-07-04 06:39:01.8287399...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5486 updated_asc5487 is expected to eq [#<ContainerRepository id: 4, project_id: 1226, name: "foo", created_at: "2022-07-04 06:39:01.8287399...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5488 name_desc5489 is expected to eq [#<ContainerRepository id: 4, project_id: 1226, name: "foo", created_at: "2022-07-04 06:39:01.8287399...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5490 created_asc5491 is expected to eq [#<ContainerRepository id: 3, project_id: 1226, name: "bar", created_at: "2022-07-03 07:39:01.8222627...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5492 updated_desc5493 is expected to eq [#<ContainerRepository id: 3, project_id: 1226, name: "bar", created_at: "2022-07-03 07:39:01.8222627...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5494 name_asc5495 is expected to eq [#<ContainerRepository id: 3, project_id: 1226, name: "bar", created_at: "2022-07-03 07:39:01.8222627...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5496 when the object is a group5497 behaves like returning container repositories5498 is expected to contain exactly #<ContainerRepository id: 1, project_id: 1225, name: "test_image_1", created_at: "2022-07-04 07:39:00...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>5499 with a named search5500 is expected to contain exactly #<ContainerRepository id: 5, project_id: 1225, name: "Foobar", created_at: "2022-07-04 07:39:03.20694...efault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>5501 with a sort argument5502 created_desc5503 is expected to eq [#<ContainerRepository id: 7, project_id: 1227, name: "foo", created_at: "2022-07-04 06:39:04.0032726...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5504 updated_asc5505 is expected to eq [#<ContainerRepository id: 7, project_id: 1227, name: "foo", created_at: "2022-07-04 06:39:04.0032726...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5506 name_desc5507 is expected to eq [#<ContainerRepository id: 7, project_id: 1227, name: "foo", created_at: "2022-07-04 06:39:04.0032726...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5508 created_asc5509 is expected to eq [#<ContainerRepository id: 6, project_id: 1227, name: "bar", created_at: "2022-07-03 07:39:03.9910589...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5510 updated_desc5511 is expected to eq [#<ContainerRepository id: 6, project_id: 1227, name: "bar", created_at: "2022-07-03 07:39:03.9910589...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5512 name_asc5513 is expected to eq [#<ContainerRepository id: 6, project_id: 1227, name: "bar", created_at: "2022-07-03 07:39:03.9910589...fault", migration_aborted_in_state: nil, migration_plan: nil, last_cleanup_deleted_tags_count: nil>]5514 when the object is an invalid type5515 is expected to raise Exception with "invalid subject_type"5516 with unauthorized user5517 is expected to equal nil5518Gitlab::Ci::Status::Build::Stop5519 #label5520 is expected to eq "manual stop action"5521 action details5522 #has_action?5523 when user is allowed to update build5524 is expected to have action5525 when user is not allowed to update build5526 is expected not to have action5527 #action_path5528 is expected to include "501/play"5529 #action_icon5530 is expected to eq "stop"5531 #action_title5532 is expected to eq "Stop"5533 #action_button_title5534 is expected to eq "Stop this environment"5535 .matches?5536 when build is playable5537 when build stops an environment5538 is a correct match5539 when build does not stop an environment5540 does not match5541 when build is not playable5542 does not match5543 #status_tooltip5544 does not override status status_tooltip5545 #badge_tooltip5546 does not override status badge_tooltip5547Gitlab::Diff::PositionTracer::ImageStrategy5548 #trace5549 diff scenarios5550 when the file was created in the old diff5551 when the file is unchanged between the old and the new diff5552 returns the new position5553 when the file was updated between the old and the new diff5554 returns the position of the change5555 when the file was renamed in between the old and the new diff5556 returns the position of the change5557 when the file was removed in between the old and the new diff5558 returns the position of the change5559 when the file is unchanged in the new diff5560 returns the position of the change5561 when the file was changed in the old diff5562 when the file is unchanged in between the old and the new diff5563 returns the new position5564 when the file was updated in between the old and the new diff5565 returns the position of the change5566 when the file was renamed in between the old and the new diff5567 returns the position of the change5568 when the file was removed in between the old and the new diff5569 returns the position of the change5570 when the file is unchanged in the new diff5571 returns the position of the change5572Gitlab::Doctor::Secrets5573 when not ran in a Rake runtime5574 raises an error5575 when encrypted attributes are properly set5576 detects decryptable secrets5577 when attr_encrypted values are not decrypting5578 marks undecryptable values as bad5579 when TokenAuthenticatable values are not decrypting5580 marks undecryptable values as bad5581 when initializers attempt to use encrypted data5582 skips the initializers and detects bad data5583 resets the initializers after the task runs5584 when GrafanaIntegration token is set via private method5585 can access GrafanaIntegration token value5586Release5587 is expected to be valid5588 associations5589 is expected to belong to project required: false5590 is expected to belong to author class_name => User required: false5591 is expected to have many links class_name => Releases::Link5592 is expected to have many milestones5593 is expected to have many milestone_releases5594 is expected to have many evidences class_name => Releases::Evidence5595 validation5596 is expected to validate that :project cannot be empty/falsy5597 is expected to validate that :tag cannot be empty/falsy5598 when a release exists in the database without a name5599 does not require name5600 when description of a release is longer than the limit5601 creates a validation error5602 when a release is tied to a milestone for another project5603 creates a validation error5604 when a release is tied to a milestone linked to the same project5605 successfully links this release to this milestone5606 when creating new release5607 is expected to validate that :author_id cannot be empty/falsy5608 when feature flag is disabled5609 is expected not to validate that :author_id cannot be empty/falsy5610 when updating existing release without author5611 updates successfully5612 #assets_count5613 returns the number of sources5614 when a links exists5615 counts the link as an asset5616 excludes sources count when asked5617 .create5618 fills released_at using created_at if it's not set5619 does not change released_at if it's set explicitly5620 #update5621 when links do not exist5622 when params are specified for creation5623 creates a link successfuly5624 when a link exists5625 when params are specified for update5626 updates the link successfully5627 when params are specified for deletion5628 removes the link successfuly5629 #sources5630 returns sources5631 #upcoming_release?5632 during the backfill migration when released_at could be nil5633 handles a nil released_at value and returns false5634 evidence5635 when a release is deleted5636 also deletes the associated evidence5637 #name5638 name is nil5639 returns tag5640 #milestone_titles5641 is expected to eq "Milestone 1, Milestone 2"5642Packages::Debian::GroupComponentFile5643 behaves like Debian Component File5644 relationships5645 with stubbed uploader5646 is expected to belong to component class_name => Packages::Debian::GroupComponent required: false inverse_of => files5647 with packages file_type5648 is expected to belong to architecture class_name => Packages::Debian::GroupArchitecture required: false inverse_of => files5649 with :sources file_type5650 is expected to belong to architecture class_name => Packages::Debian::GroupArchitecture inverse_of => files optional: true5651 validations5652 #component5653 is expected to validate that :component cannot be empty/falsy5654 #architecture5655 with packages file_type5656 is expected to validate that :architecture cannot be empty/falsy5657 with :sources file_type5658 is expected to validate that :architecture is empty/falsy5659 #file_type5660 is expected to validate that :file_type cannot be empty/falsy5661 is expected to allow :file_type to be ‹:packages›5662 #compression_type5663 is expected not to validate that :compression_type cannot be empty/falsy5664 is expected to allow :compression_type to be ‹nil›5665 is expected to allow :compression_type to be ‹:gz›5666 #file5667 the uploader api5668 is expected to respond to #store_dir5669 is expected to respond to #cache_dir5670 is expected to respond to #work_dir5671 #file_store5672 is expected to validate that :file_store cannot be empty/falsy5673 #file_md55674 is expected to validate that :file_md5 cannot be empty/falsy5675 #file_sha2565676 is expected to validate that :file_sha256 cannot be empty/falsy5677 scopes5678 .with_container5679 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 24, created_at: "2022-07-04 07:39:35.957200336 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5680 .with_codename_or_suite5681 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 24, created_at: "2022-07-04 07:39:35.957200336 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5682 .with_component_name5683 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 20, created_at: "2022-07-04 07:39:35.927970328 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5684 .with_file_type5685 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 25, created_at: "2022-07-04 07:39:35.964725000 +0000", upd...1, file: "Sources", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5686 .with_architecture5687 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 19, created_at: "2022-07-04 07:39:35.920242578 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5688 .with_architecture_name5689 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 19, created_at: "2022-07-04 07:39:35.920242578 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5690 .with_compression_type5691 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 21, created_at: "2022-07-04 07:39:35.935255767 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5692 .with_file_sha2565693 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 23, created_at: "2022-07-04 07:39:35.950104486 +0000", upd...ion_type: nil, file_store: 1, file: "Packages", file_md5: "12345abcde", file_sha256: "other_sha256">5694 .updated_before5695 is expected to contain exactly #<Packages::Debian::GroupComponentFile id: 27, created_at: "2022-07-04 07:39:37.365541166 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad"> and #<Packages::Debian::GroupComponentFile id: 28, created_at: "2022-07-04 07:39:37.373320205 +0000", upd..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5696 callbacks5697 updates metadata columns5698 #relative_path5699 with a Packages file_type5700 is expected to eq "group-component-18/binary-group-arch-18/Packages"5701 with a Source file_type5702 is expected to eq "group-component-18/source/Sources"5703 with a DI Packages file_type5704 is expected to eq "group-component-18/debian-installer/binary-group-arch-18/Packages"5705 with an xz compression_type5706 is expected to eq "group-component-18/binary-group-arch-18/Packages.xz"5707Gitlab::MultiCollectionPaginator5708 combines both collections5709 includes elements second collection if first collection is empty5710 with a full first page5711 knows the total count of the collection5712 fills the first page with elements of the first collection5713 fils the second page with a mixture of the first & second collection5714 fils the last page with elements from the second collection5715Gitlab::Redis::Cache5716 .config_file_name5717 when there is no config file anywhere5718 is expected to be nil5719 but resque.yml exists5720 is expected to eq "/tmp/redis_shared_examples20220704-448-vyrpsv/config/resque.yml"5721 returns a path that exists5722 and there is a global env override5723 is expected to eq "global override"5724 and there is an instance specific config file5725 is expected to eq "/tmp/redis_shared_examples20220704-448-1e2kyg4/config/redis.cache.yml"5726 returns a path that exists5727 and there is a specific env override5728 is expected to eq "instance specific override"5729 .store5730 with old format5731 behaves like redis store5732 instantiates Redis::Store5733 with the namespace5734 uses specified namespace5735 with new format5736 behaves like redis store5737 instantiates Redis::Store5738 with the namespace5739 uses specified namespace5740 .params5741 withstands mutation5742 when url contains unix socket reference5743 with old format5744 returns path key instead5745 with new format5746 returns path key instead5747 when url is host based5748 with old format5749 returns hash with host, port, db, and password5750 with new format5751 rails_env: "development", host: "development-host"5752 returns hash with host, port, db, and password5753 rails_env: "test", host: "test-host"5754 returns hash with host, port, db, and password5755 rails_env: "production", host: "production-host"5756 returns hash with host, port, db, and password5757 .url5758 withstands mutation5759 when yml file with env variable5760 reads redis url from env variable5761 .version5762 returns a version5763 ._raw_config5764 is frozen5765 returns false when the file does not exist5766 returns false when the filename can't be determined5767 .with5768 when running on single-threaded runtime5769 instantiates a connection pool with size 55770 when running on multi-threaded runtime5771 instantiates a connection pool with a size based on the concurrency of the worker5772 when there is no config at all5773 can run an empty block5774 #db5775 with old format5776 returns the correct db5777 with new format5778 returns the correct db5779 #sentinels5780 when sentinels are defined5781 rails_env: "development", hosts: ["development-replica1", "development-replica2"]5782 returns an array of hashes with host and port keys5783 rails_env: "test", hosts: ["test-replica1", "test-replica2"]5784 returns an array of hashes with host and port keys5785 rails_env: "production", hosts: ["production-replica1", "production-replica2"]5786 returns an array of hashes with host and port keys5787 when sentinels are not defined5788 returns nil5789 #sentinels?5790 when sentinels are defined5791 returns true5792 when sentinels are not defined5793 returns false5794 #raw_config_hash5795 returns old-style single url config in a hash5796 #fetch_config5797 returns false when no config file is present5798 returns false when config file is present but has invalid YAML5799 has a value for the legacy default URL5800 #raw_config_hash5801 has a legacy default URL5802projects/artifacts/_artifact.html.haml5803 delete button5804 with admin5805 when admin mode is enabled5806 has a delete button5807 when admin mode is disabled5808 has no delete button5809 with owner5810 has a delete button5811 with master5812 has a delete button5813 with developer5814 has no delete button5815 with reporter5816 has no delete button5817Gitlab::JiraImport5818 .validate_project_settings!5819 without user param5820 behaves like jira configuration base checks5821 with configuration_check set to false5822 does not raise Jira integration error5823 when Jira integration was not setup5824 behaves like raise Jira import error5825 returns error5826 when Jira integration exists5827 when Jira connection is not valid5828 behaves like raise Jira import error5829 returns error5830 when jira connection is valid5831 does not return any error5832 with user param provided5833 when user has permission to run import5834 behaves like jira configuration base checks5835 with configuration_check set to false5836 does not raise Jira integration error5837 when Jira integration was not setup5838 behaves like raise Jira import error5839 returns error5840 when Jira integration exists5841 when Jira connection is not valid5842 behaves like raise Jira import error5843 returns error5844 when jira integration is configured5845 when issues feature is disabled5846 behaves like raise Jira import error5847 returns error5848 when everything is ok5849 does not return any error5850 when user does not have permissions to run the import5851 behaves like raise Jira import error5852 returns error5853 .jira_issue_cache_key5854 returns cache key for Jira issue imported to given project5855 .already_imported_cache_key5856 returns cache key for already imported items5857 .jira_issues_next_page_cache_key5858 returns cache key for next issues5859 .get_issues_next_start_at5860 returns zero when not defined5861 returns negative value for next issues to be imported starting point5862 returns cached value for next issues to be imported starting point5863 .cache_users_mapping5864 stores the data correctly5865 .get_user_mapping5866 reads the data correctly5867 returns nil if value not found5868 .store_issues_next_started_at5869 stores nil value5870 stores positive value5871 stores negative value5872Database::CiProjectMirrorsConsistencyCheckWorker5873 #perform5874 executes the consistency check on projects5875 logs should contain the detailed mismatches5876 reports the differences to the logs5877 calls the consistency_fix_service to fix the inconsistencies5878Gitlab::Graphql::Pagination::ActiveRecordArrayConnection5879 behaves like a connection with collection methods5880 responds to to_a5881 responds to size5882 responds to map5883 responds to include?5884 responds to empty?5885 behaves like a redactable connection5886 no redactor set5887 contains the unwanted item5888 does not redact more than once5889 redactor is set5890 does not contain the unwanted item5891 does not redact more than once5892 #nodes5893 is expected to contain exactly #<Packages::BuildInfo id: 1, package_id: 45, pipeline_id: nil>, #<Packages::BuildInfo id: 2, package_id: 46, pipeline_id: nil>, and #<Packages::BuildInfo id: 3, package_id: 47, pipeline_id: nil>5894 with first set5895 is expected to contain exactly #<Packages::BuildInfo id: 1, package_id: 45, pipeline_id: nil> and #<Packages::BuildInfo id: 2, package_id: 46, pipeline_id: nil>5896 with last set5897 is expected to contain exactly #<Packages::BuildInfo id: 2, package_id: 46, pipeline_id: nil> and #<Packages::BuildInfo id: 3, package_id: 47, pipeline_id: nil>5898 #next_page?5899 before: nil, first: nil, max_page_size: nil, result: false5900 is expected to eq false5901 before: 1, first: nil, max_page_size: nil, result: true5902 is expected to eq true5903 before: nil, first: 1, max_page_size: nil, result: true5904 is expected to eq true5905 before: nil, first: 10, max_page_size: nil, result: false5906 is expected to eq false5907 before: nil, first: 1, max_page_size: 1, result: true5908 is expected to eq true5909 before: nil, first: 1, max_page_size: 10, result: true5910 is expected to eq true5911 before: nil, first: 10, max_page_size: 10, result: false5912 is expected to eq false5913 #previous_page?5914 after: nil, last: nil, max_page_size: nil, result: false5915 is expected to eq false5916 after: 1, last: nil, max_page_size: nil, result: true5917 is expected to eq true5918 after: nil, last: 1, max_page_size: nil, result: true5919 is expected to eq true5920 after: nil, last: 10, max_page_size: nil, result: false5921 is expected to eq false5922 after: nil, last: 1, max_page_size: 1, result: true5923 is expected to eq true5924 after: nil, last: 1, max_page_size: 10, result: true5925 is expected to eq true5926 after: nil, last: 10, max_page_size: 10, result: false5927 is expected to eq false5928 #cursor_for5929 is expected to eq "eyJpZCI6IjEifQ"5930 with a BatchLoader::GraphQL item5931 is expected to eq "eyJpZCI6IjI0NjAifQ"5932 #dup5933 properly handles items duplication5934Projects::ImportExport::RelationExport5935 associations5936 is expected to belong to project_export_job required: false5937 is expected to have one upload5938 validations5939 is expected to validate that :project_export_job cannot be empty/falsy5940 is expected to validate that :relation cannot be empty/falsy5941 is expected to validate that :relation is case-sensitively unique within the scope of :project_export_job_id5942 is expected to validate that :status cannot be empty/falsy5943 is expected to validate that :status looks like an integer5944 is expected to validate that the length of :relation is at most 2555945 is expected to validate that the length of :jid is at most 2555946 is expected to validate that the length of :export_error is at most 3005947Packages::Debian::ProjectComponentFile5948 behaves like Debian Component File5949 relationships5950 with stubbed uploader5951 is expected to belong to component class_name => Packages::Debian::ProjectComponent required: false inverse_of => files5952 with packages file_type5953 is expected to belong to architecture class_name => Packages::Debian::ProjectArchitecture required: false inverse_of => files5954 with :sources file_type5955 is expected to belong to architecture class_name => Packages::Debian::ProjectArchitecture inverse_of => files optional: true5956 validations5957 #component5958 is expected to validate that :component cannot be empty/falsy5959 #architecture5960 with packages file_type5961 is expected to validate that :architecture cannot be empty/falsy5962 with :sources file_type5963 is expected to validate that :architecture is empty/falsy5964 #file_type5965 is expected to validate that :file_type cannot be empty/falsy5966 is expected to allow :file_type to be ‹:packages›5967 #compression_type5968 is expected not to validate that :compression_type cannot be empty/falsy5969 is expected to allow :compression_type to be ‹nil›5970 is expected to allow :compression_type to be ‹:gz›5971 #file5972 the uploader api5973 is expected to respond to #store_dir5974 is expected to respond to #cache_dir5975 is expected to respond to #work_dir5976 #file_store5977 is expected to validate that :file_store cannot be empty/falsy5978 #file_md55979 is expected to validate that :file_md5 cannot be empty/falsy5980 #file_sha2565981 is expected to validate that :file_sha256 cannot be empty/falsy5982 scopes5983 .with_container5984 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 24, created_at: "2022-07-04 07:40:14.691273540 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5985 .with_codename_or_suite5986 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 24, created_at: "2022-07-04 07:40:14.691273540 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5987 .with_component_name5988 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 20, created_at: "2022-07-04 07:40:14.659960522 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5989 .with_file_type5990 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 25, created_at: "2022-07-04 07:40:14.700416000 +0000", u...1, file: "Sources", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5991 .with_architecture5992 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 19, created_at: "2022-07-04 07:40:14.651968333 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5993 .with_architecture_name5994 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 19, created_at: "2022-07-04 07:40:14.651968333 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5995 .with_compression_type5996 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 21, created_at: "2022-07-04 07:40:14.667366592 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">5997 .with_file_sha2565998 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 23, created_at: "2022-07-04 07:40:14.683784390 +0000", u...ion_type: nil, file_store: 1, file: "Packages", file_md5: "12345abcde", file_sha256: "other_sha256">5999 .updated_before6000 is expected to contain exactly #<Packages::Debian::ProjectComponentFile id: 27, created_at: "2022-07-04 07:40:15.754390464 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad"> and #<Packages::Debian::ProjectComponentFile id: 28, created_at: "2022-07-04 07:40:15.766505713 +0000", u..., file: "Packages", file_md5: "12345abcde", file_sha256: "be93151dc23ac34a82752444556fe79b32c7a1ad">6001 callbacks6002 updates metadata columns6003 #relative_path6004 with a Packages file_type6005 is expected to eq "project-component-18/binary-project-arch-18/Packages"6006 with a Source file_type6007 is expected to eq "project-component-18/source/Sources"6008 with a DI Packages file_type6009 is expected to eq "project-component-18/debian-installer/binary-project-arch-18/Packages"6010 with an xz compression_type6011 is expected to eq "project-component-18/binary-project-arch-18/Packages.xz"6012MergeRequests::DeleteNonLatestDiffsService6013 #execute6014 schedules non-latest merge request diffs removal6015 schedules no removal if it is already cleaned6016 schedules no removal if it is empty6017 schedules no removal if there is no non-latest diffs6018Clusters::Gcp::ProvisionService6019 #execute6020 when succeeded to request provision6021 behaves like success6022 schedules a worker for status minitoring6023 when operation status is unexpected6024 behaves like error6025 sets an error to provider object6026 when selfLink is unexpected6027 behaves like error6028 sets an error to provider object6029 when Internal Server Error happened6030 behaves like error6031 sets an error to provider object6032Groups::GroupLinks::DestroyService#execute6033 when authorizing by user6034 single link6035 destroys the link6036 with skip_group_share_unlink_auth_refresh feature flag disabled6037 revokes project authorization6038 with skip_group_share_unlink_auth_refresh feature flag enabled6039 maintains project authorization6040 multiple links6041 with skip_group_share_unlink_auth_refresh feature flag disabled6042 updates project authorization once per group6043 with skip_group_share_unlink_auth_refresh feature flag enabled6044 does not update project authorization once per group6045 when skipping authorization6046 with provided group and owner6047 destroys the link6048 without providing group or owner6049 destroys the link6050Ci::DagJobEntity6051 #as_json6052 contains the name6053 behaves like matches schema6054 matches schema6055 when job is stage scheduled6056 contains the name scheduling_type6057 does not expose needs6058 behaves like matches schema6059 matches schema6060 when job is dag scheduled6061 contains the name scheduling_type6062 behaves like matches schema6063 matches schema6064 when job has needs6065 exposes the array of needs6066 behaves like matches schema6067 matches schema6068 when job has empty needs6069 exposes an empty array of needs6070 behaves like matches schema6071 matches schema6072Banzai::Filter::GollumTagsFilter6073 validation6074 ensure that a :wiki key exists in context6075 linking internal images6076 creates img tag if image exists6077 does not creates img tag if image does not exist6078 linking external images6079 creates img tag for valid URL6080 does not creates img tag for invalid URL6081 linking external resources6082 the created link's text will be equal to the resource's text6083 the created link's text will be link-text6084 linking internal resources6085 the created link's text includes the resource's text and wiki base path6086 the created link's text will be link-text6087 inside back ticks will be exempt from linkification6088Ci::CreatePipelineService6089 dry run6090 when pipeline is valid6091 returns a valid pipeline6092 behaves like returns a non persisted pipeline6093 does not persist the pipeline6094 does not process the pipeline6095 does not schedule merge request head pipeline update6096 when pipeline is not valid6097 when there are syntax errors6098 returns a pipeline with errors6099 behaves like returns a non persisted pipeline6100 does not persist the pipeline6101 does not process the pipeline6102 does not schedule merge request head pipeline update6103 when there are logical errors6104 returns a pipeline with errors6105 behaves like returns a non persisted pipeline6106 does not persist the pipeline6107 does not process the pipeline6108 does not schedule merge request head pipeline update6109 when there are errors at the seeding stage6110 returns a pipeline with errors6111 behaves like returns a non persisted pipeline6112 does not persist the pipeline6113 does not process the pipeline6114 does not schedule merge request head pipeline update6115Ci::FreezePeriodStatus6116 single freeze period6117 behaves like outside freeze period6118 is not frozen6119 behaves like within freeze period6120 is frozen6121 behaves like within freeze period6122 is frozen6123 behaves like outside freeze period6124 is not frozen6125 multiple freeze periods6126 behaves like outside freeze period6127 is not frozen6128 behaves like within freeze period6129 is frozen6130 behaves like within freeze period6131 is frozen6132 behaves like within freeze period6133 is frozen6134 behaves like within freeze period6135 is frozen6136 behaves like within freeze period6137 is frozen6138 behaves like outside freeze period6139 is not frozen6140MergeRequestAssignee6141 associations6142 is expected to belong to merge_request class_name => MergeRequest required: false6143 is expected to belong to assignee class_name => User required: false6144 validations6145 is expected to validate that :assignee is case-sensitively unique within the scope of :merge_request_id6146 scopes6147 in_projects6148 returns issue assignees for given project6149 behaves like having unique enum values6150 has unique values in "state"6151 #attention_requested_by6152 attention requested6153 is expected to eq #<User id:2530 @user1033>6154 attention requested6155 is expected to eq nil6156Pages::ZipDirectoryService6157 returns true if ZIP64 is enabled6158 when work directory doesn't exist6159 returns success6160 when public directory is absent6161 returns success6162 when public directory is a symlink6163 returns success6164 when there is a public directory6165 creates the file next the public directory6166 includes public directory6167 returns number of entries6168 removes the old file if it exists6169 ignores other top level files and directories6170 includes index.html file6171 includes hidden file6172 includes nested directories and files6173 adds a valid symlink6174 includes raw symlink if it's target is a valid directory6175 when symlink points outside of public directory6176 raises error6177 when errors are ignored6178 does not create entry6179 when target of the symlink is absent6180 raises error6181 when errors are ignored6182 does not create entry6183 when targets itself6184 raises error6185 when errors are ignored6186 does not create entry6187 when symlink is absolute and points to outside of directory6188 raises error6189 when errors are ignored6190 does not create entry6191 when entry has unknown ftype6192 raises error6193 when errors are ignored6194 does not create entry6195 validating fixtures pages archives6196 fixture_path: "spec/fixtures/pages.zip"6197 a created archives contains exactly the same entries6198 fixture_path: "spec/fixtures/pages_non_writeable.zip"6199 a created archives contains exactly the same entries6200Gitlab::Git::RuggedImpl::UseRugged6201 #execute_rugged_call6202 instruments Rugged call6203 when feature flag is not persisted6204 when running puma with multiple threads6205 returns false6206 when not running puma with multiple threads6207 returns true when gitaly matches disk6208 returns false when disk access fails6209Skipping ./spec/lib/gitlab/git/rugged_impl/use_rugged_spec.rb[1:2:2:3] 'Gitlab::Git::RuggedImpl::UseRugged when feature flag is not persisted when not running puma with multiple threads returns false when gitaly doesn't match disk' because it's flaky.6210 returns false when gitaly doesn't match disk (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)6211 doesn't lead to a second rpc call because gitaly client should use the cached value6212 when feature flag is persisted6213 returns false when the feature flag is off6214 returns true when feature flag is on6215 #running_puma_with_multiple_threads?6216 when using Puma6217 returns false when Puma doesn't support the cli_config method6218 returns false for single thread Puma6219 returns true for multi-threaded Puma6220 when not using Puma6221 returns false6222 #rugged_enabled_through_feature_flag?6223 no feature keys given6224 is expected to be falsey6225 all features are enabled6226 is expected to be truthy6227 all features are not enabled6228 is expected to be falsey6229 some feature is enabled6230 is expected to be truthy6231Clusters::Agents::ActivityEvent6232 is expected to belong to agent class_name => Clusters::Agent required: true6233 is expected to belong to user optional: true6234 is expected to belong to agent_token class_name => Clusters::AgentToken optional: true6235 is expected to validate that :kind cannot be empty/falsy6236 is expected to validate that :level cannot be empty/falsy6237 is expected to validate that :recorded_at cannot be empty/falsy6238 is expected to nullify if blank :detail6239 scopes6240 .in_timeline_order6241 sorts by recorded_at: :desc, id: :desc6242 .recorded_before6243 returns only events recorded before the cutoff6244Ci::PersistentRef6245 cleans up persistent refs after pipeline finished6246 #exist?6247 when a persistent ref does not exist6248 is expected to eq false6249 when a persistent ref exists6250 is expected to eq true6251 #create6252 when a persistent ref does not exist6253 creates a persistent ref6254 when sha does not exist in the repository6255 fails to create a persistent ref6256 when a persistent ref already exists6257 overwrites a persistent ref6258 #delete6259 when a persistent ref exists6260 deletes the ref6261 when a persistent ref does not exist6262 does not raise an error6263Gitlab::EncryptedConfiguration6264 #initialize6265 accepts all args as optional fields6266 generates 32 byte key when provided a larger base key6267 generates 32 byte key when provided a smaller base key6268 throws an error when the base key is too small6269 when provided a config file but no key6270 throws an error when writing without a key6271 throws an error when reading without a key6272 when provided key and config file6273 #write6274 encrypts the file using the provided key6275 #read6276 reads yaml configuration6277 allows referencing top level keys via dot syntax6278 throws a custom error when referencing an invalid key map config6279 #change6280 changes yaml configuration6281 when provided previous_keys for rotation6282 #write6283 rotates the key when provided a new key6284 #read6285 supports reading using rotated config6286WebIdeTerminalEntity6287 is expected to have key :id6288 is expected to have key :status6289 is expected to have key :show_path6290 is expected to have key :cancel_path6291 is expected to have key :retry_path6292 is expected to have key :terminal_path6293 is expected to have key :services6294 is expected to have key :proxy_websocket_path6295 when feature flag build_service_proxy is disabled6296 is expected not to have key :proxy_websocket_path6297Gitlab::Ci::Config::Entry::Image6298 when configuration is a string6299 #value6300 returns image hash6301 #errors6302 does not append errors6303 #valid?6304 is valid6305 #image6306 returns image's name6307 #entrypoint6308 returns image's entrypoint6309 #ports6310 returns image's ports6311 #pull_policy6312 returns nil6313 when configuration is a hash6314 #value6315 returns image hash6316 #errors6317 does not append errors6318 #valid?6319 is valid6320 #image6321 returns image's name6322 #entrypoint6323 returns image's entrypoint6324 when configuration has ports6325 when with_image_ports metadata is not enabled6326 #valid?6327 is not valid6328 when with_image_ports metadata is enabled6329 #valid?6330 is valid6331 #ports6332 returns image's ports6333 when configuration has pull_policy6334 #valid?6335 is valid6336 when the feature flag ci_docker_image_pull_policy is disabled6337 is not valid6338 #value6339 returns value6340 when the feature flag ci_docker_image_pull_policy is disabled6341 is not valid6342 when entry value is not correct6343 #errors6344 saves errors6345 #valid?6346 is not valid6347 when unexpected key is specified6348 #errors6349 saves errors6350 #valid?6351 is not valid6352GrafanaIntegration6353 associations6354 is expected to belong to project required: false6355 validations6356 is expected to validate that :project cannot be empty/falsy6357 is expected to validate that :encrypted_token cannot be empty/falsy6358 disallows invalid urls for grafana_url6359 allows valid urls for grafana_url6360 disallows non-booleans in enabled column6361 allows booleans in enabled column6362 .client6363 with grafana integration disabled6364 returns a grafana client6365 with grafana integration enabled6366 returns nil6367 attribute encryption6368 token6369 encrypts original value into encrypted_token attribute6370 locks access to raw value in private method6371 prevents overriding token value with its encrypted or masked version6372Gitlab::Ci::Config::Entry::Variables6373 when entry config value has key-value pairs6374 behaves like valid config6375 #value6376 returns hash with key value strings6377 #errors6378 does not append errors6379 #valid?6380 is valid6381 with numeric keys and values in the config6382 behaves like valid config6383 #value6384 returns hash with key value strings6385 #errors6386 does not append errors6387 #valid?6388 is valid6389 when entry config value has key-value pair and hash6390 behaves like invalid config6391 #valid?6392 is not valid6393 #errors6394 saves errors6395 when metadata has use_value_data6396 behaves like valid config6397 #value6398 returns hash with key value strings6399 #errors6400 does not append errors6401 #valid?6402 is valid6403 when entry value is an array6404 behaves like invalid config6405 #valid?6406 is not valid6407 #errors6408 saves errors6409 when metadata has use_value_data6410 when entry value has hash with other key-pairs6411 behaves like invalid config6412 #valid?6413 is not valid6414 #errors6415 saves errors6416 when entry config value has hash with nil description6417 behaves like invalid config6418 #valid?6419 is not valid6420 #errors6421 saves errors6422 when entry config value has hash without description6423 behaves like valid config6424 #value6425 returns hash with key value strings6426 #errors6427 does not append errors6428 #valid?6429 is valid6430AutoDevops::DisableWorker#perform6431 disables auto devops for project6432 when project owner is a user6433 sends an email to pipeline user and project owner(s)6434 when project does not have owner6435 sends an email to pipeline user6436 when pipeline is not related to a user and project does not have owner6437 does not send an email6438Gitlab::ImportExport::AfterExportStrategies::WebUploadStrategy6439 validations6440 only POST and PUT method allowed6441 only allow urls as upload urls6442 #execute6443 when upload succeeds6444 does not remove the exported project file after the upload6445 has finished export status6446 when upload fails6447 stores the export error6448RuboCop::Cop::Migration::SaferBooleanColumn6449 in migration6450 registers no offense for tables not listed in SMALL_TABLES6451 registers no offense for non-boolean columns6452 for the application_settings table6453 given the source "add_column :application_settings, :column, :boolean, default: true"6454 registers the offense matching "should disallow nulls"6455 given the source "add_column :application_settings, :column, :boolean, default: false"6456 registers the offense matching "should disallow nulls"6457 given the source "add_column :application_settings, :column, :boolean, default: nil"6458 registers the offense matching "should have a default and should disallow nulls"6459 given the source "add_column :application_settings, :column, :boolean, null: false"6460 registers the offense matching "should have a default"6461 given the source "add_column :application_settings, :column, :boolean, null: true"6462 registers the offense matching "should have a default and should disallow nulls"6463 given the source "add_column :application_settings, :column, :boolean"6464 registers the offense matching "should have a default and should disallow nulls"6465 given the source "add_column :application_settings, :column, :boolean, default: nil, null: false"6466 registers the offense matching "should have a default"6467 given the source "add_column :application_settings, :column, :boolean, default: nil, null: true"6468 registers the offense matching "should have a default and should disallow nulls"6469 given the source "add_column :application_settings, :column, :boolean, default: false, null: true"6470 registers the offense matching "should disallow nulls"6471 given the source "add_column :application_settings, :column, :boolean, default: true, null: false"6472 registers no offense6473 given the source "add_column :application_settings, :column, :boolean, default: false, null: false"6474 registers no offense6475 for the plan_limits table6476 given the source "add_column :plan_limits, :column, :boolean, default: true"6477 registers the offense matching "should disallow nulls"6478 given the source "add_column :plan_limits, :column, :boolean, default: false"6479 registers the offense matching "should disallow nulls"6480 given the source "add_column :plan_limits, :column, :boolean, default: nil"6481 registers the offense matching "should have a default and should disallow nulls"6482 given the source "add_column :plan_limits, :column, :boolean, null: false"6483 registers the offense matching "should have a default"6484 given the source "add_column :plan_limits, :column, :boolean, null: true"6485 registers the offense matching "should have a default and should disallow nulls"6486 given the source "add_column :plan_limits, :column, :boolean"6487 registers the offense matching "should have a default and should disallow nulls"6488 given the source "add_column :plan_limits, :column, :boolean, default: nil, null: false"6489 registers the offense matching "should have a default"6490 given the source "add_column :plan_limits, :column, :boolean, default: nil, null: true"6491 registers the offense matching "should have a default and should disallow nulls"6492 given the source "add_column :plan_limits, :column, :boolean, default: false, null: true"6493 registers the offense matching "should disallow nulls"6494 given the source "add_column :plan_limits, :column, :boolean, default: true, null: false"6495 registers no offense6496 given the source "add_column :plan_limits, :column, :boolean, default: false, null: false"6497 registers no offense6498 outside of migration6499 registers no offense6500Resolvers::ProjectMilestonesResolver6501 #resolve6502 calls MilestonesFinder to retrieve all milestones6503 when including ancestor milestones6504 calls MilestonesFinder with correct parameters6505 by ids6506 calls MilestonesFinder with correct parameters6507 by state6508 calls MilestonesFinder with correct parameters6509 by sort6510 calls MilestonesFinder with correct parameters6511 uses offset-pagination when sorting by EXPIRED_LAST_DUE_DATE_ASC6512 uses offset-pagination when sorting by EXPIRED_LAST_DUE_DATE_DESC6513 by timeframe6514 when start_date and end_date are present6515 calls MilestonesFinder with correct parameters6516 when start date is after end_date6517 generates an error6518 when only start_date is present6519 generates an error6520 when only end_date is present6521 generates an error6522 when passing a timeframe6523 calls MilestonesFinder with correct parameters6524 when title is present6525 calls MilestonesFinder with correct parameters6526 when search_title is present6527 calls MilestonesFinder with correct parameters6528 when containing date is present6529 calls MilestonesFinder with correct parameters6530Autocomplete::GroupFinder6531 #execute6532 with a project6533 returns nil6534 without a group ID6535 returns nil6536 with an empty String as the group ID6537 returns nil6538 without a project and with a group ID6539 raises ActiveRecord::RecordNotFound if the group does not exist6540 raises ActiveRecord::RecordNotFound if the user can not read the group6541 raises ActiveRecord::RecordNotFound if an anonymous user can not read the group6542 returns the group if it exists and is readable6543LimitedCapacity::Worker6544 required methods6545 is expected to raise NotImplementedError6546 is expected to raise NotImplementedError6547 is expected to raise NotImplementedError6548 Sidekiq options6549 does not retry failed jobs6550 does not deduplicate jobs6551 .perform_with_capacity6552 enqueues jobs6553 #perform6554 with capacity6555 calls perform_work6556 re-enqueues itself6557 reports prometheus metrics6558 updates the running set6559 with capacity and without work6560 does not re-enqueue itself6561 without capacity6562 does not call perform_work6563 does not re-enqueue itself6564 when perform_work fails6565 does not re-enqueue itself6566 removes itself from the running set6567 reports prometheus metrics6568 #remove_failed_jobs6569 removes failed jobs6570 #report_prometheus_metrics6571 reports number of running jobs6572Gitlab::Graphql::Pagination::ExternallyPaginatedArrayConnection6573 behaves like a connection with collection methods6574 responds to to_a6575 responds to size6576 responds to map6577 responds to include?6578 responds to empty?6579 behaves like a redactable connection6580 no redactor set6581 contains the unwanted item6582 does not redact more than once6583 redactor is set6584 does not contain the unwanted item6585 does not redact more than once6586 #nodes6587 behaves like connection with paged nodes6588 returns the collection limited to max page size6589 is a loaded memoized array6590 when `first` is passed6591 returns only the first elements6592 when `last` is passed6593 returns only the last elements6594 when after or before is specified, they are ignored6595 behaves like connection with paged nodes6596 returns the collection limited to max page size6597 is a loaded memoized array6598 when `first` is passed6599 returns only the first elements6600 when `last` is passed6601 returns only the last elements6602 behaves like connection with paged nodes6603 returns the collection limited to max page size6604 is a loaded memoized array6605 when `first` is passed6606 returns only the first elements6607 when `last` is passed6608 returns only the last elements6609 #start_cursor6610 returns the prev cursor6611 when there is none6612 returns nil6613 #end_cursor6614 returns the next cursor6615 when there is none6616 returns nil6617 #has_next_page6618 returns true when there is a end cursor6619 there is no end cursor6620 returns false6621 #has_previous_page6622 returns true when there is a start cursor6623 there is no start cursor6624 returns false6625Gitlab::Cluster::Mixins::PumaCluster6626 when running Puma in Cluster-mode6627 signal: :USR1, exitstatus: 140, termsig: nil6628 properly handles process lifecycle6629 signal: :USR2, exitstatus: 140, termsig: nil6630 properly handles process lifecycle6631 signal: :INT, exitstatus: 140, termsig: nil6632 properly handles process lifecycle6633 signal: :HUP, exitstatus: 140, termsig: nil6634 properly handles process lifecycle6635 signal: :TERM, exitstatus: nil, termsig: 156636 properly handles process lifecycle6637BulkInsertSafe6638-- create_table(:_test_bulk_insert_parent_items, {:force=>true})6639 -> 0.0050s6640-- create_table(:_test_bulk_insert_items, {:force=>true})6641 -> 0.0081s6642-- create_table(:_test_bulk_insert_items_with_composite_pk, {:id=>false, :force=>true})6643 -> 0.0027s6644-- execute("ALTER TABLE _test_bulk_insert_items_with_composite_pk ADD PRIMARY KEY (id,name);")6645 -> 0.0017s6646 BulkInsertItem6647 behaves like a BulkInsertSafe model6648 when calling class methods directly6649 raises an error when method is not bulk-insert safe6650 does not raise an error when method is bulk-insert safe6651 .bulk_insert!6652 when all items are valid6653 inserts them all6654 returns an empty array6655 when some items are invalid6656 does not insert any of them and raises an error6657 inserts them anyway when bypassing validations6658 when inheriting class methods6659 raises an error when method is not bulk-insert safe6660 does not raise an error when method is bulk-insert safe6661 primary keys6662 raises error if primary keys are set prior to insertion6663 .bulk_insert!6664 inserts items in the given number of batches6665 inserts items with belongs_to association6666 items can be properly fetched from database6667 rolls back the transaction when any item is invalid6668 does nothing and returns an empty array when items are empty6669 with returns option set6670 when is set to :ids6671 is expected to contain exactly (a kind of Integer)6672 when is set to nil6673 is expected to eq []6674 when is set to a list of attributes6675 is expected to contain exactly [(a kind of Integer), "2fd4e1c67a2d28fced849ee1bb76e7391b93eb12"]6676 when duplicate items are to be inserted6677 .bulk_insert!6678 when skip_duplicates is set to false6679 raises an exception6680 when skip_duplicates is set to true6681 does not update existing object6682 .bulk_upsert!6683 updates existing object6684 when the `created_at` attribute is provided6685 does not change the existing `created_at` value6686 when a model with composite primary key is inserted6687WARNING: Active Record does not support composite primary key.6688_test_bulk_insert_items_with_composite_pk has composite primary key. Composite primary key is ignored.6689 successfully inserts an item6690-- drop_table(:_test_bulk_insert_items, {:force=>true})6691 -> 0.0031s6692-- drop_table(:_test_bulk_insert_parent_items, {:force=>true})6693 -> 0.0022s6694-- drop_table(:_test_bulk_insert_items_with_composite_pk, {:force=>true})6695 -> 0.0017s6696Gitlab::ExternalAuthorization::Access6697 #loaded?6698 is `true` when it was loaded recently6699 is `false` when there is no loading time6700 is `false` when there the result was loaded a long time ago6701 load!6702 when loading from the webservice6703 loads from the webservice it the cache was empty6704 assigns the accessibility, reason and loaded_at6705 returns itself6706 stores the result in redis6707 when the request fails6708 is loaded6709 assigns the correct accessibility, reason and loaded_at6710 does not store the result in redis6711 When loading from cache6712 does not load from the webservice6713 loads from the webservice when the cached result was too old6714mail_room.yml6715 when incoming email is disabled6716 contains no configuration6717 when both incoming email and service desk email are enabled6718 contains the intended configuration6719 when both incoming email and service desk email are enabled for Microsoft Graph6720 contains the intended configuration6721Mail quoted-printable transfer encoding patch and Unicode characters6722 with a text email6723 with a body that encodes to exactly 74 characters (final newline)6724 behaves like email encoding6725 enclosing in a new object does not change the encoded original6726 with a body that encodes to exactly 74 characters (no final newline)6727 behaves like email encoding6728 enclosing in a new object does not change the encoded original6729 with a body that encodes to exactly 75 characters6730 behaves like email encoding6731 enclosing in a new object does not change the encoded original6732 with an html email6733 with a body that encodes to exactly 74 characters (final newline)6734 behaves like email encoding6735 enclosing in a new object does not change the encoded original6736 with a body that encodes to exactly 74 characters (no final newline)6737 behaves like email encoding6738 enclosing in a new object does not change the encoded original6739 with a body that encodes to exactly 75 characters6740 behaves like email encoding6741 enclosing in a new object does not change the encoded original6742 a multipart email6743 behaves like email encoding6744 enclosing in a new object does not change the encoded original6745 with non UTF-8 charset6746 can be decoded back6747 behaves like email encoding6748 enclosing in a new object does not change the encoded original6749 with binary content6750 can be encoded with 'base64' content-transfer-encoding6751 binary contents are not modified6752 behaves like email encoding6753 enclosing in a new object does not change the encoded original6754 encoding fails with 'quoted-printable' content-transfer-encoding6755 content cannot be decoded back6756 empty text mail with unsual body encoding6757 decodes email successfully6758 frozen email boy content with unsual body encoding6759 decodes email successfully6760Import::FogbugzService6761 returns error for unknown error causes6762 when no repo is found6763 returns an error6764 when import source is disabled6765 returns forbidden6766 when user is unauthorized6767 returns an error6768 verify url6769 when host is localhost6770 does not allow requests6771 when host is on local network6772 does not allow requests6773 when host is ftp protocol6774 does not allow requests6775 when import starts succesfully6776 returns success6777 when import fails to start6778 returns error6779Ci::HasVariable6780 is expected to validate that :key cannot be empty/falsy6781 is expected to validate that the length of :key is at most 2556782 is expected to allow :key to be ‹"foo"›6783 is expected not to allow :key to be ‹"foo bar"›6784 is expected not to allow :key to be ‹"foo/bar"›6785 scopes6786 .by_key6787 is expected to contain exactly #<Ci::Variable id: 1, key: [FILTERED], value: nil, encrypted_value: "vpFdm7YxHMbgflq2HeVWbA==\n", enc... 1422, protected: false, environment_scope: "*", masked: false, variable_type: "env_var", raw: true>6788 #key=6789 when the new key is nil6790 strips leading and trailing whitespaces6791 when the new key has leadind and trailing whitespaces6792 strips leading and trailing whitespaces6793 #value6794 stores the encrypted value6795 stores an iv for value6796 stores a salt for value6797 fails to decrypt if iv is incorrect6798 #to_runner_variable6799 returns a hash for the runner6800 with RequestStore enabled6801 decrypts once6802 does not cache similar keys6803 does not cache unpersisted values6804Types::GroupType6805 is expected to expose permissions using Types::PermissionTypes::Group6806 is expected to eq "Group"6807 is expected to require graphql authorizations :read_group6808 has the expected fields6809 boards field6810 returns boards6811 members field6812 is expected to have graphql type #<Class:0x00007f8d734ae658>6813 is expected to have graphql resolver Resolvers::GroupMembersResolver6814 timelogs field6815 finds timelogs between start time and end time6816 behaves like a GraphQL type with labels6817 has label fields6818 label field6819 is expected to have graphql type Types::LabelType6820 is expected to have graphql arguments :title6821 labels field6822 is expected to have graphql type #<Class:0x00007f8d72fb9f80>6823 is expected to have graphql arguments :search_term, :includeAncestorGroups, :includeDescendantGroups, and :onlyGroupLabels6824Gitlab::GithubImport::Importer::NoteImporter6825 #execute6826 produces a valid Note6827 when the noteable exists6828 when the author could be found6829 imports the note with the found author as the note author6830 when the note author could not be found6831 imports the note with the project creator as the note author6832 when the note have invalid chars6833 removes invalid chars6834 when the noteable does not exist6835 does not import the note6836 when the import fails due to a foreign key error6837 does not raise any errors6838 #find_noteable_id6839 returns the ID of the noteable6840Sidebars::Projects::Menus::PackagesRegistriesMenu6841 #render?6842 when menu does not have any menu item to show6843 returns false6844 when menu has menu items to show6845 returns true6846 #link6847 when Packages Registry is visible6848 menu link points to Packages Registry page6849 when Packages Registry is not visible6850 menu link points to Container Registry page6851 when Container Registry is not visible6852 does not display menu link6853 Menu items6854 Packages Registry6855 when user can read packages6856 when config package setting is disabled6857 the menu item is not added to list of menu items6858 when config package setting is enabled6859 the menu item is added to list of menu items6860 when user cannot read packages6861 the menu item is not added to list of menu items6862 Container Registry6863 when user can read container images6864 when config registry setting is disabled6865 the menu item is not added to list of menu items6866 when config registry setting is enabled6867 the menu item is added to list of menu items6868 when user cannot read container images6869 the menu item is not added to list of menu items6870 Infrastructure Registry6871 the menu item is added to list of menu items6872 when config package setting is disabled6873 does not add the menu item to the list6874 when user cannot read packages6875 does not add the menu item to the list6876 Harbor Registry6877 when config harbor registry setting is disabled6878 does not add the menu item to the list6879 when config harbor registry setting is enabled6880 the menu item is added to list of menu items6881Gitlab::Ci::Config::Entry::Port6882 when configuration is a string6883 #valid?6884 is valid6885 #value6886 returns valid hash6887 #number6888 returns port number6889 #protocol6890 is nil6891 #name6892 is nil6893 when configuration is a hash6894 with the complete hash6895 #valid?6896 is valid6897 #value6898 returns valid hash6899 #number6900 returns port number6901 #protocol6902 returns port protocol6903 #name6904 returns port name6905 with only the port number6906 #valid?6907 is valid6908 #value6909 returns valid hash6910 #number6911 returns port number6912 #protocol6913 is nil6914 #name6915 is nil6916 without the number6917 #valid?6918 is not valid6919 when configuration is invalid6920 #valid?6921 is valid6922 when protocol6923 is http6924 #valid?6925 is valid6926 is https6927 #valid?6928 is valid6929 is neither http nor https6930 #valid?6931 is invalid6932MarkdownContentRewriterService6933 #initialize6934 raises an error if source_parent is not a Project6935 raises an error if field does not have cached markdown6936 #execute6937 when content does not need a rewrite6938 returns original content and cached html6939 when content needs a rewrite6940 calls the rewriter classes successfully6941 when content has references6942 rewrites content6943 when content contains an upload6944 rewrites content6945 #safe_to_copy_markdown?6946 when content has references6947 is expected to eq false6948 when content has uploaded file references6949 is expected to eq false6950 when content does not have references or uploads6951 is expected to eq true6952projects/commit/_commit_box.html.haml6953 shows the commit SHA6954 when there is a pipeline present6955 when pipeline has stages6956 shows pipeline stages in vue6957 when there are multiple pipelines for a commit6958 shows the last pipeline6959 when pipeline for the commit is blocked6960 shows correct pipeline description6961Gitlab::Usage::Metrics::Query6962 .count6963 returns the raw SQL6964 does not mix a nil column with keyword arguments6965 removes order from passed relation6966 returns valid raw SQL for join relations6967 returns valid raw SQL for join relations with joined columns6968 .distinct_count6969 returns the raw SQL6970 does not mix a nil column with keyword arguments6971 removes order from passed relation6972 returns valid raw SQL for join relations6973 returns valid raw SQL for join relations with joined columns6974 .sum6975 returns the raw SQL6976 .average6977 returns the raw SQL6978 estimate_batch_distinct_count6979 returns the raw SQL6980 .histogram6981 returns the histogram sql6982 other6983 raise ArgumentError error6984Packages::PackageFileFinder6985 #execute6986 behaves like package file finder examples6987 is expected to eq #<Packages::PackageFile id: 1, package_id: 50, created_at: "2022-07-04 07:42:13.945470000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>6988 with file_name_like6989 is expected to eq #<Packages::PackageFile id: 1, package_id: 50, created_at: "2022-07-04 07:42:13.945470000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>6990 behaves like not returning pending_destruction package files6991 returns the correct package file6992 with unknown file_name6993 is expected to be nil6994 #execute!6995 behaves like package file finder examples6996 is expected to eq #<Packages::PackageFile id: 1, package_id: 50, created_at: "2022-07-04 07:42:13.945470000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>6997 with file_name_like6998 is expected to eq #<Packages::PackageFile id: 1, package_id: 50, created_at: "2022-07-04 07:42:13.945470000 +0000", upd...um: nil, verification_state: 0, verification_started_at: nil, status: "default", new_file_path: nil>6999 behaves like not returning pending_destruction package files7000 returns the correct package file7001 with unknown file_name7002 is expected to raise ActiveRecord::RecordNotFound7003Gitlab::Ci::Pipeline::Chain::Sequence7004 when one of steps breaks the chain7005 does not process the second step7006 returns a pipeline object7007 when all chains are executed correctly7008 iterates through entire sequence7009 returns a pipeline object7010 adds sequence duration to duration histogram7011 adds step sequence duration to duration histogram7012 records pipeline size by pipeline source in a histogram7013 records active jobs by pipeline plan in a histogram7014notify/pipeline_failed_email.text.erb7015 when the pipeline contains a failed job7016 behaves like renders the pipeline failed email correctly7017 renders the email correctly7018 behaves like correct pipeline information for pipelines for merge requests7019 when pipeline for merge request7020 renders a source ref of the pipeline7021 when the latest failed job is a bridge job7022 behaves like renders the pipeline failed email correctly7023 renders the email correctly7024 behaves like correct pipeline information for pipelines for merge requests7025 when pipeline for merge request7026 renders a source ref of the pipeline7027Gitlab::ExternalAuthorization::Client7028 #request_access7029 performs requests to the configured endpoint7030 adds the correct params for the user to the body of the request7031 respects the the timeout7032 adds the mutual tls params when they are present7033 returns an expected response7034 wraps exceptions if the request fails7035 passes local request setting to Gitlab::HTTP7036 for ldap users7037 includes the ldap dn and identities for ldap users7038 for non-ldap users with identities7039 includes all the identities7040ClustersFinder7041 #execute7042 when scope is all7043 is expected to contain exactly #<Clusters::Cluster id: 222, user_id: 2658, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3> and #<Clusters::Cluster id: 225, user_id: 2661, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>7044 when scope is active7045 is expected to contain exactly #<Clusters::Cluster id: 228, user_id: 2665, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>7046 when scope is inactive7047 is expected to contain exactly #<Clusters::Cluster id: 231, user_id: 2669, provider_type: "gcp", platform_type: "kubernetes", create...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>7048BulkImports::Pipeline::Context7049 #entity7050 is expected to eq #<BulkImports::Entity id: 6, bulk_import_id: 5, parent_id: nil, namespace_id: 5282, project_id: nil, ...reated_at: "2022-07-04 07:42:26.587433335 +0000", updated_at: "2022-07-04 07:42:26.587433335 +0000">7051 #group7052 is expected to eq #<Group id:5282 @group1160>7053 #bulk_import7054 is expected to eq #<BulkImport id: 5, user_id: 2672, source_type: "gitlab", status: 0, created_at: "2022-07-04 07:42:26.304598715 +0000", updated_at: "2022-07-04 07:42:26.304598715 +0000", source_version: "14.4.0">7055 #current_user7056 is expected to eq #<User id:2672 @user1122>7057 #configuration7058 is expected to eq nil7059 #extra7060 is expected to eq {:extra=>:data}7061 #portable7062 is expected to eq #<Group id:5282 @group1160>7063 when portable is project7064 is expected to eq #<Project id:1450 namespace1503/project1505>>7065 #import_export_config7066 is expected to be an instance of BulkImports::FileTransfer::GroupConfig7067 when portable is project7068 is expected to be an instance of BulkImports::FileTransfer::ProjectConfig7069LabelLink7070 is expected to be valid7071 is expected to belong to label required: false7072 is expected to belong to target required: false7073 behaves like a BulkInsertSafe model7074 when calling class methods directly7075 raises an error when method is not bulk-insert safe7076 does not raise an error when method is bulk-insert safe7077 .bulk_insert!7078 when all items are valid7079 inserts them all7080 returns an empty array7081 when some items are invalid7082 does not insert any of them and raises an error7083 inserts them anyway when bypassing validations7084 .for_target7085 returns the label links for a given target7086Integrations::Shimo7087 #fields7088 returns custom fields7089 #create7090 with valid params7091 creates the Shimo integration7092 with invalid params7093 cannot create the Shimo integration without external_wiki_url7094 cannot create the Shimo integration with invalid external_wiki_url7095 Caching has_shimo on project_settings7096 sets the property to true when integration is active7097 sets the property to false when integration is not active7098 creates a project_setting record if one was not already created7099Gitlab::ImportExport::RepoRestorer7100 bundle a project Git repo7101 restores the repo successfully7102 when the repository already exists7103 deletes the existing repository before importing7104 restore a wiki Git repo7105 restores the wiki repo successfully7106 no wiki in the bundle7107 does not creates an empty wiki7108LooseForeignKeys::CleanupWorker7109-- create_table(:_test_loose_fk_parent_table_1)7110 -> 0.0030s7111-- create_table(:_test_loose_fk_parent_table_2)7112 -> 0.0024s7113-- create_table(:_test_loose_fk_child_table_1_1)7114 -> 0.0023s7115-- create_table(:_test_loose_fk_child_table_1_2)7116 -> 0.0024s7117-- create_table(:_test_loose_fk_child_table_2_1)7118 -> 0.0023s7119-- execute("CREATE TRIGGER _test_loose_fk_parent_table_1_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_parent_table_1 REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")7120 -> 0.0021s7121-- execute("CREATE TRIGGER _test_loose_fk_parent_table_2_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_parent_table_2 REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")7122 -> 0.0012s7123 cleans up all rows7124 when deleting in batches7125 cleans up all rows7126 when the deleted rows count limit have been reached7127 cleans up 2 rows7128 multi-database support7129 current_minute: 2, configured_base_models: {:main=>"ActiveRecord::Base", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "ActiveRecord::Base"7130 uses the correct connection7131 current_minute: 3, configured_base_models: {:main=>"ActiveRecord::Base", :ci=>"Ci::ApplicationRecord"}, expected_connection_model: "Ci::ApplicationRecord"7132 uses the correct connection7133 current_minute: 2, configured_base_models: {:main=>"ActiveRecord::Base"}, expected_connection_model: "ActiveRecord::Base"7134 uses the correct connection7135 current_minute: 3, configured_base_models: {:main=>"ActiveRecord::Base"}, expected_connection_model: "ActiveRecord::Base"7136 uses the correct connection7137-- drop_table(:_test_loose_fk_parent_table_1)7138 -> 0.0022s7139-- drop_table(:_test_loose_fk_parent_table_2)7140 -> 0.0019s7141-- drop_table(:_test_loose_fk_child_table_1_1)7142 -> 0.0018s7143-- drop_table(:_test_loose_fk_child_table_1_2)7144 -> 0.0017s7145-- drop_table(:_test_loose_fk_child_table_2_1)7146 -> 0.0018s7147NotificationRecipients::Builder::NewNote7148 #notification_recipients7149 for public notes7150 adds all participants, watchers and subscribers7151 for confidential notes7152 adds all participants, watchers and subscribers that are project memebrs7153Gitlab::Spamcheck::Client7154 url scheme7155 is tls7156 uses secure connection7157 is grpc7158 uses insecure connection7159 #issue_spam?7160 includes interceptors7161 verdict: 0, expected: "allow"7162 returns expected spam constant7163 verdict: 1, expected: "conditional_allow"7164 returns expected spam constant7165 verdict: 2, expected: "disallow"7166 returns expected spam constant7167 verdict: 3, expected: "block"7168 returns expected spam constant7169 verdict: 4, expected: "noop"7170 returns expected spam constant7171 #build_issue_protobuf7172 builds the expected protobuf object7173 #build_user_protobuf7174 builds the expected protobuf object7175 when user has multiple email addresses7176 adds emails to the user pb object7177 #build_project_protobuf7178 builds the expected protobuf object7179Ide::TerminalConfigService7180 #execute7181 content is not valid7182 returns an error7183 terminal not defined7184 returns success7185 terminal enabled7186 returns success7187 custom terminal enabled7188 returns success7189ErrorTracking::SentryClient::IssueLink7190 #create_issue_link7191 is expected to be present7192 behaves like calls sentry api7193 calls sentry api7194 redirects7195 behaves like no Sentry redirects7196 does not follow redirects7197 when exception is raised7198 behaves like maps Sentry exceptions7199 HTTParty::Error7200 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"7201 Net::OpenTimeout7202 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"7203 SocketError7204 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"7205 OpenSSL::SSL::SSLError7206 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"7207 Errno::ECONNREFUSED7208 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"7209 StandardError7210 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"7211 when integration_id is not provided7212 is expected to be present7213 behaves like calls sentry api7214 calls sentry api7215 redirects7216 behaves like no Sentry redirects7217 does not follow redirects7218 when exception is raised7219 behaves like maps Sentry exceptions7220 HTTParty::Error7221 is expected to raise ErrorTracking::SentryClient::Error with "Error when connecting to Sentry"7222 Net::OpenTimeout7223 is expected to raise ErrorTracking::SentryClient::Error with "Connection to Sentry timed out"7224 SocketError7225 is expected to raise ErrorTracking::SentryClient::Error with "Received SocketError when trying to connect to Sentry"7226 OpenSSL::SSL::SSLError7227 is expected to raise ErrorTracking::SentryClient::Error with "Sentry returned invalid SSL data"7228 Errno::ECONNREFUSED7229 is expected to raise ErrorTracking::SentryClient::Error with "Connection refused"7230 StandardError7231 is expected to raise ErrorTracking::SentryClient::Error with "Sentry request failed due to StandardError"7232Ci::HasDeploymentName7233 deployment_name?7234 does detect deployment names7235 does detect partial deployment names7236 does not detect non-deployment names7237 is case insensitive7238Gitlab::Metrics::MethodCall7239 #measure7240 measures the performance of the supplied block7241 when measurement is above threshold7242 prometheus instrumentation is enabled7243 metric is not a NullMetric7244 observes the performance of the supplied block7245 prometheus instrumentation is disabled7246 observes the performance of the supplied block7247 observes using NullMetric7248 when measurement is below threshold7249 does not observe the performance7250 #above_threshold?7251 returns false when the total call time is not above the threshold7252 returns true when the total call time is above the threshold7253 #call_count7254 without any method calls7255 returns 07256 with method calls7257 returns the number of method calls7258 #cpu_time7259 without timings7260 returns 0.07261 with timings7262 returns the total CPU time7263 #real_time7264 without timings7265 returns 0.07266 with timings7267 returns the total real time7268Gitlab::Usage::Metrics::Instrumentations::CountImportedProjectsMetric7269 with import_type gitea7270 with all time frame7271 behaves like a correct instrumented metric value and query7272 behaves like a correct instrumented metric value7273 has correct value7274 behaves like a correct instrumented metric query7275 has correct generate query7276 for 28d time frame7277 behaves like a correct instrumented metric value and query7278 behaves like a correct instrumented metric value7279 has correct value7280 behaves like a correct instrumented metric query7281 has correct generate query7282 with import_type bitbucket7283 with all time frame7284 behaves like a correct instrumented metric value and query7285 behaves like a correct instrumented metric value7286 has correct value7287 behaves like a correct instrumented metric query7288 has correct generate query7289 for 28d time frame7290 behaves like a correct instrumented metric value and query7291 behaves like a correct instrumented metric value7292 has correct value7293 behaves like a correct instrumented metric query7294 has correct generate query7295Ci::JobTokenScope::RemoveProjectService7296 #execute7297 behaves like editable job token scope7298 when job token scope is disabled for the given project7299 behaves like returns error7300 returns an error response7301 when user does not have permissions to edit the job token scope7302 behaves like returns error7303 returns an error response7304 when user has permissions to edit the job token scope7305 when target project is not provided7306 behaves like returns error7307 returns an error response7308 when target project is provided7309 when user does not have permissions to read the target project7310 behaves like returns error7311 returns an error response7312 when user has permissions on source and target project7313 removes the project from the scope7314 when target project is same as the source project7315 behaves like returns error7316 returns an error response7317Gitlab::Ci::Build::Policy::Variables7318 #satisfied_by?7319 is satisfied by at least one matching statement7320 is satisfied by a matching pipeline variable7321 is not satisfied by an overridden empty variable7322 is satisfied by a truthy pipeline expression7323 is not satisfied by a falsy pipeline expression7324 is satisfied by a truthy expression using undefined variable7325 is not satisfied by a falsy expression using undefined variable7326 allows to evaluate regular CI variables7327 does not persist neither pipeline nor build7328 when a bridge job is used7329 is satisfied by a matching expression for a bridge job7330 when using project ci variables in environment scope7331 is satisfied by scoped variable match7332 is not satisfied when matching against overridden variable7333Gitlab::Kubernetes::Namespace7334 is expected to eq "a_namespace"7335 #exists?7336 when namespace do not exits7337 returns false7338 when namespace exits7339 returns true7340 when cluster cannot be reached7341 raises exception7342 #create!7343 creates a namespace7344 with labels7345 creates a namespace with labels7346 #ensure_exists!7347 checks for existing namespace before creating7348 do not re-create an existing namespace7349 when client errors7350 raises the exception7351 logs the error7352Resolvers::GroupMembers::NotificationEmailResolver7353 #resolve7354 is expected to have nullable GraphQL type String7355 when current_user is admin7356 returns email7357 when current_user is not admin7358 raises ResourceNotAvailable error7359X509Helper7360 #x509_subject7361 with uppercase DN7362 returns the attributes on any case search7363 with lowercase DN7364 returns the attributes on any case search7365 with comma within DN7366 returns the attributes on any case search7367 with mal formed DN7368 returns nil on any case search7369 #x509_signature?7370 detects a x509 signed commit7371DiffNotePosition7372 unique by note_id and diff type7373 accepts a line_range attribute7374 .create_or_update_by7375 when a diff note7376 does not have a diff note position7377 creates a diff note position7378 has a diff note position7379 updates the existing diff note position7380Pages::PageDeployedEvent7381 data: {:project_id=>1, :namespace_id=>2, :root_namespace_id=>3}, valid: true7382 validates data7383 data: {:project_id=>1}, valid: false7384 validates data7385 data: {:namespace_id=>1}, valid: false7386 validates data7387 data: {:project_id=>"foo", :namespace_id=>2}, valid: false7388 validates data7389 data: {:project_id=>1, :namespace_id=>"foo"}, valid: false7390 validates data7391 data: {:project_id=>[], :namespace_id=>2}, valid: false7392 validates data7393 data: {:project_id=>1, :namespace_id=>[]}, valid: false7394 validates data7395 data: {:project_id=>{}, :namespace_id=>2}, valid: false7396 validates data7397 data: {:project_id=>1, :namespace_id=>{}}, valid: false7398 validates data7399 data: "foo", valid: false7400 validates data7401 data: 123, valid: false7402 validates data7403 data: [], valid: false7404 validates data7405SystemCheck::App::AuthorizedKeysPermissionCheck7406 #skip?7407 authorized keys enabled7408 is expected to eq false7409 authorized keys not enabled7410 is expected to eq true7411 #check?7412 authorized keys is accessible7413 is expected to eq true7414 authorized keys is not accessible7415 is expected to eq false7416 #repair!7417 authorized_keys file created7418 is expected to eq true7419 authorized_keys file is not created7420 is expected to eq false7421Resolvers::UserDiscussionsCountResolver7422 #resolve7423 is expected to have nullable GraphQL type Int7424 when counting discussions from a public issue7425 returns the number of discussions for the issue7426 when a user has permission to view discussions7427 returns the number of non-system discussions for the issue7428 when a user does not have permission to view discussions7429 returns no discussions7430Packages::Maven::Metadata::AppendPackageFileService7431 #execute7432 with some content7433 creates all the related package files7434 with FIPS mode7435 does not generate file_md57436 with nil content7437 behaves like returning an error service response7438 returns an error service response7439 with nil package7440 behaves like returning an error service response7441 returns an error service response7442Integrations::IrkerWorker#perform7443 when local requests are not allowed7444 is expected to be falsey7445 when connection fails7446 is expected to be falsey7447 when connection successful7448 is expected to be truthy7449 with new branch7450 sends a correct message with branches url7451 with deleted branch7452 sends a correct message7453 with new commits to existing branch7454 sends a correct message with a compare url7455MergeRequestMergeabilityCheckWorker7456 #perform7457 when merge request does not exist7458 does not execute MergeabilityCheckService7459 when merge request exists7460 executes MergeabilityCheckService7461 structurally logs a failed mergeability check7462 behaves like an idempotent worker7463 is labeled as idempotent7464 performs multiple times sequentially without raising an exception7465 is mergeable7466scripts/changed-feature-flags7467 GetFeatureFlagsFromFiles7468 .extracted_flags7469 with definition files in the development directory7470 behaves like extract feature flags7471 returns feature flags on their own7472 returns feature flags and their state as enabled7473 returns feature flags and their state as disabled7474 does not return feature flags when there are mixed deleted and non-deleted definition files7475 with definition files in the ops directory7476 behaves like extract feature flags7477 returns feature flags on their own7478 returns feature flags and their state as enabled7479 returns feature flags and their state as disabled7480 does not return feature flags when there are mixed deleted and non-deleted definition files7481 with definition files in the experiment directory7482 ignores the files7483 with only deleted definition files7484 returns feature flags and their state as deleted7485 does not return feature flags when the desired state is enabled7486 does not return feature flags when the desired state is disabled7487projects/commit/show.html.haml7488 inline diff view7489 has limited width7490 parallel diff view7491 spans full width7492 in the context of a merge request7493 shows that it is in the context of a merge request7494projects/issues/_issue.html.haml7495 timestamp7496 when issue is open7497 shows last updated date7498 when issue is closed7499 shows closed date7500 when issue is closed but closed_at is empty7501 shows last updated date7502Gitlab::Sanitizers::ExceptionMessage7503 .clean7504 when error is a URI::InvalidURIError7505 is expected to eq "bad URI(is not URI?): [FILTERED]"7506 when error is an Addressable::URI::InvalidURIError7507 uri: "http://foo:bar", result: "Invalid port number: [FILTERED]"7508 is expected to eq "Invalid port number: [FILTERED]"7509 uri: "http://foo:%eb", result: "Invalid encoding in port"7510 is expected to eq "Invalid encoding in port"7511 uri: "ht%0atp://foo", result: "Invalid scheme format: [FILTERED]"7512 is expected to eq "Invalid scheme format: [FILTERED]"7513 uri: "http:", result: "Absolute URI missing hierarchical segment: [FILTERED]"7514 is expected to eq "Absolute URI missing hierarchical segment: [FILTERED]"7515 uri: "::http", result: "Cannot assemble URI string with ambiguous path: [FILTERED]"7516 is expected to eq "Cannot assemble URI string with ambiguous path: [FILTERED]"7517 uri: "http://foo bar", result: "Invalid character in host: [FILTERED]"7518 is expected to eq "Invalid character in host: [FILTERED]"7519 with any other exception7520 is not invoked and does nothing7521Terraform::StatePolicy7522 rules7523 no access7524 is expected to be disallowed :read_terraform_state7525 is expected to be disallowed :admin_terraform_state7526 developer7527 is expected to be allowed :read_terraform_state7528 is expected to be disallowed :admin_terraform_state7529 maintainer7530 is expected to be allowed :read_terraform_state7531 is expected to be allowed :admin_terraform_state7532Gitlab::Kubernetes::Node7533 #all7534 when connection to the cluster is successful7535 is expected to eq {:nodes=>[{"metadata"=>{"name"=>"gke-cluster-applications-default-pool-49b7f225-v527"}, "status"=>{"a...ity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}, "usage"=>{"cpu"=>"144208668n", "memory"=>"1789048Ki"}}]}7536 when an uncategorised error is raised7537 is expected to eq {:node_connection_error=>:unknown_error}7538 notifies Sentry7539Integrations::ChatMessage::NoteMessage7540 behaves like Integrations::ChatMessage7541 when input contains link markup7542 strips all link markup characters7543 commit notes7544 without markdown7545 returns a message regarding notes on commits7546 with markdown7547 returns a message regarding notes on commits7548 merge request notes7549 without markdown7550 returns a message regarding notes on a merge request7551 with markdown7552 returns a message regarding notes on a merge request7553 issue notes7554 without markdown7555 returns a message regarding notes on an issue7556 with markdown7557 returns a message regarding notes on an issue7558 project snippet notes7559 without markdown7560 returns a message regarding notes on a project snippet7561 with markdown7562 returns a message regarding notes on a project snippet7563Gitlab::ImportFormatter7564 #comment7565 creates the correct string7566 #author_line7567 returns the correct string with provided author name7568 returns the correct string with Anonymous name if author not provided7569 #assignee_line7570 returns the correct string with provided author name7571 returns the correct string with Anonymous name if author not provided7572trusted_proxies7573 with default config7574 preserves private IPs7575 filters out localhost7576 filters out bad values7577 with private IP ranges added7578 filters out private and local IPs7579 with proxy IP added7580 filters out proxy IP7581 handles invalid ip addresses7582Namespaces::ProjectNamespacePolicy7583 with no user7584 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, and :create_jira_connect_subscription7585 regular user7586 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, and :create_jira_connect_subscription7587 parent owner7588 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, and :create_jira_connect_subscription7589 admin7590 when admin mode is enabled7591 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, and :create_jira_connect_subscription7592 when admin mode is disabled7593 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :admin_package, and :create_jira_connect_subscription7594Routing::PseudonymizationHelper7595 when url has params to mask7596 with controller for MR7597 behaves like masked url7598 generates masked page url7599 with controller for issue7600 behaves like masked url7601 generates masked page url7602 with controller for groups with subgroups and project7603 behaves like masked url7604 generates masked page url7605 with controller for groups and subgroups7606 behaves like masked url7607 generates masked page url7608 with controller for blob with file path7609 behaves like masked url7610 generates masked page url7611 when assignee_username is present7612 behaves like masked url7613 generates masked page url7614 when author_username is present7615 behaves like masked url7616 generates masked page url7617 when some query params are not required to be masked7618 behaves like masked url7619 generates masked page url7620 when query string has keys with the same names as path params7621 behaves like masked url7622 generates masked page url7623 when url has no params to mask7624 returns unchanged url7625 when it raises exception7626 calls error tracking7627 sends error to sentry and returns nil7628 when feature flag is disabled7629 returns nil7630Resolvers::DesignManagement::VersionResolver7631 the current user is not authorized7632 generates an error on resolution7633 the current user is authorized7634 the id parameter is provided7635 returns the specified version7636IncidentManagement::PagerDuty::ProcessWebhookService7637 #execute7638 when PagerDuty webhook setting is active7639 when token is valid7640 when webhook payload has acceptable size7641 responds with Accepted7642 processes issues7643 when webhook payload is too big7644 responds with Bad Request7645 behaves like does not process incidents7646 does not process incidents7647 when webhook payload is blank7648 responds with Accepted7649 behaves like does not process incidents7650 does not process incidents7651 when token is invalid7652 responds with Unauthorized7653 behaves like does not process incidents7654 does not process incidents7655 when both tokens are nil7656 responds with Unauthorized7657 behaves like does not process incidents7658 does not process incidents7659 when PagerDuty webhook setting is not active7660 responds with Forbidden7661 behaves like does not process incidents7662 does not process incidents7663Gitlab::HookData::ProjectBuilder7664 #build7665 data7666 on create7667 is expected to eq "project_create"7668 behaves like includes the required attributes7669 includes the required attributes7670 behaves like does not include `old_path_with_namespace` attribute7671 does not include `old_path_with_namespace` attribute7672 on destroy7673 is expected to eq "project_destroy"7674 behaves like includes the required attributes7675 includes the required attributes7676 behaves like does not include `old_path_with_namespace` attribute7677 does not include `old_path_with_namespace` attribute7678 on rename7679 is expected to eq "project_rename"7680 behaves like includes the required attributes7681 includes the required attributes7682 behaves like includes `old_path_with_namespace` attribute7683 includes `old_path_with_namespace` attribute7684 on transfer7685 is expected to eq "project_transfer"7686 behaves like includes the required attributes7687 includes the required attributes7688 behaves like includes `old_path_with_namespace` attribute7689 includes `old_path_with_namespace` attribute7690Branches::ValidateNewService7691 #execute7692 validation7693 returns error with an invalid branch name7694 returns success with a valid branch name7695 branch exist7696 returns error when branch exists7697 returns success when branch name is available7698Gitlab::Auth::Atlassian::AuthHash7699 #uid7700 returns the correct uid7701 #token7702 returns the correct token7703 #refresh_token7704 returns the correct refresh token7705 #token7706 returns the correct expires boolean7707 #token7708 returns the correct expiration7709Notes::ResolveService7710 #execute7711 resolves the note7712 sends notifications if all discussions are resolved7713Banzai::Filter::TruncateSourceFilter7714 when markdown belongs to a blob7715 does nothing when limit is unspecified7716 truncates normally when limit specified7717 when markdown belongs to a field (non-blob)7718 does nothing when limit is greater7719 truncates to the default when limit is unspecified7720 prepends the user message7721 does nothing to a short-enough text7722 truncates UTF-8 text by bytes, on a character boundary7723Net::HTTP patch proxy user and password encoding7724 #proxy_user7725 is expected to eq nil7726 with http_proxy env7727 is expected to eq nil7728 and user:password authentication7729 when on multiuser safe platform7730 is expected to eq "Y\\X"7731 when not on multiuser safe platform7732 is expected to be nil7733 #proxy_pass7734 is expected to eq nil7735 with http_proxy env7736 is expected to eq nil7737 and user:password authentication7738 when on multiuser safe platform7739 is expected to eq "R%S] ?X"7740 when not on multiuser safe platform7741 is expected to be nil7742Gitlab::Database::UnidirectionalCopyTrigger7743 #name7744 when a single column name is given7745 returns the trigger name7746 when multiple column names are given7747 returns the trigger name7748 when a different number of new and old column names are given7749 raises an error7750 #create7751 when a single column name is given7752 creates the trigger and function7753 properly copies the column data using the trigger function7754 when multiple column names are given7755 creates the trigger and function to set all the columns7756 properly copies the columns using the trigger function7757 when a custom trigger name is given7758 creates the trigger and function with the custom name7759 when the trigger function already exists7760 does not raise an error7761 when a different number of new and old column names are given7762 raises an error7763 #drop7764 drops the trigger and function for the given arguments7765 when the trigger does not exist7766 does not raise an error7767Gitlab::Tracking7768 .options7769 when feature flag is disabled7770 when destination is Snowplow7771 returns useful client options7772 behaves like delegates to destination7773 delegates to Gitlab::Tracking::Destinations::Snowplow destination7774 when destination is SnowplowMicro7775 returns useful client options7776 behaves like delegates to destination7777 delegates to Gitlab::Tracking::Destinations::SnowplowMicro destination7778 .event7779 tracks errors7780 when destination is Snowplow7781 behaves like delegates to destination7782 delegates to Gitlab::Tracking::Destinations::Snowplow destination7783 when destination is SnowplowMicro7784 behaves like delegates to destination7785 delegates to Gitlab::Tracking::Destinations::SnowplowMicro destination7786 .definition7787 dispatchs the data to .event7788Gitlab::HealthChecks::Redis::RedisCheck7789 #metrics7790 Check is passing7791 is expected to include (have attributes {:name => "redis_ping_success", :value => 1})7792 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 0})7793 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})7794 Check is misbehaving7795 is expected to include (have attributes {:name => "redis_ping_success", :value => 0})7796 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 0})7797 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})7798 Check is timeouting7799 is expected to include (have attributes {:name => "redis_ping_success", :value => 0})7800 is expected to include (have attributes {:name => "redis_ping_timeout", :value => 1})7801 is expected to include (have attributes {:name => "redis_ping_latency_seconds", :value => (be >= 0)})7802 #readiness7803 Check returns ok7804 is expected to have attributes {:success => true}7805 Check is misbehaving7806 is expected to have attributes {:message => "unexpected Redis check result: error!", :success => false}7807 Check is timeouting7808 is expected to have attributes {:message => "Redis check timed out", :success => false}7809 Check is raising an unhandled exception7810 is expected to have attributes {:message => "unexpected Redis check result: unexpected error", :success => false}7811Gitlab::SidekiqQueue7812 #drop_jobs!7813 when there are no matching jobs7814 when the queue is not processed in time7815 returns a non-completion flag, the number of jobs deleted, and the remaining queue size7816 when the queue is processed in time7817 returns a completion flag, the number of jobs deleted, and the remaining queue size7818 when there are matching jobs7819 when the queue is not processed in time7820 returns a non-completion flag, the number of jobs deleted, and the remaining queue size7821 when the queue is processed in time7822 returns a completion flag, the number of jobs deleted, and the remaining queue size7823 when there are jobs matching the class name7824 when the queue is not processed in time7825 returns a non-completion flag, the number of jobs deleted, and the remaining queue size7826 when the queue is processed in time7827 returns a completion flag, the number of jobs deleted, and the remaining queue size7828 when there are no valid metadata keys passed7829 raises NoMetadataError7830 when the queue does not exist7831 raises InvalidQueueError7832CsvBuilders::Stream7833 #render7834 returns a lazy enumerator7835 returns all rows up to default max value7836 truncates to max rows7837RspecFlaky::FlakyExamplesCollection7838 #initialize7839 accepts no argument7840 accepts a hash7841 does not accept anything else7842 #to_h7843 calls #to_h on the values7844 #-7845 returns only examples that are not present in the given collection7846 fails if the given collection does not respond to `#key?`7847Gitlab::GithubImport::Stage::ImportPullRequestsMergedByWorker7848 #import7849 imports all the pull requests7850LicenseTemplateFinder7851 #execute7852 behaves like filters by popular category7853 popular: true7854 only returns popular licenses7855 popular: false7856 only returns unpopular licenses7857 popular: nil7858 returns all licenses known by the Licensee gem7859 correctly copies all attributes7860 #template_names7861 behaves like filters by popular category7862 popular: true7863 only returns popular licenses7864 popular: false7865 only returns unpopular licenses7866 popular: nil7867 returns all licenses known by the Licensee gem7868 template names hash keys7869 has all the expected keys7870BlobViewer::Readme7871 #render_error7872 when there is no wiki7873 returns :no_wiki7874 when there is an external wiki7875 returns nil7876 when there is a local wiki7877 when the wiki is empty7878 returns :no_wiki7879 when the wiki is not empty7880 returns nil7881UploaderFinder7882 #execute7883 when successful7884 gets the file-like uploader7885 when path traversal in file name7886 returns nil7887 when unexpected failure7888 returns nil when unexpected error is raised7889Gitlab::ImportExport::Json::LegacyWriter7890 #write_attributes7891 writes correct json7892 when invalid path is used7893 raises an exception7894 #write_relation7895 when key is already written7896 raises exception7897 when key is not already written7898 when multiple key value pairs are stored7899 writes correct json7900 when invalid path is used7901 raises an exception7902 #write_relation_array7903 when array is used7904 writes correct json7905 when enumerable is used7906 writes correct json7907 when key is already written7908 raises an exception7909Gitlab::SidekiqConfig::CliMethods7910 .worker_queues7911 when the file exists7912 when the file contains an array of hashes7913 memoizes the result7914 flattens and joins the contents7915 when the file does not exist7916 returns an empty array7917 .expand_queues7918 defaults the value of the second argument to .worker_queues7919 expands queue namespaces to concrete queue names7920 lets concrete queue names pass through7921 lets unknown queues pass through7922 .query_queues7923 returns the queue names of matched workers7924DeploymentSerializer7925 #represent7926 behaves like json schema7927 matches deployment entity schema7928 #represent_concise7929 behaves like json schema7930 matches deployment entity schema7931BulkImports::Common::Extractors::NdjsonExtractor7932 #extract7933 returns ExtractedData7934 #remove_tmpdir7935 removes tmp dir7936JSONWebToken::Token7937 custom parameters7938 is expected to eq "value"7939 is expected to include {:key => "value"}7940 embeds default payload7941 is expected to include {:jti => "acf96ca1-a9e0-4af8-acb9-9ee507eb5b2d", :iat => 1656920627, :nbf => 1656920622, :exp => 1656920687}7942Sidebars::Groups::Menus::KubernetesMenu7943 #render?7944 when user can read clusters7945 returns true7946 when user cannot read clusters rules7947 returns false7948 :certificate_based_clusters feature flag is disabled7949 returns false7950PartitionCreationWorker7951 #perform7952 forwards to the Database::PartitionManagementWorker7953Gitlab::Git::AttributesAtRefParser7954 loads .gitattributes blob7955 handles missing blobs7956 #attributes7957 returns the attributes as a Hash7958Projects::ContainerRepository::ThirdParty::DeleteTagsService7959 #execute7960 with tags to delete7961 deletes the tags by name7962 succeeds when tag delete returns 4047963 with failures7964 when the dummy manifest generation fails7965 is expected to eq {:message=>"could not generate manifest", :status=>:error}7966 when updating tags fails7967 all tag updates fail7968 is expected to eq {:message=>"could not delete tags: A, Ba", :status=>:error}7969 when a large list of tag updates fails7970 truncates the log message7971 a single tag update fails7972 is expected to eq {:deleted=>["A"], :status=>:success}7973 with empty tags7974 does not remove anything7975Types::Projects::Services::JiraServiceType7976 is expected to eq "JiraService"7977 has basic expected fields7978 is expected to require graphql authorizations :admin_project7979Grafana::Validator7980 validate!7981 does not raise an error7982 when query param "from" is not specified7983 behaves like processing error7984 raises a processing error7985 when query param "to" is not specified7986 behaves like processing error7987 raises a processing error7988 when the panel is not provided7989 behaves like processing error7990 raises a processing error7991 when the panel is not a graph7992 behaves like processing error7993 raises a processing error7994 when the panel is not a line graph7995 behaves like processing error7996 raises a processing error7997 when the query dashboard includes undefined variables7998 behaves like processing error7999 raises a processing error8000 when the expression contains unsupported global variables8001 behaves like processing error8002 raises a processing error8003 when the datasource is not proxyable8004 behaves like processing error8005 raises a processing error8006 when the datasource is not provided8007 does not raise an error8008 valid?8009 with valid arguments8010 is expected to equal true8011 with invalid arguments8012 is expected to equal false8013WebHookWorker8014 #perform8015 delegates to WebHookService8016 does not error when the WebHook record cannot be found8017 retrieves recursion detection data and reinstates it8018 behaves like worker with data consistency8019 .get_data_consistency_feature_flag_enabled?8020 returns true8021 .get_data_consistency8022 returns correct data consistency8023Types::Clusters::AgentTokenType8024 is expected to eq "ClusterAgentToken"8025 is expected to require graphql authorizations :read_cluster8026 is expected to have graphql fields :cluster_agent, :created_at, :created_by_user, :description, :id, :last_used_at, :name, and :status8027RequireVerificationForNamespaceCreationExperiment8028 #candidate?8029 when experiment subject is candidate8030 returns true8031 when experiment subject is control8032 returns false8033 #record_conversion8034 when should_track? is false8035DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb:42)8036 does not record a conversion event8037 when should_track? is true8038DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/experiments/require_verification_for_namespace_creation_experiment_spec.rb:53)8039 records a conversion event8040 exclusions8041 when user is new8042 is not excluded8043 when user is NOT new8044 is excluded8045Gitlab::HealthChecks::Redis::RateLimitingCheck8046 #metrics8047 Check is passing8048 is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 1})8049 is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 0})8050 is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})8051 Check is misbehaving8052 is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 0})8053 is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 0})8054 is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})8055 Check is timeouting8056 is expected to include (have attributes {:name => "redis_rate_limiting_ping_success", :value => 0})8057 is expected to include (have attributes {:name => "redis_rate_limiting_ping_timeout", :value => 1})8058 is expected to include (have attributes {:name => "redis_rate_limiting_ping_latency_seconds", :value => (be >= 0)})8059 #readiness8060 Check returns ok8061 is expected to have attributes {:success => true}8062 Check is misbehaving8063 is expected to have attributes {:message => "unexpected Rate_limiting check result: error!", :success => false}8064 Check is timeouting8065 is expected to have attributes {:message => "Rate_limiting check timed out", :success => false}8066 Check is raising an unhandled exception8067 is expected to have attributes {:message => "unexpected Rate_limiting check result: unexpected error", :success => false}8068Projects::LfsPointers::LfsImportService8069 when lfs is enabled for the project8070 downloads lfs objects8071 when no downloadable lfs object links8072 does not call LfsDownloadService8073 when an exception is raised8074 returns error8075 when lfs is not enabled for the project8076 does not download lfs objects8077RuboCop::Cop::Gitlab::RailsLogger8078 flags the use of Rails.logger.debug with a constant receiver8079 flags the use of Rails.logger.error with a constant receiver8080 flags the use of Rails.logger.fatal with a constant receiver8081 flags the use of Rails.logger.info with a constant receiver8082 flags the use of Rails.logger.warn with a constant receiver8083 does not flag the use of Rails.logger with a constant that is not Rails8084 does not flag the use of logger with a send receiver8085 does not flag the use of Rails.logger.level8086Gitlab::PrivateCommitEmail8087 .regex8088 is expected to match "1-foo@users.noreply.localhost"8089 is expected not to match "1-foo@users.noreply.localhost.foo"8090 is expected not to match "1-foo@users.noreply.gitlab.com"8091 is expected not to match "foo-1@users.noreply.gitlab.com"8092 is expected not to match "foobar@gitlab.com"8093 .user_id_for_email8094 parses user id from email8095 returns nil on invalid commit email8096 .user_ids_for_email8097 returns deduplicated user IDs for each valid email8098 returns an empty array with no valid emails8099 .for_user8100 returns email in the format id-username@hostname8101API::Entities::BulkImports::ExportStatus8102 has the correct attributes8103Gitlab::Usage::ServicePing::PayloadKeysProcessor8104 with an object metric8105 returns the payload keys that have a metric definition8106 with a missing metric definition8107 returns the payload keys that have a metric definition8108 with array metric8109 returns the payload keys that have a metric definition8110 missing_instrumented_metrics_key_paths8111 returns the missing keys8112Branches::DivergingCommitCountsService8113 #call8114 returns the commit counts behind and ahead of default branch8115 calls diverging_commit_count without max count8116PerformanceMonitoring::PrometheusMetric8117 .from_json8118 creates a PrometheusMetric object8119 validations8120 json_content is not a hash8121 is expected to raise ActiveModel::ValidationError8122 when unit is missing8123 is expected to raise ActiveModel::ValidationError8124 when query and query_range is missing8125 is expected to raise ActiveModel::ValidationError8126 when query_range is missing but query is available8127 is expected to be valid8128RuboCop::Cop::QA::AmbiguousPageObjectName8129 in a QA file8130 registers an offense for pages named `page`8131 doesnt offend if the page object is named otherwise8132 outside of a QA file8133 does not register an offense8134Gitlab::Middleware::MemoryReport8135 #call8136 when the Rails environment is not development8137 behaves like returns original response8138 returns original response8139 does not call the MemoryProfiler8140 when the Rails environment is development8141 when memory report is not requested8142 behaves like returns original response8143 returns original response8144 does not call the MemoryProfiler8145 when memory report is requested8146 returns a memory report8147 when something goes wrong with creating the report8148 logs the error8149 returns the error8150Environments::ResetAutoStopService8151 #execute8152 when environment will be stopped automatically8153 resets auto stop8154 when failed to reset auto stop8155 returns error8156 when user is reporter8157 returns error8158 when environment will not be stopped automatically8159 returns error8160Gitlab::Mailgun::WebhookProcessors::MemberInvites8161 #execute8162 marks the member invite email success as false8163 when invite token is not found in payload8164 does not change member status and logs an error8165 when member can not be found8166 behaves like does nothing8167 does not change member status8168 when failure is temporary8169 behaves like does nothing8170 does not change member status8171 when email is not a member invite8172 behaves like does nothing8173 does not change member status8174Terraform::States::TriggerDestroyService8175 #execute8176 marks the state as deleted and schedules a cleanup worker8177 within a database transaction8178 does not raise an EnqueueFromTransactionError8179 user does not have permission8180 does not modify the state8181 state is locked8182 does not modify the state8183Types::MemberInterface8184 exposes the expected fields8185 .resolve_type8186 for project member8187 is expected to equal Types::ProjectMemberType8188 for group member8189 is expected to equal Types::GroupMemberType8190 for an unkown type8191 raises an error8192 #merge_request_interaction8193 returns the correct type8194 has the correct arguments8195Gitlab::Diff::Formatters::TextFormatter8196 behaves like position formatter8197 #key8198 is expected to eq [123, 456, 789, "35bd01186d18c9f4842e2f377cc780a95bab7bcf", "02fa17b1a8378a17c3103dc5a6cb16a5f73a1433", 1, 2]8199 #complete?8200 when there are missing key attributes8201 is expected to be truthy8202 when old_line and new_line are nil8203 is expected to be falsy8204 #to_h8205 is expected to eq {:base_sha=>123, :head_sha=>789, :line_range=>nil, :new_line=>2, :new_path=>"new_path.txt", :old_line=>1, :old_path=>"old_path.txt", :position_type=>"text", :start_sha=>456}8206 #==8207 is expected to eq #<Gitlab::Diff::Formatters::TextFormatter:0x00007f8d37252300 @old_line=1, @new_line=2, @line_range=ni...l, @old_path="old_path.txt", @new_path="new_path.txt", @base_sha=123, @start_sha=456, @head_sha=789>8208 #line_age8209 when there is only new_line8210 is expected to eq "new"8211 when there is only old_line8212 is expected to eq "old"8213 #==8214 is false when the line_range changes8215 is true when the line_range doesn't change8216Gitlab::Database::Migrations::Observers::TotalDatabaseSizeChange8217 records the size change8218 out of order calls8219 does not record anything if before size is unknown8220 does not record anything if after size is unknown8221Ide::BaseConfigService8222 #execute8223 when insufficient permission8224 returns an error8225 for developer8226 when file is missing8227 returns an error8228 when file is present8229 content is not valid8230 returns an error8231Gitlab::Kubernetes::ServiceAccount8232 is expected to eq "a_service_account"8233 is expected to eq "a_namespace"8234 #generate8235 builds a Kubeclient Resource8236RuboCop::Cop::Style::RegexpLiteralMixedPreserve8237 when EnforcedStyle is set to mixed_preserve8238 a single-line `//` regex without slashes8239 is accepted8240 a single-line `//` regex with slashes8241 registers an offense and corrects8242 when configured to allow inner slashes8243 is accepted8244 a multi-line `//` regex without slashes8245 is accepted8246 a multi-line `//` regex with slashes8247 registers an offense and corrects8248 a single-line %r regex without slashes8249 is accepted8250 a single-line %r regex with slashes8251 is accepted8252 when configured to allow inner slashes8253 is accepted8254 a multi-line %r regex without slashes8255 is accepted8256 a multi-line %r regex with slashes8257 is accepted8258Evidences::ProjectEntity8259 exposes the expected fields8260Graphql::Arguments8261 returns a blank string if the arguments are blank8262 returns a serialized arguments if the arguments are not blank8263 supports merge with +8264 supports merge with + and a string8265 supports merge with + and a string when empty8266 supports merge with + and an empty string8267 serializes all values correctly8268Issuables::CrmContactFilter8269 when a contact has issues8270 returns all contact1 issues8271 returns all contact2 issues8272 when a contact has no issues8273 returns no issues8274dashboard/projects/index.html.haml8275 shows the project the user is a member of in the list8276 shows the "New project" button8277Gitlab::Database::MigrationHelpers::CascadingNamespaceSettings8278 #add_cascading_namespace_setting8279-- column_exists?(:namespace_settings, :some_setting)8280 -> 0.0047s8281-- column_exists?(:namespace_settings, :lock_some_setting)8282 -> 0.0037s8283-- column_exists?(:application_settings, :some_setting)8284 -> 0.3753s8285-- column_exists?(:application_settings, :lock_some_setting)8286 -> 0.3717s8287 creates the required columns8288 when columns already exist8289-- add_column(:namespace_settings, :cascading_setting, :integer)8290 -> 0.0028s8291-- add_column(:application_settings, :lock_cascading_setting, :boolean)8292 -> 0.0020s8293-- column_exists?(:namespace_settings, :cascading_setting)8294 -> 0.0052s8295-- column_exists?(:namespace_settings, :lock_cascading_setting)8296 -> 0.0045s8297-- column_exists?(:application_settings, :cascading_setting)8298 -> 0.1768s8299-- column_exists?(:application_settings, :lock_cascading_setting)8300 -> 0.1752s8301 raises an error when some columns already exist8302 #remove_cascading_namespace_setting8303 removes the columns8304Gitlab::DiscussionsDiff::HighlightCache8305 #write_multiple8306 sets multiple keys serializing content as JSON8307 #read_multiple8308 reads multiple keys and serializes content into Gitlab::Diff::Line objects8309 returns nil when cached key is not found8310 returns lines which rich_text are HTML-safe8311 #clear_multiple8312 removes all named keys8313 only removed named keys8314Gitlab::Pagination::Keyset::CursorPager8315 #paginate8316 returns the limited relation8317 #finalize8318 passes information about next page to request8319 when retrieving the last page8320 does not build information about the next page8321 when retrieving an empty page8322 does not build information about the next page8323ContentTypeWhitelist8324 upload whitelisted file content type8325 behaves like accepted carrierwave upload8326 will accept upload8327 will cache uploaded file8328 behaves like upload with content type8329 will not change upload file content type8330 upload non-whitelisted file content type8331 behaves like denied carrierwave upload8332 will deny upload8333 upload misnamed non-whitelisted file content type8334 behaves like denied carrierwave upload8335 will deny upload8336Peek::Views::DetailedView8337 when a class defines thresholds8338 when the results exceed the calls threshold8339 adds a warning to the results key8340 when the results exceed the duration threshold8341 adds a warning to the results key8342 when a single call exceeds the duration threshold8343 adds a warning to that call detail entry8344 when a view does not define thresholds8345 does not add warnings to the top level8346 does not add warnings to call details entries8347Projects::ScheduleRefreshBuildArtifactsSizeStatisticsWorker8348 #perform8349 is labeled as idempotent8350 performs multiple times sequentially without raising an exception8351 schedules Projects::RefreshBuildArtifactsSizeStatisticsWorker to be performed with capacity8352Alerting::ProjectAlertingSetting8353 Associations8354 is expected to belong to project required: false8355 #token8356 when set8357 reads the token8358 when not set8359 generates a token before validation8360IncidentManagement::IssuableEscalationStatuses::CreateService8361 creates an escalation status for the incident with no policy set8362 existing escalation status8363 exits without changing anything8364 with associated alert8365 creates an escalation status matching the alert attributes8366Gitlab::View::Presenter::Delegated8367 includes Gitlab::View::Presenter::Base8368 #initialize8369 takes arbitrary key/values and exposes them8370 raise an error if the presentee already respond to method8371 delegation8372 forwards missing methods to subject8373layouts/nav/sidebar/_profile8374 behaves like has nav sidebar8375 has collapsed nav sidebar on mobile8376 behaves like sidebar includes snowplow attributes8377 is expected to have visible css ".nav-sidebar[data-track-action=\"render\"][data-track-label=\"user_side_navigation\"][data-track-property=\"user_side_navigation\"]"8378UserAgentDetail8379 .submittable?8380 is submittable when not already submitted8381 is not submittable when already submitted8382 .valid?8383 is valid with a subject8384 is invalid without a subject8385Ci::BuildPendingState8386 #crc328387 when checksum does not exist8388 returns nil8389 when checksum is in hexadecimal8390 returns decimal representation of the checksum8391Gitlab::ExternalAuthorization8392 #access_allowed?8393 is always true when the feature is disabled8394 #rejection_reason8395 is always nil when the feature is disabled8396 #access_for_user_to_label8397 only loads the access once per request8398 logs the access request once per request8399BulkImports::TreeExportService8400 #execute8401 executes export service and archives exported data8402 when unsupported relation is passed8403 raises an error8404 when relation is self8405 executes export on portable itself8406 #exported_filename8407 returns filename of the exported file8408 when relation is self8409 returns filename of the exported file8410Gitlab::Usage::Metrics::Instrumentations::CountBoardsMetric8411 behaves like a correct instrumented metric value and query8412 behaves like a correct instrumented metric value8413 has correct value8414 behaves like a correct instrumented metric query8415 has correct generate query8416Packages::Pypi::Metadatum8417 relationships8418 is expected to belong to package required: false8419 validations8420 is expected to validate that :package cannot be empty/falsy8421 is expected to allow :required_python to be ‹""›8422 is expected not to allow :required_python to be ‹nil›8423 is expected not to allow :required_python to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›8424 #pypi_package_type8425 will not allow a package with a different package_type8426Gitlab::DependencyLinker::GoSumLinker8427 .support?8428 supports go.sum8429 does not support other files8430 #link8431 links modules8432 links checksums8433Gitlab::DependencyLinker::PodfileLinker8434 .support?8435 supports Podfile8436 does not support other files8437 #link8438 links sources8439 links packages8440 links external packages8441 links Git repos8442Projects::ForksCountService8443 behaves like a counter caching service8444 #count8445 caches the count8446 #refresh_cache8447 refreshes the cache8448 #delete_cache8449 removes the cache8450 #uncached_count8451 does not cache the count8452 #count8453 returns the number of forks8454Gitlab::Database::PostgresqlAdapter::TypeMapCache8455 #initialize_type_map8456 caches loading of types in memory8457 only reuses the cache if the connection parameters are exactly the same8458 #reload_type_map8459 clears the cache and executes the type map query again8460Integrations::Pivotaltracker8461 Validations8462 when integration is active8463 is expected to validate that :token cannot be empty/falsy8464 when integration is inactive8465 is expected not to validate that :token cannot be empty/falsy8466 Execute8467 posts correct message8468 when allowed branches is specified8469 posts message if branch is in the list8470 does not post message if branch is not in the list8471Types::MergeRequestStateEnum8472 is expected to eq "MergeRequestState"8473 exposes all the existing merge request states8474 behaves like issuable state8475 exposes all the existing issuable states8476ServicePing::PermitDataCategories8477 #execute8478 when usage ping setting is set to true8479 returns all categories8480 when usage ping setting is set to false8481 returns all categories8482Gitlab::WordDiff::PositionsCounter8483 Initial state8484 starts with predefined values8485 #increase_pos_num8486 increases old and new positions8487 #increase_obj_index8488 increases object index8489 #set_pos_num8490 sets old and new positions8491Types::RangeInputType8492 follows expected subtyping relationships for instances8493 follows expected subtyping relationships for classes8494 parameterized on Integer8495 accepts start and end8496 rejects inverted ranges8497RuboCop::Cop::Migration::BackgroundMigrations8498 when queue_background_migration_jobs_by_range_at_intervals is used8499 registers an offense8500 when requeue_background_migration_jobs_by_range_at_intervals is used8501 registers an offense8502 when migrate_in is used8503 registers an offense8504Cookies serializer initializer8505 uses JSON serializer by default8506 uses the unsafe hybrid serializer when the environment variables is set8507Gitlab::GitalyClient::ConflictFilesStitcher8508 enumeration8509 combines segregated ConflictFile messages together8510Gitlab::Email::Message::InProductMarketing::Verify8511 public methods8512 with series 08513 returns value for series8514 with series 18515 returns value for series8516 with series 28517 returns value for series8518Preloaders::CommitStatusPreloader8519 #execute8520 prevents N+1 for specified relations8521Types::TodoableInterface8522 exposes the expected fields8523 .resolve_type8524 knows the correct type for objects8525 raises an error for an unknown type8526Gitlab::Database::MigrationHelpers::LooseForeignKeyHelpers8527-- create_table(:_test_loose_fk_test_table)8528 -> 0.0076s8529 when the record deletion tracker trigger is not installed8530 does store record deletions8531 when the record deletion tracker trigger is installed8532-- execute("CREATE TRIGGER _test_loose_fk_test_table_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_test_table REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")8533 -> 0.0038s8534 stores the record deletion8535-- execute("CREATE TRIGGER _test_loose_fk_test_table_loose_fk_trigger\nAFTER DELETE ON _test_loose_fk_test_table REFERENCING OLD TABLE AS old_table\nFOR EACH STATEMENT\nEXECUTE FUNCTION insert_into_loose_foreign_keys_deleted_records();\n")8536 -> 0.0021s8537 stores multiple record deletions8538-- drop_table(:_test_loose_fk_test_table)8539 -> 0.0022s8540Gitlab::Middleware::ReleaseEnv8541 #call8542 calls the app and clears the env8543BlobViewer::ServerSide8544 #prepare!8545 loads all blob data8546 #render_error8547 when the blob is stored externally8548 return :server_side_but_stored_externally8549FromIntersect8550 behaves like from set operator8551 #from_intersect8552 selects from the results of the INTERSECT8553 returns empty set when passing empty array8554 supports the use of a custom alias for the sub query8555 supports keeping duplicate rows8556Mutations::ResolvesGroup8557 uses the GroupsResolver to resolve groups by path8558Types::Packages::Helm::DependencyType8559 is expected to eq "PackageHelmDependencyType"8560 includes helm dependency fields8561Gitlab::Kubernetes::Role8562 #generate8563 is expected to eq #<Kubeclient::Resource metadata={:name=>"example-name", :namespace=>"example-namespace"}, rules=[{:ap...>["hello.world"], :resources=>["oil", "diamonds", "coffee"], :verbs=>["say", "do", "walk", "run"]}]>8564Projects::AndroidTargetPlatformDetectorService8565 when project is not an Android project8566 is expected to be nil8567 when project is an Android project8568 is expected to eq :android8569Gitlab::AppLogger8570 builds a Gitlab::Logger object twice8571 logs info to AppLogger and AppJsonLogger8572 logs info to only the AppJsonLogger when unstructured logs are disabled8573Types::IssuableSortEnum8574 is expected to eq "IssuableSort"8575 exposes all the existing issuable sort values8576Gitlab::GrapeLogging::Formatters::LogrageWithTimestamp8577 turns the log entry to valid JSON8578 re-formats the params hash8579Types::Clusters::AgentTokenStatusEnum8580 is expected to eq "AgentTokenStatus"8581 is expected to contain exactly "ACTIVE" and "REVOKED"8582Types::AccessLevelType8583 is expected to eq "AccessLevel"8584 is expected to require graphql authorizations nil8585 has expected fields8586Gitlab::Kubernetes::Kubeconfig::Entry::User8587 #to_h8588 is expected to eq {:name=>"name", :user=>{:token=>"token"}}8589Gitlab::ImportExport::LegacyRelationTreeSaver8590 #serialize8591 uses FastHashSerializer8592API::Validations::Validators::EmailOrEmailList8593 with valid email addresses8594 does not raise a validation error8595 including any invalid email address8596 raises a validation error8597Gitlab::EtagCaching::Router::Graphql8598 matches pipelines endpoint8599 has a valid feature category for every route8600 .cache_key8601 uses request path and headers as cache key8602 when the header is missing8603 does not raise errors8604BulkImports::Common::Extractors::RestExtractor8605 #extract8606 returns instance of ExtractedData8607Gitlab::GithubImport::ImportDiffNoteWorker8608 #import8609 imports a diff note8610RuboCop::Cop::Gitlab::ChangeTimezone8611 Time.zone=8612 registers an offense with no 2nd argument8613Users::BannedUserBaseService8614 #initialize8615 sets the current_user instance value8616Gitlab::Patch::ActionCableRedisListener8617 catches Redis connection errors and restarts Action Cable8618 re-raises other exceptions8619AttrEncrypted8620 #encrypted_attributes8621 does not share state with other instances8622PolicyActor8623 implements all the methods from user8624Types::Packages::Helm::FileMetadatumType8625 is expected to eq "HelmFileMetadata"8626 includes helm file metadatum fields8627Gitlab::Ci::Status::Bridge::WaitingForResource8628 is expected to be < Gitlab::Ci::Status::Processable::WaitingForResource8629TodosDestroyer::DestroyedDesignsWorker8630 calls the Todos::Destroy::DesignService with design_ids parameter8631PipelineQueue8632 sets a default pipelines queue automatically8633API::Entities::Nuget::SearchResult8634 is expected to eq {:@type=>"Package", :authors=>"Author", :iconUrl=>"http://sandbox.com/icon", :id=>"PackageTest", :lic..."1.2.3", :versions=>[{:@id=>"http://sandbox.com/json/package", :downloads=>100, :version=>"1.2.3"}]}8635API::Entities::Nuget::Dependency8636 is expected to eq {:@id=>"http://gitlab.com/Sandbox.App/1.0.0.json#dependency", :@type=>"PackageDependency", :id=>"Dependency", :range=>"2.0.0"}8637Pending: (Failures listed here are expected and do not affect your suite's status)8638 1) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=no_gitlab_schema does run migrate :up and :down8639 # Skipping because multiple databases not set up8640 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5508641 2) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=gitlab_schema_gitlab_main does run migrate :up and :down8642 # Skipping because multiple databases not set up8643 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5508644 3) Gitlab::Database::MigrationHelpers::RestrictGitlabSchema when executing migrations does raise exception about cross schema access when suppressing restriction to ensure for db_config_name=main while restrict_gitlab_migration=gitlab_schema_gitlab_shared does run migrate :up and :down8645 # Skipping because multiple databases not set up8646 # ./spec/lib/gitlab/database/migration_helpers/restrict_gitlab_schema_spec.rb:5508647 4) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths #upload_path behaves like matches the method pattern 8648 # No pattern provided, skipping.8649 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88650 5) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths #relative_path is relative8651 # Path not set, skipping.8652 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408653 6) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths .absolute_path behaves like matches the method pattern 8654 # No pattern provided, skipping.8655 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88656 7) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile behaves like builds correct paths .base_dir behaves like matches the method pattern 8657 # No pattern provided, skipping.8658 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88659 8) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8660 # No pattern provided, skipping.8661 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88662 9) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths #relative_path is relative8663 # Path not set, skipping.8664 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408665 10) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8666 # No pattern provided, skipping.8667 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88668 11) Packages::Debian::ComponentFileUploader Packages::Debian::ProjectComponentFile object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8669 # No pattern provided, skipping.8670 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88671 12) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths #upload_path behaves like matches the method pattern 8672 # No pattern provided, skipping.8673 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88674 13) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths #relative_path is relative8675 # Path not set, skipping.8676 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408677 14) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths .absolute_path behaves like matches the method pattern 8678 # No pattern provided, skipping.8679 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88680 15) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile behaves like builds correct paths .base_dir behaves like matches the method pattern 8681 # No pattern provided, skipping.8682 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88683 16) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 8684 # No pattern provided, skipping.8685 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88686 17) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths #relative_path is relative8687 # Path not set, skipping.8688 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408689 18) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 8690 # No pattern provided, skipping.8691 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88692 19) Packages::Debian::ComponentFileUploader Packages::Debian::GroupComponentFile object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 8693 # No pattern provided, skipping.8694 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88695 20) Ci::PipelineArtifactUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8696 # No pattern provided, skipping.8697 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88698 21) Ci::PipelineArtifactUploader behaves like builds correct paths #relative_path is relative8699 # Path not set, skipping.8700 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408701 22) Ci::PipelineArtifactUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8702 # No pattern provided, skipping.8703 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88704 23) Ci::PipelineArtifactUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8705 # No pattern provided, skipping.8706 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88707 24) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8708 # No pattern provided, skipping.8709 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88710 25) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8711 # No pattern provided, skipping.8712 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88713 26) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 8714 # No pattern provided, skipping.8715 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88716 27) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative8717 # Path not set, skipping.8718 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408719 28) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8720 # No pattern provided, skipping.8721 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88722 29) Ci::PipelineArtifactUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8723 # No pattern provided, skipping.8724 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88725 30) Gitlab::Git::RuggedImpl::UseRugged when feature flag is not persisted when not running puma with multiple threads returns false when gitaly doesn't match disk8726 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example8727 # ./spec/lib/gitlab/git/rugged_impl/use_rugged_spec.rb:768728Finished in 32 minutes 30 seconds (files took 36.49 seconds to load)87293837 examples, 0 failures, 30 pending8730RSpec exited with 0.8731No examples to retry, congrats!8733Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy8734Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy8736Uploading artifacts...8737coverage/: found 5 matching files and directories 8738crystalball/: found 2 matching files and directories 8739deprecations/: found 3 matching files and directories 8740knapsack/: found 3 matching files and directories 8741rspec/: found 7 matching files and directories 8742WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 8743log/*.log: found 20 matching files and directories 8744WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337646/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8745WARNING: Retrying... context=artifacts-uploader error=request redirected8746Uploading artifacts as "archive" to coordinator... 201 Created id=2673337646 responseStatus=201 Created token=XS_vkJq48747Uploading artifacts...8748rspec/junit_rspec.xml: found 1 matching files and directories 8749WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337646/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8750WARNING: Retrying... context=artifacts-uploader error=request redirected8751Uploading artifacts as "junit" to coordinator... 201 Created id=2673337646 responseStatus=201 Created token=XS_vkJq48753Job succeeded