rspec unit pg11 17/20
Passed Started
by
@splattael
Peter Leitzen
1Running with gitlab-runner 13.6.0 (8fa89735)2 on prm-com-gitlab-org ae3bfce25Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...6Starting service postgres:11.6 ...7Pulling docker image postgres:11.6 ...8Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 with digest postgres@sha256:6f2062ab11d720f4756f17da4d0a64534346cce33b7cdea9d7ac4f43eed9fc02 ...9Starting service redis:4.0-alpine ...10Pulling docker image redis:4.0-alpine ...11Using docker image sha256:e3dd0e49bca555d559ca2e97f06a1efa108ebd230fddcb17606723994f18ae3b for redis:4.0-alpine with digest redis@sha256:aaf7c123077a5e45ab2328b5ef7e201b5720616efac498d55e65a7afbb96ae20 ...12Waiting for services to be up and running...13Authenticating with credentials from job payload (GitLab Registry)14Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...15Using docker image sha256:422a2071928493ec4e8407c4b4a40517838b4025295c7f4e082d7d63b9809484 for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2-golang-1.14-git-2.29-lfs-2.9-chrome-85-node-12.18-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:640167c88bcb0bef26e950af9accbd35b736fcf04740d8260fef1a9d47b95828 ...17Running on runner-ae3bfce2-project-278964-concurrent-0 via runner-ae3bfce2-prm-1606734666-026ce504...19$ eval "$CI_PRE_CLONE_SCRIPT"20Downloading archived master...21Connecting to storage.googleapis.com (172.217.193.128:443)22saving to '/tmp/gitlab.tar.gz'23gitlab.tar.gz 1% | | 4096k 0:01:29 ETA24gitlab.tar.gz 89% |**************************** | 324M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 363M 0:00:00 ETA26'/tmp/gitlab.tar.gz' saved27Extracting tarball into /builds/gitlab-org/gitlab...28Fetching changes with git depth set to 20...29Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/30remote: Enumerating objects: 1038, done. 31remote: Counting objects: 100% (518/518), done. 32remote: Compressing objects: 100% (208/208), done. 33remote: Total 246 (delta 169), reused 103 (delta 33), pack-reused 034Receiving objects: 100% (246/246), 48.95 KiB | 1.06 MiB/s, done.35Resolving deltas: 100% (169/169), completed with 104 local objects.37 * [new ref] refs/pipelines/223125554 -> refs/pipelines/22312555438 80aa006c27..b9127bd5cb master -> origin/master39Checking out 5eab3096 as master...40Skipping Git submodules setup42Checking cache for rails-v3-3...43cache.zip is up to date 44WARNING: vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: chmod vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: no such file or directory (suppressing repeats) 45Successfully extracted cache47Downloading artifacts for compile-test-assets (880645225)...48Downloading artifacts from coordinator... ok id=880645225 responseStatus=200 OK token=43xVezCu49Downloading artifacts for retrieve-tests-metadata (880645230)...50Downloading artifacts from coordinator... ok id=880645230 responseStatus=200 OK token=kNnKLXAM51Downloading artifacts for setup-test-env (880645229)...52Downloading artifacts from coordinator... ok id=880645229 responseStatus=200 OK token=misdkjy-53WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 55$ [ "$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.sh60Bundler version 2.1.461$ bundle install --clean --without=production development --jobs=2 --path=vendor --retry=3 --quiet62[DEPRECATED] The `--clean` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set clean 'true'`, and stop using this flag63==> 'bundle install --clean --without=production development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.64$ bundle check65The Gemfile's dependencies are satisfied66==> 'bundle check' succeeded in 0 seconds.67$ bundle pristine pg68Installing pg 1.2.3 with native extensions69==> 'bundle pristine pg' succeeded in 11 seconds.70$ setup_db_user_only71CREATE ROLE72GRANT73==> 'setup_db_user_only' succeeded in 0 seconds.74$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee75Dropped database 'gitlabhq_test'76Created database 'gitlabhq_test'77Dropped database 'gitlabhq_geo_test'78Created database 'gitlabhq_geo_test'79==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 30 seconds.80$ run_timed_command "gem install knapsack --no-document"81$ gem install knapsack --no-document82Successfully installed knapsack-1.20.0831 gem installed84==> 'gem install knapsack --no-document' succeeded in 1 seconds.85$ run_timed_command "scripts/gitaly-test-build"86$ scripts/gitaly-test-build87Settings are listed in order of priority. The top value will be used.88retry89Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 390path91Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"92jobs93Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 494app_config95Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"96silence_root_warning97Set via BUNDLE_SILENCE_ROOT_WARNING: true98gemfile99Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"100flags101Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --quiet --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"102go install -ldflags '-X gitlab.com/gitlab-org/gitaly/internal/version.version=13.7.0-rc1 -X gitlab.com/gitlab-org/gitaly/internal/version.buildtime=20201130.130035' -tags "tracer_static,tracer_static_jaeger,continuous_profiler_stackdriver,static,system_libgit2" gitlab.com/gitlab-org/gitaly/cmd/gitaly-git2go gitlab.com/gitlab-org/gitaly/cmd/praefect gitlab.com/gitlab-org/gitaly/cmd/gitaly-hooks gitlab.com/gitlab-org/gitaly/cmd/gitaly-lfs-smudge gitlab.com/gitlab-org/gitaly/cmd/gitaly-blackbox gitlab.com/gitlab-org/gitaly/cmd/gitaly gitlab.com/gitlab-org/gitaly/cmd/gitaly-debug gitlab.com/gitlab-org/gitaly/cmd/gitaly-ssh gitlab.com/gitlab-org/gitaly/cmd/gitaly-wrapper103install /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-git2go /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/praefect /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-hooks /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-lfs-smudge /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-blackbox /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-debug /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-ssh /builds/gitlab-org/gitlab/tmp/tests/gitaly/_build/bin/gitaly-wrapper /builds/gitlab-org/gitlab/tmp/tests/gitaly104Checking gitaly-ruby Gemfile...105Checking gitaly-ruby bundle...106The Gemfile's dependencies are satisfied107Trying to connect to gitaly: ....... OK108Trying to connect to praefect: ........ OK109==> 'scripts/gitaly-test-build' succeeded in 74 seconds.110$ run_timed_command "scripts/gitaly-test-spawn"111$ scripts/gitaly-test-spawn112Checking gitaly-ruby Gemfile...113Checking gitaly-ruby bundle...114The Gemfile's dependencies are satisfied115Trying to connect to gitaly: ....... OK116Trying to connect to praefect: ....... OK117==> 'scripts/gitaly-test-spawn' succeeded in 2 seconds.118$ source ./scripts/rspec_helpers.sh119$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"120KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,support_specs,tasks,uploaders,validators,views,workers,elastic_integration,tooling}{,/**/}*_spec.rb121Knapsack node specs:122spec/models/cycle_analytics/staging_spec.rb123spec/uploaders/design_management/design_v432x230_uploader_spec.rb124spec/lib/gitlab/middleware/go_spec.rb125spec/models/clusters/cluster_spec.rb126spec/services/ci/register_job_service_spec.rb127spec/lib/object_storage/direct_upload_spec.rb128spec/models/ci/job_artifact_spec.rb129spec/finders/notes_finder_spec.rb130spec/services/releases/create_service_spec.rb131spec/lib/banzai/filter/merge_request_reference_filter_spec.rb132spec/services/git/process_ref_changes_service_spec.rb133spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb134spec/services/event_create_service_spec.rb135spec/finders/projects/serverless/functions_finder_spec.rb136spec/services/ci/pipeline_trigger_service_spec.rb137spec/lib/gitlab/diff/highlight_cache_spec.rb138spec/services/merge_requests/ff_merge_service_spec.rb139spec/lib/gitlab/data_builder/push_spec.rb140spec/models/project_services/data_fields_spec.rb141spec/workers/git_garbage_collect_worker_spec.rb142spec/services/issues/duplicate_service_spec.rb143spec/policies/namespace/root_storage_statistics_policy_spec.rb144spec/finders/members_finder_spec.rb145spec/services/projects/update_pages_service_spec.rb146spec/views/projects/merge_requests/show.html.haml_spec.rb147spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb148spec/services/notification_recipients/build_service_spec.rb149spec/models/snippet_spec.rb150spec/tasks/gitlab/update_templates_rake_spec.rb151spec/graphql/mutations/issues/set_assignees_spec.rb152spec/models/operations/feature_flags/user_list_spec.rb153spec/services/integrations/test/project_service_spec.rb154spec/finders/ci/daily_build_group_report_results_finder_spec.rb155spec/graphql/resolvers/merge_requests_resolver_spec.rb156spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb157spec/models/concerns/chronic_duration_attribute_spec.rb158spec/workers/pipeline_schedule_worker_spec.rb159spec/policies/ci/pipeline_policy_spec.rb160spec/workers/packages/nuget/extraction_worker_spec.rb161spec/lib/gitlab/metrics/instrumentation_spec.rb162spec/services/ci/play_manual_stage_service_spec.rb163spec/services/projects/prometheus/alerts/notify_service_spec.rb164spec/models/ci/build_trace_chunks/fog_spec.rb165spec/graphql/mutations/issues/set_due_date_spec.rb166spec/models/draft_note_spec.rb167spec/services/projects/open_issues_count_service_spec.rb168spec/models/project_label_spec.rb169spec/lib/gitlab/file_hook_spec.rb170spec/policies/board_policy_spec.rb171spec/services/issuable/common_system_notes_service_spec.rb172spec/workers/jira_connect/sync_project_worker_spec.rb173spec/serializers/deployment_cluster_entity_spec.rb174spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb175spec/models/wiki_page/meta_spec.rb176spec/lib/gitlab/badge/pipeline/metadata_spec.rb177spec/lib/gitlab/ci/config/external/processor_spec.rb178spec/workers/pipeline_metrics_worker_spec.rb179spec/models/key_spec.rb180spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb181spec/services/metrics/dashboard/clone_dashboard_service_spec.rb182spec/serializers/discussion_diff_file_entity_spec.rb183spec/services/clusters/applications/destroy_service_spec.rb184spec/models/project_auto_devops_spec.rb185spec/services/projects/download_service_spec.rb186spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb187spec/views/layouts/application.html.haml_spec.rb188spec/lib/gitlab/import_export/fork_spec.rb189spec/lib/gitlab/background_migration/populate_has_vulnerabilities_spec.rb190spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb191spec/models/prometheus_alert_event_spec.rb192spec/workers/destroy_pages_deployments_worker_spec.rb193spec/lib/banzai/reference_parser/milestone_parser_spec.rb194spec/services/labels/create_service_spec.rb195spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb196spec/lib/gitlab/database/bulk_update_spec.rb197spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb198spec/workers/deployments/execute_hooks_worker_spec.rb199spec/lib/gitlab/otp_key_rotator_spec.rb200spec/services/clusters/cleanup/project_namespace_service_spec.rb201spec/services/discussions/capture_diff_note_positions_service_spec.rb202spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb203spec/lib/gitlab/ci/status/build/common_spec.rb204spec/models/project_services/slack_slash_commands_service_spec.rb205spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb206spec/serializers/test_report_entity_spec.rb207spec/services/incident_management/pager_duty/create_incident_issue_service_spec.rb208spec/lib/gitlab/import_export/references_configuration_spec.rb209spec/serializers/diffs_metadata_entity_spec.rb210spec/finders/ci/commit_statuses_finder_spec.rb211spec/views/projects/environments/terminal.html.haml_spec.rb212spec/services/branches/validate_new_service_spec.rb213spec/uploaders/dependency_proxy/file_uploader_spec.rb214spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb215spec/lib/gitlab/jira_import_spec.rb216spec/models/concerns/id_in_ordered_spec.rb217spec/lib/gitlab/slash_commands/issue_search_spec.rb218spec/serializers/label_serializer_spec.rb219spec/finders/users_finder_spec.rb220spec/services/ci/pipeline_schedule_service_spec.rb221spec/models/ci/processable_spec.rb222spec/models/personal_access_token_spec.rb223spec/services/ci/expire_pipeline_cache_service_spec.rb224spec/lib/gitlab/ci/build/policy/variables_spec.rb225spec/workers/hashed_storage/project_rollback_worker_spec.rb226spec/lib/gitlab/legacy_github_import/wiki_formatter_spec.rb227spec/lib/gitlab/ci/status/build/manual_spec.rb228spec/models/alert_management/alert_assignee_spec.rb229spec/lib/gitlab/ci/status/build/pending_spec.rb230spec/services/ci/cancel_user_pipelines_service_spec.rb231spec/services/groups/deploy_tokens/create_service_spec.rb232spec/services/spam/spam_verdict_service_spec.rb233spec/lib/gitlab/auth/two_factor_auth_verifier_spec.rb234spec/services/protected_branches/update_service_spec.rb235spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb236spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb237spec/workers/mail_scheduler/issue_due_worker_spec.rb238spec/lib/gitlab/checks/push_file_count_check_spec.rb239spec/lib/gitlab/cycle_analytics/test_event_fetcher_spec.rb240spec/workers/releases/create_evidence_worker_spec.rb241spec/workers/clusters/cleanup/app_worker_spec.rb242spec/views/projects/pipeline_schedules/_pipeline_schedule.html.haml_spec.rb243spec/services/ci/change_variable_service_spec.rb244spec/models/approval_spec.rb245spec/models/concerns/editable_spec.rb246spec/lib/gitlab/jira/dvcs_spec.rb247spec/services/metrics/dashboard/grafana_metric_embed_service_spec.rb248spec/services/projects/prometheus/metrics/destroy_service_spec.rb249spec/presenters/tree_entry_presenter_spec.rb250spec/models/project_services/irker_service_spec.rb251spec/models/blob_viewer/changelog_spec.rb252spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb253spec/models/serverless/function_spec.rb254spec/serializers/feature_flag_summary_entity_spec.rb255spec/lib/gitlab/x509/commit_spec.rb256spec/graphql/resolvers/projects/services_resolver_spec.rb257spec/services/users/keys_count_service_spec.rb258spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb259spec/lib/banzai/filter/wiki_link_filter_spec.rb260spec/support_specs/helpers/stub_feature_flags_spec.rb261spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb262spec/lib/gitlab/noteable_metadata_spec.rb263spec/routing/import_routing_spec.rb264spec/lib/gitlab/exclusive_lease_helpers_spec.rb265spec/serializers/issuable_sidebar_extras_entity_spec.rb266spec/lib/gitlab/alert_management/alert_status_counts_spec.rb267spec/lib/gitlab/sidekiq_middleware_spec.rb268spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb269spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb270spec/lib/gitlab/encoding_helper_spec.rb271spec/lib/gitlab/ci/ansi2json/style_spec.rb272spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb273spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb274spec/lib/gitlab/json_cache_spec.rb275spec/lib/gitlab/ci/runner/backoff_spec.rb276spec/models/integration_spec.rb277spec/services/pod_logs/kubernetes_service_spec.rb278spec/services/namespace_settings/update_service_spec.rb279spec/serializers/analytics_merge_request_serializer_spec.rb280spec/views/shared/milestones/_issuables.html.haml_spec.rb281spec/lib/gitlab/graphql/representation/submodule_tree_entry_spec.rb282spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb283spec/lib/gitlab/ci/reports/test_case_spec.rb284spec/helpers/icons_helper_spec.rb285spec/models/concerns/ci/artifactable_spec.rb286spec/lib/gitlab/json_spec.rb287spec/services/dependency_proxy/pull_manifest_service_spec.rb288spec/lib/object_storage/config_spec.rb289spec/models/group_import_state_spec.rb290spec/lib/gitlab/database/partitioning/replace_table_spec.rb291spec/haml_lint/linter/documentation_links_spec.rb292spec/workers/concerns/limited_capacity/worker_spec.rb293spec/lib/gitlab/ci/ansi2json_spec.rb294spec/services/projects/open_merge_requests_count_service_spec.rb295spec/serializers/merge_request_basic_entity_spec.rb296spec/workers/concerns/reenqueuer_spec.rb297spec/services/admin/propagate_service_template_spec.rb298spec/finders/packages/packages_finder_spec.rb299spec/models/lfs_download_object_spec.rb300spec/serializers/container_repository_entity_spec.rb301spec/channels/application_cable/connection_spec.rb302spec/views/errors/access_denied.html.haml_spec.rb303spec/graphql/resolvers/project_pipelines_resolver_spec.rb304spec/services/pages_domains/retry_acme_order_service_spec.rb305spec/services/deploy_keys/create_service_spec.rb306spec/lib/gitlab/analytics/instance_statistics/workers_argument_builder_spec.rb307spec/lib/gitlab/template/finders/repo_template_finders_spec.rb308spec/rubocop/cop/migration/drop_table_spec.rb309spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb310spec/lib/api/entities/deploy_key_spec.rb311spec/lib/gitlab/dependency_linker/gemfile_linker_spec.rb312spec/lib/gitlab/ci/config/entry/key_spec.rb313spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb314spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb315spec/lib/gitlab/webpack/manifest_spec.rb316spec/lib/feature/definition_spec.rb317spec/views/dashboard/projects/_blank_state_admin_welcome.haml_spec.rb318spec/lib/banzai/filter/math_filter_spec.rb319spec/tasks/gitlab/info_rake_spec.rb320spec/lib/json_web_token/hmac_token_spec.rb321spec/services/snippets/repository_validation_service_spec.rb322spec/lib/gitlab/rack_attack_spec.rb323spec/models/bulk_imports/configuration_spec.rb324spec/services/prometheus/proxy_variable_substitution_service_spec.rb325spec/graphql/types/invitation_interface_spec.rb326spec/workers/propagate_integration_worker_spec.rb327spec/bin/changelog_spec.rb328spec/lib/gitlab/access/branch_protection_spec.rb329spec/models/ci/artifact_blob_spec.rb330spec/lib/gitlab/service_desk_spec.rb331spec/lib/banzai/filter/spaced_link_filter_spec.rb332spec/models/packages/sem_ver_spec.rb333spec/lib/gitlab/database/multi_threaded_migration_spec.rb334spec/rubocop/cop/code_reuse/presenter_spec.rb335spec/lib/gitlab/etag_caching/router_spec.rb336spec/lib/gitlab/patch/prependable_spec.rb337spec/lib/gitlab/emoji_spec.rb338spec/lib/gitlab/ci/config/entry/commands_spec.rb339spec/graphql/types/design_management/design_type_spec.rb340spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb341spec/serializers/accessibility_reports_comparer_serializer_spec.rb342spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb343spec/lib/gitlab/utils/lazy_attributes_spec.rb344spec/helpers/recaptcha_helper_spec.rb345spec/lib/gitlab/kubernetes/helm/v2/reset_command_spec.rb346spec/rubocop/cop/migration/timestamps_spec.rb347spec/lib/gitlab/config/entry/factory_spec.rb348spec/workers/pages_transfer_worker_spec.rb349spec/lib/gitlab/diff/formatters/text_formatter_spec.rb350spec/lib/gitlab/conan_token_spec.rb351spec/lib/gitlab/graphql/loaders/batch_lfs_oid_loader_spec.rb352spec/rubocop/cop/scalability/cron_worker_context_spec.rb353spec/lib/gitlab/discussions_diff/highlight_cache_spec.rb354spec/lib/gitlab/import_export/json/legacy_reader/hash_spec.rb355spec/lib/gitlab/sherlock/line_profiler_spec.rb356spec/rubocop/cop/api/base_spec.rb357spec/lib/gitlab/reference_counter_spec.rb358spec/initializers/action_mailer_hooks_spec.rb359spec/workers/ci/delete_objects_worker_spec.rb360spec/tooling/lib/tooling/parallel_rspec_runner_spec.rb361spec/rubocop/cop/code_reuse/service_class_spec.rb362spec/lib/gitlab/project_transfer_spec.rb363spec/lib/gitlab/graphql/loaders/batch_model_loader_spec.rb364spec/lib/gitlab/ci/config/extendable_spec.rb365spec/lib/gitlab/diff/stats_cache_spec.rb366spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb367spec/graphql/types/permission_types/base_permission_type_spec.rb368spec/lib/gitlab/string_placeholder_replacer_spec.rb369spec/models/protected_tag_spec.rb370spec/validators/rsa_key_validator_spec.rb371spec/lib/gitlab/auth/key_status_checker_spec.rb372spec/models/project_services/chat_message/issue_message_spec.rb373spec/models/user_mentions/commit_user_mention_spec.rb374spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb375spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb376spec/models/performance_monitoring/prometheus_panel_group_spec.rb377spec/lib/api/every_api_endpoint_spec.rb378spec/lib/banzai/filter/jira_import/adf_to_commonmark_filter_spec.rb379spec/rubocop/cop/scalability/file_uploads_spec.rb380spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb381spec/rubocop/cop/graphql/resolver_type_spec.rb382spec/lib/gitlab/query_limiting/middleware_spec.rb383spec/lib/gitlab/sql/union_spec.rb384spec/lib/api/entities/nuget/metadatum_spec.rb385spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb386spec/lib/gitlab/config/entry/simplifiable_spec.rb387spec/lib/banzai/pipeline/emoji_pipeline_spec.rb388spec/lib/gitlab/database/dynamic_model_helpers_spec.rb389spec/tasks/gitlab/ldap_rake_spec.rb390spec/lib/gitlab/request_profiler/profile_spec.rb391spec/rubocop/cop/project_path_helper_spec.rb392spec/lib/gitlab/auth/saml/origin_validator_spec.rb393spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb394spec/graphql/types/repository_type_spec.rb395spec/lib/gitlab/hashed_path_spec.rb396spec/lib/gitlab/app_text_logger_spec.rb397spec/models/clusters/project_spec.rb398spec/lib/gitlab/tab_width_spec.rb399spec/workers/self_monitoring_project_create_worker_spec.rb400spec/rubocop/cop/avoid_route_redirect_leading_slash_spec.rb401spec/lib/banzai/render_context_spec.rb402spec/rubocop/cop/migration/remove_index_spec.rb403spec/graphql/types/group_invitation_type_spec.rb404spec/helpers/components_helper_spec.rb405spec/graphql/resolvers/alert_management/alert_status_counts_resolver_spec.rb406spec/rubocop/cop/scalability/idempotent_worker_spec.rb407spec/lib/gitlab/phabricator_import/conduit/maniphest_spec.rb408spec/lib/gitlab/database/schema_cleaner_spec.rb409spec/graphql/types/root_storage_statistics_type_spec.rb410spec/lib/gitlab/class_attributes_spec.rb411spec/graphql/types/access_level_type_spec.rb412spec/graphql/types/branch_type_spec.rb413spec/graphql/types/milestone_stats_type_spec.rb414spec/rubocop/cop/sidekiq_options_queue_spec.rb415spec/graphql/types/current_user_todos_type_spec.rb416spec/lib/gitlab/dependency_linker/base_linker_spec.rb417spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb418spec/lib/banzai/filter/normalize_source_filter_spec.rb419spec/workers/gitlab/github_import/import_note_worker_spec.rb420spec/workers/ci_platform_metrics_update_cron_worker_spec.rb421spec/lib/bitbucket/collection_spec.rb422spec/lib/api/entities/nuget/search_result_spec.rb423spec/lib/microsoft_teams/activity_spec.rb424spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb425spec/workers/environments/auto_stop_cron_worker_spec.rb426spec/graphql/types/ci/job_artifact_file_type_enum_spec.rb427spec/lib/gitlab/gitaly_client/util_spec.rb428spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb429Filter specs:430Running specs:431spec/models/cycle_analytics/staging_spec.rb432spec/uploaders/design_management/design_v432x230_uploader_spec.rb433spec/lib/gitlab/middleware/go_spec.rb434spec/models/clusters/cluster_spec.rb435spec/services/ci/register_job_service_spec.rb436spec/lib/object_storage/direct_upload_spec.rb437spec/models/ci/job_artifact_spec.rb438spec/finders/notes_finder_spec.rb439spec/services/releases/create_service_spec.rb440spec/lib/banzai/filter/merge_request_reference_filter_spec.rb441spec/services/git/process_ref_changes_service_spec.rb442spec/lib/gitlab/background_migration/backfill_project_repositories_spec.rb443spec/services/event_create_service_spec.rb444spec/finders/projects/serverless/functions_finder_spec.rb445spec/services/ci/pipeline_trigger_service_spec.rb446spec/lib/gitlab/diff/highlight_cache_spec.rb447spec/services/merge_requests/ff_merge_service_spec.rb448spec/lib/gitlab/data_builder/push_spec.rb449spec/models/project_services/data_fields_spec.rb450spec/workers/git_garbage_collect_worker_spec.rb451spec/services/issues/duplicate_service_spec.rb452spec/policies/namespace/root_storage_statistics_policy_spec.rb453spec/finders/members_finder_spec.rb454spec/services/projects/update_pages_service_spec.rb455spec/views/projects/merge_requests/show.html.haml_spec.rb456spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb457spec/services/notification_recipients/build_service_spec.rb458spec/models/snippet_spec.rb459spec/tasks/gitlab/update_templates_rake_spec.rb460spec/graphql/mutations/issues/set_assignees_spec.rb461spec/models/operations/feature_flags/user_list_spec.rb462spec/services/integrations/test/project_service_spec.rb463spec/finders/ci/daily_build_group_report_results_finder_spec.rb464spec/graphql/resolvers/merge_requests_resolver_spec.rb465spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb466spec/models/concerns/chronic_duration_attribute_spec.rb467spec/workers/pipeline_schedule_worker_spec.rb468spec/policies/ci/pipeline_policy_spec.rb469spec/workers/packages/nuget/extraction_worker_spec.rb470spec/lib/gitlab/metrics/instrumentation_spec.rb471spec/services/ci/play_manual_stage_service_spec.rb472spec/services/projects/prometheus/alerts/notify_service_spec.rb473spec/models/ci/build_trace_chunks/fog_spec.rb474spec/graphql/mutations/issues/set_due_date_spec.rb475spec/models/draft_note_spec.rb476spec/services/projects/open_issues_count_service_spec.rb477spec/models/project_label_spec.rb478spec/lib/gitlab/file_hook_spec.rb479spec/policies/board_policy_spec.rb480spec/services/issuable/common_system_notes_service_spec.rb481spec/workers/jira_connect/sync_project_worker_spec.rb482spec/serializers/deployment_cluster_entity_spec.rb483spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb484spec/models/wiki_page/meta_spec.rb485spec/lib/gitlab/badge/pipeline/metadata_spec.rb486spec/lib/gitlab/ci/config/external/processor_spec.rb487spec/workers/pipeline_metrics_worker_spec.rb488spec/models/key_spec.rb489spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb490spec/services/metrics/dashboard/clone_dashboard_service_spec.rb491spec/serializers/discussion_diff_file_entity_spec.rb492spec/services/clusters/applications/destroy_service_spec.rb493spec/models/project_auto_devops_spec.rb494spec/services/projects/download_service_spec.rb495spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb496spec/views/layouts/application.html.haml_spec.rb497spec/lib/gitlab/import_export/fork_spec.rb498spec/lib/gitlab/background_migration/populate_has_vulnerabilities_spec.rb499spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb500spec/models/prometheus_alert_event_spec.rb501spec/workers/destroy_pages_deployments_worker_spec.rb502spec/lib/banzai/reference_parser/milestone_parser_spec.rb503spec/services/labels/create_service_spec.rb504spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb505spec/lib/gitlab/database/bulk_update_spec.rb506spec/lib/gitlab/background_migration/add_merge_request_diff_commits_count_spec.rb507spec/workers/deployments/execute_hooks_worker_spec.rb508spec/lib/gitlab/otp_key_rotator_spec.rb509spec/services/clusters/cleanup/project_namespace_service_spec.rb510spec/services/discussions/capture_diff_note_positions_service_spec.rb511spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb512spec/lib/gitlab/ci/status/build/common_spec.rb513spec/models/project_services/slack_slash_commands_service_spec.rb514spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb515spec/serializers/test_report_entity_spec.rb516spec/services/incident_management/pager_duty/create_incident_issue_service_spec.rb517spec/lib/gitlab/import_export/references_configuration_spec.rb518spec/serializers/diffs_metadata_entity_spec.rb519spec/finders/ci/commit_statuses_finder_spec.rb520spec/views/projects/environments/terminal.html.haml_spec.rb521spec/services/branches/validate_new_service_spec.rb522spec/uploaders/dependency_proxy/file_uploader_spec.rb523spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb524spec/lib/gitlab/jira_import_spec.rb525spec/models/concerns/id_in_ordered_spec.rb526spec/lib/gitlab/slash_commands/issue_search_spec.rb527spec/serializers/label_serializer_spec.rb528spec/finders/users_finder_spec.rb529spec/services/ci/pipeline_schedule_service_spec.rb530spec/models/ci/processable_spec.rb531spec/models/personal_access_token_spec.rb532spec/services/ci/expire_pipeline_cache_service_spec.rb533spec/lib/gitlab/ci/build/policy/variables_spec.rb534spec/workers/hashed_storage/project_rollback_worker_spec.rb535spec/lib/gitlab/legacy_github_import/wiki_formatter_spec.rb536spec/lib/gitlab/ci/status/build/manual_spec.rb537spec/models/alert_management/alert_assignee_spec.rb538spec/lib/gitlab/ci/status/build/pending_spec.rb539spec/services/ci/cancel_user_pipelines_service_spec.rb540spec/services/groups/deploy_tokens/create_service_spec.rb541spec/services/spam/spam_verdict_service_spec.rb542spec/lib/gitlab/auth/two_factor_auth_verifier_spec.rb543spec/services/protected_branches/update_service_spec.rb544spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb545spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb546spec/workers/mail_scheduler/issue_due_worker_spec.rb547spec/lib/gitlab/checks/push_file_count_check_spec.rb548spec/lib/gitlab/cycle_analytics/test_event_fetcher_spec.rb549spec/workers/releases/create_evidence_worker_spec.rb550spec/workers/clusters/cleanup/app_worker_spec.rb551spec/views/projects/pipeline_schedules/_pipeline_schedule.html.haml_spec.rb552spec/services/ci/change_variable_service_spec.rb553spec/models/approval_spec.rb554spec/models/concerns/editable_spec.rb555spec/lib/gitlab/jira/dvcs_spec.rb556spec/services/metrics/dashboard/grafana_metric_embed_service_spec.rb557spec/services/projects/prometheus/metrics/destroy_service_spec.rb558spec/presenters/tree_entry_presenter_spec.rb559spec/models/project_services/irker_service_spec.rb560spec/models/blob_viewer/changelog_spec.rb561spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb562spec/models/serverless/function_spec.rb563spec/serializers/feature_flag_summary_entity_spec.rb564spec/lib/gitlab/x509/commit_spec.rb565spec/graphql/resolvers/projects/services_resolver_spec.rb566spec/services/users/keys_count_service_spec.rb567spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb568spec/lib/banzai/filter/wiki_link_filter_spec.rb569spec/support_specs/helpers/stub_feature_flags_spec.rb570spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb571spec/lib/gitlab/noteable_metadata_spec.rb572spec/routing/import_routing_spec.rb573spec/lib/gitlab/exclusive_lease_helpers_spec.rb574spec/serializers/issuable_sidebar_extras_entity_spec.rb575spec/lib/gitlab/alert_management/alert_status_counts_spec.rb576spec/lib/gitlab/sidekiq_middleware_spec.rb577spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb578spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb579spec/lib/gitlab/encoding_helper_spec.rb580spec/lib/gitlab/ci/ansi2json/style_spec.rb581spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb582spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb583spec/lib/gitlab/json_cache_spec.rb584spec/lib/gitlab/ci/runner/backoff_spec.rb585spec/models/integration_spec.rb586spec/services/pod_logs/kubernetes_service_spec.rb587spec/services/namespace_settings/update_service_spec.rb588spec/serializers/analytics_merge_request_serializer_spec.rb589spec/views/shared/milestones/_issuables.html.haml_spec.rb590spec/lib/gitlab/graphql/representation/submodule_tree_entry_spec.rb591spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb592spec/lib/gitlab/ci/reports/test_case_spec.rb593spec/helpers/icons_helper_spec.rb594spec/models/concerns/ci/artifactable_spec.rb595spec/lib/gitlab/json_spec.rb596spec/services/dependency_proxy/pull_manifest_service_spec.rb597spec/lib/object_storage/config_spec.rb598spec/models/group_import_state_spec.rb599spec/lib/gitlab/database/partitioning/replace_table_spec.rb600spec/haml_lint/linter/documentation_links_spec.rb601spec/workers/concerns/limited_capacity/worker_spec.rbDEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/acts-as-taggable-on-6.5.0/lib/acts_as_taggable_on/tagging.rb:9: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call602/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/associations.rb:1657: warning: The called method `belongs_to' is defined here603 (called from <top (required)> at /builds/gitlab-org/gitlab/config/initializers/0_acts_as_taggable.rb:9)604DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/marginalia-1.9.0/lib/marginalia.rb:94: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call605/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/connection_adapters/postgresql_adapter.rb:648: warning: The called method `execute_and_clear_without_marginalia' is defined here606 (called from enabled? at /builds/gitlab-org/gitlab/lib/feature.rb:81)607Knapsack report generator started!608DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call609/builds/gitlab-org/gitlab/spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:15: warning: The called method is defined here610 (called from block in <top (required)> at /builds/gitlab-org/gitlab/spec/uploaders/design_management/design_v432x230_uploader_spec.rb:13)611DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call612/builds/gitlab-org/gitlab/spec/support/shared_examples/uploaders/object_storage_shared_examples.rb:9: warning: The called method is defined here613 (called from block (2 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/uploaders/design_management/design_v432x230_uploader_spec.rb:38)614DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call615/builds/gitlab-org/gitlab/spec/support/shared_examples/uploaders/object_storage_shared_examples.rb:101: warning: The called method is defined here616 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/support/shared_examples/uploaders/object_storage_shared_examples.rb:116)617DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call618/builds/gitlab-org/gitlab/spec/lib/gitlab/middleware/go_spec.rb:33: warning: The called method is defined here619 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/lib/gitlab/middleware/go_spec.rb:221)620DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call621/builds/gitlab-org/gitlab/spec/workers/packages/nuget/extraction_worker_spec.rb:16: warning: The called method is defined here622 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/workers/packages/nuget/extraction_worker_spec.rb:63)623DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-core-3.9.1/lib/rspec/core/shared_example_group.rb:36: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call624/builds/gitlab-org/gitlab/spec/support/shared_examples/alert_notification_service_shared_examples.rb:18: warning: The called method is defined here625 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/services/projects/prometheus/alerts/notify_service_spec.rb:59)626Run options:627 include {:focus=>true}628 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}629All examples were filtered out; ignoring {:focus=>true}630==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...631 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.04794414 seconds...632CycleAnalytics#staging633DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call634/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here635 (called from block (2 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/cycle_analytics/staging_spec.rb:8)636WARNING: Active Record does not support composite primary key.637project_authorizations has composite primary key. Composite primary key is ignored.638 start condition: merge request that closes issue is merged639 end condition: merge request that closes issue is deployed to production640WARNING: Active Record does not support composite primary key.641user_interacted_projects has composite primary key. Composite primary key is ignored.642DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:515: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call643/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:47: warning: The called method `save!' is defined here644 (called from block in create_merge_request_diff at /builds/gitlab-org/gitlab/app/models/merge_request.rb:903)645WARNING: Active Record does not support composite primary key.646merge_request_diff_files has composite primary key. Composite primary key is ignored.647DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rouge-3.25.0/lib/rouge/formatter.rb:46: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call648/builds/gitlab-org/gitlab/lib/rouge/formatters/html_gitlab.rb:11: warning: The called method `initialize' is defined here649 (called from block in highlight_rich at /builds/gitlab-org/gitlab/lib/gitlab/highlight.rb:62)650DEPRECATION WARNING: /builds/gitlab-org/gitlab/lib/banzai/filter/merge_request_reference_filter.rb:63: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call651/builds/gitlab-org/gitlab/lib/banzai/filter/abstract_reference_filter.rb:252: warning: The called method `data_attributes_for' is defined here652 (called from data_attributes_for at /builds/gitlab-org/gitlab/lib/banzai/filter/merge_request_reference_filter.rb:63)653DEPRECATION WARNING: /builds/gitlab-org/gitlab/ee/app/models/concerns/visible_approvable.rb:20: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call654/builds/gitlab-org/gitlab/ee/app/models/approval_state.rb:95: warning: The called method `filtered_approvers' is defined here655 (called from overall_approvers at /builds/gitlab-org/gitlab/ee/app/models/concerns/visible_approvable.rb:20)656WARNING: Active Record does not support composite primary key.657merge_request_diff_commits has composite primary key. Composite primary key is ignored.658DEPRECATION WARNING: /builds/gitlab-org/gitlab/app/workers/mail_scheduler/notification_service_worker.rb:18: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call659/builds/gitlab-org/gitlab/app/services/notification_service.rb:121: warning: The called method `close_issue' is defined here660 (called from public_send at /builds/gitlab-org/gitlab/app/workers/mail_scheduler/notification_service_worker.rb:18)661DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call662/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here663 (called from block in safe_find_or_create_by at /builds/gitlab-org/gitlab/app/models/application_record.rb:69)664DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call665/builds/gitlab-org/gitlab/app/models/concerns/has_environment_scope.rb:25: warning: The called method is defined here666 (called from find_platform_kubernetes_with_cte at /builds/gitlab-org/gitlab/app/models/concerns/deployment_platform.rb:27)667DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call668/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here669 (called from new_dummy_job at /builds/gitlab-org/gitlab/spec/support/helpers/cycle_analytics_helpers.rb:115)670 finds the median of available durations between the two conditions671 when the data belongs to another project672 returns nil673 when the end condition happens before the start condition674 returns nil675 start condition NOT PRESENT: merge request that closes issue is merged676 end condition: merge request that closes issue is deployed to production677 returns nil678 start condition: merge request that closes issue is merged679 end condition NOT PRESENT: merge request that closes issue is deployed to production680 returns nil681 start condition: merge request that closes issue is merged682 end condition: production deploy happens after merge request is merged (along with other changes)683 finds the median of available durations between the two conditions684 when the data belongs to another project685 returns nil686 when the end condition happens before the start condition687 returns nil688 start condition NOT PRESENT: merge request that closes issue is merged689 end condition: production deploy happens after merge request is merged (along with other changes)690 returns nil691 start condition: merge request that closes issue is merged692 end condition NOT PRESENT: production deploy happens after merge request is merged (along with other changes)693 returns nil694 start condition: merge request that closes issue is merged695 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)696 finds the median of available durations between the two conditions697 when the data belongs to another project698 returns nil699 when the end condition happens before the start condition700 returns nil701 start condition NOT PRESENT: merge request that closes issue is merged702 end condition: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)703 returns nil704 start condition: merge request that closes issue is merged705 end condition NOT PRESENT: merge request that closes issue is deployed to production and production deploy happens after merge request is merged (along with other changes)706 returns nil707 when none of the start / end conditions are matched708 returns nil709 when a regular merge request (that doesn't close the issue) is merged and deployed710 returns nil711 when the deployment happens to a non-production environment712 returns nil713DesignManagement::DesignV432x230Uploader714DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/sanitized_file.rb:316: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call715/usr/local/lib/ruby/2.7.0/fileutils.rb:206: warning: The called method `mkdir_p' is defined here716 (called from cache! at /builds/gitlab-org/gitlab/app/uploaders/object_storage.rb:369)717 resizes images718 behaves like builds correct paths719 #store_dir720 behaves like matches the method pattern721 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//722 #cache_dir723 behaves like matches the method pattern724 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)725 #work_dir726 behaves like matches the method pattern727 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)728 #upload_path729 behaves like matches the method pattern730 is expected to match /uploads\/-\/system\/design_management\/action\/image_v432x230\//731 #relative_path732 is relative (PENDING: Path not set, skipping.)733 .absolute_path734 behaves like matches the method pattern735 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/design_management\/action\/image_v432x230\//736 .base_dir737 behaves like matches the method pattern738 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)739 path traversal exploits740 throws an exception741 object_store is REMOTE742 behaves like builds correct paths743 #store_dir744 behaves like matches the method pattern745 is expected to match /design_management\/action\/image_v432x230\//746 #cache_dir747 behaves like matches the method pattern748 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)749 #work_dir750 behaves like matches the method pattern751 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)752 #upload_path753 behaves like matches the method pattern754 is expected to match /design_management\/action\/image_v432x230\//755 #relative_path756 is relative (PENDING: Path not set, skipping.)757 .absolute_path758 behaves like matches the method pattern759 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)760 .base_dir761 behaves like matches the method pattern762 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)763 path traversal exploits764 throws an exception765 #migrate!766 behaves like migrates767 returns corresponding file type768 does nothing when migrating to the current store769 migrate to the specified store770 removes the original file after the migration771 can access to the original file during migration772 when migrate! is not occupied by another process773 executes migrate!774 executes use_file775 when migrate! is occupied by another process776 does not execute migrate!777 does not execute use_file778 migration is unsuccessful779 when the store is not supported780 does not update the object_store781 does not delete the original file782 upon a fog failure783 does not update the object_store784 does not delete the original file785 upon a database failure786 does not update the object_store787 does not delete the original file788 behaves like migrates789 returns corresponding file type790 does nothing when migrating to the current store791 migrate to the specified store792 removes the original file after the migration793 can access to the original file during migration794 when migrate! is not occupied by another process795 executes migrate!796 executes use_file797 when migrate! is occupied by another process798 does not execute migrate!799 does not execute use_file800 migration is unsuccessful801 when the store is not supported802 does not update the object_store803 does not delete the original file804 upon a fog failure805 does not update the object_store806 does not delete the original file807 upon a database failure808 does not update the object_store809 does not delete the original file810 accept whitelist file content type811 mime_type: "image/png"812 behaves like accepted carrierwave upload813 will accept upload814 will cache uploaded file815 mime_type: "image/jpeg"816 behaves like accepted carrierwave upload817 will accept upload818 will cache uploaded file819 mime_type: "image/bmp"820 behaves like accepted carrierwave upload821 will accept upload822 will cache uploaded file823 mime_type: "image/gif"824 behaves like accepted carrierwave upload825 will accept upload826 will cache uploaded file827 upload non-whitelisted file content type828 behaves like denied carrierwave upload829 will deny upload830 upload misnamed non-whitelisted file content type831 behaves like denied carrierwave upload832 will deny upload833Gitlab::Middleware::Go834 #call835 when go-get=0836 skips go-import generation837 when go-get=1838 with SSH disabled839 with simple 2-segment project path840 with subpackages841 returns the full project path842 without subpackages843 returns the full project path844 with a nested project path845 with subpackages846 behaves like a nested project847 when the project is public848 returns the full project path849 when the project is private850 when not authenticated851 behaves like unauthorized852 returns the 2-segment group path853 when authenticated854 using basic auth855 using a personal access token856 with api scope857 behaves like authenticated858 with access to the project859 returns the full project path860 with an empty ssh_user861 returns the full project path862 without access to the project863 behaves like unauthorized864 returns the 2-segment group path865 with user is blocked866 behaves like unauthorized867 returns the 2-segment group path868 with read_user scope869 behaves like unauthorized870 returns the 2-segment group path871 with a blacklisted ip872 returns forbidden873 with a subpackage that is not a valid project path874 behaves like a nested project875 when the project is public876 returns the full project path877 when the project is private878 when not authenticated879 behaves like unauthorized880 returns the 2-segment group path881 when authenticated882 using basic auth883 using a personal access token884 with api scope885 behaves like authenticated886 with access to the project887 returns the full project path888 with an empty ssh_user889 returns the full project path890 without access to the project891 behaves like unauthorized892 returns the 2-segment group path893 with user is blocked894 behaves like unauthorized895 returns the 2-segment group path896 with read_user scope897 behaves like unauthorized898 returns the 2-segment group path899 with a blacklisted ip900 returns forbidden901 without subpackages902 behaves like a nested project903 when the project is public904 returns the full project path905 when the project is private906 when not authenticated907 behaves like unauthorized908 returns the 2-segment group path909 when authenticated910 using basic auth911 using a personal access token912 with api scope913 behaves like authenticated914 with access to the project915 returns the full project path916 with an empty ssh_user917 returns the full project path918 without access to the project919 behaves like unauthorized920 returns the 2-segment group path921 with user is blocked922 behaves like unauthorized923 returns the 2-segment group path924 with read_user scope925 behaves like unauthorized926 returns the 2-segment group path927 with a blacklisted ip928 returns forbidden929 with a bogus path930 skips go-import generation931 with a public project without a repository932 returns 404933 with a non-standard head934 returns the full project path935 with HTTP disabled936 with simple 2-segment project path937 with subpackages938 returns the full project path939 without subpackages940 returns the full project path941 with a nested project path942 with subpackages943 behaves like a nested project944 when the project is public945 returns the full project path946 when the project is private947 when not authenticated948 behaves like unauthorized949 returns the 2-segment group path950 when authenticated951 using basic auth952 using a personal access token953 with api scope954 behaves like authenticated955 with access to the project956 returns the full project path957 with an empty ssh_user958 returns the full project path959 without access to the project960 behaves like unauthorized961 returns the 2-segment group path962 with user is blocked963 behaves like unauthorized964 returns the 2-segment group path965 with read_user scope966 behaves like unauthorized967 returns the 2-segment group path968 with a blacklisted ip969 returns forbidden970 with a subpackage that is not a valid project path971 behaves like a nested project972 when the project is public973 returns the full project path974 when the project is private975 when not authenticated976 behaves like unauthorized977 returns the 2-segment group path978 when authenticated979 using basic auth980 using a personal access token981 with api scope982 behaves like authenticated983 with access to the project984 returns the full project path985 with an empty ssh_user986 returns the full project path987 without access to the project988 behaves like unauthorized989 returns the 2-segment group path990 with user is blocked991 behaves like unauthorized992 returns the 2-segment group path993 with read_user scope994 behaves like unauthorized995 returns the 2-segment group path996 with a blacklisted ip997 returns forbidden998 without subpackages999 behaves like a nested project1000 when the project is public1001 returns the full project path1002 when the project is private1003 when not authenticated1004 behaves like unauthorized1005 returns the 2-segment group path1006 when authenticated1007 using basic auth1008 using a personal access token1009 with api scope1010 behaves like authenticated1011 with access to the project1012 returns the full project path1013 with an empty ssh_user1014 returns the full project path1015 without access to the project1016 behaves like unauthorized1017 returns the 2-segment group path1018 with user is blocked1019 behaves like unauthorized1020 returns the 2-segment group path1021 with read_user scope1022 behaves like unauthorized1023 returns the 2-segment group path1024 with a blacklisted ip1025 returns forbidden1026 with a bogus path1027 skips go-import generation1028 with a public project without a repository1029 returns 4041030 with a non-standard head1031 returns the full project path1032 with nothing disabled1033 with simple 2-segment project path1034 with subpackages1035 returns the full project path1036 without subpackages1037 returns the full project path1038 with a nested project path1039 with subpackages1040 behaves like a nested project1041 when the project is public1042 returns the full project path1043 when the project is private1044 when not authenticated1045 behaves like unauthorized1046 returns the 2-segment group path1047 when authenticated1048 using basic auth1049 using a personal access token1050 with api scope1051 behaves like authenticated1052 with access to the project1053 returns the full project path1054 with an empty ssh_user1055 returns the full project path1056 without access to the project1057 behaves like unauthorized1058 returns the 2-segment group path1059 with user is blocked1060 behaves like unauthorized1061 returns the 2-segment group path1062 with read_user scope1063 behaves like unauthorized1064 returns the 2-segment group path1065 with a blacklisted ip1066 returns forbidden1067 with a subpackage that is not a valid project path1068 behaves like a nested project1069 when the project is public1070 returns the full project path1071 when the project is private1072 when not authenticated1073 behaves like unauthorized1074 returns the 2-segment group path1075 when authenticated1076 using basic auth1077 using a personal access token1078 with api scope1079 behaves like authenticated1080 with access to the project1081 returns the full project path1082 with an empty ssh_user1083 returns the full project path1084 without access to the project1085 behaves like unauthorized1086 returns the 2-segment group path1087 with user is blocked1088 behaves like unauthorized1089 returns the 2-segment group path1090 with read_user scope1091 behaves like unauthorized1092 returns the 2-segment group path1093 with a blacklisted ip1094 returns forbidden1095 without subpackages1096 behaves like a nested project1097 when the project is public1098 returns the full project path1099 when the project is private1100 when not authenticated1101 behaves like unauthorized1102 returns the 2-segment group path1103 when authenticated1104 using basic auth1105 using a personal access token1106 with api scope1107 behaves like authenticated1108 with access to the project1109 returns the full project path1110 with an empty ssh_user1111 returns the full project path1112 without access to the project1113 behaves like unauthorized1114 returns the 2-segment group path1115 with user is blocked1116 behaves like unauthorized1117 returns the 2-segment group path1118 with read_user scope1119 behaves like unauthorized1120 returns the 2-segment group path1121 with a blacklisted ip1122 returns forbidden1123 with a bogus path1124 skips go-import generation1125 with a public project without a repository1126 returns 4041127 with a non-standard head1128 returns the full project path1129 with nothing disabled (blank string)1130 with simple 2-segment project path1131 with subpackages1132 returns the full project path1133 without subpackages1134 returns the full project path1135 with a nested project path1136 with subpackages1137 behaves like a nested project1138 when the project is public1139 returns the full project path1140 when the project is private1141 when not authenticated1142 behaves like unauthorized1143 returns the 2-segment group path1144 when authenticated1145 using basic auth1146 using a personal access token1147 with api scope1148 behaves like authenticated1149 with access to the project1150 returns the full project path1151 with an empty ssh_user1152 returns the full project path1153 without access to the project1154 behaves like unauthorized1155 returns the 2-segment group path1156 with user is blocked1157 behaves like unauthorized1158 returns the 2-segment group path1159 with read_user scope1160 behaves like unauthorized1161 returns the 2-segment group path1162 with a blacklisted ip1163 returns forbidden1164 with a subpackage that is not a valid project path1165 behaves like a nested project1166 when the project is public1167 returns the full project path1168 when the project is private1169 when not authenticated1170 behaves like unauthorized1171 returns the 2-segment group path1172 when authenticated1173 using basic auth1174 using a personal access token1175 with api scope1176 behaves like authenticated1177 with access to the project1178 returns the full project path1179 with an empty ssh_user1180 returns the full project path1181 without access to the project1182 behaves like unauthorized1183 returns the 2-segment group path1184 with user is blocked1185 behaves like unauthorized1186 returns the 2-segment group path1187 with read_user scope1188 behaves like unauthorized1189 returns the 2-segment group path1190 with a blacklisted ip1191 returns forbidden1192 without subpackages1193 behaves like a nested project1194 when the project is public1195 returns the full project path1196 when the project is private1197 when not authenticated1198 behaves like unauthorized1199 returns the 2-segment group path1200 when authenticated1201 using basic auth1202 using a personal access token1203 with api scope1204 behaves like authenticated1205 with access to the project1206 returns the full project path1207 with an empty ssh_user1208 returns the full project path1209 without access to the project1210 behaves like unauthorized1211 returns the 2-segment group path1212 with user is blocked1213 behaves like unauthorized1214 returns the 2-segment group path1215 with read_user scope1216 behaves like unauthorized1217 returns the 2-segment group path1218 with a blacklisted ip1219 returns forbidden1220 with a bogus path1221 skips go-import generation1222 with a public project without a repository1223 returns 4041224 with a non-standard head1225 returns the full project path1226Clusters::Cluster1227 is expected to includes the HasEnvironmentScope module1228 is expected to belong to user required:1229 is expected to belong to management_project class_name => ::Project required:1230 is expected to have many cluster_projects1231 is expected to have many projects1232 is expected to have many cluster_groups1233 is expected to have many groups1234 is expected to have many groups_projects1235 is expected to have one provider_gcp1236 is expected to have one provider_aws1237 is expected to have one platform_kubernetes1238 is expected to have one application_helm1239 is expected to have one application_ingress1240 is expected to have one application_prometheus1241 is expected to have one application_runner1242 is expected to have many kubernetes_namespaces1243 is expected to have one cluster_project1244 is expected to have many deployment_clusters1245 is expected to have many metrics_dashboard_annotations1246 is expected to have many successful_deployments1247 is expected to have many environments through deployments1248 is expected to delegate #status to the #provider object1249 is expected to delegate #status_reason to the #provider object1250 is expected to delegate #on_creation? to the #provider object1251 is expected to delegate #knative_pre_installed? to the #provider object1252 is expected to delegate #platform_kubernetes_active? to the #platform_kubernetes object as #active?1253 is expected to delegate #platform_kubernetes_rbac? to the #platform_kubernetes object as #rbac?1254 is expected to delegate #application_helm_available? to the #application_helm object as #available?1255 is expected to delegate #application_ingress_available? to the #application_ingress object as #available?1256 is expected to delegate #application_prometheus_available? to the #application_prometheus object as #available?1257 is expected to delegate #application_knative_available? to the #application_knative object as #available?1258 is expected to delegate #application_elastic_stack_available? to the #application_elastic_stack object as #available?1259 is expected to delegate #application_ingress_external_ip to the #application_ingress object as #external_ip1260 is expected to delegate #application_ingress_external_hostname to the #application_ingress object as #external_hostname1261 is expected to respond to #project1262 is expected to be namespace per environment1263 has default helm_major_version 31264 behaves like having unique enum values1265 has unique values in "cluster_type"1266 has unique values in "platform_type"1267 has unique values in "provider_type"1268 applications have inverse_of: :cluster option1269 does not do a third query when referencing cluster again1270 .enabled1271 is expected to contain exactly #<Clusters::Cluster id: 3, user_id: 238, provider_type: nil, platform_type: nil, created_at: "2020-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1272 .disabled1273 is expected to contain exactly #<Clusters::Cluster id: 5, user_id: 240, provider_type: nil, platform_type: nil, created_at: "2020-11...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1274 .user_provided1275 is expected to contain exactly #<Clusters::Cluster id: 7, user_id: 242, provider_type: "user", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1276 .gcp_provided1277 is expected to contain exactly #<Clusters::Cluster id: 9, user_id: 244, provider_type: "gcp", platform_type: "kubernetes", created_a...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1278 .gcp_installed1279DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1280/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1281 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:115)1282 is expected to contain exactly #<Clusters::Cluster id: 12, user_id: 247, provider_type: "gcp", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1283 .aws_provided1284 is expected to contain exactly #<Clusters::Cluster id: 15, user_id: 250, provider_type: "aws", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1285 .aws_installed1286 is expected to contain exactly #<Clusters::Cluster id: 18, user_id: 253, provider_type: "aws", platform_type: "kubernetes", created_...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1287 .managed1288 cluster is not managed1289 is expected not to include #<Clusters::Cluster id: 20, user_id: 255, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1290 cluster is managed1291 is expected to include #<Clusters::Cluster id: 21, user_id: 256, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1292 .with_management_project1293 cluster has a management project1294 is expected to include #<Clusters::Cluster id: 22, user_id: 257, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: 232, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1295 cluster does not have a management project1296 is expected not to include #<Clusters::Cluster id: 23, user_id: 259, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1297 .with_application_prometheus1298 cluster has prometheus application1299 is expected to include #<Clusters::Cluster id: 24, user_id: 260, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1300 cluster does not have prometheus application1301 is expected not to include #<Clusters::Cluster id: 25, user_id: 261, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1302 .with_enabled_modsecurity1303 cluster has ingress application with enabled modsecurity1304 is expected to include #<Clusters::Cluster id: 26, user_id: 262, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1305 cluster has ingress application with disabled modsecurity1306 is expected not to include #<Clusters::Cluster id: 26, user_id: 262, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1307 cluster does not have ingress application1308 is expected not to include #<Clusters::Cluster id: 26, user_id: 262, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1309 .with_available_elasticstack1310 cluster has ElasticStack application1311 is expected to include #<Clusters::Cluster id: 27, user_id: 263, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1312 cluster does not have ElasticStack application1313 is expected not to include #<Clusters::Cluster id: 27, user_id: 263, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1314 .distinct_with_deployed_environments1315 cluster has multiple successful deployment with environment1316 is expected to include #<Clusters::Cluster id: 28, user_id: 264, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1317 lists only distinct environments1318 cluster has only failed deployment with environment1319 is expected not to include #<Clusters::Cluster id: 28, user_id: 264, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1320 cluster does not have any deployment1321 is expected not to include #<Clusters::Cluster id: 28, user_id: 264, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1322 .with_project_alert_service_data1323 project has alert service data1324DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/attr_encrypted-3.1.0/lib/attr_encrypted/adapters/active_record.rb:63: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1325/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activemodel-6.0.3.3/lib/active_model/dirty.rb:169: warning: The called method `attribute_changed?' is defined here1326 (called from token_changed? at /builds/gitlab-org/gitlab/app/models/project_services/alerts_service.rb:10)1327 is expected to include #<Clusters::Cluster id: 29, user_id: 268, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1328 project has no alert service data1329 is expected not to include #<Clusters::Cluster id: 30, user_id: 270, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1330 .for_project_namespace1331 is expected to contain exactly #<Clusters::Cluster id: 31, user_id: 272, provider_type: nil, platform_type: nil, created_at: "2020-1...e, management_project_id: nil, cleanup_status: 1, cleanup_status_reason: nil, helm_major_version: 3>1332 validations1333 when validates unique_environment_scope1334 for a project cluster1335 when identical environment scope exists in project1336 is expected to be falsey1337 when identical environment scope does not exist in project1338 is expected to be truthy1339 when identical environment scope exists in different project1340 is expected to be truthy1341 for a group cluster1342 when identical environment scope exists in group1343 is expected to be falsey1344 when identical environment scope does not exist in group1345 is expected to be truthy1346 when identical environment scope exists in different group1347 is expected to be truthy1348 for an instance cluster1349 identical environment scope exists1350 is expected to be falsey1351 identical environment scope does not exist1352 is expected to be truthy1353 when validates name1354 when provided by user1355 when name is empty1356 is expected to be falsey1357 when name is nil1358 is expected to be falsey1359 when name is present1360 is expected to be truthy1361 when provided by gcp1362 when name is shorter than 11363DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1364/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1365 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/clusters/providers/gcp.rb:24)1366 is expected to be falsey1367 when name is longer than 631368 is expected to be falsey1369 when name includes invalid character1370 is expected to be falsey1371 when name is present1372 is expected to be truthy1373 when record is persisted1374 when name is changed1375 is expected to be falsey1376 when name is same1377 is expected to be truthy1378 when validates restrict_modification1379 when creation is on going1380 is expected to be falsey1381 when creation is done1382 is expected to be truthy1383 cluster_type validations1384 validates presence1385 project_type cluster1386DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:515: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1387/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:47: warning: The called method `save!' is defined here1388 (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:472)1389 does not allow setting group1390 group_type cluster1391 does not allow setting project1392 instance_type cluster1393 does not allow setting group1394 does not allow setting project1395 domain validation1396 when cluster has domain1397 is expected to be valid1398 when cluster is not a valid hostname1399DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/validates_hostname-1.0.10/lib/validates_hostname.rb:245: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1400/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/i18n-1.8.5/lib/i18n.rb:195: warning: The called method `t' is defined here1401 (called from block (5 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:520)1402 adds an error on domain1403 when cluster does not have a domain1404 is expected to be valid1405 unique scope for management_project1406 duplicate scopes for the same management project1407 adds an error on environment_scope1408 helm_major_version can only be 2 or 31409 helm_major_version: 2, expect_valid: true1410 is expected to eq true1411 helm_major_version: 3, expect_valid: true1412 is expected to eq true1413 helm_major_version: 4, expect_valid: false1414 is expected to eq false1415 helm_major_version: -1, expect_valid: false1416 is expected to eq false1417 .ancestor_clusters_for_clusterable1418 when project does not belong to this group1419 returns nothing1420 when group has a configured kubernetes cluster1421 returns the group cluster1422 when group and instance have configured kubernetes clusters1423 returns clusters in order, descending the hierachy1424 when sub-group has configured kubernetes cluster1425 returns clusters in order, descending the hierachy1426 avoids N+1 queries1427 for a group1428 returns clusters in order for a group1429 scope chaining1430 returns nothing1431 #provider1432 when provider is gcp1433 returns a provider1434 when provider is aws1435DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1436/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1437 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:662)1438 returns a provider1439 when provider is user1440 is expected to be nil1441 #platform1442 when platform is kubernetes1443 returns a platform1444 #first_project1445 when cluster belongs to a project1446 is expected to eq #<Project id:255 namespace159/project255>>1447 when cluster does not belong to projects1448 is expected to be nil1449 #group1450 when cluster belongs to a group1451 is expected to eq #<Group id:581 @group210>1452 when cluster does not belong to any group1453 is expected to be nil1454 .with_persisted_applications1455 preloads persisted applications1456 #persisted_applications1457 when all applications are created1458 returns a list of created applications1459 when not all were created1460 returns a list of created applications1461 #applications1462 when none of applications are created1463 returns a list of a new objects1464 when applications are created1465DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1466/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1467 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1468DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1469/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1470 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1471DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1472/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1473 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1474DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1475/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1476 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1477DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1478/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1479 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1480DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1481/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1482 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1483DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1484/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1485 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1486DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1487/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1488 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1489DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1490/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1491 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1492DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1493/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1494 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1495DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1496/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1497 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/clusters/cluster_spec.rb:777)1498 returns a list of created applications1499 #find_or_build_application1500 rejects classes that are not applications1501 when none of applications are created1502 returns the new application1503 when application is persisted1504 returns the persisted application1505 #allow_user_defined_namespace?1506 project type cluster1507 gitlab managed1508 is expected to be truthy1509 not managed1510 is expected to be truthy1511 group type cluster1512 gitlab managed1513 is expected to be falsey1514 not managed1515 is expected to be truthy1516 instance type cluster1517 gitlab managed1518 is expected to be falsey1519 not managed1520 is expected to be truthy1521 #all_projects1522 cluster_type is project_type1523 returns projects1524 cluster_type is group_type1525 returns group projects1526 cluster_type is instance_type1527 returns all instance's projects1528 #kube_ingress_domain1529 with domain set in cluster1530 is expected to eq "example.com"1531 with no domain on cluster1532 with domain set at instance level1533 is expected to eq "global_domain.com"1534 #kubernetes_namespace_for1535 validates the project id1536 when environment has no last_deployable1537 is expected to eq "project263-263-the-environment-name"1538 when cluster is managed1539 returns the cached namespace if present, ignoring CI config1540 returns the default namespace when no cached namespace, ignoring CI config1541 when cluster is not managed1542 returns the cached namespace if present, regardless of CI config1543 returns the CI YAML namespace when configured1544 returns the default namespace when no namespace is configured1545 #predefined_variables1546 with an instance domain1547 includes KUBE_INGRESS_BASE_DOMAIN1548 with a cluster domain1549 includes KUBE_INGRESS_BASE_DOMAIN1550 with no domain1551 returns an empty array1552 #provided_by_user?1553 with a GCP provider1554 is expected to be falsy1555 with an user provider1556 is expected to be truthy1557 #status_name1558 the cluster has a provider1559 is expected to eq :errored1560 when cluster cleanup is ongoing1561 status_name: :errored, cleanup_status: :cleanup_not_started1562 returns cleanup_ongoing when uninstalling applications1563 status_name: :cleanup_ongoing, cleanup_status: :cleanup_uninstalling_applications1564 returns cleanup_ongoing when uninstalling applications1565 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_project_namespaces1566 returns cleanup_ongoing when uninstalling applications1567 status_name: :cleanup_ongoing, cleanup_status: :cleanup_removing_service_account1568 returns cleanup_ongoing when uninstalling applications1569 status_name: :cleanup_errored, cleanup_status: :cleanup_errored1570 returns cleanup_ongoing when uninstalling applications1571 there is a cached connection status1572 is expected to eq :connected1573 there is no connection status in the cache1574 is expected to eq :created1575 cleanup_status state_machine1576 #start_cleanup!1577 when cleanup_status is cleanup_not_started1578 behaves like cleanup_status transition1579 transitions cleanup_status correctly1580 schedules a Clusters::Cleanup::*Worker1581 when cleanup_status is errored1582 behaves like cleanup_status transition1583 transitions cleanup_status correctly1584 schedules a Clusters::Cleanup::*Worker1585 #make_cleanup_errored!1586 transitions cleanup_status from cleanup_not_started to cleanup_errored1587 sets error message1588 transitions cleanup_status from cleanup_uninstalling_applications to cleanup_errored1589 sets error message1590 transitions cleanup_status from cleanup_removing_project_namespaces to cleanup_errored1591 sets error message1592 transitions cleanup_status from cleanup_removing_service_account to cleanup_errored1593 sets error message1594 #continue_cleanup!1595 when cleanup_status is cleanup_uninstalling_applications1596 behaves like cleanup_status transition1597 transitions cleanup_status correctly1598 schedules a Clusters::Cleanup::*Worker1599 when cleanup_status is cleanup_removing_project_namespaces1600 behaves like cleanup_status transition1601 transitions cleanup_status correctly1602 schedules a Clusters::Cleanup::*Worker1603 #connection_status1604 is expected to be nil1605 with a cached status1606 is expected to eq :connected1607 #connection_error1608 is expected to be nil1609 with a cached status1610 is expected to eq :unknown_error1611 #node_connection_error1612 is expected to be nil1613 with a cached status1614 is expected to eq :unknown_error1615 #metrics_connection_error1616 is expected to be nil1617 with a cached status1618 is expected to eq :unknown_error1619 #nodes1620 is expected to be nil1621 with a cached status1622 is expected to eq [{"metadata"=>{"name"=>"gke-cluster-applications-default-pool-49b7f225-v527"}, "status"=>{"allocatable"=>{"cpu"=>"1930m", "memory"=>"5777164Ki"}, "capacity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}}]1623 #calculate_reactive_cache1624 cluster is disabled1625 does not populate the cache1626 cluster is enabled1627 connection to the cluster is successful1628 is expected to eq {:connection_status=>:connected, :nodes=>[{"metadata"=>{"name"=>"gke-cluster-applications-default-poo...ity"=>{"cpu"=>"2", "memory"=>"7657228Ki"}}, "usage"=>{"cpu"=>"144208668n", "memory"=>"1789048Ki"}}]}1629 cluster cannot be reached1630 is expected to eq {:connection_error=>:connection_error, :connection_status=>:unreachable}1631 cluster cannot be authenticated to1632 is expected to eq {:connection_error=>:authentication_error, :connection_status=>:authentication_failure}1633 Kubeclient::HttpError1634 is expected to eq {:connection_error=>:http_error, :connection_status=>:authentication_failure}1635 generic timeout1636 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}1637 gateway timeout1638 is expected to eq {:connection_error=>:http_error, :connection_status=>:unreachable}1639 an uncategorised error is raised1640 is expected to eq {:connection_error=>:unknown_error, :connection_status=>:unknown_failure}1641 notifies Sentry1642 #delete_cached_resources!1643 deletes associated namespace records1644 #clusterable1645 project type1646 is expected to eq #<Project id:275 namespace179/project275>>1647 group type1648 is expected to eq #<Group id:845 @group220>1649 instance type1650 is expected to be a kind of Clusters::Instance1651 unknown type1652 raises NotImplementedError1653Ci::RegisterJobService1654 #execute1655 runner follow tag list1656 picks build with the same tag1657 does not pick build with different tag1658 picks build without tag1659 does not pick build with tag1660 pick build without tag1661 deleted projects1662 for shared runners1663 does not pick a build1664 for specific runner1665 does not pick a build1666 allow shared runners1667 for multiple builds1668 prefers projects without builds first1669 equalises number of running builds1670 shared runner1671 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )1672 is expected to be valid1673 is expected to be running1674 is expected to eq #<Ci::Runner id: 40, token: nil, created_at: "2020-11-30 13:06:32", updated_at: "2020-11-30 13:06:32"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1675 is expected to eq 691676 specific runner1677 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )1678 is expected to be valid1679 is expected to be running1680 is expected to eq #<Ci::Runner id: 56, token: nil, created_at: "2020-11-30 13:06:34", updated_at: "2020-11-30 13:06:34"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1681 disallow shared runners1682 shared runner1683 is expected to be nil1684 specific runner1685 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )1686 is expected to be valid1687 is expected to be running1688 is expected to eq #<Ci::Runner id: 71, token: nil, created_at: "2020-11-30 13:06:36", updated_at: "2020-11-30 13:06:36"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1689 disallow when builds are disabled1690 and uses shared runner1691 is expected to be nil1692 and uses group runner1693 is expected to be nil1694 and uses project runner1695 is expected to be nil1696 allow group runners1697 for multiple builds1698 does not consider builds from other group runners1699 group runner1700 is expected to be a kind of Ci::Build(id: integer, status: string, finished_at: datetime, trace: text, created_at: datetime, upda...g_for_resource_at: datetime_with_timezone, processed: boolean, scheduling_type: integer, tag_list: )1701 is expected to be valid1702 is expected to be running1703 is expected to eq #<Ci::Runner id: 97, token: nil, created_at: "2020-11-30 13:06:40", updated_at: "2020-11-30 13:06:40"... public_projects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, tag_list: nil>1704 disallow group runners1705 group runner1706 is expected to be nil1707 when first build is stalled1708 with multiple builds are in queue1709 receives second build from the queue1710 when single build is in queue1711 does not receive any valid result1712 when there is no build in queue1713 does not receive builds but result is valid1714 when access_level of runner is not_protected1715 when a job is protected1716 picks the job1717 when a job is unprotected1718 picks the job1719 when protected attribute of a job is nil1720DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1721/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here1722 (called from block (5 levels) in <module:Ci> at /builds/gitlab-org/gitlab/spec/services/ci/register_job_service_spec.rb:319)1723 picks the job1724 when access_level of runner is ref_protected1725 when a job is protected1726 picks the job1727 when a job is unprotected1728 does not pick the job1729 when protected attribute of a job is nil1730 does not pick the job1731 runner feature set is verified1732 when feature is missing by runner1733 does not pick the build and drops the build1734 when feature is supported by runner1735 does pick job1736 when "dependencies" keyword is specified1737 when validates for dependencies is enabled1738 behaves like validation is active1739 when depended job has not been completed yet1740 is expected to eq #<Ci::Build id: 106, status: "pending", finished_at: nil, trace: nil, created_at: "2020-11-30 08:50:2...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>1741 when artifacts of depended job has been expired1742 behaves like not pick1743 does not pick the build and drops the build1744 when artifacts of depended job has been erased1745 behaves like not pick1746 does not pick the build and drops the build1747 when job object is staled1748 does not drop nor pick1749 when validates for dependencies is disabled1750 behaves like validation is not active1751 when depended job has not been completed yet1752 is expected to eq #<Ci::Build id: 114, status: "pending", finished_at: nil, trace: nil, created_at: "2020-11-30 08:50:2...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>1753 when artifacts of depended job has been expired1754 is expected to eq #<Ci::Build id: 116, status: "pending", finished_at: nil, trace: nil, created_at: "2020-11-30 08:50:2...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>1755 when artifacts of depended job has been erased1756 is expected to eq #<Ci::Build id: 118, status: "pending", finished_at: nil, trace: nil, created_at: "2020-11-30 08:50:2...up_id: nil, waiting_for_resource_at: nil, processed: false, scheduling_type: "stage", tag_list: nil>1757 when build is degenerated1758 does not pick the build and drops the build1759 when build has data integrity problem1760 does drop the build and logs both failures1761 when build fails to be run!1762 does drop the build and logs failure1763 when an exception is raised during a persistent ref creation1764 picks the build1765 #register_success1766 when shared runner is used1767 behaves like metrics collector1768 behaves like attempt counter collector1769 increments attempt counter1770 behaves like jobs queueing time histogram collector1771 counts job queuing time histogram with expected labels1772 when project already has running jobs1773 counts job queuing time histogram with expected labels1774 when metrics_shard tag is defined1775 behaves like metrics collector1776 behaves like attempt counter collector1777 increments attempt counter1778 behaves like jobs queueing time histogram collector1779 counts job queuing time histogram with expected labels1780 when project already has running jobs1781 counts job queuing time histogram with expected labels1782 when multiple metrics_shard tag is defined1783 behaves like metrics collector1784 behaves like attempt counter collector1785 increments attempt counter1786 behaves like jobs queueing time histogram collector1787 counts job queuing time histogram with expected labels1788 when project already has running jobs1789 counts job queuing time histogram with expected labels1790 when pending job with queued_at=nil is used1791 doesn't count job queuing time histogram1792 behaves like attempt counter collector1793 increments attempt counter1794 when specific runner is used1795 behaves like metrics collector1796 behaves like attempt counter collector1797 increments attempt counter1798 behaves like jobs queueing time histogram collector1799 counts job queuing time histogram with expected labels1800 when project already has running jobs1801 counts job queuing time histogram with expected labels1802 when runner_session params are1803 present sets runner session configuration in the build1804 not present it does not configure the runner session1805ObjectStorage::DirectUpload1806 #has_length1807 is known1808 maximum size is not required1809 is unknown1810 and maximum size is specified1811 does not raise an error1812 and maximum size is not specified1813 raises an error1814 #get_url1815 when AWS is used1816 calls the proper method1817 when Google is used1818 calls the proper method1819 #to_hash1820 when AWS is used1821 when length is known1822 behaves like a valid S3 upload without multipart data1823 behaves like a valid S3 upload1824 sets Workhorse client data1825 behaves like a valid upload1826 returns valid structure1827 when feature flag is disabled1828 does not enable Workhorse client1829 when V2 signatures are used1830 does not enable Workhorse client1831 when V4 signatures are used1832 enables the Workhorse client for instance profiles1833 when consolidated settings are used1834 enables the Workhorse client1835 when only server side encryption is used1836 sends server side encryption settings1837 when SSE-KMS is used1838 sends server side encryption settings1839 behaves like a valid upload without multipart data1840 returns valid structure1841 behaves like a valid upload1842 returns valid structure1843 when path style is true1844 behaves like a valid S3 upload without multipart data1845 behaves like a valid S3 upload1846 sets Workhorse client data1847 behaves like a valid upload1848 returns valid structure1849 when feature flag is disabled1850 does not enable Workhorse client1851 when V2 signatures are used1852 does not enable Workhorse client1853 when V4 signatures are used1854 enables the Workhorse client for instance profiles1855 when consolidated settings are used1856 enables the Workhorse client1857 when only server side encryption is used1858 sends server side encryption settings1859 when SSE-KMS is used1860 sends server side encryption settings1861 behaves like a valid upload without multipart data1862 returns valid structure1863 behaves like a valid upload1864 returns valid structure1865 when IAM profile is true1866 behaves like a valid S3 upload without multipart data1867 behaves like a valid S3 upload1868 sets Workhorse client data1869 behaves like a valid upload1870 returns valid structure1871 when feature flag is disabled1872 does not enable Workhorse client1873 when V2 signatures are used1874 does not enable Workhorse client1875 when V4 signatures are used1876 enables the Workhorse client for instance profiles1877 when consolidated settings are used1878 enables the Workhorse client1879 when only server side encryption is used1880 sends server side encryption settings1881 when SSE-KMS is used1882 sends server side encryption settings1883 behaves like a valid upload without multipart data1884 returns valid structure1885 behaves like a valid upload1886 returns valid structure1887 when IMSDv2 is available1888 behaves like a valid S3 upload without multipart data1889 behaves like a valid S3 upload1890 sets Workhorse client data1891 behaves like a valid upload1892 returns valid structure1893 when feature flag is disabled1894 does not enable Workhorse client1895 when V2 signatures are used1896 does not enable Workhorse client1897 when V4 signatures are used1898 enables the Workhorse client for instance profiles1899 when consolidated settings are used1900 enables the Workhorse client1901 when only server side encryption is used1902 sends server side encryption settings1903 when SSE-KMS is used1904 sends server side encryption settings1905 behaves like a valid upload without multipart data1906 returns valid structure1907 behaves like a valid upload1908 returns valid structure1909 when length is unknown1910 behaves like a valid S3 upload with multipart data1911 behaves like a valid S3 upload1912 sets Workhorse client data1913 behaves like a valid upload1914 returns valid structure1915 when feature flag is disabled1916 does not enable Workhorse client1917 when V2 signatures are used1918 does not enable Workhorse client1919 when V4 signatures are used1920 enables the Workhorse client for instance profiles1921 when consolidated settings are used1922 enables the Workhorse client1923 when only server side encryption is used1924 sends server side encryption settings1925 when SSE-KMS is used1926 sends server side encryption settings1927 behaves like a valid upload with multipart data1928 returns valid structure1929 uses only strings in query parameters1930 behaves like a valid upload1931 returns valid structure1932 when maximum upload size is 10MB1933 returns only 2 parts1934 part size is minimum, 5MB1935 when maximum upload size is 12MB1936 returns only 3 parts1937 part size is rounded-up to 5MB1938 when maximum upload size is 49GB1939 returns maximum, 100 parts1940 part size is rounded-up to 5MB1941 when Google is used1942 when length is known1943 behaves like a valid Google upload1944 does not set Workhorse client data1945 behaves like a valid upload1946 returns valid structure1947 behaves like a valid upload without multipart data1948 returns valid structure1949 behaves like a valid upload1950 returns valid structure1951 when length is unknown1952 behaves like a valid Google upload1953 does not set Workhorse client data1954 behaves like a valid upload1955 returns valid structure1956 behaves like a valid upload without multipart data1957 returns valid structure1958 behaves like a valid upload1959 returns valid structure1960 when AzureRM is used1961 behaves like a valid AzureRM upload1962 enables the Workhorse client1963 behaves like a valid upload1964 returns valid structure1965 behaves like a valid upload without multipart data1966 returns valid structure1967 behaves like a valid upload1968 returns valid structure1969 when a custom storage domain is used1970 behaves like a valid AzureRM upload1971 enables the Workhorse client1972 behaves like a valid upload1973 returns valid structure1974Ci::JobArtifact1975 is expected to respond to #file1976 is expected to respond to #created_at1977 is expected to respond to #updated_at1978 is expected to delegate #open to the #file object1979 is expected to delegate #exists? to the #file object1980 Associations1981 is expected to belong to project required:1982 is expected to belong to job required:1983 behaves like having unique enum values1984 has unique values in "file_format"1985 has unique values in "file_type"1986 has unique values in "file_location"1987 behaves like UpdateProjectStatistics1988 is expected to be a new record1989 when feature flag efficient_counter_attribute is disabled1990 when creating1991 updates the project statistics1992 schedules a namespace statistics worker1993 when updating1994 updates project statistics1995 schedules a namespace statistics worker1996 avoids N + 1 queries1997 when destroying1998 updates the project statistics1999 schedules a namespace statistics worker2000 when it is destroyed from the project level2001 does not update the project statistics2002 does not schedule a namespace statistics worker2003 when statistic is a counter attribute2004 when creating2005 stores pending increments for async update2006 when updating2007 stores pending increments for async update2008 avoids N + 1 queries2009 when destroying2010 stores pending increment for async update2011 when it is destroyed from the project level2012 does not update the project statistics2013 does not schedule a namespace statistics worker2014 .not_expired2015 returns artifacts that have not expired2016 .with_reports2017 is expected to be empty2018 when there are reports2019 is expected to contain exactly #<Ci::JobArtifact id: 20, project_id: 290, job_id: 153, file_type: "junit", size: 568, created_at: "2...nil, file: "junit.xml.gz", file_store: 1, file_sha256: nil, file_format: "gzip", file_location: nil> and #<Ci::JobArtifact id: 21, project_id: 291, job_id: 154, file_type: "codequality", size: 1877, created..., file: "codeclimate.json", file_store: 1, file_sha256: nil, file_format: "raw", file_location: nil>2020 .test_reports2021 when there is a test report2022 is expected to eq [#<Ci::JobArtifact id: 22, project_id: 292, job_id: 155, file_type: "junit", size: 568, created_at: "...il, file: "junit.xml.gz", file_store: 1, file_sha256: nil, file_format: "gzip", file_location: nil>]2023 when there are no test reports2024 is expected to be empty2025 .accessibility_reports2026 when there is an accessibility report2027 is expected to eq [#<Ci::JobArtifact id: 24, project_id: 294, job_id: 157, file_type: "accessibility", size: 5977, crea... "pa11y_with_errors.json", file_store: 1, file_sha256: nil, file_format: "raw", file_location: nil>]2028 when there are no accessibility report2029 is expected to be empty2030 .coverage_reports2031 when there is a coverage report2032 is expected to eq [#<Ci::JobArtifact id: 25, project_id: 295, job_id: 158, file_type: "cobertura", size: 576, created_a... file: "coverage.xml.gz", file_store: 1, file_sha256: nil, file_format: "gzip", file_location: nil>]2033 when there are no coverage reports2034 is expected to be empty2035 .codequality_reports2036 when there is a codequality report2037 is expected to eq [#<Ci::JobArtifact id: 27, project_id: 297, job_id: 160, file_type: "codequality", size: 1877, create... file: "codeclimate.json", file_store: 1, file_sha256: nil, file_format: "raw", file_location: nil>]2038 when there are no codequality reports2039 is expected to be empty2040 .terraform_reports2041 when there is a terraform report2042 return the job artifact2043 when there are no terraform reports2044 return the an empty array2045 .associated_file_types_for2046 file_type: "codequality", result: ["codequality"]2047 is expected to eq ["codequality"]2048 file_type: "quality", result: nil2049 is expected to eq nil2050 .erasable2051 when there is an erasable artifact2052 is expected to eq [#<Ci::JobArtifact id: 30, project_id: 300, job_id: 163, file_type: "junit", size: 568, created_at: "...il, file: "junit.xml.gz", file_store: 1, file_sha256: nil, file_format: "gzip", file_location: nil>]2053 when there are no erasable artifacts2054 is expected to be empty2055 .downloadable2056 filters for downloadable artifacts2057 .archived_trace_exists_for?2058 when the specified job_id exists2059 is expected to be truthy2060 when the job does have archived trace2061 is expected to be falsy2062 when the specified job_id does not exist2063 is expected to be falsy2064 .for_sha2065 returns job artifacts for a given pipeline sha2066 .for_job_name2067 returns job artifacts for a given job name2068 callbacks2069 #schedule_background_upload2070 when object storage is disabled2071 does not schedule the migration2072 when object storage is enabled2073 when background upload is enabled2074 schedules the model for migration2075 when background upload is disabled2076 schedules the model for migration2077 creating the artifact2078 sets the size from the file size2079 updating the artifact file2080 updates the artifact size2081 validates if file format is supported2082 when license_management is supported2083 is expected to be valid2084 when license_management is not supported2085 is expected not to be valid2086 validates file format2087 when archive type with zip format2088 is expected to be valid2089 when archive type without format specification2090 is expected not to be valid2091 when archive type with other formats2092 is expected not to be valid2093 is expected not to be valid2094 when metadata type with gzip format2095 is expected to be valid2096 when metadata type without format specification2097 is expected not to be valid2098 when metadata type with other formats2099 is expected not to be valid2100 is expected not to be valid2101 when junit type with gzip format2102 is expected to be valid2103 when junit type without format specification2104 is expected not to be valid2105 when junit type with other formats2106 is expected not to be valid2107 is expected not to be valid2108 when metrics type with gzip format2109 is expected to be valid2110 when metrics type without format specification2111 is expected not to be valid2112 when metrics type with other formats2113 is expected not to be valid2114 is expected not to be valid2115 when metrics_referee type with gzip format2116 is expected to be valid2117 when metrics_referee type without format specification2118 is expected not to be valid2119 when metrics_referee type with other formats2120 is expected not to be valid2121 is expected not to be valid2122 when network_referee type with gzip format2123 is expected to be valid2124 when network_referee type without format specification2125 is expected not to be valid2126 when network_referee type with other formats2127 is expected not to be valid2128 is expected not to be valid2129 when dotenv type with gzip format2130 is expected to be valid2131 when dotenv type without format specification2132 is expected not to be valid2133 when dotenv type with other formats2134 is expected not to be valid2135 is expected not to be valid2136 when cobertura type with gzip format2137 is expected to be valid2138 when cobertura type without format specification2139 is expected not to be valid2140 when cobertura type with other formats2141 is expected not to be valid2142 is expected not to be valid2143 when cluster_applications type with gzip format2144 is expected to be valid2145 when cluster_applications type without format specification2146 is expected not to be valid2147 when cluster_applications type with other formats2148 is expected not to be valid2149 is expected not to be valid2150 when lsif type with zip format2151 is expected to be valid2152 when lsif type without format specification2153 is expected not to be valid2154 when lsif type with other formats2155 is expected not to be valid2156 is expected not to be valid2157 when sast type with raw format2158 is expected to be valid2159 when sast type without format specification2160 is expected not to be valid2161 when sast type with other formats2162 is expected not to be valid2163 is expected not to be valid2164 when secret_detection type with raw format2165 is expected to be valid2166 when secret_detection type without format specification2167 is expected not to be valid2168 when secret_detection type with other formats2169 is expected not to be valid2170 is expected not to be valid2171 when dependency_scanning type with raw format2172 is expected to be valid2173 when dependency_scanning type without format specification2174 is expected not to be valid2175 when dependency_scanning type with other formats2176 is expected not to be valid2177 is expected not to be valid2178 when container_scanning type with raw format2179 is expected to be valid2180 when container_scanning type without format specification2181 is expected not to be valid2182 when container_scanning type with other formats2183 is expected not to be valid2184 is expected not to be valid2185 when dast type with raw format2186 is expected to be valid2187 when dast type without format specification2188 is expected not to be valid2189 when dast type with other formats2190 is expected not to be valid2191 is expected not to be valid2192 when license_management type with raw format2193 is expected to be valid2194 when license_management type without format specification2195 is expected not to be valid2196 when license_management type with other formats2197 is expected not to be valid2198 is expected not to be valid2199 when license_scanning type with raw format2200 is expected to be valid2201 when license_scanning type without format specification2202 is expected not to be valid2203 when license_scanning type with other formats2204 is expected not to be valid2205 is expected not to be valid2206 when accessibility type with raw format2207 is expected to be valid2208 when accessibility type without format specification2209 is expected not to be valid2210 when accessibility type with other formats2211 is expected not to be valid2212 is expected not to be valid2213 when codequality type with raw format2214 is expected to be valid2215 when codequality type without format specification2216 is expected not to be valid2217 when codequality type with other formats2218 is expected not to be valid2219 is expected not to be valid2220 when performance type with raw format2221 is expected to be valid2222 when performance type without format specification2223 is expected not to be valid2224 when performance type with other formats2225 is expected not to be valid2226 is expected not to be valid2227 when browser_performance type with raw format2228 is expected to be valid2229 when browser_performance type without format specification2230 is expected not to be valid2231 when browser_performance type with other formats2232 is expected not to be valid2233 is expected not to be valid2234 when load_performance type with raw format2235 is expected to be valid2236 when load_performance type without format specification2237 is expected not to be valid2238 when load_performance type with other formats2239 is expected not to be valid2240 is expected not to be valid2241 when terraform type with raw format2242 is expected to be valid2243 when terraform type without format specification2244 is expected not to be valid2245 when terraform type with other formats2246 is expected not to be valid2247 is expected not to be valid2248 when requirements type with raw format2249 is expected to be valid2250 when requirements type without format specification2251 is expected not to be valid2252 when requirements type with other formats2253 is expected not to be valid2254 is expected not to be valid2255 when coverage_fuzzing type with raw format2256 is expected to be valid2257 when coverage_fuzzing type without format specification2258 is expected not to be valid2259 when coverage_fuzzing type with other formats2260 is expected not to be valid2261 is expected not to be valid2262 when api_fuzzing type with raw format2263 is expected to be valid2264 when api_fuzzing type without format specification2265 is expected not to be valid2266 when api_fuzzing type with other formats2267 is expected not to be valid2268 is expected not to be valid2269 validates DEFAULT_FILE_NAMES2270 expects archive to be included2271 expects metadata to be included2272 expects trace to be included2273 expects junit to be included2274 expects sast to be included2275 expects dependency_scanning to be included2276 expects container_scanning to be included2277 expects dast to be included2278 expects codequality to be included2279 expects license_management to be included2280 expects license_scanning to be included2281 expects performance to be included2282 expects metrics to be included2283 expects metrics_referee to be included2284 expects network_referee to be included2285 expects lsif to be included2286 expects dotenv to be included2287 expects cobertura to be included2288 expects terraform to be included2289 expects accessibility to be included2290 expects cluster_applications to be included2291 expects secret_detection to be included2292 expects requirements to be included2293 expects coverage_fuzzing to be included2294 expects browser_performance to be included2295 expects load_performance to be included2296 expects api_fuzzing to be included2297 validates TYPE_AND_FORMAT_PAIRS2298 expects archive to be included2299 expects metadata to be included2300 expects trace to be included2301 expects junit to be included2302 expects sast to be included2303 expects dependency_scanning to be included2304 expects container_scanning to be included2305 expects dast to be included2306 expects codequality to be included2307 expects license_management to be included2308 expects license_scanning to be included2309 expects performance to be included2310 expects metrics to be included2311 expects metrics_referee to be included2312 expects network_referee to be included2313 expects lsif to be included2314 expects dotenv to be included2315 expects cobertura to be included2316 expects terraform to be included2317 expects accessibility to be included2318 expects cluster_applications to be included2319 expects secret_detection to be included2320 expects requirements to be included2321 expects coverage_fuzzing to be included2322 expects browser_performance to be included2323 expects load_performance to be included2324 expects api_fuzzing to be included2325 #file2326 the uploader api2327 is expected to respond to #store_dir2328 is expected to respond to #cache_dir2329 is expected to respond to #work_dir2330 expired?2331 when expire_at is nil2332 returns false2333 when expire_at is in the past2334 returns true2335 when expire_at is in the future2336 returns false2337 #expiring?2338 when expire_at is nil2339 returns false2340 when expire_at is in the past2341 returns false2342 when expire_at is in the future2343 returns true2344 #expire_in2345 is expected to be nil2346 when expire_at is specified2347 is expected to be within 5 of 604799.999642872348 #expire_in=2349 when assigning valid duration2350 when assigning invalid duration2351 when resetting value2352 when setting to 02353 file is being stored2354 when existing object has local store2355 behaves like mounted file in local store2356 is stored locally2357 when direct upload is enabled2358 when file is stored2359 behaves like mounted file in object store2360 is stored remotely2361 .file_types2362 all file types have corresponding limit2363 file_type: "archive"2364 is expected to include "ci_max_artifact_size_archive"2365 file_type: "metadata"2366 is expected to include "ci_max_artifact_size_metadata"2367 file_type: "trace"2368 is expected to include "ci_max_artifact_size_trace"2369 file_type: "junit"2370 is expected to include "ci_max_artifact_size_junit"2371 file_type: "sast"2372 is expected to include "ci_max_artifact_size_sast"2373 file_type: "dependency_scanning"2374 is expected to include "ci_max_artifact_size_dependency_scanning"2375 file_type: "container_scanning"2376 is expected to include "ci_max_artifact_size_container_scanning"2377 file_type: "dast"2378 is expected to include "ci_max_artifact_size_dast"2379 file_type: "codequality"2380 is expected to include "ci_max_artifact_size_codequality"2381 file_type: "license_management"2382 is expected to include "ci_max_artifact_size_license_management"2383 file_type: "license_scanning"2384 is expected to include "ci_max_artifact_size_license_scanning"2385 file_type: "performance"2386 is expected to include "ci_max_artifact_size_performance"2387 file_type: "metrics"2388 is expected to include "ci_max_artifact_size_metrics"2389 file_type: "metrics_referee"2390 is expected to include "ci_max_artifact_size_metrics_referee"2391 file_type: "network_referee"2392 is expected to include "ci_max_artifact_size_network_referee"2393 file_type: "lsif"2394 is expected to include "ci_max_artifact_size_lsif"2395 file_type: "dotenv"2396 is expected to include "ci_max_artifact_size_dotenv"2397 file_type: "cobertura"2398 is expected to include "ci_max_artifact_size_cobertura"2399 file_type: "terraform"2400 is expected to include "ci_max_artifact_size_terraform"2401 file_type: "accessibility"2402 is expected to include "ci_max_artifact_size_accessibility"2403 file_type: "cluster_applications"2404 is expected to include "ci_max_artifact_size_cluster_applications"2405 file_type: "secret_detection"2406 is expected to include "ci_max_artifact_size_secret_detection"2407 file_type: "requirements"2408 is expected to include "ci_max_artifact_size_requirements"2409 file_type: "coverage_fuzzing"2410 is expected to include "ci_max_artifact_size_coverage_fuzzing"2411 file_type: "browser_performance"2412 is expected to include "ci_max_artifact_size_browser_performance"2413 file_type: "load_performance"2414 is expected to include "ci_max_artifact_size_load_performance"2415 file_type: "api_fuzzing"2416 is expected to include "ci_max_artifact_size_api_fuzzing"2417 .max_artifact_size2418 when file type is supported2419 and plan limit is disabled for the given artifact type2420 behaves like basing off the project closest setting2421 is expected to eq 10737418242422 and project closest setting results to zero2423 is expected to eq 02424 and plan limit is enabled for the given artifact type2425 and plan limit is smaller than project setting2426 behaves like basing off the plan limit2427 is expected to eq 10726932482428 and plan limit is larger than project setting2429 behaves like basing off the project closest setting2430 is expected to eq 10737418242431NotesFinder2432 #execute2433 finds notes on merge requests2434 finds notes on snippets2435 excludes notes on commits the author can't download2436 succeeds when no notes found2437 when notes filter is present2438 returns only user notes when using only_comments filter2439 returns only system notes when using only_activity filters2440 gets all notes2441 on restricted projects2442 publicly excludes notes on merge requests2443 publicly excludes notes on issues2444 publicly excludes notes on snippets2445 for target type2446 finds only notes for the selected type2447 for target2448 finds all notes2449 finds notes on merge requests2450 finds notes on snippets2451 finds notes on personal snippets2452 raises an exception for an invalid target_type2453 filters out old notes2454 confidential issue notes2455 returns notes if user can see the issue2456 raises an error if user can not see the issue2457 raises an error for project members with guest role2458 for explicit target2459 returns the expected notes2460 returns the expected notes when last_fetched_at is given2461 fails when nil is provided2462 .search2463 returns notes with matching content2464 returns notes with matching content regardless of the casing2465 returns commit notes user can access2466 confidential issues2467 returns notes with matching content if user can see the issue2468 does not return notes with matching content if user can not see the issue2469 does not return notes with matching content for project members with guest role2470 does not return notes with matching content for unauthenticated users2471 inlines SQL filters on subqueries for performance2472 project_id check2473 search filter2474 #target2475 for a issue target2476 returns the issue2477 for a merge request target2478 returns the merge_request2479 for a snippet target2480 returns the snippet2481 for a commit target2482 returns the commit2483 target_iid2484 finds issues by iid2485 finds merge requests by iid2486 returns nil if both target_id and target_iid are not given2487 prioritizes target_id over target_iid2488Releases::CreateService2489 #execute2490 behaves like a successful release creation2491WARNING: Active Record does not support composite primary key.2492milestone_releases has composite primary key. Composite primary key is ignored.2493 creates a new release2494 when the tag does not exist2495 raises an error2496 when ref is provided2497 creates a tag if the tag does not exist2498 behaves like a successful release creation2499 creates a new release2500 there already exists a release on a tag2501 raises an error and does not update the release2502 when a passed-in milestone does not exist for this project2503 raises an error saying the milestone is inexistent2504 #find_or_build_release2505 does not save the built release2506 when existing milestone is passed in2507 creates a release and ties this milestone to it2508 when another release was previously created with that same milestone linked2509 also creates another release tied to that same milestone2510 when multiple existing milestone titles are passed in2511 creates a release and ties it to these milestones2512 when multiple miletone titles are passed in but one of them does not exist2513 raises an error2514 does not create any release2515 no milestone association behavior2516 when no milestones parameter is passed2517 creates a release without a milestone tied to it2518 does not create any new MilestoneRelease object2519 when an empty array is passed as the milestones parameter2520 creates a release without a milestone tied to it2521 when nil is passed as the milestones parameter2522 creates a release without a milestone tied to it2523 Evidence collection2524 historical release2525 does not execute CreateEvidenceWorker2526 does not create an Evidence object2527 is a historical release2528 is not an upcoming release2529 immediate release2530 sets `released_at` to the current dttm2531 queues CreateEvidenceWorker2532 creates Evidence2533 is not a historical release2534 is not an upcoming release2535DEPRECATION WARNING: /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2536/builds/gitlab-org/gitlab/app/services/releases/create_evidence_service.rb:5: warning: The called method `initialize' is defined here2537 (called from new at /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23)2538 creates evidence without pipeline if it does not exist2539 uses the last pipeline for evidence2540 pipeline is still being used for evidence if new pipeline is being created for tag2541 uses the last pipeline for evidence when tag is already created2542 when old evidence_pipeline is passed to service2543 uses the old pipeline for evidence2544 upcoming release2545 does not execute CreateEvidenceWorker2546 does not create an Evidence object2547 is not a historical release2548 is an upcoming release2549Banzai::Filter::MergeRequestReferenceFilter2550 requires project context2551 ignores valid references contained inside 'pre' element2552 ignores valid references contained inside 'code' element2553 ignores valid references contained inside 'a' element2554 ignores valid references contained inside 'style' element2555 performance2556 does not have a N+1 query problem2557 all references2558 adds merge request iid2559 adds project data attribute with project id2560 does not add `has-tooltip` class2561 internal reference2562 links to a valid reference2563 links with adjacent text2564 ignores invalid merge IDs2565 ignores out-of-bounds merge request IDs on the referenced project2566 has no title2567DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2568/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here2569 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/lib/banzai/filter/merge_request_reference_filter_spec.rb:85)2570 escapes the title attribute2571 includes default classes, without tooltip2572 includes a data-project attribute2573 includes a data-merge-request attribute2574 supports an :only_path context2575 cross-project / cross-namespace complete reference2576 links to a valid reference2577 link has valid text2578 has valid text2579 ignores invalid merge IDs on the referenced project2580 cross-project / same-namespace complete reference2581 links to a valid reference2582 link has valid text2583 has valid text2584 ignores invalid merge IDs on the referenced project2585 cross-project shorthand reference2586 links to a valid reference2587 link has valid text2588 has valid text2589 ignores invalid merge IDs on the referenced project2590 URL reference for a commit2591 links to a valid reference2592 commit ref tag is valid2593 has valid text2594 has valid title attribute2595 ignores invalid commit short_ids on link text2596 cross-project URL reference2597 links to a valid reference2598 links with adjacent text2599 group context2600 links to a valid reference2601Git::ProcessRefChangesService2602 branch changes2603 behaves like service for processing ref changes2604 calls Git::BranchPushService2605 changes exceed push_event_hooks_limit2606 calls Git::BranchPushService with execute_project_hooks set to false2607 changes exceed push_event_activities_limit per action2608 calls Git::BranchPushService with create_push_event set to false2609 creates events per action2610 pipeline creation2611 with valid .gitlab-ci.yml2612 when git_push_create_all_pipelines is disabled2613DEPRECATION WARNING: /builds/gitlab-org/gitlab/app/services/git/base_hooks_service.rb:137: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2614/builds/gitlab-org/gitlab/lib/gitlab/data_builder/push.rb:88: warning: The called method `build' is defined here2615 (called from event_push_data at /builds/gitlab-org/gitlab/app/services/git/base_hooks_service.rb:137)2616DEPRECATION WARNING: /builds/gitlab-org/gitlab/app/services/ci/create_pipeline_service.rb:94: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2617/builds/gitlab-org/gitlab/app/services/ci/create_pipeline_service.rb:51: warning: The called method `execute' is defined here2618 (called from execute! at /builds/gitlab-org/gitlab/app/services/ci/create_pipeline_service.rb:94)2619DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2620/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here2621 (called from block in perform! at /builds/gitlab-org/gitlab/lib/gitlab/ci/pipeline/chain/create.rb:12)2622 creates pipeline for branches and tags2623 creates exactly 4 pipelines2624 when git_push_create_all_pipelines is enabled2625 creates all pipelines2626 with invalid .gitlab-ci.yml2627 does not create a pipeline2628 when there are merge requests associated with branches2629 schedules job for existing merge requests2630 tag changes2631 behaves like service for processing ref changes2632 calls Git::TagPushService2633 changes exceed push_event_hooks_limit2634 calls Git::TagPushService with execute_project_hooks set to false2635 changes exceed push_event_activities_limit per action2636 calls Git::TagPushService with create_push_event set to false2637 creates events per action2638 pipeline creation2639 with valid .gitlab-ci.yml2640 when git_push_create_all_pipelines is disabled2641 creates pipeline for branches and tags2642 creates exactly 4 pipelines2643 when git_push_create_all_pipelines is enabled2644 creates all pipelines2645 with invalid .gitlab-ci.yml2646 does not create a pipeline2647EventCreateService2648 Issues2649 #open_issue2650 is expected to be truthy2651 creates new event2652 #close_issue2653 is expected to be truthy2654 creates new event2655 #reopen_issue2656 is expected to be truthy2657 creates new event2658 Merge Requests2659 #open_mr2660 is expected to be truthy2661 creates new event2662 behaves like it records the event in the event counter2663 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12664 #close_mr2665 is expected to be truthy2666 creates new event2667 behaves like it records the event in the event counter2668 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12669 #merge_mr2670 is expected to be truthy2671 creates new event2672 behaves like it records the event in the event counter2673 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12674 #reopen_mr2675 is expected to be truthy2676 creates new event2677 #approve_mr2678 is expected to be truthy2679 creates new event2680 Milestone2681 #open_milestone2682 is expected to be truthy2683 creates new event2684 #close_mr2685 is expected to be truthy2686 creates new event2687 #destroy_mr2688 is expected to be truthy2689 creates new event2690 #wiki_event2691 action: :created2692 creates the event2693 is idempotent2694 behaves like it records the event in the event counter2695 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12696 action: :updated2697 creates the event2698 is idempotent2699 behaves like it records the event in the event counter2700 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12701 action: :destroyed2702 creates the event2703 is idempotent2704 behaves like it records the event in the event counter2705 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12706 The action is created2707 raises an error2708 The action is updated2709 raises an error2710 The action is closed2711 raises an error2712 The action is reopened2713 raises an error2714 The action is pushed2715 raises an error2716 The action is commented2717 raises an error2718 The action is merged2719 raises an error2720 The action is joined2721 raises an error2722 The action is left2723 raises an error2724 The action is destroyed2725 raises an error2726 The action is expired2727 raises an error2728 The action is approved2729 raises an error2730 The action is archived2731 raises an error2732 #push2733 behaves like service for creating a push event2734 creates a new event2735 creates the push event payload2736 updates user last activity2737 caches the last push event for the user2738 does not create any event data when an error is raised2739 behaves like it records the event in the event counter2740 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12741 #bulk_push2742 behaves like service for creating a push event2743 creates a new event2744 creates the push event payload2745 updates user last activity2746 caches the last push event for the user2747 does not create any event data when an error is raised2748 behaves like it records the event in the event counter2749 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12750 Project2751 #join_project2752 is expected to be truthy2753 is expected to change `Event.count` from 0 to 12754 #expired_leave_project2755 is expected to be truthy2756 is expected to change `Event.count` from 0 to 12757 design events2758 #save_designs2759 is expected to change `Event.count` by 82760 is expected not to exceed query limit 12761 creates 3 created design events2762 creates 5 created design events2763 behaves like it records the event in the event counter2764 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12765 #destroy_designs2766 is expected to change `Event.count` by 52767 is expected not to exceed query limit 12768 creates 5 destroyed design events2769 behaves like it records the event in the event counter2770 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12771 #leave_note2772 is expected to be truthy2773 creates new event2774 when it is a diff note2775 behaves like it records the event in the event counter2776 is expected to change `Gitlab::UsageDataCounters::TrackUniqueEvents.count_unique_events(**tracking_params)` by 12777 when it is not a diff note2778 does not change the unique action counter2779Projects::Serverless::FunctionsFinder2780 #knative_installed2781 when environment does not exist yet2782 when project level cluster is present and enabled2783 behaves like before first deployment2784 returns true if Knative is installed on cluster2785 returns false if Knative is not installed on cluster2786 when group level cluster is present and enabled2787 behaves like before first deployment2788 returns true if Knative is installed on cluster2789 returns false if Knative is not installed on cluster2790 when instance level cluster is present and enabled2791 behaves like before first deployment2792 returns true if Knative is installed on cluster2793 returns false if Knative is not installed on cluster2794 when project level cluster is present, but disabled2795 returns false even if Knative is installed on cluster2796 when reactive_caching is still fetching data2797 returns "checking"2798 when reactive_caching has finished2799 when knative is not installed2800 returns false2801 reactive_caching is finished and knative is installed2802 returns true2803 retrieve data from knative2804 does not have knative installed2805 is expected to be empty2806 has knative installed2807 there are no functions2808 there are functions2809 has a function2810 has metrics2811 has prometheus2812 is available2813 has query data2814Ci::PipelineTriggerService2815 #execute2816 with a trigger token2817 when trigger belongs to a different project2818 does nothing2819 when params have an existsed trigger token2820 when params have an existsed ref2821 triggers a pipeline2822 when commit message has [ci skip]2823 ignores [ci skip] and create as general2824 when params have a variable2825 has a variable2826 when params have a non-existsed ref2827 does not trigger a pipeline2828 when params have a non-existsed trigger token2829 does not trigger a pipeline2830 with a pipeline job token2831 when job user does not have a permission to read a project2832 does nothing2833 when job is not running2834 does nothing2835 when job does not have a project2836 does nothing2837 when params have an existsed job token2838 when params have an existsed ref2839 triggers a pipeline2840 when commit message has [ci skip]2841 ignores [ci skip] and create as general2842 when params have a variable2843 has a variable2844 when params have a non-existsed ref2845 does not job a pipeline2846 when params have a non-existsed trigger token2847 does not trigger a pipeline2848Gitlab::Diff::HighlightCache2849 #decorate2850 does not calculate highlighting when reading from cache2851 assigns highlighted diff lines to the DiffFile2852 assigns highlighted diff lines which rich_text are HTML-safe2853 when diff_file is uncached due to default_max_patch_bytes change2854 manually writes highlighted lines to the cache2855 assigns highlighted diff lines to the DiffFile2856 #write_if_empty2857 updates memory usage metrics if Redis version >= 42858 does not update memory usage metrics if Redis version < 42859 behaves like caches missing entries2860 filters the key/value list of entries to be caches for each invocation2861 reads from cache once2862 different diff_collections for the same diffable2863 writes an uncached files in the collection to the same redis hash2864 when cache initialized with MergeRequestDiffBatch2865 behaves like caches missing entries2866 filters the key/value list of entries to be caches for each invocation2867 reads from cache once2868 #write_to_redis_hash2869 creates or updates a Redis hash2870 #clear2871 clears cache2872 GZip usage2873 uses ActiveSupport::Gzip when reading from the cache2874 uses ActiveSupport::Gzip to compress data when writing to cache2875 metrics2876 observes :gitlab_redis_diff_caching_memory_usage_bytes2877MergeRequests::FfMergeService2878 #execute2879 valid params2880 does not create merge commit2881 keeps the merge request valid2882 updates the merge request to merged2883 sends email to user2 about merge of new merge_request2884 creates resource event about merge_request merge2885 does not update squash_commit_sha if it is not a squash2886 updates squash_commit_sha if it is a squash2887 error handling2888 logs and saves error if there is an exception2889 logs and saves error if there is an PreReceiveError exception2890 does not update squash_commit_sha if squash merge is not successful2891Gitlab::DataBuilder::Push2892 .build2893 with changed files2894 returns commit hook data2895 without changed files2896 returns commit hook data without include deltas2897 .build_sample2898 is expected to be a kind of Hash2899 is expected to eq "1b12f15a11fc6e62177bef08f47bc7b5ce50b141"2900 is expected to eq "b83d6e391c22777fca1ed3012fce84f633d7fed0"2901 is expected to eq "refs/heads/master"2902 is expected to eq 32903 is expected to eq 32904 is expected to eq ["bar/branch-test.txt"]2905 is expected to eq []2906 is expected to eq []2907 contains project data2908 contains deprecated repository data2909 .sample_data2910 is expected to be a kind of Hash2911 is expected to eq "95790bf891e76fee5e1747ab589903a6a1f80f22"2912 is expected to eq "da1560886d4f094c3e6c9ef40349f7d38b5d27d7"2913 is expected to eq "refs/heads/master"2914 is expected to eq 152915 is expected to eq 12916 is expected to eq 12917 contains project data2918 .build2919 is expected to be a kind of Hash2920 is expected to eq "0000000000000000000000000000000000000000"2921 is expected to eq "5937ac0a7beb003549fc5fd26fc247adbce4a52e"2922 is expected to eq "8a2a6eb295bb170b34c24c76c49ed0e9b2eaf34b"2923 is expected to eq "refs/tags/v1.1.0"2924 is expected to eq nil2925 is expected to eq "John Doe1403"2926 is expected to eq "user1388"2927 is expected to eq "public-email@example.com"2928 is expected to eq "https://www.gravatar.com/avatar/8c946b53c27cff859d3117888fb93ff8?s=80&d=identicon"2929 is expected to eq 6052930 is expected to be a kind of Hash2931 is expected to be empty2932 is expected to be zero2933 contains project data2934 contains deprecated repository data2935 does not raise an error when given nil commits2936 .build_bulk2937 is expected to eq {:action=>:created, :ref_count=>2, :ref_type=>:branch}2938DataFields2939 when data are stored in data_fields2940 behaves like data fields2941 #arg2942 returns an argument correctly2943 {arg}_changed?2944 returns false when the property has not been assigned a new value2945 returns true when the property has been assigned a different value2946 returns true when the property has been assigned a different value twice2947 returns false when the property has been re-assigned the same value2948 {arg}_touched?2949 returns false when the property has not been assigned a new value2950 returns true when the property has been assigned a different value2951 returns true when the property has been assigned a different value twice2952 returns true when the property has been re-assigned the same value2953 returns false when the property has been re-assigned the same value2954 data_fields_present?2955 returns true from the issue tracker service2956 {arg}_was?2957 returns nil2958 when service and data_fields are not persisted2959 data_fields_present?2960 returns true2961 when data are stored in properties2962 behaves like data fields2963 #arg2964 returns an argument correctly2965 {arg}_changed?2966 returns false when the property has not been assigned a new value2967 returns true when the property has been assigned a different value2968 returns true when the property has been assigned a different value twice2969 returns false when the property has been re-assigned the same value2970 {arg}_touched?2971 returns false when the property has not been assigned a new value2972 returns true when the property has been assigned a different value2973 returns true when the property has been assigned a different value twice2974 returns true when the property has been re-assigned the same value2975 returns false when the property has been re-assigned the same value2976 data_fields_present?2977 returns true from the issue tracker service2978 {arg}_was?2979 returns nil when the property has not been assigned a new value2980 returns initial value when the property has been assigned a different value2981 returns initial value when the property has been re-assigned the same value2982 when data are stored in both properties and data_fields2983 behaves like data fields2984 #arg2985 returns an argument correctly2986 {arg}_changed?2987 returns false when the property has not been assigned a new value2988 returns true when the property has been assigned a different value2989 returns true when the property has been assigned a different value twice2990 returns false when the property has been re-assigned the same value2991 {arg}_touched?2992 returns false when the property has not been assigned a new value2993 returns true when the property has been assigned a different value2994 returns true when the property has been assigned a different value twice2995 returns true when the property has been re-assigned the same value2996 returns false when the property has been re-assigned the same value2997 data_fields_present?2998 returns true from the issue tracker service2999 {arg}_was?3000 returns nil3001GitGarbageCollectWorker3002 #perform3003 with active lease_uuid3004 flushes ref caches when the task if 'gc'3005 handles gRPC errors3006 behaves like it calls Gitaly3007 example at ./spec/workers/git_garbage_collect_worker_spec.rb:193008 behaves like it updates the project statistics3009 updates the project statistics3010 does nothing if the database is read-only3011 with different lease than the active one3012 returns silently3013 with no active lease3014 when is able to get the lease3015 flushes ref caches when the task if 'gc'3016 behaves like it calls Gitaly3017 example at ./spec/workers/git_garbage_collect_worker_spec.rb:193018 behaves like it updates the project statistics3019 updates the project statistics3020 does nothing if the database is read-only3021 when the repository has joined a pool3022DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3023/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here3024 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/pool_repositories.rb:10)3025 ensures the repositories are linked3026 LFS object garbage collection3027DEPRECATION WARNING: /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3028/builds/gitlab-org/gitlab/lib/gitlab/cleanup/orphan_lfs_file_references.rb:12: warning: The called method `initialize' is defined here3029 (called from new at /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23)3030 cleans up unreferenced LFS objects3031 catches and logs exceptions3032 does nothing if the database is read-only3033 when no lease can be obtained3034 returns silently3035 repack_full3036 behaves like it calls Gitaly3037 is expected to receive get_lease_uuid(*(any args)) 1 time3038 behaves like it updates the project statistics3039 updates the project statistics3040 does nothing if the database is read-only3041 pack_refs3042 calls Gitaly3043 does not update the project statistics3044 repack_incremental3045 behaves like it calls Gitaly3046 is expected to receive get_lease_uuid(*(any args)) 1 time3047 behaves like it updates the project statistics3048 updates the project statistics3049 does nothing if the database is read-only3050 with bitmaps enabled3051 incremental repack adds a new packfile3052 full repack consolidates into 1 packfile3053DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb:101: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3054/builds/gitlab-org/gitlab/lib/gitlab/gitaly_client/repository_service.rb:29: warning: The called method `__garbage_collect_without_any_instance__' is defined here3055 (called from gitaly_call at /builds/gitlab-org/gitlab/app/workers/git_garbage_collect_worker.rb:82)3056 gc consolidates into 1 packfile and updates packed-refs3057 cleans up repository after finishing3058 prune calls garbage_collect with the option prune: true3059 with bitmaps disabled3060 incremental repack adds a new packfile3061 full repack consolidates into 1 packfile3062 gc consolidates into 1 packfile and updates packed-refs3063 cleans up repository after finishing3064 prune calls garbage_collect with the option prune: true3065Issues::DuplicateService3066 #execute3067 when the issues passed are the same3068 does nothing3069 when the user cannot update the duplicate issue3070 does nothing3071 when the user cannot comment on the canonical issue3072 does nothing3073 when the user can mark the issue as a duplicate3074 closes the duplicate issue3075 adds a system note to the duplicate issue3076 adds a system note to the canonical issue3077 updates duplicate issue with canonical issue id3078 relates the duplicate issues3079Namespace::RootStorageStatisticsPolicy3080 #rules3081 when the namespace is a personal namespace3082 when the users is anonymous3083 is expected to be falsey3084 when the user is not the owner3085 is expected to be falsey3086 when the user is the owner3087 is expected to be truthy3088 when the namespace is a group3089 when the users is anonymous3090 is expected to be falsey3091 user_type: :non_member, outcome: false3092 is expected to eq false3093 when the user is external3094 is expected to eq false3095 user_type: :guest, outcome: false3096 is expected to eq false3097 when the user is external3098 is expected to eq false3099 user_type: :reporter, outcome: false3100 is expected to eq false3101 when the user is external3102 is expected to eq false3103 user_type: :developer, outcome: false3104 is expected to eq false3105 when the user is external3106 is expected to eq false3107 user_type: :maintainer, outcome: false3108 is expected to eq false3109 when the user is external3110 is expected to eq false3111 user_type: :owner, outcome: true3112 is expected to eq true3113 when the user is external3114 is expected to eq true3115 when the users is anonymous3116 is expected to be falsey3117 user_type: :non_member, outcome: false3118 is expected to eq false3119 when the user is external3120 is expected to eq false3121 user_type: :guest, outcome: false3122 is expected to eq false3123 when the user is external3124 is expected to eq false3125 user_type: :reporter, outcome: false3126 is expected to eq false3127 when the user is external3128 is expected to eq false3129 user_type: :developer, outcome: false3130 is expected to eq false3131 when the user is external3132 is expected to eq false3133 user_type: :maintainer, outcome: false3134 is expected to eq false3135 when the user is external3136 is expected to eq false3137 user_type: :owner, outcome: true3138 is expected to eq true3139 when the user is external3140 is expected to eq true3141 when the users is anonymous3142 is expected to be falsey3143 user_type: :non_member, outcome: false3144 is expected to eq false3145 when the user is external3146 is expected to eq false3147 user_type: :guest, outcome: false3148 is expected to eq false3149 when the user is external3150 is expected to eq false3151 user_type: :reporter, outcome: false3152 is expected to eq false3153 when the user is external3154 is expected to eq false3155 user_type: :developer, outcome: false3156 is expected to eq false3157 when the user is external3158 is expected to eq false3159 user_type: :maintainer, outcome: false3160 is expected to eq false3161 when the user is external3162 is expected to eq false3163 user_type: :owner, outcome: true3164 is expected to eq true3165 when the user is external3166 is expected to eq true3167MembersFinder#execute3168 returns members for project and parent groups3169 returns owners and maintainers3170 returns active users and excludes invited users3171 does not return members of parent group with minimal access3172 includes only non-invite members if user do not have amdin permissions on project3173 includes invited members if user have admin permissions on project3174 includes nested group members if asked3175 returns only members of project if asked3176 returns only inherited members of project if asked3177 returns only inherited members of a personal project3178 returns the members.access_level when the user is invited3179 returns the highest access_level for the user3180 returns searched members if requested3181 returns members sorted by id_desc3182 when include_invited_groups_members == true3183 includes all the invited_groups members including members inherited from ancestor groups3184 includes all the invited_groups members3185 excludes group_members not visible to the user3186 when the user is a member of invited group and ancestor groups3187 returns the highest access_level for the user limited by project_group_link.group_access3188Projects::UpdatePagesService3189 fails to remove project pages when no pages is deployed3190 fails if no artifacts3191 fails for invalid archive3192 ::TMP_EXTRACT_PATH3193 is expected not to match /\A(?-mix:(?:[a-zA-Z0-9_\.][a-zA-Z0-9_\-\.]*[a-zA-Z0-9_\-]|[a-zA-Z0-9_])(?-mix:(?<!\.git|\.atom)))\z/3194 for new artifacts3195 for a valid job3196 doesn't delete artifacts after deploying3197 succeeds3198 creates pages_deployment and saves it in the metadata3199 does not fail if pages_metadata is absent3200 limits pages size3201 removes pages after destroy3202 fails if sha on branch is not latest3203 when there is an old pages deployment3204 schedules a destruction of older deployments3205 removes older deployments3206 when using empty file3207 fails to extract3208 when using pages with non-writeable public3209 when using RubyZip3210 succeeds to extract3211 when timeout happens by DNS error3212 raises an error3213 when failed to extract zip artifacts3214 raises an error3215 when missing artifacts metadata3216 does not raise an error as failed job3217 with background jobs running3218 succeeds3219 when artifacts archive does not have sha2563220 fails with exception raised3221 maximum pages artifacts size3222 when maximum pages size is set to zero3223 behaves like pages size limit is3224 when size is below the limit3225 updates pages correctly3226 when size is above the limit3227 limits the maximum size of gitlab pages3228 when size is limited on the instance level3229 behaves like pages size limit is3230 when size is below the limit3231 updates pages correctly3232 when size is above the limit3233 limits the maximum size of gitlab pages3234 when file size is spoofed3235 raises an error3236projects/merge_requests/show.html.haml3237 when the merge request is open3238 shows the "Mark as draft" button3239 when the merge request is closed3240 shows the "Reopen" button3241 does not show the "Reopen" button when the source project does not exist3242 merge request assignee sidebar3243 when assignee is allowed to merge3244 does not show a warning icon3245Gitlab::Diff::PositionTracer::ImageStrategy3246 #trace3247 diff scenarios3248 when the file was created in the old diff3249 when the file is unchanged between the old and the new diff3250 returns the new position3251 when the file was updated between the old and the new diff3252 returns the position of the change3253 when the file was renamed in between the old and the new diff3254 returns the position of the change3255 when the file was removed in between the old and the new diff3256 returns the position of the change3257 when the file is unchanged in the new diff3258 returns the position of the change3259 when the file was changed in the old diff3260 when the file is unchanged in between the old and the new diff3261 returns the new position3262 when the file was updated in between the old and the new diff3263 returns the position of the change3264 when the file was renamed in between the old and the new diff3265 returns the position of the change3266 when the file was removed in between the old and the new diff3267 returns the position of the change3268 when the file is unchanged in the new diff3269 returns the position of the change3270 symlink scenarios3271 from symlink to image3272 when the old position is on the new image file3273 when the image file's content was unchanged between the old and the new diff3274 returns the new position3275 when the image file's content was changed between the old and the new diff3276 returns the position of the change3277 when the image file was removed between the old and the new diff3278 returns the position of the change3279 from image to symlink3280 when the old position is on the added image file3281 when the image file gets changed to a symlink between the old and the new diff3282 returns the position of the change3283NotificationRecipients::BuildService3284 #build_new_note_recipients3285 when there are multiple watchers3286WARNING: Active Record does not support composite primary key.3287issue_assignees has composite primary key. Composite primary key is ignored.3288 avoids N+1 queries3289 when there are multiple subscribers3290 avoids N+1 queries3291 when the project is private3292 avoids N+1 queries3293 #build_new_review_recipients3294 when there are multiple watchers3295 avoids N+1 queries3296 when there are multiple subscribers3297 avoids N+1 queries3298 when the project is private3299 avoids N+1 queries3300Snippet3301 modules3302 is expected to includes the Gitlab::VisibilityLevel module3303 is expected to includes the Participable module3304 is expected to includes the Referable module3305 is expected to includes the Sortable module3306 is expected to includes the Awardable module3307 associations3308 is expected to belong to author class_name => User required:3309 is expected to belong to project required:3310 is expected to have many notes dependent => destroy3311 is expected to have many award_emoji dependent => destroy3312 is expected to have many user_mentions class_name => SnippetUserMention3313 is expected to have one snippet_repository3314 is expected to have one statistics class_name => SnippetStatistics dependent => destroy3315 validation3316 is expected to validate that :author cannot be empty/falsy3317 is expected to validate that :title cannot be empty/falsy3318 is expected to validate that the length of :title is at most 2553319 is expected to validate that the length of :file_name is at most 2553320 is expected to validate that :content cannot be empty/falsy3321 is expected to validate that :visibility_level is either ‹0›, ‹10›, or ‹20›3322 is expected to validate that the length of :content is at most 1, producing a custom validation error on failure3323 content validations3324 with existing snippets3325 does not raise a validation error if the content is not changed3326 raises and error if the content is changed and the size is bigger than limit3327 with new snippets3328 is valid when content is smaller than the limit3329 raises error when content is bigger than setting limit3330 callbacks3331 creates snippet statistics when the snippet is created3332 #to_reference3333 when snippet belongs to a project3334 returns a String reference to the object3335 supports a cross-project reference3336 when snippet does not belong to a project3337 returns a String reference to the object3338 still returns shortest reference when project arg present3339 #file_name3340 file_name is nil3341 returns an empty string3342 file_name is not nil3343 returns the file_name3344 #content_html_invalidated?3345 invalidates the HTML cache of content when the filename changes3346 .search3347 returns snippets with a matching title3348 returns snippets with a partially matching title3349 returns snippets with a matching title regardless of the casing3350 returns snippets with a matching file name3351 returns snippets with a partially matching file name3352 returns snippets with a matching file name regardless of the casing3353 returns snippets with a matching description3354 when default snippet visibility set to internal3355 attribute_name: :visibility, value: "private"3356 sets the visibility level3357 attribute_name: :visibility_level, value: 03358 sets the visibility level3359 attribute_name: "visibility", value: "private"3360 sets the visibility level3361 attribute_name: "visibility_level", value: 03362 sets the visibility level3363 .with_optional_visibility3364 when a visibility level is provided3365 returns snippets with the given visibility3366 when a visibility level is not provided3367 returns all snippets3368 .only_personal_snippets3369 returns snippets not associated with any projects3370 .only_include_projects_visible_to3371 when a user is provided3372 returns snippets visible to the user3373 when a user is not provided3374 returns snippets visible to anonymous users3375 only_include_projects_with_snippets_enabled3376 includes snippets for projects with snippets enabled3377 when snippet_access_level is private3378 when the include_private option is enabled3379 includes snippets for projects with snippets set to private3380 when the include_private option is not enabled3381 does not include snippets for projects that have snippets set to private3382 .only_include_authorized_projects3383 only includes snippets for projects the user is authorized to see3384 .for_project_with_user3385 when a user is provided3386 returns an empty collection if the user can not view the snippets3387 returns the snippets if the user is a member of the project3388 returns public snippets for a public project the user is not a member of3389 when a user is not provided3390 returns an empty collection for a private project3391 returns public snippets for a public project3392 .visible_to_or_authored_by3393 returns snippets visible to the user3394 #participants3395 includes the snippet author and note authors3396 #check_for_spam3397 when public and spammable attributes changed3398 returns true3399 when private3400 returns false3401 returns true when switching to public3402 when spammable attributes have not changed3403 returns false3404 #blob3405 returns a blob representing the snippet data3406 #blobs3407 when repository does not exist3408 returns empty array3409 when repository exists3410 returns array of blobs3411 #to_json3412 excludes secret_token from generated json3413 does not override existing exclude option value3414 #storage3415 stores snippet in @snippets dir3416 #track_snippet_repository3417 when a snippet repository entry does not exist3418 creates a new entry3419 tracks the snippet storage location3420 when a tracking entry exists3421 does not create a new entry in the database3422 updates the snippet storage location3423 #create_repository3424 creates the repository3425 tracks snippet repository3426 sets same shard in snippet repository as in the repository storage3427 when repository exists3428 does not try to create repository3429 when snippet_repository exists3430 does not create a new snippet repository3431 when snippet_repository does not exist3432 creates a snippet_repository3433 #repository_storage3434 returns repository storage from ApplicationSetting3435 when snippet_project is already created3436 returns repository_storage from snippet_project3437 #repository_size_checker3438 sets up size checker3439 #can_cache_field?3440 field: :title, file_name: nil, result: true3441 is expected to eq true3442 field: :title, file_name: "foo.bar", result: true3443 is expected to eq true3444 field: :description, file_name: nil, result: true3445 is expected to eq true3446 field: :description, file_name: "foo.bar", result: true3447 is expected to eq true3448 field: :content, file_name: nil, result: false3449 is expected to eq false3450 field: :content, file_name: "bar.foo", result: false3451 is expected to eq false3452 field: :content, file_name: "markdown.md", result: true3453 is expected to eq true3454 #url_to_repo3455 with personal snippet3456 is expected to eq "git@localhost:snippets/57.git"3457 with project snippet3458 is expected to eq "git@localhost:namespace726/project837/snippets/58.git"3459 .max_file_limit3460 returns 103461 #list_files3462 when snippet has a repository3463 lists files from the repository with the ref3464 when ref is nil3465 lists files from the repository from the deafult_branch3466 when snippet does not have a repository3467 returns an empty array3468 #multiple_files?3469 when snippet has multiple files3470 is expected to be truthy3471 when snippet does not have multiple files3472 is expected to be falsey3473 when the snippet does not have a repository3474 is expected to be falsey3475gitlab:update_project_templates rake task3476 updates valid project templates3477Mutations::Issues::SetAssignees3478 when the user does not have permissions3479 #resolve3480 behaves like permission level for issue mutation is correctly verified3481 when the user is not a project member3482 behaves like when the user does not have access to the resource3483DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/batch-loader-1.4.0/lib/batch_loader/graphql.rb:38: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3484/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/batch-loader-1.4.0/lib/batch_loader.rb:26: warning: The called method `batch' is defined here3485 (called from find at /builds/gitlab-org/gitlab/lib/gitlab/graphql/loaders/full_path_model_loader.rb:16)3486 raises an error3487 even if assigned to the issue3488 does not modify issue3489 even if author of the issue3490 raises an error3491 when the user is a project member3492 with guest role3493 behaves like when the user does not have access to the resource3494 raises an error3495 even if assigned to the issue3496 does not modify issue3497 even if author of the issue3498 raises an error3499 behaves like an assignable resource3500 #resolve3501 raises an error if the resource is not accessible to the user3502 when the user can update the resource3503DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3504/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here3505 (called from block in update at /builds/gitlab-org/gitlab/app/services/issuable_base_service.rb:217)3506 replaces the assignee3507 returns errors when resource could not be updated3508 when passing an empty assignee list3509 removes all assignees3510 when passing "append" as true3511 is a NO-OP in FOSS3512 when passing "remove" as true3513 removes named assignee3514 does not remove unnamed assignee3515Operations::FeatureFlags::UserList3516 validations3517 is expected to validate that :project cannot be empty/falsy3518 is expected to validate that :name cannot be empty/falsy3519 is expected to validate that :name is case-sensitively unique within the scope of :project_id3520 is expected to validate that the length of :name is between 1 and 2553521 user_xids3522 valid_value: ""3523 is valid with a string of comma separated values3524 valid_value: "sam"3525 is valid with a string of comma separated values3526 valid_value: "1"3527 is valid with a string of comma separated values3528 valid_value: "a"3529 is valid with a string of comma separated values3530 valid_value: "uuid-of-some-kind"3531 is valid with a string of comma separated values3532 valid_value: "sam,fred,tom,jane,joe,mike"3533 is valid with a string of comma separated values3534 valid_value: "gitlab@example.com"3535 is valid with a string of comma separated values3536 valid_value: "123,4"3537 is valid with a string of comma separated values3538 valid_value: "UPPER,Case,charActeRS"3539 is valid with a string of comma separated values3540 valid_value: "0"3541 is valid with a string of comma separated values3542 valid_value: "$valid$email#2345\#$%..{}+=-)?\\/@example.com"3543 is valid with a string of comma separated values3544 valid_value: "spaces allowed"3545 is valid with a string of comma separated values3546 valid_value: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"3547 is valid with a string of comma separated values3548 valid_value: "a,bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb,ccc"3549 is valid with a string of comma separated values3550 valid_value: "many spaces"3551 is valid with a string of comma separated values3552 typecast_value: 13553 automatically casts values of other types3554 typecast_value: 2.53555 automatically casts values of other types3556 typecast_value: {}3557 automatically casts values of other types3558 typecast_value: []3559 automatically casts values of other types3560 invalid_value: nil3561 is invalid3562 invalid_value: "123\n456"3563 is invalid3564 invalid_value: "1,2,3,12\t3"3565 is invalid3566 invalid_value: "\n"3567 is invalid3568 invalid_value: "\n\r"3569 is invalid3570 invalid_value: "joe\r,sam"3571 is invalid3572 invalid_value: "1,2,2"3573 is invalid3574 invalid_value: "1,,2"3575 is invalid3576 invalid_value: "1,2,,,,"3577 is invalid3578 invalid_value: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"3579 is invalid3580 invalid_value: "1, ,2"3581 is invalid3582 invalid_value: "tim, ,7"3583 is invalid3584 invalid_value: " "3585 is invalid3586 invalid_value: " "3587 is invalid3588 invalid_value: " ,1"3589 is invalid3590 invalid_value: "1, "3591 is invalid3592 invalid_value: " leading,1"3593 is invalid3594 invalid_value: "1,trailing "3595 is invalid3596 invalid_value: "1, both ,2"3597 is invalid3598 url_helpers3599 generates paths based on the internal id3600 #destroy3601 deletes the model if it is not associated with any feature flag strategies3602 does not delete the model if it is associated with a feature flag strategy3603 .for_name_like3604 returns a found name3605 returns an empty array when no lists match the query3606 behaves like AtomicInternalId3607 .has_internal_id3608 Module inclusion3609 is expected to includes the AtomicInternalId module3610 Validation3611 when presence validation is required3612 validates presence3613 when presence validation is not required3614 does not validate presence (PENDING: No reason given)3615 Creating an instance3616 saves a new instance properly3617 internal id generation3618 calls InternalId.generate_next and sets internal id attribute3619 does not overwrite an existing internal id3620 when the instance has an internal ID set3621 calls InternalId.update_last_value and sets the `last_value` to that of the instance3622 supply of internal ids3623 provides a persistent supply of IID values, sensitive to the current state3624 #reset_scope_internal_id_attribute3625 rewinds the allocated IID3626 allocates the same IID3627Integrations::Test::ProjectService3628 #execute3629 without event specified3630 tests the integration with default data3631 PipelinesEmailService3632 behaves like tests for integration with pipeline data3633 tests the integration with pipeline data3634 with event specified3635 event not supported by integration3636 returns error message3637 push3638 executes integration3639 tag_push3640 executes integration3641 note3642 returns error message if not enough data3643 executes integration3644 issue3645 returns error message if not enough data3646 executes integration3647 confidential_issue3648 returns error message if not enough data3649 executes integration3650 merge_request3651 returns error message if not enough data3652 executes integration3653 deployment3654 returns error message if not enough data3655 executes integration3656 pipeline3657 returns error message if not enough data3658 executes integration3659 wiki_page3660 returns error message if wiki disabled3661 returns error message if not enough data3662 executes integration3663Ci::DailyBuildGroupReportResultsFinder3664 #execute3665 when current user is allowed to read build report results3666 returns all matching results within the given date range3667 and limit is specified3668 returns limited number of matching results within the given date range3669 when current user is not allowed to read build report results3670 returns an empty result3671Resolvers::MergeRequestsResolver3672 #resolve3673 no arguments3674 returns all merge requests3675 returns only merge requests that the current user can see3676 by iid alone3677 batch-resolves by target project full path and individual IID3678 batch-resolves by target project full path and IIDS3679 batch-resolves by target project full path and IIDS, single or plural3680 can batch-resolve merge requests from different projects3681 resolves an unknown iid to be empty3682 resolves empty iids to be empty3683 resolves an unknown project to be nil when single3684 resolves an unknown project to be empty3685 by source branches3686 takes one argument3687 takes more than one argument3688 by target branches3689 takes one argument3690 takes more than one argument3691 by state3692 takes one argument3693 by label3694 takes one argument3695 takes multiple arguments, with semantics of ALL MUST MATCH3696 by merged_after and merged_before3697 returns merge requests merged between the given period3698 does not return anything3699 by milestone3700 filters merge requests by milestone title3701 does not find anything3702 combinations3703 requires all filters3704 sorting3705 when sorting by created3706DEPRECATION WARNING: /builds/gitlab-org/gitlab/ee/app/models/ee/merge_request.rb:86: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3707/builds/gitlab-org/gitlab/app/models/merge_request.rb:380: warning: The called method `sort_by_attribute' is defined here3708 (called from sort_by_attribute at /builds/gitlab-org/gitlab/ee/app/models/ee/merge_request.rb:86)3709 sorts merge requests ascending3710 sorts merge requests descending3711 when sorting by merged at3712 sorts merge requests ascending3713 sorts merge requests descending3714Gitlab::ImportExport::SnippetRepoRestorer3715 when the snippet does not have a bundle file path3716 behaves like no bundle file present3717 creates the repository from the database content3718 does not call snippet update statistics service3719 when the repository creation fails3720 returns false3721 when the snippet bundle path is not present3722 behaves like no bundle file present3723 creates the repository from the database content3724 does not call snippet update statistics service3725 when the repository creation fails3726 returns false3727 when the snippet repository bundle exists3728 refreshes snippet statistics3729 when it is valid3730 creates the repository from the bundle3731 sets same shard in snippet repository as in the repository storage3732 when it is invalid3733 returns false and deletes the repository from disk and the database3734ChronicDurationAttribute3735 when default value is not set3736 behaves like ChronicDurationAttribute reader3737 contains dynamically created reader method3738 outputs chronic duration formatted value3739 when value is set to nil3740 outputs nil3741 behaves like ChronicDurationAttribute writer3742 contains dynamically created writer method3743 parses chronic duration input3744 passes validation3745 when negative input is used3746 doesn't raise exception3747 doesn't change value3748 doesn't pass validation3749 when empty input is used3750 writes default value3751 passes validation3752 when nil input is used3753 writes default value3754 passes validation3755 doesn't raise exception3756 when default value is set3757 behaves like ChronicDurationAttribute reader3758 contains dynamically created reader method3759 outputs chronic duration formatted value3760 when value is set to nil3761 outputs nil3762 behaves like ChronicDurationAttribute writer3763 contains dynamically created writer method3764 parses chronic duration input3765 passes validation3766 when negative input is used3767 doesn't raise exception3768 doesn't change value3769 doesn't pass validation3770 when empty input is used3771 writes default value3772 passes validation3773 when nil input is used3774 writes default value3775 passes validation3776 doesn't raise exception3777ChronicDurationAttribute - reader3778 doesn't contain dynamically created writer method3779 behaves like ChronicDurationAttribute reader3780 contains dynamically created reader method3781 outputs chronic duration formatted value3782 when value is set to nil3783 outputs nil3784PipelineScheduleWorker3785 when the schedule is runnable by the user3786 when there is a scheduled pipeline within next_run_at3787 behaves like successful scheduling3788 creates a new pipeline3789 when the latest commit contains [ci skip]3790 behaves like successful scheduling3791 creates a new pipeline3792 when the schedule is deactivated3793 does not creates a new pipeline3794 when gitlab-ci.yml is corrupted3795 does not creates a new pipeline3796 when the schedule is not runnable by the user3797 does not deactivate the schedule3798 does not create a pipeline3799 does not raise an exception3800 when .gitlab-ci.yml is missing in the project3801 does not create a pipeline3802 does not raise an exception3803Ci::PipelinePolicy3804 rules3805 rules for protected ref3806 when no one can push or merge to the branch3807 does not include ability to update pipeline3808 when developers can push to the branch3809 includes ability to update pipeline3810 when no one can create the tag3811 does not include ability to update pipeline3812 when no one can create the tag but it is not a tag3813 includes ability to update pipeline3814 when maintainer is allowed to push to pipeline branch3815 enables update_pipeline if user is maintainer3816 when user does not have access to internal CI3817 disallows the user from reading the pipeline3818 destroy_pipeline3819 when user has owner access3820 is enabled3821 when user is not owner3822 is disabled3823 read_pipeline_variable3824 when user has owner access3825 is enabled3826 when user is developer and the creator of the pipeline3827 is enabled3828 when user is developer and it is not the creator of the pipeline3829 is disabled3830 when user is not owner nor developer3831 is disabled3832Packages::Nuget::ExtractionWorker3833 #perform3834 with valid package file3835 updates package and package file3836 with exisiting package3837 reuses existing package and updates package file3838 with invalid package file id3839 doesn't update package and package file3840 with package file not containing a nuspec file3841 behaves like handling the metadata error3842 removes the package and the package file3843 with package with an invalid package name3844 behaves like handling the metadata error3845 removes the package and the package file3846 behaves like handling the metadata error3847 removes the package and the package file3848 behaves like handling the metadata error3849 removes the package and the package file3850 behaves like handling the metadata error3851 removes the package and the package file3852 with package with an invalid package version3853 behaves like handling the metadata error3854 removes the package and the package file3855 behaves like handling the metadata error3856 removes the package and the package file3857 behaves like handling the metadata error3858 removes the package and the package file3859 behaves like handling the metadata error3860 removes the package and the package file3861 behaves like handling the metadata error3862 removes the package and the package file3863 behaves like handling the metadata error3864 removes the package and the package file3865Gitlab::Metrics::Instrumentation3866 .series3867 returns a String3868 .configure3869 yields self3870 .instrument_method3871 with metrics enabled3872 instruments the Class3873 defines a proxy method3874 calls the instrumented method with the correct arguments3875 tracks the call duration upon calling the method3876 does not track method calls below a given duration threshold3877 generates a method with the correct arity when using methods without arguments3878 when a module is instrumented multiple times3879 calls the instrumented method with the correct arguments3880 with metrics disabled3881 does not instrument the method3882 .instrument_instance_method3883 with metrics enabled3884 instruments instances of the Class3885 defines a proxy method3886 calls the instrumented method with the correct arguments3887 tracks the call duration upon calling the method3888 does not track method calls below a given duration threshold3889 with metrics disabled3890 does not instrument the method3891 .instrument_class_hierarchy3892 recursively instruments a class hierarchy3893 does not instrument the root module3894 .instrument_methods3895 instruments all public class methods3896 instruments all protected class methods3897 instruments all private class methods3898 only instruments methods directly defined in the module3899 can take a block to determine if a method should be instrumented3900 .instrument_instance_methods3901 instruments all public instance methods3902 instruments all protected instance methods3903 instruments all private instance methods3904 only instruments methods directly defined in the module3905 can take a block to determine if a method should be instrumented3906Ci::PlayManualStageService#execute3907 when pipeline has manual processables3908 starts manual processables from pipeline3909 updates manual processables3910 when pipeline has no manual processables3911 does not update the processables3912 when user does not have permission on a specific processable3913 logs the error3914Projects::Prometheus::Alerts::NotifyService3915 with valid payload3916 with environment specific clusters3917 without token3918 behaves like Alert Notification Service sends notification email3919 sends a notification for firing alerts only3920 with token3921 behaves like Alert Notification Service sends no notifications3922 does not notify3923 with project specific cluster3924 cluster_enabled: true, status: :installed, configured_token: "token", token_input: "token", result: :success3925 behaves like Alert Notification Service sends notification email3926 sends a notification for firing alerts only3927 cluster_enabled: true, status: :installed, configured_token: nil, token_input: nil, result: :success3928 behaves like Alert Notification Service sends notification email3929 sends a notification for firing alerts only3930 cluster_enabled: true, status: :updated, configured_token: "token", token_input: "token", result: :success3931 behaves like Alert Notification Service sends notification email3932 sends a notification for firing alerts only3933 cluster_enabled: true, status: :updating, configured_token: "token", token_input: "token", result: :failure3934 behaves like Alert Notification Service sends no notifications3935 does not notify3936 cluster_enabled: true, status: :installed, configured_token: "token", token_input: "x", result: :failure3937 behaves like Alert Notification Service sends no notifications3938 does not notify3939 cluster_enabled: true, status: :installed, configured_token: nil, token_input: "token", result: :failure3940 behaves like Alert Notification Service sends no notifications3941 does not notify3942 cluster_enabled: true, status: :installed, configured_token: "token", token_input: nil, result: :failure3943 behaves like Alert Notification Service sends no notifications3944 does not notify3945 cluster_enabled: true, status: nil, configured_token: "token", token_input: "token", result: :failure3946 behaves like Alert Notification Service sends no notifications3947 does not notify3948 cluster_enabled: false, status: :installed, configured_token: "token", token_input: "token", result: :failure3949 behaves like Alert Notification Service sends no notifications3950 does not notify3951 without project specific cluster3952 behaves like Alert Notification Service sends no notifications3953 does not notify3954 with manual prometheus installation3955 alerting_setting: true, configured_token: "token", token_input: "token", result: :success3956 behaves like Alert Notification Service sends notification email3957 sends a notification for firing alerts only3958 alerting_setting: true, configured_token: "token", token_input: "x", result: :failure3959 behaves like Alert Notification Service sends no notifications3960 does not notify3961 alerting_setting: true, configured_token: "token", token_input: nil, result: :failure3962 behaves like Alert Notification Service sends no notifications3963 does not notify3964 alerting_setting: false, configured_token: nil, token_input: nil, result: :success3965 behaves like Alert Notification Service sends notification email3966 sends a notification for firing alerts only3967 alerting_setting: false, configured_token: nil, token_input: "token", result: :failure3968 behaves like Alert Notification Service sends no notifications3969 does not notify3970 with generic alerts integration3971 alerts_service: :active, token: :valid, result: :success3972 behaves like Alert Notification Service sends notification email3973 sends a notification for firing alerts only3974 alerts_service: :active, token: :invalid, result: :failure3975 behaves like Alert Notification Service sends no notifications3976 does not notify3977 alerts_service: :active, token: nil, result: :failure3978 behaves like Alert Notification Service sends no notifications3979 does not notify3980 alerts_service: :inactive, token: :valid, result: :failure3981 behaves like Alert Notification Service sends no notifications3982 does not notify3983 alerts_service: nil, token: nil, result: :failure3984 behaves like Alert Notification Service sends no notifications3985 does not notify3986 alert emails3987 when incident_management_setting does not exist3988 does not send notification email3989 when incident_management_setting.send_email is true3990 behaves like Alert Notification Service sends notification email3991 sends a notification for firing alerts only3992 incident_management_setting.send_email is false3993 does not send notification3994 process Alert Management alerts3995 with multiple firing alerts and resolving alerts3996 processes Prometheus alerts3997 with invalid payload3998 when payload is not processable3999 behaves like Alert Notification Service sends no notifications4000 does not notify4001 when the payload is too big4002 does not process Prometheus alerts4003 behaves like Alert Notification Service sends no notifications4004 does not notify4005 .processable?4006 with valid payload4007 is expected to eq true4008 containing unrelated keys4009 is expected to eq true4010 with invalid payload4011 missing_key: "version"4012 is expected to eq false4013 missing_key: "groupKey"4014 is expected to eq false4015 missing_key: "status"4016 is expected to eq false4017 missing_key: "receiver"4018 is expected to eq false4019 missing_key: "groupLabels"4020 is expected to eq false4021 missing_key: "commonLabels"4022 is expected to eq false4023 missing_key: "commonAnnotations"4024 is expected to eq false4025 missing_key: "externalURL"4026 is expected to eq false4027 missing_key: "alerts"4028 is expected to eq false4029 with unsupported version4030 is expected to eq false4031Ci::BuildTraceChunks::Fog4032 #available?4033 when object storage is enabled4034 is expected to be truthy4035 when object storage is disabled4036 is expected to be falsy4037 #data4038 when data exists4039 returns the data4040 when data does not exist4041 returns nil4042 #set_data4043 when data exists4044 overwrites data4045 when data does not exist4046 sets new data4047 when S3 server side encryption is enabled4048 creates a file with attributes4049 when ci_live_trace_use_fog_attributes flag is disabled4050 does not pass along Fog attributes4051 #delete_data4052 when data exists4053 deletes data4054 when data does not exist4055 does nothing4056 #size4057 when data exists4058 returns data bytesize correctly4059 when data does not exist4060 returns zero4061 #keys4062 returns keys4063 #delete_keys4064 deletes multiple data4065Mutations::Issues::SetDueDate4066 is expected to require graphql authorizations :update_issue4067 #resolve4068 behaves like permission level for issue mutation is correctly verified4069 when the user is not a project member4070 behaves like when the user does not have access to the resource4071 raises an error4072 even if assigned to the issue4073 does not modify issue4074 even if author of the issue4075 raises an error4076 when the user is a project member4077 with guest role4078 behaves like when the user does not have access to the resource4079 raises an error4080 even if assigned to the issue4081 does not modify issue4082 even if author of the issue4083 raises an error4084 when the user can update the issue4085 returns the issue with updated due date4086 when passing incorrect due date value4087 does not update due date4088DraftNote4089 validations4090 behaves like a valid diff positionable note4091 for commit4092 position diff refs matches commit diff refs4093 is valid4094 position diff refs does not match commit diff refs4095 is invalid4096 commit does not exist4097 is invalid4098 original_position=4099 doesn't accept non-hash JSON passed as a string4100 does accept a position hash as a string4101 doesn't accept an array4102 does accept a hash4103 position=4104 doesn't accept non-hash JSON passed as a string4105 does accept a position hash as a string4106 doesn't accept an array4107 does accept a hash4108 change_position=4109 doesn't accept non-hash JSON passed as a string4110 does accept a position hash as a string4111 doesn't accept an array4112 does accept a hash4113 delegations4114 is expected to delegate #file_path to the #diff_file object, allowing #diff_file to return nil4115 is expected to delegate #file_hash to the #diff_file object, allowing #diff_file to return nil4116 is expected to delegate #file_identifier_hash to the #diff_file object, allowing #diff_file to return nil4117 #diff_file4118 when diff_file exists4119 returns an unfolded diff_file4120 when diff_file does not exist4121 returns nil4122Projects::OpenIssuesCountService4123 behaves like a counter caching service4124 #count4125 caches the count4126 #refresh_cache4127 refreshes the cache4128 #delete_cache4129 removes the cache4130 #uncached_count4131 does not cache the count4132 #count4133 when user is nil4134 does not include confidential issues in the issue count4135 when user is provided4136 when user can read confidential issues4137 returns the right count with confidential issues4138 uses total_open_issues_count cache key4139 when user cannot read confidential issues4140 does not include confidential issues4141 uses public_open_issues_count cache key4142 #refresh_cache4143 when cache is empty4144 refreshes cache keys correctly4145 when cache is outdated4146 refreshes cache keys correctly4147ProjectLabel4148 relationships4149 is expected to belong to project required:4150 validations4151 is expected to validate that :project cannot be empty/falsy4152 validates if title must not exist at group level4153 returns error if title already exists at group level4154 does not returns error if title does not exist at group level4155 does not returns error if project does not belong to group4156 does not returns error when title does not change4157 when attempting to add more than one priority to the project label4158 returns error4159 #subject4160 aliases project to subject4161 #to_reference4162 using id4163 returns a String reference to the object4164 using name4165 returns a String reference to the object4166 uses id when name contains double quote4167 using invalid format4168 raises error4169 cross project reference4170 using name4171 returns cross reference with label name4172 using id4173 returns cross reference with label id4174Gitlab::FileHook4175 with file_hooks present4176 .any?4177 returns true4178 .files?4179 returns a list of file_hooks4180 without any file_hooks4181 .any?4182 returns false4183 .files4184 returns an empty list4185 .execute4186 successful execution4187 is expected to equal true4188 is expected to be empty4189 ensures file_hook received data via stdin4190 non-executable4191 is expected to equal false4192 is expected to include "Permission denied"4193 non-zero exit4194 is expected to equal false4195 is expected to be empty4196BoardPolicy4197 group board4198 user has access4199 is expected to be allowed :read_issue4200 user does not have access4201 is expected not to be allowed :read_issue4202 project board4203 user has access4204 is expected to be allowed :read_issue4205 user does not have access4206 is expected not to be allowed :read_issue4207 create_non_backlog_issues4208 for project boards4209 when user can admin project issues4210 allows to add non backlog issues from issue board4211 when user cannot admin project issues4212 does not allow to add non backlog issues from issue board4213 for group boards4214 when user is at least reporter in one of the child projects4215 allows to add non backlog issues from issue board4216 when user is not a reporter from any child projects4217 does not allow to add non backlog issues from issue board4218Issuable::CommonSystemNotesService4219 on issuable update4220 behaves like system note creation4221 creates 1 system note with the correct content4222 behaves like system note creation4223 creates 1 system note with the correct content4224 behaves like system note creation4225 creates 1 system note with the correct content4226 behaves like system note creation4227 creates 1 system note with the correct content4228 when new label is added4229 creates a resource label event4230 with merge requests Draft note4231 adding Draft note4232 behaves like system note creation4233 creates 1 system note with the correct content4234 and changing title4235 behaves like draft notes creation4236 creates Draft toggle and title change notes4237 removing Draft note4238 behaves like system note creation4239 creates 1 system note with the correct content4240 and changing title4241 behaves like draft notes creation4242 creates Draft toggle and title change notes4243 on issuable create4244 does not create system note for title and description4245 creates a resource label event for labels added4246 creates a system note for due_date set4247 when changing milestones4248 does not create a system note for milestone set4249 creates a milestone change event4250JiraConnect::SyncProjectWorker4251 #perform4252 avoids N+1 database queries4253 when the project is not found4254 does not raise an error4255 behaves like an idempotent worker4256 is labeled as idempotent4257 performs multiple times sequentially without raising an exception4258 sends the request with custom update_sequence_id4259 when the number of merge requests to sync is higher than the limit4260 syncs only the most recent merge requests within the limit4261DeploymentClusterEntity4262 #as_json4263 matches deployment_cluster entity schema4264 exposes the cluster details4265 when the user does not have permission to view the cluster4266 does not include the path nor the namespace4267Gitlab::UsageDataCounters::IssueActivityUniqueCounter4268 can return the count of actions per user deduplicated4269 for Issue title edit actions4270 behaves like a tracked issue edit event4271 is expected to eq 34272 does not track edit actions if author is not present4273 when feature flag track_issue_activity_actions is disabled4274 does not track edit actions4275 for Issue description edit actions4276 behaves like a tracked issue edit event4277 is expected to eq 34278 does not track edit actions if author is not present4279 when feature flag track_issue_activity_actions is disabled4280 does not track edit actions4281 for Issue assignee edit actions4282 behaves like a tracked issue edit event4283 is expected to eq 34284 does not track edit actions if author is not present4285 when feature flag track_issue_activity_actions is disabled4286 does not track edit actions4287 for Issue make confidential actions4288 behaves like a tracked issue edit event4289 is expected to eq 34290 does not track edit actions if author is not present4291 when feature flag track_issue_activity_actions is disabled4292 does not track edit actions4293 for Issue make visible actions4294 behaves like a tracked issue edit event4295 is expected to eq 34296 does not track edit actions if author is not present4297 when feature flag track_issue_activity_actions is disabled4298 does not track edit actions4299 for Issue created actions4300 behaves like a tracked issue edit event4301 is expected to eq 34302 does not track edit actions if author is not present4303 when feature flag track_issue_activity_actions is disabled4304 does not track edit actions4305 for Issue closed actions4306 behaves like a tracked issue edit event4307 is expected to eq 34308 does not track edit actions if author is not present4309 when feature flag track_issue_activity_actions is disabled4310 does not track edit actions4311 for Issue reopened actions4312 behaves like a tracked issue edit event4313 is expected to eq 34314 does not track edit actions if author is not present4315 when feature flag track_issue_activity_actions is disabled4316 does not track edit actions4317 for Issue label changed actions4318 behaves like a tracked issue edit event4319 is expected to eq 34320 does not track edit actions if author is not present4321 when feature flag track_issue_activity_actions is disabled4322 does not track edit actions4323 for Issue cross-referenced actions4324 behaves like a tracked issue edit event4325 is expected to eq 34326 does not track edit actions if author is not present4327 when feature flag track_issue_activity_actions is disabled4328 does not track edit actions4329 for Issue moved actions4330 behaves like a tracked issue edit event4331 is expected to eq 34332 does not track edit actions if author is not present4333 when feature flag track_issue_activity_actions is disabled4334 does not track edit actions4335 for Issue relate actions4336 behaves like a tracked issue edit event4337 is expected to eq 34338 does not track edit actions if author is not present4339 when feature flag track_issue_activity_actions is disabled4340 does not track edit actions4341 for Issue unrelate actions4342 behaves like a tracked issue edit event4343 is expected to eq 34344 does not track edit actions if author is not present4345 when feature flag track_issue_activity_actions is disabled4346 does not track edit actions4347 for Issue marked as duplicate actions4348 behaves like a tracked issue edit event4349 is expected to eq 34350 does not track edit actions if author is not present4351 when feature flag track_issue_activity_actions is disabled4352 does not track edit actions4353 for Issue locked actions4354 behaves like a tracked issue edit event4355 is expected to eq 34356 does not track edit actions if author is not present4357 when feature flag track_issue_activity_actions is disabled4358 does not track edit actions4359 for Issue unlocked actions4360 behaves like a tracked issue edit event4361 is expected to eq 34362 does not track edit actions if author is not present4363 when feature flag track_issue_activity_actions is disabled4364 does not track edit actions4365 for Issue designs added actions4366 behaves like a tracked issue edit event4367 is expected to eq 34368 does not track edit actions if author is not present4369 when feature flag track_issue_activity_actions is disabled4370 does not track edit actions4371 for Issue designs modified actions4372 behaves like a tracked issue edit event4373 is expected to eq 34374 does not track edit actions if author is not present4375 when feature flag track_issue_activity_actions is disabled4376 does not track edit actions4377 for Issue designs removed actions4378 behaves like a tracked issue edit event4379 is expected to eq 34380 does not track edit actions if author is not present4381 when feature flag track_issue_activity_actions is disabled4382 does not track edit actions4383 for Issue due date changed actions4384 behaves like a tracked issue edit event4385 is expected to eq 34386 does not track edit actions if author is not present4387 when feature flag track_issue_activity_actions is disabled4388 does not track edit actions4389 for Issue time estimate changed actions4390 behaves like a tracked issue edit event4391 is expected to eq 34392 does not track edit actions if author is not present4393 when feature flag track_issue_activity_actions is disabled4394 does not track edit actions4395 for Issue time spent changed actions4396 behaves like a tracked issue edit event4397 is expected to eq 34398 does not track edit actions if author is not present4399 when feature flag track_issue_activity_actions is disabled4400 does not track edit actions4401 for Issue comment added actions4402 behaves like a tracked issue edit event4403 is expected to eq 34404 does not track edit actions if author is not present4405 when feature flag track_issue_activity_actions is disabled4406 does not track edit actions4407 for Issue comment edited actions4408 behaves like a tracked issue edit event4409 is expected to eq 34410 does not track edit actions if author is not present4411 when feature flag track_issue_activity_actions is disabled4412 does not track edit actions4413 for Issue comment removed actions4414 behaves like a tracked issue edit event4415 is expected to eq 34416 does not track edit actions if author is not present4417 when feature flag track_issue_activity_actions is disabled4418 does not track edit actions4419WikiPage::Meta4420 Associations4421 is expected to belong to project required:4422 is expected to have many slugs4423 is expected to have many events4424 can find slugs4425 Validations4426 is expected to validate that :project_id cannot be empty/falsy4427 is expected to validate that :title cannot be empty/falsy4428 is forbidden to add extremely long titles4429 is forbidden to have two records for the same project with the same canonical_slug4430 #canonical_slug4431 can be set on initialization4432 there are no slugs4433 is expected to have attributes {:canonical_slug => (be nil)}4434 we have some non-canonical slugs4435 is expected to have attributes {:canonical_slug => (be nil)}4436 issues at most one query4437 issues no queries if we already know the slug4438 we have a canonical slug4439 has the correct value4440 canonical_slug=4441 the slug is not known to us4442 changes it to the correct value4443 ensures the slug is in the db4444 issues at most N queries4445 issues fewer queries if we already know the current slug4446 the slug is already in the DB (but not canonical)4447 changes it to the correct value4448 ensures the slug is in the db4449 issues at most N queries4450 issues fewer queries if we already know the current slug4451 the slug is already in the DB (and canonical)4452 changes it to the correct value4453 ensures the slug is in the db4454 issues at most N queries4455 issues fewer queries if we already know the current slug4456 the slug is up to date and in the DB4457 changes it to the correct value4458 ensures the slug is in the db4459 issues at most N queries4460 issues fewer queries if we already know the current slug4461 .find_or_create4462 there are problems4463 the slug is too long4464 raises an error4465 a conflicting record exists4466 raises an error4467 the wiki page is not valid4468 raises an error4469 no existing record exists4470 establishes the correct state4471 makes a reasonable number of DB queries4472 the commit happened a day ago4473 establishes the correct state4474 makes a reasonable number of DB queries4475 the last_known_slug is the same as the current slug, as on creation4476 establishes the correct state4477 makes a reasonable number of DB queries4478 a record exists in the DB in the correct state4479 establishes the correct state4480 makes a reasonable number of DB queries4481 a record exists in the DB, but we need to update timestamps4482 establishes the correct state4483 makes a reasonable number of DB queries4484 we need to update the slug, but not the title4485 establishes the correct state4486 makes a reasonable number of DB queries4487 we need to update the title, but not the slug4488 establishes the correct state4489 makes a reasonable number of DB queries4490 we want to change the slug back to a previous version4491 establishes the correct state4492 makes a reasonable number of DB queries4493 we want to change the slug a bunch of times4494 establishes the correct state4495 makes a reasonable number of DB queries4496 we need to update the title and the slug4497 establishes the correct state4498 makes a reasonable number of DB queries4499Gitlab::Badge::Pipeline::Metadata4500 behaves like badge metadata4501 #to_html4502 points to link4503 contains clickable image4504 #to_markdown4505 is expected to include "http://localhost/namespace929/project1054/badges/feature/pipeline.svg"4506 is expected to include "http://localhost/namespace930/project1055/-/commits/feature"4507 #to_asciidoc4508 is expected to include "http://localhost/namespace931/project1056/badges/feature/pipeline.svg"4509 is expected to include "http://localhost/namespace932/project1057/-/commits/feature"4510 is expected to include "image:"4511 is expected to include "link="4512 is expected to include "title="4513 #title4514 returns build status title4515 #image_url4516 returns valid url4517 #link_url4518 returns valid link4519Gitlab::Ci::Config::External::Processor4520 #perform4521 when no external files defined4522 returns the same values4523 when an invalid local file is defined4524 raises an error4525 when an invalid remote file is defined4526 raises an error4527 with a valid remote external file is defined4528 appends the file to the values4529 removes the 'include' keyword4530 with a valid local external file is defined4531 appends the file to the values4532 removes the 'include' keyword4533 with multiple external files are defined4534 appends the files to the values4535 removes the 'include' keyword4536 when external files are defined but not valid4537 raises an error4538 when both external files and values defined the same key4539 takes precedence4540 when a nested includes are defined4541 when project is public4542 properly expands all includes4543 when user is reporter of another project4544 properly expands all includes4545 when user is not allowed4546 raises an error4547 when too many includes is included4548 raises an error4549 when config includes an external configuration file via SSL web request4550 with an acceptable certificate4551 is expected to include {:image => "ruby:2.6"}4552 with a self-signed certificate4553 returns a reportable configuration error4554 when a valid project file is defined4555DEPRECATION WARNING: /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call4556/builds/gitlab-org/gitlab/app/models/repository.rb:69: warning: The called method `initialize' is defined here4557 (called from new at /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23)4558 appends the file to the values4559 when valid project files are defined in a single include4560 appends the file to the values4561 when FF ci_include_multiple_files_from_project is disabled4562 raises an error4563PipelineMetricsWorker4564 #perform4565 when pipeline is running4566 records the build start time4567 clears the build end time4568 records the pipeline4569 when pipeline succeeded4570 records the build end time4571 records the pipeline4572Key4573 Associations4574 is expected to belong to user required:4575 Validation4576 is expected to validate that :title cannot be empty/falsy4577 is expected to validate that the length of :title is at most 2554578 is expected to validate that :key cannot be empty/falsy4579 is expected to validate that the length of :key is at most 50004580 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC98dbu7gxcbmAvwMqz/6AALhSr1jiXG0UC8FQMvoDt+ciB+uSJhg7KlxinKjYJnPGfhX+q2K+mmCGAmI/D6q7rFxE+bn09O+75qgkTHi+suDVE6KG7L3n0alGd/qSevfomR77Snh6fQPdG6sEAZz3kehcpfVnq5/IuLFq9FBrgmu52Jd4XZLQZKkDq6zYOJ69FUkGf93LZIV/OOaS+f+qkOGPCUkdKl7oEcgpVNY9SRjBCduXnvi2CyQnnJVkBguGL5VlXwFXH+17Whs7oFWmdiG+4jzBRLIMz4EuIW09b8Su5PW6+bBuXOifHA8KG5TMmjs5LYdCMPFnhTyDyO3a1 dummy@gitlab.com"›4581 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDGSD77lLtjmzewiBs6nu2R5nu6oNkrAkH/0co1fHHosKfRr+sWkSTKXOVcL7bhRu+tniGBmB5pn+i1qX7BXtrcnv//bCXWIp+me027L4RJa5/Ep077iiTJlzTpcV664xNUXC8mzBr601HR/Z2TzX5DWJvnyqqFkN7qHTYo/+IoKECnKqNzI5SQrAxgi6sbWA5DFQ/nwcqsUSBo5gCCJ/0QPrR19yVV5lJA19EY2LawOb1SJNOFo4mQupSlBZwvERZJ7IqhBTPtQIfrqqz5VJbI13jK3ViZTugIZqydWAhosUyejP3SdCj1KMexrvV95tjUtmhVFlph4tKThQO0p9pXKZNCzYsbQTye6O6Hk2rojOJLyFWqNBVKtI8Ymfu7OQWppRnuUFuhuuS515H1s888bZFMPsC74mPyo0Y7Q9wAoTnQ9Hw6b0J6OfY3PIRVphaCmxh6b7dgSPFdD7TA6j0xk6PCTOIEzBKuc85B3GQc8Nt4sTv6fW8lGeuYWqepW74igeC4qB6U3/3+p3nPdq/bTM1txrhnQsl1r4dv6TLZ51EtHp6sXayp0qd0pRaiavebXFC0iaETLraQpye4FWbBL/8xTjQ/0VPrYVuUCDvDSMIIS3/9g7Kp7ERUDC9jUqOVonm4pTXL9iItiUBlK7Mob9C4fQIRFnVR00DCmkmVgw== dummy@gitlab.com"›4582 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACgQDxnZP0TucLH3zcrvt75DPNq+xKqOmJkCEzTytKq4S5MDH0nlx+xOZ9WykhwDHXU0iZBJF7yRdLkZweYDJVKnBzr4t7QP5Sw2/ZdLelvUMWGJjuz28x8Z+8NZ+IxL/exDz7itrhCsLupQhGO1obiIwf8xVzzPoxrQ9dxaN4x965N+QdQcld8O6xfpSE0p5Y3sRn3kp57aHWoNa/bUGZy0OHLr/ig0uc6EKyWsTmEESOgDyV94wOyHR0KNGEENyxQt4BwAbEBn3Y41HKqD358KKh+XjbECebrrBFigdDL/eYFIUlstJ07SK/HtYjZbiUZCPs8bJA+SBaLK0pGGqguM2LXRoMeMUZFwKKKS2LpRqjKGj3Qt7qMnp1SkVhiMnxNqL4nJnDOOVo07xDIPKqIBYO67/cp4Icv3IjKxy6K3EIpLr+iRCxcllpDogxolzFC+pEDVpmEvcrGEv1ON6HcCdk/6Q8Iekr8rYDHpKCU5FF2uBHkqq7yNJ1/+NFC4dgyOo0xCVL4D3DvDKNxFYkrzW4ICt0f5XcMnU10yS/OFXz8JwA3jvuLvMRe5JdFiIjb/l86+TgYyvK8Y8N/UWgSgyjXUCv8nxdvpsxdz5h7HBF8E2DIxCVMC23655e5rp5eJW9EU9X5YFZc3u6uWJ1f1aO+1ViTtqkPrqxovNDD+gVel8Ny6MJ4MvmDKY+eM8beNMSSf1n1Oyh/SvCffhZpUqrXdTr9qwZEOaC75T74AJ7KBl9VvO3vPLZuJrt38R2OZG/4SlNEUA6bb5TWQLtdor/qpPN5jAskkAUzOh5L/M+dmq2jNn03U9xwORCYPZj+fFM9bL99/0knsV0ypZDZyWH dummy@gitlab.com"›4583 is expected to allow :key to be ‹"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAEAQC5jMyGtgMOVX4t2GuXkbirJA0Edr+qlOH9grnRBPHPo0Npt6XE6ZN3J3hDULTQo03wmekGw42dxdNSgk+F0GjsUBrMLbqrk485MMe0cUbP4lRXNu4ao87wPVM5fAsD4E3FQiZcI6Df011ZGIL7hGTHt6eafTfr9cJheRyYSu6g06rlnFWbbtSh9oQ7Y6sfDLBcsC9ECcXwe3mwViuQXPIVomZ02EdnBbAhbGHDtA+ZbSvTfraxOMjkxkVvvdjLxXEykpwVuZf8eZ+R/Js8jQ5RKvTZMbfxJNsGEqHD32s43ml4VF549Qz2GJDXF7Cld/n3CT6wvw0mMPM0LnykL2v0CMr44bjIA3KsNEs5MhkcBO8sv5hGfcPhrpm9WwI6gd9vdZVcxarVI+iQS947owvdn4VbEZXynCDqEEv3Zh+FA5p23mf2p7DkG/swiK/IPrjr1wmsiWmwIUsENzJNyJtibKuRsBawC4ZdL797tFilSoTzSpriegSL13joPXz3eOHCVu4ATHMo3QyLfIFbxrf9PQ79nyOpHoX2YeFXvei3xFkGMundkOqeI+pnJKDyqbiLV7UVlclua11QWNQZf1ZUd0n1wZ1g89de+wl3oJSRbSA5ZpveZEPstcMC/JhogY4JBYsvCT1yHOoNWHo90NZQsUCjNnR+/FVaACtpt2zcPTjjbXvxwCDlT3gXTmTBp/kEZq6u8p+BOlqFgxcP/sdAR8jWTin3Iw/YAcbqNgRHdjMUzJBrPQ5NcK6xFcmkOEQahdJDZs98xozCHkD4Urx6+auTr/uqRYobKoNUNiYqN1n7/dfZjQJJVkHtKd06JTFx+7/SqyfrTKS+/EIf2Hypdy9r9IFR+SWAOi11N/wflS/ZbH95Qt3STifXRecmHzyYGkMOZ+mg3Hi2YU0yn7k+P1jy627xudpT9Ak3HWT5ji8tMyn9udL7m80dYpUiEAxoYZdbSSNCDaKP4ViABnGIeZreIujabI8IdtEIjFQTaF2d5HTYjp28/qf576CFP5L7AGydypipYqZUmsYnay5YVjdm89He3TMD71SwspJlPOC4RnM0HS87OE+U0+mVaIe8YYbcjTekpVU9mkqsE/GQ34Egw79VMNNgWq5avOzpT8msClTJxgfJ1agGgigTvGxUM0FB07+sIdJxxNymAGpLKZ1op8xaJI3o8D86jWgI22za1zxUB5il9U7+KOzaWo9mp3bmhvZWGDwzTXEZhUJYMRby7o6UxSHlA6fKE63JSDD2yhXk4CjsQRNC7Ph9cYSB+Wa3i9Am4rRlJgrF79okmEOMpj1idliHkpIsy/k2CN9Lf2EIHOD4NMuLrSUH4qJsPUq19ZbGIMdImD3vMS5b dummy@gitlab.com"›4584 is expected to allow :key to be ‹"ssh-dss AAAAB3NzaC1kc3MAAAEBALEB3sM2kPy6LKLiyL+UlDx2vzuKrzSD2nsW2Kb70ivIqDNJu5CbqIQSkjdMzJiocs33ESFqXid6ezOtVdDwXHJQRxKGalW1kBbFAPjtMxlDbf559+7qN2zfCfcQsgTmNAZ7O+wltqJmyLv5i4QqNwPDvyeBvJ4C+770DzlcQtpkflKJX+O7i8Ylq34h6UTCTnjry+dFVm1xz97LPf7XuzXGZcAG/eGUNQgxQ2bferKnrpYOXx6cocSRj9W54nrRFMWuDeOspWp4MoYK0FRMfDQYPksUayGUnm1KQTGuDbB0ahRNCOm8b3tfP9Z+vjANAkqenzDuXCpz2PU/Oj6/N/UAAAAhAPOLyut12Mjcp3eUXLe1xSoI5IRXSLsoW9no93dcFNprAAABAQCLhpqKY+PNcwbhhPruL+f+uROghHzDwRNX+e231F4wHHeDDomfWyLVFj31XrHdDXZnS9tTTj5D2XWLovSSxYb3H7earTctmktL0lQ3HapujzvOkn+VM0pGs6B3j54+AM3mg50KZdYWxxv+v/lb6oEcsCjfKNyRIx/5pqX6XI3dxl9MMIxrfVWpkNX+FI68v1LVV61DC9PkNyEHU0v9YBOfrTiS21TIlVIZcSFhuDjg52MekfZAnoKaP7YFJNF3fdCrXaU3hYQrwB9XdskBUppwxKGhf7O6SWEZhAEfPA9kgxaWHoJvsDz8aca576UNe7BPmjzo/SLUX+P4uvcaffd+AAABAEqzpmwjzTxB+DV8C+0LnmKf3L/UlQWyGdmhd65rnbkHGgRMAAkoh4GBOEHL5bznNRmO7X/H6g2fR7SEabxfbvb903KI4nbfFF+3QtnwyIbTBAcH0893D3bi5rsaJcz+c6lBob2En2nThRciefXUk2oPzCQuDyFIyHLJikqRQVcalHCdQ00c/H/JkiJedHNqaeU4TeMk8SM53Brjplj/iiJq+ujc5MlEgACdCwWp0BviFACEoYyFaa3Rkc7Xdm9vFpclm9fzgUfPloASA0SkO945in3mIqMfODTb4yRvbjk8If9483fEPgQkczpdptBz1VAKg8AmRcz1GmBIxs+Stn0= dummy@gitlab.com"›4585 is expected to allow :key to be ‹"ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJZmkzTgY0fiCQ+DVReyH/fFwTFz0XoR3RUO0u+199H19KFw7mNPxRSMOVS7tEtONj3Q7FcZXfqthHvgAzDiHsc= dummy@gitlab.com"›4586 is expected to allow :key to be ‹"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIETnVTgzqC1gatgSlC4zH6aYt2CAQzgJOhDRvf59ohL6 dummy@gitlab.com"›4587 is expected not to allow :key to be ‹"foo-bar"›4588 Methods4589 is expected to respond to #projects4590 is expected to respond to #publishable_key4591 #publishable_keys4592 replaces SSH key comment with simple identifier of username + hostname4593 #update_last_used_at4594 updates the last used timestamp4595 scopes4596 .for_user4597 returns keys of the specified user only4598 .order_last_used_at_desc4599 sorts by last_used_at descending, with null values at last4600 validation of uniqueness (based on fingerprint uniqueness)4601 accepts the key once4602 does not accept the exact same key twice4603 does not accept a duplicate key with a different comment4604 validate it is a fingerprintable key4605 accepts the fingerprintable key4606 rejects the unfingerprintable key (not a key)4607 factory: :key, characters: ["\n", "\r\n"], expected_sections: 34608 accepts a key with blank space characters after stripping them4609 factory: :key, characters: [" ", " "], expected_sections: 34610 accepts a key with blank space characters after stripping them4611 factory: :key_without_comment, characters: [" ", " "], expected_sections: 24612 accepts a key with blank space characters after stripping them4613 validate it meets key restrictions4614 factory: :rsa_key_2048, minimum: 0, result: true4615 is expected to eq true4616 factory: :dsa_key_2048, minimum: 0, result: true4617 is expected to eq true4618 factory: :ecdsa_key_256, minimum: 0, result: true4619 is expected to eq true4620 factory: :ed25519_key_256, minimum: 0, result: true4621 is expected to eq true4622 factory: :rsa_key_2048, minimum: 1024, result: true4623 is expected to eq true4624 factory: :rsa_key_2048, minimum: 2048, result: true4625 is expected to eq true4626 factory: :rsa_key_2048, minimum: 4096, result: false4627 is expected to eq false4628 factory: :dsa_key_2048, minimum: 1024, result: true4629 is expected to eq true4630 factory: :dsa_key_2048, minimum: 2048, result: true4631 is expected to eq true4632 factory: :dsa_key_2048, minimum: 4096, result: false4633 is expected to eq false4634 factory: :ecdsa_key_256, minimum: 256, result: true4635 is expected to eq true4636 factory: :ecdsa_key_256, minimum: 384, result: false4637 is expected to eq false4638 factory: :ed25519_key_256, minimum: 256, result: true4639 is expected to eq true4640 factory: :ed25519_key_256, minimum: 384, result: false4641 is expected to eq false4642 factory: :rsa_key_2048, minimum: -1, result: false4643 is expected to eq false4644 factory: :dsa_key_2048, minimum: -1, result: false4645 is expected to eq false4646 factory: :ecdsa_key_256, minimum: -1, result: false4647 is expected to eq false4648 factory: :ed25519_key_256, minimum: -1, result: false4649 is expected to eq false4650 callbacks4651 authorized keys file is enabled4652 adds new key to authorized_file4653 removes key from authorized_file4654 authorized_keys file is disabled4655 does not add the key on creation4656 does not remove the key on destruction4657 #key=4658 strips white spaces4659 invalidates the public_key attribute4660 #refresh_user_cache4661 when the key belongs to a user4662 refreshes the keys count cache for the user4663 when the key does not belong to a user4664 does nothing4665Gitlab::ImportExport::SnippetsRepoRestorer4666 bundle a snippet Git repo4667 when export has no snippet repository bundle4668 behaves like imports snippet repositories4669DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb:101: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call4670/builds/gitlab-org/gitlab/lib/gitlab/import_export/snippet_repo_restorer.rb:10: warning: The called method `initialize' is defined here4671 (called from block in restore at /builds/gitlab-org/gitlab/lib/gitlab/import_export/snippets_repo_restorer.rb:14)4672 is expected not to be empty4673 when export has snippet repository bundles and snippets without them4674 behaves like imports snippet repositories4675 is expected not to be empty4676 when export has only snippet bundles4677 behaves like imports snippet repositories4678 is expected not to be empty4679 when any of the snippet repositories cannot be created4680 continues processing other snippets and returns false4681Metrics::Dashboard::CloneDashboardService4682 #execute4683 user does not have push right to repository4684 behaves like misconfigured dashboard service response with stepable4685 returns an appropriate message and status code4686 with rights to push to the repository4687 wrong target file extension4688 behaves like misconfigured dashboard service response with stepable4689 returns an appropriate message and status code4690 wrong source dashboard file4691 behaves like misconfigured dashboard service response with stepable4692 returns an appropriate message and status code4693 path traversal attack attempt4694 behaves like misconfigured dashboard service response with stepable4695 returns an appropriate message and status code4696 path traversal attack attempt on target file4697 strips target file name to safe value4698 valid parameters4699 extends dashboard template path to absolute url4700 behaves like valid dashboard cloning process4701 dashboard template: config/prometheus/common_metrics.yml4702 delegates commit creation to Files::CreateService4703 user has defined custom metrics4704 uses external service to includes them into new file content4705 behaves like valid dashboard cloning process4706 dashboard template: config/prometheus/cluster_metrics.yml4707 delegates commit creation to Files::CreateService4708 user has defined custom metrics4709 uses external service to includes them into new file content4710 behaves like valid dashboard cloning process4711 dashboard template: config/prometheus/self_monitoring_default.yml4712 delegates commit creation to Files::CreateService4713 user has defined custom metrics4714 uses external service to includes them into new file content4715 selected branch already exists4716 behaves like misconfigured dashboard service response with stepable4717 returns an appropriate message and status code4718 blank branch name4719 behaves like misconfigured dashboard service response with stepable4720 returns an appropriate message and status code4721 dashboard file already exists4722 behaves like misconfigured dashboard service response with stepable4723 returns an appropriate message and status code4724 Files::CreateService success4725 clears dashboards cache4726 returns success4727 Files::CreateService fails4728 does NOT clear dashboards cache4729 returns error4730DiscussionDiffFileEntity4731 when there is no merge request4732 behaves like diff file discussion entity4733 behaves like diff file base entity4734 exposes essential attributes4735 when diff file does not have a blob and content sha4736 exposes some attributes as nil4737 when there is a merge request4738 exposes additional attributes4739 exposes no diff lines4740 behaves like diff file discussion entity4741 behaves like diff file base entity4742 exposes essential attributes4743 when diff file does not have a blob and content sha4744 exposes some attributes as nil4745Clusters::Applications::DestroyService#execute4746 application is not installed4747 raises Clusters::Applications::BaseService::InvalidApplicationError4748 application is installed4749 application is schedulable4750 makes application scheduled!4751 schedules UninstallWorker4752 application is not schedulable4753 raises StateMachines::InvalidTransition4754ProjectAutoDevops4755 is expected to belong to project required:4756 is expected to define :deploy_strategy as an enum, backed by an integer4757 is expected to respond to #created_at4758 is expected to respond to #updated_at4759 behaves like having unique enum values4760 has unique values in "deploy_strategy"4761 #predefined_variables4762 when deploy_strategy is manual4763 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}4764 when deploy_strategy is continuous4765 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}4766 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"4767 when deploy_strategy is timed_incremental4768 is expected to include {:key => "INCREMENTAL_ROLLOUT_MODE", :value => "timed"}4769 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}4770 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"4771 when auto-devops is explicitly disabled4772 is expected to be empty4773 #create_gitlab_deploy_token4774 when the project is public4775 does not create a gitlab deploy token4776 when the project is internal4777 creates a gitlab deploy token4778 when the project is private4779 creates a gitlab deploy token4780 when autodevops is enabled at project level4781 creates a deploy token4782 when autodevops is enabled at instance level4783 creates a deploy token4784 when autodevops is disabled4785 does not create a deploy token4786 when the project already has an active gitlab-deploy-token4787 does not create a deploy token4788 when the project already has a revoked gitlab-deploy-token4789 does not create a deploy token4790Projects::DownloadService4791 File service4792 for a URL that is not on whitelist4793 is expected to eq nil4794 for URLs that are on the whitelist4795 an image file4796/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4797/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4798/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4799/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4800/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4801 is expected to have key :alt4802/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4803/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4804/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4805/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4806/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4807 is expected to have key :url4808/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4809/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4810/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4811/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4812/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4813 is expected to match "rails_sample.jpg"4814/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4815/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4816/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4817/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4818/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4819 is expected to eq "rails_sample"4820 a txt file4821/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4822/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4823/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4824/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4825/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4826 is expected to have key :alt4827/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4828/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4829/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4830/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4831/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4832 is expected to have key :url4833/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4834/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4835/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4836/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4837/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4838 is expected to match "doc_sample.txt"4839/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:43: warning: calling URI.open via Kernel#open is deprecated, call URI.open directly or use URI#open4840/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4841/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4842/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4843/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/uploader/download.rb:60: warning: URI.unescape is obsolete4844 is expected to eq "doc_sample.txt"4845Projects::HashedStorage::RollbackAttachmentsService4846 #execute4847 works even when project validation fails4848 when succeeds4849 moves attachments to legacy storage layout4850 returns true4851 sets skipped to false4852 when original folder does not exist anymore4853 skips moving folders and go to next4854 returns true4855 sets skipped to true4856 when target folder already exists4857 raises AttachmentCannotMoveError4858 #old_disk_path4859 returns old disk_path for project4860 #new_disk_path4861 returns new disk_path for project4862layouts/application4863 body data elements for pageview context4864 includes the body element page4865 includes the body element page_type_id4866 includes the body element project_id4867 includes the body element namespace_id4868forked project import4869DEPRECATION WARNING: /builds/gitlab-org/gitlab/lib/gitlab/import_export/relation_tree_restorer.rb:158: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call4870/builds/gitlab-org/gitlab/lib/gitlab/import_export/base/relation_factory.rb:34: warning: The called method `create' is defined here4871 (called from build_relation at /builds/gitlab-org/gitlab/lib/gitlab/import_export/relation_tree_restorer.rb:158)4872DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call4873/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here4874 (called from block in process_relation_item! at /builds/gitlab-org/gitlab/lib/gitlab/import_export/relation_tree_restorer.rb:81)4875 can access the MR4876Gitlab::GithubImport::Importer::DiffNoteImporter4877 #execute4878 when the merge request no longer exists4879 does not import anything4880 when the merge request exists4881 imports the note4882 imports the note when the author could not be found4883 produces a valid LegacyDiffNote4884 does not import the note when a foreign key error is raised4885 #find_merge_request_id4886 returns a merge request ID4887PrometheusAlertEvent4888 associations4889 is expected to belong to prometheus_alert required: true4890 validations4891 is expected to be valid4892 is expected to validate that :prometheus_alert cannot be empty/falsy, producing a custom validation error on failure4893DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call4894/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here4895 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/models/prometheus_alert_event_spec.rb:18)4896 is expected to validate that :payload_key is case-sensitively unique within the scope of :prometheus_alert_id4897 is expected to validate that :started_at cannot be empty/falsy4898 payload_key & ended_at4899 absent if firing?4900 is expected to validate that :payload_key cannot be empty/falsy4901 is expected not to validate that :ended_at cannot be empty/falsy4902 present if resolved?4903 is expected not to validate that :payload_key cannot be empty/falsy4904 is expected to validate that :ended_at cannot be empty/falsy4905 #title4906 delegates to alert4907 prometheus_metric_id4908 delegates to alert4909 transaction4910 fire4911 when status is none4912 fires an event4913 when firing4914 cannot fire again4915 resolve4916 when firing4917 resolves an event4918 when resolved4919 cannot resolve again4920DestroyPagesDeploymentsWorker4921 doesn't fail if project is already removed4922 can be called without last_deployment_id4923 calls destroy service4924Banzai::ReferenceParser::MilestoneParser4925 #nodes_visible_to_user4926 when the link has a data-issue attribute4927 behaves like referenced feature visibility4928 when feature is disabled4929 does not create reference4930 when feature is enabled only for team members4931 does not create reference for non member4932 creates reference for member4933 when feature is enabled4934 creates reference4935 #referenced_by4936 when the link has a data-milestone attribute4937 using an existing milestone ID4938 returns an Array of milestones4939 using a non-existing milestone ID4940 returns an empty Array4941Labels::CreateService4942 #execute4943 in a project4944 with color in hex-code4945 creates a label4946 with color in allowed name4947 creates a label4948 with color in up-case allowed name4949 creates a label4950 with color surrounded by spaces4951 creates a label4952 with unknown color4953 doesn't create a label4954 with no color4955 doesn't create a label4956 in a group4957 with color in hex-code4958 creates a label4959 with color in allowed name4960 creates a label4961 with color in up-case allowed name4962 creates a label4963 with color surrounded by spaces4964 creates a label4965 with unknown color4966 doesn't create a label4967 with no color4968 doesn't create a label4969 in admin area4970 with color in hex-code4971 creates a label4972 with color in allowed name4973 creates a label4974 with color in up-case allowed name4975 creates a label4976 with color surrounded by spaces4977 creates a label4978 with unknown color4979 doesn't create a label4980 with no color4981 doesn't create a label4982Gitlab::SlashCommands::Presenters::IssueShow4983 is expected to be a kind of Hash4984 shows the issue4985 with upvotes4986 shows the upvote count4987 with labels4988 shows the labels4989 confidential issue4990 shows an ephemeral response4991Gitlab::Database::BulkUpdate4992 is possible to update all objects in a single query4993 is possible to update heterogeneous sets4994 sets multiple values4995 error states4996 does not raise errors on valid inputs4997 expects a non-empty list of column names4998 expects all columns to be symbols4999 expects all columns to be valid columns on the tables5000 refuses to set ID5001 expects a non-empty mapping5002 expects all map values to be Hash instances5003 when prepared statements are configured differently to the normal test environment5004 sets multiple values5005Deployments::ExecuteHooksWorker5006 #perform5007 executes project services for deployment_hooks5008 does not execute an inactive service5009 does not execute if a deployment does not exist5010 execute webhooks5011Gitlab::OtpKeyRotator5012 #rotate!5013 stores the calculated values in a spreadsheet5014 new key is too short5015 is expected to raise ArgumentError5016 new key is the same as the old key5017 is expected to raise ArgumentError5018 #rollback!5019 updates rows to the old value5020Clusters::Cleanup::ProjectNamespaceService5021 #execute5022 when cluster has namespaces to be deleted5023 deletes namespaces from cluster5024 deletes namespaces from database5025 schedules ::ServiceAccountWorker5026 logs all events5027 when cluster has no namespaces5028 schedules Clusters::Cleanup::ServiceAccountWorker5029 transitions to cleanup_removing_service_account5030 does not try to delete namespaces5031Discussions::CaptureDiffNotePositionsService5032 when merge request has a discussion5033 and position of the discussion changed on target branch head5034 diff positions are created for the first notes of the discussions5035Gitlab::Ci::Pipeline::Chain::EvaluateWorkflowRules5036 #perform!5037 when pipeline has been skipped by workflow configuration5038 does not save the pipeline5039 breaks the chain5040 attaches an error to the pipeline5041 when pipeline has not been skipped by workflow configuration5042 continues the pipeline processing chain5043 does not skip the pipeline5044 attaches no errors5045Gitlab::Ci::Status::Build::Common5046 #has_action?5047 is expected not to have action5048 #has_details?5049 when user has access to read build5050 is expected to have details5051 when user does not have access to read build5052 is expected not to have details5053 #details_path5054 links to the build details page5055 #illustration5056 provides a fallback empty state illustration5057SlackSlashCommandsService5058 behaves like chat slash commands service5059 Associations5060 is expected to respond to #token5061 is expected to have many chat_names5062 #valid_token?5063 when the token is empty5064 is false5065 when there is a token5066 accepts equal tokens5067 #trigger5068 no token is passed5069 returns nil5070 with a token passed5071 no user can be found5072 when no url can be generated5073 responds with the authorize url5074 when an auth url can be generated5075 generates the url5076 when the user is authenticated5077 triggers the command5078 when user is blocked5079 behaves like blocks command execution5080 is expected to match "you do not have access to the GitLab project"5081 when user is deactivated5082 behaves like blocks command execution5083 is expected to match "your account has been deactivated by your administrator"5084 #trigger5085 when an auth url is generated5086 uses slack compatible links5087 #chat_responder5088 returns the responder to use for Slack5089Gitlab::JiraImport::StuckJiraImportJobsWorker5090 with scheduled Jira import5091 behaves like stuck import job detection5092 when the job has completed5093 when the import status was already updated5094 does not mark the import as failed5095 when the import status was not updated5096 marks the import as failed5097 when the job is still in Sidekiq5098 does not mark the import as failed5099 with started jira import5100 behaves like stuck import job detection5101 when the job has completed5102 when the import status was already updated5103 does not mark the import as failed5104 when the import status was not updated5105 marks the import as failed5106 when the job is still in Sidekiq5107 does not mark the import as failed5108 with failed jira import5109 detects no stuck jobs5110TestReportEntity5111 #as_json5112DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/state_machines-activerecord-0.6.0/lib/state_machines/integrations/active_record.rb:511: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call5113/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.3/lib/active_record/suppressor.rb:43: warning: The called method `save' is defined here5114 (called from block (4 levels) in <top (required)> at /builds/gitlab-org/gitlab/spec/factories/ci/builds.rb:319)5115 contains the total time5116 contains the counts5117 contains the test suites5118IncidentManagement::PagerDuty::CreateIncidentIssueService5119 #execute5120 when PagerDuty webhook setting is active5121 when issue can be created5122 creates a new issue5123 responds with success5124 the issue author is Alert bot5125 issue has a correct title5126 issue has a correct description5127 when the payload does not contain a title5128 does not create a GitLab issue5129 responds with error5130 when PagerDuty webhook setting is not active5131 does not create a GitLab issue5132 responds with forbidden5133Import/Export Project configuration5134 relation_path: "project", relation_name: :project5135 where relation project5136 does not have prohibited keys5137 relation_path: "project.labels", relation_name: :labels5138 where relation project.labels5139 does not have prohibited keys5140 relation_path: "project.labels.priorities", relation_name: :priorities5141 where relation project.labels.priorities5142 does not have prohibited keys5143 relation_path: "project.milestones", relation_name: :milestones5144 where relation project.milestones5145 does not have prohibited keys5146 relation_path: "project.milestones.events", relation_name: :events5147 where relation project.milestones.events5148 does not have prohibited keys5149 relation_path: "project.milestones.events.push_event_payload", relation_name: :push_event_payload5150 where relation project.milestones.events.push_event_payload5151 does not have prohibited keys5152 relation_path: "project.issues", relation_name: :issues5153 where relation project.issues5154 does not have prohibited keys5155 relation_path: "project.issues.events", relation_name: :events5156 where relation project.issues.events5157 does not have prohibited keys5158 relation_path: "project.issues.events.push_event_payload", relation_name: :push_event_payload5159 where relation project.issues.events.push_event_payload5160 does not have prohibited keys5161 relation_path: "project.issues.timelogs", relation_name: :timelogs5162 where relation project.issues.timelogs5163 does not have prohibited keys5164 relation_path: "project.issues.notes", relation_name: :notes5165 where relation project.issues.notes5166 does not have prohibited keys5167 relation_path: "project.issues.notes.award_emoji", relation_name: :award_emoji5168 where relation project.issues.notes.award_emoji5169 does not have prohibited keys5170 relation_path: "project.issues.notes.system_note_metadata", relation_name: :system_note_metadata5171 where relation project.issues.notes.system_note_metadata5172 does not have prohibited keys5173 relation_path: "project.issues.notes.events", relation_name: :events5174 where relation project.issues.notes.events5175 does not have prohibited keys5176 relation_path: "project.issues.notes.events.push_event_payload", relation_name: :push_event_payload5177 where relation project.issues.notes.events.push_event_payload5178 does not have prohibited keys5179 relation_path: "project.issues.label_links", relation_name: :label_links5180 where relation project.issues.label_links5181 does not have prohibited keys5182 relation_path: "project.issues.label_links.label", relation_name: :label5183 where relation project.issues.label_links.label5184 does not have prohibited keys5185 relation_path: "project.issues.label_links.label.priorities", relation_name: :priorities5186 where relation project.issues.label_links.label.priorities5187 does not have prohibited keys5188 relation_path: "project.issues.milestone", relation_name: :milestone5189 where relation project.issues.milestone5190 does not have prohibited keys5191 relation_path: "project.issues.milestone.events", relation_name: :events5192 where relation project.issues.milestone.events5193 does not have prohibited keys5194 relation_path: "project.issues.milestone.events.push_event_payload", relation_name: :push_event_payload5195 where relation project.issues.milestone.events.push_event_payload5196 does not have prohibited keys5197 relation_path: "project.issues.resource_label_events", relation_name: :resource_label_events5198 where relation project.issues.resource_label_events5199 does not have prohibited keys5200 relation_path: "project.issues.resource_label_events.label", relation_name: :label5201 where relation project.issues.resource_label_events.label5202 does not have prohibited keys5203 relation_path: "project.issues.resource_label_events.label.priorities", relation_name: :priorities5204 where relation project.issues.resource_label_events.label.priorities5205 does not have prohibited keys5206 relation_path: "project.issues.designs", relation_name: :designs5207 where relation project.issues.designs5208 does not have prohibited keys5209 relation_path: "project.issues.designs.notes", relation_name: :notes5210 where relation project.issues.designs.notes5211 does not have prohibited keys5212 relation_path: "project.issues.designs.notes.events", relation_name: :events5213 where relation project.issues.designs.notes.events5214 does not have prohibited keys5215 relation_path: "project.issues.designs.notes.events.push_event_payload", relation_name: :push_event_payload5216 where relation project.issues.designs.notes.events.push_event_payload5217 does not have prohibited keys5218 relation_path: "project.issues.design_versions", relation_name: :design_versions5219 where relation project.issues.design_versions5220 does not have prohibited keys5221 relation_path: "project.issues.design_versions.actions", relation_name: :actions5222 where relation project.issues.design_versions.actions5223 does not have prohibited keys5224 relation_path: "project.issues.design_versions.actions.design", relation_name: :design5225 where relation project.issues.design_versions.actions.design5226 does not have prohibited keys5227 relation_path: "project.issues.issue_assignees", relation_name: :issue_assignees5228 where relation project.issues.issue_assignees5229 does not have prohibited keys5230 relation_path: "project.issues.zoom_meetings", relation_name: :zoom_meetings5231 where relation project.issues.zoom_meetings5232 does not have prohibited keys5233 relation_path: "project.issues.sentry_issue", relation_name: :sentry_issue5234 where relation project.issues.sentry_issue5235 does not have prohibited keys5236 relation_path: "project.issues.award_emoji", relation_name: :award_emoji5237 where relation project.issues.award_emoji5238 does not have prohibited keys5239 relation_path: "project.issues.epic_issue", relation_name: :epic_issue5240 where relation project.issues.epic_issue5241 does not have prohibited keys5242 relation_path: "project.issues.epic_issue.epic", relation_name: :epic5243 where relation project.issues.epic_issue.epic5244 does not have prohibited keys5245 relation_path: "project.issues.issuable_sla", relation_name: :issuable_sla5246 where relation project.issues.issuable_sla5247 does not have prohibited keys5248 relation_path: "project.snippets", relation_name: :snippets5249 where relation project.snippets5250 does not have prohibited keys5251 relation_path: "project.snippets.award_emoji", relation_name: :award_emoji5252 where relation project.snippets.award_emoji5253 does not have prohibited keys5254 relation_path: "project.snippets.notes", relation_name: :notes5255 where relation project.snippets.notes5256 does not have prohibited keys5257 relation_path: "project.snippets.notes.award_emoji", relation_name: :award_emoji5258 where relation project.snippets.notes.award_emoji5259 does not have prohibited keys5260 relation_path: "project.releases", relation_name: :releases5261 where relation project.releases5262 does not have prohibited keys5263 relation_path: "project.releases.links", relation_name: :links5264 where relation project.releases.links5265 does not have prohibited keys5266 relation_path: "project.project_members", relation_name: :project_members5267 where relation project.project_members5268 does not have prohibited keys5269 relation_path: "project.project_members.user", relation_name: :user5270 where relation project.project_members.user5271 does not have prohibited keys5272 relation_path: "project.merge_requests", relation_name: :merge_requests5273 where relation project.merge_requests5274 does not have prohibited keys5275 relation_path: "project.merge_requests.metrics", relation_name: :metrics5276 where relation project.merge_requests.metrics5277 does not have prohibited keys5278 relation_path: "project.merge_requests.award_emoji", relation_name: :award_emoji5279 where relation project.merge_requests.award_emoji5280 does not have prohibited keys5281 relation_path: "project.merge_requests.notes", relation_name: :notes5282 where relation project.merge_requests.notes5283 does not have prohibited keys5284 relation_path: "project.merge_requests.notes.award_emoji", relation_name: :award_emoji5285 where relation project.merge_requests.notes.award_emoji5286 does not have prohibited keys5287 relation_path: "project.merge_requests.notes.system_note_metadata", relation_name: :system_note_metadata5288 where relation project.merge_requests.notes.system_note_metadata5289 does not have prohibited keys5290 relation_path: "project.merge_requests.notes.events", relation_name: :events5291 where relation project.merge_requests.notes.events5292 does not have prohibited keys5293 relation_path: "project.merge_requests.notes.events.push_event_payload", relation_name: :push_event_payload5294 where relation project.merge_requests.notes.events.push_event_payload5295 does not have prohibited keys5296 relation_path: "project.merge_requests.notes.suggestions", relation_name: :suggestions5297 where relation project.merge_requests.notes.suggestions5298 does not have prohibited keys5299 relation_path: "project.merge_requests.merge_request_diff", relation_name: :merge_request_diff5300 where relation project.merge_requests.merge_request_diff5301 does not have prohibited keys5302 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_commits", relation_name: :merge_request_diff_commits5303 where relation project.merge_requests.merge_request_diff.merge_request_diff_commits5304 does not have prohibited keys5305 relation_path: "project.merge_requests.merge_request_diff.merge_request_diff_files", relation_name: :merge_request_diff_files5306 where relation project.merge_requests.merge_request_diff.merge_request_diff_files5307 does not have prohibited keys5308 relation_path: "project.merge_requests.events", relation_name: :events5309 where relation project.merge_requests.events5310 does not have prohibited keys5311 relation_path: "project.merge_requests.events.push_event_payload", relation_name: :push_event_payload5312 where relation project.merge_requests.events.push_event_payload5313 does not have prohibited keys5314 relation_path: "project.merge_requests.timelogs", relation_name: :timelogs5315 where relation project.merge_requests.timelogs5316 does not have prohibited keys5317 relation_path: "project.merge_requests.label_links", relation_name: :label_links5318 where relation project.merge_requests.label_links5319 does not have prohibited keys5320 relation_path: "project.merge_requests.label_links.label", relation_name: :label5321 where relation project.merge_requests.label_links.label5322 does not have prohibited keys5323 relation_path: "project.merge_requests.label_links.label.priorities", relation_name: :priorities5324 where relation project.merge_requests.label_links.label.priorities5325 does not have prohibited keys5326 relation_path: "project.merge_requests.milestone", relation_name: :milestone5327 where relation project.merge_requests.milestone5328 does not have prohibited keys5329 relation_path: "project.merge_requests.milestone.events", relation_name: :events5330 where relation project.merge_requests.milestone.events5331 does not have prohibited keys5332 relation_path: "project.merge_requests.milestone.events.push_event_payload", relation_name: :push_event_payload5333 where relation project.merge_requests.milestone.events.push_event_payload5334 does not have prohibited keys5335 relation_path: "project.merge_requests.resource_label_events", relation_name: :resource_label_events5336 where relation project.merge_requests.resource_label_events5337 does not have prohibited keys5338 relation_path: "project.merge_requests.resource_label_events.label", relation_name: :label5339 where relation project.merge_requests.resource_label_events.label5340 does not have prohibited keys5341 relation_path: "project.merge_requests.resource_label_events.label.priorities", relation_name: :priorities5342 where relation project.merge_requests.resource_label_events.label.priorities5343 does not have prohibited keys5344 relation_path: "project.external_pull_requests", relation_name: :external_pull_requests5345 where relation project.external_pull_requests5346 does not have prohibited keys5347 relation_path: "project.ci_pipelines", relation_name: :ci_pipelines5348 where relation project.ci_pipelines5349 does not have prohibited keys5350 relation_path: "project.ci_pipelines.notes", relation_name: :notes5351 where relation project.ci_pipelines.notes5352 does not have prohibited keys5353 relation_path: "project.ci_pipelines.notes.events", relation_name: :events5354 where relation project.ci_pipelines.notes.events5355 does not have prohibited keys5356 relation_path: "project.ci_pipelines.notes.events.push_event_payload", relation_name: :push_event_payload5357 where relation project.ci_pipelines.notes.events.push_event_payload5358 does not have prohibited keys5359 relation_path: "project.ci_pipelines.stages", relation_name: :stages5360 where relation project.ci_pipelines.stages5361 does not have prohibited keys5362 relation_path: "project.ci_pipelines.stages.statuses", relation_name: :statuses5363 where relation project.ci_pipelines.stages.statuses5364 does not have prohibited keys5365 relation_path: "project.ci_pipelines.external_pull_request", relation_name: :external_pull_request5366 where relation project.ci_pipelines.external_pull_request5367 does not have prohibited keys5368 relation_path: "project.ci_pipelines.merge_request", relation_name: :merge_request5369 where relation project.ci_pipelines.merge_request5370 does not have prohibited keys5371 relation_path: "project.auto_devops", relation_name: :auto_devops5372 where relation project.auto_devops5373 does not have prohibited keys5374 relation_path: "project.triggers", relation_name: :triggers5375 where relation project.triggers5376 does not have prohibited keys5377 relation_path: "project.pipeline_schedules", relation_name: :pipeline_schedules5378 where relation project.pipeline_schedules5379 does not have prohibited keys5380 relation_path: "project.container_expiration_policy", relation_name: :container_expiration_policy5381 where relation project.container_expiration_policy5382 does not have prohibited keys5383 relation_path: "project.protected_branches", relation_name: :protected_branches5384 where relation project.protected_branches5385 does not have prohibited keys5386 relation_path: "project.protected_branches.merge_access_levels", relation_name: :merge_access_levels5387 where relation project.protected_branches.merge_access_levels5388 does not have prohibited keys5389 relation_path: "project.protected_branches.push_access_levels", relation_name: :push_access_levels5390 where relation project.protected_branches.push_access_levels5391 does not have prohibited keys5392 relation_path: "project.protected_branches.unprotect_access_levels", relation_name: :unprotect_access_levels5393 where relation project.protected_branches.unprotect_access_levels5394 does not have prohibited keys5395 relation_path: "project.protected_tags", relation_name: :protected_tags5396 where relation project.protected_tags5397 does not have prohibited keys5398 relation_path: "project.protected_tags.create_access_levels", relation_name: :create_access_levels5399 where relation project.protected_tags.create_access_levels5400 does not have prohibited keys5401 relation_path: "project.project_feature", relation_name: :project_feature5402 where relation project.project_feature5403 does not have prohibited keys5404 relation_path: "project.custom_attributes", relation_name: :custom_attributes5405 where relation project.custom_attributes5406 does not have prohibited keys5407 relation_path: "project.prometheus_metrics", relation_name: :prometheus_metrics5408 where relation project.prometheus_metrics5409 does not have prohibited keys5410 relation_path: "project.project_badges", relation_name: :project_badges5411 where relation project.project_badges5412 does not have prohibited keys5413 relation_path: "project.ci_cd_settings", relation_name: :ci_cd_settings5414 where relation project.ci_cd_settings5415 does not have prohibited keys5416 relation_path: "project.error_tracking_setting", relation_name: :error_tracking_setting5417 where relation project.error_tracking_setting5418 does not have prohibited keys5419 relation_path: "project.metrics_setting", relation_name: :metrics_setting5420 where relation project.metrics_setting5421 does not have prohibited keys5422 relation_path: "project.boards", relation_name: :boards5423 where relation project.boards5424 does not have prohibited keys5425 relation_path: "project.boards.lists", relation_name: :lists5426 where relation project.boards.lists5427 does not have prohibited keys5428 relation_path: "project.boards.lists.label", relation_name: :label5429 where relation project.boards.lists.label5430 does not have prohibited keys5431 relation_path: "project.boards.lists.label.priorities", relation_name: :priorities5432 where relation project.boards.lists.label.priorities5433 does not have prohibited keys5434 relation_path: "project.protected_environments", relation_name: :protected_environments5435 where relation project.protected_environments5436 does not have prohibited keys5437 relation_path: "project.protected_environments.deploy_access_levels", relation_name: :deploy_access_levels5438 where relation project.protected_environments.deploy_access_levels5439 does not have prohibited keys5440 relation_path: "project.service_desk_setting", relation_name: :service_desk_setting5441 where relation project.service_desk_setting5442 does not have prohibited keys5443 relation_path: "project.security_setting", relation_name: :security_setting5444 where relation project.security_setting5445 does not have prohibited keys5446 relation_path: "project.push_rule", relation_name: :push_rule5447 where relation project.push_rule5448 does not have prohibited keys5449DiffsMetadataEntity5450 as json5451 contain only required attributes5452 diff_files5453DEPRECATION WARNING: /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call5454/builds/gitlab-org/gitlab/lib/gitlab/diff/file_collection/merge_request_diff_base.rb:9: warning: The called method `initialize' is defined here5455 (called from new at /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23)5456 returns diff files metadata5457Ci::CommitStatusesFinder#execute5458 tag refs5459 no pipelines5460 returns nil5461 when multiple tags exist5462 all relevant commit statuses are received5463 when a tag has multiple pipelines5464 chooses the latest to determine status5465 branch refs5466 no pipelines5467 returns nil5468 when a branch has multiple pipelines5469 chooses the latest to determine status5470 when multiple branches exist5471 all relevant commit statuses are received5472 CI pipelines visible to5473 everyone5474 returns something5475 project members only5476 returns a blank hash5477 when not a member of a private project5478 returns a blank hash5479projects/environments/terminal5480 when environment has external URL5481 shows external URL button5482 when environment does not have external URL5483 shows external URL button5484Branches::ValidateNewService5485 #execute5486 validation5487 returns error with an invalid branch name5488 returns success with a valid branch name5489 branch exist5490 returns error when branch exists5491 returns success when branch name is available5492DependencyProxy::FileUploader5493 behaves like builds correct paths5494 #store_dir5495 behaves like matches the method pattern5496 is expected to match /\h{2}\/\h{2}/5497 #cache_dir5498 behaves like matches the method pattern5499 is expected to match /\/dependency_proxy\/tmp\/cache/5500 #work_dir5501 behaves like matches the method pattern5502 is expected to match /\/dependency_proxy\/tmp\/work/5503 #upload_path5504 behaves like matches the method pattern5505 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5506 #relative_path5507 is relative (PENDING: Path not set, skipping.)5508 .absolute_path5509 behaves like matches the method pattern5510 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5511 .base_dir5512 behaves like matches the method pattern5513 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5514 path traversal exploits5515 throws an exception5516 object store is remote5517 behaves like builds correct paths5518 #store_dir5519 behaves like matches the method pattern5520 is expected to match /\h{2}\/\h{2}/5521 #cache_dir5522 behaves like matches the method pattern5523 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5524 #work_dir5525 behaves like matches the method pattern5526 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5527 #upload_path5528 behaves like matches the method pattern5529 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5530 #relative_path5531 is relative (PENDING: Path not set, skipping.)5532 .absolute_path5533 behaves like matches the method pattern5534 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5535 .base_dir5536 behaves like matches the method pattern5537 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)5538 path traversal exploits5539 throws an exception5540Gitlab::Ci::Pipeline::Chain::Populate5541 when pipeline doesn not have seeds block5542 does not persist the pipeline5543 does not break the chain5544 populates pipeline with stages5545 correctly assigns user5546 has pipeline iid5547 when pipeline is empty5548 breaks the chain5549 appends an error about missing stages5550 wastes pipeline iid5551 pipeline protect5552 when ref is protected5553 does not protect the pipeline5554 when ref is not protected5555 does not protect the pipeline5556 when pipeline has validation errors5557 breaks the chain5558 appends validation error5559 wastes pipeline iid5560 when there is a seed blocks present5561 when seeds block builds some resources5562 populates pipeline with resources described in the seeds block5563 has pipeline iid5564 when seeds block tries to persist some resources5565 raises error5566 when pipeline gets persisted during the process5567 raises error5568 when variables policy is specified5569 when using only/except build policies5570 behaves like a correct pipeline5571 populates pipeline according to used policies5572 when variables expression is specified5573 when pipeline iid is the subject5574 behaves like a correct pipeline5575 populates pipeline according to used policies5576Gitlab::JiraImport5577 .validate_project_settings!5578 without user param5579 behaves like jira configuration base checks5580 with configuration_check set to false5581 does not raise Jira integration error5582 when Jira service was not setup5583 behaves like raise Jira import error5584 returns error5585 when Jira service exists5586 when Jira connection is not valid5587 behaves like raise Jira import error5588 returns error5589 when jira connection is valid5590 does not return any error5591 with user param provided5592 when user has permission to run import5593 behaves like jira configuration base checks5594 with configuration_check set to false5595 does not raise Jira integration error5596 when Jira service was not setup5597 behaves like raise Jira import error5598 returns error5599 when Jira service exists5600 when Jira connection is not valid5601 behaves like raise Jira import error5602 returns error5603 when jira service is configured5604 when issues feature is disabled5605 behaves like raise Jira import error5606 returns error5607 when everything is ok5608 does not return any error5609 when user does not have permissions to run the import5610 behaves like raise Jira import error5611 returns error5612 .jira_issue_cache_key5613 returns cache key for Jira issue imported to given project5614 .already_imported_cache_key5615 returns cache key for already imported items5616 .jira_issues_next_page_cache_key5617 returns cache key for next issues5618 .get_issues_next_start_at5619 returns zero when not defined5620 returns negative value for next issues to be imported starting point5621 returns cached value for next issues to be imported starting point5622 .cache_users_mapping5623 stores the data correctly5624 .get_user_mapping5625 reads the data correctly5626 returns nil if value not found5627 .store_issues_next_started_at5628 stores nil value5629 stores positive value5630 stores negative value5631IdInOrdered5632 Issue5633 .id_in_ordered5634 returns issues matching the ids in the same order as the ids5635 when the ids are not an array of integers5636 raises ArgumentError5637 when an empty array is given5638 does not raise error5639Gitlab::SlashCommands::IssueSearch5640 #execute5641 when the user has no access5642 only returns the open issues5643 the user has access5644 returns all results5645 without hits on the query5646 returns an empty collection5647 self.match5648 matches the query5649LabelSerializer5650 #represent5651 when a single object is being serialized5652 serializes the label object5653 when multiple objects are being serialized5654 serializes the array of labels5655 #represent_appearance5656 when represents only appearance5657 serializes only attributes used for appearance5658UsersFinder5659 #execute5660 with a normal user5661 returns all users5662 filters by username5663 filters by id5664 filters by username (case insensitive)5665 filters by search5666 filters by blocked users5667 filters by active users5668 returns no external users5669 filters by created_at5670 filters by non internal users5671 does not filter by custom attributes5672 orders returned results5673 with an admin user5674 filters by external users5675 returns all users5676 filters by custom attributes5677Ci::PipelineScheduleService5678 #execute5679 schedules next run5680 runs RunPipelineScheduleWorker5681 when owner is nil5682 does not raise an error5683Ci::Processable5684 delegations5685 is expected to delegate #merge_request? to the #pipeline object5686 is expected to delegate #merge_request_ref? to the #pipeline object5687 is expected to delegate #legacy_detached_merge_request_pipeline? to the #pipeline object5688 #aggregated_needs_names5689 with created status5690 with needs5691 returns all processables5692 returns all needs5693 without needs5694 returns all processables5695 returns empty needs5696 validate presence of scheduling_type5697 importing: false, should_validate: true5698 on create5699 validates presence5700 on update5701 is expected not to validate that :scheduling_type cannot be empty/falsy5702 importing: true, should_validate: false5703 on create5704 validates presence5705 on update5706 is expected not to validate that :scheduling_type cannot be empty/falsy5707 .populate_scheduling_type!5708 populates scheduling_type of processables5709 does not affect processables from other pipelines5710 #needs_attributes5711 with needs5712 returns all needs attributes5713 without needs5714 is expected to be empty5715PersonalAccessToken5716 .build5717 is a valid personal access token5718 ensures that the token is generated5719 scopes5720 .for_user5721 returns personal access tokens of specified user only5722 .for_users5723 returns personal access tokens for the specified users only5724 .active?5725 returns false if the personal_access_token is revoked5726 returns false if the personal_access_token is expired5727 returns true if the personal_access_token is not revoked and not expired5728 revoke!5729 revokes the token5730 Redis storage5731 reading encrypted data5732 returns stored data5733 reading unencrypted data5734 returns stored data unmodified5735 after deletion5736 token is removed5737 validations5738 requires at least one scope5739 allows creating a token with API scopes5740 rejects creating a token with unavailable scopes5741 when registry is disabled5742 rejects creating a token with read_registry scope5743 allows revoking a token with read_registry scope5744 when registry is enabled5745 allows creating a token with read_registry scope5746 scopes5747 .expiring_and_not_notified5748 in one day5749 doesn't have any tokens5750 in three days5751 only includes a valid token5752 .expired_today_and_not_notified5753 returns tokens that have expired today5754 .without_impersonation5755 returns only non-impersonation tokens5756 revoke scopes5757 .revoked5758 is expected to contain exactly #<PersonalAccessToken id: 96, user_id: 2004, name: "PAT 105", revoked: true, expires_at: "2020-12-05"...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>5759 .not_revoked5760 is expected to contain exactly #<PersonalAccessToken id: 97, user_id: 2005, name: "PAT 106", revoked: false, expires_at: "2020-12-05...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false> and #<PersonalAccessToken id: 98, user_id: 2006, name: "PAT 107", revoked: nil, expires_at: "2020-12-05",...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>5761 .simple_sorts5762 includes overridden keys5763 ordering by expires_at5764 .order_expires_at_asc5765 returns ordered list in asc order of expiry date5766 .order_expires_at_desc5767 returns ordered list in desc order of expiry date5768Ci::ExpirePipelineCacheService5769 #execute5770 invalidates Etag caching for project pipelines path5771 invalidates Etag caching for merge request pipelines if pipeline runs on any commit of that source branch5772 updates the cached status for a project5773 destroyed pipeline5774 clears the cache5775Gitlab::Ci::Build::Policy::Variables5776 #satisfied_by?5777 is satisfied by at least one matching statement5778 is satisfied by a matching pipeline variable5779 is not satisfied by an overridden empty variable5780 is satisfied by a truthy pipeline expression5781 is not satisfied by a falsy pipeline expression5782 is satisfied by a truthy expression using undefined variable5783 is not satisfied by a falsy expression using undefined variable5784 allows to evaluate regular CI variables5785 does not persist neither pipeline nor build5786 when a bridge job is used5787 is satisfied by a matching expression for a bridge job5788 when using project ci variables in environment scope5789 is satisfied by scoped variable match5790 is not satisfied when matching against overridden variable5791HashedStorage::ProjectRollbackWorker5792 #perform5793 skips when project no longer exists5794 skips when project is pending delete5795 delegates rollback to service class when have exclusive lease5796 skips when it cant acquire the exclusive lease5797Gitlab::LegacyGithubImport::WikiFormatter5798 #disk_path5799 appends .wiki to disk path5800 #full_path5801 appends .wiki to project path5802 #import_url5803 returns URL of the wiki repository5804Gitlab::Ci::Status::Build::Manual5805 #illustration5806 is expected to include :image, :size, :title, and :content5807 .matches?5808 when build is manual5809 is a correct match5810 when build is not manual5811 does not match5812AlertManagement::AlertAssignee5813 associations5814 is expected to belong to alert required:5815 is expected to belong to assignee required:5816 validations5817 is expected to validate that :alert cannot be empty/falsy5818 is expected to validate that :assignee cannot be empty/falsy5819 is expected to validate that :assignee is case-sensitively unique within the scope of :alert_id5820Gitlab::Ci::Status::Build::Pending5821 #illustration5822 is expected to include :image, :size, :title, and :content5823 .matches?5824 when build is pending5825 is a correct match5826 when build is not pending5827 does not match5828Ci::CancelUserPipelinesService5829 #execute5830 when user has running CI pipelines5831 cancels all running pipelines and related jobs5832 when an error ocurrs5833 raises a service level error5834Groups::DeployTokens::CreateService5835 behaves like a deploy token creation service5836 #execute5837 when the deploy token is valid5838 creates a new DeployToken5839 creates a new ProjectDeployToken5840 returns a DeployToken5841 when expires at date is not passed5842 sets Forever.date5843 when username is empty string5844 converts it to nil5845 when username is provided5846 keeps the provided username5847 when the deploy token is invalid5848 does not create a new DeployToken5849 does not create a new ProjectDeployToken5850Spam::SpamVerdictService5851 #execute5852 if all services return nil5853 renders ALLOW verdict5854 if only one service returns a verdict5855 and it is supported5856 renders that verdict5857 and it is unexpected5858 allows5859 if more than one service returns a verdict5860 and they are supported5861 renders the more restrictive verdict5862 and one is supported5863 renders the more restrictive verdict5864 and none are supported5865 renders the more restrictive verdict5866 #akismet_verdict5867 if Akismet is enabled5868 if Akismet considers it spam5869 if reCAPTCHA is enabled5870 returns conditionally allow verdict5871 if reCAPTCHA is not enabled5872 renders disallow verdict5873 if Akismet does not consider it spam5874 renders allow verdict5875 if Akismet is not enabled5876 renders allow verdict5877 #external_verdict5878 if a Spam Check endpoint enabled and set to a URL5879 if the endpoint is accessible5880 the result is a valid verdict5881 returns the verdict5882 the verdict is an unexpected string5883 returns the string5884 the JSON is malformed5885 returns allow5886 the verdict is an empty string5887 returns nil5888 the verdict is nil5889 returns nil5890 there is an error5891 returns nil5892 the HTTP status is not 2005893 returns nil5894 the confused API endpoint returns both an error and a verdict5895 renders the verdict5896 if the endpoint times out5897 returns nil5898 if a Spam Check endpoint is not set5899 returns nil5900 if Spam Check endpoint is not enabled5901 returns nil5902Gitlab::Auth::TwoFactorAuthVerifier5903 #two_factor_authentication_required?5904 when it is required on application level5905 returns true5906 when it is required on group level5907 returns true5908 when it is not required5909 returns false when not required on group level5910 #current_user_needs_to_setup_two_factor?5911 returns false when current_user is nil5912 returns false when current_user does not have temp email5913 returns false when current_user has 2fa disabled5914 returns true when user requires 2fa authentication5915 #two_factor_grace_period5916 returns grace period from settings if there is no period from groups5917 returns grace period from groups if there is no period from settings5918 returns minimal grace period if there is grace period from settings and from group5919 #two_factor_grace_period_expired?5920 returns true if the grace period has expired5921 returns false if the grace period has not expired5922 when otp_grace_period_started_at is nil5923 returns false5924ProtectedBranches::UpdateService5925 #execute5926 updates a protected branch5927 without admin_project permissions5928 raises error5929 when a policy restricts rule creation5930 prevents creation of the protected branch rule5931Gitlab::Git::AttributesAtRefParser5932 loads .gitattributes blob5933 handles missing blobs5934 #attributes5935 returns the attributes as a Hash5936Gitlab::LegacyGithubImport::LabelFormatter5937 #attributes5938 returns formatted attributes5939 #create!5940 when label does not exist5941 creates a new label5942 when label exists5943 does not create a new label5944MailScheduler::IssueDueWorker5945 #perform5946 sends emails for open issues due tomorrow in the project specified5947Gitlab::Checks::PushFileCountCheck5948 #validate!5949 initial creation5950 allows creation5951 old: "single-file", new: "edit-file", valid: true, message: nil5952 verifies5953 old: "single-file", new: "multiple-files", valid: false, message: "The repository can contain at most 2 file(s)."5954 verifies5955 old: "single-file", new: "no-files", valid: false, message: "The repository must contain at least 1 file."5956 verifies5957 old: "edit-file", new: "rename-and-edit-file", valid: true, message: nil5958 verifies5959Gitlab::CycleAnalytics::TestEventFetcher5960 behaves like default query config5961DEPRECATION WARNING: /builds/gitlab-org/gitlab/lib/gitlab/cycle_analytics/builds_event_helper.rb:10: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call5962/builds/gitlab-org/gitlab/lib/gitlab/cycle_analytics/base_event_fetcher.rb:13: warning: The called method `initialize' is defined here5963 (called from initialize at /builds/gitlab-org/gitlab/lib/gitlab/cycle_analytics/builds_event_helper.rb:10)5964 has the stage attribute5965 has the projection attributes5966 has a default order5967Releases::CreateEvidenceWorker5968 creates a new Evidence record5969 creates a new Evidence record with pipeline5970Clusters::Cleanup::AppWorker5971 #perform5972 behaves like cluster cleanup worker base specs5973 transitions to errored if sidekiq retries exhausted5974 when exceeded the execution limit5975 logs the error5976projects/pipeline_schedules/_pipeline_schedule5977 taking ownership of schedule5978 when non-owner is signed in5979 non-owner can take ownership of pipeline5980 when owner is signed in5981 owner cannot take ownership of pipeline5982Ci::ChangeVariableService5983 #execute5984 when creating a variable5985 persists a variable5986 when updating a variable5987 updates a variable5988 when the variable does not exist5989 raises a record not found error5990 when destroying a variable5991 destroys a variable5992 when the variable does not exist5993 raises a record not found error5994Approval5995 presence validation5996 is expected to validate that :merge_request_id cannot be empty/falsy5997 is expected to validate that :user_id cannot be empty/falsy5998 uniqueness validation5999 is expected to validate that :user_id is case-sensitively unique within the scope of :merge_request_id6000Editable6001 #edited?6002 is expected to eq false6003 is expected to eq true6004Gitlab::Jira::Dvcs6005 .encode_slash6006 replaces slash character6007 ignores path without slash6008 .decode_slash6009 replaces slash character6010 ignores path without slash6011 .encode_project_name6012 root group6013 returns project path6014 nested group6015 returns encoded project full path6016 .restore_full_path6017 project name is an encoded full path6018 returns decoded project path6019 project name is not an encoded full path6020 assumes project belongs to root namespace and returns full project path based on passed in namespace6021Metrics::Dashboard::GrafanaMetricEmbedService6022 .valid_params?6023 is expected to be truthy6024 missing embedded6025 is expected to be falsey6026 not embedded6027 is expected to be falsey6028 undefined grafana_url6029 is expected to be falsey6030 .from_cache6031 initializes an instance of GrafanaMetricEmbedService6032 with unknown users6033 when anonymous6034 current_user_id: nil6035 sets current_user as nil6036 current_user_id: ""6037 sets current_user as nil6038 when invalid6039 raise record not found error6040 #get_dashboard6041 without caching6042 behaves like raises error for users with insufficient permissions6043 when the user does not have sufficient access6044 behaves like misconfigured dashboard service response6045 returns an appropriate message and status code6046 when the user is anonymous6047 behaves like misconfigured dashboard service response6048 returns an appropriate message and status code6049 without a grafana integration6050 behaves like misconfigured dashboard service response6051 returns an appropriate message and status code6052 when grafana cannot be reached6053 behaves like misconfigured dashboard service response6054 returns an appropriate message and status code6055 when panelId is missing6056 behaves like misconfigured dashboard service response6057 returns an appropriate message and status code6058 when uid is missing6059 behaves like misconfigured dashboard service response6060 returns an appropriate message and status code6061 when the dashboard response contains misconfigured json6062 behaves like misconfigured dashboard service response6063 returns an appropriate message and status code6064 when the datasource response contains misconfigured json6065 behaves like misconfigured dashboard service response6066 returns an appropriate message and status code6067 when the embed was created successfully6068 when project is private and user is member6069 behaves like valid embedded dashboard service response6070 behaves like valid dashboard service response for schema6071 returns a json representation of the dashboard6072 when project is public and user is anonymous6073 behaves like valid embedded dashboard service response6074 behaves like valid dashboard service response for schema6075 returns a json representation of the dashboard6076 with caching6077 when value not present in cache6078 returns nil6079 when value present in cache6080 returns cached value6081Metrics::Dashboard::GrafanaUidParser6082 with a Grafana-defined uid6083 is expected to eq "XDaNK6amz"6084 with a user-defined uid6085 is expected to eq "pgbouncer-main"6086 when a uid is not present6087 is expected to equal nil6088 when the url starts with unrelated content6089 is expected to equal nil6090Metrics::Dashboard::DatasourceNameParser6091 is expected to eq "GitLab Omnibus"6092 when the panelId is missing from the url6093 is expected to equal nil6094 when the panel is not present6095 is expected to equal nil6096 when the dashboard panel does not have a datasource6097 is expected to equal nil6098Projects::Prometheus::Metrics::DestroyService6099 destroys metric6100 when metric has a prometheus alert associated6101 schedules a prometheus alert update6102TreeEntryPresenter6103 .web_url6104 is expected to eq "http://localhost/namespace1163/project1297/-/tree/b83d6e391c22777fca1ed3012fce84f633d7fed0/bar"6105 #web_path6106 is expected to eq "/namespace1164/project1298/-/tree/b83d6e391c22777fca1ed3012fce84f633d7fed0/bar"6107IrkerService6108 Associations6109 is expected to belong to project required:6110 is expected to have one service_hook6111 Validations6112 when service is active6113 is expected to validate that :recipients cannot be empty/falsy6114 when service is inactive6115 is expected not to validate that :recipients cannot be empty/falsy6116 Execute6117 sends valid JSON messages to an Irker listener6118BlobViewer::Changelog6119 #render_error6120 when there are no tags6121 returns :no_tags6122 when there are tags6123 returns nil6124BulkImports::Groups::Pipelines::GroupPipeline6125 #run6126 imports new group into destination group6127 pipeline parts6128 is expected to includes the BulkImports::Pipeline module6129 is expected to includes the BulkImports::Pipeline::Runner module6130 has extractors6131 has transformers6132 has loaders6133Serverless::Function6134 has a proper id6135 can decode an identifier6136FeatureFlagSummaryEntity6137 has summary information6138Gitlab::X509::Commit6139 #signature6140 returns the cached signature6141 on second call6142 unsigned commit6143 returns nil6144Resolvers::Projects::ServicesResolver6145 is expected to have nullable GraphQL type ServiceConnection6146 #resolve6147 when project does not have services6148 when user cannot access services6149 when anonymous user6150 behaves like cannot access project services6151 raises error6152 when user developer6153 behaves like cannot access project services6154 raises error6155 when user can read project services6156 behaves like no project services6157 returns empty collection6158 when project has services6159 when user cannot access services6160 when anonymous user6161 behaves like cannot access project services6162 raises error6163 when user developer6164 behaves like cannot access project services6165 raises error6166 when user can read project services6167 returns project services6168Users::KeysCountService6169 behaves like a counter caching service6170 #count6171 caches the count6172 #refresh_cache6173 refreshes the cache6174 #delete_cache6175 removes the cache6176 #uncached_count6177 does not cache the count6178 #count6179 returns the number of SSH keys as an Integer6180 #uncached_count6181 returns the number of SSH keys6182 #cache_key6183 returns the cache key6184Gitlab::GithubImport::Stage::ImportPullRequestsReviewsWorker6185 #import6186 does not import with the feature disabled6187 imports all the pull request reviews6188Banzai::Filter::WikiLinkFilter6189 doesn't rewrite absolute links6190 doesn't rewrite links to project uploads6191 when links point to the uploads folder6192 with an "a" html tag6193 rewrites links6194 with "img" html tag6195 inside an "a" html tag6196 rewrites links6197 outside an "a" html tag6198 rewrites links6199 with "video" html tag6200 rewrites links6201 with "audio" html tag6202 rewrites links6203 invalid links6204 doesn't rewrite invalid invalid_links like http://:80806205 doesn't rewrite invalid invalid_links like http://6206 doesn't rewrite invalid invalid_links like http://:8080/path6207StubFeatureFlags6208 #stub_feature_flags6209 subsquent run changes state6210 when checking global state6211 feature_actors: false, expected_result: false6212 is expected to eq false6213 is expected not to eq false6214 default_enabled does not impact feature state6215 is expected to eq false6216 is expected not to eq false6217 feature_actors: true, expected_result: true6218 is expected to eq true6219 is expected not to eq true6220 default_enabled does not impact feature state6221 is expected to eq true6222 is expected not to eq true6223 feature_actors: :A, expected_result: false6224 is expected to eq false6225 is expected not to eq false6226 default_enabled does not impact feature state6227 is expected to eq false6228 is expected not to eq false6229 feature_actors: [:A], expected_result: false6230 is expected to eq false6231 is expected not to eq false6232 default_enabled does not impact feature state6233 is expected to eq false6234 is expected not to eq false6235 feature_actors: [:A, :B], expected_result: false6236 is expected to eq false6237 is expected not to eq false6238 default_enabled does not impact feature state6239 is expected to eq false6240 is expected not to eq false6241 when checking scoped state6242 feature_actors: false, tested_actor: nil, expected_result: false6243 is expected to eq false6244 is expected not to eq false6245 default_enabled does not impact feature state6246 is expected to eq false6247 is expected not to eq false6248 feature_actors: true, tested_actor: nil, expected_result: true6249 is expected to eq true6250 is expected not to eq true6251 default_enabled does not impact feature state6252 is expected to eq true6253 is expected not to eq true6254 feature_actors: false, tested_actor: :A, expected_result: false6255 is expected to eq false6256 is expected not to eq false6257 default_enabled does not impact feature state6258 is expected to eq false6259 is expected not to eq false6260 feature_actors: true, tested_actor: :A, expected_result: true6261 is expected to eq true6262 is expected not to eq true6263 default_enabled does not impact feature state6264 is expected to eq true6265 is expected not to eq true6266 feature_actors: :A, tested_actor: nil, expected_result: false6267 is expected to eq false6268 is expected not to eq false6269 default_enabled does not impact feature state6270 is expected to eq false6271 is expected not to eq false6272 feature_actors: :A, tested_actor: :A, expected_result: true6273 is expected to eq true6274 is expected not to eq true6275 default_enabled does not impact feature state6276 is expected to eq true6277 is expected not to eq true6278 feature_actors: :A, tested_actor: :B, expected_result: false6279 is expected to eq false6280 is expected not to eq false6281 default_enabled does not impact feature state6282 is expected to eq false6283 is expected not to eq false6284 feature_actors: [:A], tested_actor: nil, expected_result: false6285 is expected to eq false6286 is expected not to eq false6287 default_enabled does not impact feature state6288 is expected to eq false6289 is expected not to eq false6290 feature_actors: [:A], tested_actor: :A, expected_result: true6291 is expected to eq true6292 is expected not to eq true6293 default_enabled does not impact feature state6294 is expected to eq true6295 is expected not to eq true6296 feature_actors: [:A], tested_actor: :B, expected_result: false6297 is expected to eq false6298 is expected not to eq false6299 default_enabled does not impact feature state6300 is expected to eq false6301 is expected not to eq false6302 feature_actors: [:A, :B], tested_actor: nil, expected_result: false6303 is expected to eq false6304 is expected not to eq false6305 default_enabled does not impact feature state6306 is expected to eq false6307 is expected not to eq false6308 feature_actors: [:A, :B], tested_actor: :A, expected_result: true6309 is expected to eq true6310 is expected not to eq true6311 default_enabled does not impact feature state6312 is expected to eq true6313 is expected not to eq true6314 feature_actors: [:A, :B], tested_actor: :B, expected_result: true6315 is expected to eq true6316 is expected not to eq true6317 default_enabled does not impact feature state6318 is expected to eq true6319 is expected not to eq true6320 type handling6321 raises error6322 feature_actors: "string"6323 is expected to raise ArgumentError with message matching /accepts only/6324 feature_actors: 16325 is expected to raise ArgumentError with message matching /accepts only/6326 feature_actors: 1.06327 is expected to raise ArgumentError with message matching /accepts only/6328 feature_actors: #<OpenStruct>6329 is expected to raise ArgumentError with message matching /accepts only/6330 does not raise error6331 feature_actors: true6332 is expected not to raise Exception6333 feature_actors: false6334 is expected not to raise Exception6335 feature_actors: nil6336 is expected not to raise Exception6337 feature_actors: #<StubFeatureFlags::StubFeatureGate:0x0000557b4f0ba638 @flipper_id=100>6338 is expected not to raise Exception6339 feature_actors: #<User id: @>6340 is expected not to raise Exception6341 stub timing6342 let_it_be variable6343 is expected to eq true6344 before_all variable6345 is expected to eq true6346 before(:all) variable6347 is expected to eq true6348 with stub_feature_flags meta6349 as true6350 is expected to eq true6351 as false6352 is expected to eq false6353Gitlab::Ci::Config::Entry::Rules::Rule6354 .new6355 with a when: value but no clauses6356 is expected to be valid6357 with an allow_failure: value but no clauses6358 is expected to be valid6359 when specifying an if: clause6360 is expected to be valid6361 #when6362 is expected to eq "manual"6363 #allow_failure6364 is expected to eq true6365 using a list of multiple expressions6366 is expected not to be valid6367 reports an error about invalid format6368 when specifying an invalid if: clause expression6369 is expected not to be valid6370 reports an error about invalid statement6371 when specifying an if: clause expression with an invalid token6372 is expected not to be valid6373 reports an error about invalid statement6374 when using invalid regex in an if: clause6375 reports an error about invalid expression6376 when using an if: clause with lookahead regex character "?"6377 when allow_unsafe_ruby_regexp is disabled6378 is expected not to be valid6379 reports an error about invalid expression syntax6380 when using a changes: clause6381 is expected to be valid6382 when using a string as an invalid changes: clause6383 is expected not to be valid6384 reports an error about invalid policy6385 when using a list as an invalid changes: clause6386 is expected not to be valid6387 returns errors6388 when using a long list as an invalid changes: clause6389 is expected not to be valid6390 returns errors6391 when using a exists: clause6392 is expected to be valid6393 when using a string as an invalid exists: clause6394 is expected not to be valid6395 reports an error about invalid policy6396 when using a list as an invalid exists: clause6397 is expected not to be valid6398 returns errors6399 when using a long list as an invalid exists: clause6400 is expected not to be valid6401 returns errors6402 specifying a delayed job6403 is expected to be valid6404 sets attributes for the job delay6405 without a when: key6406 is expected not to be valid6407 returns an error about the disallowed key6408 without a start_in: key6409 is expected not to be valid6410 returns an error about tstart_in being blank6411 when specifying unknown policy6412 is expected not to be valid6413 returns error about invalid key6414 when clause is empty6415 is expected not to be valid6416 is not a valid configuration6417 when policy strategy does not match6418 is expected not to be valid6419 returns information about errors6420 when: validation6421 with an invalid boolean when:6422 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule6423 is expected not to be valid6424 returns an error about invalid when:6425 when composed6426 is expected not to be valid6427 returns an error about invalid when:6428 with an invalid string when:6429 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule6430 is expected not to be valid6431 returns an error about invalid when:6432 when composed6433 is expected not to be valid6434 returns an error about invalid when:6435 with a string passed in metadata but not allowed in the class6436 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule6437 is expected not to be valid6438 returns an error about invalid when:6439 when composed6440 is expected not to be valid6441 returns an error about invalid when:6442 with a string allowed in the class but not passed in metadata6443 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule6444 is expected not to be valid6445 returns an error about invalid when:6446 when composed6447 is expected not to be valid6448 returns an error about invalid when:6449 allow_failure: validation6450 with an invalid string allow_failure:6451 is expected to be a kind of Gitlab::Ci::Config::Entry::Rules::Rule6452 is expected not to be valid6453 returns an error about invalid allow_failure:6454 when composed6455 is expected not to be valid6456 returns an error about invalid allow_failure:6457 #value6458 when specifying an if: clause6459 stores the expression as "if"6460 when using a changes: clause6461 is expected to eq {:changes=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}6462 when default value has been provided6463 does not set a default value6464 does not add to provided configuration6465 when using a exists: clause6466 is expected to eq {:exists=>["app/", "lib/", "spec/", "other/*", "paths/**/*.rb"]}6467 .default6468 does not have default value6469Gitlab::NoteableMetadata6470 returns an empty Hash if an empty collection is provided6471 raises an error when given a collection with no limit6472 snippets6473 aggregates stats on snippets6474Import::GithubController routing6475 to #personal_access_token6476 behaves like importer routing6477 to #create6478 to #new6479 to #status6480 to #callback6481 to #jobs6482 to #realtime_changes6483Import::GiteaController routing6484 to #personal_access_token6485 behaves like importer routing6486 to #create6487 to #new6488 to #status6489 to #callback6490 to #jobs6491 to #realtime_changes6492Import::GitlabController routing6493 behaves like importer routing6494 to #create6495 to #new6496 to #status6497 to #callback6498 to #jobs6499 to #realtime_changes6500Import::BitbucketController routing6501 behaves like importer routing6502 to #create6503 to #new6504 to #status6505 to #callback6506 to #jobs6507 to #realtime_changes6508Import::BitbucketServerController routing6509 behaves like importer routing6510 to #create6511 to #new6512 to #status6513 to #callback6514 to #jobs6515 to #realtime_changes6516Import::FogbugzController routing6517 to #callback6518 to #new_user_map6519 to #create_user_map6520 behaves like importer routing6521 to #create6522 to #new6523 to #status6524 to #callback6525 to #jobs6526 to #realtime_changes6527Import::GitlabProjectsController routing6528 to #create6529 to #new6530Import::PhabricatorController routing6531 to #create6532 to #new6533Gitlab::ExclusiveLeaseHelpers6534 #in_lock6535 when unique key is not set6536 raises an error6537 when the lease is not obtained yet6538 calls the given block6539 calls the given block continuously6540 cancels the exclusive lease after the block6541 when the lease is obtained already6542 retries to obtain a lease and raises an error6543 when ttl is specified6544 receives the specified argument6545 when retry count is specified6546 retries for the specified times6547 when lease is granted after retry6548 yields block with true6549 when we specify no retries6550 never sleeps6551 when sleep second is specified6552 receives the specified argument6553 when sleep second is specified as a lambda6554 receives the specified argument6555IssuableSidebarExtrasEntity6556 have subscribe attributes6557Gitlab::AlertManagement::AlertStatusCounts6558 #execute6559 for an unauthorized user6560 returns zero for all statuses6561 for an authorized user6562 returns the correct counts for each status6563 when filtering params are included6564 returns the correct counts for each status6565 when search param is included6566 returns the correct countss6567Gitlab::SidekiqMiddleware6568 .server_configurator6569 all optional middlewares off6570 behaves like a server middleware chain6571 passes through the right server middlewares6572 behaves like a server middleware chain for mailer6573 behaves like a server middleware chain6574DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activejob-6.0.3.3/lib/active_job/execution.rb:40: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call6575/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/actionmailer-6.0.3.3/lib/action_mailer/mail_delivery_job.rb:16: warning: The called method `perform' is defined here6576 (called from perform at /builds/gitlab-org/gitlab/lib/gitlab/sidekiq_middleware/duplicate_jobs/strategies/until_executing.rb:16)6577 passes through the right server middlewares6578 all optional middlewares on6579 behaves like a server middleware chain6580 passes through the right server middlewares6581 behaves like a server middleware chain for mailer6582 behaves like a server middleware chain6583 passes through the right server middlewares6584 server metrics6585 records correct Gitaly duration6586 .client_configurator6587 handles string worker_class values6588 behaves like a client middleware chain6589 invokes the chain6590 handles string worker_class values6591 behaves like a client middleware chain6592 invokes the chain6593BulkImports::Common::Extractors::GraphqlExtractor6594 #extract6595 returns an enumerator with fetched results6596 query variables6597 when variables are present6598 builds graphql query variables for import entity6599 when no variables are present6600 returns empty hash6601 when variables are empty hash6602 makes graphql request with empty hash6603Gitlab::Analytics::CycleAnalytics::Median6604 retruns nil when no results6605 returns median duration seconds as float6606Gitlab::EncodingHelper6607 #encode!6608 nil6609 empty string6610 invalid utf-8 encoded string6611 frozen non-ascii string6612 leaves ascii only string as is6613 leaves valid utf8 string as is6614 removes invalid bytes from ASCII-8bit encoded multibyte string. This can occur when a git diff match line truncates in the middle of a multibyte character. This occurs after the second word in this example. The test string is as short as we can get while still triggering the error condition when not looking at `detect[:confidence]`.6615 string with detected encoding that is not supported in Ruby6616 leaves binary string as is6617 with corrupted diff6618 does not corrupt data but remove invalid characters6619 #encode_utf86620 nil6621 empty string6622 invalid utf-8 encoded string6623 encodes valid utf8 encoded string to utf86624 encodes valid ASCII-8BIT encoded string to utf86625 encodes valid ISO-8859-1 encoded string to utf86626 Equifax branch name6627 returns empty string on conversion errors6628 replaces invalid and undefined chars with the replace argument6629 with strings that can be forcefully encoded into utf86630 doesn't use CharlockHolmes if the encoding can be forced into utf_86631 #clean6632 leaves ascii only string as is6633 leaves valid utf8 string as is6634 removes invalid bytes from ASCII-8bit encoded multibyte string.6635 handles UTF-16BE encoded strings6636 encode_binary6637 encodes nil to ""6638 encodes "" to ""6639 encodes " " to " "6640 encodes "a1" to "a1"6641 encodes "编码" to "\xE7\xBC\x96\xE7\xA0\x81"6642 #binary_io6643 does not mutate the original string encoding6644 returns a copy of the IO with the correct encoding6645Gitlab::Ci::Ansi2json::Style6646 #set?6647 when fg color is set6648 is expected to be truthy6649 when bg color is set6650 is expected to be truthy6651 when mask is set6652 is expected to be truthy6653 nothing is set6654 is expected to be falsey6655 #reset!6656 set the style params to default6657 update formats to mimic terminals6658 when fg color present6659 when mask is set to bold6660 changes the fg color to a lighter version6661 when mask set to another format6662 does not change the fg color6663 when mask is not set6664 does not change the fg color6665 #update6666 initial_state: [], ansi_commands: ["0"], result: "", description: "does not set any style"6667 change the style6668 initial_state: [], ansi_commands: ["1"], result: "term-bold", description: "enables format bold"6669 change the style6670 initial_state: [], ansi_commands: ["3"], result: "term-italic", description: "enables format italic"6671 change the style6672 initial_state: [], ansi_commands: ["4"], result: "term-underline", description: "enables format underline"6673 change the style6674 initial_state: [], ansi_commands: ["8"], result: "term-conceal", description: "enables format conceal"6675 change the style6676 initial_state: [], ansi_commands: ["9"], result: "term-cross", description: "enables format cross"6677 change the style6678 initial_state: ["1"], ansi_commands: ["21"], result: "", description: "disables format bold"6679 change the style6680 initial_state: ["1", "3"], ansi_commands: ["21"], result: "term-italic", description: "disables format bold and leaves italic"6681 change the style6682 initial_state: ["1"], ansi_commands: ["22"], result: "", description: "disables format bold using command 22"6683 change the style6684 initial_state: ["1", "3"], ansi_commands: ["22"], result: "term-italic", description: "disables format bold and leaves italic using command 22"6685 change the style6686 initial_state: ["3"], ansi_commands: ["23"], result: "", description: "disables format italic"6687 change the style6688 initial_state: ["1", "3"], ansi_commands: ["23"], result: "term-bold", description: "disables format italic and leaves bold"6689 change the style6690 initial_state: ["4"], ansi_commands: ["24"], result: "", description: "disables format underline"6691 change the style6692 initial_state: ["1", "4"], ansi_commands: ["24"], result: "term-bold", description: "disables format underline and leaves bold"6693 change the style6694 initial_state: ["8"], ansi_commands: ["28"], result: "", description: "disables format conceal"6695 change the style6696 initial_state: ["1", "8"], ansi_commands: ["28"], result: "term-bold", description: "disables format conceal and leaves bold"6697 change the style6698 initial_state: ["9"], ansi_commands: ["29"], result: "", description: "disables format cross"6699 change the style6700 initial_state: ["1", "9"], ansi_commands: ["29"], result: "term-bold", description: "disables format cross and leaves bold"6701 change the style6702 initial_state: [], ansi_commands: ["30"], result: "term-fg-black", description: "sets fg color black"6703 change the style6704 initial_state: [], ansi_commands: ["31"], result: "term-fg-red", description: "sets fg color red"6705 change the style6706 initial_state: [], ansi_commands: ["32"], result: "term-fg-green", description: "sets fg color green"6707 change the style6708 initial_state: [], ansi_commands: ["33"], result: "term-fg-yellow", description: "sets fg color yellow"6709 change the style6710 initial_state: [], ansi_commands: ["34"], result: "term-fg-blue", description: "sets fg color blue"6711 change the style6712 initial_state: [], ansi_commands: ["35"], result: "term-fg-magenta", description: "sets fg color magenta"6713 change the style6714 initial_state: [], ansi_commands: ["36"], result: "term-fg-cyan", description: "sets fg color cyan"6715 change the style6716 initial_state: [], ansi_commands: ["37"], result: "term-fg-white", description: "sets fg color white"6717 change the style6718 initial_state: [], ansi_commands: ["38", "5", "1"], result: "xterm-fg-1", description: "sets xterm fg color 1"6719 change the style6720 initial_state: [], ansi_commands: ["38", "5", "2"], result: "xterm-fg-2", description: "sets xterm fg color 2"6721 change the style6722 initial_state: [], ansi_commands: ["38", "1"], result: "term-bold", description: "ignores 38 command if not followed by 5 and sets format bold"6723 change the style6724 initial_state: [], ansi_commands: ["40"], result: "term-bg-black", description: "sets bg color black"6725 change the style6726 initial_state: [], ansi_commands: ["41"], result: "term-bg-red", description: "sets bg color red"6727 change the style6728 initial_state: [], ansi_commands: ["42"], result: "term-bg-green", description: "sets bg color green"6729 change the style6730 initial_state: [], ansi_commands: ["43"], result: "term-bg-yellow", description: "sets bg color yellow"6731 change the style6732 initial_state: [], ansi_commands: ["44"], result: "term-bg-blue", description: "sets bg color blue"6733 change the style6734 initial_state: [], ansi_commands: ["45"], result: "term-bg-magenta", description: "sets bg color magenta"6735 change the style6736 initial_state: [], ansi_commands: ["46"], result: "term-bg-cyan", description: "sets bg color cyan"6737 change the style6738 initial_state: [], ansi_commands: ["47"], result: "term-bg-white", description: "sets bg color white"6739 change the style6740 initial_state: [], ansi_commands: ["48", "5", "1"], result: "xterm-bg-1", description: "sets xterm bg color 1"6741 change the style6742 initial_state: [], ansi_commands: ["48", "5", "2"], result: "xterm-bg-2", description: "sets xterm bg color 2"6743 change the style6744 initial_state: [], ansi_commands: ["48", "1"], result: "term-bold", description: "ignores 48 command if not followed by 5 and sets format bold"6745 change the style6746 initial_state: [], ansi_commands: ["90"], result: "term-fg-l-black", description: "sets fg color light black"6747 change the style6748 initial_state: [], ansi_commands: ["91"], result: "term-fg-l-red", description: "sets fg color light red"6749 change the style6750 initial_state: [], ansi_commands: ["92"], result: "term-fg-l-green", description: "sets fg color light green"6751 change the style6752 initial_state: [], ansi_commands: ["93"], result: "term-fg-l-yellow", description: "sets fg color light yellow"6753 change the style6754 initial_state: [], ansi_commands: ["94"], result: "term-fg-l-blue", description: "sets fg color light blue"6755 change the style6756 initial_state: [], ansi_commands: ["95"], result: "term-fg-l-magenta", description: "sets fg color light magenta"6757 change the style6758 initial_state: [], ansi_commands: ["96"], result: "term-fg-l-cyan", description: "sets fg color light cyan"6759 change the style6760 initial_state: [], ansi_commands: ["97"], result: "term-fg-l-white", description: "sets fg color light white"6761 change the style6762 initial_state: [], ansi_commands: ["100"], result: "term-bg-l-black", description: "sets bg color light black"6763 change the style6764 initial_state: [], ansi_commands: ["101"], result: "term-bg-l-red", description: "sets bg color light red"6765 change the style6766 initial_state: [], ansi_commands: ["102"], result: "term-bg-l-green", description: "sets bg color light green"6767 change the style6768 initial_state: [], ansi_commands: ["103"], result: "term-bg-l-yellow", description: "sets bg color light yellow"6769 change the style6770 initial_state: [], ansi_commands: ["104"], result: "term-bg-l-blue", description: "sets bg color light blue"6771 change the style6772 initial_state: [], ansi_commands: ["105"], result: "term-bg-l-magenta", description: "sets bg color light magenta"6773 change the style6774 initial_state: [], ansi_commands: ["106"], result: "term-bg-l-cyan", description: "sets bg color light cyan"6775 change the style6776 initial_state: [], ansi_commands: ["107"], result: "term-bg-l-white", description: "sets bg color light white"6777 change the style6778 initial_state: ["1"], ansi_commands: [], result: "", description: "resets style from format bold"6779 change the style6780 initial_state: ["1"], ansi_commands: ["0"], result: "", description: "resets style from format bold"6781 change the style6782 initial_state: ["1", "3"], ansi_commands: ["0"], result: "", description: "resets style from format bold and italic"6783 change the style6784 initial_state: ["1", "3", "term-fg-l-red", "term-bg-yellow"], ansi_commands: ["0"], result: "", description: "resets all formats and colors"6785 change the style6786 initial_state: ["31", "42"], ansi_commands: ["39"], result: "term-bg-green", description: "set foreground from red to default leaving background unchanged"6787 change the style6788 initial_state: ["31", "42"], ansi_commands: ["49"], result: "term-fg-red", description: "set background from green to default leaving foreground unchanged"6789 change the style6790 initial_state: [], ansi_commands: ["1", "30", "42", "3"], result: "term-fg-l-black term-bg-green term-bold term-italic", description: "adds fg color, bg color and formats from no style"6791 change the style6792 initial_state: ["3", "31"], ansi_commands: ["23", "1", "43"], result: "term-fg-l-red term-bg-yellow term-bold", description: "replaces format italic with bold and adds a yellow background"6793 change the style6794Metrics::Dashboard::PruneOldAnnotationsWorker6795 #perform6796 removes all annotations older than cut off6797 batch to be deleted is bigger than upper limit6798 schedules second job to clear remaining records6799Gitlab::JiraImport::Stage::ImportIssuesWorker6800 modules6801 behaves like include import workers modules6802 is expected to includes the ApplicationWorker module6803 is expected to includes the Gitlab::JiraImport::QueueOptions module6804 is expected to includes the Gitlab::JiraImport::ImportWorker module6805 #perform6806 when import did not start6807 behaves like cannot do Jira import6808 does not advance to next stage6809 behaves like does not advance to next stage6810 does not advance to next stage6811 when import started6812 when start_at is nil6813 behaves like advance to next stage6814 advances to attachments stage6815 when start_at is zero6816 behaves like advance to next stage6817 advances to issues stage6818 when start_at is greater than zero6819 behaves like advance to next stage6820 advances to issues stage6821 when start_at is below zero6822 behaves like advance to next stage6823 advances to attachments stage6824Gitlab::JsonCache6825 #active?6826 when backend respond to active? method6827 delegates to the underlying cache implementation6828 when backend does not respond to active? method6829 returns true6830 #cache_key6831 when namespace is not defined6832 when cache_key_with_version is true6833 expands out the key with GitLab, and Rails versions6834 when cache_key_with_version is false6835 returns the key6836 when namespace is nil6837 when cache_key_with_version is true6838 expands out the key with GitLab, and Rails versions6839 when cache_key_with_version is false6840 returns the key6841 when namespace is set6842 when cache_key_with_version is true6843 expands out the key with namespace and Rails version6844 when cache_key_with_version is false6845 expands out the key with namespace6846 #expire6847 expires the given key from the cache6848 #read6849 reads the given key from the cache6850 returns the cached value when there is data in the cache with the given key6851 returns nil when there is no data in the cache with the given key6852 when the cached value is true6853 parses the cached value6854 when the cached value is false6855 parses the cached value6856 when the cached value is a JSON true value6857 parses the cached value6858 when the cached value is a JSON false value6859 parses the cached value6860 when the cached value is a hash6861 parses the cached value6862 returns nil when klass is nil6863 gracefully handles bad cached entry6864 gracefully handles an empty hash6865 gracefully handles unknown attributes6866 gracefully handles excluded fields from attributes during serialization6867 when the cached value is an array6868 parses the cached value6869 returns an empty array when klass is nil6870 gracefully handles bad cached entry6871 gracefully handles an empty array6872 gracefully handles unknown attributes6873 #write6874 writes value to the cache with the given key6875 writes a string containing a JSON representation of the value to the cache6876 passes options the underlying cache implementation6877 passes options the underlying cache implementation when options is empty6878 passes options the underlying cache implementation when options is nil6879 #fetch6880 requires a block6881 passes options the underlying cache implementation6882 when the given key does not exist in the cache6883 when the result of the block is truthy6884 returns the result of the block6885 caches the value6886 when the result of the block is false6887 returns the result of the block6888 caches the value6889 when the result of the block is nil6890 returns the result of the block6891 caches the value6892 when the given key exists in the cache6893 when the cached value is a hash6894 parses the cached value6895 decodes enums correctly6896 returns the result of the block when 'as' option is nil6897 returns the result of the block when 'as' option is missing6898 when the cached value is an instance of ActiveRecord::Base6899 returns a persisted record when id is set6900 returns a new record when id is nil6901 returns a new record when id is missing6902 gracefully handles bad cached entry6903 gracefully handles an empty hash6904 gracefully handles unknown attributes6905 gracefully handles excluded fields from attributes during serialization6906 when the cached value is a array6907 parses the cached value6908 returns an empty array when 'as' option is nil6909 returns an empty array when 'as' option is not informed6910 when the cached value is true6911 returns the cached value6912 does not execute the block6913 does not write to the cache6914 when the cached value is false6915 returns the cached value6916 does not execute the block6917 does not write to the cache6918 when the cached value is nil6919 returns the result of the block6920 writes the result of the block to the cache6921Gitlab::Ci::Runner::Backoff6922 #duration6923 returns backoff duration from start6924 returns an integer value6925 returns the smallest number greater than or equal to duration6926 #slot6927 started: 0, slot: 06928 falls into an appropaite backoff slot6929 started: 0.1, slot: 06930 falls into an appropaite backoff slot6931 started: 0.9, slot: 06932 falls into an appropaite backoff slot6933 started: 1, slot: 06934 falls into an appropaite backoff slot6935 started: 1.1, slot: 06936 falls into an appropaite backoff slot6937 started: 1.9, slot: 06938 falls into an appropaite backoff slot6939 started: 2, slot: 06940 falls into an appropaite backoff slot6941 started: 2.9, slot: 06942 falls into an appropaite backoff slot6943 started: 3, slot: 06944 falls into an appropaite backoff slot6945 started: 4, slot: 16946 falls into an appropaite backoff slot6947 started: 5, slot: 16948 falls into an appropaite backoff slot6949 started: 6, slot: 16950 falls into an appropaite backoff slot6951 started: 7, slot: 16952 falls into an appropaite backoff slot6953 started: 8, slot: 26954 falls into an appropaite backoff slot6955 started: 9, slot: 26956 falls into an appropaite backoff slot6957 started: 9.9, slot: 26958 falls into an appropaite backoff slot6959 started: 10, slot: 26960 falls into an appropaite backoff slot6961 started: 15, slot: 26962 falls into an appropaite backoff slot6963 started: 16, slot: 36964 falls into an appropaite backoff slot6965 started: 31, slot: 36966 falls into an appropaite backoff slot6967 started: 32, slot: 46968 falls into an appropaite backoff slot6969 started: 63, slot: 46970 falls into an appropaite backoff slot6971 started: 64, slot: 56972 falls into an appropaite backoff slot6973 started: 127, slot: 56974 falls into an appropaite backoff slot6975 started: 128, slot: 66976 falls into an appropaite backoff slot6977 started: 250, slot: 66978 falls into an appropaite backoff slot6979 started: 310, slot: 76980 falls into an appropaite backoff slot6981 started: 520, slot: 86982 falls into an appropaite backoff slot6983 started: 999, slot: 86984 falls into an appropaite backoff slot6985 #to_seconds6986 started: 0, backoff: 16987 calculates backoff based on an appropriate slot6988 started: 0.1, backoff: 16989 calculates backoff based on an appropriate slot6990 started: 0.9, backoff: 16991 calculates backoff based on an appropriate slot6992 started: 1, backoff: 16993 calculates backoff based on an appropriate slot6994 started: 1.1, backoff: 16995 calculates backoff based on an appropriate slot6996 started: 1.9, backoff: 16997 calculates backoff based on an appropriate slot6998 started: 2, backoff: 16999 calculates backoff based on an appropriate slot7000 started: 3, backoff: 17001 calculates backoff based on an appropriate slot7002 started: 4, backoff: 27003 calculates backoff based on an appropriate slot7004 started: 5, backoff: 27005 calculates backoff based on an appropriate slot7006 started: 6, backoff: 27007 calculates backoff based on an appropriate slot7008 started: 6.5, backoff: 27009 calculates backoff based on an appropriate slot7010 started: 7, backoff: 27011 calculates backoff based on an appropriate slot7012 started: 8, backoff: 47013 calculates backoff based on an appropriate slot7014 started: 9, backoff: 47015 calculates backoff based on an appropriate slot7016 started: 9.9, backoff: 47017 calculates backoff based on an appropriate slot7018 started: 10, backoff: 47019 calculates backoff based on an appropriate slot7020 started: 15, backoff: 47021 calculates backoff based on an appropriate slot7022 started: 16, backoff: 87023 calculates backoff based on an appropriate slot7024 started: 31, backoff: 87025 calculates backoff based on an appropriate slot7026 started: 32, backoff: 167027 calculates backoff based on an appropriate slot7028 started: 63, backoff: 167029 calculates backoff based on an appropriate slot7030 started: 64, backoff: 327031 calculates backoff based on an appropriate slot7032 started: 127, backoff: 327033 calculates backoff based on an appropriate slot7034 started: 128, backoff: 647035 calculates backoff based on an appropriate slot7036 started: 250, backoff: 647037 calculates backoff based on an appropriate slot7038 started: 310, backoff: 647039 calculates backoff based on an appropriate slot7040 started: 520, backoff: 647041 calculates backoff based on an appropriate slot7042 started: 999, backoff: 647043 calculates backoff based on an appropriate slot7044Integration7045 .with_custom_integration_for7046 returns projects with custom integrations7047 .without_integration7048 returns projects without integration7049PodLogs::KubernetesService7050 #get_raw_pods7051 returns success with passthrough k8s response7052 #pod_logs7053 returns the logs7054 handles Not Found errors from k8s7055 handles HTTP errors from k8s7056 #encode_logs_to_utf87057 converts logs to utf-87058 returns error if output of encoding helper is blank7059 returns error if output of encoding helper is nil7060 returns error if output of encoding helper is not UTF-87061 when logs are nil7062 returns nil7063 when logs are blank7064 returns blank string7065 when logs are already in utf-87066 does not fail7067 #split_logs7068 returns the logs7069 #check_pod_name7070 returns success if pod_name was specified7071 returns success if pod_name was not specified but there are pods7072 returns error if pod_name was not specified and there are no pods7073 returns error if pod_name was specified but does not exist7074 returns error if pod_name is too long7075 returns error if pod_name is in invalid format7076 #check_container_name7077 returns success if container_name was specified7078 returns success if container_name was not specified and there are containers7079 returns error if container_name was not specified and there are no containers on the pod7080 returns error if container_name was specified but does not exist7081 returns error if container_name is too long7082 returns error if container_name is in invalid format7083NamespaceSettings::UpdateService7084 #execute7085 group has no namespace_settings7086 builds out a new namespace_settings record7087 group has a namespace_settings7088 doesn't create a new namespace_setting record7089 updating :default_branch_name7090 changes settings7091AnalyticsMergeRequestSerializer7092 when there is a single object provided7093 contains important elements of the merge request7094shared/milestones/_issuables.html.haml7095 shows the issuables count if show_counter is true7096 does not show the issuables count if show_counter is false7097 a high issuables count7098 shows a delimited number if show_counter is true7099Gitlab::Graphql::Representation::SubmoduleTreeEntry7100 .decorate7101 returns array of SubmoduleTreeEntry7102Gitlab::GithubImport::Importer::LfsObjectImporter7103 #execute7104 calls the LfsDownloadService with the lfs object attributes7105Gitlab::Ci::Reports::TestCase7106 #initialize7107 when required params are given7108 initializes an instance7109 when suite_name is missing7110 behaves like param is missing7111 raises an error7112 when classname is missing7113 behaves like param is missing7114 raises an error7115 when name is missing7116 behaves like param is missing7117 raises an error7118 when attachment is present7119 initializes the attachment if present7120 #has_attachment?7121 #attachment_url7122 when attachment is missing7123 #has_attachment?7124 #attachment_url7125 #set_recent_failures7126 sets the recent_failures information7127IconsHelper7128 icon7129 returns aria-hidden by default7130 does not return aria-hidden if aria-label is set7131 sprite_icon_path7132 returns relative path7133 only calls image_path once when called multiple times7134 when an asset_host is set in the config it will return an absolute local URL7135 returns an absolute URL on that asset host7136 sprite_icon7137 returns svg icon html with DEFAULT_ICON_SIZE7138 returns svg icon html without size class7139 returns svg icon html + size classes7140 returns svg icon html + size classes + additional class7141 non existing icon7142 raises in development mode7143 raises in test mode7144 does not raise in production mode7145 audit icon7146 returns right icon name for standard auth7147 returns right icon name for two-factor auth7148 returns right icon name for google_oauth2 auth7149 file_type_icon_class7150 returns folder-o class7151 returns share class7152 returns document class with .pdf7153 returns doc-image class with .jpg7154 returns doc-image class with .JPG7155 returns doc-image class with .png7156 returns doc-image class with .apng7157 returns doc-image class with .webp7158 returns doc-compressed class with .tar7159 returns doc-compressed class with .TAR7160 returns doc-compressed class with .tar.gz7161 returns volume-up class with .mp37162 returns volume-up class with .MP37163 returns volume-up class with .m4a7164 returns volume-up class with .wav7165 returns live-preview class with .avi7166 returns live-preview class with .AVI7167 returns live-preview class with .mp47168 returns doc-text class with .odt7169 returns doc-text class with .doc7170 returns doc-text class with .DOC7171 returns doc-text class with .docx7172 returns document class with .xls7173 returns document class with .XLS7174 returns document class with .xlsx7175 returns doc-chart class with .odp7176 returns doc-chart class with .ppt7177 returns doc-chart class with .PPT7178 returns doc-chart class with .pptx7179 returns doc-text class with .unknow7180 returns doc-text class with no extension7181 #external_snippet_icon7182 returns external snippet icon7183 loading_icon7184 returns span with gl-spinner class and default configuration7185 when css_class is provided7186 appends css_class to gl-spinner element7187 when container is true7188 creates a container that has the gl-spinner-container class selector7189Ci::Artifactable7190 artifact properties are included7191 when enum is defined7192 is expected to define :file_format as an enum, backed by an integer, using a suffix of :file_format, with possible values ‹{raw: 1, zip: 2, gzip: 3}›7193 when const is defined7194 is expected to be const defined :FILE_FORMAT_ADAPTERS7195 #each_blob7196 when file format is gzip7197 when gzip file contains one file7198 iterates blob once7199 when gzip file contains three files7200 iterates blob three times7201 when file format is raw7202 iterates blob once7203 when there are no adapters for the file format7204 raises an error7205Gitlab::Json7206 .parse7207 legacy_mode is disabled by default7208 parses an object7209 parses an array7210 parses a string7211 parses a true bool7212 parses a false bool7213 legacy_mode is enabled7214 parses an object7215 parses an array7216 raises an error on a string7217 raises an error on a true bool7218 raises an error on a false bool7219 feature flag is disabled7220 parses an object7221 parses an array7222 parses a string7223 parses a true bool7224 parses a false bool7225 .parse!7226 legacy_mode is disabled by default7227 parses an object7228 parses an array7229 parses a string7230 parses a true bool7231 parses a false bool7232 legacy_mode is enabled7233 parses an object7234 parses an array7235 raises an error on a string7236 raises an error on a true bool7237 raises an error on a false bool7238 feature flag is disabled7239 parses an object7240 parses an array7241 parses a string7242 parses a true bool7243 parses a false bool7244 .dump7245 dumps an object7246 dumps an array7247 dumps a string7248 dumps a true bool7249 dumps a false bool7250 .generate7251 generates JSON7252 allows you to customise the output7253 .pretty_generate7254 generates pretty JSON7255 allows you to customise the output7256 the feature table is missing7257 skips legacy mode handling7258 the database is missing7259 still parses json7260 still generates json7261 Gitlab::Json::GrapeFormatter7262 grape_gitlab_json flag is enabled7263 generates JSON7264 uses Gitlab::Json7265 grape_gitlab_json flag is disabled7266 generates JSON7267 uses Grape::Formatter::Json7268 Gitlab::Json::LimitedEncoder7269 when object size is acceptable7270 returns json string7271 when object is too big7272 raises LimitExceeded error7273 when json_limited_encoder is disabled7274 does not raise an error7275DependencyProxy::PullManifestService7276 remote request is successful7277 is expected to eq :success7278 is expected to eq "{\"foo\":\"bar\"}"7279 remote request is not found7280 is expected to eq :error7281 is expected to eq 4047282 is expected to eq "Not found"7283 net timeout exception7284 is expected to eq :error7285 is expected to eq 5997286 is expected to eq "execution expired"7287ObjectStorage::Config7288 #load_provider7289 with AWS7290 registers AWS as a provider7291 with Google7292 registers Google as a provider7293 with Azure7294 registers AzureRM as a provider7295 #credentials7296 is expected to eq {:aws_access_key_id=>"AWS_ACCESS_KEY_ID", :aws_secret_access_key=>"AWS_SECRET_ACCESS_KEY", :provider=>"AWS", :region=>"us-east-1"}7297 #storage_options7298 is expected to eq {:server_side_encryption=>"AES256", :server_side_encryption_kms_key_id=>"arn:aws:12345"}7299 #enabled?7300 is expected to eq true7301 #bucket7302 is expected to eq "test-bucket"7303 #use_iam_profile7304 is expected to equal false7305 #use_path_style7306 is expected to equal false7307 with unconsolidated settings7308 consolidated_settings? returns false7309 is expected to equal false7310 with consolidated settings7311 consolidated_settings? returns true7312 is expected to equal true7313 with IAM profile configured7314 value: true, expected: true7315 coerces the value to a boolean7316 value: "true", expected: true7317 coerces the value to a boolean7318 value: "yes", expected: true7319 coerces the value to a boolean7320 value: false, expected: false7321 coerces the value to a boolean7322 value: "false", expected: false7323 coerces the value to a boolean7324 value: "no", expected: false7325 coerces the value to a boolean7326 value: nil, expected: false7327 coerces the value to a boolean7328 with path style configured7329 value: true, expected: true7330 coerces the value to a boolean7331 value: "true", expected: true7332 coerces the value to a boolean7333 value: "yes", expected: true7334 coerces the value to a boolean7335 value: false, expected: false7336 coerces the value to a boolean7337 value: "false", expected: false7338 coerces the value to a boolean7339 value: "no", expected: false7340 coerces the value to a boolean7341 value: nil, expected: false7342 coerces the value to a boolean7343 with hostname style access7344 #use_path_style? returns false7345 with AWS credentials7346 is expected to eq "AWS"7347 is expected to equal true7348 is expected to equal false7349 with Google credentials7350 is expected to eq "Google"7351 is expected to equal false7352 is expected to equal true7353 is expected to eq {}7354 with SSE-KMS enabled7355 is expected to eq "AES256"7356 is expected to eq "arn:aws:12345"7357 is expected to contain exactly "x-amz-server-side-encryption" and "x-amz-server-side-encryption-aws-kms-key-id"7358 with only server side encryption enabled7359 is expected to eq "AES256"7360 is expected to be nil7361 is expected to eq {"x-amz-server-side-encryption"=>"AES256"}7362 without encryption enabled7363 is expected to be nil7364 is expected to be nil7365 is expected to eq {}7366 with object storage disabled7367 is expected to equal false7368 is expected to eq {}7369GroupImportState7370 validations7371 is expected to belong to user required: true7372 is expected to validate that :group cannot be empty/falsy7373 is expected to validate that :status cannot be empty/falsy7374 can be created without a jid7375 cannot be started without a jid7376 cannot be finished without a jid7377 can fail without a jid7378 #in_progress?7379 when the import is 'created'7380 returns true7381 when the import is 'started'7382 returns true7383 when the import is 'finished'7384 returns false7385 when the import is 'failed'7386 returns false7387Gitlab::Database::Partitioning::ReplaceTable#perform7388 replaces the current table, archiving the old7389 transfers the primary key sequence to the replacement table7390 renames the primary key constraints to match the new table names7391 when the table has partitions7392 renames the partitions to match the new table name7393 renames the primary key constraints to match the new partition names7394HamlLint::Linter::DocumentationLinks7395 help_page_path7396 behaves like link validation rules7397 when link_to points to the existing file path7398 is expected not to report a lint7399 when link_to points to the existing file with valid anchor7400 is expected not to report a lint7401 when link_to points to the existing file path without .md extension7402 is expected not to report a lint7403 when anchor is not correct7404 is expected to report a lint7405 when help_page_path has multiple options7406 is expected to report a lint7407 when file path is wrong7408 is expected to report a lint7409 when link with wrong file path is assigned to a variable7410 is expected to report a lint7411 when it is a broken code7412 is expected not to report a lint7413 when anchor belongs to a different element7414 is expected not to report a lint7415 when a simple help_page_path7416 is expected to report a lint7417 when link is not a string7418 is expected not to report a lint7419 when link is a part of the tag7420 is expected to report a lint7421 help_page_url7422 behaves like link validation rules7423 when link_to points to the existing file path7424 is expected not to report a lint7425 when link_to points to the existing file with valid anchor7426 is expected not to report a lint7427 when link_to points to the existing file path without .md extension7428 is expected not to report a lint7429 when anchor is not correct7430 is expected to report a lint7431 when help_page_url has multiple options7432 is expected to report a lint7433 when file path is wrong7434 is expected to report a lint7435 when link with wrong file path is assigned to a variable7436 is expected to report a lint7437 when it is a broken code7438 is expected not to report a lint7439 when anchor belongs to a different element7440 is expected not to report a lint7441 when a simple help_page_url7442 is expected to report a lint7443 when link is not a string7444 is expected not to report a lint7445 when link is a part of the tag7446 is expected to report a lint7447LimitedCapacity::Worker7448 required methods7449 is expected to raise NotImplementedError7450 is expected to raise NotImplementedError7451 is expected to raise NotImplementedError7452 Sidekiq options7453 does not retry failed jobs7454 does not deduplicate jobs7455 .perform_with_capacity7456 when capacity is larger than work7457 enqueues jobs for remaining work7458 when capacity is lower than work7459 enqueues jobs for remaining work7460 #perform7461 with capacity7462 calls perform_work7463 re-enqueues itself7464 registers itself in the running set7465 removes itself from the running set7466 reports prometheus metrics7467 with capacity and without work7468 does not re-enqueue itself7469 without capacity7470 does not call perform_work7471 does not re-enqueue itself7472 does not register in the running set7473 removes itself from the running set7474 reports prometheus metrics7475 when perform_work fails7476 does not re-enqueue itself7477 removes itself from the running set7478 reports prometheus metrics7479 #remaining_capacity7480 when changing the capacity to a lower value7481 is expected to eq 07482 when registering new jobs7483 is expected to eq 17484 with jobs in the queue7485 is expected to eq 17486 with both running jobs and queued jobs7487 is expected to eq 27488 #remove_failed_jobs7489 with failed jobs7490 update the available capacity7491 #report_prometheus_metrics7492 reports number of running jobs7493Gitlab::Ci::Ansi2json7494 lines7495DEPRECATION WARNING: /builds/gitlab-org/gitlab/lib/gitlab/ci/ansi2json/converter.rb:26: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call7496/builds/gitlab-org/gitlab/lib/gitlab/ci/ansi2json/style.rb:9: warning: The called method `initialize' is defined here7497 (called from new at /builds/gitlab-org/gitlab/lib/gitlab/ci/ansi2json/converter.rb:26)7498 prints non-ansi as-is7499 recognizes color changing ANSI sequences7500 recognizes color changing ANSI sequences across multiple lines7501 recognizes background and foreground colors7502 recognizes style changes within the same line7503 new lines7504 adds new line when encountering \n7505 adds new line when encountering \r\n7506 replace the current line when encountering \r7507 with section markers7508 marks the first line of the section as header7509 does not marks the other lines of the section as header7510 marks the last line of the section as footer7511 marks the first line as header and footer if is the only line in the section7512 does not add sections attribute to lines after the section is closed7513 ignores section_end marker if no section_start exists7514 prints HTML tags as is7515 when section name contains .-_ and capital letters7516 sanitizes the section name7517 when section name includes $7518 ignores the section7519 when section name includes <7520 ignores the section7521 with nested section7522 adds multiple sections to the lines inside the nested section7523 adds multiple sections to the lines inside the nested section and closes all sections together7524 with section options7525 provides section options when set7526 incremental updates7527 with split word7528 returns the full line7529 with split word on second line7530 returns all lines since last partially processed line7531 with split sequence across multiple lines7532 returns the line since last partially processed line7533 with split partial sequence7534 returns the line since last partially processed line7535 with split new line7536 returns a blank line and the next line7537 with split section7538 with split section body7539 returns the full line7540 with split section where header is also split7541 returns the full line7542 with split section end7543 returns the full line7544 trucates7545 returns truncated output7546 does not append output7547Projects::OpenMergeRequestsCountService7548 behaves like a counter caching service7549 #count7550 caches the count7551 #refresh_cache7552 refreshes the cache7553 #delete_cache7554 removes the cache7555 #uncached_count7556 does not cache the count7557 #count7558 returns the number of open merge requests7559MergeRequestBasicEntity7560 has public_merge_status as merge_status7561 #reviewers7562 when merge_request_reviewers feature is disabled7563 does not contain assignees attributes7564 when merge_request_reviewers feature is enabled7565 contains reviewers attributes7566Reenqueuer7567 disables Sidekiq retries7568 behaves like reenqueuer7569 implements lease_timeout7570 #perform7571 tries to obtain a lease7572 behaves like #perform is rate limited to 1 call per7573 when the work finishes in 0 seconds7574 sleeps exactly the minimum duration7575 when the work finishes in 10% of minimum duration7576 sleeps 90% of minimum duration7577 when the work finishes in 90% of minimum duration7578 sleeps 10% of minimum duration7579 when the work finishes exactly at minimum duration7580 does not sleep7581 when the work takes 10% longer than minimum duration7582 does not sleep7583 when the work takes twice as long as minimum duration7584 does not sleep7585 #perform7586 when the lease is available7587 does perform7588 when the lease is taken7589 does not perform7590 when #perform returns truthy7591 reenqueues the worker7592 returns the original value from #perform7593 when #perform returns falsey7594 does not reenqueue the worker7595 returns the original value from #perform7596Reenqueuer::ReenqueuerSleeper7597 behaves like #perform is rate limited to 1 call per7598 when the work finishes in 0 seconds7599 sleeps exactly the minimum duration7600 when the work finishes in 10% of minimum duration7601 sleeps 90% of minimum duration7602 when the work finishes in 90% of minimum duration7603 sleeps 10% of minimum duration7604 when the work finishes exactly at minimum duration7605 does not sleep7606 when the work takes 10% longer than minimum duration7607 does not sleep7608 when the work takes twice as long as minimum duration7609 does not sleep7610 #ensure_minimum_duration7611 when the block completes well before the minimum duration7612 sleeps until the minimum duration7613 when the block completes just before the minimum duration7614 sleeps until the minimum duration7615 when the block completes just after the minimum duration7616 does not sleep7617 when the block completes well after the minimum duration7618 does not sleep7619Admin::PropagateServiceTemplate7620 .propagate7621 calls to PropagateIntegrationProjectWorker7622 does not create the service if it exists already7623 with a project that has another service7624 calls to PropagateIntegrationProjectWorker7625Packages::PackagesFinder7626 #execute7627 with package_type7628 conan packages7629 is expected to eq [#<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171>]7630 npm packages7631 is expected to contain exactly #<Packages::Package id: 20, project_id: 1182, created_at: "2020-11-30 13:15:50", updated_at: "2020-11...3:15:50", name: "@namespace1213/package-1", version: "1.0.0", package_type: "npm", creator_id: 2171> and #<Packages::Package id: 21, project_id: 1182, created_at: "2020-11-30 13:15:50", updated_at: "2020-11...3:15:50", name: "@namespace1213/package-2", version: "1.0.0", package_type: "npm", creator_id: 2171>7632 with order_by7633 by default is created_at7634 is expected to eq [#<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171>]7635 order by name7636 is expected to eq [#<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>]7637 order by version7638 is expected to eq [#<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>]7639 order by type7640 is expected to eq [#<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171>]7641 with sort7642 by default is ascending7643 is expected to eq [#<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171>]7644 can sort descended7645 is expected to eq [#<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-1...t: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>]7646 with package_name7647 is expected to eq [#<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>]7648 with nil params7649 is expected to contain exactly #<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171> and #<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>7650 with processing packages7651 is expected to contain exactly #<Packages::Package id: 19, project_id: 1182, created_at: "2020-11-29 13:15:49", updated_at: "2020-11-30 13:15:50", name: "conan", version: "1.0.0", package_type: "conan", creator_id: 2171> and #<Packages::Package id: 17, project_id: 1182, created_at: "2020-11-28 13:15:49", updated_at: "2020-11-30 13:15:49", name: "maven", version: "2.0.0", package_type: "maven", creator_id: 2171>7652 does not include packages without version number7653 is expected not to include #<Packages::Package id: 24, project_id: 1182, created_at: "2020-11-30 13:15:50", updated_at: "2020-11...-30 13:15:50", name: "my/company/app/my-app", version: nil, package_type: "maven", creator_id: 2171>7654LfsDownloadObject7655 validations7656 is expected to validate that :size looks like a number greater than or equal to 07657 oid attribute7658 must be 64 characters long7659 must contain only hexadecimal characters7660 link attribute7661 only http and https protocols are valid7662 cannot be empty7663 when localhost or local network addresses7664 are allowed7665 is expected to be valid7666 are not allowed7667 is expected to be invalid7668ContainerRepositoryEntity7669 exposes required informations7670 when project is not preset in the request7671 uses project from the object7672 when user can manage repositories7673 exposes destroy_path7674 when user cannot manage repositories7675 does not expose destroy_path7676ApplicationCable::Connection7677 when session cookie is set7678 when user is logged in7679 sets current_user7680 with a stale password7681 sets current_user to nil7682 when user is not logged in7683 sets current_user to nil7684 when session cookie is not set7685 sets current_user to nil7686 when session cookie is an empty string7687 sets current_user to nil7688errors/access_denied7689 does not fail to render when there is no message provided7690Resolvers::ProjectPipelinesResolver7691 resolves only MRs for the passed merge request7692PagesDomains::RetryAcmeOrderService7693 clears auto_ssl_failed7694 schedules renewal worker7695 doesn't schedule renewal worker if Let's Encrypt integration is not enabled7696 doesn't schedule renewal worker if auto ssl has not failed yet7697DeployKeys::CreateService7698 creates a deploy key7699Gitlab::Analytics::InstanceStatistics::WorkersArgumentBuilder7700 when no measurement identifiers are given7701 returns empty array7702 when measurement identifiers are given7703 returns worker arguments7704 when bogus measurement identifiers are given7705 skips bogus measurement identifiers7706 when custom min and max queries are present7707 uses custom min/max for ids7708Gitlab::Template::Finders::RepoTemplateFinder7709 #read7710 returns the content of the given path7711 raises an error if the path does not exist7712 #find7713 returns the full path of the found template7714 does not permit path traversal requests7715 #list_files_for7716 returns the full path of the found files7717RuboCop::Cop::Migration::DropTable7718 when in deployment migration7719 with drop_table DSL method7720 when in down method7721 does not register an offense7722 when in up method7723 registers an offense7724 when in change method7725 registers an offense7726 with DROP TABLE SQL literal7727 does not register an offense7728 when in up method7729 registers an offense7730 when in change method7731 registers an offense7732 when in post-deployment migration7733 registers no offense7734 when outside of migration7735 registers no offense7736Ci::PipelineProcessing::AtomicProcessingService::StatusCollection7737 #set_processable_status7738 does update existing status of processable7739 ignores a missing processable7740 #status_of_all7741 returns composite status of the collection7742 #status_for_names7743 names: ["build-a"], status: "success", dag: false7744 returns composite status of given names7745 names: ["build-a", "build-b"], status: "failed", dag: false7746 returns composite status of given names7747 names: ["build-a", "test-a"], status: "running", dag: false7748 returns composite status of given names7749 names: ["build-a"], status: "success", dag: true7750 returns composite status of given names7751 names: ["build-a", "build-b"], status: "failed", dag: true7752 returns composite status of given names7753 names: ["build-a", "test-a"], status: "pending", dag: true7754 returns composite status of given names7755 #status_for_prior_stage_position7756 stage: 0, status: "success"7757 returns composite status for processables in prior stages7758 stage: 1, status: "failed"7759 returns composite status for processables in prior stages7760 stage: 2, status: "running"7761 returns composite status for processables in prior stages7762 #status_for_stage_position7763 stage: 0, status: "failed"7764 returns composite status for processables at a given stages7765 stage: 1, status: "running"7766 returns composite status for processables at a given stages7767 stage: 2, status: "created"7768 returns composite status for processables at a given stages7769 #created_processable_ids_for_stage_position7770 returns IDs of processables at a given stage position7771 #processing_processables7772 returns processables marked as processing7773API::Entities::DeployKey7774 #as_json7775 includes basic fields7776Gitlab::DependencyLinker::GemfileLinker7777 .support?7778 supports Gemfile7779 supports gems.rb7780 does not support other files7781 #link7782 links sources7783 links dependencies7784 links to external dependencies7785 links GitHub repos7786 links Git repos7787Gitlab::Ci::Config::Entry::Key7788 validations7789 behaves like key entry validations7790 when entry value contains slash7791 behaves like key with slash7792 is invalid7793 reports errors with config value7794 when entry value contains URI encoded slash (%2F)7795 behaves like key with slash7796 is invalid7797 reports errors with config value7798 when entry value is a dot7799 behaves like key with only dots7800 is invalid7801 reports errors with config value7802 when entry value is two dots7803 behaves like key with only dots7804 is invalid7805 reports errors with config value7806 when entry value is a URI encoded dot (%2E)7807 behaves like key with only dots7808 is invalid7809 reports errors with config value7810 when entry value is two URI encoded dots (%2E)7811 behaves like key with only dots7812 is invalid7813 reports errors with config value7814 when entry value is one dot and one URI encoded dot7815 behaves like key with only dots7816 is invalid7817 reports errors with config value7818 when key is a string7819 #value7820 returns key value7821 #valid?7822 is valid7823 when entry config value is correct7824 when key is a hash7825 #value7826 returns key value7827 #valid?7828 is valid7829 when key is a symbol7830 #value7831 returns key value7832 #valid?7833 is valid7834 when entry value is not correct7835 #errors7836 saves errors7837 .default7838 returns default key7839Gitlab::Ci::Config::Entry::Product::Matrix7840 validations7841 when entry config value is correct7842 #valid?7843 is expected to be valid7844 when entry config generates too many jobs7845 #valid?7846 is expected not to be valid7847 #errors7848 returns error about too many jobs7849 when entry config has only one variable with multiple values7850 #valid?7851 is expected to be valid7852 #errors7853 returns no errors7854 #value7855 returns the value without raising an error7856 when entry config has only one variable with one value7857 #valid?7858 is expected to be valid7859 #errors7860 returns no errors7861 #value7862 returns the value without raising an error7863 when config value has wrong type7864 #valid?7865 is expected not to be valid7866 #errors7867 returns error about incorrect type7868 .compose!7869 when valid job entries composed7870 #value7871 returns key value7872 #descendants7873 creates valid descendant nodes7874 with empty config7875 #value7876 returns empty value7877 #number_of_generated_jobs7878 with empty config7879 is expected to be zero7880 with only one variable7881 is expected to eq 107882 with two variables7883 is expected to eq 507884 with two sets of variables7885 is expected to eq 567886admin/application_settings/_repository_storage.html.haml7887 when multiple storages are available7888 lists them all7889Gitlab::Webpack::Manifest7890 with dev server enabled7891 .asset_paths7892 errors if we can't find the manifest7893 behaves like a valid manifest7894 returns single entry asset paths from the manifest7895 returns multiple entry asset paths from the manifest7896 errors on a missing entry point7897 webpack errors7898 does not error if errors is present but empty7899 when webpack has 'Module build failed' errors in its manifest7900 errors7901 when webpack does not have 'Module build failed' errors in its manifest7902 does not error7903 with dev server disabled7904 .asset_paths7905 errors if we can't find the manifest7906 behaves like a valid manifest7907 returns single entry asset paths from the manifest7908 returns multiple entry asset paths from the manifest7909 errors on a missing entry point7910Feature::Definition7911 #key7912 returns a symbol from name7913 #validate!7914 param: :name, value: nil, result: /Feature flag is missing name/7915 is expected to raise /Feature flag is missing name/7916 param: :path, value: nil, result: /Feature flag 'feature_flag' is missing path/7917 is expected to raise /Feature flag 'feature_flag' is missing path/7918 param: :type, value: nil, result: /Feature flag 'feature_flag' is missing type/7919 is expected to raise /Feature flag 'feature_flag' is missing type/7920 param: :type, value: "invalid", result: /Feature flag 'feature_flag' type 'invalid' is invalid/7921 is expected to raise /Feature flag 'feature_flag' type 'invalid' is invalid/7922 param: :path, value: "development/invalid.yml", result: /Feature flag 'feature_flag' has an invalid path/7923 is expected to raise /Feature flag 'feature_flag' has an invalid path/7924 param: :path, value: "invalid/feature_flag.yml", result: /Feature flag 'feature_flag' has an invalid type/7925 is expected to raise /Feature flag 'feature_flag' has an invalid type/7926 param: :default_enabled, value: nil, result: /Feature flag 'feature_flag' is missing default_enabled/7927 is expected to raise /Feature flag 'feature_flag' is missing default_enabled/7928 #valid_usage!7929 validates type7930 raises exception for invalid type7931 validates default enabled7932 raises exception for different value7933 .paths7934 returns at least one path7935 .load_from_file7936 properly loads a definition from file7937 for missing file7938 raises exception7939 for invalid definition7940 raises exception7941 .load_all!7942 when there's no feature flags a list of definitions is empty7943 when there's a single feature flag it properly loads them7944 when the same feature flag is stored multiple times raises exception7945 when one of the YAMLs is invalid it does raise exception7946 .valid_usage!7947 when a known feature flag is used7948 validates it usage7949 when an unknown feature flag is used7950 for a type that is required to have all feature flags registered7951 raises exception7952 for a type that is optional7953 does not raise exception7954 for an unknown type7955 raises exception7956dashboard/projects/_blank_state_admin_welcome.html.haml7957 links to new group path7958Banzai::Filter::MathFilter7959 leaves regular inline code unchanged7960 removes surrounding dollar signs and adds class code, math and js-render-math7961 only removes surrounding dollar signs7962 only removes surrounding single dollar sign7963 adds data-math-style inline attribute to inline math7964 adds class code and math to inline math7965 adds js-render-math class to inline math7966 ignores cases with missing dolar sign at the end7967 ignores cases with missing dolar sign at the beginning7968 ignores dollar signs if it is not adjacent7969 ignores dollar signs if they are inside another element7970 adds data-math-style display attribute to display math7971 adds js-render-math class to display math7972 ignores code blocks that are not math7973 requires the pre to contain both code and math7974 dollar signs around to display math7975gitlab:env:info7976 git version7977 when git installed7978 prints git version7979 when git not installed7980 prints unknown7981JSONWebToken::HMACToken7982 .decode7983 with an invalid token7984 that is junk7985 raises exception saying 'Not enough or too many segments'7986 that has been fiddled with7987 raises exception saying 'Invalid segment encoding'7988 that was generated using a different secret7989 raises exception saying 'Signature verification raised7990 that is expired7991 raises exception saying 'Signature has expired'7992 with a valid token7993 that has expired7994 with the default leeway7995 behaves like a valid, non-expired token7996 is an Array with two elements7997 contains the following keys in the first Array element Hash - jti, iat, nbf, exp7998 contains the following keys in the second Array element Hash - typ and alg7999 with a leeway of 0 seconds8000 raises exception saying 'Signature has expired'8001 that has not expired8002 behaves like a valid, non-expired token8003 is an Array with two elements8004 contains the following keys in the first Array element Hash - jti, iat, nbf, exp8005 contains the following keys in the second Array element Hash - typ and alg8006 #encoded8007 without data8008 behaves like a valid, non-expired token8009 is an Array with two elements8010 contains the following keys in the first Array element Hash - jti, iat, nbf, exp8011 contains the following keys in the second Array element Hash - typ and alg8012 with data8013 contains the 'data' key in the first Array element Hash8014 can re-read back the data8015 behaves like a valid, non-expired token8016 is an Array with two elements8017 contains the following keys in the first Array element Hash - jti, iat, nbf, exp8018 contains the following keys in the second Array element Hash - typ and alg8019Snippets::RepositoryValidationService8020 #execute8021 returns error when the repository has more than one branch8022 returns error when existing branch name is not the default one8023 returns error when the repository has tags8024 returns error when the repository has more file than the limit8025 returns error when the repository has no files8026DEPRECATION WARNING: /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call8027/builds/gitlab-org/gitlab/lib/gitlab/repository_size_checker.rb:9: warning: The called method `initialize' is defined here8028 (called from new at /builds/gitlab-org/gitlab/spec/support/helpers/next_instance_of.rb:23)8029 returns error when the repository size is over the limit8030 returns success when no validation errors are raised8031Gitlab::RackAttack8032 .configure8033 extends the request class8034 configures the safelist8035 configures throttles if no dry-run was configured8036 configures tracks if dry-run was configured for all throttles8037 configures tracks and throttles with a selected set of dry-runs8038BulkImports::Configuration8039 associations8040 is expected to belong to bulk_import required: true8041 validations8042 is expected to validate that the length of :url is at most 2558043 is expected to validate that the length of :access_token is at most 2558044 is expected to validate that :url cannot be empty/falsy8045 is expected to validate that :access_token cannot be empty/falsy8046Prometheus::ProxyVariableSubstitutionService8047 #execute8048 does not alter params passed to the service8049 is expected to eq <ActionController::Parameters {"query"=>"up{environment=\"{{ci_environment_slug}}\"}"} permitted: true>8050 with predefined variables8051 with nil query8052 behaves like success8053 replaces variables with values8054 with liquid format8055 behaves like success8056 replaces variables with values8057 with custom variables8058 behaves like success8059 replaces variables with values8060 with predefined variables in variables parameter8061 behaves like success8062 replaces variables with values8063 with invalid variables parameter8064 behaves like error8065 returns error8066 with nil variables8067 behaves like success8068 replaces variables with values8069 gsub variable substitution tolerance for weirdness8070 with whitespace around variable8071 behaves like success8072 replaces variables with values8073 with empty variables8074 behaves like success8075 replaces variables with values8076 with multiple occurrences of variable in string8077 behaves like success8078 replaces variables with values8079 with multiple variables in string8080 behaves like success8081 replaces variables with values8082 with unknown variables in string8083 behaves like success8084 replaces variables with values8085 with unknown and known variables in string8086 behaves like success8087 replaces variables with values8088 __range8089 behaves like success8090 replaces variables with values8091Types::InvitationInterface8092 exposes the expected fields8093 .resolve_type8094 for project member8095 is expected to equal Types::ProjectInvitationType8096 for group member8097 is expected to equal Types::GroupInvitationType8098 for an unknown type8099 raises an error8100PropagateIntegrationWorker8101 #perform8102 calls the propagate service with the integration8103 ignores overwrite parameter from previous version8104bin/changelog8105 ChangelogEntry8106 truncates the file path8107 ChangelogOptionParser8108 .parse8109 parses --amend8110 parses --force and -f8111 parses --merge-request and -m8112 parses --dry-run and -n8113 parses --git-username and -u8114 parses --type and -t8115 parses --ee and -e8116 parses -h8117 assigns title8118 .read_type8119 reads type from $stdin8120 invalid type given8121 shows error message and exits the program8122Gitlab::Access::BranchProtection8123 #any?8124 level: 0, result: false8125 is expected to eq false8126 level: 1, result: true8127 is expected to eq true8128 level: 3, result: true8129 is expected to eq true8130 level: 2, result: true8131 is expected to eq true8132 #developer_can_push?8133 level: 0, result: false8134 is expected to eq false8135 level: 1, result: true8136 is expected to eq true8137 level: 3, result: false8138 is expected to eq false8139 level: 2, result: false8140 is expected to eq false8141 #developer_can_merge?8142 level: 0, result: false8143 is expected to eq false8144 level: 1, result: false8145 is expected to eq false8146 level: 3, result: true8147 is expected to eq true8148 level: 2, result: false8149 is expected to eq false8150 #fully_protected?8151 level: 0, result: false8152 is expected to eq false8153 level: 1, result: false8154 is expected to eq false8155 level: 3, result: false8156 is expected to eq false8157 level: 2, result: true8158 is expected to eq true8159Ci::ArtifactBlob8160 #id8161 returns a hash of the path8162 #name8163 returns the entry name8164 #path8165 returns the entry path8166 #size8167 returns the entry size8168 #mode8169 returns the entry mode8170 #external_storage8171 returns :build_artifact8172 #external_url8173 .gif extension8174 returns nil8175 txt extensions8176 returns a URL8177 when port is configured8178 returns an URL with port number8179 #external_link?8180 gif extensions8181 returns false8182 txt extensions8183 returns true8184Gitlab::ServiceDesk8185 enabled?8186 is expected to be truthy8187 when service desk is not supported8188 is expected to be falsy8189 when service desk is disabled for project8190 is expected to be falsy8191 supported?8192 is expected to be truthy8193 when incoming emails are disabled8194 is expected to be falsy8195 when email key is not supported8196 is expected to be falsy8197Banzai::Filter::SpacedLinkFilter8198 converts multiple URLs8199 ignores valid links contained inside 'a' element8200 ignores valid links contained inside 'code' element8201 ignores valid links contained inside 'kbd' element8202 ignores valid links contained inside 'pre' element8203 ignores valid links contained inside 'script' element8204 ignores valid links contained inside 'style' element8205 when a link is detected8206 converts slug with spaces to a link8207 converts slug with spaces and a title to a link8208 does nothing with empty text8209 does nothing with an empty slug8210 when an image is detected8211 converts slug with spaces to an iamge8212 converts slug with spaces and a title to an image8213Packages::SemVer8214 #parse8215 behaves like #parse with a valid semver8216 with 1.0.08217 returns v1.0.0 with prefix8218 returns 1.0.0 without prefix8219 behaves like #parse with a valid semver8220 with 1.0.0-pre8221 returns v1.0.0-pre with prefix8222 returns 1.0.0-pre without prefix8223 behaves like #parse with a valid semver8224 with 1.0.0+build8225 returns v1.0.0+build with prefix8226 returns 1.0.0+build without prefix8227 behaves like #parse with a valid semver8228 with 1.0.0-pre+build8229 returns v1.0.0-pre+build with prefix8230 returns 1.0.0-pre+build without prefix8231 behaves like #parse with an invalid semver8232 with 01.0.08233 returns nil with prefix8234 returns nil without prefix8235 behaves like #parse with an invalid semver8236 with 0.01.08237 returns nil with prefix8238 returns nil without prefix8239 behaves like #parse with an invalid semver8240 with 0.0.018241 returns nil with prefix8242 returns nil without prefix8243 behaves like #parse with an invalid semver8244 with 1.0.0asdf8245 returns nil with prefix8246 returns nil without prefix8247Gitlab::Database::MultiThreadedMigration8248 #connection8249 returns the thread-local connection if present8250 returns the global connection if no thread-local connection was set8251 #with_multiple_threads8252 starts multiple threads and yields the supplied block in every thread8253 joins the threads when the join parameter is set8254RuboCop::Cop::CodeReuse::Presenter8255 flags the use of a Presenter in a Service class8256 flags the use of a Presenter in a Finder8257 flags the use of a Service class in a Presenter8258 flags the use of a Presenter in a Serializer8259 flags the use of a Presenter in a model instance method8260 flags the use of a Presenter in a model class method8261 flags the use of a Presenter in a worker8262Gitlab::EtagCaching::Router8263 matches issue notes endpoint8264 matches MR notes endpoint8265 matches issue title endpoint8266 matches with a project name that includes a suffix of create8267 matches with a project name that includes a prefix of create8268 matches project pipelines endpoint8269 matches commit pipelines endpoint8270 matches new merge request pipelines endpoint8271 matches merge request pipelines endpoint8272 matches build endpoint8273 does not match blob with confusing name8274 matches the cluster environments path8275 matches the environments path8276 matches pipeline#show endpoint8277 has a valid feature category for every route8278Gitlab::Patch::Prependable8279 a class including a concern prepending a concern8280 returns values from prepended module ee8281 has the expected ancestors8282 prepends only once even if called twice8283 overriding methods8284 returns values from the class8285 a class prepending a concern prepending a concern8286 returns values from prepended module ee8287 has the expected ancestors8288 prepends only once8289 a class prepending a concern8290 returns values from prepended module ee8291 has the expected ancestors8292 prepends only once8293 simple case8294 class methods8295 has a method8296 can execute a method8297 instance methods8298 has a method8299 chains a method execution8300 having two prepended blocks8301 raises an error8302Gitlab::Emoji8303 .emojis8304 returns emojis8305 .emojis_by_moji8306 return emojis by moji8307 .emojis_unicodes8308 returns emoji unicodes8309 .emojis_names8310 returns emoji names8311 .emojis_aliases8312 returns emoji aliases8313 .emoji_filename8314 returns emoji filename8315 .emoji_unicode_filename8316 returns emoji unicode filename8317 .emoji_unicode_version8318 returns emoji unicode version by name8319 .normalize_emoji_name8320 returns same name if not found in aliases8321 returns name if name found in aliases8322 .emoji_image_tag8323 returns emoji image tag8324 .emoji_exists?8325 returns true if the name exists8326 returns false if the name does not exist8327 .gl_emoji_tag8328 returns gl emoji tag if emoji is found8329 returns nil if emoji name is not found8330Gitlab::Ci::Config::Entry::Commands8331 when entry config value is an array of strings8332 #value8333 returns array of strings8334 #errors8335 does not append errors8336 when entry config value is a string8337 #value8338 returns array with single element8339 #valid?8340 is valid8341 when entry config value is array of arrays of strings8342 #value8343 returns array of strings8344 #errors8345 does not append errors8346 #valid?8347 is valid8348 when entry config value is array of strings and arrays of strings8349 #value8350 returns array of strings8351 #errors8352 does not append errors8353 #valid?8354 is valid8355 when entry value is integer8356 #errors8357 saves errors8358 when entry value is multi-level nested array8359 #errors8360 saves errors8361 #valid?8362 is not valid8363Types::DesignManagement::DesignType8364 is expected to include Types::CurrentUserTodos8365 behaves like a GraphQL type with design fields8366 is expected to require graphql authorizations :read_design8367 exposes the expected design fields8368 #image8369 resolves to the design image URL8370 has better than O(N) peformance8371BitbucketServer::Representation::PullRequestComment8372 #id8373 is expected to eq 78374 #from_sha8375 is expected to eq "c5f4288162e2e6218180779c7f6ac1735bb56eab"8376 #to_sha8377 is expected to eq "a4c2164330f2549f67c13f36a93884cf66e976be"8378 #to?8379 is expected to be falsey8380 #from?8381 is expected to be truthy8382 #added?8383 is expected to be falsey8384 #removed?8385 is expected to be falsey8386 #new_pos8387 is expected to eq 118388 #old_pos8389 is expected to eq 98390 #file_path8391 is expected to eq "CHANGELOG.md"8392AccessibilityReportsComparerSerializer8393 #to_json8394 when base report has error and head has a different error8395 matches the schema8396 when base report has no error and head has errors8397 matches the schema8398Gitlab::SidekiqMiddleware::DuplicateJobs::Client8399 with until_executing strategy8400 behaves like client duplicate job8401 #call8402 adds a correct duplicate tag to the jobs8403 without scheduled deduplication8404 does not mark a job that's scheduled in the future as a duplicate8405 with scheduled deduplication8406 adds a correct duplicate tag to the jobs8407 with until_executed strategy8408 behaves like client duplicate job8409 #call8410 adds a correct duplicate tag to the jobs8411 without scheduled deduplication8412 does not mark a job that's scheduled in the future as a duplicate8413 with scheduled deduplication8414 adds a correct duplicate tag to the jobs8415Gitlab::Utils::LazyAttributes8416 class methods8417 is expected to respond to [:lazy_attr_reader, :lazy_attr_accessor]8418 is expected not to respond to [:define_lazy_reader, :define_lazy_writer]8419 instance methods8420 is expected to respond to [:number, :reader_1, :reader_2, :incorrect_type, :incorrect_type=, :accessor_2, :accessor_2=, :string_attribute, :string_attribute=]8421 reading attributes8422 returns the correct values for procs8423 does not return the value if the type did not match what was specified8424 only calls the block once even if it returned `nil`8425 writing attributes8426 sets the correct values8427RecaptchaHelper8428 .show_recaptcha_sign_up?8429 when reCAPTCHA is disabled8430 returns false8431 when reCAPTCHA is enabled8432 returns true8433Gitlab::Kubernetes::Helm::V2::ResetCommand8434 behaves like helm command generator8435 #generate_script8436 returns appropriate command8437 #pod_name8438 is expected to eq "uninstall-helm"8439 behaves like helm command8440 HELM_VERSION8441 is expected to match /\d+\.\d+\.\d+/8442 #env8443 is expected to be a kind of Hash8444 #rbac?8445 rbac is enabled8446 is expected to be truthy8447 rbac is not enabled8448 is expected to be falsey8449 #pod_resource8450 rbac is enabled8451 is expected to be an instance of Kubeclient::Resource8452 generates a pod that uses the tiller serviceAccountName8453 rbac is not enabled8454 is expected to be an instance of Kubeclient::Resource8455 generates a pod that uses the default serviceAccountName8456 #config_map_resource8457 returns a KubeClient resource with config map content for the application8458 #service_account_resource8459 rbac is enabled8460 generates a Kubeclient resource for the tiller ServiceAccount8461 rbac is not enabled8462 generates nothing8463 #cluster_role_binding_resource8464 rbac is enabled8465 generates a Kubeclient resource for the ClusterRoleBinding for tiller8466 binds the account in #service_account_resource8467 rbac is not enabled8468 generates nothing8469RuboCop::Cop::Migration::Timestamps8470 in migration8471 registers an offense when the "timestamps" method is used8472 does not register an offense when the "timestamps" method is not used8473 does not register an offense when the "timestamps_with_timezone" method is used8474 outside of migration8475 registers no offense8476Gitlab::Config::Entry::Factory8477 #create!8478 when setting a concrete value8479 creates entry with valid value8480 when setting description8481 configures description8482 creates entry with description8483 when setting inherit8484 makes object inheritable8485 when setting key8486 creates entry with custom key8487 when setting a parent8488 creates entry with valid parent8489 when not setting a value8490 raises error8491 when creating entry with nil value8492 creates an unspecified entry8493 when passing metadata8494 passes metadata as a parameter8495PagesTransferWorker8496 #perform8497 when method is move_namespace8498 calls the service with the given arguments8499 raises an error when the service returns false8500 when method is move_project8501 calls the service with the given arguments8502 raises an error when the service returns false8503 when method is rename_project8504 calls the service with the given arguments8505 raises an error when the service returns false8506 when method is rename_namespace8507 calls the service with the given arguments8508 raises an error when the service returns false8509 when method is not allowed8510 does nothing8511Gitlab::Diff::Formatters::TextFormatter8512 behaves like position formatter8513 #key8514 is expected to eq [123, 456, 789, "35bd01186d18c9f4842e2f377cc780a95bab7bcf", "02fa17b1a8378a17c3103dc5a6cb16a5f73a1433", 1, 2]8515 #complete?8516 when there are missing key attributes8517 is expected to be truthy8518 when old_line and new_line are nil8519 is expected to be falsy8520 #to_h8521 when file_identifier_hash is disabled8522 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}8523 when file_identifier_hash is enabled8524 is expected to eq {:base_sha=>123, :file_identifier_hash=>"777", :head_sha=>789, :line_range=>nil, :new_line=>2, :new_p...h=>"new_path.txt", :old_line=>1, :old_path=>"old_path.txt", :position_type=>"text", :start_sha=>456}8525 #==8526 is expected to eq #<Gitlab::Diff::Formatters::TextFormatter:0x0000557b65538b90 @old_line=1, @new_line=2, @line_range=ni...@new_path="new_path.txt", @file_identifier_hash="777", @base_sha=123, @start_sha=456, @head_sha=789>8527 #line_age8528 when there is only new_line8529 is expected to eq "new"8530 when there is only old_line8531 is expected to eq "old"8532 #==8533 is false when the line_range changes8534 is true when the line_range doesn't change8535Gitlab::ConanToken8536 .from_personal_access_token8537 sets access token id and user id8538 .from_job8539 sets access token id and user id8540 .from_deploy_token8541 sets access token id and user id8542 .decode8543 sets access token id and user id8544 returns nil for invalid JWT8545 returns nil for expired JWT8546 #to_jwt8547 returns the encoded JWT8548Gitlab::Graphql::Loaders::BatchLfsOidLoader8549 #find8550 batch-resolves LFS blob IDs8551RuboCop::Cop::Scalability::CronWorkerContext8552 adds an offense when including CronjobQueue8553 does not add offenses for other workers8554 does not add an offense when the class defines a context8555 does not add an offense when the worker calls `with_context`8556 does not add an offense when the worker calls `bulk_perform_async_with_contexts`8557 does not add an offense when the worker calls `bulk_perform_in_with_contexts`8558Gitlab::DiscussionsDiff::HighlightCache8559 #write_multiple8560 sets multiple keys serializing content as JSON8561 #read_multiple8562 reads multiple keys and serializes content into Gitlab::Diff::Line objects8563 returns nil when cached key is not found8564 returns lines which rich_text are HTML-safe8565 #clear_multiple8566 removes all named keys8567 only removed named keys8568Gitlab::ImportExport::JSON::LegacyReader::Hash8569 behaves like import/export json legacy reader8570 #consume_attributes8571 when valid path is passed8572 no excluded attributes8573 returns the whole tree from parsed JSON8574 some attributes are excluded8575 returns hash without excluded attributes and relations8576 when invalid path is passed8577 raises an exception8578 #consume_relation8579 when valid path is passed8580 key has not been consumed8581 returns an Enumerator8582 value is nil8583 yields nothing to the Enumerator8584 value is an array8585 yields every relation value to the Enumerator8586 value is not array8587 yields the value with index 0 to the Enumerator8588 key has been consumed8589 yields nothing to the Enumerator8590 when invalid path is passed8591 raises an exception8592 #exist?8593 tree_hash is nil8594 is expected to be falsey8595 tree_hash presents8596 is expected to be truthy8597Gitlab::Sherlock::LineProfiler8598 #profile8599 runs the profiler when using MRI8600 raises NotImplementedError when profiling an unsupported platform8601 #profile_mri8602 returns an Array containing the return value and profiling samples8603 #aggregate_rblineprof8604 returns an Array of FileSample objects8605 the first FileSample object8606 uses the correct file path8607 contains a list of line samples8608 contains the total file execution time8609 contains the total amount of file events8610RuboCop::Cop::API::Base8611 adds an offense when inheriting from Grape::API8612 adds an offense when inheriting from ::Grape::API8613 adds an offense when inheriting from Grape::API::Instance8614 adds an offense when inheriting from ::Grape::API::Instance8615 does not add an offense when inheriting from BaseAPI8616Gitlab::ReferenceCounter8617 #increase8618 increases and sets the expire time of a reference count for a path8619 #decrease8620 decreases the reference count for a path8621 warns if attempting to decrease a counter with a value of zero or less, and resets the counter8622 #value8623 get the reference count for a path8624 #reset!8625 resets reference count down to zero8626 #expires_in8627 displays the expiration time in seconds8628ActionMailer hooks8629 smime signature interceptor8630 is disabled by default8631 interceptor testbed8632 email_enabled: false, email_smime_enabled: false, smime_interceptor_enabled: false8633 is enabled depending on settings8634 email_enabled: false, email_smime_enabled: true, smime_interceptor_enabled: false8635 is enabled depending on settings8636 email_enabled: true, email_smime_enabled: false, smime_interceptor_enabled: false8637 is enabled depending on settings8638 email_enabled: true, email_smime_enabled: true, smime_interceptor_enabled: true8639 is enabled depending on settings8640Ci::DeleteObjectsWorker8641 is expected to be truthy8642 #perform8643DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rspec-mocks-3.9.1/lib/rspec/mocks/message_expectation.rb:101: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call8644/builds/gitlab-org/gitlab/app/services/ci/delete_objects_service.rb:15: warning: The called method `remaining_batches_count' is defined here8645 (called from remaining_work_count at /builds/gitlab-org/gitlab/app/workers/ci/delete_objects_worker.rb:17)8646 executes a service8647 #max_running_jobs8648 medium: false, high: false, expected: 28649 sets up concurrency depending on the feature flag8650 medium: true, high: false, expected: 208651 sets up concurrency depending on the feature flag8652 medium: true, high: true, expected: 208653 sets up concurrency depending on the feature flag8654 medium: false, high: true, expected: 508655 sets up concurrency depending on the feature flag8656Tooling::ParallelRSpecRunner8657 #run8658 given filter tests8659 reads filter tests file for list of tests8660 runs rspec filter tests that are allocated for this node8661 when there is no intersect between allocated tests and filtered tests8662 does not run rspec8663 with empty filter tests file8664 behaves like runs node tests8665 runs rspec with tests allocated for this node8666 without filter_tests_file option8667 behaves like runs node tests8668 runs rspec with tests allocated for this node8669 if filter_tests_file does not exist8670 behaves like runs node tests8671 runs rspec with tests allocated for this node8672 without rspec args8673 runs rspec with without extra arguments8674RuboCop::Cop::CodeReuse::ServiceClass8675 flags the use of a Service class in a Finder8676 flags the use of a Service class in a Presenter8677 flags the use of a Service class in a Serializer8678 flags the use of a Service class in a model8679 does not flag the use of a Service class in a regular class8680Gitlab::ProjectTransfer8681 #move_project8682 moves project upload to another namespace8683 #move_namespace8684 when moving namespace from root into another namespace8685 moves namespace projects' upload8686 when moving namespace from one parent to another8687 moves namespace projects' upload8688 when moving namespace from having a parent to root8689 moves namespace projects' upload8690 #rename_project8691 renames project8692 #rename_namespace8693 renames namespace8694Gitlab::Graphql::Loaders::BatchModelLoader8695 #find8696 finds a model by id8697 only queries once per model8698 does not force values unnecessarily8699Gitlab::Ci::Config::Extendable8700 #each8701 when there is extendable entry in the hash8702 yields control8703 #to_hash8704 when hash does not contain extensions8705 does not modify the hash8706 when hash has a single simple extension8707 extends a hash with a deep reverse merge8708 when a hash uses recursive extensions8709 extends a hash with a deep reverse merge8710 when nested circular dependecy has been detected8711 raises an error about circular dependency8712 when circular dependecy to self has been detected8713 raises an error about circular dependency8714 when invalid extends value is specified8715 raises an error about invalid extension8716 when extensible entry has non-hash inheritance defined8717 raises an error about invalid base8718Gitlab::Diff::StatsCache8719 VERSION is set8720 #read8721 returns the expected stats8722 #write_if_empty8723 when the cache already exists8724 does not write the stats8725 when the cache does not exist8726 writes the stats8727 when given non utf-8 characters8728 writes the stats8729 when given empty stats8730 does not write the stats8731 #clear8732 clears cache8733 with multiple cache versions8734 does not read from a stale cache8735Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestCreated8736 behaves like value stream analytics event8737 is expected to be a kind of String8738 is expected to be a kind of Symbol8739 is expected to include ApplicationRecord(abstract)8740 is expected to respond to #timestamp_projection8741 is expected to be a kind of Array8742 #apply_query_customization8743 expects an ActiveRecord::Relation object as argument and returns a modified version of it8744Types::PermissionTypes::BasePermissionType8745 .permission_field8746 adds a field for the required permission8747 .ability_field8748 adds a field for the required permission8749 does not add a resolver block if another resolving param is passed8750 .abilities8751 adds a field for the passed permissions8752Gitlab::StringPlaceholderReplacer8753 .render_url8754 returns the nil if the string is blank8755 returns the string if the placeholder regex8756 returns the string if no block given8757 when all params are valid8758 replaces each placeholders with the block result8759 does not replace the placeholder if the block result is nil8760ProtectedTag8761 Associations8762 is expected to belong to project required:8763 Validation8764 is expected to validate that :project cannot be empty/falsy8765 is expected to validate that :name cannot be empty/falsy8766RsaKeyValidator8767 is not valid when invalid RSA key is provided8768 is valid when valid RSA key is provided8769Gitlab::Auth::KeyStatusChecker8770 #show_console_message?8771 for an expired key8772 is expected to eq true8773 for a key expiring in the next 7 days8774 is expected to eq true8775 for a key expiring after the next 7 days8776 is expected to eq false8777 for a key that never expires8778 is expected to eq false8779 #console_message8780 for an expired key8781 is expected to eq "INFO: Your SSH key has expired. Please generate a new key."8782 for a key expiring in the next 7 days8783 is expected to eq "INFO: Your SSH key is expiring soon. Please generate a new key."8784 for a key expiring after the next 7 days8785 is expected to be nil8786 for a key that never expires8787 is expected to be nil8788ChatMessage::IssueMessage8789 without markdown8790 #initialize8791 returns a non-null description8792 open8793 returns a message regarding opening of issues8794 close8795 returns a message regarding closing of issues8796 reopen8797 returns a message regarding reopening of issues8798 with markdown8799 open8800 returns a message regarding opening of issues8801 close8802 returns a message regarding closing of issues8803CommitUserMention8804 associations8805 is expected to belong to note required:8806 behaves like has user mentions8807 #has_mentions?8808 when no mentions8809 returns false8810 when mentioned_users_ids not null8811 returns true8812 when mentioned projects8813 returns true8814 when mentioned groups8815 returns true8816Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLastBuildFinished8817 behaves like value stream analytics event8818 is expected to be a kind of String8819 is expected to be a kind of Symbol8820 is expected to include ApplicationRecord(abstract)8821 is expected to respond to #timestamp_projection8822 is expected to be a kind of Array8823 #apply_query_customization8824 expects an ActiveRecord::Relation object as argument and returns a modified version of it8825Gitlab::Analytics::CycleAnalytics::StageEvents::IssueStageEnd8826 behaves like value stream analytics event8827 is expected to be a kind of String8828 is expected to be a kind of Symbol8829 is expected to include ApplicationRecord(abstract)8830 is expected to respond to #timestamp_projection8831 is expected to be a kind of Array8832 #apply_query_customization8833 expects an ActiveRecord::Relation object as argument and returns a modified version of it8834PerformanceMonitoring::PrometheusPanelGroup8835 .from_json8836 creates a PrometheusPanelGroup object8837 validations8838 json_content is not a hash8839 is expected to raise ActiveModel::ValidationError8840 when group is missing8841 is expected to raise ActiveModel::ValidationError8842 when panels are missing8843 is expected to raise ActiveModel::ValidationError8844Every API endpoint8845 feature categories8846 has feature categories8847 recognizes the feature categories8848 has no routes with multiple paths8849 doesn't define or exclude categories on removed actions8850Banzai::Filter::JiraImport::AdfToCommonmarkFilter8851 renders a complex document8852 renders original source when it is invalid JSON8853 renders original source when missing document node8854RuboCop::Cop::Scalability::FileUploads8855 with required params8856 detects File in types array8857 detects File as type argument8858 with optional params8859 detects File in types array8860 detects File as type argument8861Gitlab::IncidentManagement::PagerDuty::IncidentIssueDescription8862 #to_s8863 returns description8864 when created_at is missing8865 description contains current time in UTC8866 when there are several assignees8867 assignees is a list of links8868 when there are several impacted services8869 impacted services is a list of links8870RuboCop::Cop::Graphql::ResolverType8871 adds an offense when there is no type annotaion8872 does not add an offense for resolvers that have a type call8873 ignores type calls on other objects8874 does not add an offense unless the class is named using the Resolver convention8875Gitlab::QueryLimiting::Middleware8876 #call8877 runs the application with query limiting in place8878 #action_name8879 using a Rails request8880 returns the name of the controller and action8881 includes the content type if this is not text/html8882 using a Grape API request8883 returns the name of the request method and endpoint path8884 returns nil if the route can not be retrieved8885Gitlab::SQL::Union8886 behaves like SQL set operator8887 .operator_keyword8888 is expected to eq "UNION"8889 #to_sql8890 returns a String joining relations together using a UNION8891 skips Model.none segements8892 uses UNION ALL when removing duplicates is disabled8893 returns `NULL` if all relations are empty8894API::Entities::Nuget::Metadatum8895 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :licenseUrl=>"http://sandbox.com/license", :projectUrl=>"http://sandbox.com/project"}8896 metadatum without project_url8897 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :licenseUrl=>"http://sandbox.com/license"}8898 metadatum without license_url8899 is expected to eq {:iconUrl=>"http://sandbox.com/icon", :projectUrl=>"http://sandbox.com/project"}8900 metadatum without icon_url8901 is expected to eq {:licenseUrl=>"http://sandbox.com/license", :projectUrl=>"http://sandbox.com/project"}8902Gitlab::ImportExport::JSON::NdjsonWriter8903 #write_attributes8904 writes correct json to root8905 #write_relation8906 when single relation is serialized8907 appends json in correct file8908 when single relation is already serialized8909 raise exception8910 #write_relation_array8911 writes json in correct files8912Gitlab::Config::Entry::Simplifiable8913 .strategy8914 defines entry strategies8915 setting strategy by a condition8916 when first strategy should be used8917 attemps to load a first strategy8918 when second strategy should be used8919 attemps to load a second strategy8920 when neither one is a valid strategy8921 instantiates an unknown strategy8922 when a unknown strategy class is not defined8923 raises an error when being initialized8924Banzai::Pipeline::EmojiPipeline8925 replaces emoji8926 filters out HTML tags8927Gitlab::Database::DynamicModelHelpers8928 #define_batchable_model8929 is an ActiveRecord model8930 includes EachBatch8931 has the correct table name8932 has the inheritance type column disable8933gitlab:ldap:rename_provider rake task8934 completes without error8935Gitlab::RequestProfiler::Profile8936 .new8937 using old filename8938 returns valid data8939 using new filename8940 returns valid data8941 #content_type8942 when using html file8943 returns valid data8944 when using text file8945 returns valid data8946 when file is unknown8947 returns valid data8948RuboCop::Cop::ProjectPathHelper8949 when using namespace_project with the project's namespace8950 registers an offense8951 autocorrects to the right version8952 when using namespace_project with a different namespace8953 registers no offense8954Gitlab::Auth::Saml::OriginValidator8955 #store_origin8956 stores the SAML request ID8957 #gitlab_initiated?8958 returns false if InResponseTo is not present8959 returns false if InResponseTo does not match stored value8960 returns true if InResponseTo matches stored value8961Gitlab::GithubImport::ImportPullRequestReviewWorker8962 is expected to includes the Gitlab::GithubImport::ObjectImporter module8963 #representation_class8964 is expected to eq Gitlab::GithubImport::Representation::PullRequestReview8965 #importer_class8966 is expected to eq Gitlab::GithubImport::Importer::PullRequestReviewImporter8967 #counter_name8968 is expected to eq :github_importer_imported_pull_request_reviews8969 #counter_description8970 is expected to eq "The number of imported GitHub pull request reviews"8971Types::RepositoryType8972 is expected to eq "Repository"8973 is expected to require graphql authorizations :download_code8974 is expected to have graphql field :root_ref8975 is expected to have graphql field :tree8976Gitlab::HashedPath8977 #to_s8978 when path contains a single value8979 returns the disk path8980 when path contains multiple values8981 returns the disk path8982Gitlab::AppTextLogger8983 logs a hash as string8984 logs a string unchanged8985 logs time in UTC with ISO8601.3 standard8986Clusters::Project8987 is expected to belong to cluster required:8988 is expected to belong to project required:8989 is expected to have many kubernetes_namespaces8990Gitlab::TabWidth8991 .css_class_for_user8992 returns default CSS class when user is nil8993 returns CSS class for user's tab width8994 raises if tab width is out of valid range8995SelfMonitoringProjectCreateWorker8996 #perform8997 behaves like executes service8998 runs the service8999 .in_progress?9000 behaves like returns in_progress based on Sidekiq::Status9001 returns true when job is enqueued9002 returns false when job does not exist9003RuboCop::Cop::AvoidRouteRedirectLeadingSlash9004 registers an offense when redirect has a leading slash9005 does not register an offense when redirect does not have a leading slash9006 autocorrect `/-/route` to `-/route`9007Banzai::RenderContext9008 #project_for_node9009 returns the default project if no associated project was found9010 returns the associated project if one was associated explicitly9011 returns the project associated with a DocumentFragment when using a node9012RuboCop::Cop::Migration::RemoveIndex9013 in migration9014 registers an offense when remove_index is used9015 outside of migration9016 registers no offense9017Types::GroupInvitationType9018 is expected to expose permissions using Types::PermissionTypes::Group9019 is expected to eq "GroupInvitation"9020 is expected to require graphql authorizations :read_group9021 has the expected fields9022ComponentsHelper9023 #gitlab_workhorse_version9024 without a Gitlab-Workhorse header9025 shows the version from Gitlab::Workhorse.version9026 with a Gitlab-Workhorse header9027 shows the actual GitLab Workhorse version currently in use9028Resolvers::AlertManagement::AlertStatusCountsResolver9029 #resolve9030 is expected to be a kind of Gitlab::AlertManagement::AlertStatusCounts9031 is expected to eq #<Project id:1202 namespace1231/project1367>>9032RuboCop::Cop::Scalability::IdempotentWorker9033 adds an offense when not defining idempotent method9034 adds an offense when not defining idempotent method9035Gitlab::PhabricatorImport::Conduit::Maniphest9036 #tasks9037 calls the api with the correct params9038 returns a parsed response9039Gitlab::Database::SchemaCleaner9040 removes comments on extensions9041 no assumption about public being the default schema9042 cleans up the full schema as expected (blackbox test with example)9043Types::RootStorageStatisticsType9044 is expected to eq "RootStorageStatistics"9045 has all the required fields9046 is expected to require graphql authorizations :read_statistics9047Gitlab::ClassAttributes9048 .get_class_attribute9049 returns values set on the class9050 returns values set on a superclass9051 returns values from the subclass over attributes from a superclass9052Types::AccessLevelType9053 is expected to eq "AccessLevel"9054 is expected to require graphql authorizations nil9055 has expected fields9056Types::BranchType9057 is expected to eq "Branch"9058 is expected to have graphql fields :name and :commit9059Types::MilestoneStatsType9060 is expected to require graphql authorizations :read_milestone9061 has the expected fields9062RuboCop::Cop::SidekiqOptionsQueue9063 registers an offense when `sidekiq_options` is used with the `queue` option9064 does not register an offense when `sidekiq_options` is used with another option9065Types::CurrentUserTodos9066 is expected to eq "CurrentUserTodos"9067 is expected to have graphql fields :current_user_todos9068Gitlab::DependencyLinker::BaseLinker9069 #link9070 only converts valid links9071Atlassian::JiraConnect::Serializers::BaseEntity9072 generates the update_sequence_id9073 with update_sequence_id option9074 uses the custom update_sequence_id9075Banzai::Filter::NormalizeSourceFilter9076 removes the UTF8 BOM from the beginning of the text9077 does not remove those characters from anywhere else in the text9078Gitlab::GithubImport::ImportNoteWorker9079 #import9080 imports a note9081CiPlatformMetricsUpdateCronWorker9082 #perform9083 inserts new platform metrics9084Bitbucket::Collection9085 iterates paginator9086API::Entities::Nuget::SearchResult9087 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"}]}9088MicrosoftTeams::Activity9089 #prepare9090 returns the correct JSON object9091AuthorizedProjectUpdate::UserRefreshOverUserRangeWorker9092 #perform9093 calls AuthorizedProjectUpdate::RecalculateForUserRangeService9094Environments::AutoStopCronWorker9095 executes Environments::AutoStopService9096Types::Ci::JobArtifactFileTypeEnum9097 exposes all job artifact file types9098Gitlab::GitalyClient::Util9099 .repository9100 creates a Gitaly::Repository with the given data9101Gitlab::Metrics::Dashboard::Validator::CustomFormats9102 #format_handlers9103 add_to_metric_id_cache9104 adds data to metric id cache9105Knapsack report was generated. Preview:9106{9107 "spec/models/cycle_analytics/staging_spec.rb": 87.26505160331726,9108 "spec/uploaders/design_management/design_v432x230_uploader_spec.rb": 48.24212837219238,9109 "spec/lib/gitlab/middleware/go_spec.rb": 39.12328743934631,9110 "spec/models/clusters/cluster_spec.rb": 34.79330492019653,9111 "spec/services/ci/register_job_service_spec.rb": 28.651495218276978,9112 "spec/lib/object_storage/direct_upload_spec.rb": 22.555506944656372,9113 "spec/models/ci/job_artifact_spec.rb": 15.304537773132324,9114 "spec/finders/notes_finder_spec.rb": 18.708200454711914,9115 "spec/services/releases/create_service_spec.rb": 15.303366661071777,9116 "spec/lib/banzai/filter/merge_request_reference_filter_spec.rb": 14.790223598480225,9117 "spec/services/git/process_ref_changes_service_spec.rb": 11.526026487350464,9118 "spec/services/event_create_service_spec.rb": 10.607187271118164,9119 "spec/finders/projects/serverless/functions_finder_spec.rb": 9.683892250061035,9120 "spec/services/ci/pipeline_trigger_service_spec.rb": 7.912066459655762,9121 "spec/lib/gitlab/diff/highlight_cache_spec.rb": 8.13231348991394,9122 "spec/services/merge_requests/ff_merge_service_spec.rb": 9.258063077926636,9123 "spec/lib/gitlab/data_builder/push_spec.rb": 6.76901650428772,9124 "spec/models/project_services/data_fields_spec.rb": 7.86982798576355,9125 "spec/workers/git_garbage_collect_worker_spec.rb": 6.936392545700073,9126 "spec/services/issues/duplicate_service_spec.rb": 5.97844386100769,9127 "spec/policies/namespace/root_storage_statistics_policy_spec.rb": 6.244534254074097,9128 "spec/finders/members_finder_spec.rb": 6.128875255584717,9129 "spec/services/projects/update_pages_service_spec.rb": 5.520136833190918,9130 "spec/views/projects/merge_requests/show.html.haml_spec.rb": 10.338483572006226,9131 "spec/lib/gitlab/diff/position_tracer/image_strategy_spec.rb": 5.709305286407471,9132 "spec/services/notification_recipients/build_service_spec.rb": 5.261795282363892,9133 "spec/models/snippet_spec.rb": 5.156753063201904,9134 "spec/tasks/gitlab/update_templates_rake_spec.rb": 4.862996339797974,9135 "spec/graphql/mutations/issues/set_assignees_spec.rb": 3.6418662071228027,9136 "spec/models/operations/feature_flags/user_list_spec.rb": 2.977393627166748,9137 "spec/services/integrations/test/project_service_spec.rb": 4.867641448974609,9138 "spec/finders/ci/daily_build_group_report_results_finder_spec.rb": 4.073002576828003,9139 "spec/graphql/resolvers/merge_requests_resolver_spec.rb": 4.052619457244873,9140 "spec/lib/gitlab/import_export/snippet_repo_restorer_spec.rb": 3.4128432273864746,9141 "spec/models/concerns/chronic_duration_attribute_spec.rb": 3.993696928024292,9142 "spec/workers/pipeline_schedule_worker_spec.rb": 2.5341246128082275,9143 "spec/policies/ci/pipeline_policy_spec.rb": 3.5876803398132324,9144 "spec/workers/packages/nuget/extraction_worker_spec.rb": 3.488571882247925,9145 "spec/lib/gitlab/metrics/instrumentation_spec.rb": 2.4090020656585693,9146 "spec/services/ci/play_manual_stage_service_spec.rb": 3.0636842250823975,9147 "spec/services/projects/prometheus/alerts/notify_service_spec.rb": 3.492971420288086,9148 "spec/models/ci/build_trace_chunks/fog_spec.rb": 2.9031906127929688,9149 "spec/graphql/mutations/issues/set_due_date_spec.rb": 3.212794780731201,9150 "spec/models/draft_note_spec.rb": 3.2245054244995117,9151 "spec/services/projects/open_issues_count_service_spec.rb": 3.1362674236297607,9152 "spec/models/project_label_spec.rb": 2.338019371032715,9153 "spec/lib/gitlab/file_hook_spec.rb": 2.7353174686431885,9154 "spec/policies/board_policy_spec.rb": 2.668515920639038,9155 "spec/services/issuable/common_system_notes_service_spec.rb": 2.688615083694458,9156 "spec/workers/jira_connect/sync_project_worker_spec.rb": 2.3341777324676514,9157 "spec/serializers/deployment_cluster_entity_spec.rb": 2.4430246353149414,9158 "spec/lib/gitlab/usage_data_counters/issue_activity_unique_counter_spec.rb": 1.854097604751587,9159 "spec/models/wiki_page/meta_spec.rb": 2.44014573097229,9160 "spec/lib/gitlab/badge/pipeline/metadata_spec.rb": 2.1127662658691406,9161 "spec/lib/gitlab/ci/config/external/processor_spec.rb": 2.4033682346343994,9162 "spec/workers/pipeline_metrics_worker_spec.rb": 2.0718345642089844,9163 "spec/models/key_spec.rb": 1.9776718616485596,9164 "spec/lib/gitlab/import_export/snippets_repo_restorer_spec.rb": 2.0490517616271973,9165 "spec/services/metrics/dashboard/clone_dashboard_service_spec.rb": 2.08709454536438,9166 "spec/serializers/discussion_diff_file_entity_spec.rb": 2.942491054534912,9167 "spec/services/clusters/applications/destroy_service_spec.rb": 2.1640851497650146,9168 "spec/models/project_auto_devops_spec.rb": 1.9022247791290283,9169 "spec/services/projects/download_service_spec.rb": 1.8895823955535889,9170 "spec/services/projects/hashed_storage/rollback_attachments_service_spec.rb": 2.3541128635406494,9171 "spec/views/layouts/application.html.haml_spec.rb": 1.6927123069763184,9172 "spec/lib/gitlab/import_export/fork_spec.rb": 1.717649221420288,9173 "spec/lib/gitlab/github_import/importer/diff_note_importer_spec.rb": 1.698387622833252,9174 "spec/models/prometheus_alert_event_spec.rb": 1.543067216873169,9175 "spec/workers/destroy_pages_deployments_worker_spec.rb": 1.1946868896484375,9176 "spec/lib/banzai/reference_parser/milestone_parser_spec.rb": 1.5904467105865479,9177 "spec/services/labels/create_service_spec.rb": 1.63397216796875,9178 "spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb": 1.8532521724700928,9179 "spec/lib/gitlab/database/bulk_update_spec.rb": 1.444434642791748,9180 "spec/workers/deployments/execute_hooks_worker_spec.rb": 1.2459590435028076,9181 "spec/lib/gitlab/otp_key_rotator_spec.rb": 1.232499122619629,9182 "spec/services/clusters/cleanup/project_namespace_service_spec.rb": 1.6406042575836182,9183 "spec/services/discussions/capture_diff_note_positions_service_spec.rb": 1.1041357517242432,9184 "spec/lib/gitlab/ci/pipeline/chain/evaluate_workflow_rules_spec.rb": 1.3159356117248535,9185 "spec/lib/gitlab/ci/status/build/common_spec.rb": 1.503434181213379,9186 "spec/models/project_services/slack_slash_commands_service_spec.rb": 1.4030523300170898,9187 "spec/workers/gitlab/jira_import/stuck_jira_import_jobs_worker_spec.rb": 1.451005220413208,9188 "spec/serializers/test_report_entity_spec.rb": 0.861004114151001,9189 "spec/services/incident_management/pager_duty/create_incident_issue_service_spec.rb": 1.2822113037109375,9190 "spec/lib/gitlab/import_export/references_configuration_spec.rb": 1.034698724746704,9191 "spec/serializers/diffs_metadata_entity_spec.rb": 1.0185470581054688,9192 "spec/finders/ci/commit_statuses_finder_spec.rb": 1.0068182945251465,9193 "spec/views/projects/environments/terminal.html.haml_spec.rb": 0.836259126663208,9194 "spec/services/branches/validate_new_service_spec.rb": 0.8211650848388672,9195 "spec/uploaders/dependency_proxy/file_uploader_spec.rb": 0.8127751350402832,9196 "spec/lib/gitlab/ci/pipeline/chain/populate_spec.rb": 1.1065986156463623,9197 "spec/lib/gitlab/jira_import_spec.rb": 1.002307653427124,9198 "spec/models/concerns/id_in_ordered_spec.rb": 1.122530221939087,9199 "spec/lib/gitlab/slash_commands/issue_search_spec.rb": 1.1407361030578613,9200 "spec/serializers/label_serializer_spec.rb": 0.929476261138916,9201 "spec/finders/users_finder_spec.rb": 1.0092661380767822,9202 "spec/services/ci/pipeline_schedule_service_spec.rb": 0.8304891586303711,9203 "spec/models/ci/processable_spec.rb": 0.9231417179107666,9204 "spec/models/personal_access_token_spec.rb": 0.8699979782104492,9205 "spec/services/ci/expire_pipeline_cache_service_spec.rb": 0.8522834777832031,9206 "spec/lib/gitlab/ci/build/policy/variables_spec.rb": 0.7133212089538574,9207 "spec/workers/hashed_storage/project_rollback_worker_spec.rb": 0.5851483345031738,9208 "spec/lib/gitlab/legacy_github_import/wiki_formatter_spec.rb": 0.6206319332122803,9209 "spec/lib/gitlab/ci/status/build/manual_spec.rb": 0.8993434906005859,9210 "spec/models/alert_management/alert_assignee_spec.rb": 0.768096923828125,9211 "spec/lib/gitlab/ci/status/build/pending_spec.rb": 0.5721991062164307,9212 "spec/services/ci/cancel_user_pipelines_service_spec.rb": 0.7588069438934326,9213 "spec/services/groups/deploy_tokens/create_service_spec.rb": 0.8779239654541016,9214 "spec/services/spam/spam_verdict_service_spec.rb": 0.7220020294189453,9215 "spec/lib/gitlab/auth/two_factor_auth_verifier_spec.rb": 0.6068692207336426,9216 "spec/services/protected_branches/update_service_spec.rb": 0.691828727722168,9217 "spec/lib/gitlab/git/attributes_at_ref_parser_spec.rb": 0.6583538055419922,9218 "spec/lib/gitlab/legacy_github_import/label_formatter_spec.rb": 0.6200001239776611,9219 "spec/workers/mail_scheduler/issue_due_worker_spec.rb": 0.5915622711181641,9220 "spec/lib/gitlab/checks/push_file_count_check_spec.rb": 0.6847972869873047,9221 "spec/lib/gitlab/cycle_analytics/test_event_fetcher_spec.rb": 0.5643575191497803,9222 "spec/workers/releases/create_evidence_worker_spec.rb": 0.5737731456756592,9223 "spec/workers/clusters/cleanup/app_worker_spec.rb": 0.5919287204742432,9224 "spec/views/projects/pipeline_schedules/_pipeline_schedule.html.haml_spec.rb": 0.5842678546905518,9225 "spec/services/ci/change_variable_service_spec.rb": 0.4196128845214844,9226 "spec/models/approval_spec.rb": 0.49610471725463867,9227 "spec/models/concerns/editable_spec.rb": 0.46897411346435547,9228 "spec/lib/gitlab/jira/dvcs_spec.rb": 0.4985013008117676,9229 "spec/services/metrics/dashboard/grafana_metric_embed_service_spec.rb": 0.6673719882965088,9230 "spec/services/projects/prometheus/metrics/destroy_service_spec.rb": 0.43719053268432617,9231 "spec/presenters/tree_entry_presenter_spec.rb": 0.4446237087249756,9232 "spec/models/project_services/irker_service_spec.rb": 0.45093846321105957,9233 "spec/models/blob_viewer/changelog_spec.rb": 0.41249632835388184,9234 "spec/lib/bulk_imports/groups/pipelines/group_pipeline_spec.rb": 0.43367862701416016,9235 "spec/models/serverless/function_spec.rb": 0.3742051124572754,9236 "spec/serializers/feature_flag_summary_entity_spec.rb": 0.3478400707244873,9237 "spec/lib/gitlab/x509/commit_spec.rb": 0.4581429958343506,9238 "spec/graphql/resolvers/projects/services_resolver_spec.rb": 0.35510921478271484,9239 "spec/services/users/keys_count_service_spec.rb": 0.5252330303192139,9240 "spec/workers/gitlab/github_import/stage/import_pull_requests_reviews_worker_spec.rb": 0.3991527557373047,9241 "spec/lib/banzai/filter/wiki_link_filter_spec.rb": 0.32257771492004395,9242 "spec/support_specs/helpers/stub_feature_flags_spec.rb": 0.33291006088256836,9243 "spec/lib/gitlab/ci/config/entry/rules/rule_spec.rb": 0.4187345504760742,9244 "spec/lib/gitlab/noteable_metadata_spec.rb": 0.43966054916381836,9245 "spec/routing/import_routing_spec.rb": 0.3611912727355957,9246 "spec/lib/gitlab/exclusive_lease_helpers_spec.rb": 0.33129358291625977,9247 "spec/serializers/issuable_sidebar_extras_entity_spec.rb": 0.30916261672973633,9248 "spec/lib/gitlab/alert_management/alert_status_counts_spec.rb": 0.25978708267211914,9249 "spec/lib/gitlab/sidekiq_middleware_spec.rb": 0.31760621070861816,9250 "spec/lib/bulk_imports/common/extractors/graphql_extractor_spec.rb": 0.25197720527648926,9251 "spec/lib/gitlab/analytics/cycle_analytics/median_spec.rb": 0.3035004138946533,9252 "spec/lib/gitlab/encoding_helper_spec.rb": 0.14013671875,9253 "spec/lib/gitlab/ci/ansi2json/style_spec.rb": 0.23873114585876465,9254 "spec/workers/metrics/dashboard/prune_old_annotations_worker_spec.rb": 0.22942900657653809,9255 "spec/workers/gitlab/jira_import/stage/import_issues_worker_spec.rb": 0.31600451469421387,9256 "spec/lib/gitlab/json_cache_spec.rb": 0.23622941970825195,9257 "spec/lib/gitlab/ci/runner/backoff_spec.rb": 0.2175605297088623,9258 "spec/models/integration_spec.rb": 0.23303437232971191,9259 "spec/services/pod_logs/kubernetes_service_spec.rb": 0.24404072761535645,9260 "spec/services/namespace_settings/update_service_spec.rb": 0.24715614318847656,9261 "spec/serializers/analytics_merge_request_serializer_spec.rb": 0.25380563735961914,9262 "spec/views/shared/milestones/_issuables.html.haml_spec.rb": 0.14545607566833496,9263 "spec/lib/gitlab/graphql/representation/submodule_tree_entry_spec.rb": 0.24626541137695312,9264 "spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb": 0.21643495559692383,9265 "spec/lib/gitlab/ci/reports/test_case_spec.rb": 0.29602789878845215,9266 "spec/helpers/icons_helper_spec.rb": 0.18772244453430176,9267 "spec/models/concerns/ci/artifactable_spec.rb": 0.17599058151245117,9268 "spec/lib/gitlab/json_spec.rb": 0.2080378532409668,9269 "spec/services/dependency_proxy/pull_manifest_service_spec.rb": 0.1618497371673584,9270 "spec/lib/object_storage/config_spec.rb": 0.1682581901550293,9271 "spec/models/group_import_state_spec.rb": 0.15367865562438965,9272 "spec/lib/gitlab/database/partitioning/replace_table_spec.rb": 0.2016000747680664,9273 "spec/haml_lint/linter/documentation_links_spec.rb": 0.1568915843963623,9274 "spec/workers/concerns/limited_capacity/worker_spec.rb": 0.17819547653198242,9275 "spec/lib/gitlab/ci/ansi2json_spec.rb": 0.14075875282287598,9276 "spec/services/projects/open_merge_requests_count_service_spec.rb": 0.15547442436218262,9277 "spec/serializers/merge_request_basic_entity_spec.rb": 0.23716974258422852,9278 "spec/workers/concerns/reenqueuer_spec.rb": 0.14221763610839844,9279 "spec/services/admin/propagate_service_template_spec.rb": 0.23205041885375977,9280 "spec/finders/packages/packages_finder_spec.rb": 0.12368297576904297,9281 "spec/models/lfs_download_object_spec.rb": 0.16344594955444336,9282 "spec/serializers/container_repository_entity_spec.rb": 0.14425444602966309,9283 "spec/channels/application_cable/connection_spec.rb": 0.1470351219177246,9284 "spec/views/errors/access_denied.html.haml_spec.rb": 0.08577942848205566,9285 "spec/graphql/resolvers/project_pipelines_resolver_spec.rb": 0.11855387687683105,9286 "spec/services/pages_domains/retry_acme_order_service_spec.rb": 0.13646769523620605,9287 "spec/services/deploy_keys/create_service_spec.rb": 0.09368443489074707,9288 "spec/lib/gitlab/analytics/instance_statistics/workers_argument_builder_spec.rb": 0.11629033088684082,9289 "spec/lib/gitlab/template/finders/repo_template_finders_spec.rb": 0.08575844764709473,9290 "spec/rubocop/cop/migration/drop_table_spec.rb": 0.13048171997070312,9291 "spec/services/ci/pipeline_processing/atomic_processing_service/status_collection_spec.rb": 0.09646439552307129,9292 "spec/lib/api/entities/deploy_key_spec.rb": 0.08746647834777832,9293 "spec/lib/gitlab/dependency_linker/gemfile_linker_spec.rb": 0.12241482734680176,9294 "spec/lib/gitlab/ci/config/entry/key_spec.rb": 0.0979149341583252,9295 "spec/lib/gitlab/ci/config/entry/product/matrix_spec.rb": 0.07943892478942871,9296 "spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb": 0.0919497013092041,9297 "spec/lib/gitlab/webpack/manifest_spec.rb": 0.09538722038269043,9298 "spec/lib/feature/definition_spec.rb": 0.08996367454528809,9299 "spec/views/dashboard/projects/_blank_state_admin_welcome.haml_spec.rb": 0.0935673713684082,9300 "spec/lib/banzai/filter/math_filter_spec.rb": 0.06849265098571777,9301 "spec/tasks/gitlab/info_rake_spec.rb": 0.07092857360839844,9302 "spec/lib/json_web_token/hmac_token_spec.rb": 0.08350443840026855,9303 "spec/services/snippets/repository_validation_service_spec.rb": 0.24813079833984375,9304 "spec/lib/gitlab/rack_attack_spec.rb": 0.06265878677368164,9305 "spec/models/bulk_imports/configuration_spec.rb": 0.058637142181396484,9306 "spec/services/prometheus/proxy_variable_substitution_service_spec.rb": 0.05275225639343262,9307 "spec/graphql/types/invitation_interface_spec.rb": 0.06792163848876953,9308 "spec/workers/propagate_integration_worker_spec.rb": 0.03214144706726074,9309 "spec/bin/changelog_spec.rb": 0.05642342567443848,9310 "spec/lib/gitlab/access/branch_protection_spec.rb": 0.06293368339538574,9311 "spec/models/ci/artifact_blob_spec.rb": 0.05262041091918945,9312 "spec/lib/gitlab/service_desk_spec.rb": 0.06225395202636719,9313 "spec/lib/banzai/filter/spaced_link_filter_spec.rb": 0.0711514949798584,9314 "spec/models/packages/sem_ver_spec.rb": 0.05753064155578613,9315 "spec/lib/gitlab/database/multi_threaded_migration_spec.rb": 0.06828856468200684,9316 "spec/rubocop/cop/code_reuse/presenter_spec.rb": 0.046968936920166016,9317 "spec/lib/gitlab/etag_caching/router_spec.rb": 0.0767679214477539,9318 "spec/lib/gitlab/patch/prependable_spec.rb": 0.05638837814331055,9319 "spec/lib/gitlab/emoji_spec.rb": 0.054639339447021484,9320 "spec/lib/gitlab/ci/config/entry/commands_spec.rb": 0.05440711975097656,9321 "spec/graphql/types/design_management/design_type_spec.rb": 0.0695948600769043,9322 "spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb": 0.1612868309020996,9323 "spec/serializers/accessibility_reports_comparer_serializer_spec.rb": 0.02721095085144043,9324 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/client_spec.rb": 0.056092262268066406,9325 "spec/lib/gitlab/utils/lazy_attributes_spec.rb": 0.027067184448242188,9326 "spec/helpers/recaptcha_helper_spec.rb": 0.03742694854736328,9327 "spec/lib/gitlab/kubernetes/helm/v2/reset_command_spec.rb": 0.05757474899291992,9328 "spec/rubocop/cop/migration/timestamps_spec.rb": 0.04282402992248535,9329 "spec/lib/gitlab/config/entry/factory_spec.rb": 0.03786945343017578,9330 "spec/workers/pages_transfer_worker_spec.rb": 0.036644935607910156,9331 "spec/lib/gitlab/diff/formatters/text_formatter_spec.rb": 0.03832578659057617,9332 "spec/lib/gitlab/conan_token_spec.rb": 0.03218388557434082,9333 "spec/lib/gitlab/graphql/loaders/batch_lfs_oid_loader_spec.rb": 0.03265690803527832,9334 "spec/rubocop/cop/scalability/cron_worker_context_spec.rb": 0.03918886184692383,9335 "spec/lib/gitlab/discussions_diff/highlight_cache_spec.rb": 0.033780574798583984,9336 "spec/lib/gitlab/import_export/json/legacy_reader/hash_spec.rb": 0.04757547378540039,9337 "spec/lib/gitlab/sherlock/line_profiler_spec.rb": 0.03590583801269531,9338 "spec/rubocop/cop/api/base_spec.rb": 0.032816410064697266,9339 "spec/lib/gitlab/reference_counter_spec.rb": 0.037821054458618164,9340 "spec/initializers/action_mailer_hooks_spec.rb": 0.0318911075592041,9341 "spec/workers/ci/delete_objects_worker_spec.rb": 0.04671311378479004,9342 "spec/tooling/lib/tooling/parallel_rspec_runner_spec.rb": 0.06065082550048828,9343 "spec/rubocop/cop/code_reuse/service_class_spec.rb": 0.03267621994018555,9344 "spec/lib/gitlab/project_transfer_spec.rb": 0.03254532814025879,9345 "spec/lib/gitlab/graphql/loaders/batch_model_loader_spec.rb": 0.0297393798828125,9346 "spec/lib/gitlab/ci/config/extendable_spec.rb": 0.0334017276763916,9347 "spec/lib/gitlab/diff/stats_cache_spec.rb": 0.033480167388916016,9348 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_created_spec.rb": 0.024347782135009766,9349 "spec/graphql/types/permission_types/base_permission_type_spec.rb": 0.016898393630981445,9350 "spec/lib/gitlab/string_placeholder_replacer_spec.rb": 0.01553654670715332,9351 "spec/models/protected_tag_spec.rb": 0.029175281524658203,9352 "spec/validators/rsa_key_validator_spec.rb": 0.015982389450073242,9353 "spec/lib/gitlab/auth/key_status_checker_spec.rb": 0.030516386032104492,9354 "spec/models/project_services/chat_message/issue_message_spec.rb": 0.02133655548095703,9355 "spec/models/user_mentions/commit_user_mention_spec.rb": 0.020404338836669922,9356 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_build_finished_spec.rb": 0.026935338973999023,9357 "spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_stage_end_spec.rb": 0.026050806045532227,9358 "spec/models/performance_monitoring/prometheus_panel_group_spec.rb": 0.02123403549194336,9359 "spec/lib/api/every_api_endpoint_spec.rb": 0.03288674354553223,9360 "spec/lib/banzai/filter/jira_import/adf_to_commonmark_filter_spec.rb": 0.025925636291503906,9361 "spec/rubocop/cop/scalability/file_uploads_spec.rb": 0.029973745346069336,9362 "spec/lib/gitlab/incident_management/pager_duty/incident_issue_description_spec.rb": 0.01637101173400879,9363 "spec/rubocop/cop/graphql/resolver_type_spec.rb": 0.027003049850463867,9364 "spec/lib/gitlab/query_limiting/middleware_spec.rb": 0.02156972885131836,9365 "spec/lib/gitlab/sql/union_spec.rb": 0.026931285858154297,9366 "spec/lib/api/entities/nuget/metadatum_spec.rb": 0.01810479164123535,9367 "spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb": 0.026625871658325195,9368 "spec/lib/gitlab/config/entry/simplifiable_spec.rb": 0.021760940551757812,9369 "spec/lib/banzai/pipeline/emoji_pipeline_spec.rb": 0.015487909317016602,9370 "spec/lib/gitlab/database/dynamic_model_helpers_spec.rb": 0.01968860626220703,9371 "spec/tasks/gitlab/ldap_rake_spec.rb": 0.023571252822875977,9372 "spec/lib/gitlab/request_profiler/profile_spec.rb": 0.021706819534301758,9373 "spec/rubocop/cop/project_path_helper_spec.rb": 0.016636133193969727,9374 "spec/lib/gitlab/auth/saml/origin_validator_spec.rb": 0.020712852478027344,9375 "spec/workers/gitlab/github_import/import_pull_request_review_worker_spec.rb": 0.02158498764038086,9376 "spec/graphql/types/repository_type_spec.rb": 0.018753767013549805,9377 "spec/lib/gitlab/hashed_path_spec.rb": 0.008537769317626953,9378 "spec/lib/gitlab/app_text_logger_spec.rb": 0.01288151741027832,9379 "spec/models/clusters/project_spec.rb": 0.0185089111328125,9380 "spec/lib/gitlab/tab_width_spec.rb": 0.0120391845703125,9381 "spec/workers/self_monitoring_project_create_worker_spec.rb": 0.01658320426940918,9382 "spec/rubocop/cop/avoid_route_redirect_leading_slash_spec.rb": 0.01858806610107422,9383 "spec/lib/banzai/render_context_spec.rb": 0.013704776763916016,9384 "spec/rubocop/cop/migration/remove_index_spec.rb": 0.011927604675292969,9385 "spec/graphql/types/group_invitation_type_spec.rb": 0.015825748443603516,9386 "spec/helpers/components_helper_spec.rb": 0.01117396354675293,9387 "spec/graphql/resolvers/alert_management/alert_status_counts_resolver_spec.rb": 0.0076084136962890625,9388 "spec/rubocop/cop/scalability/idempotent_worker_spec.rb": 0.013848304748535156,9389 "spec/lib/gitlab/phabricator_import/conduit/maniphest_spec.rb": 0.010633230209350586,9390 "spec/lib/gitlab/database/schema_cleaner_spec.rb": 0.013449430465698242,9391 "spec/graphql/types/root_storage_statistics_type_spec.rb": 0.012748956680297852,9392 "spec/lib/gitlab/class_attributes_spec.rb": 0.011870384216308594,9393 "spec/graphql/types/access_level_type_spec.rb": 0.013445854187011719,9394 "spec/graphql/types/branch_type_spec.rb": 0.00818634033203125,9395 "spec/graphql/types/milestone_stats_type_spec.rb": 0.008474349975585938,9396 "spec/rubocop/cop/sidekiq_options_queue_spec.rb": 0.011222362518310547,9397 "spec/graphql/types/current_user_todos_type_spec.rb": 0.007990360260009766,9398 "spec/lib/gitlab/dependency_linker/base_linker_spec.rb": 0.0085906982421875,9399 "spec/lib/atlassian/jira_connect/serializers/base_entity_spec.rb": 0.00882267951965332,9400 "spec/lib/banzai/filter/normalize_source_filter_spec.rb": 0.00886678695678711,9401 "spec/workers/gitlab/github_import/import_note_worker_spec.rb": 0.007557868957519531,9402 "spec/workers/ci_platform_metrics_update_cron_worker_spec.rb": 0.007424116134643555,9403 "spec/lib/bitbucket/collection_spec.rb": 0.004253864288330078,9404 "spec/lib/api/entities/nuget/search_result_spec.rb": 0.0058078765869140625,9405 "spec/lib/microsoft_teams/activity_spec.rb": 0.004163980484008789,9406 "spec/workers/authorized_project_update/user_refresh_over_user_range_worker_spec.rb": 0.005639314651489258,9407 "spec/workers/environments/auto_stop_cron_worker_spec.rb": 0.005001544952392578,9408 "spec/graphql/types/ci/job_artifact_file_type_enum_spec.rb": 0.005864143371582031,9409 "spec/lib/gitlab/gitaly_client/util_spec.rb": 0.005728960037231445,9410 "spec/lib/gitlab/metrics/dashboard/validator/custom_formats_spec.rb": 0.004451036453247079411}9412Knapsack global time execution for tests: 10m 38s9413Pending: (Failures listed here are expected and do not affect your suite's status)9414 1) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 9415 # No pattern provided, skipping.9416 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89417 2) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #work_dir behaves like matches the method pattern 9418 # No pattern provided, skipping.9419 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89420 3) DesignManagement::DesignV432x230Uploader behaves like builds correct paths #relative_path is relative9421 # Path not set, skipping.9422 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409423 4) DesignManagement::DesignV432x230Uploader behaves like builds correct paths .base_dir behaves like matches the method pattern 9424 # No pattern provided, skipping.9425 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89426 5) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 9427 # No pattern provided, skipping.9428 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89429 6) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 9430 # No pattern provided, skipping.9431 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89432 7) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths #relative_path is relative9433 # Path not set, skipping.9434 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409435 8) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 9436 # No pattern provided, skipping.9437 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89438 9) DesignManagement::DesignV432x230Uploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 9439 # No pattern provided, skipping.9440 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89441 10) Operations::FeatureFlags::UserList behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required does not validate presence9442 # No reason given9443 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:339444 11) DependencyProxy::FileUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 9445 # No pattern provided, skipping.9446 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89447 12) DependencyProxy::FileUploader behaves like builds correct paths #relative_path is relative9448 # Path not set, skipping.9449 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409450 13) DependencyProxy::FileUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 9451 # No pattern provided, skipping.9452 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89453 14) DependencyProxy::FileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 9454 # No pattern provided, skipping.9455 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89456 15) DependencyProxy::FileUploader object store is remote behaves like builds correct paths #cache_dir behaves like matches the method pattern 9457 # No pattern provided, skipping.9458 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89459 16) DependencyProxy::FileUploader object store is remote behaves like builds correct paths #work_dir behaves like matches the method pattern 9460 # No pattern provided, skipping.9461 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89462 17) DependencyProxy::FileUploader object store is remote behaves like builds correct paths #upload_path behaves like matches the method pattern 9463 # No pattern provided, skipping.9464 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89465 18) DependencyProxy::FileUploader object store is remote behaves like builds correct paths #relative_path is relative9466 # Path not set, skipping.9467 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:409468 19) DependencyProxy::FileUploader object store is remote behaves like builds correct paths .absolute_path behaves like matches the method pattern 9469 # No pattern provided, skipping.9470 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89471 20) DependencyProxy::FileUploader object store is remote behaves like builds correct paths .base_dir behaves like matches the method pattern 9472 # No pattern provided, skipping.9473 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:89474Finished in 14 minutes 27 seconds (files took 52.61 seconds to load)94754173 examples, 0 failures, 20 pending9476Mon 30 Nov 2020 01:17:26 PM UTC9478Not uploading cache rails-v3-3 due to policy9480Uploading artifacts...9481coverage/: found 5 matching files and directories 9482WARNING: crystalball/: no matching files 9483deprecations/: found 52 matching files and directories 9484knapsack/: found 3 matching files and directories 9485rspec_flaky/: found 4 matching files and directories 9486rspec_profiling/: found 1 matching files and directories 9487WARNING: tmp/capybara/: no matching files 9488tmp/memory_test/: found 2 matching files and directories 9489tmp/feature_flags/: found 163 matching files and directories 9490log/*.log: found 19 matching files and directories 9491Uploading artifacts as "archive" to coordinator... ok id=880645342 responseStatus=201 Created token=WMjpEMQp9492Uploading artifacts...9493junit_rspec.xml: found 1 matching files and directories 9494Uploading artifacts as "junit" to coordinator... ok id=880645342 responseStatus=201 Created token=WMjpEMQp9496Job succeeded