rspec unit pg12 9/20
Passed Started
by
@ntepluhina

Natalia Tepluhina
1Running with gitlab-runner 14.3.0-rc1 (ed15bfbf)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM3 feature flags: FF_USE_FASTZIP:true, FF_SCRIPT_SECTIONS:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:91d892a67245e889ee058993bb08077e9980b16e08991c8b172adadee015594f for postgres:12 with digest postgres@sha256:5afbf72bfdb224f9ad3b29dd570747b4752ab2e81e9c25145847004f8a350e60 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:a0a8ec67111be1ffa9ee627aa0ef080c8281aba0f31a4a67f2b550f8e1e0b022 for redis:5.0-alpine with digest redis@sha256:fea243676a4d2d67f5990ddcbd4a56db9423b7f25e55758491e39988efc1cfbe ...13Waiting for services to be up and running...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...16Using docker image sha256:4cc2f63f50a93772721d8b8586f6fe8c920262e1302e0e8b6c12a1040960cfab for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eef05654d1ff5d68556b37c53250a692ec3a5fa299726f5bd1cbb4738b738976 ...18Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1632291256-90321477...21Downloading archived master...22Connecting to storage.googleapis.com (172.217.204.128:443)23saving to '/tmp/gitlab.tar.gz'24gitlab.tar.gz 58% |****************** | 204M 0:00:00 ETA25gitlab.tar.gz 100% |********************************| 346M 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/30Created fresh repository.31remote: Enumerating objects: 153, done. 32remote: Counting objects: 100% (131/131), done. 33remote: Compressing objects: 100% (47/47), done. 34remote: Total 57 (delta 41), reused 18 (delta 8), pack-reused 0 36 * [new ref] 2459b1529cac1ac0ad101b0164c2a64d868d8db8 -> refs/pipelines/37511528137 * [new branch] master -> origin/master38Checking out 2459b152 as master...39Skipping Git submodules setup41Checking cache for ruby-gems-v1-4...42cache.zip is up to date 43Successfully extracted cache44Checking cache for gitaly-ruby-gems-v1-4...45cache.zip is up to date 46Successfully extracted cache48Downloading artifacts for compile-test-assets (1612163134)...49Downloading artifacts from coordinator... ok id=1612163134 responseStatus=200 OK token=qFixL5uF50Downloading artifacts for retrieve-tests-metadata (1612163145)...51Downloading artifacts from coordinator... ok id=1612163145 responseStatus=200 OK token=TZTMsZuv52Downloading artifacts for setup-test-env (1612163139)...53Downloading artifacts from coordinator... ok id=1612163139 responseStatus=200 OK token=pjMJYLcz55Using docker image sha256:4cc2f63f50a93772721d8b8586f6fe8c920262e1302e0e8b6c12a1040960cfab for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eef05654d1ff5d68556b37c53250a692ec3a5fa299726f5bd1cbb4738b738976 ... 56 $ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb
00:00
61Bundler version 2.1.462production:development63Settings are listed in order of priority. The top value will be used.64path65Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"66clean67Set for the current user (/root/.bundle/config): "true"68without69Set via BUNDLE_WITHOUT: [:production, :development]70install_flags71Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"72$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check73The Gemfile's dependencies are satisfied74==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.75$ bundle pristine pg76Installing pg 1.2.3 with native extensions77==> 'bundle pristine pg' succeeded in 13 seconds.78$ setup_db_user_only79CREATE ROLE80GRANT81==> 'setup_db_user_only' succeeded in 1 seconds.82$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee83Dropped database 'gitlabhq_test'84Created database 'gitlabhq_test'85DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)86Dropped database 'gitlabhq_geo_test'87Created database 'gitlabhq_geo_test'88==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 115 seconds.90$ gem install knapsack --no-document91Successfully installed knapsack-4.0.0921 gem installed93==> 'gem install knapsack --no-document' succeeded in 1 seconds.95$ scripts/gitaly-test-spawn96Settings are listed in order of priority. The top value will be used.97jobs98Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 499retry100Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 3101path102Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"103deployment104Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): true105without106Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): [:production, :development]107Set via BUNDLE_WITHOUT: [:production, :development]108app_config109Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle"110gemfile111Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"112Don't run Bundler as root. Bundler can ask for sudo if it is needed, and113installing your bundle as root will break this application for all non-root114users on this machine.115Using abstract_type 0.0.7116Using concurrent-ruby 1.1.9117Using i18n 1.8.10118Using minitest 5.14.4119Using tzinfo 2.0.4120Using zeitwerk 2.4.2121Using activesupport 6.1.3.2122Using builder 3.2.4123Using erubi 1.10.0124Using mini_portile2 2.5.1125Using racc 1.5.2126Using nokogiri 1.11.7 (x86_64-linux)127Using rails-dom-testing 2.0.3128Using crass 1.0.6129Using loofah 2.10.0130Using rails-html-sanitizer 1.3.0131Using actionview 6.1.3.2132Using rack 2.2.3133Using rack-test 1.1.0134Using actionpack 6.1.3.2135Using ice_nine 0.11.2136Using thread_safe 0.3.6137Using memoizable 0.4.2138Using adamantium 0.2.0139Using public_suffix 4.0.6140Using addressable 2.7.0141Using ast 2.4.1142Using binding_ninja 0.2.3143Using bundler 2.1.4144Using charlock_holmes 0.7.7145Using coderay 1.1.2146Using equalizer 0.0.11147Using concord 0.1.5148Using diff-lcs 1.3149Using dotenv 2.7.6150Using escape_utils 1.2.1151Using factory_bot 5.0.2152Using multipart-post 2.1.1153Using faraday 1.0.1154Using ffi 1.15.3155Using json 2.5.1156Using gemojione 3.3.0157Using mini_mime 1.0.2158Using rugged 1.1.0159Using github-linguist 7.12.1160Using github-markup 1.7.0161Using mime-types-data 3.2020.1104162Using mime-types 3.3.1163Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1164Using rouge 3.26.0165Using nokogumbo 1.5.0166Using sanitize 4.6.6167Using stringex 2.8.5168Using gitlab-gollum-lib 4.2.7.10.gitlab.1169Using google-protobuf 3.17.3 (x86_64-linux)170Using googleapis-common-protos-types 1.1.0171Using grpc 1.30.2 (x86_64-linux)172Using opentracing 0.5.0173Using thrift 0.14.1174Using jaeger-client 1.1.0175Using pg_query 2.1.0176Using redis 4.2.5177Using gitlab-labkit 0.20.0178Using gitlab-markup 1.7.1179Using grpc-tools 1.30.2180Using sawyer 0.8.2181Using octokit 4.20.0182Using reverse_markdown 1.4.0183Using thor 1.1.0184Using licensee 9.14.1185Using method_source 0.9.2186Using msgpack 1.3.3187Using optimist 3.0.1188Using parallel 1.19.2189Using parser 2.7.2.0190Using procto 0.0.3191Using unparser 0.4.7192Using proc_to_ast 0.1.0193Using pry 0.12.2194Using rainbow 3.0.0195Using rbtrace 0.4.14196Using rdoc 6.3.2197Using regexp_parser 1.8.1198Using rexml 3.2.4199Using rspec-support 3.8.0200Using rspec-core 3.8.0201Using rspec-expectations 3.8.3202Using rspec-mocks 3.8.0203Using rspec 3.8.0204Using rspec-parameterized 0.4.2205Using rubocop-ast 0.2.0206Using ruby-progressbar 1.10.1207Using unicode-display_width 1.7.0208Using rubocop 0.86.0209Using sentry-raven 3.0.4210Using timecop 0.9.1211Bundle complete! 21 Gemfile dependencies, 96 gems now installed.212Gems in the groups production and development were not installed.213Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`214Checking gitaly-ruby Gemfile...215Checking gitaly-ruby bundle...216The Gemfile's dependencies are satisfied217Trying to connect to gitaly: ............................................. OK218Trying to connect to gitaly2: ............................................................. OK219Trying to connect to praefect: ......... OK220==> 'scripts/gitaly-test-spawn' succeeded in 14 seconds.223KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,factories,finders,frontend,graphql,haml_lint,helpers,initializers,javascripts,lib,models,policies,presenters,rack_servers,replicators,routing,rubocop,serializers,services,sidekiq,spam,support_specs,tasks,uploaders,validators,views,workers,tooling}{,/**/}*_spec.rb224Knapsack node specs:225spec/services/ci/register_job_service_spec.rb226spec/models/note_spec.rb227spec/lib/gitlab/background_migration/fix_projects_without_prometheus_service_spec.rb228spec/services/groups/transfer_service_spec.rb229spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb230spec/services/projects/import_service_spec.rb231spec/services/notes/quick_actions_service_spec.rb232spec/helpers/projects_helper_spec.rb233spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb234spec/lib/gitlab/git_access_snippet_spec.rb235spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb236spec/helpers/packages_helper_spec.rb237spec/serializers/build_details_entity_spec.rb238spec/services/clusters/applications/create_service_spec.rb239spec/models/integrations/unify_circuit_spec.rb240spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb241spec/lib/gitlab/ci/variables/collection_spec.rb242spec/lib/gitlab/email/handler/service_desk_handler_spec.rb243spec/models/gpg_signature_spec.rb244spec/services/groups/import_export/import_service_spec.rb245spec/models/protected_branch_spec.rb246spec/helpers/issues_helper_spec.rb247spec/lib/gitlab/git_ref_validator_spec.rb248spec/services/projects/import_export/export_service_spec.rb249spec/helpers/diff_helper_spec.rb250spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb251spec/lib/gitlab/ci/parsers/security/common_spec.rb252spec/finders/packages/nuget/package_finder_spec.rb253spec/services/clusters/update_service_spec.rb254spec/models/releases/link_spec.rb255spec/services/groups/group_links/create_service_spec.rb256spec/lib/atlassian/jira_connect/client_spec.rb257spec/services/ci/create_pipeline_service/needs_spec.rb258spec/lib/gitlab/current_settings_spec.rb259spec/models/serverless/domain_spec.rb260spec/uploaders/pages/deployment_uploader_spec.rb261spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb262spec/services/namespaces/package_settings/update_service_spec.rb263spec/graphql/gitlab_schema_spec.rb264spec/rubocop/code_reuse_helpers_spec.rb265spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb266spec/helpers/page_layout_helper_spec.rb267spec/lib/gitlab/static_site_editor/config/file_config/entry/global_spec.rb268spec/models/pages_domain_acme_order_spec.rb269spec/lib/gitlab/version_info_spec.rb270spec/workers/incident_management/process_alert_worker_v2_spec.rb271spec/services/packages/create_event_service_spec.rb272spec/models/clusters/providers/aws_spec.rb273spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb274spec/lib/gitlab/jira_import_spec.rb275spec/lib/kramdown/parser/atlassian_document_format_spec.rb276spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb277spec/graphql/resolvers/group_labels_resolver_spec.rb278spec/models/project_auto_devops_spec.rb279spec/graphql/mutations/issues/create_spec.rb280spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb281spec/presenters/clusterable_presenter_spec.rb282spec/lib/gitlab/ci/pipeline/expression/lexeme/and_spec.rb283spec/lib/gitlab/ci/matching/runner_matcher_spec.rb284spec/workers/new_merge_request_worker_spec.rb285spec/models/project_group_link_spec.rb286spec/models/customer_relations/contact_spec.rb287spec/services/namespace_settings/update_service_spec.rb288spec/services/notes/post_process_service_spec.rb289spec/models/packages/nuget/metadatum_spec.rb290spec/lib/atlassian/jira_connect/serializers/build_entity_spec.rb291spec/workers/repository_check/batch_worker_spec.rb292spec/lib/gitlab/kubernetes/helm/api_spec.rb293spec/bin/sidekiq_cluster_spec.rb294spec/lib/gitlab/error_tracking_spec.rb295spec/haml_lint/linter/documentation_links_spec.rb296spec/services/lfs/unlock_file_service_spec.rb297spec/models/x509_commit_signature_spec.rb298spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb299spec/models/board_spec.rb300spec/lib/extracts_ref_spec.rb301spec/services/merge_requests/merge_orchestration_service_spec.rb302spec/lib/gitlab/bare_repository_import/repository_spec.rb303spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb304spec/lib/gitlab/emoji_spec.rb305spec/lib/gitlab/ci/status/stage/play_manual_spec.rb306spec/services/packages/debian/extract_changes_metadata_service_spec.rb307spec/presenters/projects/import_export/project_export_presenter_spec.rb308spec/helpers/notifications_helper_spec.rb309spec/models/ci/persistent_ref_spec.rb310spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb311spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb312spec/lib/gitlab/repository_size_checker_spec.rb313spec/policies/namespace_policy_spec.rb314spec/models/integrations/custom_issue_tracker_spec.rb315spec/lib/gitlab/ci/config/external/file/remote_spec.rb316spec/workers/stuck_merge_jobs_worker_spec.rb317spec/services/members/groups/bulk_creator_service_spec.rb318spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb319spec/services/wiki_pages/destroy_service_spec.rb320spec/services/members/import_project_team_service_spec.rb321spec/services/groups/deploy_tokens/create_service_spec.rb322spec/serializers/discussion_diff_file_entity_spec.rb323spec/serializers/cluster_entity_spec.rb324spec/lib/gitlab/incoming_email_spec.rb325spec/lib/gitlab/pagination/keyset/pager_spec.rb326spec/services/packages/nuget/metadata_extraction_service_spec.rb327spec/lib/gitlab/popen/runner_spec.rb328spec/lib/gitlab/tracking/event_definition_spec.rb329spec/serializers/release_serializer_spec.rb330spec/lib/gitlab/data_builder/wiki_page_spec.rb331spec/views/admin/dashboard/index.html.haml_spec.rb332spec/lib/gitlab/url_blockers/ip_allowlist_entry_spec.rb333spec/models/packages/debian/group_component_spec.rb334spec/lib/gitlab/redis/boolean_spec.rb335spec/workers/object_pool/create_worker_spec.rb336spec/lib/constraints/project_url_constrainer_spec.rb337spec/config/settings_spec.rb338spec/services/pages_domains/create_acme_order_service_spec.rb339spec/serializers/review_app_setup_entity_spec.rb340spec/models/ci/freeze_period_spec.rb341spec/services/ci/job_artifacts/destroy_batch_service_spec.rb342spec/workers/concerns/worker_context_spec.rb343spec/rubocop/cop/rspec/be_success_matcher_spec.rb344spec/lib/gitlab/diff/position_tracer_spec.rb345spec/lib/gitlab/conan_token_spec.rb346spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb347spec/lib/gitlab/ci/build/releaser_spec.rb348spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb349spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb350spec/lib/gitlab/hook_data/project_member_builder_spec.rb351spec/lib/sidebars/projects/menus/deployments_menu_spec.rb352spec/views/projects/diffs/_viewer.html.haml_spec.rb353spec/workers/cleanup_container_repository_worker_spec.rb354spec/validators/color_validator_spec.rb355spec/models/merge_request_context_commit_spec.rb356spec/validators/devise_email_validator_spec.rb357spec/lib/gitlab/checks/push_check_spec.rb358spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb359spec/models/bulk_imports/configuration_spec.rb360spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb361spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb362spec/serializers/test_suite_comparer_entity_spec.rb363spec/lib/gitlab/jira_import/issues_importer_spec.rb364spec/services/merge_requests/base_service_spec.rb365spec/policies/identity_provider_policy_spec.rb366spec/serializers/evidences/milestone_entity_spec.rb367spec/lib/gitlab/diff/stats_cache_spec.rb368spec/lib/gitlab/git/patches/commit_patches_spec.rb369spec/services/namespaces/statistics_refresher_service_spec.rb370spec/serializers/ci/downloadable_artifact_entity_spec.rb371spec/workers/purge_dependency_proxy_cache_worker_spec.rb372spec/services/chat_names/authorize_user_service_spec.rb373spec/services/chat_names/find_user_service_spec.rb374spec/services/ci/prepare_build_service_spec.rb375spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb376spec/models/packages/composer/metadatum_spec.rb377spec/rubocop/cop/ignored_columns_spec.rb378spec/rubocop/cop/gitlab/feature_available_usage_spec.rb379spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb380spec/lib/gitlab/class_attributes_spec.rb381spec/lib/gitlab/import_export/avatar_saver_spec.rb382spec/rubocop/cop/code_reuse/presenter_spec.rb383spec/finders/lfs_pointers_finder_spec.rb384spec/lib/gitlab/usage_data_counters/web_ide_counter_spec.rb385spec/helpers/branches_helper_spec.rb386spec/graphql/types/commit_type_spec.rb387spec/lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter_spec.rb388spec/lib/gitlab/cycle_analytics/summary/value_spec.rb389spec/lib/banzai/pipeline_spec.rb390spec/initializers/0_log_deprecations_spec.rb391spec/helpers/time_helper_spec.rb392spec/workers/releases/manage_evidence_worker_spec.rb393spec/lib/gitlab/namespaced_session_store_spec.rb394spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb395spec/workers/packages/composer/cache_cleanup_worker_spec.rb396spec/lib/api/entities/user_spec.rb397spec/lib/gitlab/jwt_authenticatable_spec.rb398spec/helpers/ci/pipelines_helper_spec.rb399spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb400spec/lib/product_analytics/event_params_spec.rb401spec/services/award_emojis/copy_service_spec.rb402spec/lib/gitlab/config/entry/unspecified_spec.rb403spec/presenters/ci/pipeline_artifacts/code_coverage_presenter_spec.rb404spec/serializers/test_reports_comparer_serializer_spec.rb405spec/services/grafana/proxy_service_spec.rb406spec/lib/gitlab/github_import/parallel_importer_spec.rb407spec/views/groups/_home_panel.html.haml_spec.rb408spec/lib/gitlab/utils/inline_hash_spec.rb409spec/support_specs/matchers/be_sorted_spec.rb410spec/graphql/types/board_list_type_spec.rb411spec/tasks/admin_mode_spec.rb412spec/lib/gitlab/ci/status/build/created_spec.rb413spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb414spec/lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics_spec.rb415spec/views/projects/settings/ci_cd/_autodevops_form.html.haml_spec.rb416spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb417spec/graphql/mutations/user_callouts/create_spec.rb418spec/workers/build_finished_worker_spec.rb419spec/models/approval_spec.rb420spec/rubocop/cop/gitlab/namespaced_class_spec.rb421spec/finders/repositories/branch_names_finder_spec.rb422spec/workers/experiments/record_conversion_event_worker_spec.rb423spec/lib/gitlab/ci/status/build/canceled_spec.rb424spec/lib/gitlab/kubernetes/rollout_instances_spec.rb425spec/lib/peek/views/rugged_spec.rb426spec/services/dependency_proxy/auth_token_service_spec.rb427spec/serializers/ci/dag_pipeline_serializer_spec.rb428spec/serializers/import/gitlab_provider_repo_entity_spec.rb429spec/helpers/sourcegraph_helper_spec.rb430spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb431spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb432spec/graphql/types/permission_types/base_permission_type_spec.rb433spec/lib/sidebars/projects/menus/wiki_menu_spec.rb434spec/rubocop/cop/migration/add_timestamps_spec.rb435spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb436spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb437spec/services/protected_tags/destroy_service_spec.rb438spec/lib/api/entities/ci/job_request/image_spec.rb439spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb440spec/services/keys/destroy_service_spec.rb441spec/graphql/types/issuable_type_spec.rb442spec/validators/future_date_validator_spec.rb443spec/models/bulk_imports/export_upload_spec.rb444spec/serializers/group_link/project_group_link_entity_spec.rb445spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb446spec/serializers/ci/variable_entity_spec.rb447spec/finders/packages/composer/packages_finder_spec.rb448spec/models/preloaders/commit_status_preloader_spec.rb449spec/lib/gitlab/string_range_marker_spec.rb450spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb451spec/graphql/types/release_asset_link_input_type_spec.rb452spec/validators/html_safety_validator_spec.rb453spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb454spec/lib/gitlab/uploads_transfer_spec.rb455spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb456spec/lib/gitlab/ci/build/port_spec.rb457spec/lib/gitlab/gon_helper_spec.rb458spec/serializers/codequality_degradation_entity_spec.rb459spec/workers/repository_check/clear_worker_spec.rb460spec/lib/gitlab/kubernetes/cluster_role_binding_spec.rb461spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb462spec/services/emails/destroy_service_spec.rb463spec/lib/api/entities/projects/repository_storage_move_spec.rb464spec/graphql/types/container_repository_cleanup_status_enum_spec.rb465spec/graphql/types/packages/pypi/metadatum_type_spec.rb466spec/serializers/accessibility_error_entity_spec.rb467spec/workers/jira_connect/retry_request_worker_spec.rb468spec/graphql/types/packages/package_group_sort_enum_spec.rb469spec/helpers/startupjs_helper_spec.rb470spec/lib/api/entities/bulk_imports/entity_spec.rb471spec/graphql/types/packages/maven/metadatum_type_spec.rb472spec/serializers/analytics_build_serializer_spec.rb473spec/lib/api/validations/validators/untrusted_regexp_spec.rb474spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb475spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb476spec/serializers/rollout_statuses/ingress_entity_spec.rb477spec/graphql/types/packages/package_type_spec.rb478Filter specs:479Running specs:480Running all node tests without filter481spec/services/ci/register_job_service_spec.rb482spec/models/note_spec.rb483spec/lib/gitlab/background_migration/fix_projects_without_prometheus_service_spec.rb484spec/services/groups/transfer_service_spec.rb485spec/lib/gitlab/background_migration/migrate_issue_trackers_sensitive_data_spec.rb486spec/services/projects/import_service_spec.rb487spec/services/notes/quick_actions_service_spec.rb488spec/helpers/projects_helper_spec.rb489spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb490spec/lib/gitlab/git_access_snippet_spec.rb491spec/lib/gitlab/background_migration/legacy_upload_mover_spec.rb492spec/helpers/packages_helper_spec.rb493spec/serializers/build_details_entity_spec.rb494spec/services/clusters/applications/create_service_spec.rb495spec/models/integrations/unify_circuit_spec.rb496spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb497spec/lib/gitlab/ci/variables/collection_spec.rb498spec/lib/gitlab/email/handler/service_desk_handler_spec.rb499spec/models/gpg_signature_spec.rb500spec/services/groups/import_export/import_service_spec.rb501spec/models/protected_branch_spec.rb502spec/helpers/issues_helper_spec.rb503spec/lib/gitlab/git_ref_validator_spec.rb504spec/services/projects/import_export/export_service_spec.rb505spec/helpers/diff_helper_spec.rb506spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb507spec/lib/gitlab/ci/parsers/security/common_spec.rb508spec/finders/packages/nuget/package_finder_spec.rb509spec/services/clusters/update_service_spec.rb510spec/models/releases/link_spec.rb511spec/services/groups/group_links/create_service_spec.rb512spec/lib/atlassian/jira_connect/client_spec.rb513spec/services/ci/create_pipeline_service/needs_spec.rb514spec/lib/gitlab/current_settings_spec.rb515spec/models/serverless/domain_spec.rb516spec/uploaders/pages/deployment_uploader_spec.rb517spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb518spec/services/namespaces/package_settings/update_service_spec.rb519spec/graphql/gitlab_schema_spec.rb520spec/rubocop/code_reuse_helpers_spec.rb521spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb522spec/helpers/page_layout_helper_spec.rb523spec/lib/gitlab/static_site_editor/config/file_config/entry/global_spec.rb524spec/models/pages_domain_acme_order_spec.rb525spec/lib/gitlab/version_info_spec.rb526spec/workers/incident_management/process_alert_worker_v2_spec.rb527spec/services/packages/create_event_service_spec.rb528spec/models/clusters/providers/aws_spec.rb529spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb530spec/lib/gitlab/jira_import_spec.rb531spec/lib/kramdown/parser/atlassian_document_format_spec.rb532spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb533spec/graphql/resolvers/group_labels_resolver_spec.rb534spec/models/project_auto_devops_spec.rb535spec/graphql/mutations/issues/create_spec.rb536spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb537spec/presenters/clusterable_presenter_spec.rb538spec/lib/gitlab/ci/pipeline/expression/lexeme/and_spec.rb539spec/lib/gitlab/ci/matching/runner_matcher_spec.rb540spec/workers/new_merge_request_worker_spec.rb541spec/models/project_group_link_spec.rb542spec/models/customer_relations/contact_spec.rb543spec/services/namespace_settings/update_service_spec.rb544spec/services/notes/post_process_service_spec.rb545spec/models/packages/nuget/metadatum_spec.rb546spec/lib/atlassian/jira_connect/serializers/build_entity_spec.rb547spec/workers/repository_check/batch_worker_spec.rb548spec/lib/gitlab/kubernetes/helm/api_spec.rb549spec/bin/sidekiq_cluster_spec.rb550spec/lib/gitlab/error_tracking_spec.rb551spec/haml_lint/linter/documentation_links_spec.rb552spec/services/lfs/unlock_file_service_spec.rb553spec/models/x509_commit_signature_spec.rb554spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb555spec/models/board_spec.rb556spec/lib/extracts_ref_spec.rb557spec/services/merge_requests/merge_orchestration_service_spec.rb558spec/lib/gitlab/bare_repository_import/repository_spec.rb559spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb560spec/lib/gitlab/emoji_spec.rb561spec/lib/gitlab/ci/status/stage/play_manual_spec.rb562spec/services/packages/debian/extract_changes_metadata_service_spec.rb563spec/presenters/projects/import_export/project_export_presenter_spec.rb564spec/helpers/notifications_helper_spec.rb565spec/models/ci/persistent_ref_spec.rb566spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb567spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb568spec/lib/gitlab/repository_size_checker_spec.rb569spec/policies/namespace_policy_spec.rb570spec/models/integrations/custom_issue_tracker_spec.rb571spec/lib/gitlab/ci/config/external/file/remote_spec.rb572spec/workers/stuck_merge_jobs_worker_spec.rb573spec/services/members/groups/bulk_creator_service_spec.rb574spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb575spec/services/wiki_pages/destroy_service_spec.rb576spec/services/members/import_project_team_service_spec.rb577spec/services/groups/deploy_tokens/create_service_spec.rb578spec/serializers/discussion_diff_file_entity_spec.rb579spec/serializers/cluster_entity_spec.rb580spec/lib/gitlab/incoming_email_spec.rb581spec/lib/gitlab/pagination/keyset/pager_spec.rb582spec/services/packages/nuget/metadata_extraction_service_spec.rb583spec/lib/gitlab/popen/runner_spec.rb584spec/lib/gitlab/tracking/event_definition_spec.rb585spec/serializers/release_serializer_spec.rb586spec/lib/gitlab/data_builder/wiki_page_spec.rb587spec/views/admin/dashboard/index.html.haml_spec.rb588spec/lib/gitlab/url_blockers/ip_allowlist_entry_spec.rb589spec/models/packages/debian/group_component_spec.rb590spec/lib/gitlab/redis/boolean_spec.rb591spec/workers/object_pool/create_worker_spec.rb592spec/lib/constraints/project_url_constrainer_spec.rb593spec/config/settings_spec.rb594spec/services/pages_domains/create_acme_order_service_spec.rb595spec/serializers/review_app_setup_entity_spec.rb596spec/models/ci/freeze_period_spec.rb597spec/services/ci/job_artifacts/destroy_batch_service_spec.rb598spec/workers/concerns/worker_context_spec.rb599spec/rubocop/cop/rspec/be_success_matcher_spec.rb600spec/lib/gitlab/diff/position_tracer_spec.rb601spec/lib/gitlab/conan_token_spec.rb602spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb603spec/lib/gitlab/ci/build/releaser_spec.rb604spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb605spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb606spec/lib/gitlab/hook_data/project_member_builder_spec.rb607spec/lib/sidebars/projects/menus/deployments_menu_spec.rb608spec/views/projects/diffs/_viewer.html.haml_spec.rb609spec/workers/cleanup_container_repository_worker_spec.rb610spec/validators/color_validator_spec.rb611spec/models/merge_request_context_commit_spec.rb612spec/validators/devise_email_validator_spec.rb613spec/lib/gitlab/checks/push_check_spec.rb614spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb615spec/models/bulk_imports/configuration_spec.rb616spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb617spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb618spec/serializers/test_suite_comparer_entity_spec.rb619spec/lib/gitlab/jira_import/issues_importer_spec.rb620spec/services/merge_requests/base_service_spec.rb621spec/policies/identity_provider_policy_spec.rb622spec/serializers/evidences/milestone_entity_spec.rb623spec/lib/gitlab/diff/stats_cache_spec.rb624spec/lib/gitlab/git/patches/commit_patches_spec.rb625spec/services/namespaces/statistics_refresher_service_spec.rb626spec/serializers/ci/downloadable_artifact_entity_spec.rb627spec/workers/purge_dependency_proxy_cache_worker_spec.rb628spec/services/chat_names/authorize_user_service_spec.rb629spec/services/chat_names/find_user_service_spec.rb630spec/services/ci/prepare_build_service_spec.rb631spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb632spec/models/packages/composer/metadatum_spec.rb633spec/rubocop/cop/ignored_columns_spec.rb634spec/rubocop/cop/gitlab/feature_available_usage_spec.rb635spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb636spec/lib/gitlab/class_attributes_spec.rb637spec/lib/gitlab/import_export/avatar_saver_spec.rb638spec/rubocop/cop/code_reuse/presenter_spec.rb639spec/finders/lfs_pointers_finder_spec.rb640spec/lib/gitlab/usage_data_counters/web_ide_counter_spec.rb641spec/helpers/branches_helper_spec.rb642spec/graphql/types/commit_type_spec.rb643spec/lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter_spec.rb644spec/lib/gitlab/cycle_analytics/summary/value_spec.rb645spec/lib/banzai/pipeline_spec.rb646spec/initializers/0_log_deprecations_spec.rb647spec/helpers/time_helper_spec.rb648spec/workers/releases/manage_evidence_worker_spec.rb649spec/lib/gitlab/namespaced_session_store_spec.rb650spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb651spec/workers/packages/composer/cache_cleanup_worker_spec.rb652spec/lib/api/entities/user_spec.rb653spec/lib/gitlab/jwt_authenticatable_spec.rb654spec/helpers/ci/pipelines_helper_spec.rb655spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb656spec/lib/product_analytics/event_params_spec.rb657spec/services/award_emojis/copy_service_spec.rb658spec/lib/gitlab/config/entry/unspecified_spec.rb659spec/presenters/ci/pipeline_artifacts/code_coverage_presenter_spec.rb660spec/serializers/test_reports_comparer_serializer_spec.rb661spec/services/grafana/proxy_service_spec.rb662spec/lib/gitlab/github_import/parallel_importer_spec.rb663spec/views/groups/_home_panel.html.haml_spec.rb664spec/lib/gitlab/utils/inline_hash_spec.rb665spec/support_specs/matchers/be_sorted_spec.rb666spec/graphql/types/board_list_type_spec.rb667spec/tasks/admin_mode_spec.rb668spec/lib/gitlab/ci/status/build/created_spec.rb669spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb670spec/lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics_spec.rb671spec/views/projects/settings/ci_cd/_autodevops_form.html.haml_spec.rb672spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb673spec/graphql/mutations/user_callouts/create_spec.rb674spec/workers/build_finished_worker_spec.rb675spec/models/approval_spec.rb676spec/rubocop/cop/gitlab/namespaced_class_spec.rb677spec/finders/repositories/branch_names_finder_spec.rb678spec/workers/experiments/record_conversion_event_worker_spec.rb679spec/lib/gitlab/ci/status/build/canceled_spec.rb680spec/lib/gitlab/kubernetes/rollout_instances_spec.rb681spec/lib/peek/views/rugged_spec.rb682spec/services/dependency_proxy/auth_token_service_spec.rb683spec/serializers/ci/dag_pipeline_serializer_spec.rb684spec/serializers/import/gitlab_provider_repo_entity_spec.rb685spec/helpers/sourcegraph_helper_spec.rb686spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb687spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb688spec/graphql/types/permission_types/base_permission_type_spec.rb689spec/lib/sidebars/projects/menus/wiki_menu_spec.rb690spec/rubocop/cop/migration/add_timestamps_spec.rb691spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb692spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb693spec/services/protected_tags/destroy_service_spec.rb694spec/lib/api/entities/ci/job_request/image_spec.rb695spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb696spec/services/keys/destroy_service_spec.rb697spec/graphql/types/issuable_type_spec.rb698spec/validators/future_date_validator_spec.rb699spec/models/bulk_imports/export_upload_spec.rb700spec/serializers/group_link/project_group_link_entity_spec.rb701spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb702spec/serializers/ci/variable_entity_spec.rbKnapsack report generator started!703Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}704==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.057407157 seconds...705Test environment set up in 0.568399238 seconds706Ci::RegisterJobService707 #execute708 checks database loadbalancing stickiness709 result is valid if replica did caught-up710 result is invalid if replica did not caught-up711 when a long queue is created712 picks builds one-by-one713 runner follow tag list714 picks build with the same tag715 does not pick build with different tag716 picks build without tag717 does not pick build with tag718 pick build without tag719 deleted projects720 for shared runners721 does not pick a build722 for specific runner723 with FF disabled724 does not pick a build725 with FF enabled726 does not pick a build727 allow shared runners728 for multiple builds729 when using fair scheduling730 when all builds are pending731 prefers projects without builds first732 when some builds transition to success733 equalises number of running builds734 when using DEFCON mode that disables fair scheduling735 when all builds are pending736 returns builds in order of creation (FIFO)737 when some builds transition to success738 returns builds in order of creation (FIFO)739 shared runner740 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )741 is expected to be valid742 is expected to be running743 is expected to eq #<Ci::Runner id: 55, token: nil, created_at: "2021-09-22 10:20:21.994866516 +0000", updated_at: "2021...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>744 is expected to eq 40745 specific runner746 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )747 is expected to be valid748 is expected to be running749 is expected to eq #<Ci::Runner id: 71, token: nil, created_at: "2021-09-22 10:20:24.036309768 +0000", updated_at: "2021...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>750 disallow shared runners751 shared runner752 is expected to be nil753 specific runner754 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )755 is expected to be valid756 is expected to be running757 is expected to eq #<Ci::Runner id: 86, token: nil, created_at: "2021-09-22 10:20:25.925269065 +0000", updated_at: "2021...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>758 disallow when builds are disabled759 and uses shared runner760 is expected to be nil761 and uses group runner762 is expected to be nil763 and uses project runner764 with FF disabled765 is expected to be nil766 with FF enabled767 does not pick a build768 allow group runners769 for multiple builds770 does not consider builds from other group runners771 group runner772 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )773 is expected to be valid774 is expected to be running775 is expected to eq #<Ci::Runner id: 115, token: nil, created_at: "2021-09-22 10:20:31.006663230 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>776 disallow group runners777 group runner778 is expected to be nil779 when first build is stalled780 with multiple builds are in queue781 receives second build from the queue782 when single build is in queue783 does not receive any valid result784 when there is no build in queue785 does not receive builds but result is valid786 when access_level of runner is not_protected787 when a job is protected788 picks the job789 when a job is unprotected790 picks the job791 when protected attribute of a job is nil792 picks the job793 when access_level of runner is ref_protected794 when a job is protected795 picks the job796 when a job is unprotected797 does not pick the job798 when protected attribute of a job is nil799 does not pick the job800 runner feature set is verified801 when feature is missing by runner802 does not pick the build and drops the build803 when feature is supported by runner804 does pick job805 when "dependencies" keyword is specified806 behaves like validation is active807 when depended job has not been completed yet808 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...r_resource_at: nil, processed: false, scheduling_type: "stage", id: 78, stage_id: 62, tag_list: nil>809 when artifacts of depended job has been expired810 when the pipeline is locked811 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...r_resource_at: nil, processed: false, scheduling_type: "stage", id: 80, stage_id: 63, tag_list: nil>812 when the pipeline is unlocked813 behaves like not pick814 does not pick the build and drops the build815 when artifacts of depended job has been erased816 behaves like not pick817 does not pick the build and drops the build818 when job object is staled819 does not drop nor pick820 when build is degenerated821 does not pick the build and drops the build822 when build has data integrity problem823 does drop the build and logs both failures824 when build fails to be run!825 does drop the build and logs failure826 when an exception is raised during a persistent ref creation827 picks the build828 when only some builds can be matched by runner829 observes queue size of only matching jobs830 observes queue processing time by the runner type831 when ci_register_job_temporary_lock is enabled832 when a build is temporarily locked833 skips this build and marks queue as invalid834 when there is another build in queue835 skips this build and picks another build836 when using pending builds table837 with ci_queueing_denormalize_shared_runners_information enabled838 runner follow tag list839 picks build with the same tag840 does not pick build with different tag841 picks build without tag842 does not pick build with tag843 pick build without tag844 deleted projects845 for shared runners846 does not pick a build847 for specific runner848 with FF disabled849 does not pick a build850 with FF enabled851 does not pick a build852 allow shared runners853 for multiple builds854 when using fair scheduling855 when all builds are pending856 prefers projects without builds first857 when some builds transition to success858 equalises number of running builds859 when using DEFCON mode that disables fair scheduling860 when all builds are pending861 returns builds in order of creation (FIFO)862 when some builds transition to success863 returns builds in order of creation (FIFO)864 shared runner865 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )866 is expected to be valid867 is expected to be running868 is expected to eq #<Ci::Runner id: 236, token: nil, created_at: "2021-09-22 10:20:49.977744391 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>869 is expected to eq 139870 specific runner871 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )872 is expected to be valid873 is expected to be running874 is expected to eq #<Ci::Runner id: 252, token: nil, created_at: "2021-09-22 10:20:52.336321781 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>875 disallow shared runners876 shared runner877 is expected to be nil878 specific runner879 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )880 is expected to be valid881 is expected to be running882 is expected to eq #<Ci::Runner id: 267, token: nil, created_at: "2021-09-22 10:20:53.914376230 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>883 disallow when builds are disabled884 and uses shared runner885 is expected to be nil886 and uses group runner887 is expected to be nil888 and uses project runner889 with FF disabled890 is expected to be nil891 with FF enabled892 does not pick a build893 allow group runners894 for multiple builds895 does not consider builds from other group runners896 group runner897 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )898 is expected to be valid899 is expected to be running900 is expected to eq #<Ci::Runner id: 296, token: nil, created_at: "2021-09-22 10:20:58.631088379 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>901 disallow group runners902 group runner903 is expected to be nil904 when first build is stalled905 with multiple builds are in queue906 receives second build from the queue907 when single build is in queue908 does not receive any valid result909 when there is no build in queue910 does not receive builds but result is valid911 when access_level of runner is not_protected912 when a job is protected913 picks the job914 when a job is unprotected915 picks the job916 when protected attribute of a job is nil917 picks the job918 when access_level of runner is ref_protected919 when a job is protected920 picks the job921 when a job is unprotected922 does not pick the job923 when protected attribute of a job is nil924 does not pick the job925 runner feature set is verified926 when feature is missing by runner927 does not pick the build and drops the build928 when feature is supported by runner929 does pick job930 when "dependencies" keyword is specified931 behaves like validation is active932 when depended job has not been completed yet933 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 177, stage_id: 133, tag_list: nil>934 when artifacts of depended job has been expired935 when the pipeline is locked936 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 179, stage_id: 134, tag_list: nil>937 when the pipeline is unlocked938 behaves like not pick939 does not pick the build and drops the build940 when artifacts of depended job has been erased941 behaves like not pick942 does not pick the build and drops the build943 when job object is staled944 does not drop nor pick945 when build is degenerated946 does not pick the build and drops the build947 when build has data integrity problem948 does drop the build and logs both failures949 when build fails to be run!950 does drop the build and logs failure951 when an exception is raised during a persistent ref creation952 picks the build953 when only some builds can be matched by runner954 observes queue size of only matching jobs955 observes queue processing time by the runner type956 when ci_register_job_temporary_lock is enabled957 when a build is temporarily locked958 skips this build and marks queue as invalid959 when there is another build in queue960 skips this build and picks another build961 with ci_queueing_denormalize_shared_runners_information disabled962 runner follow tag list963 picks build with the same tag964 does not pick build with different tag965 picks build without tag966 does not pick build with tag967 pick build without tag968 deleted projects969 for shared runners970 does not pick a build971 for specific runner972 with FF disabled973 does not pick a build974 with FF enabled975 does not pick a build976 allow shared runners977 for multiple builds978 when using fair scheduling979 when all builds are pending980 prefers projects without builds first981 when some builds transition to success982 equalises number of running builds983 when using DEFCON mode that disables fair scheduling984 when all builds are pending985 returns builds in order of creation (FIFO)986 when some builds transition to success987 returns builds in order of creation (FIFO)988 shared runner989 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )990 is expected to be valid991 is expected to be running992 is expected to eq #<Ci::Runner id: 417, token: nil, created_at: "2021-09-22 10:21:17.722066215 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>993 is expected to eq 238994 specific runner995 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )996 is expected to be valid997 is expected to be running998 is expected to eq #<Ci::Runner id: 433, token: nil, created_at: "2021-09-22 10:21:19.865705463 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>999 disallow shared runners1000 shared runner1001 is expected to be nil1002 specific runner1003 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1004 is expected to be valid1005 is expected to be running1006 is expected to eq #<Ci::Runner id: 448, token: nil, created_at: "2021-09-22 10:21:21.603914816 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1007 disallow when builds are disabled1008 and uses shared runner1009 is expected to be nil1010 and uses group runner1011 is expected to be nil1012 and uses project runner1013 with FF disabled1014 is expected to be nil1015 with FF enabled1016 does not pick a build1017 allow group runners1018 for multiple builds1019 does not consider builds from other group runners1020 group runner1021 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1022 is expected to be valid1023 is expected to be running1024 is expected to eq #<Ci::Runner id: 477, token: nil, created_at: "2021-09-22 10:21:26.523564727 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1025 disallow group runners1026 group runner1027 is expected to be nil1028 when first build is stalled1029 with multiple builds are in queue1030 receives second build from the queue1031 when single build is in queue1032 does not receive any valid result1033 when there is no build in queue1034 does not receive builds but result is valid1035 when access_level of runner is not_protected1036 when a job is protected1037 picks the job1038 when a job is unprotected1039 picks the job1040 when protected attribute of a job is nil1041 picks the job1042 when access_level of runner is ref_protected1043 when a job is protected1044 picks the job1045 when a job is unprotected1046 does not pick the job1047 when protected attribute of a job is nil1048 does not pick the job1049 runner feature set is verified1050 when feature is missing by runner1051 does not pick the build and drops the build1052 when feature is supported by runner1053 does pick job1054 when "dependencies" keyword is specified1055 behaves like validation is active1056 when depended job has not been completed yet1057 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 276, stage_id: 204, tag_list: nil>1058 when artifacts of depended job has been expired1059 when the pipeline is locked1060 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 278, stage_id: 205, tag_list: nil>1061 when the pipeline is unlocked1062 behaves like not pick1063 does not pick the build and drops the build1064 when artifacts of depended job has been erased1065 behaves like not pick1066 does not pick the build and drops the build1067 when job object is staled1068 does not drop nor pick1069 when build is degenerated1070 does not pick the build and drops the build1071 when build has data integrity problem1072 does drop the build and logs both failures1073 when build fails to be run!1074 does drop the build and logs failure1075 when an exception is raised during a persistent ref creation1076 picks the build1077 when only some builds can be matched by runner1078 observes queue size of only matching jobs1079 observes queue processing time by the runner type1080 when ci_register_job_temporary_lock is enabled1081 when a build is temporarily locked1082 skips this build and marks queue as invalid1083 when there is another build in queue1084 skips this build and picks another build1085 with ci_queueing_denormalize_tags_information enabled1086 runner follow tag list1087 picks build with the same tag1088 does not pick build with different tag1089 picks build without tag1090 does not pick build with tag1091 pick build without tag1092 deleted projects1093 for shared runners1094 does not pick a build1095 for specific runner1096 with FF disabled1097 does not pick a build1098 with FF enabled1099 does not pick a build1100 allow shared runners1101 for multiple builds1102 when using fair scheduling1103 when all builds are pending1104 prefers projects without builds first1105 when some builds transition to success1106 equalises number of running builds1107 when using DEFCON mode that disables fair scheduling1108 when all builds are pending1109 returns builds in order of creation (FIFO)1110 when some builds transition to success1111 returns builds in order of creation (FIFO)1112 shared runner1113 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1114 is expected to be valid1115 is expected to be running1116 is expected to eq #<Ci::Runner id: 598, token: nil, created_at: "2021-09-22 10:21:45.469896099 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1117 is expected to eq 3371118 specific runner1119 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1120 is expected to be valid1121 is expected to be running1122 is expected to eq #<Ci::Runner id: 614, token: nil, created_at: "2021-09-22 10:21:47.472435022 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1123 disallow shared runners1124 shared runner1125 is expected to be nil1126 specific runner1127 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1128 is expected to be valid1129 is expected to be running1130 is expected to eq #<Ci::Runner id: 629, token: nil, created_at: "2021-09-22 10:21:48.955461605 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1131 disallow when builds are disabled1132 and uses shared runner1133 is expected to be nil1134 and uses group runner1135 is expected to be nil1136 and uses project runner1137 with FF disabled1138 is expected to be nil1139 with FF enabled1140 does not pick a build1141 allow group runners1142 for multiple builds1143 does not consider builds from other group runners1144 group runner1145 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1146 is expected to be valid1147 is expected to be running1148 is expected to eq #<Ci::Runner id: 658, token: nil, created_at: "2021-09-22 10:21:53.641907245 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1149 disallow group runners1150 group runner1151 is expected to be nil1152 when first build is stalled1153 with multiple builds are in queue1154 receives second build from the queue1155 when single build is in queue1156 does not receive any valid result1157 when there is no build in queue1158 does not receive builds but result is valid1159 when access_level of runner is not_protected1160 when a job is protected1161 picks the job1162 when a job is unprotected1163 picks the job1164 when protected attribute of a job is nil1165 picks the job1166 when access_level of runner is ref_protected1167 when a job is protected1168 picks the job1169 when a job is unprotected1170 does not pick the job1171 when protected attribute of a job is nil1172 does not pick the job1173 runner feature set is verified1174 when feature is missing by runner1175 does not pick the build and drops the build1176 when feature is supported by runner1177 does pick job1178 when "dependencies" keyword is specified1179 behaves like validation is active1180 when depended job has not been completed yet1181 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 375, stage_id: 275, tag_list: nil>1182 when artifacts of depended job has been expired1183 when the pipeline is locked1184 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 377, stage_id: 276, tag_list: nil>1185 when the pipeline is unlocked1186 behaves like not pick1187 does not pick the build and drops the build1188 when artifacts of depended job has been erased1189 behaves like not pick1190 does not pick the build and drops the build1191 when job object is staled1192 does not drop nor pick1193 when build is degenerated1194 does not pick the build and drops the build1195 when build has data integrity problem1196 does drop the build and logs both failures1197 when build fails to be run!1198 does drop the build and logs failure1199 when an exception is raised during a persistent ref creation1200 picks the build1201 when only some builds can be matched by runner1202 observes queue size of only matching jobs1203 observes queue processing time by the runner type1204 when ci_register_job_temporary_lock is enabled1205 when a build is temporarily locked1206 skips this build and marks queue as invalid1207 when there is another build in queue1208 skips this build and picks another build1209 with ci_queueing_denormalize_tags_information disabled1210 runner follow tag list1211 picks build with the same tag1212 does not pick build with different tag1213 picks build without tag1214 does not pick build with tag1215 pick build without tag1216 deleted projects1217 for shared runners1218 does not pick a build1219 for specific runner1220 with FF disabled1221 does not pick a build1222 with FF enabled1223 does not pick a build1224 allow shared runners1225 for multiple builds1226 when using fair scheduling1227 when all builds are pending1228 prefers projects without builds first1229 when some builds transition to success1230 equalises number of running builds1231 when using DEFCON mode that disables fair scheduling1232 when all builds are pending1233 returns builds in order of creation (FIFO)1234 when some builds transition to success1235 returns builds in order of creation (FIFO)1236 shared runner1237 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1238 is expected to be valid1239 is expected to be running1240 is expected to eq #<Ci::Runner id: 779, token: nil, created_at: "2021-09-22 10:22:14.250615753 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1241 is expected to eq 4361242 specific runner1243 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1244 is expected to be valid1245 is expected to be running1246 is expected to eq #<Ci::Runner id: 795, token: nil, created_at: "2021-09-22 10:22:16.405100580 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1247 disallow shared runners1248 shared runner1249 is expected to be nil1250 specific runner1251 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1252 is expected to be valid1253 is expected to be running1254 is expected to eq #<Ci::Runner id: 810, token: nil, created_at: "2021-09-22 10:22:18.253933836 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1255 disallow when builds are disabled1256 and uses shared runner1257 is expected to be nil1258 and uses group runner1259 is expected to be nil1260 and uses project runner1261 with FF disabled1262 is expected to be nil1263 with FF enabled1264 does not pick a build1265 allow group runners1266 for multiple builds1267 does not consider builds from other group runners1268 group runner1269 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1270 is expected to be valid1271 is expected to be running1272 is expected to eq #<Ci::Runner id: 839, token: nil, created_at: "2021-09-22 10:22:23.408536736 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1273 disallow group runners1274 group runner1275 is expected to be nil1276 when first build is stalled1277 with multiple builds are in queue1278 receives second build from the queue1279 when single build is in queue1280 does not receive any valid result1281 when there is no build in queue1282 does not receive builds but result is valid1283 when access_level of runner is not_protected1284 when a job is protected1285 picks the job1286 when a job is unprotected1287 picks the job1288 when protected attribute of a job is nil1289 picks the job1290 when access_level of runner is ref_protected1291 when a job is protected1292 picks the job1293 when a job is unprotected1294 does not pick the job1295 when protected attribute of a job is nil1296 does not pick the job1297 runner feature set is verified1298 when feature is missing by runner1299 does not pick the build and drops the build1300 when feature is supported by runner1301 does pick job1302 when "dependencies" keyword is specified1303 behaves like validation is active1304 when depended job has not been completed yet1305 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 474, stage_id: 346, tag_list: nil>1306 when artifacts of depended job has been expired1307 when the pipeline is locked1308 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 476, stage_id: 347, tag_list: nil>1309 when the pipeline is unlocked1310 behaves like not pick1311 does not pick the build and drops the build1312 when artifacts of depended job has been erased1313 behaves like not pick1314 does not pick the build and drops the build1315 when job object is staled1316 does not drop nor pick1317 when build is degenerated1318 does not pick the build and drops the build1319 when build has data integrity problem1320 does drop the build and logs both failures1321 when build fails to be run!1322 does drop the build and logs failure1323 when an exception is raised during a persistent ref creation1324 picks the build1325 when only some builds can be matched by runner1326 observes queue size of only matching jobs1327 observes queue processing time by the runner type1328 when ci_register_job_temporary_lock is enabled1329 when a build is temporarily locked1330 skips this build and marks queue as invalid1331 when there is another build in queue1332 skips this build and picks another build1333 with ci_queueing_denormalize_namespace_traversal_ids disabled1334 runner follow tag list1335 picks build with the same tag1336 does not pick build with different tag1337 picks build without tag1338 does not pick build with tag1339 pick build without tag1340 deleted projects1341 for shared runners1342 does not pick a build1343 for specific runner1344 with FF disabled1345 does not pick a build1346 with FF enabled1347 does not pick a build1348 allow shared runners1349 for multiple builds1350 when using fair scheduling1351 when all builds are pending1352 prefers projects without builds first1353 when some builds transition to success1354 equalises number of running builds1355 when using DEFCON mode that disables fair scheduling1356 when all builds are pending1357 returns builds in order of creation (FIFO)1358 when some builds transition to success1359 returns builds in order of creation (FIFO)1360 shared runner1361 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1362 is expected to be valid1363 is expected to be running1364 is expected to eq #<Ci::Runner id: 960, token: nil, created_at: "2021-09-22 10:22:42.921764652 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1365 is expected to eq 5351366 specific runner1367 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1368 is expected to be valid1369 is expected to be running1370 is expected to eq #<Ci::Runner id: 976, token: nil, created_at: "2021-09-22 10:22:45.251375001 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1371 disallow shared runners1372 shared runner1373 is expected to be nil1374 specific runner1375 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1376 is expected to be valid1377 is expected to be running1378 is expected to eq #<Ci::Runner id: 991, token: nil, created_at: "2021-09-22 10:22:47.086190239 +0000", updated_at: "202...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1379 disallow when builds are disabled1380 and uses shared runner1381 is expected to be nil1382 and uses group runner1383 is expected to be nil1384 and uses project runner1385 with FF disabled1386 is expected to be nil1387 with FF enabled1388 does not pick a build1389 allow group runners1390 for multiple builds1391 does not consider builds from other group runners1392 group runner1393 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1394 is expected to be valid1395 is expected to be running1396 is expected to eq #<Ci::Runner id: 1020, token: nil, created_at: "2021-09-22 10:22:51.853060999 +0000", updated_at: "20...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1397 disallow group runners1398 group runner1399 is expected to be nil1400 when first build is stalled1401 with multiple builds are in queue1402 receives second build from the queue1403 when single build is in queue1404 does not receive any valid result1405 when there is no build in queue1406 does not receive builds but result is valid1407 when access_level of runner is not_protected1408 when a job is protected1409 picks the job1410 when a job is unprotected1411 picks the job1412 when protected attribute of a job is nil1413 picks the job1414 when access_level of runner is ref_protected1415 when a job is protected1416 picks the job1417 when a job is unprotected1418 does not pick the job1419 when protected attribute of a job is nil1420 does not pick the job1421 runner feature set is verified1422 when feature is missing by runner1423 does not pick the build and drops the build1424 when feature is supported by runner1425 does pick job1426 when "dependencies" keyword is specified1427 behaves like validation is active1428 when depended job has not been completed yet1429 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 573, stage_id: 417, tag_list: nil>1430 when artifacts of depended job has been expired1431 when the pipeline is locked1432 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 575, stage_id: 418, tag_list: nil>1433 when the pipeline is unlocked1434 behaves like not pick1435 does not pick the build and drops the build1436 when artifacts of depended job has been erased1437 behaves like not pick1438 does not pick the build and drops the build1439 when job object is staled1440 does not drop nor pick1441 when build is degenerated1442 does not pick the build and drops the build1443 when build has data integrity problem1444 does drop the build and logs both failures1445 when build fails to be run!1446 does drop the build and logs failure1447 when an exception is raised during a persistent ref creation1448 picks the build1449 when only some builds can be matched by runner1450 observes queue size of only matching jobs1451 observes queue processing time by the runner type1452 when ci_register_job_temporary_lock is enabled1453 when a build is temporarily locked1454 skips this build and marks queue as invalid1455 when there is another build in queue1456 skips this build and picks another build1457 when not using pending builds table1458 runner follow tag list1459 picks build with the same tag1460 does not pick build with different tag1461 picks build without tag1462 does not pick build with tag1463 pick build without tag1464 deleted projects1465 for shared runners1466 does not pick a build1467 for specific runner1468 with FF disabled1469 does not pick a build1470 with FF enabled1471 does not pick a build1472 allow shared runners1473 for multiple builds1474 when using fair scheduling1475 when all builds are pending1476 prefers projects without builds first1477 when some builds transition to success1478 equalises number of running builds1479 when using DEFCON mode that disables fair scheduling1480 when all builds are pending1481 returns builds in order of creation (FIFO)1482 when some builds transition to success1483 returns builds in order of creation (FIFO)1484 shared runner1485 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1486 is expected to be valid1487 is expected to be running1488 is expected to eq #<Ci::Runner id: 1141, token: nil, created_at: "2021-09-22 10:23:13.146101187 +0000", updated_at: "20...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1489 is expected to eq 6341490 specific runner1491 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1492 is expected to be valid1493 is expected to be running1494 is expected to eq #<Ci::Runner id: 1157, token: nil, created_at: "2021-09-22 10:23:15.198523288 +0000", updated_at: "20...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1495 disallow shared runners1496 shared runner1497 is expected to be nil1498 specific runner1499 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1500 is expected to be valid1501 is expected to be running1502 is expected to eq #<Ci::Runner id: 1172, token: nil, created_at: "2021-09-22 10:23:17.250414779 +0000", updated_at: "20...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1503 disallow when builds are disabled1504 and uses shared runner1505 is expected to be nil1506 and uses group runner1507 is expected to be nil1508 and uses project runner1509 with FF disabled1510 is expected to be nil1511 with FF enabled1512 does not pick a build1513 allow group runners1514 for multiple builds1515 does not consider builds from other group runners1516 group runner1517 is expected to be a kind of Ci::Build(status: string, finished_at: datetime, trace: text, created_at: datetime, updated_at: datet..._timezone, processed: boolean, scheduling_type: integer, id: integer, stage_id: integer, tag_list: )1518 is expected to be valid1519 is expected to be running1520 is expected to eq #<Ci::Runner id: 1201, token: nil, created_at: "2021-09-22 10:23:22.288067038 +0000", updated_at: "20...ects_minutes_cost_factor: 0.0, private_projects_minutes_cost_factor: 1.0, config: {}, tag_list: nil>1521 disallow group runners1522 group runner1523 is expected to be nil1524 when first build is stalled1525 with multiple builds are in queue1526 receives second build from the queue1527 when single build is in queue1528 does not receive any valid result1529 when there is no build in queue1530 does not receive builds but result is valid1531 when access_level of runner is not_protected1532 when a job is protected1533 picks the job1534 when a job is unprotected1535 picks the job1536 when protected attribute of a job is nil1537 picks the job1538 when access_level of runner is ref_protected1539 when a job is protected1540 picks the job1541 when a job is unprotected1542 does not pick the job1543 when protected attribute of a job is nil1544 does not pick the job1545 runner feature set is verified1546 when feature is missing by runner1547 does not pick the build and drops the build1548 when feature is supported by runner1549 does pick job1550 when "dependencies" keyword is specified1551 behaves like validation is active1552 when depended job has not been completed yet1553 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 672, stage_id: 488, tag_list: nil>1554 when artifacts of depended job has been expired1555 when the pipeline is locked1556 is expected to eq #<Ci::Build status: "pending", finished_at: nil, trace: nil, created_at: "2021-09-22 08:50:29.0000000...resource_at: nil, processed: false, scheduling_type: "stage", id: 674, stage_id: 489, tag_list: nil>1557 when the pipeline is unlocked1558 behaves like not pick1559 does not pick the build and drops the build1560 when artifacts of depended job has been erased1561 behaves like not pick1562 does not pick the build and drops the build1563 when job object is staled1564 does not drop nor pick1565 when build is degenerated1566 does not pick the build and drops the build1567 when build has data integrity problem1568 does drop the build and logs both failures1569 when build fails to be run!1570 does drop the build and logs failure1571 when an exception is raised during a persistent ref creation1572 picks the build1573 when only some builds can be matched by runner1574 observes queue size of only matching jobs1575 observes queue processing time by the runner type1576 when ci_register_job_temporary_lock is enabled1577 when a build is temporarily locked1578 skips this build and marks queue as invalid1579 when there is another build in queue1580 skips this build and picks another build1581 #register_success1582 when shared runner is used1583 behaves like metrics collector1584 behaves like attempt counter collector1585 increments attempt counter1586 behaves like jobs queueing time histogram collector1587 counts job queuing time histogram with expected labels1588 when project already has running jobs1589 counts job queuing time histogram with expected labels1590 when metrics_shard tag is defined1591 behaves like metrics collector1592 behaves like attempt counter collector1593 increments attempt counter1594 behaves like jobs queueing time histogram collector1595 counts job queuing time histogram with expected labels1596 when project already has running jobs1597 counts job queuing time histogram with expected labels1598 when multiple metrics_shard tag is defined1599 behaves like metrics collector1600 behaves like attempt counter collector1601 increments attempt counter1602 behaves like jobs queueing time histogram collector1603 counts job queuing time histogram with expected labels1604 when project already has running jobs1605 counts job queuing time histogram with expected labels1606 when pending job with queued_at=nil is used1607 doesn't count job queuing time histogram1608 behaves like attempt counter collector1609 increments attempt counter1610 when specific runner is used1611 behaves like metrics collector1612 behaves like attempt counter collector1613 increments attempt counter1614 behaves like jobs queueing time histogram collector1615 counts job queuing time histogram with expected labels1616 when project already has running jobs1617 counts job queuing time histogram with expected labels1618 when runner_session params are1619 present sets runner session configuration in the build1620 not present it does not configure the runner session1621 when max queue depth is reached1622 returns 409 conflict1623Note1624 associations1625 is expected to belong to project required:1626 is expected to belong to noteable required:1627 is expected to belong to author class_name => User required:1628 is expected to have many todos1629 is expected to belong to review required: inverse_of => notes1630 modules1631 is expected to includes the Participable module1632 is expected to includes the Mentionable module1633 is expected to includes the Awardable module1634 is expected to includes the Sortable module1635 validation1636 is expected to validate that the length of :note is at most 10000001637 is expected to validate that :note cannot be empty/falsy1638 is expected to validate that :project cannot be empty/falsy1639 when note is on commit1640 is expected to validate that :commit_id cannot be empty/falsy1641 is expected not to validate that :noteable_id cannot be empty/falsy1642 when note is not on commit1643 is expected not to validate that :commit_id cannot be empty/falsy1644 is expected to validate that :noteable_id cannot be empty/falsy1645 when noteable and note project differ1646 is expected to be invalid1647 when noteable and note project are the same1648 is expected to be valid1649 when project is missing for a project related note1650 is expected to be invalid1651 when noteable is a personal snippet1652 is valid without project1653 max notes limit1654 when creating a system note1655 is expected to be valid1656 when creating a user note1657 is expected not to be valid1658 when updating an existing note on a noteable that already exceeds the limit1659 is expected to be valid1660 callbacks1661 #notify_after_create1662 calls #after_note_created on the noteable1663 #notify_after_destroy1664 calls #after_note_destroyed on the noteable1665 does not error if noteable is nil1666 Commit notes1667 is accessible through #noteable1668 saves a valid note1669 is recognized by #for_commit?1670 keeps the commit around1671 does not generate N+1 queries for participants1672 authorization1673 read1674 is expected to be falsey1675 is expected to be truthy1676 is expected to be falsey1677 write1678 is expected to be falsey1679 is expected to be truthy1680 is expected to be falsey1681 admin1682 is expected to be falsey1683 is expected to be truthy1684 is expected to be falsey1685 behaves like an editable mentionable1686 creates new cross-reference notes when the mentionable text is edited1687 behaves like a mentionable1688 generates a descriptive back-reference1689 extracts references from its reference property1690 creates cross-reference notes1691 when there are cached markdown fields1692 sends in cached markdown fields when appropriate1693 when there are cached markdown fields1694 refreshes markdown cache if necessary1695 when the markdown cache is stale1696 persists the refreshed cache so that it does not have to be refreshed every time1697 #all_references1698 reads the rendered note body from the cache1699 editable?1700 returns true1701 returns false1702 noteable_author?1703 when note is on commit1704 if user is the noteable author1705 returns true1706 if user is not the noteable author1707 returns false1708 when note is on issue1709 if user is the noteable author1710 returns true1711 if user is not the noteable author1712 returns false1713 last_edited_at1714 with last_edited_at1715 returns last_edited_at1716 without last_edited_at1717 returns updated_at1718 edited?1719 with updated_by1720 returns true1721 without updated_by1722 returns false1723 #confidential?1724 when note is not confidential1725 is false when a noteable is not confidential1726 is false when noteable can't be confidential1727 when include_noteable is set to true1728 is true when a noteable is confidential1729 when include_noteable is not set to true1730 is false when a noteable is confidential1731 when note is confidential1732 is true even when a noteable is not confidential1733 #system_note_with_references_visible_for?1734 when project is public1735 behaves like users with note access1736 returns true1737 when group is private1738 returns visible but not readable for non-member user1739 returns visible but not readable for a nil user1740 behaves like users with note access1741 returns true1742 #system_note_viewable_by?(user)1743 when system_note_metadata is not present1744 returns true1745 system_note_metadata isn't of type 'branch'1746 returns true1747 user doesn't have :download_code ability1748 returns false1749 user has the :download_code ability1750 returns true1751 system_note_with_references_visible_for?1752 when there is one reference in note1753 behaves like checks references1754 returns false1755 returns true1756 returns true if user visible reference count set1757 returns false if user visible reference count set but does not match total reference count1758 returns false if ref count is 01759 when there is a reference to a label1760 behaves like checks references1761 returns false1762 returns true1763 returns true if user visible reference count set1764 returns false if user visible reference count set but does not match total reference count1765 returns false if ref count is 01766 when there are two references in note1767 behaves like checks references1768 returns false1769 returns true1770 returns true if user visible reference count set1771 returns false if user visible reference count set but does not match total reference count1772 returns false if ref count is 01773 when there is a private issue and user reference1774 behaves like checks references1775 returns false1776 returns true1777 returns true if user visible reference count set1778 returns false if user visible reference count set but does not match total reference count1779 returns false if ref count is 01780 when there is a publicly visible user reference1781 returns true for other users1782 returns true for anonymous users1783 #system_note_with_references?1784 falsey for user-generated notes1785 when the note might contain cross references1786 delegates to the cross-reference regex1787 delegates to the cross-reference regex1788 delegates to the cross-reference regex1789 delegates to the cross-reference regex1790 delegates to the cross-reference regex1791 delegates to the cross-reference regex1792 delegates to the cross-reference regex1793 delegates to the cross-reference regex1794 delegates to the cross-reference regex1795 delegates to the cross-reference regex1796 delegates to the cross-reference regex1797 delegates to the cross-reference regex1798 delegates to the cross-reference regex1799 delegates to the cross-reference regex1800 delegates to the cross-reference regex1801 delegates to the cross-reference regex1802 delegates to the cross-reference regex1803 delegates to the cross-reference regex1804 delegates to the cross-reference regex1805 delegates to the cross-reference regex1806 when the note cannot contain cross references1807 scan for a `mentioned in` prefix1808 when system note metadata is not present1809 delegates to the system note service1810 with a system note1811 with :label action1812 is expected to be falsy1813 behaves like system_note_metadata includes note action1814 delegates to the cross-reference regex1815 with cross reference label note1816 is expected to be truthy1817 with :milestone action1818 is expected to be falsy1819 behaves like system_note_metadata includes note action1820 delegates to the cross-reference regex1821 with cross reference milestone note1822 is expected to be truthy1823 clear_blank_line_code!1824 clears a blank line code before validation1825 #participants1826 includes the note author1827 #start_of_discussion?1828 returns true when note is the start of a discussion1829 returns false when note is a reply1830 .find_discussion1831 returns a discussion with multiple notes1832 .grouped_diff_discussions1833 active diff discussions1834 includes active discussions1835 doesn't include outdated discussions1836 groups the discussions by line code1837 with image discussions1838 groups image discussions by file identifier1839 groups text discussions by line code1840 diff discussions for older diff refs1841 for diff refs a discussion was created at1842 includes discussions that were created then1843 groups the discussions by original line code1844 for diff refs a discussion was last active at1845 includes discussions that were last active1846 groups the discussions by line code1847 .simple_sorts1848 does not contain name sorts1849 .cherry_picked_merge_requests1850 returns merge requests that match the given merge commit1851 #for_project_snippet?1852 returns true for a project snippet note1853 returns false for a personal snippet note1854 #for_personal_snippet?1855 returns false for a project snippet note1856 returns true for a personal snippet note1857 #for_design1858 is true when the noteable is a design1859 #to_ability_name1860 returns note1861 #noteable_ability_name1862 returns snippet for a project snippet note1863 returns snippet for a personal snippet note1864 returns merge_request for an MR note1865 returns issue for an issue note1866 returns commit for a commit note1867 returns alert_management_alert for an alert note1868 #cache_markdown_field1869 note for a project snippet1870 skips project check1871 note for a personal snippet1872 does not skip project check1873 #can_be_discussion_note?1874 for a note on a merge request1875 returns true1876 for a note on an issue1877 returns true1878 for a note on a commit1879 returns true1880 for a note on a snippet1881 returns true1882 for a diff note on merge request1883 returns false1884 for a diff note on commit1885 returns false1886 for a discussion note1887 returns false1888 #discussion_class1889 when the note is displayed out of context1890 returns OutOfContextDiscussion1891 when the note is displayed in the original context1892 returns IndividualNoteDiscussion1893 #discussion_id1894 when it is newly created1895 has a discussion id1896 when it didn't store a discussion id before1897 has a discussion id1898 when the note is displayed out of context1899 overrides the discussion id1900 #to_discussion1901 returns a discussion with just this note1902 #discussion1903 when the note is part of a discussion1904 returns the discussion this note is in1905 when the note is not part of a discussion1906 returns a discussion with just this note1907 #part_of_discussion?1908 for a regular note1909 returns false1910 for a diff note1911 returns true1912 for a discussion note1913 returns true1914 #in_reply_to?1915 for a note1916 when part of a discussion1917 checks if the note is in reply to the other discussion1918 when not part of a discussion1919 checks if the note is in reply to the other noteable1920 for a discussion1921 when part of the same discussion1922 returns true1923 when not part of the same discussion1924 returns false1925 for a noteable1926 when a comment on the same noteable1927 returns true1928 when not a comment on the same noteable1929 returns false1930 #references1931 when part of a discussion1932 references all earlier notes in the discussion1933 when not part of a discussion1934 returns the noteable1935 expiring ETag cache1936 expires cache for note's issue when note is saved1937 expires cache for note's issue when note is destroyed1938 when issuable etag caching is disabled1939 does not store cache key1940 for merge requests1941 when adding a note to the MR1942 expires the MR note etag cache1943 when adding a note to a commit on the MR1944 expires the MR note etag cache1945 #with_notes_filter1946 when notes filter is nil1947 is expected to include #<Note id: 181, note: [FILTERED], noteable_type: "Issue", author_id: 288, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil> and #<Note id: 182, note: [FILTERED], noteable_type: "Issue", author_id: 289, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil>1948 when notes filter is set to all notes1949 is expected to include #<Note id: 183, note: [FILTERED], noteable_type: "Issue", author_id: 290, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil> and #<Note id: 184, note: [FILTERED], noteable_type: "Issue", author_id: 291, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil>1950 when notes filter is set to only comments1951 is expected to include #<Note id: 185, note: [FILTERED], noteable_type: "Issue", author_id: 292, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil>1952 is expected not to include #<Note id: 188, note: [FILTERED], noteable_type: "Issue", author_id: 295, created_at: "2021-09-22 10:...change_position: nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil>1953 #parent1954 returns project for project notes1955 returns nil for personal snippet note1956 scopes1957 .for_note_or_capitalized_note1958 returns the expected matching note1959 returns the expected capitalized note1960 does not support pattern matching1961 .like_note_or_capitalized_note1962 returns the expected matching note1963 returns the expected capitalized note1964 supports pattern matching1965 .with_suggestions1966 returns the correct note1967 #noteable_assignee_or_author?1968 when user is nil1969 returns false1970 when noteable is an issue1971 behaves like author check1972 when the provided user is the author1973 returns true1974 when the provided user is neither author nor assignee1975 returns true1976 behaves like assignee check1977 when the provided user is one of the assignees1978 returns true1979 when noteable is a merge request1980 behaves like author check1981 when the provided user is the author1982 returns true1983 when the provided user is neither author nor assignee1984 returns true1985 behaves like assignee check1986 when the provided user is one of the assignees1987 returns true1988 when noteable is a snippet1989 behaves like author check1990 when the provided user is the author1991 returns true1992 when the provided user is neither author nor assignee1993 returns true1994 banzai_render_context1995 when noteable is a merge request1996 sets the label_url_method in the context1997 when noteable is an issue1998 sets the label_url_method in the context1999 when noteable is a personal snippet2000 sets the parent user in the context2001 #parent_user2002 returns the author of a personal snippet2003 returns nil for project snippet2004 returns nil when noteable is not a snippet2005 #skip_notification?2006 when there is no review2007 is expected to be falsey2008 when the review exists2009 is expected to be truthy2010 #attachment2011 is cleaned up correctly when project is destroyed2012 #post_processed_cache_key2013 returns cache key and author cache key by default2014 when note has no author2015 returns cache key only2016 when note has redacted_note_html2017 returns cache key with redacted_note_html sha2018Groups::TransferService2019 handling packages2020 with an npm package2021 behaves like transfer not allowed2022 does not allow transfer when there is a root namespace change2023 with a project within subgroup2024 behaves like transfer not allowed2025 does not allow transfer when there is a root namespace change2026 without a root namespace change2027 allows transfer2028 when transferring a group into a root group2029 behaves like transfer not allowed2030 does not allow transfer when there is a root namespace change2031 without an npm package2032 when transferring a group into a root group2033 allows transfer2034 #execute2035 when transforming a group into a root group2036 behaves like ensuring allowed transfer for a group2037 when there's an exception on GitLab shell directories2038 returns false2039 adds an error on group2040 when the group is already a root group2041 adds an error on group2042 when the user does not have the right policies2043 returns false2044 adds an error on group2045 when there is a group with the same path2046 returns false2047 adds an error on group2048 when the group is a subgroup and the transfer is valid2049 updates group attributes2050 updates group children path2051 updates group projects path2052 when transferring a subgroup into another group2053 behaves like ensuring allowed transfer for a group2054 when there's an exception on GitLab shell directories2055 returns false2056 adds an error on group2057 when the new parent group is the same as the previous parent group2058 returns false2059 adds an error on group2060 when the user does not have the right policies2061 returns false2062 adds an error on group2063 when the parent has a group with the same path2064 returns false2065 adds an error on group2066 when the parent group has a project with the same path2067 returns false2068 adds an error on group2069 when the group is allowed to be transferred2070 updates visibility for the group based on the parent group2071 updates parent group to the new parent2072 returns the group as children of the new parent2073 creates a redirect for the group2074 when the group has a lower visibility than the parent group2075 does not update the visibility for the group2076 when the group has a higher visibility than the parent group2077 updates visibility level based on the parent group2078 with a group integration2079 with an inherited integration2080 replaces inherited integrations2081 with a custom integration2082 does not updates the integrations2083 shared runners configuration2084 if parent group has disabled shared runners but allows overrides2085 calls update service2086 if parent group does not allow shared runners2087 calls update service2088 if parent group allows shared runners2089 does not call update service and keeps them disabled on the group2090 when a group is transferred to its subgroup2091 does not execute the transfer2092 when transferring a group with group descendants2093 updates subgroups path2094 creates redirects for the subgroups2095 when the new parent has a higher visibility than the children2096 does not update the children visibility2097 when the new parent has a lower visibility than the children2098 updates children visibility to match the new parent2099 when transferring a group with project descendants2100 updates projects path2101 creates permanent redirects for the projects2102 when the new parent has a higher visibility than the projects2103 does not update projects visibility2104 when the new parent has a lower visibility than the projects2105 updates projects visibility to match the new parent2106 when transferring a group with subgroups & projects descendants2107 updates subgroups path2108 updates projects path2109 creates redirect for the subgroups and projects2110 when transferring a group with nested groups and projects2111 updated paths2112 updates subgroups path2113 updates projects path2114 creates redirect for the subgroups and projects2115 resets project authorizations2116 removes old project authorizations2117 adds new project authorizations2118 performs authorizations job immediately2119 for nested projects2120 removes old project authorizations2121 adds new project authorizations2122 for groups with many members2123 adds new project authorizations for the user which makes a transfer2124 schedules authorizations job2125 when transferring a group with two factor authentication switched on2126 does not update group two factor authentication setting2127 when new parent disallows two factor authentication switched on for descendants2128 updates group two factor authentication setting2129 schedules update of group two factor authentication setting for descendants2130 when updating the group goes wrong2131 restores group and projects visibility2132 when group has pending builds2133 updates pending builds for the group2134 when transferring a subgroup into root group2135 ensures there is still an owner for the transferred group2136 when group has explicit owner2137 does not add additional owner2138 when a project has container images2139 within group2140 does not transfer2141 within subgroup2142 does not transfer2143Projects::ImportService2144 #async?2145 returns true for an asynchronous importer2146 returns false for a regular importer2147 returns false when the importer does not define #async?2148 returns false when the importer does not exist2149 #execute2150 with unknown url2151 succeeds if repository is created successfully2152 fails if repository creation fails2153 when repository creation succeeds2154 does not download lfs files2155 with known url2156 with a Github repository2157 succeeds if repository import was scheduled2158 fails if repository import was not scheduled2159 when repository import scheduled2160 does not download lfs objects2161 with a non Github repository2162 succeeds if repository import is successful2163 fails if repository import fails2164 when lfs import fails2165 logs the error2166 when repository import scheduled2167 downloads lfs objects if lfs_enabled is enabled for project2168 does not download lfs objects if lfs_enabled is not enabled for project2169 with valid importer2170 succeeds if importer succeeds2171 fails if importer fails2172 when importer2173 has a custom repository importer it does not download lfs objects2174 does not have a custom repository importer downloads lfs objects2175 when lfs import fails2176 logs the error2177 with blocked import_URL2178 fails with localhost2179 fails with port 252180 behaves like measurable service2181 when measurement is enabled2182 measure service execution with Gitlab::Utils::Measuring2183 when measurement is disabled2184 does not measure service execution2185Notes::QuickActionsService2186 .noteable_update_service_class2187 returns Issues::UpdateService for a note on an issue2188 returns MergeRequests::UpdateService for a note on a merge request2189 returns Commits::TagService for a note on a commit2190 .supported?2191 with a note on an issue2192 returns true2193 with a note on a commit2194 returns false2195 #supported?2196 delegates to the class method2197 #execute2198 behaves like note on noteable that supports quick actions2199 note with only command2200 /close, /label, /assign & /milestone2201 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2202 /relate2203 user cannot relate issues2204 does not create issue relation2205 user is allowed to relate issues2206 creates issue relation2207 /reopen2208 opens the noteable, and leave no note2209 /spend2210 when note is not persisted2211 adds time to noteable, adds timelog with nil note_id and has no content2212 when note is persisted2213 updates the spent time and populates timelog with note_id2214 adds a system note2215 when not specifying a date2216 does not include the date2217 when specifying a date2218 does include the date2219 /estimate2220 adds time estimate to noteable2221 note with command & text2222 /close, /label, /assign & /milestone2223 closes noteable, sets labels, assigns, and sets milestone to noteable2224 /reopen2225 opens the noteable2226 /milestone2227 on an incident2228 leaves the note empty2229 assigns the milestone2230 on a merge request2231 leaves the note empty2232 assigns the milestone2233 /remove_milestone2234 on an issue2235 leaves the note empty2236 removes the milestone2237 on an incident2238 leaves the note empty2239 removes the milestone2240 on a merge request2241 leaves the note empty2242 removes the milestone2243 behaves like note on noteable that supports quick actions2244 note with only command2245 /close, /label, /assign & /milestone2246 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2247 /relate2248 user cannot relate issues2249 does not create issue relation2250 user is allowed to relate issues2251 creates issue relation2252 /reopen2253 opens the noteable, and leave no note2254 /spend2255 when note is not persisted2256 adds time to noteable, adds timelog with nil note_id and has no content2257 when note is persisted2258 updates the spent time and populates timelog with note_id2259 adds a system note2260 when not specifying a date2261 does not include the date2262 when specifying a date2263 does include the date2264 /estimate2265 adds time estimate to noteable2266 note with command & text2267 /close, /label, /assign & /milestone2268 closes noteable, sets labels, assigns, and sets milestone to noteable2269 /reopen2270 opens the noteable2271 /milestone2272 on an incident2273 leaves the note empty2274 assigns the milestone2275 on a merge request2276 leaves the note empty2277 assigns the milestone2278 /remove_milestone2279 on an issue2280 leaves the note empty2281 removes the milestone2282 on an incident2283 leaves the note empty2284 removes the milestone2285 on a merge request2286 leaves the note empty2287 removes the milestone2288 behaves like note on noteable that supports quick actions2289 note with only command2290 /close, /label, /assign & /milestone2291 closes noteable, sets labels, assigns, and sets milestone to noteable, and leave no note2292 /relate2293 user cannot relate issues2294 does not create issue relation2295 user is allowed to relate issues2296 creates issue relation2297 /reopen2298 opens the noteable, and leave no note2299 /spend2300 when note is not persisted2301 adds time to noteable, adds timelog with nil note_id and has no content2302 when note is persisted2303 updates the spent time and populates timelog with note_id2304 adds a system note2305 when not specifying a date2306 does not include the date2307 when specifying a date2308 does include the date2309 /estimate2310 adds time estimate to noteable2311 note with command & text2312 /close, /label, /assign & /milestone2313 closes noteable, sets labels, assigns, and sets milestone to noteable2314 /reopen2315 opens the noteable2316 /milestone2317 on an incident2318 leaves the note empty2319 assigns the milestone2320 on a merge request2321 leaves the note empty2322 assigns the milestone2323 /remove_milestone2324 on an issue2325 leaves the note empty2326 removes the milestone2327 on an incident2328 leaves the note empty2329 removes the milestone2330 on a merge request2331 leaves the note empty2332 removes the milestone2333 CE restriction for issue assignees2334 /assign2335 adds only one assignee from the list2336ProjectsHelper2337 #project_incident_management_setting2338 when incident_management_setting exists2339 return project_incident_management_setting2340 when incident_management_setting does not exist2341 builds incident_management_setting2342 #error_tracking_setting_project_json2343 error tracking setting does not exist2344 returns nil2345 error tracking setting exists2346 api_url present2347 returns error tracking json2348 api_url not present2349 returns nil2350 #project_status_css_class2351 returns appropriate class2352 can_change_visibility_level?2353 returns false if there are no appropriate permissions2354 returns true if there are permissions2355 #can_disable_emails?2356 returns true for the project owner2357 returns false for anyone else2358 returns false if group emails disabled2359 readme_cache_key2360 returns a valid cach key2361 returns a valid cache key if HEAD does not exist2362 #project_list_cache_key2363 includes the route2364 includes the project2365 includes the last activity date2366 includes the controller name2367 includes the controller action2368 includes the application settings2369 includes a version2370 includes whether or not the user can read cross project2371 includes the pipeline status when there is a status2372 includes the user locale2373 includes the user max member access2374 #load_pipeline_status2375 loads the pipeline status in batch2376 #show_no_ssh_key_message?2377 user has no keys2378 returns true2379 user has an ssh key2380 returns false2381 #show_no_password_message?2382 user has password set2383 returns false2384 user has hidden the message2385 returns false2386 user requires a password for Git2387 returns true2388 user requires a personal access token for Git2389 returns true2390 #link_to_set_password2391 password authentication is enabled for Git2392 returns link to set a password2393 password authentication is disabled for Git2394 returns link to create a personal access token2395 #link_to_project2396 returns an HTML link to the project2397 #link_to_member_avatar2398 returns image tag for member avatar2399 returns image tag with avatar class2400 #link_to_member2401 using the default options2402 returns an HTML link to the user2403 HTML escapes the name of the user2404 default_clone_protocol2405 when user is not logged in and gitlab protocol is HTTP2406 returns HTTP2407 when user is not logged in and gitlab protocol is HTTPS2408 returns HTTPS2409 #last_push_event2410 returns recent push on the current project2411 when there is no current_user2412 returns nil2413 #show_projects2414 returns true when there are projects2415 returns true when there are no projects but a name is given2416 returns true when there are no projects but personal is present2417 returns false when there are no projects and there is no name2418 #push_to_create_project_command2419 returns the command to push to create project over HTTP2420 returns the command to push to create project over SSH2421 #any_projects?2422 returns true when projects will be returned2423 returns false when no projects will be returned2424 returns true when using a non-empty Array2425 returns false when using an empty Array2426 only executes a single query when a LIMIT is applied2427 #git_user_name2428 parses quotes in name2429 #git_user_email2430 not logged-in2431 returns your@email.com2432 user logged in2433 user has no configured commit email2434 returns the primary email2435 user has a configured commit email2436 returns the commit email2437 show_xcode_link2438 when the repository is xcode compatible2439 returns false if the visitor is not using macos2440 returns true if the visitor is using macos2441 when the repository is not xcode compatible2442 returns false if the visitor is not using macos2443 returns false if the visitor is using macos2444 #explore_projects_tab?2445 returns true when on the "All" tab under "Explore projects"2446 returns true when on the "Trending" tab under "Explore projects"2447 returns true when on the "Starred" tab under "Explore projects"2448 returns false when on the "Your projects" tab2449 #show_merge_request_count2450 enabled flag2451 returns true if compact mode is disabled2452 returns false if compact mode is enabled2453 disabled flag2454 returns false if disabled flag is true2455 returns true if disabled flag is false2456 #show_issue_count?2457 enabled flag2458 returns true if compact mode is disabled2459 returns false if compact mode is enabled2460 disabled flag2461 returns false if disabled flag is true2462 returns true if disabled flag is false2463 #show_auto_devops_implicitly_enabled_banner?2464 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false2465 is expected to eq false2466 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2467 is expected to eq false2468 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false2469 is expected to eq false2470 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false2471 is expected to eq false2472 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false2473 is expected to eq false2474 global_setting: true, project_setting: nil, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false2475 is expected to eq false2476 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false2477 is expected to eq false2478 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2479 is expected to eq false2480 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false2481 is expected to eq false2482 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false2483 is expected to eq false2484 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: true2485 is expected to eq true2486 global_setting: true, project_setting: nil, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: true2487 is expected to eq true2488 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false2489 is expected to eq false2490 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2491 is expected to eq false2492 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false2493 is expected to eq false2494 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false2495 is expected to eq false2496 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false2497 is expected to eq false2498 global_setting: true, project_setting: true, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false2499 is expected to eq false2500 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false2501 is expected to eq false2502 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2503 is expected to eq false2504 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false2505 is expected to eq false2506 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false2507 is expected to eq false2508 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: false2509 is expected to eq false2510 global_setting: true, project_setting: true, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: false2511 is expected to eq false2512 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :developer, result: false2513 is expected to eq false2514 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2515 is expected to eq false2516 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: true, user_access: :owner, result: false2517 is expected to eq false2518 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :developer, result: false2519 is expected to eq false2520 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :maintainer, result: false2521 is expected to eq false2522 global_setting: true, project_setting: false, builds_visibility: :disabled, gitlab_ci_yml: false, user_access: :owner, result: false2523 is expected to eq false2524 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :developer, result: false2525 is expected to eq false2526 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :maintainer, result: false2527 is expected to eq false2528 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: true, user_access: :owner, result: false2529 is expected to eq false2530 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :developer, result: false2531 is expected to eq false2532 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :maintainer, result: false2533 is expected to eq false2534 global_setting: true, project_setting: false, builds_visibility: :enabled, gitlab_ci_yml: false, user_access: :owner, result: false2535 is expected to eq false2536 #can_admin_project_member?2537 when user is project owner2538 returns true for owner of project2539 when user is not a project owner2540 user_project_role: :maintainer, can_admin: true2541 resolves if the user can import members2542 user_project_role: :developer, can_admin: false2543 resolves if the user can import members2544 user_project_role: :reporter, can_admin: false2545 resolves if the user can import members2546 user_project_role: :guest, can_admin: false2547 resolves if the user can import members2548 #metrics_external_dashboard_url2549 metrics_setting exists2550 returns external_dashboard_url2551 metrics_setting does not exist2552 returns nil2553 #grafana_integration_url2554 is expected to eq nil2555 grafana integration exists2556 is expected to eq "https://grafana.example.com"2557 #grafana_integration_token2558 is expected to eq nil2559 grafana integration exists2560 is expected to eq "************************************************"2561 #grafana_integration_enabled?2562 is expected to eq nil2563 grafana integration exists2564 is expected to eq true2565 #project_license_name(project)2566 gitaly is working appropriately2567 returns the license name2568 memoizes the value2569 gitaly is unreachable2570 Gitlab::Git::CommandError2571 behaves like returns nil and tracks exception2572 is expected to be nil2573 tracks the exception2574 memoizes the nil value2575 GRPC::Unavailable2576 behaves like returns nil and tracks exception2577 is expected to be nil2578 tracks the exception2579 memoizes the nil value2580 GRPC::DeadlineExceeded2581 behaves like returns nil and tracks exception2582 is expected to be nil2583 tracks the exception2584 memoizes the nil value2585 #show_terraform_banner?2586 the project does not contain terraform files2587 is expected to be falsey2588 the project contains terraform files2589 is expected to be truthy2590 the project already has a terraform state2591 is expected to be falsey2592 #project_title2593 enqueues the elements in the breadcrumb schema list2594 #project_permissions_panel_data2595 includes project_permissions_settings2596Gitlab::Diff::PositionTracer::LineStrategy2597 #trace2598 diff scenarios2599 when the file was created in the old diff2600 when the file is created in the new diff2601 when the position pointed at an added line in the old diff2602 when the file's content was unchanged between the old and the new diff2603 returns the new position2604 when the position is multiline2605 returns the new position along with line_range2606 when the file's content was changed between the old and the new diff2607 when that line was unchanged between the old and the new diff2608 returns the new position2609 when that line was moved between the old and the new diff2610 returns the new position2611 when that line was changed between the old and the new diff2612 returns the position of the change2613 when that line was deleted between the old and the new diff2614 returns the position of the change2615 when the file is changed in the new diff2616 when the position pointed at an added line in the old diff2617 when the file's content was unchanged between the old and the new diff2618 returns the new position2619 when the file's content was changed between the old and the new diff2620 when that line was unchanged between the old and the new diff2621 returns the new position2622 when that line was moved between the old and the new diff2623 returns the new position2624 when that line was changed between the old and the new diff2625 returns the position of the change2626 when that line was deleted between the old and the new diff2627 returns the position of the change2628 when the file is renamed in the new diff2629 when the position pointed at an added line in the old diff2630 when the file's content was unchanged between the old and the new diff2631 returns the position of the change2632 when the position is multiline2633 returns the new position but drops line_range information2634 when the file's content was changed between the old and the new diff2635 when that line was unchanged between the old and the new diff2636 returns the new position2637 when that line was moved between the old and the new diff2638 returns the new position2639 when that line was changed between the old and the new diff2640 returns the position of the change2641 when the file is deleted in the new diff2642 when the position pointed at an added line in the old diff2643 when the file's content was unchanged between the old and the new diff2644 returns the position of the change2645 when the file's content was changed between the old and the new diff2646 when that line was unchanged between the old and the new diff2647 returns the position of the change2648 when that line was moved between the old and the new diff2649 returns the position of the change2650 when that line was changed between the old and the new diff2651 returns the position of the change2652 when that line was deleted between the old and the new diff2653 returns the position of the change2654 when the file is unchanged in the new diff2655 when the position pointed at an added line in the old diff2656 when the file's content was unchanged between the old and the new diff2657 returns the position of the change2658 when the file's content was changed between the old and the new diff2659 when that line was unchanged between the old and the new diff2660 returns the position of the change2661 when that line was moved between the old and the new diff2662 returns the position of the change2663 when that line was changed between the old and the new diff2664 returns the position of the change2665 when that line was deleted between the old and the new diff2666 returns the position of the change2667 when the file was changed in the old diff2668 when the file is created in the new diff2669 when the position pointed at an added line in the old diff2670 when the file's content was unchanged between the old and the new diff2671 returns the new position2672 when the file's content was changed between the old and the new diff2673 when that line was unchanged between the old and the new diff2674 returns the new position2675 when that line was moved between the old and the new diff2676 returns the new position2677 when that line was changed or deleted between the old and the new diff2678 returns the position of the change2679 when the position pointed at a deleted line in the old diff2680 returns the position of the change2681 when the position pointed at an unchanged line in the old diff2682 when the file's content was unchanged between the old and the new diff2683 returns the new position2684 when the file's content was changed between the old and the new diff2685 when that line was unchanged between the old and the new diff2686 returns the new position2687 when that line was moved between the old and the new diff2688 returns the new position2689 when that line was changed or deleted between the old and the new diff2690 returns the position of the change2691 when the file is changed in the new diff2692 when the position pointed at an added line in the old diff2693 when the file's content was unchanged between the old and the new diff2694 returns the new position2695 when the file's content was changed between the old and the new diff2696 when that line was unchanged between the old and the new diff2697 returns the new position2698 when that line was moved between the old and the new diff2699 returns the new position2700 when that line was changed or deleted between the old and the new diff2701 returns the position of the change2702 when the position pointed at a deleted line in the old diff2703 when the file's content was unchanged between the old and the new diff2704 returns the new position2705 typical use scenarios2706 simple push of new commit2707 returns the new positions2708 force push to overwrite last commit2709 returns the new positions2710 force push to delete last commit2711 returns the new positions2712 rebase on top of target branch2713 returns the new positions2714 merge of target branch2715 returns the new positions2716 changing target branch2717 returns the new positions2718 symlink scenarios2719 from symlink to text2720 when the old position is on the new text file2721 when the text file's content was unchanged between the old and the new diff2722 returns the new position2723 when the text file's content has change, but the line was unchanged between the old and the new diff2724 returns the new position2725 when the text file's line was changed between the old and the new diff2726 returns the position of the change2727 when the text file was removed between the old and the new diff2728 returns the position of the change2729 from text to symlink2730 when the position is on the added text file2731 when the text file gets changed to a symlink between the old and the new diff2732 returns the position of the change2733Gitlab::GitAccessSnippet2734 when actor is a DeployKey2735 does not allow push and pull access2736 when snippet repository is read-only2737 does not allow push and allows pull access2738 #check_snippet_accessibility!2739 when the snippet exists2740 allows access2741 when the snippet is nil2742 blocks access with "not found"2743 when the snippet does not have a repository2744 blocks access with "not found"2745 terms are enforced2746 blocks access when the user did not accept terms2747 allows access when the user accepted the terms2748 behaves like actor is migration bot2749 when user is the migration bot2750 can perform git operations2751 project snippet accessibility2752 when project is public2753 behaves like checks accessibility2754 anonymous2755 respects accessibility2756 non_member2757 respects accessibility2758 guest2759 respects accessibility2760 reporter2761 respects accessibility2762 maintainer2763 respects accessibility2764 admin2765 respects accessibility2766 author2767 respects accessibility2768 behaves like actor is migration bot2769 when user is the migration bot2770 can perform git operations2771 when project is public but snippet feature is private2772 behaves like checks accessibility2773 anonymous2774 respects accessibility2775 non_member2776 respects accessibility2777 guest2778 respects accessibility2779 reporter2780 respects accessibility2781 maintainer2782 respects accessibility2783 admin2784 respects accessibility2785 author2786 respects accessibility2787 behaves like actor is migration bot2788 when user is the migration bot2789 can perform git operations2790 when project is not accessible2791 anonymous2792 respects accessibility2793 non_member2794 respects accessibility2795 behaves like actor is migration bot2796 when user is the migration bot2797 can perform git operations2798 when project is archived2799 anonymous2800 cannot perform git operations2801 non_member2802 cannot perform git operations2803 guest2804 cannot perform git pushes2805 reporter2806 cannot perform git pushes2807 maintainer2808 cannot perform git pushes2809 author2810 cannot perform git pushes2811 admin2812 when admin mode is enabled2813 cannot perform git pushes2814 when admin mode is disabled2815 cannot perform git operations2816 behaves like actor is migration bot2817 when user is the migration bot2818 can perform git operations2819 when snippet feature is disabled2820 anonymous2821 cannot perform git operations2822 non_member2823 cannot perform git operations2824 author2825 cannot perform git operations2826 admin2827 cannot perform git operations2828 behaves like actor is migration bot2829 when user is the migration bot2830 can perform git operations2831 personal snippet accessibility2832 snippet_level: :public, membership: :admin, admin_mode: true, _expected_count: 12833 respects accessibility2834 behaves like actor is migration bot2835 when user is the migration bot2836 can perform git operations2837 snippet_level: :public, membership: :admin, admin_mode: false, _expected_count: 12838 respects accessibility2839 behaves like actor is migration bot2840 when user is the migration bot2841 can perform git operations2842 snippet_level: :public, membership: :author, admin_mode: nil, _expected_count: 12843 respects accessibility2844 behaves like actor is migration bot2845 when user is the migration bot2846 can perform git operations2847 snippet_level: :public, membership: :non_member, admin_mode: nil, _expected_count: 12848 respects accessibility2849 behaves like actor is migration bot2850 when user is the migration bot2851 can perform git operations2852 snippet_level: :public, membership: :anonymous, admin_mode: nil, _expected_count: 12853 respects accessibility2854 behaves like actor is migration bot2855 when user is the migration bot2856 can perform git operations2857 snippet_level: :internal, membership: :admin, admin_mode: true, _expected_count: 12858 respects accessibility2859 behaves like actor is migration bot2860 when user is the migration bot2861 can perform git operations2862 snippet_level: :internal, membership: :admin, admin_mode: false, _expected_count: 12863 respects accessibility2864 behaves like actor is migration bot2865 when user is the migration bot2866 can perform git operations2867 snippet_level: :internal, membership: :author, admin_mode: nil, _expected_count: 12868 respects accessibility2869 behaves like actor is migration bot2870 when user is the migration bot2871 can perform git operations2872 snippet_level: :internal, membership: :non_member, admin_mode: nil, _expected_count: 12873 respects accessibility2874 behaves like actor is migration bot2875 when user is the migration bot2876 can perform git operations2877 snippet_level: :internal, membership: :anonymous, admin_mode: nil, _expected_count: 02878 respects accessibility2879 behaves like actor is migration bot2880 when user is the migration bot2881 can perform git operations2882 snippet_level: :private, membership: :admin, admin_mode: true, _expected_count: 12883 respects accessibility2884 behaves like actor is migration bot2885 when user is the migration bot2886 can perform git operations2887 snippet_level: :private, membership: :admin, admin_mode: false, _expected_count: 02888 respects accessibility2889 behaves like actor is migration bot2890 when user is the migration bot2891 can perform git operations2892 snippet_level: :private, membership: :author, admin_mode: nil, _expected_count: 12893 respects accessibility2894 behaves like actor is migration bot2895 when user is the migration bot2896 can perform git operations2897 snippet_level: :private, membership: :non_member, admin_mode: nil, _expected_count: 02898 respects accessibility2899 behaves like actor is migration bot2900 when user is the migration bot2901 can perform git operations2902 snippet_level: :private, membership: :anonymous, admin_mode: nil, _expected_count: 02903 respects accessibility2904 behaves like actor is migration bot2905 when user is the migration bot2906 can perform git operations2907 when changes are specific2908 behaves like snippet checks2909 does not raise error if SnippetCheck does not raise error2910 raises error if SnippetCheck raises error2911 sets the file count limit from Snippet class2912 when user is migration bot2913 behaves like snippet checks2914 does not raise error if SnippetCheck does not raise error2915 raises error if SnippetCheck raises error2916 sets the file count limit from Snippet class2917 repository size restrictions2918 when GIT_OBJECT_DIRECTORY_RELATIVE env var is set2919 behaves like a push to repository already over the limit2920 errs2921 behaves like migration bot does not err2922 does not err2923 behaves like a push to repository below the limit2924 does not err2925 behaves like migration bot does not err2926 does not err2927 behaves like a push to repository to make it over the limit2928 errs2929 behaves like migration bot does not err2930 does not err2931 a change with GIT_OBJECT_DIRECTORY_RELATIVE env var unset2932 behaves like a push to repository already over the limit2933 errs2934 behaves like migration bot does not err2935 does not err2936 behaves like a push to repository below the limit2937 does not err2938 behaves like migration bot does not err2939 does not err2940 behaves like a push to repository to make it over the limit2941 errs2942 behaves like migration bot does not err2943 does not err2944 HEAD realignment2945 behaves like HEAD is updated to the snippet default branch2946 is expected to receive change_head_to_default_branch(*(any args)) 1 time2947 when an error is raised2948 does not realign HEAD2949 behaves like HEAD is updated to the snippet default branch2950 is expected to receive change_head_to_default_branch(*(any args)) 1 time2951 when an error is raised2952 does not realign HEAD2953PackagesHelper2954 #package_registry_instance_url2955 returns conan instance url when registry_type is conant2956 returns npm instance url when registry_type is npm2957 #package_registry_project_url2958 returns maven registry url when registry_type is not provided2959 returns specified registry url when registry_type is provided2960 #pypi_registry_url2961 returns the pypi registry url2962 #composer_registry_url2963 return the composer registry url2964 #composer_config_repository_name2965 return global unique composer registry id2966 #show_cleanup_policy_on_alert2967 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false2968 is expected to eq false2969 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false2970 is expected to eq false2971 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false2972 is expected to eq false2973 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false2974 is expected to eq false2975 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false2976 is expected to eq false2977 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false2978 is expected to eq false2979 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false2980 is expected to eq false2981 com: false, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false2982 is expected to eq false2983 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false2984 is expected to eq false2985 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false2986 is expected to eq false2987 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false2988 is expected to eq false2989 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false2990 is expected to eq false2991 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false2992 is expected to eq false2993 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false2994 is expected to eq false2995 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false2996 is expected to eq false2997 com: false, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false2998 is expected to eq false2999 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3000 is expected to eq false3001 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3002 is expected to eq false3003 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3004 is expected to eq false3005 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3006 is expected to eq false3007 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3008 is expected to eq false3009 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3010 is expected to eq false3011 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3012 is expected to eq false3013 com: false, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3014 is expected to eq false3015 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3016 is expected to eq false3017 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3018 is expected to eq false3019 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3020 is expected to eq false3021 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3022 is expected to eq false3023 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3024 is expected to eq false3025 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3026 is expected to eq false3027 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3028 is expected to eq false3029 com: false, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3030 is expected to eq false3031 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3032 is expected to eq false3033 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3034 is expected to eq false3035 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3036 is expected to eq false3037 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3038 is expected to eq false3039 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3040 is expected to eq false3041 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3042 is expected to eq false3043 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3044 is expected to eq false3045 com: false, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3046 is expected to eq false3047 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3048 is expected to eq false3049 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3050 is expected to eq false3051 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3052 is expected to eq false3053 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3054 is expected to eq false3055 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3056 is expected to eq false3057 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3058 is expected to eq false3059 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3060 is expected to eq false3061 com: false, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3062 is expected to eq false3063 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3064 is expected to eq false3065 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3066 is expected to eq false3067 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3068 is expected to eq false3069 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3070 is expected to eq false3071 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3072 is expected to eq false3073 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3074 is expected to eq false3075 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3076 is expected to eq false3077 com: false, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3078 is expected to eq false3079 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3080 is expected to eq false3081 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3082 is expected to eq false3083 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3084 is expected to eq false3085 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3086 is expected to eq false3087 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3088 is expected to eq false3089 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3090 is expected to eq false3091 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3092 is expected to eq false3093 com: false, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3094 is expected to eq false3095 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3096 is expected to eq false3097 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3098 is expected to eq false3099 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3100 is expected to eq false3101 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3102 is expected to eq false3103 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3104 is expected to eq false3105 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3106 is expected to eq false3107 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3108 is expected to eq false3109 com: true, config_registry: false, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3110 is expected to eq false3111 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3112 is expected to eq false3113 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3114 is expected to eq false3115 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3116 is expected to eq false3117 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3118 is expected to eq false3119 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3120 is expected to eq false3121 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3122 is expected to eq false3123 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3124 is expected to eq false3125 com: true, config_registry: false, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3126 is expected to eq false3127 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3128 is expected to eq false3129 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3130 is expected to eq false3131 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3132 is expected to eq false3133 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3134 is expected to eq false3135 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3136 is expected to eq false3137 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3138 is expected to eq false3139 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3140 is expected to eq false3141 com: true, config_registry: false, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3142 is expected to eq false3143 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3144 is expected to eq false3145 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3146 is expected to eq false3147 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3148 is expected to eq false3149 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3150 is expected to eq false3151 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3152 is expected to eq false3153 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3154 is expected to eq false3155 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3156 is expected to eq false3157 com: true, config_registry: false, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3158 is expected to eq false3159 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3160 is expected to eq false3161 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3162 is expected to eq false3163 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3164 is expected to eq false3165 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3166 is expected to eq false3167 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3168 is expected to eq false3169 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3170 is expected to eq false3171 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3172 is expected to eq false3173 com: true, config_registry: true, project_registry: false, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3174 is expected to eq false3175 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3176 is expected to eq false3177 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3178 is expected to eq false3179 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3180 is expected to eq false3181 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3182 is expected to eq false3183 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3184 is expected to eq false3185 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3186 is expected to eq false3187 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3188 is expected to eq false3189 com: true, config_registry: true, project_registry: false, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3190 is expected to eq false3191 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3192 is expected to eq false3193 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3194 is expected to eq false3195 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3196 is expected to eq false3197 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3198 is expected to eq false3199 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3200 is expected to eq false3201 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3202 is expected to eq false3203 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3204 is expected to eq false3205 com: true, config_registry: true, project_registry: true, historic_entries: false, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: true3206 is expected to eq true3207 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: false, expected_result: false3208 is expected to eq false3209 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: false, container_repositories_exist: true, expected_result: false3210 is expected to eq false3211 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: false, expected_result: false3212 is expected to eq false3213 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: false, nil_policy: true, container_repositories_exist: true, expected_result: false3214 is expected to eq false3215 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: false, expected_result: false3216 is expected to eq false3217 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: false, container_repositories_exist: true, expected_result: false3218 is expected to eq false3219 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: false, expected_result: false3220 is expected to eq false3221 com: true, config_registry: true, project_registry: true, historic_entries: true, historic_entry: true, nil_policy: true, container_repositories_exist: true, expected_result: false3222 is expected to eq false3223 #package_details_data3224 in a project without a group3225 populates presenter data3226 in a project with a group3227 populates presenter data3228BuildDetailsEntity3229 inherits from JobEntity3230 #as_json3231 contains the needed key value pairs3232 when the user has access to issues and merge requests3233 when merge request orginates from the same project3234 contains the needed key value pairs3235 exposes correct details of the merge request3236 has a correct merge request path3237 when merge request is from a fork3238 contains the needed key value pairs3239 exposes details of the merge request3240 has a merge request path to a target project3241 when the build has not been erased3242 exposes a build erase path3243 when the build has been erased3244 exposes the user who erased the build3245 when the user can only read the build3246 won't display the paths to issues and merge requests3247 when the build has failed3248 is expected to include {:failure_reason => "unmet_prerequisites"}3249 is expected to include {:callout_message => "The job failed to complete prerequisite tasks"}3250 when the build has failed due to a missing dependency3251 is expected to include {:failure_reason => "missing_dependency_failure"}3252 includes the failing dependencies in the callout message3253 when a build has environment with latest deployment3254 does not serialize latest deployment commit and associated builds3255 when the build has reports3256 exposes the report artifacts3257 when the build has no archive type artifacts3258 does not expose any artifact actions path3259 when the build has expired artifacts3260 when pipeline is unlocked3261 artifact locked is false3262 does not expose any artifact actions path3263 when the pipeline is artifacts_locked3264 artifact locked is true3265 exposes download, browse and keep artifact actions path3266 when the build has archive type artifacts3267 exposes artifact details3268 when the project is public and the user is a guest3269 when the build has public archive type artifacts3270 exposes public artifact details3271 when the build has non public archive type artifacts3272 does not expose non public artifacts3273 with the non_public_artifacts feature flag disabled3274 exposes artifact details3275Clusters::Applications::CreateService3276 #execute3277 creates an application3278 application already installed3279 does not create a new application3280 schedules an upgrade for the application3281 known applications3282 ingress application3283 creates the application3284 cert manager application3285 creates the application3286 sets the email3287 jupyter application3288 creates the application3289 sets the hostname3290 sets the oauth_application3291 knative application3292 creates the application3293 sets the hostname3294 executes AssociateDomainService3295 elastic stack application3296 creates the application3297 invalid application3298 raises an error3299 group cluster3300 application: "ingress", association: :application_ingress, allowed: true, pre_create_ingress: false3301 executes for each application3302 application: "runner", association: :application_runner, allowed: true, pre_create_ingress: false3303 executes for each application3304 application: "prometheus", association: :application_prometheus, allowed: true, pre_create_ingress: false3305 executes for each application3306 application: "jupyter", association: :application_jupyter, allowed: true, pre_create_ingress: true3307 executes for each application3308 when application is installable3309 when application is associated with a cluster3310 behaves like installable applications3311 makes the application scheduled3312 schedules an install via worker3313 when application is not associated with a cluster3314 behaves like installable applications3315 makes the application scheduled3316 schedules an install via worker3317 when installation is already in progress3318 raises an exception3319 does not schedule a cluster worker3320 when application is installed3321 schedules an upgrade via worker3322 schedules an upgrade via worker3323Integrations::UnifyCircuit3324 behaves like chat integration3325 Associations3326 is expected to belong to project required:3327 is expected to have one service_hook3328 Validations3329 when integration is active3330 is expected to validate that :webhook cannot be empty/falsy3331 behaves like issue tracker integration URL attribute3332 is expected to allow :webhook to be ‹"https://example.com"›3333 is expected not to allow :webhook to be ‹"example.com"›3334 is expected not to allow :webhook to be ‹"ftp://example.com"›3335 is expected not to allow :webhook to be ‹"herp-and-derp"›3336 when integration is inactive3337 is expected not to validate that :webhook cannot be empty/falsy3338 .supported_events3339 does not support deployment_events3340 #execute3341 with push events3342 behaves like triggered Unify Circuit integration3343 calls Unify Circuit API3344 with default branch3345 when only default branch are to be notified3346 behaves like triggered Unify Circuit integration3347 calls Unify Circuit API3348 when only protected branches are to be notified3349 behaves like untriggered Unify Circuit integration3350 does not call Unify Circuit API3351 when default and protected branches are to be notified3352 behaves like triggered Unify Circuit integration3353 calls Unify Circuit API3354 when all branches are to be notified3355 behaves like triggered Unify Circuit integration3356 calls Unify Circuit API3357 with protected branch3358 when only default branch are to be notified3359 behaves like untriggered Unify Circuit integration3360 does not call Unify Circuit API3361 when only protected branches are to be notified3362 behaves like triggered Unify Circuit integration3363 calls Unify Circuit API3364 when default and protected branches are to be notified3365 behaves like triggered Unify Circuit integration3366 calls Unify Circuit API3367 when all branches are to be notified3368 behaves like triggered Unify Circuit integration3369 calls Unify Circuit API3370 with neither default nor protected branch3371 when only default branch are to be notified3372 behaves like untriggered Unify Circuit integration3373 does not call Unify Circuit API3374 when only protected branches are to be notified3375 behaves like untriggered Unify Circuit integration3376 does not call Unify Circuit API3377 when default and protected branches are to be notified3378 behaves like untriggered Unify Circuit integration3379 does not call Unify Circuit API3380 when all branches are to be notified3381 behaves like triggered Unify Circuit integration3382 calls Unify Circuit API3383 with issue events3384 behaves like triggered Unify Circuit integration3385 calls Unify Circuit API3386 with merge events3387 behaves like triggered Unify Circuit integration3388 calls Unify Circuit API3389 with wiki page events3390 behaves like triggered Unify Circuit integration3391 calls Unify Circuit API3392 with note events3393 with commit comment3394 behaves like triggered Unify Circuit integration3395 calls Unify Circuit API3396 with merge request comment3397 behaves like triggered Unify Circuit integration3398 calls Unify Circuit API3399 with issue comment3400 behaves like triggered Unify Circuit integration3401 calls Unify Circuit API3402 with snippet comment3403 behaves like triggered Unify Circuit integration3404 calls Unify Circuit API3405 with pipeline events3406 with failed pipeline3407 behaves like triggered Unify Circuit integration3408 calls Unify Circuit API3409 with succeeded pipeline3410 with default notify_only_broken_pipelines3411 does not call Unify Circuit API3412 when notify_only_broken_pipelines is false3413 behaves like triggered Unify Circuit integration3414 calls Unify Circuit API3415 with default branch3416 when only default branch are to be notified3417 behaves like triggered Unify Circuit integration3418 calls Unify Circuit API3419 when only protected branches are to be notified3420 behaves like untriggered Unify Circuit integration3421 does not call Unify Circuit API3422 when default and protected branches are to be notified3423 behaves like triggered Unify Circuit integration3424 calls Unify Circuit API3425 when all branches are to be notified3426 behaves like triggered Unify Circuit integration3427 calls Unify Circuit API3428 with protected branch3429 when only default branch are to be notified3430 behaves like untriggered Unify Circuit integration3431 does not call Unify Circuit API3432 when only protected branches are to be notified3433 behaves like triggered Unify Circuit integration3434 calls Unify Circuit API3435 when default and protected branches are to be notified3436 behaves like triggered Unify Circuit integration3437 calls Unify Circuit API3438 when all branches are to be notified3439 behaves like triggered Unify Circuit integration3440 calls Unify Circuit API3441 with neither default nor protected branch3442 when only default branch are to be notified3443 behaves like untriggered Unify Circuit integration3444 does not call Unify Circuit API3445 when only protected branches are to be notified3446 behaves like untriggered Unify Circuit integration3447 does not call Unify Circuit API3448 when default and protected branches are to be notified3449 behaves like untriggered Unify Circuit integration3450 does not call Unify Circuit API3451 when all branches are to be notified3452 behaves like triggered Unify Circuit integration3453 calls Unify Circuit API3454Gitlab::Ci::Variables::Collection3455 .new3456 can be initialized with an array3457 can be initialized without an argument3458 #append3459 appends a hash3460 appends a Ci::Variable3461 appends an internal resource3462 returns self3463 #compact3464 returns a new Collection instance3465 rejects pair that has nil value3466 #concat3467 appends all elements from an array3468 appends all elements from other collection3469 does not concatenate resource if it undefined3470 returns self3471 #+3472 makes it possible to combine with an array3473 makes it possible to combine with another collection3474 #[]3475 with variable key with single entry3476 behaves like an array access operator3477 for a non-existent variable name3478 returns nil3479 for an existent variable name3480 returns the last Item3481 with variable key with multiple entries3482 behaves like an array access operator3483 for a non-existent variable name3484 returns nil3485 for an existent variable name3486 returns the last Item3487 #all3488 with variable key with single entry3489 behaves like a method returning all known variables or nil3490 for a non-existent variable name3491 returns nil3492 for an existing variable name3493 returns all expected Items3494 with variable key with multiple entries3495 behaves like a method returning all known variables or nil3496 for a non-existent variable name3497 returns nil3498 for an existing variable name3499 returns all expected Items3500 #size3501 returns zero for empty collection3502 returns 2 for collection with 2 variables3503 returns 3 for collection with 2 duplicate variables3504 #to_runner_variables3505 creates an array of hashes in a runner-compatible format3506 #to_hash3507 returns regular hash in valid order without duplicates3508 #reject3509 returns a Collection instance3510 returns correctly filtered Collection3511 #expand_value3512 table tests3513 empty value3514 matches expected expansion3515 simple expansions3516 matches expected expansion3517 complex expansion3518 matches expected expansion3519 complex expansions with raw variable3520 matches expected expansion3521 missing variable not keeping original3522 matches expected expansion3523 missing variable keeping original3524 matches expected expansion3525 escaped characters are kept intact3526 matches expected expansion3527 #sort_and_expand_all3528 when FF :variable_inside_variable is disabled3529 table tests3530 empty array3531 returns Collection3532 does not expand variables3533 simple expansions3534 returns Collection3535 does not expand variables3536 complex expansion3537 returns Collection3538 does not expand variables3539 out-of-order variable reference3540 returns Collection3541 does not expand variables3542 complex expansions with raw variable3543 returns Collection3544 does not expand variables3545 escaped characters in complex expansions are kept intact3546 returns Collection3547 does not expand variables3548 array with cyclic dependency3549 returns Collection3550 does not expand variables3551 when FF :variable_inside_variable is enabled3552 table tests3553 empty array3554 returns Collection3555 expands variables3556 preserves raw attribute3557 simple expansions3558 returns Collection3559 expands variables3560 preserves raw attribute3561 complex expansion3562 returns Collection3563 expands variables3564 preserves raw attribute3565 unused variables3566 returns Collection3567 expands variables3568 preserves raw attribute3569 complex expansions3570 returns Collection3571 expands variables3572 preserves raw attribute3573 escaped characters in complex expansions keeping undefined are kept intact3574 returns Collection3575 expands variables3576 preserves raw attribute3577 escaped characters in complex expansions discarding undefined are kept intact3578 returns Collection3579 expands variables3580 preserves raw attribute3581 out-of-order expansion3582 returns Collection3583 expands variables3584 preserves raw attribute3585 out-of-order complex expansion3586 returns Collection3587 expands variables3588 preserves raw attribute3589 missing variable discarding original3590 returns Collection3591 expands variables3592 preserves raw attribute3593 missing variable keeping original3594 returns Collection3595 expands variables3596 preserves raw attribute3597 complex expansions with missing variable keeping original3598 returns Collection3599 expands variables3600 preserves raw attribute3601 complex expansions with raw variable3602 returns Collection3603 expands variables3604 preserves raw attribute3605 variable value referencing password with special characters3606 returns Collection3607 expands variables3608 preserves raw attribute3609 cyclic dependency causes original array to be returned3610 returns Collection3611 expands variables3612 preserves raw attribute3613Gitlab::Email::Handler::ServiceDeskHandler3614 service desk is enabled for the project3615 when everything is fine3616 behaves like a new issue request3617 creates a new issue3618 creates an issue_email_participant3619 sends thank you email3620 adds metric events for incoming and reply emails3621 with legacy incoming email address3622 behaves like a new issue request3623 creates a new issue3624 creates an issue_email_participant3625 sends thank you email3626 adds metric events for incoming and reply emails3627 when using issue templates3628 and template is present3629 appends template text to issue description3630 when quick actions are present3631 applies quick action commands present on templates3632 applies group labels using quick actions3633 redacts quick actions present on user email body3634 when issues are set to private3635 applies quick action commands present on templates3636 and template cannot be found3637 does not append template text to issue description3638 creates support bot note on issue3639 does not send warning note email3640 when using service desk key3641 behaves like a new issue request3642 creates a new issue3643 creates an issue_email_participant3644 sends thank you email3645 adds metric events for incoming and reply emails3646 when there is no project with the key3647 bounces the email3648 when the project slug does not match3649 bounces the email3650 when there are multiple projects with same key3651 process email for project with matching slug3652 #can_handle?3653 handles the new email key format3654 handles the legacy email key format3655 doesn't handle invalid email key3656 when there is no from address3657 creates a new issue3658 does not send thank you email3659 when there is a sender address and a from address3660 prefers the from address3661 when service desk is not enabled for project3662 does not create an issue3663 does not send thank you email3664 when the email is forwarded through an alias3665 behaves like a new issue request3666 creates a new issue3667 creates an issue_email_participant3668 sends thank you email3669 adds metric events for incoming and reply emails3670 when the email is forwarded3671 behaves like a new issue request3672 creates a new issue3673 creates an issue_email_participant3674 sends thank you email3675 adds metric events for incoming and reply emails3676 service desk is disabled for the project3677 bounces the email3678 doesn't create an issue3679GpgSignature3680 behaves like having unique enum values3681 has unique values in "verification_status"3682 associations3683 is expected to belong to project required:3684 is expected to belong to gpg_key required:3685 is expected to belong to gpg_key_subkey required:3686 validation3687 is expected to validate that :commit_sha cannot be empty/falsy3688 is expected to validate that :project_id cannot be empty/falsy3689 is expected to validate that :gpg_key_primary_keyid cannot be empty/falsy3690 .safe_create!3691 finds a signature by commit sha if it existed3692 creates a new signature if it was not found3693 assigns the correct attributes when creating3694 does not raise an error in case of a race condition3695 .by_commit_sha scope3696 returns all gpg signatures by sha3697 #commit3698 fetches the commit through the project3699 #gpg_key=3700 supports the assignment of a GpgKey3701 supports the assignment of a GpgKeySubkey3702 clears gpg_key and gpg_key_subkey_id when passing nil3703 #gpg_commit3704 when commit does not exist3705 returns nil3706 when commit exists3707 returns an instance of Gitlab::Gpg::Commit3708Groups::ImportExport::ImportService3709 #async_execute3710 when the job can be successfully scheduled3711 creates group import state3712 enqueues an import job3713 marks the group import as in progress3714 returns truthy3715 when the job cannot be scheduled3716 returns falsey3717 does not mark the group import as created3718 with group_import_ndjson feature flag disabled3719 with a json file3720/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3721 uses LegacyTreeRestorer to import the file3722 with a ndjson file3723/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3724 fails to import3725 with group_import_ndjson feature flag enabled3726 when importing a ndjson export3727 when user has correct permissions3728/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3729 imports group structure successfully3730/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3731 removes import file3732/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3733 removes tmp files3734/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3735 logs the import success3736 when user does not have correct permissions3737/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3738 logs the error and raises an exception3739/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3740 tracks the error3741 when there are errors with the import file3742/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3743 logs the error and raises an exception3744 when there are errors with the sub-relations3745/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3746 successfully imports the group3747/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3748 logs the import success3749 when importing a json export3750 when user has correct permissions3751/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3752 imports group structure successfully3753/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3754 removes import file3755/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3756 removes tmp files3757/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3758 logs the import success3759 when user does not have correct permissions3760/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3761 logs the error and raises an exception3762/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3763 tracks the error3764 when there are errors with the import file3765/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3766 logs the error and raises an exception3767 when there are errors with the sub-relations3768/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3769 successfully imports the group3770/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3771 logs the import success3772ProtectedBranch3773 Associations3774 is expected to belong to project required:3775 Validation3776 is expected to validate that :project cannot be empty/falsy3777 is expected to validate that :name cannot be empty/falsy3778 #matches?3779 when the protected branch setting is not a wildcard3780 returns true for branch names that are an exact match3781 returns false for branch names that are not an exact match3782 when the protected branch name contains wildcard(s)3783 when there is a single '*'3784 returns true for branch names matching the wildcard3785 returns false for branch names not matching the wildcard3786 when the wildcard contains regex symbols other than a '*'3787 returns true for branch names matching the wildcard3788 returns false for branch names not matching the wildcard3789 when there are '*'s at either end3790 returns true for branch names matching the wildcard3791 returns false for branch names not matching the wildcard3792 when there are arbitrarily placed '*'s3793 returns true for branch names matching the wildcard3794 returns false for branch names not matching the wildcard3795 #matching3796 for direct matches3797 returns a list of protected branches matching the given branch name3798 accepts a list of protected branches to search from, so as to avoid a DB call3799 for wildcard matches3800 returns a list of protected branches matching the given branch name3801 accepts a list of protected branches to search from, so as to avoid a DB call3802 #protected?3803 existing project3804 returns true when the branch matches a protected branch via direct match3805 returns true when the branch matches a protected branch via wildcard match3806 returns false when the branch does not match a protected branch via direct match3807 returns false when the branch does not match a protected branch via wildcard match3808 with caching3809 correctly invalidates a cache3810 correctly uses the cached version3811 new project3812 when the group has set their own default_branch_protection level3813 default_branch_protection_level: 0, result: false3814 protects the default branch based on the default branch protection setting of the group3815 default_branch_protection_level: 1, result: false3816 protects the default branch based on the default branch protection setting of the group3817 default_branch_protection_level: 3, result: true3818 protects the default branch based on the default branch protection setting of the group3819 default_branch_protection_level: 2, result: true3820 protects the default branch based on the default branch protection setting of the group3821 when the group has not set their own default_branch_protection level3822 default_branch_protection_level: 0, result: false3823 protects the default branch based on the instance level default branch protection setting3824 default_branch_protection_level: 1, result: false3825 protects the default branch based on the instance level default branch protection setting3826 default_branch_protection_level: 3, result: true3827 protects the default branch based on the instance level default branch protection setting3828 default_branch_protection_level: 2, result: true3829 protects the default branch based on the instance level default branch protection setting3830 #allow_force_push?3831 when the attr allow_force_push is true3832 returns true3833 when the attr allow_force_push is false3834 returns false3835 #any_protected?3836 existing project3837 returns true when any of the branch names match a protected branch via direct match3838 returns true when any of the branch matches a protected branch via wildcard match3839 returns false when none of branches does not match a protected branch via direct match3840 returns false when none of the branches does not match a protected branch via wildcard match3841 .by_name3842 returns protected branches with a matching name3843 returns protected branches with a partially matching name3844 returns protected branches with a matching name regardless of the casing3845 returns nothing when nothing matches3846 return nothing when query is blank3847IssuesHelper3848 #work_item_type_icon3849 returns icon of all standard base types3850 defaults to issue icon if type is unknown3851 #award_user_list3852 returns a comma-separated list of the first X users3853 displays the current user's name as 'You'3854 truncates lists3855 displays the current user in front of other users3856 #award_state_class3857 returns disabled string for unauthenticated user3858 returns disabled for a user that does not have access to the awardable3859 returns active string for author3860 is blank for a user that has access to the awardable3861 awards_sort3862 sorts a hash so thumbsup and thumbsdown are always on top3863 #link_to_discussions_to_resolve3864 passing only a merge request3865 links just the merge request3866 contains the reference to the merge request3867 when passing a discussion3868 links to the merge request with first note if a single discussion was passed3869 contains both the reference to the merge request and a mention of the discussion3870 #show_new_issue_link?3871 is false when no project there is no project3872 is true when there is a project and no logged in user3873 is true when the current user does not have access to the project3874 #issue_closed_link3875 with linked issue3876 with moved issue3877 when user has permission to see new issue3878 behaves like successfully displays link to issue and with css class3879 returns link3880 when user has no permission to see new issue3881 behaves like does not display link3882 returns nil3883 with duplicated issue3884 when user has permission to see new issue3885 behaves like successfully displays link to issue and with css class3886 returns link3887 when user has no permission to see new issue3888 behaves like does not display link3889 returns nil3890 without linked issue3891 behaves like does not display link3892 returns nil3893 #show_moved_service_desk_issue_warning?3894 is true when moved issue project has service desk disabled3895 is false when moved issue project has service desk enabled3896 #use_startup_call3897 returns false when a query param is present3898 returns false when user has stored sort preference3899 returns true when request.query_parameters is empty with default sorting preference3900 #issue_header_actions_data3901 returns expected result3902 #project_issues_list_data3903 when user is signed in3904 behaves like issues list data3905 returns expected result3906 when user is anonymous3907 behaves like issues list data3908 returns expected result3909 #group_issues_list_data3910 returns expected result3911 #issue_manual_ordering_class3912 when sorting by relative position3913 returns manual ordering class3914 when manual sorting disabled3915 returns nil3916 #issue_repositioning_disabled?3917 for project3918 is expected to eq false3919 when block_issue_repositioning feature flag is enabled3920 is expected to eq true3921 for group3922 is expected to eq false3923 when block_issue_repositioning feature flag is enabled3924 is expected to eq true3925 #issue_hidden?3926 when issue is hidden3927 when `ban_user_feature_flag` feature flag is enabled3928 returns `true`3929 when `ban_user_feature_flag` feature flag is disabled3930 returns `false`3931 when issue is not hidden3932 returns `false`3933 #hidden_issue_icon3934 when issue is hidden3935 returns icon with tooltip3936 when issue is not hidden3937 returns `nil`3938Gitlab::GitRefValidator3939 .validate3940 is expected to equal true3941 is expected to equal true3942 is expected to equal true3943 is expected to equal true3944 is expected to equal true3945 is expected to equal true3946 is expected to equal false3947 is expected to equal false3948 is expected to equal false3949 is expected to equal false3950 is expected to equal false3951 is expected to equal false3952 is expected to equal false3953 is expected to equal false3954 is expected to equal false3955 is expected to equal false3956 is expected to equal false3957 is expected to equal false3958 is expected to equal false3959 is expected to equal false3960 is expected to equal false3961 is expected to equal false3962 is expected to equal false3963 is expected to equal false3964 is expected to equal false3965 is expected to equal false3966 is expected to equal false3967 is expected to equal false3968 is expected to equal false3969 .validate_merge_request_branch3970 is expected to equal true3971 is expected to equal true3972 is expected to equal true3973 is expected to equal true3974 is expected to equal true3975 is expected to equal true3976 is expected to equal true3977 is expected to equal false3978 is expected to equal false3979 is expected to equal false3980 is expected to equal false3981 is expected to equal false3982 is expected to equal false3983 is expected to equal false3984 is expected to equal false3985 is expected to equal false3986 is expected to equal false3987 is expected to equal false3988 is expected to equal false3989 is expected to equal true3990 is expected to equal false3991 is expected to equal false3992 is expected to equal false3993 is expected to equal false3994 is expected to equal false3995 is expected to equal false3996 is expected to equal false3997 is expected to equal false3998 is expected to equal false3999Projects::ImportExport::ExportService4000 #execute4001 saves the version4002 saves the avatar4003 saves the models4004 saves the uploads4005 saves the repo (PENDING: No reason given)4006 saves the wiki repo4007 saves the design repo4008 saves the lfs objects4009 saves the snippets4010 when all saver services succeed4011 saves the project in the file system4012 calls the after export strategy4013 when after export strategy fails4014 removes the remaining exported data4015 notifies the user4016 notifies logger4017 when saving services fail4018 removes the remaining exported data4019 notifies the user4020 notifies logger4021 does not call the export strategy4022 when one of the savers fail unexpectedly4023 removes the remaining exported data4024 when user does not have admin_project permission4025 fails4026 behaves like measurable service4027 when measurement is enabled4028 measure service execution with Gitlab::Utils::Measuring4029 when measurement is disabled4030 does not measure service execution4031DiffHelper4032 diff_view4033 uses the view param over the cookie4034 returns the default value when the view param is invalid4035 returns a valid value when cookie is set4036 returns the default value when cookie is invalid4037 returns the default value when cookie is nil4038 diff_options4039 returns no collapse false4040 returns no collapse true if expanded4041 returns no collapse true if action name diff_for_path4042 returns paths if action name diff_for_path and param old path4043 returns paths if action name diff_for_path and param new path4044 #diff_line_content4045 when the line is empty4046 returns a non breaking space4047 returns an HTML-safe string4048 when the line is not empty4049 when the line starts with +, -, or a space4050 strips the first character4051 when the line is HTML-safe4052 returns an HTML-safe string4053 when the line is not HTML-safe4054 returns a non-HTML-safe string4055 when the line does not start with a +, -, or a space4056 returns the string4057 when the line is HTML-safe4058 returns an HTML-safe string4059 when the line is not HTML-safe4060 returns a non-HTML-safe string4061 #diff_link_number4062 line_type: "new", match: "new", line_number: 1, expected_return_value: " "4063 returns the expected value4064 line_type: "new", match: "old", line_number: 2, expected_return_value: 24065 returns the expected value4066 line_type: "old", match: "new", line_number: 3, expected_return_value: 34067 returns the expected value4068 line_type: "old", match: "old", line_number: 4, expected_return_value: " "4069 returns the expected value4070 line_type: "new-nonewline", match: "new", line_number: 5, expected_return_value: 54071 returns the expected value4072 line_type: "new-nonewline", match: "old", line_number: 6, expected_return_value: 64073 returns the expected value4074 line_type: "old-nonewline", match: "new", line_number: 7, expected_return_value: 74075 returns the expected value4076 line_type: "old-nonewline", match: "old", line_number: 8, expected_return_value: 84077 returns the expected value4078 line_type: "match", match: "new", line_number: 9, expected_return_value: 94079 returns the expected value4080 line_type: "match", match: "old", line_number: 10, expected_return_value: 104081 returns the expected value4082 #mark_inline_diffs4083 returns strings with marked inline diffs4084 when given HTML4085 sanitizes it4086 sanitizes the entire line, not just the changes4087 #parallel_diff_discussions4088 does not put comments on nonewline lines4089 puts comments on added lines4090 puts comments on unchanged lines4091 #diff_match_line4092 generates foldable top match line for inline view with empty text by default4093 allows to define text and bottom option4094 generates match line for parallel view4095 allows to generate only left match line for parallel view4096 allows to generate only right match line for parallel view4097 #render_overflow_warning?4098 when no limits are hit4099 returns false and does not log any overflow events4100 overflow_method: :overflow_max_bytes?, event_name: :diffs_overflow_max_bytes_limits4101 returns false and only logs the correct collection overflow event4102 overflow_method: :overflow_max_files?, event_name: :diffs_overflow_max_files_limits4103 returns false and only logs the correct collection overflow event4104 overflow_method: :overflow_max_lines?, event_name: :diffs_overflow_max_lines_limits4105 returns false and only logs the correct collection overflow event4106 overflow_method: :collapsed_safe_bytes?, event_name: :diffs_overflow_collapsed_bytes_limits4107 returns false and only logs the correct collection overflow event4108 overflow_method: :collapsed_safe_files?, event_name: :diffs_overflow_collapsed_files_limits4109 returns false and only logs the correct collection overflow event4110 overflow_method: :collapsed_safe_lines?, event_name: :diffs_overflow_collapsed_lines_limits4111 returns false and only logs the correct collection overflow event4112 when the file collection has an overflow4113 returns true and only logs all the correct collection overflow event4114 when two individual files are too big4115 returns false and only logs single file overflow events4116 #diff_file_html_data4117 returns data for project files4118 #diff_file_path_text4119 returns full path by default4120 returns truncated path4121 #collapsed_diff_url4122 returns a valid URL4123 #render_fork_suggestion4124 user signed in4125 renders the partial4126 guest4127 is expected to be nil4128Gitlab::ImportExport::Group::LegacyTreeRestorer4129 restore group tree4130 JSON4131 restores models based on JSON4132 has the group description4133 has group labels4134 has badges4135 has milestones4136 has group children4137 has group members4138 issue boards4139 has issue boards4140 has board label lists4141 excluded attributes4142 does not allow override of excluded attributes4143 does not allow override of excluded attributes4144 does not allow override of excluded attributes4145 does not allow override of excluded attributes4146 does not allow override of excluded attributes4147 does not allow override of excluded attributes4148 does not allow override of excluded attributes4149 does not allow override of excluded attributes4150 group.json file access check4151 does not read a symlink4152 group visibility levels4153 when visibility level is public4154 imports all subgroups as public4155 when visibility level is private4156 imports all subgroups as private4157 when visibility level is internal4158 imports all subgroups as internal4159Gitlab::Ci::Parsers::Security::Common4160 #parse!4161 vulnerability_finding_signatures_enabled: true4162 schema validation4163 when the validate flag is set as `false`4164 does not run the validation logic4165 when the validate flag is set as `true`4166 instantiates the validator with correct params4167 when the report data is not valid according to the schema4168 adds errors to the report4169 does not try to create report entities4170 when the report data is valid according to the schema4171 does not add errors to the report4172 keeps the execution flow as normal4173 parsing finding.name4174 when message is provided4175 sets message from the report as a finding name4176 when message is not provided4177 and name is provided4178 sets name from the report as a name4179 and name is not provided4180 when CVE identifier exists4181 combines identifier with location to create name4182 when CWE identifier exists4183 combines identifier with location to create name4184 when neither CVE nor CWE identifier exist4185 combines identifier with location to create name4186 parsing finding.details4187 when details are provided4188 sets details from the report4189 when details are not provided4190 sets empty hash4191 top-level scanner4192 is the primary scanner4193 returns nil report has no scanner4194 parsing scanners4195 when vendor is not missing in scanner4196 returns scanner with parsed vendor value4197 parsing scan4198 returns scan object for each finding4199 returns nil when scan is not a hash4200 parsing schema version4201 parses the version4202 returns nil when there is no version4203 parsing analyzer4204 associates analyzer with report4205 returns nil when analyzer data is not available4206 parsing flags4207 returns flags object for each finding4208 parsing links4209 returns links object for each finding4210 setting the uuid4211 sets the UUIDv5 for findings4212 parsing tracking4213 with valid tracking information4214 creates signatures for each algorithm4215 with invalid tracking information4216 ignores invalid algorithm types4217 with valid tracking information4218 creates signatures for each signature algorithm4219 sets the uuid according to the higest priority signature4220 vulnerability_finding_signatures_enabled: false4221 schema validation4222 when the validate flag is set as `false`4223 does not run the validation logic4224 when the validate flag is set as `true`4225 instantiates the validator with correct params4226 when the report data is not valid according to the schema4227 adds errors to the report4228 does not try to create report entities4229 when the report data is valid according to the schema4230 does not add errors to the report4231 keeps the execution flow as normal4232 parsing finding.name4233 when message is provided4234 sets message from the report as a finding name4235 when message is not provided4236 and name is provided4237 sets name from the report as a name4238 and name is not provided4239 when CVE identifier exists4240 combines identifier with location to create name4241 when CWE identifier exists4242 combines identifier with location to create name4243 when neither CVE nor CWE identifier exist4244 combines identifier with location to create name4245 parsing finding.details4246 when details are provided4247 sets details from the report4248 when details are not provided4249 sets empty hash4250 top-level scanner4251 is the primary scanner4252 returns nil report has no scanner4253 parsing scanners4254 when vendor is not missing in scanner4255 returns scanner with parsed vendor value4256 parsing scan4257 returns scan object for each finding4258 returns nil when scan is not a hash4259 parsing schema version4260 parses the version4261 returns nil when there is no version4262 parsing analyzer4263 associates analyzer with report4264 returns nil when analyzer data is not available4265 parsing flags4266 returns flags object for each finding4267 parsing links4268 returns links object for each finding4269 setting the uuid4270 sets the UUIDv5 for findings4271 parsing tracking4272 with valid tracking information4273 creates signatures for each algorithm4274 with invalid tracking information4275 ignores invalid algorithm types4276 with valid tracking information4277 creates signatures for each signature algorithm4278 sets the uuid according to the higest priority signature4279Packages::Nuget::PackageFinder4280 #execute!4281 with a project4282 behaves like handling all the conditions4283 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4284 with lower case package name4285 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4286 with unknown package name4287 is expected to be empty4288 with an uninstallable package4289 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4290 with valid version4291 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4292 with unknown version4293 is expected to be empty4294 with limit hit4295 is expected to contain exactly #<Packages::Package id: 12, project_id: 600, created_at: "2021-09-22 10:32:46.951379478 +0000", updat...name: "NugetPackage1", version: "1.0.4", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 13, project_id: 600, created_at: "2021-09-22 10:32:46.971341826 +0000", updat...name: "NugetPackage1", version: "1.0.5", package_type: "nuget", creator_id: 1057, status: "default">4296 with downcase package name4297 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4298 with prefix wildcard4299 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4300 with suffix wildcard4301 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4302 with surrounding wildcards4303 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4304 with a subgroup4305 behaves like handling all the conditions4306 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4307 with lower case package name4308 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4309 with unknown package name4310 is expected to be empty4311 with an uninstallable package4312 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4313 with valid version4314 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4315 with unknown version4316 is expected to be empty4317 with limit hit4318 is expected to contain exactly #<Packages::Package id: 15, project_id: 600, created_at: "2021-09-22 10:32:49.578255185 +0000", updat...name: "NugetPackage1", version: "1.0.7", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 16, project_id: 600, created_at: "2021-09-22 10:32:49.594936504 +0000", updat...name: "NugetPackage1", version: "1.0.8", package_type: "nuget", creator_id: 1057, status: "default">4319 with downcase package name4320 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4321 with prefix wildcard4322 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4323 with suffix wildcard4324 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4325 with surrounding wildcards4326 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4327 with a group4328 behaves like handling all the conditions4329 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4330 with lower case package name4331 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4332 with unknown package name4333 is expected to be empty4334 with an uninstallable package4335 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4336 with valid version4337 is expected to contain exactly #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4338 with unknown version4339 is expected to be empty4340 with limit hit4341 is expected to contain exactly #<Packages::Package id: 18, project_id: 600, created_at: "2021-09-22 10:32:51.953969673 +0000", updat...ame: "NugetPackage1", version: "1.0.10", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 19, project_id: 600, created_at: "2021-09-22 10:32:51.975076671 +0000", updat...ame: "NugetPackage1", version: "1.0.11", package_type: "nuget", creator_id: 1057, status: "default">4342 with downcase package name4343 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4344 with prefix wildcard4345 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4346 with suffix wildcard4347 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4348 with surrounding wildcards4349 is expected to contain exactly #<Packages::Package id: 6, project_id: 600, created_at: "2021-09-22 10:32:44.614262000 +0000", update...name: "NugetPackage1", version: "1.0.1", package_type: "nuget", creator_id: 1057, status: "default"> and #<Packages::Package id: 7, project_id: 600, created_at: "2021-09-22 10:32:44.639398645 +0000", update...name: "NugetPackage1", version: "2.0.0", package_type: "nuget", creator_id: 1057, status: "default">4350 with nil4351 is expected to be empty4352Clusters::UpdateService4353 #execute4354 when correct params4355 when enabled is true4356 enables cluster4357 when enabled is false4358 disables cluster4359 when namespace is specified4360 updates namespace4361 when service token is empty4362 does not update the token4363 when service token is not empty4364 updates the token4365 when invalid params4366 returns false4367 when cluster is provided by GCP4368 does not change cluster name4369 when cluster is being created4370 rejects changes4371 when params includes :management_project_id4372 management_project is non-existent4373 does not update management_project_id4374 project cluster4375 user is authorized to adminster manangement_project4376 updates management_project_id4377 user is not authorized to adminster manangement_project4378 does not update management_project_id4379 cluster already has a management project set4380 unsets management_project_id4381 manangement_project is outside of the namespace scope4382 does not update management_project_id4383 group cluster4384 user is authorized to adminster manangement_project4385 updates management_project_id4386 user is not authorized to adminster manangement_project4387 does not update management_project_id4388 cluster already has a management project set4389 unsets management_project_id4390 manangement_project is outside of the namespace scope4391 does not update management_project_id4392 instance cluster4393 user is authorized to adminster manangement_project4394 updates management_project_id4395 user is not authorized to adminster manangement_project4396 does not update management_project_id4397 cluster already has a management project set4398 unsets management_project_id4399Releases::Link4400 associations4401 is expected to belong to release required:4402 validation4403 is expected to validate that :url cannot be empty/falsy4404 is expected to validate that :name cannot be empty/falsy4405 is expected to validate that the length of :filepath is at most 1284406 when url is invalid4407 will be invalid4408 when duplicate name is added to a release4409 raises an error4410 when duplicate url is added to a release4411 raises an error4412 when duplicate filepath is added to a release4413 raises an error4414 .sorted4415 returns a list of links by created_at order4416 #internal?4417 is expected to be truthy4418 when link does not include project web url4419 is expected to be falsy4420 #external?4421 is expected to be truthy4422 supported protocols4423 protocol: "http"4424 will be valid4425 protocol: "https"4426 will be valid4427 protocol: "ftp"4428 will be valid4429 unsupported protocol4430 for torrent4431 will be invalid4432 FILEPATH_REGEX with table4433 reason: "cannot contain `//`", filepath: "/https//www.example.com", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8306da8 @method_name=:be_invalid, @args=[], @block=nil>4434 is expected to be invalid4435 reason: "cannot start with `//`", filepath: "//www.example.com", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8306ad8 @method_name=:be_invalid, @args=[], @block=nil>4436 is expected to be invalid4437 reason: "cannot contain a `?`", filepath: "/example.com/?stuff=true", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d83067e0 @method_name=:be_invalid, @args=[], @block=nil>4438 is expected to be invalid4439 reason: "cannot contain a `:`", filepath: "/example:5000", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d83064c0 @method_name=:be_invalid, @args=[], @block=nil>4440 is expected to be invalid4441 reason: "cannot end in a `-`", filepath: "/binaries/awesome-app.dmg-", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d83061a0 @method_name=:be_invalid, @args=[], @block=nil>4442 is expected to be invalid4443 reason: "cannot end in a `.`", filepath: "/binaries/awesome-app.dmg.", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8305ea8 @method_name=:be_invalid, @args=[], @block=nil>4444 is expected to be invalid4445 reason: "cannot end in a `_`", filepath: "/binaries/awesome-app.dmg_", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8305bd8 @method_name=:be_invalid, @args=[], @block=nil>4446 is expected to be invalid4447 reason: "cannot start with a `.`", filepath: ".binaries/awesome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8305700 @method_name=:be_invalid, @args=[], @block=nil>4448 is expected to be invalid4449 reason: "cannot start with a `-`", filepath: "-binaries/awesome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8305408 @method_name=:be_invalid, @args=[], @block=nil>4450 is expected to be invalid4451 reason: "cannot start with a `_`", filepath: "_binaries/awesome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8304f58 @method_name=:be_invalid, @args=[], @block=nil>4452 is expected to be invalid4453 reason: "cannot start with a number", filepath: "3binaries/awesome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8304c60 @method_name=:be_invalid, @args=[], @block=nil>4454 is expected to be invalid4455 reason: "cannot start with a letter", filepath: "binaries/awesome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8304968 @method_name=:be_invalid, @args=[], @block=nil>4456 is expected to be invalid4457 reason: "cannot contain accents", filepath: "/binarïes/âwésome-app.dmg", result: #<RSpec::Matchers::BuiltIn::BePredicate:0x00007fa2d8304670 @method_name=:be_invalid, @args=[], @block=nil>4458 is expected to be invalid4459 reason: "can end in a character", filepath: "/binaries/awesome-app.dmg", result: #<RSpec::Rails::Matchers::BeValid:0x00007fa2d83044b8 @args=[]>4460 is expected to be valid4461 reason: "can end in a number", filepath: "/binaries/awesome-app-1", result: #<RSpec::Rails::Matchers::BeValid:0x00007fa2d8304350 @args=[]>4462 is expected to be valid4463 reason: "can contain one or more dots, dashes or underscores", filepath: "/sub_tr__ee.ex..ample-2--1/v99.com", result: #<RSpec::Rails::Matchers::BeValid:0x00007fa2d8304170 @args=[]>4464 is expected to be valid4465 reason: "can contain multiple non-sequential slashes", filepath: "/example.com/path/to/file.exe", result: #<RSpec::Rails::Matchers::BeValid:0x00007fa2d83058e0 @args=[]>4466 is expected to be valid4467 reason: "can be nil", filepath: nil, result: #<RSpec::Rails::Matchers::BeValid:0x00007fa2d82ffe68 @args=[]>4468 is expected to be valid4469Groups::GroupLinks::CreateService#execute4470 adds group to another group4471 returns false if shared group is blank4472 user does not have access to group4473 returns error4474 user does not have admin access to shared group4475 returns error4476 project authorizations based on group hierarchies4477 project authorizations refresh4478 is executed only for the direct members of the group4479 project authorizations4480 group user4481 create proper authorizations4482 parent group user4483 create proper authorizations4484 child group user4485 create proper authorizations4486 sharing outside the hierarchy is disabled4487 prevents sharing with a group outside the hierarchy4488 allows sharing with a group within the hierarchy4489Atlassian::JiraConnect::Client4490 .generate_update_sequence_id4491 returns unix time in microseconds as integer4492 #send_info4493 calls more specific methods as appropriate4494 only calls methods that we need to call4495 raises an argument error if there is nothing to send (probably a typo?)4496 #handle_response4497 the response is 200 OK4498 yields to the block4499 the response is 400 bad request4500 extracts the errors messages4501 the response is 401 forbidden4502 reports that our JWT is wrong4503 the response is 4034504 reports that the App is misconfigured4505 the response is 4134506 extracts the errors messages4507 the response is 4294508 reports that we exceeded the rate limit4509 the response is 5034510 reports that the service is unavailable4511 the response is anything else4512 reports that this was unanticipated4513 #store_deploy_info4514 calls the API with auth headers4515 only sends information about relevant MRs4516 does not call the API if there is nothing to report4517 there are errors4518 reports the errors4519 #store_ff_info4520 calls the API with auth headers4521 only sends information about relevant MRs4522 does not call the API if there is nothing to report4523 there are errors4524 reports the errors4525 #store_build_info4526 calls the API with auth headers4527 only sends information about relevant MRs4528 does not call the API if there is nothing to report4529 avoids N+1 database queries (PENDING: https://gitlab.com/gitlab-org/gitlab/-/issues/292818)4530 there are errors4531 reports the errors4532 #store_dev_info4533 calls the API with auth headers4534 avoids N+1 database queries45361st Try error in ./spec/lib/atlassian/jira_connect/client_spec.rb:392:4537Real HTTP connections are disabled. Unregistered request: POST https://8.8.8.9/rest/devinfo/0.10/bulk with body '{"providerMetadata":{"product":"GitLab 14.4.0-pre"},"repositories":[{"updateSequenceId":1632306819049,"id":"642","name":"project797","description":null,"url":"http://localhost/namespace755/project797","avatar":null,"commits":null,"branches":null,"pullRequests":[{"updateSequenceId":1632306819050,"id":"83","issueKeys":[],"displayId":"namespace758/project800!1","title":"My title 855","author":{"name":"John Doe1376","email":"user1405@example.org","username":"namespace758","url":"http://localhost/namespace758","avatar":"https://www.gravatar.com/avatar/6d343dc9b74745dd957993a3d2ac81da?s=80\u0026d=identicon"},"commentCount":0,"sourceBranch":"my-branch-11","destinationBranch":"my-branch-12","lastUpdate":"2021-09-22T10:33:38.049Z","status":"OPEN","sourceBranchUrl":"http://localhost/namespace758/project800/-/commits/my-branch-11","url":"http://localhost/namespace758/project800/-/merge_requests/1"},{"updateSequenceId":1632306819052,"id":"84","issueKeys":[],"displayId":"namespace759/project801!1","title":"My title 856","author":{"name":"John Doe1377","email":"user1406@example.org","username":"namespace759","url":"http://localhost/namespace759","avatar":"https://www.gravatar.com/avatar/4a52e056b5b10629c3f3b95e64516a6f?s=80\u0026d=identicon"},"commentCount":0,"sourceBranch":"my-branch-13","destinationBranch":"my-branch-14","lastUpdate":"2021-09-22T10:33:38.337Z","status":"OPEN","sourceBranchUrl":"http://localhost/namespace759/project801/-/commits/my-branch-13","url":"http://localhost/namespace759/project801/-/merge_requests/1"},{"updateSequenceId":1632306819054,"id":"85","issueKeys":[],"displayId":"namespace760/project802!1","title":"My title 857","author":{"name":"John Doe1378","email":"user1407@example.org","username":"namespace760","url":"http://localhost/namespace760","avatar":"https://www.gravatar.com/avatar/07f84c55769173ca82eabde7052038f8?s=80\u0026d=identicon"},"commentCount":0,"sourceBranch":"my-branch-15","destinationBranch":"my-branch-16","lastUpdate":"2021-09-22T10:33:38.902Z","status":"OPEN","sourceBranchUrl":"http://localhost/namespace760/project802/-/commits/my-branch-15","url":"http://localhost/namespace760/project802/-/merge_requests/1"}]}]}' with headers {'Accept'=>'application/json', 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxOSwiZXhwIjoxNjMyMzA2ODc5LCJxc2giOiI4Y2MyNWUyODcxOWE1YzMyMTI1OTVhMTM1Nzk1YmZlMGEwZTU0YjAzOTViMTI5MWY5MWQ4YjhjNDczNzM2NzJjIn0.WQvEzh5AWPOODqd3rE-HgK-aXdFsx3jxWJ8stS50JNU', 'Content-Type'=>'application/json'}4538You can stub this request with the following snippet:4539stub_request(:post, "https://8.8.8.9/rest/devinfo/0.10/bulk").4540 with(4541 body: "{\"providerMetadata\":{\"product\":\"GitLab 14.4.0-pre\"},\"repositories\":[{\"updateSequenceId\":1632306819049,\"id\":\"642\",\"name\":\"project797\",\"description\":null,\"url\":\"http://localhost/namespace755/project797\",\"avatar\":null,\"commits\":null,\"branches\":null,\"pullRequests\":[{\"updateSequenceId\":1632306819050,\"id\":\"83\",\"issueKeys\":[],\"displayId\":\"namespace758/project800!1\",\"title\":\"My title 855\",\"author\":{\"name\":\"John Doe1376\",\"email\":\"user1405@example.org\",\"username\":\"namespace758\",\"url\":\"http://localhost/namespace758\",\"avatar\":\"https://www.gravatar.com/avatar/6d343dc9b74745dd957993a3d2ac81da?s=80\\u0026d=identicon\"},\"commentCount\":0,\"sourceBranch\":\"my-branch-11\",\"destinationBranch\":\"my-branch-12\",\"lastUpdate\":\"2021-09-22T10:33:38.049Z\",\"status\":\"OPEN\",\"sourceBranchUrl\":\"http://localhost/namespace758/project800/-/commits/my-branch-11\",\"url\":\"http://localhost/namespace758/project800/-/merge_requests/1\"},{\"updateSequenceId\":1632306819052,\"id\":\"84\",\"issueKeys\":[],\"displayId\":\"namespace759/project801!1\",\"title\":\"My title 856\",\"author\":{\"name\":\"John Doe1377\",\"email\":\"user1406@example.org\",\"username\":\"namespace759\",\"url\":\"http://localhost/namespace759\",\"avatar\":\"https://www.gravatar.com/avatar/4a52e056b5b10629c3f3b95e64516a6f?s=80\\u0026d=identicon\"},\"commentCount\":0,\"sourceBranch\":\"my-branch-13\",\"destinationBranch\":\"my-branch-14\",\"lastUpdate\":\"2021-09-22T10:33:38.337Z\",\"status\":\"OPEN\",\"sourceBranchUrl\":\"http://localhost/namespace759/project801/-/commits/my-branch-13\",\"url\":\"http://localhost/namespace759/project801/-/merge_requests/1\"},{\"updateSequenceId\":1632306819054,\"id\":\"85\",\"issueKeys\":[],\"displayId\":\"namespace760/project802!1\",\"title\":\"My title 857\",\"author\":{\"name\":\"John Doe1378\",\"email\":\"user1407@example.org\",\"username\":\"namespace760\",\"url\":\"http://localhost/namespace760\",\"avatar\":\"https://www.gravatar.com/avatar/07f84c55769173ca82eabde7052038f8?s=80\\u0026d=identicon\"},\"commentCount\":0,\"sourceBranch\":\"my-branch-15\",\"destinationBranch\":\"my-branch-16\",\"lastUpdate\":\"2021-09-22T10:33:38.902Z\",\"status\":\"OPEN\",\"sourceBranchUrl\":\"http://localhost/namespace760/project802/-/commits/my-branch-15\",\"url\":\"http://localhost/namespace760/project802/-/merge_requests/1\"}]}]}",4542 headers: {4543 'Accept'=>'application/json',4544 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxOSwiZXhwIjoxNjMyMzA2ODc5LCJxc2giOiI4Y2MyNWUyODcxOWE1YzMyMTI1OTVhMTM1Nzk1YmZlMGEwZTU0YjAzOTViMTI5MWY5MWQ4YjhjNDczNzM2NzJjIn0.WQvEzh5AWPOODqd3rE-HgK-aXdFsx3jxWJ8stS50JNU',4545 'Content-Type'=>'application/json'4546 }).4547 to_return(status: 200, body: "", headers: {})4548registered request stubs:4549stub_request(:post, "https://8.8.8.9/rest/devinfo/0.10/bulk").4550 with(4551 headers: {4552 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxOCwiZXhwIjoxNjMyMzA2ODc4LCJxc2giOiI4Y2MyNWUyODcxOWE1YzMyMTI1OTVhMTM1Nzk1YmZlMGEwZTU0YjAzOTViMTI5MWY5MWQ4YjhjNDczNzM2NzJjIn0.Rs3_Hf6lJDvDYs8kDqUutmoSlGHZ1SNOXig40zGH-kg',4553 'Content-Type'=>'application/json'4554 })4555============================================================4557RSpec::Retry: 2nd try ./spec/lib/atlassian/jira_connect/client_spec.rb:3924558Ci::CreatePipelineService4559 needs4560 with a valid config4561 creates a pipeline with builds4562 saves needs4563 saves dependencies4564 artifacts default to true4565 saves parallel jobs4566 sets scheduling_type as 'dag'4567 with an invalid config4568 is expected to be persisted4569 is expected to be falsey4570 assigns an error to the pipeline4571 when needs is empty array4572 creates a pipeline with build_a and test_b pending; deploy_b manual4573 when needs is empty hash4574 raises error4575 when the needed job has rules4576 returns error4577 when need is optional4578 creates the pipeline without an error4579Gitlab::CurrentSettings4580 .expire_current_application_settings4581 expires the cache4582 .signup_limited?4583 when there are allowed domains4584 is expected to be truthy4585 when there are email restrictions4586 is expected to be truthy4587 when the admin has to approve signups4588 is expected to be truthy4589 when there are no restrictions4590 is expected to be falsey4591 .signup_disabled?4592 when signup is enabled4593 is expected to be falsey4594 when signup is disabled4595 is expected to be truthy4596 #current_application_settings4597 allows keys to be called directly4598 when ENV["IN_MEMORY_APPLICATION_SETTINGS"] is true4599 returns an in-memory ApplicationSetting object4600 in a Rake task with DB unavailable4601 and no settings in cache4602 returns a FakeApplicationSettings object4603 does not issue any query4604 with DB available4605 and settings in cache4606 fetches the settings from cache4607 and no settings in cache4608 creates default ApplicationSettings if none are present4609 with RequestStore enabled4610 fetches the settings from DB only once4611 when ApplicationSettings does not have a primary key4612 raises an exception if ApplicationSettings does not have a primary key4613 with pending migrations4614 in a Rake task4615 returns a FakeApplicationSettings object4616 behaves like a non-persisted ApplicationSetting object4617 uses the default value from ApplicationSetting.defaults4618 uses the default value from custom ApplicationSetting accessors4619 responds to predicate methods4620 when a new column is used before being migrated4621 uses the default value if present4622 with no ApplicationSetting DB record4623 behaves like a non-persisted ApplicationSetting object4624 uses the default value from ApplicationSetting.defaults4625 uses the default value from custom ApplicationSetting accessors4626 responds to predicate methods4627 with an existing ApplicationSetting DB record4628 uses the value from the DB attribute if present and not overridden by an accessor4629 behaves like a non-persisted ApplicationSetting object4630 uses the default value from ApplicationSetting.defaults4631 uses the default value from custom ApplicationSetting accessors4632 responds to predicate methods4633 when ApplicationSettings.current is present4634 returns the existing application settings4635 #current_application_settings?4636 returns true when settings exist4637 returns false when settings do not exist4638 with cache4639 returns an in-memory ApplicationSetting object4640Serverless::Domain4641 .new4642 with valid arguments4643 behaves like a valid Domain4644 #uri4645 matches valid URI4646 #function_name4647 returns function_name4648 #serverless_domain_cluster4649 returns serverless_domain_cluster4650 #environment4651 returns environment4652 with invalid arguments4653 is expected not to be valid4654 with nil cluster argument4655 is expected not to be valid4656 .generate_uuid4657 has 14 characters4658 consists of only hexadecimal characters4659 uses random characters4660Pages::DeploymentUploader4661 behaves like builds correct paths4662 #store_dir4663 behaves like matches the method pattern4664 is expected to match /\/\h{2}\/\h{2}\/\h{64}\/pages_deployments\/\d+/4665 #cache_dir4666 behaves like matches the method pattern4667 is expected to match /pages\/@hashed\/tmp\/cache/4668 #work_dir4669 behaves like matches the method pattern4670 is expected to match /pages\/@hashed\/tmp\/work/4671 #upload_path4672 behaves like matches the method pattern4673 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4674 #relative_path4675 is relative (PENDING: Path not set, skipping.)4676 .absolute_path4677 behaves like matches the method pattern4678 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4679 .base_dir4680 behaves like matches the method pattern4681 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4682 path traversal exploits4683 throws an exception4684 when object store is REMOTE4685 preserves original file when stores it4686 behaves like builds correct paths4687 #store_dir4688 behaves like matches the method pattern4689 is expected to match /\A\h{2}\/\h{2}\/\h{64}\/pages_deployments\/\d+\z/4690 #cache_dir4691 behaves like matches the method pattern4692 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4693 #work_dir4694 behaves like matches the method pattern4695 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4696 #upload_path4697 behaves like matches the method pattern4698 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4699 #relative_path4700 is relative (PENDING: Path not set, skipping.)4701 .absolute_path4702 behaves like matches the method pattern4703 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4704 .base_dir4705 behaves like matches the method pattern4706 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)4707 path traversal exploits4708 throws an exception4709 when file is stored in valid local_path4710 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/pages\/@hashed\/\h{2}\/\h{2}\/\h{64}\/pages_deployments\/18\/pages.zip/4711 preserves original file when stores it4712 .default_store4713 returns local store when object storage is not enabled4714 returns remote store when object storage is enabled4715Gitlab::Gpg::InvalidGpgSignatureUpdater4716 #run4717 gpg signature did have an associated gpg key which was removed later4718 assigns the gpg key to the signature when the missing gpg key is added4719 does not assign the gpg key when an unrelated gpg key is added4720 gpg signature did not have an associated gpg key4721 updates the signature to being valid when the missing gpg key is added4722 keeps the signature at being invalid when an unrelated gpg key is added4723 gpg signature did have an associated unverified gpg key4724 updates the signature to being valid when the user updates the email address4725 keeps the signature at being invalid when the changed email address is still unrelated4726 gpg signature did not have an associated gpg subkey4727 updates the signature to being valid when the missing gpg key is added4728Namespaces::PackageSettings::UpdateService4729 #execute4730 with existing namespace package setting4731 user_role: :maintainer, shared_examples_name: "updating the namespace package setting"4732 behaves like updating the namespace package setting4733 behaves like updating the namespace package setting attributes4734 updates the namespace package setting4735 behaves like not creating the namespace package setting4736 doesn't create the namespace package setting4737 behaves like returning a success4738 returns a success4739 with invalid params4740 doesn't update the maven_duplicates_allowed4741 behaves like not creating the namespace package setting4742 doesn't create the namespace package setting4743 behaves like returning an error4744 returns an error4745 user_role: :developer, shared_examples_name: "updating the namespace package setting"4746 behaves like updating the namespace package setting4747 behaves like updating the namespace package setting attributes4748 updates the namespace package setting4749 behaves like not creating the namespace package setting4750 doesn't create the namespace package setting4751 behaves like returning a success4752 returns a success4753 with invalid params4754 doesn't update the maven_duplicates_allowed4755 behaves like not creating the namespace package setting4756 doesn't create the namespace package setting4757 behaves like returning an error4758 returns an error4759 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"4760 behaves like denying access to namespace package setting4761 with existing namespace package setting4762 behaves like not creating the namespace package setting4763 doesn't create the namespace package setting4764 behaves like returning an error4765 returns an error4766 user_role: :guest, shared_examples_name: "denying access to namespace package setting"4767 behaves like denying access to namespace package setting4768 with existing namespace package setting4769 behaves like not creating the namespace package setting4770 doesn't create the namespace package setting4771 behaves like returning an error4772 returns an error4773 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"4774 behaves like denying access to namespace package setting4775 with existing namespace package setting4776 behaves like not creating the namespace package setting4777 doesn't create the namespace package setting4778 behaves like returning an error4779 returns an error4780 without existing namespace package setting4781 user_role: :maintainer, shared_examples_name: "creating the namespace package setting"4782 behaves like creating the namespace package setting4783 creates a new package setting4784 saves the settings4785 behaves like returning a success4786 returns a success4787 user_role: :developer, shared_examples_name: "creating the namespace package setting"4788 behaves like creating the namespace package setting4789 creates a new package setting4790 saves the settings4791 behaves like returning a success4792 returns a success4793 user_role: :reporter, shared_examples_name: "denying access to namespace package setting"4794 behaves like denying access to namespace package setting4795 with existing namespace package setting4796 behaves like not creating the namespace package setting4797 doesn't create the namespace package setting4798 behaves like returning an error4799 returns an error4800 user_role: :guest, shared_examples_name: "denying access to namespace package setting"4801 behaves like denying access to namespace package setting4802 with existing namespace package setting4803 behaves like not creating the namespace package setting4804 doesn't create the namespace package setting4805 behaves like returning an error4806 returns an error4807 user_role: :anonymous, shared_examples_name: "denying access to namespace package setting"4808 behaves like denying access to namespace package setting4809 with existing namespace package setting4810 behaves like not creating the namespace package setting4811 doesn't create the namespace package setting4812 behaves like returning an error4813 returns an error4814GitlabSchema4815 uses batch loading4816 enables the generic instrumenter4817 has the base mutation4818 has the base query4819 paginates active record relations using `Pagination::Keyset::Connection`4820 paginates ExternallyPaginatedArray using `Pagination::ExternallyPaginatedArrayConnection`4821 .execute4822 setting query `max_complexity` and `max_depth`4823 with no context4824 is expected to have attributes {:max_complexity => 200, :max_depth => 15}4825 with no :current_user4826 is expected to have attributes {:max_complexity => 200, :max_depth => 15}4827 with anonymous user4828 is expected to have attributes {:max_complexity => 200, :max_depth => 15}4829 with a logged in user4830 sets authenticated user limits4831 with an admin user4832 sets admin/authenticated user limits4833 when limits passed as kwargs4834 sets limits from the kwargs4835 .id_from_object4836 returns a global id4837 raises a meaningful error if a global id couldn't be generated4838 .object_from_id4839 raises the correct error on invalid input4840 with subclasses of `ApplicationRecord`4841 returns the correct record4842 returns the correct record, of the expected type4843 fails if the type does not match4844 batchloads the queries4845 with classes that are not ActiveRecord subclasses and have implemented .lazy_find4846 returns the correct record4847 batchloads the queries4848 with other classes4849 falls back to a regular find4850 .parse_gid4851 parses the gid4852 when gid is malformed4853 raises an error4854 when using expected_type4855 accepts a single type4856 accepts an ancestor type4857 rejects an unknown type4858 when expected_type is an array4859 when global_id is of type TestOne4860 returns an object of an expected type4861 when global_id is of type TestTwo4862 returns an object of an expected type4863 when global_id is of type TestThree4864 rejects an unknown type4865RuboCop::CodeReuseHelpers4866 #send_to_constant?4867 returns true when sending to a constant4868 returns false when sending to something other than a constant4869 #send_receiver_name_ends_with?4870 returns true when the receiver ends with a suffix4871 returns false when the receiver is the same as a suffix4872 #file_path_for_node4873 returns the file path of a node4874 #name_of_constant4875 returns the name of a constant4876 #in_finder?4877 returns true for a node in the finders directory4878 returns false for a node outside the finders directory4879 #in_model?4880 returns true for a node in the models directory4881 returns false for a node outside the models directory4882 #in_service_class?4883 returns true for a node in the services directory4884 returns false for a node outside the services directory4885 #in_presenter?4886 returns true for a node in the presenters directory4887 returns false for a node outside the presenters directory4888 #in_serializer?4889 returns true for a node in the serializers directory4890 returns false for a node outside the serializers directory4891 #in_worker?4892 returns true for a node in the workers directory4893 returns false for a node outside the workers directory4894 #in_graphql_types?4895 returns true for a node in app/graphql/types4896 returns true for a node in ee/app/graphql/ee/types4897 returns true for a node in ee/app/graphql/types4898 returns true for a node in app/graphql/resolvers4899 returns true for a node in app/foo4900 #in_api?4901 returns true for a node in the API directory4902 returns false for a node outside the API directory4903 #in_spec?4904 returns true for a node in the spec directory4905 returns true for a node in the ee/spec directory4906 returns false for a node outside the spec directory4907 #in_app_directory?4908 returns true for a directory in the CE app/ directory4909 returns true for a directory in the EE app/ directory4910 returns false for a directory in the lib/ directory4911 #in_lib_directory?4912 returns true for a directory in the CE lib/ directory4913 returns true for a directory in the EE lib/ directory4914 returns false for a directory in the app/ directory4915 #name_of_receiver4916 returns the name of a send receiver4917 #each_class_method4918 yields every class method to the supplied block4919 #each_send_node4920 yields every send node to the supplied block4921 #disallow_send_to4922 disallows sending a message to a constant4923Gitlab::Cache::Ci::ProjectPipelineStatus4924 .load_for_project4925 loads the status4926 loading in batches4927 .load_in_batch_for_projects4928 loads pipeline_status on projects4929 loads 10 projects without hitting Gitaly call limit4930 .update_for_pipeline4931 refreshes the cache if nescessary4932 #has_status?4933 is false when the status wasn't loaded yet4934 is true when all status information was loaded4935 #load_status4936 loads the status from the cache when there is one4937 loads the status from the project commit when there is no cache4938 stores the status in the cache when it loading it from the project4939 sets the state to loaded4940 only loads the status once4941 handles Gitaly unavailable exceptions gracefully4942 handles Gitaly timeout exceptions gracefully4943 gitaly call counts4944 not cached4945 makes a Gitaly call4946 cached4947 makes no Gitaly calls4948 #load_from_project4949 reads the status from the pipeline for the commit4950 doesn't fail for an empty project4951 #store_in_cache4952 sets the object in caching4953 #store_in_cache_if_needed4954 stores the state in the cache when the sha is the HEAD of the project4955 doesn't store the status in redis_cache when the sha is not the head of the project4956 deletes the cache if the repository doesn't have a head commit4957 with a status in caching4958 #load_from_cache4959 reads the status from redis_cache4960 when status is empty string4961 reads the status as nil4962 #has_cache?4963 knows the status is cached4964 #delete_from_cache4965 deletes values from redis_cache4966PageLayoutHelper4967 page_description4968 defaults to nil4969 returns the last-pushed description4970 squishes multiple newlines4971 truncates4972 sanitizes all HTML4973 truncates before sanitizing4974 page_image4975 defaults to the GitLab logo4976 with @project assigned4977 uses Project avatar full url4978 when avatar_url is nil4979 falls back to the default when avatar_url is nil4980 with no assignments4981 falls back to the default4982 with @user assigned4983 uses User avatar full url4984 when avatar_url is nil4985 falls back to the default when avatar_url is nil4986 with no assignments4987 falls back to the default4988 with @group assigned4989 uses Group avatar full url4990 when avatar_url is nil4991 falls back to the default when avatar_url is nil4992 with no assignments4993 falls back to the default4994 page_card_attributes4995 raises ArgumentError when given more than two attributes4996 rejects blank values4997 page_card_meta_tags4998 returns the twitter:label and twitter:data tags4999 escapes content5000 #search_context5001 a bare controller5002 returns an empty context5003 #page_canonical_link5004 when link is passed5005 stores and returns the link value5006 when no link is provided5007 behaves like generates the canonical url using the params in the context5008 is expected to eq "http://test.host/foo"5009 behaves like generates the canonical url using the params in the context5010 is expected to eq "http://test.host/foo"5011 behaves like does not return a canonical url5012 is expected to be nil5013 behaves like does not return a canonical url5014 is expected to be nil5015 #page_itemtype5016 when itemtype is passed5017 stores and returns the itemtype value5018 when no itemtype is provided5019 returns an empty hash5020 #user_status_properties5021 when the user has no status5022 returns default properties5023 when user has a status5024 merges the status properties with the defaults5025Gitlab::StaticSiteEditor::Config::FileConfig::Entry::Global5026 .nodes5027 returns a hash5028 when filtering all the entry/node names5029 contains the expected node names5030 when configuration is valid5031 when some entries defined5032 behaves like valid default configuration5033 #compose!5034 creates nodes hash5035 creates node object for each entry5036 creates node object using valid class5037 sets a description containing "Static Site Editor" for all nodes5038 #leaf?5039 is not leaf5040 when not composed5041 #static_site_generator_value5042 returns nil5043 #leaf?5044 is leaf5045 when composed5046 #errors5047 has no errors5048 #image_upload_path_value5049 returns correct values5050 #mounts_value5051 returns correct values5052 #static_site_generator_value5053 returns correct values5054 when value is an empty hash5055 behaves like valid default configuration5056 #compose!5057 creates nodes hash5058 creates node object for each entry5059 creates node object using valid class5060 sets a description containing "Static Site Editor" for all nodes5061 #leaf?5062 is not leaf5063 when not composed5064 #static_site_generator_value5065 returns nil5066 #leaf?5067 is leaf5068 when composed5069 #errors5070 has no errors5071 #image_upload_path_value5072 returns correct values5073 #mounts_value5074 returns correct values5075 #static_site_generator_value5076 returns correct values5077 when configuration is not valid5078 when a single entry is invalid5079 #errors5080 reports errors5081 when a multiple entries are invalid5082 #errors5083 reports errors5084 when there is an invalid key5085 #errors5086 reports errors5087 when value is not a hash5088 #valid?5089 is not valid5090 #errors5091 returns error about invalid type5092 #specified?5093 is concrete entry that is defined5094 #[]5095 when entry exists5096 returns correct entry5097 when entry does not exist5098 always return unspecified node5099PagesDomainAcmeOrder5100 .expired5101 returns only expired orders5102 .find_by_domain_and_token5103 domain_name: "test.com", challenge_token: "righttoken", present: true5104 is expected to eq true5105 domain_name: "test.com", challenge_token: "wrongtoken", present: false5106 is expected to eq false5107 domain_name: "test.org", challenge_token: "righttoken", present: false5108 is expected to eq false5109 associations5110 is expected to belong to pages_domain required:5111 validations5112 is expected to validate that :pages_domain cannot be empty/falsy5113 is expected to validate that :expires_at cannot be empty/falsy5114 is expected to validate that :url cannot be empty/falsy5115 is expected to validate that :challenge_token cannot be empty/falsy5116 is expected to validate that :challenge_file_content cannot be empty/falsy5117 is expected to validate that :private_key cannot be empty/falsy5118Gitlab::VersionInfo5119 >5120 is expected to be > 1.1.05121 is expected to be > 1.0.15122 is expected to be > 1.0.05123 is expected to be > 0.1.05124 is expected to be > 0.0.15125 >=5126 is expected to be >= 2.0.05127 is expected to be >= 1.1.05128 <5129 is expected to be < 0.1.05130 is expected to be < 1.0.05131 is expected to be < 1.0.15132 is expected to be < 1.1.05133 is expected to be < 2.0.05134 <=5135 is expected to be <= 0.0.15136 is expected to be <= 0.1.05137 ==5138 is expected to eq #<Gitlab::VersionInfo:0x00007fa2e97d4a40 @major=0, @minor=0, @patch=1>5139 is expected to eq #<Gitlab::VersionInfo:0x00007fa2d7f62c38 @major=0, @minor=1, @patch=0>5140 is expected to eq #<Gitlab::VersionInfo:0x00007fa2d834d668 @major=1, @minor=0, @patch=0>5141 !=5142 is expected not to eq #<Gitlab::VersionInfo:0x00007fa2d85afd48 @major=0, @minor=1, @patch=0>5143 unknown5144 is expected not to equal #<Gitlab::VersionInfo:0x00007fa2d888e460 @major=0, @minor=0, @patch=1>5145 is expected not to equal #<Gitlab::VersionInfo:0x00007fa2b8b9c898 @major=0, @minor=0, @patch=0>5146 is expected to raise ArgumentError5147 is expected to raise ArgumentError5148 parse5149 is expected to eq #<Gitlab::VersionInfo:0x00007fa2f7ee4570 @major=1, @minor=0, @patch=0>5150 is expected to eq #<Gitlab::VersionInfo:0x00007fa2f24b2d18 @major=1, @minor=0, @patch=0>5151 is expected to eq #<Gitlab::VersionInfo:0x00007fa2f4521540 @major=1, @minor=0, @patch=0>5152 is expected to eq #<Gitlab::VersionInfo:0x00007fa2e8e04920 @major=1, @minor=0, @patch=0>5153 is expected to eq #<Gitlab::VersionInfo:0x00007fa2eab3c0d8 @major=1, @minor=0, @patch=0>5154 is expected to eq #<Gitlab::VersionInfo:0x00007fa2d81c7280 @major=1, @minor=0, @patch=0>5155 is expected not to be valid5156 to_s5157 is expected to eq "1.0.0"5158 is expected to eq "Unknown"5159IncidentManagement::ProcessAlertWorkerV25160 #perform5161 with valid alert5162 behaves like creates issue successfully5163 creates an issue5164 updates AlertManagement::Alert#issue_id5165 does not write a warning to log5166 behaves like an idempotent worker5167 is labeled as idempotent5168 performs multiple times sequentially without raising an exception5169 does not create a second issue5170 when alert cannot be updated5171 updates AlertManagement::Alert#issue_id5172 logs a warning5173 prometheus alert5174 behaves like creates issue successfully5175 creates an issue5176 updates AlertManagement::Alert#issue_id5177 does not write a warning to log5178 behaves like an idempotent worker5179 is labeled as idempotent5180 performs multiple times sequentially without raising an exception5181 does not create a second issue5182 with invalid alert5183 does not create issues5184Packages::CreateEventService5185 #execute5186 with a user5187 behaves like db package event creation5188 with feature flag disable5189 does not create an event5190 with feature flag enabled5191 creates the event5192 on a read-only instance5193 does not create an event5194 behaves like redis package unique event creation5195 tracks the event5196 behaves like redis package count event creation5197 tracks the event5198 with a deploy token5199 behaves like db package event creation5200 with feature flag disable5201 does not create an event5202 with feature flag enabled5203 creates the event5204 on a read-only instance5205 does not create an event5206 behaves like redis package unique event creation5207 tracks the event5208 behaves like redis package count event creation5209 tracks the event5210 with no user5211 behaves like db package event creation5212 with feature flag disable5213 does not create an event5214 with feature flag enabled5215 creates the event5216 on a read-only instance5217 does not create an event5218 behaves like redis package count event creation5219 tracks the event5220 with a package as scope5221 as guest5222 behaves like db package event creation5223 with feature flag disable5224 does not create an event5225 with feature flag enabled5226 creates the event5227 on a read-only instance5228 does not create an event5229 behaves like redis package count event creation5230 tracks the event5231 with user5232 behaves like db package event creation5233 with feature flag disable5234 does not create an event5235 with feature flag enabled5236 creates the event5237 on a read-only instance5238 does not create an event5239 behaves like redis package unique event creation5240 tracks the event5241 behaves like redis package count event creation5242 tracks the event5243Clusters::Providers::Aws5244 is expected to belong to cluster required:5245 is expected to validate that the length of :key_name is between 1 and 2555246 is expected to validate that the length of :region is between 1 and 2555247 is expected to validate that the length of :instance_type is between 1 and 2555248 is expected to validate that the length of :security_group_id is between 1 and 2555249 is expected to validate that :subnet_ids cannot be empty/falsy5250 state_machine5251 when any => [:created]5252 nullifies API credentials5253 when any => [:creating]5254 calls #assign_operation_id on the provider5255 when any => [:errored]5256 calls #nullify_credentials on the provider5257 sets a status reason5258 when status_reason is nil5259 does not set status_reason5260 #on_creation?5261 status: :scheduled, result: true5262 is expected to eq true5263 status: :creating, result: true5264 is expected to eq true5265 status: :created, result: false5266 is expected to eq false5267 status: :errored, result: false5268 is expected to eq false5269 default_value_for5270 sets default values5271 custom validations5272 :num_nodes5273 contains non-digit characters5274 is expected to be falsey5275 is blank5276 is expected to be falsey5277 is less than 15278 is expected to be falsey5279 is a positive integer5280 is expected to be truthy5281 #nullify_credentials5282 removes access_key_id, secret_access_key and session_token5283 #api_client5284 is expected to eq #<Double (anonymous)>5285 #credentials5286 is expected to eq #<Double (anonymous)>5287 #created_by_user5288 is expected to eq #<User id:1358 @user738>5289 #has_rbac_enabled?5290 is expected to be truthy5291 #knative_pre_installed?5292 is expected to be falsey5293Gitlab::MarkdownCache::ActiveRecord::Extension5294 an unchanged markdown field5295 is expected to eq "`Foo`"5296 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"5297 is expected not to be truthy5298 is expected to eq 19005445299 a changed markdown field5300 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"5301 is expected to eq 19005445302 when a markdown field is set repeatedly to an empty string5303 is expected to receive refresh_markdown_cache(*(any args)) 1 time5304 when a markdown field is set repeatedly to a string which renders as empty html5305 is expected to receive refresh_markdown_cache(*(any args)) 1 time5306 a non-markdown field changed5307 is expected to eq 25308 is expected to eq "`Foo`"5309 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Foo</code></p>"5310 is expected to eq 19005445311 version is out of date5312 is expected to eq "<p data-sourcepos=\"1:1-1:5\" dir=\"auto\"><code>Bar</code></p>"5313 is expected to eq 19005445314 when an invalidating field is changed5315 invalidates the cache when project changes5316 invalidates the cache when author changes5317 .attributes5318 excludes cache attributes that is blacklisted by default5319 #cached_html_up_to_date?5320 returns false if markdown has been changed but html has not5321 returns true if markdown has not been changed but html has5322 returns true if markdown and html have both been changed5323 returns false if the markdown field is set but the html is not5324 #refresh_markdown_cache!5325 skips saving if not persisted5326 saves the changes5327 with note5328 calls store_mentions!5329 during import5330 does not call store_mentions!5331 when persisted cache is newer than current version5332 does not save the generated HTML5333 when persisted cache is nil5334 does not save the generated HTML5335Gitlab::JiraImport5336 .validate_project_settings!5337 without user param5338 behaves like jira configuration base checks5339 with configuration_check set to false5340 does not raise Jira integration error5341 when Jira integration was not setup5342 behaves like raise Jira import error5343 returns error5344 when Jira integration exists5345 when Jira connection is not valid5346 behaves like raise Jira import error5347 returns error5348 when jira connection is valid5349 does not return any error5350 with user param provided5351 when user has permission to run import5352 behaves like jira configuration base checks5353 with configuration_check set to false5354 does not raise Jira integration error5355 when Jira integration was not setup5356 behaves like raise Jira import error5357 returns error5358 when Jira integration exists5359 when Jira connection is not valid5360 behaves like raise Jira import error5361 returns error5362 when jira integration is configured5363 when issues feature is disabled5364 behaves like raise Jira import error5365 returns error5366 when everything is ok5367 does not return any error5368 when user does not have permissions to run the import5369 behaves like raise Jira import error5370 returns error5371 .jira_issue_cache_key5372 returns cache key for Jira issue imported to given project5373 .already_imported_cache_key5374 returns cache key for already imported items5375 .jira_issues_next_page_cache_key5376 returns cache key for next issues5377 .get_issues_next_start_at5378 returns zero when not defined5379 returns negative value for next issues to be imported starting point5380 returns cached value for next issues to be imported starting point5381 .cache_users_mapping5382 stores the data correctly5383 .get_user_mapping5384 reads the data correctly5385 returns nil if value not found5386 .store_issues_next_started_at5387 stores nil value5388 stores positive value5389 stores negative value5390Kramdown::Parser::AtlassianDocumentFormat5391 markdown render5392 renders header id to html5393 logs an error with invalid json5394 logs an error if no valid document node5395 invalid node gets ignored5396 behaves like render elements to markdown5397 renders blockquote5398 behaves like render elements to markdown5399 renders bullet_list5400 behaves like render elements to markdown5401 renders code_block5402 behaves like render elements to markdown5403 renders emoji5404 behaves like render elements to markdown5405 renders hard_break5406 behaves like render elements to markdown5407 renders heading5408 behaves like render elements to markdown5409 renders inline_card5410 behaves like render elements to markdown5411 renders media_group5412 behaves like render elements to markdown5413 renders media_single5414 behaves like render elements to markdown5415 renders mention5416 behaves like render elements to markdown5417 renders ordered_list5418 behaves like render elements to markdown5419 renders panel5420 behaves like render elements to markdown5421 renders paragraph5422 behaves like render elements to markdown5423 renders rule5424 behaves like render elements to markdown5425 renders table5426 behaves like render elements to markdown5427 renders strong_em_mark5428 behaves like render elements to markdown5429 renders code_mark5430 behaves like render elements to markdown5431 renders link_mark5432 behaves like render elements to markdown5433 renders strike_sup_sub_mark5434 behaves like render elements to markdown5435 renders underline_text_color_mark5436 behaves like render elements to markdown5437 renders complex_document5438Ci::ResourceGroups::AssignResourceFromResourceGroupService5439 #execute5440 when there is an available resource5441 requests resource5442 when failed to request resource5443 has a build waiting for resource5444 when the build has already retained a resource5445 has a pending build5446 when process mode is oldest_first5447 requests resource5448 when the other job exists in the newer pipeline5449 requests resource for the job in the oldest pipeline5450 when build is not `waiting_for_resource` state5451 attempts to request a resource5452 does not change the job status5453 when process mode is newest_first5454 requests resource5455 when the other job exists in the newer pipeline5456 requests resource for the job in the newest pipeline5457 when build is not `waiting_for_resource` state5458 attempts to request a resource5459 does not change the job status5460 when there are no available resources5461 does not request resource5462 when there is a stale build assigned to a resource5463 releases the resource from the stale build and assignes to the waiting build5464Resolvers::GroupLabelsResolver5465 is expected to have nullable GraphQL type LabelConnection5466 #resolve5467 with unauthorized user5468 raises error5469 with authorized user5470 does not raise error5471 without parent5472 returns no labels5473 at group level5474 include_ancestor_groups: nil, include_descendant_groups: nil, only_group_labels: nil, search_term: nil, test: -> { expect(subject).to contain_exactly(subgroup_label1, subgroup_label2) }5475 is expected to contain exactly #<GroupLabel id:297 ~297> and #<GroupLabel id:298 ~298>5476 include_ancestor_groups: nil, include_descendant_groups: nil, only_group_labels: true, search_term: nil, test: -> { expect(subject).to contain_exactly(subgroup_label1, subgroup_label2) }5477 is expected to contain exactly #<GroupLabel id:297 ~297> and #<GroupLabel id:298 ~298>5478 include_ancestor_groups: nil, include_descendant_groups: true, only_group_labels: nil, search_term: nil, test: -> { expect(subject).to contain_exactly(subgroup_label1, subgroup_label2, sub_subgroup_label1, sub_subgroup_label2, label1, label2) }5479 is expected to contain exactly #<GroupLabel id:297 ~297>, #<GroupLabel id:298 ~298>, #<GroupLabel id:299 ~299>, #<GroupLabel id:300 ~300>, #<ProjectLabel id:293 group301/group302/group303/project888~293>, and #<ProjectLabel id:294 group301/group302/group303/project888~294>5480 include_ancestor_groups: nil, include_descendant_groups: true, only_group_labels: true, search_term: nil, test: -> { expect(subject).to contain_exactly(subgroup_label1, subgroup_label2, sub_subgroup_label1, sub_subgroup_label2) }5481 is expected to contain exactly #<GroupLabel id:297 ~297>, #<GroupLabel id:298 ~298>, #<GroupLabel id:299 ~299>, and #<GroupLabel id:300 ~300>5482 include_ancestor_groups: true, include_descendant_groups: nil, only_group_labels: nil, search_term: nil, test: -> { expect(subject).to contain_exactly(group_label1, group_label2, subgroup_label1, subgroup_label2) }5483 is expected to contain exactly #<GroupLabel id:295 ~295>, #<GroupLabel id:296 ~296>, #<GroupLabel id:297 ~297>, and #<GroupLabel id:298 ~298>5484 include_ancestor_groups: true, include_descendant_groups: nil, only_group_labels: true, search_term: nil, test: -> { expect(subject).to contain_exactly(group_label1, group_label2, subgroup_label1, subgroup_label2) }5485 is expected to contain exactly #<GroupLabel id:295 ~295>, #<GroupLabel id:296 ~296>, #<GroupLabel id:297 ~297>, and #<GroupLabel id:298 ~298>5486 include_ancestor_groups: true, include_descendant_groups: true, only_group_labels: nil, search_term: nil, test: -> { expect(subject).to contain_exactly(group_label1, group_label2, subgroup_label1, subgroup_label2, sub_subgroup_label1, sub_subgroup_label2, label1, label2) }5487 is expected to contain exactly #<GroupLabel id:295 ~295>, #<GroupLabel id:296 ~296>, #<GroupLabel id:297 ~297>, #<GroupLabel id:298 ~298>, #<GroupLabel id:299 ~299>, #<GroupLabel id:300 ~300>, #<ProjectLabel id:293 group301/group302/group303/project888~293>, and #<ProjectLabel id:294 group301/group302/group303/project888~294>5488 include_ancestor_groups: true, include_descendant_groups: true, only_group_labels: true, search_term: nil, test: -> { expect(subject).to contain_exactly(group_label1, group_label2, subgroup_label1, subgroup_label2, sub_subgroup_label1, sub_subgroup_label2) }5489 is expected to contain exactly #<GroupLabel id:295 ~295>, #<GroupLabel id:296 ~296>, #<GroupLabel id:297 ~297>, #<GroupLabel id:298 ~298>, #<GroupLabel id:299 ~299>, and #<GroupLabel id:300 ~300>5490 include_ancestor_groups: nil, include_descendant_groups: nil, only_group_labels: nil, search_term: "new", test: -> { expect(subject).to contain_exactly(subgroup_label2) }5491 is expected to contain exactly #<GroupLabel id:298 ~298>5492 include_ancestor_groups: nil, include_descendant_groups: nil, only_group_labels: true, search_term: "new", test: -> { expect(subject).to contain_exactly(subgroup_label2) }5493 is expected to contain exactly #<GroupLabel id:298 ~298>5494 include_ancestor_groups: nil, include_descendant_groups: true, only_group_labels: nil, search_term: "new", test: -> { expect(subject).to contain_exactly(subgroup_label2, sub_subgroup_label2, label2) }5495 is expected to contain exactly #<GroupLabel id:298 ~298>, #<GroupLabel id:300 ~300>, and #<ProjectLabel id:294 group301/group302/group303/project888~294>5496 include_ancestor_groups: nil, include_descendant_groups: true, only_group_labels: true, search_term: "new", test: -> { expect(subject).to contain_exactly(subgroup_label2, sub_subgroup_label2) }5497 is expected to contain exactly #<GroupLabel id:298 ~298> and #<GroupLabel id:300 ~300>5498 include_ancestor_groups: true, include_descendant_groups: nil, only_group_labels: nil, search_term: "new", test: -> { expect(subject).to contain_exactly(group_label2, subgroup_label2) }5499 is expected to contain exactly #<GroupLabel id:296 ~296> and #<GroupLabel id:298 ~298>5500 include_ancestor_groups: true, include_descendant_groups: nil, only_group_labels: true, search_term: "new", test: -> { expect(subject).to contain_exactly(group_label2, subgroup_label2) }5501 is expected to contain exactly #<GroupLabel id:296 ~296> and #<GroupLabel id:298 ~298>5502 include_ancestor_groups: true, include_descendant_groups: true, only_group_labels: nil, search_term: "new", test: -> { expect(subject).to contain_exactly(group_label2, subgroup_label2, sub_subgroup_label2, label2) }5503 is expected to contain exactly #<GroupLabel id:296 ~296>, #<GroupLabel id:298 ~298>, #<GroupLabel id:300 ~300>, and #<ProjectLabel id:294 group301/group302/group303/project888~294>5504 include_ancestor_groups: true, include_descendant_groups: true, only_group_labels: true, search_term: "new", test: -> { expect(subject).to contain_exactly(group_label2, subgroup_label2, sub_subgroup_label2) }5505 is expected to contain exactly #<GroupLabel id:296 ~296>, #<GroupLabel id:298 ~298>, and #<GroupLabel id:300 ~300>5506ProjectAutoDevops5507 is expected to belong to project required:5508 is expected to define :deploy_strategy as an enum, backed by an integer5509 is expected to respond to #created_at5510 is expected to respond to #updated_at5511 behaves like having unique enum values5512 has unique values in "deploy_strategy"5513 #predefined_variables5514 when deploy_strategy is manual5515 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}5516 when deploy_strategy is continuous5517 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}5518 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"5519 when deploy_strategy is timed_incremental5520 is expected to include {:key => "INCREMENTAL_ROLLOUT_MODE", :value => "timed"}5521 is expected to include {:key => "AUTO_DEVOPS_EXPLICITLY_ENABLED", :value => "1"}5522 is expected not to include "STAGING_ENABLED" and "INCREMENTAL_ROLLOUT_ENABLED"5523 when auto-devops is explicitly disabled5524 is expected to be empty5525 #create_gitlab_deploy_token5526 when the project is public5527 does not create a gitlab deploy token5528 when the project is internal5529 creates a gitlab deploy token5530 when the project is private5531 creates a gitlab deploy token5532 when autodevops is enabled at project level5533 creates a deploy token5534 when autodevops is enabled at instance level5535 creates a deploy token5536 when autodevops is disabled5537 does not create a deploy token5538 when the project already has an active gitlab-deploy-token5539 does not create a deploy token5540 when the project already has a revoked gitlab-deploy-token5541 does not create a deploy token5542Mutations::Issues::Create5543 is expected to require graphql authorizations :create_issue5544 #resolve5545 when the user does not have permission to create an issue5546 raises an error5547 when the user can create an issue5548 when creating an issue a developer5549 creates issue with correct values5550 when passing in label_ids5551 creates issue with correct values5552 when trying to create issue with restricted params5553 ignores the special params5554 when creating a non-default issue type5555 creates issue with correct values5556 when creating an issue as owner5557 sets the special params5558 #ready?5559 when passing in both labels and label_ids5560 raises exception when mutually exclusive params are given5561 when passing only `discussion_to_resolve` param5562 raises exception when mutually exclusive params are given5563 when passing only `merge_request_to_resolve_discussions_of` param5564 raises exception when mutually exclusive params are given5565Banzai::Filter::InlineMetricsRedactorFilter5566 without a metrics charts placeholder5567 leaves regular non-metrics links unchanged5568 with a metrics charts placeholder5569 behaves like redacts the embed placeholder5570 no user is logged in5571 redacts the placeholder5572 the user does not have permission do see charts5573 redacts the placeholder5574 behaves like retains the embed placeholder when applicable5575 the user has requisite permissions5576 leaves the placeholder5577 with /-/metrics?environment=:environment_id URL5578 behaves like redacts the embed placeholder5579 no user is logged in5580 redacts the placeholder5581 the user does not have permission do see charts5582 redacts the placeholder5583 behaves like retains the embed placeholder when applicable5584 the user has requisite permissions5585 leaves the placeholder5586 for a grafana dashboard5587 behaves like redacts the embed placeholder5588 no user is logged in5589 redacts the placeholder5590 the user does not have permission do see charts5591 redacts the placeholder5592 behaves like retains the embed placeholder when applicable5593 the user has requisite permissions5594 leaves the placeholder5595 for a cluster metric embed5596 with user who can read cluster5597 behaves like redacts the embed placeholder5598 no user is logged in5599 redacts the placeholder5600 the user does not have permission do see charts5601 redacts the placeholder5602 behaves like retains the embed placeholder when applicable5603 the user has requisite permissions5604 leaves the placeholder5605 without user who can read cluster5606 redacts the embed placeholder5607 the user has requisite permissions5608 for an internal non-dashboard url5609 leaves the placeholder5610 with over 100 embeds5611 redacts ill-advised embeds5612 for an alert embed5613 behaves like redacts the embed placeholder5614 no user is logged in5615 redacts the placeholder5616 the user does not have permission do see charts5617 redacts the placeholder5618 behaves like retains the embed placeholder when applicable5619 the user has requisite permissions5620 leaves the placeholder5621ClusterablePresenter5622 .fabricate5623 creates an object from a descendant presenter5624 #can_create_cluster?5625 when clusterable is a group5626 behaves like appropriate member permissions5627 with a developer5628 is expected to be falsy5629 with a maintainer5630 is expected to be truthy5631 when clusterable is a project5632 behaves like appropriate member permissions5633 with a developer5634 is expected to be falsy5635 with a maintainer5636 is expected to be truthy5637 #can_add_cluster?5638 when clusterable is a group5639 behaves like appropriate member permissions5640 with a developer5641 is expected to be falsy5642 with a maintainer5643 is expected to be truthy5644 when clusterable is a project5645 behaves like appropriate member permissions5646 with a developer5647 is expected to be falsy5648 with a maintainer5649 is expected to be truthy5650 #environments_cluster_path5651 is expected to be nil5652 #index_path5653 without options5654 is expected to eq "/groups/group309/-/clusters"5655 with options5656 is expected to eq "/groups/group310/-/clusters.json"5657Gitlab::Ci::Pipeline::Expression::Lexeme::And5658 .build5659 creates a new instance of the token5660 with non-evaluable operands5661 raises an operator error5662 .type5663 is an operator5664 .precedence5665 has a precedence5666 #evaluate5667 when left and right are truthy5668 left_value: true, right_value: 15669 is expected to be truthy5670 is expected to eq 15671 left_value: true, right_value: "a"5672 is expected to be truthy5673 is expected to eq "a"5674 left_value: 1, right_value: true5675 is expected to be truthy5676 is expected to eq true5677 left_value: 1, right_value: "a"5678 is expected to be truthy5679 is expected to eq "a"5680 left_value: "a", right_value: true5681 is expected to be truthy5682 is expected to eq true5683 left_value: "a", right_value: 15684 is expected to be truthy5685 is expected to eq 15686 when left or right is falsey5687 left_value: true, right_value: false5688 is expected to be falsey5689 left_value: true, right_value: nil5690 is expected to be falsey5691 left_value: false, right_value: true5692 is expected to be falsey5693 left_value: false, right_value: nil5694 is expected to be falsey5695 left_value: nil, right_value: true5696 is expected to be falsey5697 left_value: nil, right_value: false5698 is expected to be falsey5699 when left and right are falsey5700 left_value: false, right_value: nil5701 is expected to be falsey5702 is expected to eq false5703 left_value: nil, right_value: false5704 is expected to be falsey5705 is expected to eq nil5706Gitlab::Ci::Matching::RunnerMatcher5707 .new5708 when attributes are missing5709 is expected to raise KeyError5710 with attributes5711 is expected to eq [1]5712 is expected to eq "instance_type"5713 is expected to eq 05714 is expected to eq 15715 is expected to eq false5716 is expected to eq "ref_protected"5717 is expected to eq ["tag1", "tag2"]5718 #instance_type?5719 is expected to be truthy5720 context with private runners5721 is expected to be falsey5722 #matches?5723 with an instance of BuildMatcher5724 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5725 is expected to eq true5726 ref_protected: true, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: false5727 is expected to eq false5728 ref_protected: false, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5729 is expected to eq true5730 ref_protected: false, build_protected: false, run_untagged: true, runner_tags: [], build_tags: [], result: true5731 is expected to eq true5732 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: [], result: true5733 is expected to eq true5734 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: [], build_tags: ["a"], result: false5735 is expected to eq false5736 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a", "b"], build_tags: ["a"], result: true5737 is expected to eq true5738 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a", "b"], result: false5739 is expected to eq false5740 ref_protected: true, build_protected: true, run_untagged: true, runner_tags: ["a"], build_tags: ["a"], result: true5741 is expected to eq true5742 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a"], build_tags: ["a"], result: true5743 is expected to eq true5744 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["b"], build_tags: ["a"], result: false5745 is expected to eq false5746 ref_protected: true, build_protected: true, run_untagged: false, runner_tags: ["a", "b"], build_tags: ["a"], result: true5747 is expected to eq true5748 with an instance of Ci::Build5749 raises ArgumentError5750NewMergeRequestWorker5751 #perform5752 when a merge request not found5753 does not call Services5754 logs an error5755 when a user not found5756 does not call Services5757 logs an error5758 with a user5759 when the merge request author is blocked5760 behaves like a new merge request where the author cannot trigger notifications5761 does not create a notification for the mentioned user5762 when the merge request author is a ghost5763 behaves like a new merge request where the author cannot trigger notifications5764 does not create a notification for the mentioned user5765 when everything is ok5766 creates a new event record5767 creates a notification for the mentioned user5768ProjectGroupLink5769 Associations5770 is expected to belong to group required:5771 is expected to belong to project required:5772 Validation5773 is expected to validate that :project_id cannot be empty/falsy5774 is expected to validate that :group_id is case-sensitively unique within the scope of :project_id, producing a custom validation error on failure5775 is expected to validate that :group cannot be empty/falsy5776 is expected to validate that :group_access cannot be empty/falsy5777 doesn't allow a project to be shared with the group it is in5778 doesn't allow a project to be shared with an ancestor of the group it is in5779 scopes5780 .non_guests5781 returns all records which are greater than Guests access5782 search by group name5783 is expected to eq [#<ProjectGroupLink id: 11, project_id: 763, group_id: 1806, created_at: "2021-09-22 10:36:32.699616962 +0000", updated_at: "2021-09-22 10:36:32.699616962 +0000", group_access: 30, expires_at: nil>]5784 is expected to be empty5785CustomerRelations::Contact5786 associations5787 is expected to belong to group required:5788 is expected to belong to organization optional: true5789 validations5790 is expected to validate that :group cannot be empty/falsy5791 is expected to validate that :first_name cannot be empty/falsy5792 is expected to validate that :last_name cannot be empty/falsy5793 is expected to validate that the length of :phone is at most 325794 is expected to validate that the length of :first_name is at most 2555795 is expected to validate that the length of :last_name is at most 2555796 is expected to validate that the length of :email is at most 2555797 is expected to validate that the length of :description is at most 10245798 behaves like an object with RFC3696 compliant email-formatted attributes5799 specifically its :email attribute5800 with a value of 'info@example.com'5801 is valid5802 with a value of 'info+test@example.com'5803 is valid5804 with a value of 'o'reilly@example.com'5805 is valid5806 with a value of 'foobar'5807 is invalid5808 with a value of 'test@test@example.com'5809 is invalid5810 with a value of 'test.test.@example.com'5811 is invalid5812 with a value of '.test.test@example.com'5813 is invalid5814 with a value of 'mailto:test@example.com'5815 is invalid5816 with a value of 'lol!'+=?><#$%^&*()@gmail.com'5817 is invalid5818 #before_validation5819 strips leading and trailing whitespace5820NamespaceSettings::UpdateService5821 #execute5822 group has no namespace_settings5823 builds out a new namespace_settings record5824 group has a namespace_settings5825 doesn't create a new namespace_setting record5826 updating :default_branch_name5827 changes settings5828 updating :resource_access_token_creation_allowed5829 when user is a group owner5830 changes settings5831 when user is not a group owner5832 does not change settings5833 returns the group owner error5834 validating settings param for root group5835 setting_key: :prevent_sharing_groups_outside_hierarchy, setting_changes_from: false, setting_changes_to: true5836 when user is not a group owner5837 does not change settings5838 returns the group owner error5839 with a subgroup5840 does not change settings5841 when user is a group owner5842 changes settings5843 setting_key: :new_user_signups_cap, setting_changes_from: nil, setting_changes_to: 1005844 when user is not a group owner5845 does not change settings5846 returns the group owner error5847 with a subgroup5848 does not change settings5849 when user is a group owner5850 changes settings5851Notes::PostProcessService5852 #execute5853 is expected to receive execute_integrations(*(any args)) 1 time5854 with a confidential issue5855 doesn't call note hooks/integrations5856 calls confidential-note hooks/integrations5857 when the noteable is a design5858 when the note is the start of a new discussion5859 creates a new system note5860 when the note is a reply within a discussion5861 does not create a new system note5862Packages::Nuget::Metadatum5863 relationships5864 is expected to belong to package required: inverse_of => nuget_metadatum5865 validations5866 is expected to validate that :package cannot be empty/falsy5867 #license_url5868 is expected to allow :license_url to be ‹"http://sandbox.com"›5869 is expected to allow :license_url to be ‹"https://sandbox.com"›5870 is expected not to allow :license_url to be ‹"123"›5871 is expected not to allow :license_url to be ‹"sandbox.com"›5872 #ensure_at_least_one_field_supplied5873 rejects unfilled metadatum5874 #ensure_nuget_package_type5875 rejects if not linked to a nuget package5876 #project_url5877 is expected to allow :project_url to be ‹"http://sandbox.com"›5878 is expected to allow :project_url to be ‹"https://sandbox.com"›5879 is expected not to allow :project_url to be ‹"123"›5880 is expected not to allow :project_url to be ‹"sandbox.com"›5881 #ensure_at_least_one_field_supplied5882 rejects unfilled metadatum5883 #ensure_nuget_package_type5884 rejects if not linked to a nuget package5885 #icon_url5886 is expected to allow :icon_url to be ‹"http://sandbox.com"›5887 is expected to allow :icon_url to be ‹"https://sandbox.com"›5888 is expected not to allow :icon_url to be ‹"123"›5889 is expected not to allow :icon_url to be ‹"sandbox.com"›5890 #ensure_at_least_one_field_supplied5891 rejects unfilled metadatum5892 #ensure_nuget_package_type5893 rejects if not linked to a nuget package5894Atlassian::JiraConnect::Serializers::BuildEntity5895 when the pipeline does not belong to any Jira issue5896 #issue_keys5897 is empty5898 #to_json5899 can encode the object5900 is invalid, since it has no issue keys5901 when the pipeline does belong to a Jira issue5902 because it belongs to an MR with a jira_branch5903 #issue_keys5904 is not empty5905 #to_json5906 is valid according to the build info schema5907 because it belongs to an MR with a jira_title5908 #issue_keys5909 is not empty5910 #to_json5911 is valid according to the build info schema5912RepositoryCheck::BatchWorker5913 prefers projects that have never been checked5914 sorts projects by last_repository_check_at5915 excludes projects that were checked recently5916 excludes projects on another shard5917 does nothing when repository checks are disabled5918 does nothing when shard is unhealthy5919 skips projects created less than 24 hours ago5920 does not run if the exclusive lease is taken5921Gitlab::Kubernetes::Helm::API5922 #initialize5923 creates a namespace object5924 #uninstall5925 ensures the namespace exists before creating the POD5926 removes an existing pod before installing5927 with a ConfigMap5928 creates a ConfigMap on kubeclient5929 config map already exists5930 updates the config map5931 #install5932 ensures the namespace exists before creating the POD5933 removes an existing pod before installing5934 with a ConfigMap5935 creates a ConfigMap on kubeclient5936 config map already exists5937 updates the config map5938 without a service account5939 does not create a service account on kubeclient5940 with a service account5941 rbac-enabled cluster5942 service account does not exist5943 creates a service account, followed the cluster role binding on kubeclient5944 service account already exists5945 updates the service account, followed by creating the cluster role binding5946 a non-404 error is thrown5947 raises an error5948 legacy abac cluster5949 does not create a service account on kubeclient5950 #status5951 fetches POD phase from kubernetes cluster5952 #log5953 fetches POD phase from kubernetes cluster5954 #delete_pod!5955 deletes the POD from kubernetes cluster5956 when the resource being deleted does not exist5957 catches the error5958 #get_config_map5959 ensures the namespace exists before retrieving the config map5960 gets the config map on kubeclient5961bin/sidekiq-cluster5962 when selecting some queues and excluding others5963 args: ["--negate", "cronjob"], included: "-qdefault,1", excluded: "-qcronjob,1"5964 runs successfully5965 args: ["--queue-selector", "resource_boundary=cpu"], included: "-qupdate_merge_requests,1", excluded: "-qdefault,1"5966 runs successfully5967 when selecting all queues5968 runs successfully with `["*"]`5969 runs successfully with `["--queue-selector", "*"]`5970 when arguments contain newlines5971 raises an error5972Gitlab::ErrorTracking5973 .track_and_raise_for_dev_exception5974 when exceptions for dev should be raised5975 raises the exception5976 when exceptions for dev should not be raised5977 logs the exception with all attributes passed5978 calls Gitlab::ErrorTracking::Logger.error with formatted payload5979 .track_and_raise_exception5980 always raises the exception5981 calls Gitlab::ErrorTracking::Logger.error with formatted payload5982 .track_exception5983 calls Raven.capture_exception5984 calls Gitlab::ErrorTracking::Logger.error with formatted payload5985 with filterable parameters5986 filters parameters5987 the exception implements :sentry_extra_data5988 includes the extra data from the exception in the tracking information5989 the exception implements :sentry_extra_data, which returns nil5990 just includes the other extra info5991 when the error is kind of an `ActiveRecord::StatementInvalid`5992 injects the normalized sql query into extra5993 when the `ActiveRecord::StatementInvalid` is wrapped in another exception5994 injects the normalized sql query into extra5995 event processors5996 custom GitLab context when using Raven.capture_exception directly5997 merges a default set of tags into the existing tags5998 merges the current user information into the existing user information5999 with sidekiq args6000 when the args does not have anything sensitive6001 ensures extra.sidekiq.args is a string6002 does not filter parameters when sending to Sentry6003 when the args has sensitive information6004 filters sensitive arguments before sending and logging6005 when the error is a GRPC error6006 when the GRPC error contains a debug_error_string value6007 sets the GRPC debug error string in the Sentry event and adds a custom fingerprint6008 when the GRPC error does not contain a debug_error_string value6009 does not do any processing on the event6010HamlLint::Linter::DocumentationLinks6011 help_page_path6012 behaves like link validation rules6013 when link_to points to the existing file path6014 is expected not to report a lint6015 when link_to points to the existing file with valid anchor6016 is expected not to report a lint6017 when link_to points to the existing file path without .md extension6018 is expected not to report a lint6019 when anchor is not correct6020 is expected to report a lint6021 when help_page_path has multiple options6022 is expected to report a lint6023 when file path is wrong6024 is expected to report a lint6025 when link with wrong file path is assigned to a variable6026 is expected to report a lint6027 when it is a broken code6028 is expected not to report a lint6029 when anchor belongs to a different element6030 is expected not to report a lint6031 when a simple help_page_path6032 is expected to report a lint6033 when link is not a string6034 is expected not to report a lint6035 when link is a part of the tag6036 is expected to report a lint6037 when the second link is invalid6038 is expected to report a lint6039 help_page_url6040 behaves like link validation rules6041 when link_to points to the existing file path6042 is expected not to report a lint6043 when link_to points to the existing file with valid anchor6044 is expected not to report a lint6045 when link_to points to the existing file path without .md extension6046 is expected not to report a lint6047 when anchor is not correct6048 is expected to report a lint6049 when help_page_url has multiple options6050 is expected to report a lint6051 when file path is wrong6052 is expected to report a lint6053 when link with wrong file path is assigned to a variable6054 is expected to report a lint6055 when it is a broken code6056 is expected not to report a lint6057 when anchor belongs to a different element6058 is expected not to report a lint6059 when a simple help_page_url6060 is expected to report a lint6061 when link is not a string6062 is expected not to report a lint6063 when link is a part of the tag6064 is expected to report a lint6065 when the second link is invalid6066 is expected to report a lint6067Lfs::UnlockFileService6068 #execute6069 when not authorized6070 doesn't succeed6071 when authorized6072 when lock does not exists6073 doesn't succeed6074 when unlocked by the author6075 succeeds6076 when unlocked by a different user6077 doesn't succeed6078 when forced6079 by a regular user6080 doesn't succeed6081 by a maintainer user6082 succeeds6083X509CommitSignature6084 behaves like having unique enum values6085 has unique values in "verification_status"6086 validation6087 is expected to validate that :commit_sha cannot be empty/falsy6088 is expected to validate that :project_id cannot be empty/falsy6089 is expected to validate that :x509_certificate_id cannot be empty/falsy6090 associations6091 is expected to belong to project required: true6092 is expected to belong to x509_certificate required: true6093 .safe_create!6094 finds a signature by commit sha if it existed6095 creates a new signature if it was not found6096 assigns the correct attributes when creating6097 #user6098 if email is not assigned to a user, return nil6099 if email is assigned to a user6100 returns user6101Gitlab::SidekiqLogging::StructuredLogger6102 #call6103 with SIDEKIQ_LOG_ARGUMENTS enabled6104 logs start and end of job6105 logs real job wrapped by active job worker6106 logs an exception in job6107 logs the root cause of an Sidekiq::JobRetry::Skip exception in the job6108 logs the root cause of an Sidekiq::JobRetry::Handled exception in the job6109 keeps Sidekiq::JobRetry::Handled exception if the cause does not exist6110 does not modify the job6111 does not modify the wrapped job6112 with SIDEKIQ_LOG_ARGUMENTS disabled6113 logs start and end of job without args6114 logs without created_at and enqueued_at fields6115 with latency6116 logs with scheduling latency6117 with Gitaly, Rugged, and Redis calls6118 logs with Gitaly and Rugged timing data6119 when the job performs database queries6120 when load balancing is enabled6121 logs the database time6122 prevents database time from leaking to the next job6123 when the job uses load balancing capabilities6124 logs the database chosen6125 when there is extra metadata set for the done log6126 logs it in the done log6127 when instrumentation data is not loaded6128 does not raise exception6129 when the job payload is compressed6130 logs it in the done log6131 #add_time_keys!6132 update payload correctly6133Board6134 relationships6135 is expected to belong to project required:6136 is expected to have many lists order => {:list_type=>:asc, :position=>:asc} dependent => delete_all6137 validations6138 is expected to validate that :name cannot be empty/falsy6139 is expected to validate that :project cannot be empty/falsy6140 #order_by_name_asc6141 returns in case-insensitive alphabetical order and then by ascending id6142 #first_board6143 return the first case-insensitive alphabetical board as a relation6144 raises an error when find is done on a non-existent record6145 #disabled_for?6146 for group board6147 behaves like board disabled_for?6148 when current user cannot create non backlog issues6149 is expected to eq true6150 when user can create backlog issues6151 is expected to eq false6152 when block_issue_repositioning is enabled6153 is expected to eq true6154 for project board6155 behaves like board disabled_for?6156 when current user cannot create non backlog issues6157 is expected to eq true6158 when user can create backlog issues6159 is expected to eq false6160 when block_issue_repositioning is enabled6161 is expected to eq true6162ExtractsRef6163 #assign_ref_vars6164 behaves like assigns ref vars6165 assigns the repository var6166 ref contains %206167 is not converted to a space in @id6168 ref contains trailing space6169 strips surrounding space6170 ref contains leading space6171 strips surrounding space6172 path contains space6173 is not converted to %20 in @path6174 subclass overrides get_id6175 uses ref returned by get_id6176 ref and path are nil6177 does not set commit6178 behaves like extracts refs6179 #extract_ref6180 returns an empty pair when no repository_container is set6181 without a path6182 extracts a valid branch6183 extracts a valid tag6184 extracts a valid commit ref without a path6185 falls back to a primitive split for an invalid ref6186 does not fetch ref names when there is no slash6187 fetches ref names when there is a slash6188 with a path6189 extracts a valid branch6190 extracts a valid tag6191 extracts a valid commit SHA6192 falls back to a primitive split for an invalid ref6193 extracts the longest matching ref6194 when the repository does not have ambiguous refs6195 does not fetch all ref names when the first path component is a ref6196 fetches all ref names when the first path component is not a ref6197 when the repository has ambiguous refs6198 always fetches all ref names6199MergeRequests::MergeOrchestrationService6200 #execute6201 when merge request is mergeable6202 when merge request can be merged automatically6203 schedules auto merge6204 when merge request cannot be merged automatically6205 merges immediately6206 when merge request is not mergeable6207 does nothing6208 #can_merge?6209 when merge request is mergeable6210 is expected to eq true6211 when merge request is not mergeable6212 is expected to eq false6213 #preferred_auto_merge_strategy6214 when merge request can be merged automatically6215 fetches perferred auto merge strategy6216 when merge request cannot be merged automatically6217 is expected to be nil6218Gitlab::BareRepositoryImport::Repository6219 legacy storage6220 stores the repo path6221 stores the group path6222 stores the project name6223 stores the wiki path6224 #processable?6225 returns false if it is a wiki6226 returns true if group path is missing6227 returns true when group path and project name are present6228 #project_full_path6229 returns the project full path with trailing slash in the root path6230 returns the project full path with no trailing slash in the root path6231 hashed storage6232 stores the repo path6233 stores the wiki path6234 reads the group path from .git/config6235 reads the project name from .git/config6236 #processable?6237 returns false if it is a wiki6238 returns false when group and project name are missing6239 returns true when group path and project name are present6240 #project_full_path6241 returns the project full path with trailing slash in the root path6242 returns the project full path with no trailing slash in the root path6243Gitlab::Cleanup::OrphanLfsFileReferences6244 dry run6245 prints messages and does not delete references6246 regular run6247 prints messages and deletes invalid reference6248 does nothing if the project has no LFS objects6249 LFS object is in design repository6250 is not removed6251 LFS object is in wiki repository6252 is not removed6253 LFS for project snippets6254 is disabled6255Gitlab::Emoji6256 .emojis6257 returns emojis6258 .emojis_by_moji6259 return emojis by moji6260 .emojis_unicodes6261 returns emoji unicodes6262 .emojis_names6263 returns emoji names6264 .emojis_aliases6265 returns emoji aliases6266 .emoji_filename6267 returns emoji filename6268 .emoji_unicode_filename6269 returns emoji unicode filename6270 .emoji_unicode_version6271 returns emoji unicode version by name6272 .normalize_emoji_name6273 returns same name if not found in aliases6274 returns name if name found in aliases6275 .emoji_image_tag6276 returns emoji image tag6277 escapes emoji image attrs to prevent XSS6278 .emoji_exists?6279 returns true if the name exists6280 returns false if the name does not exist6281 .gl_emoji_tag6282 returns gl emoji tag if emoji is found6283 returns nil if emoji name is not found6284Gitlab::Ci::Status::Stage::PlayManual6285 #action_icon6286 is expected to eq "play"6287 #action_button_title6288 is expected to eq "Play all manual"6289 #action_title6290 is expected to eq "Play all manual"6291 #action_path6292 is expected to eq "/namespace966/project1008/-/pipelines/161/stages/test/play_manual"6293 #action_method6294 is expected to eq :post6295 .matches?6296 when stage is skipped6297 is expected to be truthy6298 when stage is manual6299 is expected to be truthy6300 when stage is scheduled6301 is expected to be truthy6302 when stage is success6303 and does not have manual builds6304 is expected to be falsy6305Packages::Debian::ExtractChangesMetadataService6306 #execute6307 with valid package file6308 extract metadata6309 with invalid package file6310 raise ArgumentError6311 with invalid metadata6312 without Files field6313 raise ArgumentError6314 without Checksums-Sha1 field6315 raise ArgumentError6316 without Checksums-Sha256 field6317 raise ArgumentError6318 with file in Checksums-Sha1 but not in Files6319 raise ArgumentError6320 with different size in Checksums-Sha16321 raise ArgumentError6322 with file in Checksums-Sha256 but not in Files6323 raise ArgumentError6324 with different size in Checksums-Sha2566325 raise ArgumentError6326 with file in Files but not in Checksums-Sha16327 raise ArgumentError6328 with file in Files but not in Checksums-Sha2566329 raise ArgumentError6330 with invalid MD56331 raise ArgumentError6332 with invalid SHA16333 raise ArgumentError6334 with invalid SHA2566335 raise ArgumentError6336 with missing package file6337 raise ArgumentError6338Projects::ImportExport::ProjectExportPresenter6339 #description6340 override_description not provided6341 keeps original description6342 override_description provided6343 overrides description6344 #as_json6345 override_description not provided6346 keeps original description6347 override_description provided6348 overrides description6349 #protected_branches6350 returns the project exported protected branches6351 #project_members6352 does not export group members if it has no permission6353 does not export group members as maintainer6354 exports group members as group owner6355 as admin6356 when admin mode is enabled6357 exports group members as admin6358 exports group members as project members6359 when admin mode is disabled6360 does not export group members6361NotificationsHelper6362 notification_icon6363 is expected to match "data-testid=\"notifications-off-icon\""6364 is expected to match "data-testid=\"notifications-off-icon\""6365 is expected to match "data-testid=\"notifications-icon\""6366 is expected to match "data-testid=\"at-icon\""6367 is expected to match "data-testid=\"earth-icon"6368 is expected to match "data-testid=\"eye-icon\""6369 is expected to equal ""6370 notification_title6371 is expected to match "Watch"6372 is expected to match "On mention"6373 is expected to match "Global"6374 #notification_icon_level6375 is expected to eq "owner_disabled"6376 is expected to eq "watch"6377 is expected to eq "participating"6378Ci::PersistentRef6379 cleans up persistent refs after pipeline finished6380 #exist?6381 when a persistent ref does not exist6382 is expected to eq false6383 when a persistent ref exists6384 is expected to eq true6385 #create6386 when a persistent ref does not exist6387 creates a persistent ref6388 when sha does not exist in the repository6389 fails to create a persistent ref6390 when a persistent ref already exists6391 overwrites a persistent ref6392 #delete6393 when a persistent ref exists6394 deletes the ref6395 when a persistent ref does not exist6396 does not raise an error6397Jobs/Code-Quality.gitlab-ci.yml6398 the created pipeline6399 on master6400 creates the code_quality job6401 on another branch6402 creates the code_quality job6403 on tag6404 creates the code_quality job6405 on merge request6406 has no jobs6407 CODE_QUALITY_DISABLED is set6408 on master6409 has no jobs6410 on another branch6411 has no jobs6412 on tag6413 has no jobs6414MergeRequests::MarkReviewerReviewedService6415 #execute6416 invalid permissions6417 returns an error6418 reviewer does not exist6419 returns an error6420 reviewer exists6421 returns success6422 updates reviewers state6423Gitlab::RepositorySizeChecker6424 #enabled?6425 when enabled6426 returns true6427 when limit is zero6428 returns false6429 #changes_will_exceed_size_limit?6430 returns true when changes go over6431 returns false when changes do not go over6432 #above_size_limit?6433 returns false when not over the limit6434 when size is above the limit6435 returns true6436 #exceeded_size6437 when no change size provided6438 when current size is below the limit6439 returns zero6440 when current size is equal to the limit6441 returns zero6442 when current size is over the limit6443 returns a positive number6444 when a change size is provided6445 when change size will be over the limit6446 returns a positive number6447 when change size will be at the limit6448 returns zero6449 when change size will be under the limit6450 returns zero6451 #additional_repo_storage_available?6452 returns false6453NamespacePolicy6454 with no user6455 is expected to be banned6456 regular user6457 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :create_package_settings, and :read_package_settings6458 owner6459 is expected to be allowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :create_package_settings, and :read_package_settings6460 user who has exceeded project limit6461 is expected to be disallowed :create_projects6462 is expected to be disallowed :transfer_projects6463 admin6464 when admin mode is enabled6465 is expected to be allowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :create_package_settings, and :read_package_settings6466 when admin mode is disabled6467 is expected to be disallowed :owner_access, :create_projects, :admin_namespace, :read_namespace, :read_statistics, :transfer_projects, :create_package_settings, and :read_package_settings6468 create_jira_connect_subscription6469 admin6470 when admin mode enabled6471 is expected to be allowed :create_jira_connect_subscription6472 when admin mode disabled6473 is expected to be disallowed :create_jira_connect_subscription6474 owner6475 is expected to be allowed :create_jira_connect_subscription6476 other user6477 is expected to be disallowed :create_jira_connect_subscription6478Integrations::CustomIssueTracker6479 Validations6480 when integration is active6481 is expected to validate that :project_url cannot be empty/falsy6482 is expected to validate that :issues_url cannot be empty/falsy6483 is expected to validate that :new_issue_url cannot be empty/falsy6484 behaves like issue tracker integration URL attribute6485 is expected to allow :project_url to be ‹"https://example.com"›6486 is expected not to allow :project_url to be ‹"example.com"›6487 is expected not to allow :project_url to be ‹"ftp://example.com"›6488 is expected not to allow :project_url to be ‹"herp-and-derp"›6489 behaves like issue tracker integration URL attribute6490 is expected to allow :issues_url to be ‹"https://example.com"›6491 is expected not to allow :issues_url to be ‹"example.com"›6492 is expected not to allow :issues_url to be ‹"ftp://example.com"›6493 is expected not to allow :issues_url to be ‹"herp-and-derp"›6494 behaves like issue tracker integration URL attribute6495 is expected to allow :new_issue_url to be ‹"https://example.com"›6496 is expected not to allow :new_issue_url to be ‹"example.com"›6497 is expected not to allow :new_issue_url to be ‹"ftp://example.com"›6498 is expected not to allow :new_issue_url to be ‹"herp-and-derp"›6499 when integration is inactive6500 is expected not to validate that :project_url cannot be empty/falsy6501 is expected not to validate that :issues_url cannot be empty/falsy6502 is expected not to validate that :new_issue_url cannot be empty/falsy6503Gitlab::Ci::Config::External::File::Remote6504 #matching?6505 when a remote is specified6506 returns true6507 with a missing remote6508 returns false6509 with a missing remote key6510 returns false6511 #valid?6512 when is a valid remote url6513 returns true6514 with an irregular url6515 returns false6516 with a timeout6517 is falsy6518 when is not a yaml file6519 is falsy6520 with an internal url6521 is falsy6522 #content6523 with a valid remote file6524 returns the content of the file6525 with a timeout6526 is falsy6527 with an invalid remote url6528 is nil6529 with an internal url6530 is nil6531 #error_message6532 when remote file location is not valid6533 returns an error message describing invalid address6534 when timeout error has been raised6535 returns error message about a timeout6536 when HTTP error has been raised6537 returns error message about a HTTP error6538 when response has 404 status6539 returns error message about a timeout6540 when the URL is blocked6541 includes details about blocked URL6542 #expand_context6543 drops all parameters6544StuckMergeJobsWorker6545 perform6546 merge job identified as completed6547 updates merge request to merged when locked but has merge_commit_sha6548 updates merge request to opened when locked but has not been merged6549 logs updated stuck merge job ids6550 merge job not identified as completed6551 does not change merge request state when job is not completed yet6552Members::Groups::BulkCreatorService6553 behaves like bulk member creation6554 #execute6555 raises an error when exiting_members is not passed in the args hash6556 .add_users6557 returns a Member objects6558 returns an empty array6559 supports different formats6560 with de-duplication6561 with the same user by id and user6562 with the same user sent more than once6563 when a member already exists6564 supports existing users as expected6565Gitlab::ErrorTracking::ContextPayloadGenerator6566 user metadata6567 appends user metadata to the payload6568 tags metadata6569 when the GITLAB_SENTRY_EXTRA_TAGS env is not set6570 does not log into AppLogger6571 does not send any extra tags6572 when the GITLAB_SENTRY_EXTRA_TAGS env is a JSON hash6573 includes those tags in all events6574 does not log into AppLogger6575 when the GITLAB_SENTRY_EXTRA_TAGS env is not a JSON hash6576 env_var: "{:foo=>\"bar\", :baz=>\"quux\"}", error: "JSON::ParserError"6577 logs into AppLogger6578 does not include any extra tags6579 env_var: "[]", error: "NoMethodError"6580 logs into AppLogger6581 does not include any extra tags6582 env_var: "[[\"foo\",\"bar\"]]", error: "NoMethodError"6583 logs into AppLogger6584 does not include any extra tags6585 env_var: "[\"foo\",\"bar\"]", error: "NoMethodError"6586 logs into AppLogger6587 does not include any extra tags6588 env_var: "\"string\"", error: "NoMethodError"6589 logs into AppLogger6590 does not include any extra tags6591 extra metadata6592 appends extra metadata to the payload6593 appends exception embedded extra metadata to the payload6594 filters sensitive extra info6595WikiPages::DestroyService6596 behaves like WikiPages::DestroyService#execute6597 executes webhooks6598DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)6599 increments the delete count6600DEPRECATION WARNING: `.reorder(nil)` with `.first` / `.first!` no longer takes non-deterministic result in Rails 6.2. To continue taking non-deterministic result, use `.take` / `.take!` instead. (called from wiki_event at /builds/gitlab-org/gitlab/app/services/event_create_service.rb:124)6601 creates a new wiki page deletion event6602 when the deletion fails6603 returns an error response6604 does not increment the delete count if the deletion failed6605Members::ImportProjectTeamService6606 #execute6607 when project team members are imported successfully6608 returns true6609 when the project team import fails6610 when the target project cannot be found6611 returns false6612 when the source project cannot be found6613 returns false6614 when the user doing the import does not exist6615 returns false6616 when the user does not have permission to read the source project members6617 returns false6618 when the user does not have permission to admin the target project6619 returns false6620 when the source and target project are valid but the ProjectTeam#import command fails6621 returns false6622Groups::DeployTokens::CreateService6623 behaves like a deploy token creation service6624 #execute6625 when the deploy token is valid6626 creates a new DeployToken6627 creates a new ProjectDeployToken6628 returns a DeployToken6629 when expires at date is not passed6630 sets Forever.date6631 when username is empty string6632 converts it to nil6633 when username is provided6634 keeps the provided username6635 when the deploy token is invalid6636 does not create a new DeployToken6637 does not create a new ProjectDeployToken6638DiscussionDiffFileEntity6639 when there is no merge request6640 behaves like diff file discussion entity6641 behaves like diff file base entity6642 exposes essential attributes6643 when diff file does not have a blob and content sha6644 exposes some attributes as nil6645 when there is a merge request6646 exposes additional attributes6647 exposes no diff lines6648 behaves like diff file discussion entity6649 behaves like diff file base entity6650 exposes essential attributes6651 when diff file does not have a blob and content sha6652 exposes some attributes as nil6653ClusterEntity6654 #as_json6655 when provider type is gcp6656 when status is creating6657 has corresponded data6658 when status is errored6659 has corresponded data6660 when provider type is user6661 has corresponded data6662 when no application has been installed6663 contains helm as not_installable6664 gitlab_managed_apps_logs_path6665 return projects log explorer path6666 enable_advanced_logs_querying6667 elastic stack is not installed on cluster6668 returns false6669 elastic stack is enabled on cluster6670 returns true6671Gitlab::IncomingEmail6672 self.enabled?6673 when reply by email is enabled6674 returns true6675 when reply by email is disabled6676 returns false6677 self.supports_wildcard?6678 address contains the wildcard placeholder6679 confirms that wildcard is supported6680 address doesn't contain the wildcard placeholder6681 returns that wildcard is not supported6682 address is not set6683 returns that wildcard is not supported6684 self.unsubscribe_address6685 returns the address with interpolated reply key and unsubscribe suffix6686 self.reply_address6687 returns the address with an interpolated reply key6688 self.key_from_address6689 returns reply key6690 does not match emails with extra bits6691 when a custom wildcard address is used6692 finds key if email matches address pattern6693 self.key_from_fallback_message_id6694 returns reply key6695 self.scan_fallback_references6696 returns reply key6697Gitlab::Pagination::Keyset::Pager6698 #paginate6699 does not execute a query6700 applies a LIMIT6701 returns the limited relation6702 validating the order clause6703 raises an error if has a different order clause than the page6704 #finalize6705 passes information about next page to request6706 when retrieving the last page6707 indicates there is another (likely empty) page6708 when retrieving an empty page6709 indicates this is the last page6710Packages::Nuget::MetadataExtractionService6711 #execute6712 with valid package file id6713 is expected to eq {:package_dependencies=>[{:name=>"Newtonsoft.Json", :target_framework=>".NETCoreApp3.0", :version=>"1...name=>"DummyProject.DummyPackage", :package_tags=>[], :package_types=>[], :package_version=>"1.0.0"}6714 with nuspec file6715 with dependencies6716 is expected to have key :package_dependencies6717 extracts dependencies6718 with package types6719 is expected to have key :package_types6720 extracts package types6721 with a nuspec file with metadata6722 is expected to eq ["bar", "foo", "tag1", "tag2", "tag3", "tag4", "tag5", "test"]6723 with a nuspec file with metadata6724 is expected to eq "https://opensource.org/licenses/MIT"6725 is expected to eq "https://gitlab.com/gitlab-org/gitlab"6726 is expected to eq "https://opensource.org/files/osi_keyhole_300X300_90ppi_0.png"6727 with invalid package file id6728 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"6729 linked to a non nuget package6730 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"6731 with a 0 byte package file id6732 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "invalid package file"6733 without the nuspec file6734 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file not found"6735 with a too big nuspec file6736 is expected to raise Packages::Nuget::MetadataExtractionService::ExtractionError with "nuspec file too big"6737Gitlab::Popen::Runner6738 #run6739 runs the command and returns the result6740 #all_success_and_clean?6741 returns true when exit status is 0 and stderr is empty6742 returns false when exit status is not 06743 returns false when exit stderr has something6744 #all_success?6745 returns true when exit status is 06746 returns false when exit status is not 06747 returns true6748 #all_stderr_empty?6749 returns true when stderr is empty6750 returns true when exit status is not 06751 returns false when exit stderr has something6752 #failed_results6753 returns [] when everything is passed6754 returns the result when exit status is not 06755 returns [] when exit stderr has something6756 #warned_results6757 returns [] when everything is passed6758 returns [] when exit status is not 06759 returns the result when exit stderr has something6760Gitlab::Tracking::EventDefinition6761WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/lib/gitlab/tracking/event_definition_spec.rb:36:in `block (2 levels) in <top (required)>'.6762 has all definitions valid6763 #validate6764 attribute: :description, value: 16765 raise exception6766 attribute: :category, value: nil6767 raise exception6768 attribute: :action, value: nil6769 raise exception6770 attribute: :label_description, value: 16771 raise exception6772 attribute: :property_description, value: 16773 raise exception6774 attribute: :value_description, value: 16775 raise exception6776 attribute: :extra_properties, value: "smth"6777 raise exception6778 attribute: :product_category, value: 16779 raise exception6780 attribute: :product_stage, value: 16781 raise exception6782 attribute: :product_section, value: nil6783 raise exception6784 attribute: :product_group, value: nil6785 raise exception6786 attribute: :distributions, value: "be eb"6787 raise exception6788 attribute: :tiers, value: "pro"6789 raise exception6790 .definitions6791 has empty list when there are no definition files6792 has one metric when there is one file6793ReleaseSerializer6794 #represent6795 when a single object is being serialized6796 serializes the label object6797 when multiple objects are being serialized6798 serializes the array of releases6799Gitlab::DataBuilder::WikiPage6800 .build6801 is expected to be a kind of Hash6802 is expected to eq "wiki_page"6803 is expected to eq {:avatar_url=>"https://www.gravatar.com/avatar/a7030e28f458005d3a6d9748c9969533?s=80&d=identicon", :email=>"user2060@example.org", :id=>1731, :name=>"John Doe2079", :username=>"user940"}6804 is expected to eq {:avatar_url=>nil, :ci_config_path=>nil, :default_branch=>"master", :description=>nil, :git_http_url=...1045/project1076.git", :visibility_level=>0, :web_url=>"http://localhost/namespace1045/project1076"}6805 is expected to eq {:default_branch=>"main", :git_http_url=>"http://localhost/namespace1045/project1076.wiki.git", :git_...amespace1045/project1076.wiki", :web_url=>"http://localhost/namespace1045/project1076/-/wikis/home"}6806 is expected to include {:slug => "Page-6", :title => "Page 6", :content => "Content for wiki page", :format => :markdown, :message => nil, "content" => "Content for wiki page"}6807 is expected to include {:url => "http://localhost/namespace1045/project1076/-/wikis/Page-6"}6808 is expected to include {:action => "create"}6809 is expected to include {:diff_url => "http://localhost/namespace1045/project1076/-/wikis/Page-6/diff?version_id=f4a831538ecc381b470ad0a3b2e389e6413b4321"}6810admin/dashboard/index.html.haml6811 shows version of GitLab Workhorse6812 includes revision of GitLab for pre VERSION6813 shows the tag for GitLab version6814 does not include license breakdown6815 links to the GitLab Changelog6816Gitlab::UrlBlockers::IpAllowlistEntry6817 #initialize6818 initializes without port6819 initializes with port6820 #match?6821 matches with equivalent IP and port6822 matches any port when port is nil6823 does not match when port is present but requested_port is nil6824 matches when port and requested_port are nil6825 works with ipv66826 matches ipv4 within IPv4 range6827 matches IPv6 within IPv6 range6828Packages::Debian::GroupComponent6829 behaves like Debian Distribution Component6830 relationships6831 is expected to belong to distribution class_name => Packages::Debian::GroupDistribution required: inverse_of => components6832 is expected to have many files class_name => Packages::Debian::GroupComponentFile inverse_of => component6833 validations6834 #distribution6835 is expected to validate that :distribution cannot be empty/falsy6836 #name6837 is expected to validate that :name cannot be empty/falsy6838 is expected to allow :name to be ‹"main"›6839 is expected to allow :name to be ‹"non-free"›6840 is expected to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›6841 is expected not to allow :name to be ‹"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"›6842 is expected not to allow :name to be ‹"non/free"›6843 is expected not to allow :name to be ‹"hé"›6844 scopes6845 .ordered_by_name6846 sorts by name6847 .with_distribution6848 does not return other distributions6849 .with_name6850 does not return other distributions6851Gitlab::Redis::Boolean6852 #to_s6853 true6854 is expected to eq "_b:1"6855 false6856 is expected to eq "_b:0"6857 .encode6858 true6859 is expected to eq "_b:1"6860 false6861 is expected to eq "_b:0"6862 .decode6863 valid encoded bool6864 true6865 is expected to equal true6866 false6867 is expected to equal false6868 partially invalid bool6869 raises an error6870 invalid encoded bool6871 raises an error6872 .true?6873 valid encoded bool6874 true6875 is expected to equal true6876 false6877 is expected to equal false6878 partially invalid bool6879 raises an error6880 invalid encoded bool6881 raises an error6882 .false?6883 valid encoded bool6884 true6885 is expected to equal false6886 false6887 is expected to equal true6888 partially invalid bool6889 raises an error6890 invalid encoded bool6891 raises an error6892ObjectPool::CreateWorker6893 #perform6894 when the pool creation is successful6895 marks the pool as ready6896 when a the pool already exists6897 cleans up the pool6898 when the server raises an unknown error6899 marks the pool as failed6900 when the pool creation failed before6901 deletes the pool first6902Constraints::ProjectUrlConstrainer6903 #matches?6904 valid request6905 is expected to be truthy6906 invalid request6907 non-existing project6908 is expected to be falsey6909 existence_check is false6910 is expected to be truthy6911 project id ending with .git6912 is expected to be falsey6913 when the request matches a redirect route6914 and is a GET request6915 is expected to be truthy6916 and is NOT a GET request6917 is expected to be falsey6918Settings6919 omniauth6920 defaults to enabled6921 .load_dynamic_cron_schedules!6922 generates a valid cron schedule6923 .attr_encrypted_db_key_base_truncated6924 is a string with maximum 32 bytes size6925 .attr_encrypted_db_key_base_126926 when db key base secret is less than 12 bytes6927 expands db key base secret to 12 bytes6928 when key has multiple multi-byte UTF chars exceeding 12 bytes6929 does not use more than 32 bytes6930 .attr_encrypted_db_key_base_326931 when db key base secret is less than 32 bytes6932 expands db key base secret to 32 bytes6933 when db key base secret is 32 bytes6934 returns original value6935 when db key base contains multi-byte UTF character6936 does not use more than 32 bytes6937 when db key base multi-byte UTF chars exceeding 32 bytes6938 does not use more than 32 bytes6939 .cron_for_service_ping6940 returns correct crontab for some manually calculated example6941 returns min, hour, day in the valid range6942 .encrypted6943 defaults to using the encrypted_settings_key_base for the key6944 returns empty encrypted config when a key has not been set6945PagesDomains::CreateAcmeOrderService6946 saves order to database before requesting validation6947 generates and saves private key6948 properly saves order attributes6949 properly saves challenge attributes6950ReviewAppSetupEntity6951 #as_json6952 contains can_setup_review_app6953 when the user can setup a review app6954 contains relevant fields6955 exposes the relevant review snippet6956 exposes whether the project has associated clusters6957 when the user cannot setup a review app6958 does not expose certain fields6959Ci::FreezePeriod6960 is expected to belong to project required:6961 is expected to respond to #freeze_start6962 is expected to respond to #freeze_end6963 is expected to respond to #cron_timezone6964 cron validations6965 allows valid cron patterns6966 does not allow invalid cron patterns on freeze_start6967 does not allow invalid cron patterns on freeze_end6968 does not allow an invalid timezone6969 when cron contains trailing whitespaces6970 strips the attribute6971Ci::JobArtifacts::DestroyBatchService6972 .execute6973 when the artifact has a file attached to it6974 creates a deleted object6975 does not remove the files6976 reports metrics for destroyed artifacts6977 ProjectStatistics6978 resets project statistics6979 with update_stats: false6980 does not update project statistics6981 returns size statistics6982 when failed to destroy artifact6983 when the import fails6984 raises an exception and stop destroying6985 when there are no artifacts6986 does not raise error6987 reports the number of destroyed artifacts6988WorkerContext6989 .worker_context6990 allows modifying the context for the entire worker6991 allows fetches the context from a superclass if none was defined6992 .bulk_perform_async_with_contexts6993 calls bulk_perform_async with the arguments6994 behaves like tracking bulk scheduling contexts6995 clears the contexts6996 context contents6997 keeps track of the context per key to schedule6998 does not share contexts across threads6999 .bulk_perform_in_with_contexts7000 calls bulk_perform_in with the arguments and delay7001 behaves like tracking bulk scheduling contexts7002 clears the contexts7003 context contents7004 keeps track of the context per key to schedule7005 does not share contexts across threads7006 #with_context7007 allows modifying context when the job is running7008 yields the arguments to the block7009RuboCop::Cop::RSpec::BeSuccessMatcher7010 using expect(response).to be_success call7011 registers an offense and corrects7012 using expect(response).to be_successful call7013 does not register an offense7014 using expect(response).to_not be_success call7015 registers an offense and corrects7016 using expect(response).to_not be_successful call7017 does not register an offense7018 using expect(response).not_to be_success call7019 registers an offense and corrects7020 using expect(response).not_to be_successful call7021 does not register an offense7022 using is_expected.to be_success call7023 registers an offense and corrects7024 using is_expected.to be_successful call7025 does not register an offense7026 using is_expected.to_not be_success call7027 registers an offense and corrects7028 using is_expected.to_not be_successful call7029 does not register an offense7030 using is_expected.not_to be_success call7031 registers an offense and corrects7032 using is_expected.not_to be_successful call7033 does not register an offense7034Gitlab::Diff::PositionTracer7035 #trace7036 position is on text7037 calls LineStrategy#trace7038 position is not on text7039 calls ImageStrategy#trace7040 diffs methods7041 #ac_diffs7042 returns the diffs between the base of old and new diff7043 #bd_diffs7044 returns the diffs between the HEAD of old and new diff7045 #cd_diffs7046 returns the diffs in the new diff7047Gitlab::ConanToken7048 .from_personal_access_token7049 sets access token id and user id7050 .from_job7051 sets access token id and user id7052 .from_deploy_token7053 sets access token id and user id7054 .decode7055 sets access token id and user id7056 returns nil for invalid JWT7057 returns nil for expired JWT7058 #to_jwt7059 returns the encoded JWT7060Gitlab::Graphql::Pagination::OffsetActiveRecordRelationConnection7061 subclasses from GraphQL::Relay::RelationConnection7062 behaves like a connection with collection methods7063 responds to to_a7064 responds to size7065 responds to include?7066 responds to empty?7067 behaves like a redactable connection7068 no redactor set7069 contains the unwanted item7070 does not redact more than once7071 redactor is set7072 does not contain the unwanted item7073 does not redact more than once7074Gitlab::Ci::Build::Releaser7075 #script7076 all nodes7077 generates the script7078 individual nodes7079 node_name: :name, node_value: "Release $CI_COMMIT_SHA", result: "release-cli create --name \"Release $CI_COMMIT_SHA\""7080 generates the script7081 node_name: :description, node_value: "Release-cli $EXTRA_DESCRIPTION", result: "release-cli create --description \"Release-cli $EXTRA_DESCRIPTION\""7082 generates the script7083 node_name: :tag_name, node_value: "release-$CI_COMMIT_SHA", result: "release-cli create --tag-name \"release-$CI_COMMIT_SHA\""7084 generates the script7085 node_name: :ref, node_value: "$CI_COMMIT_SHA", result: "release-cli create --ref \"$CI_COMMIT_SHA\""7086 generates the script7087 node_name: :milestones, node_value: ["m1", "m2", "m3"], result: "release-cli create --milestone \"m1\" --milestone \"m2\" --milestone \"m3\""7088 generates the script7089 node_name: :released_at, node_value: "2020-07-15T08:00:00Z", result: "release-cli create --released-at \"2020-07-15T08:00:00Z\""7090 generates the script7091 node_name: :assets, node_value: {:links=>[{:name=>"asset1", :url=>"https://example.com/assets/1", :link_type=>"other", :filepath=>"/pretty/asset/1"}]}, result: "release-cli create --assets-link \"{\\\"name\\\":\\\"asset1\\\",\\\"url\\\":\\\"https://example.com/assets/1\\\",\\\"link_type\\\":\\\"other\\\",\\\"filepath\\\":\\\"/pretty/asset/1\\\"}\""7092 generates the script7093Gitlab::Ci::Reports::TestSuiteSummary7094 #name7095 when test suite summary has several build report results7096 returns the suite name7097 #build_ids7098 when test suite summary has several build report results7099 returns the build ids7100 #total_time7101 when test suite summary has several build report results7102 returns the total time7103 #success_count7104 when test suite summary has several build report results7105 returns the total success7106 #failed_count7107 when test suite summary has several build report results7108 returns the total failed7109 #error_count7110 when test suite summary has several build report results7111 returns the total errored7112 #skipped_count7113 when test suite summary has several build report results7114 returns the total skipped7115 #total_count7116 when test suite summary has several build report results7117 returns the total count7118 #suite_error7119 when there are no build report results with suite errors7120 is expected to be nil7121 when there are build report results with suite errors7122 includes the first suite error from the collection of build report results7123 #to_h7124 when test suite summary has several build report results7125 returns the total as a hash7126Gitlab::Cleanup::OrphanJobArtifactFilesBatch7127 no dry run7128 deletes only orphan job artifacts from disk7129 does not mix up job ID and artifact ID7130 with dry run7131 does not remove files7132Gitlab::HookData::ProjectMemberBuilder7133 #build7134 data7135 on create7136 is expected to eq "user_add_to_team"7137 behaves like includes the required attributes7138 includes the required attributes7139 on update7140 is expected to eq "user_update_for_team"7141 behaves like includes the required attributes7142 includes the required attributes7143 on destroy7144 is expected to eq "user_remove_from_team"7145 behaves like includes the required attributes7146 includes the required attributes7147Sidebars::Projects::Menus::DeploymentsMenu7148 #render?7149 when menu does not have any menu items7150 returns false7151 when menu has menu items7152 returns true7153 Menu Items7154 Feature Flags7155 behaves like access rights checks7156 is expected not to be nil7157 when the user does not have access7158 is expected to be nil7159 Environments7160 behaves like access rights checks7161 is expected not to be nil7162 when the user does not have access7163 is expected to be nil7164 Releases7165 behaves like access rights checks7166 is expected not to be nil7167 when the user does not have access7168 is expected to be nil7169projects/diffs/_viewer.html.haml7170 when there is a render error7171 renders the error7172 when the viewer is collapsed7173 renders the collapsed view7174 when there is no render error7175 prepares the viewer7176 renders the viewer7177CleanupContainerRepositoryWorker7178 #perform7179 bulk delete api7180 executes the destroy service7181 does not raise error when user could not be found7182 does not raise error when repository could not be found7183 container expiration policy7184 executes the destroy service7185 doesn't reset the expiration policy started at if the destroy service returns an error7186ColorValidator7187 fails fast for long invalid string7188 color: "#000abc", is_valid: true7189 only accepts valid colors7190 color: "#aaa", is_valid: true7191 only accepts valid colors7192 color: "#BBB", is_valid: true7193 only accepts valid colors7194 color: "#cCc", is_valid: true7195 only accepts valid colors7196 color: "#ffff", is_valid: false7197 only accepts valid colors7198 color: "#000111222", is_valid: false7199 only accepts valid colors7200 color: "invalid", is_valid: false7201 only accepts valid colors7202 color: "000", is_valid: false7203 only accepts valid colors7204MergeRequestContextCommit7205 associations7206 is expected to belong to merge_request required:7207 is expected to have many diff_files class_name => MergeRequestContextCommitDiffFile7208 .delete_bulk7209 deletes context commits for given commit sha's and returns the commit7210 doesn't delete context commits when commit sha's are not passed7211DeviseEmailValidator7212 validations7213 by default7214 allows when email is valid7215 returns error when email is invalid7216 returns error when email is nil7217 returns error when email is blank7218 when regexp is set as Regexp7219 allows when value match7220 returns error when value does not match7221 when regexp is set as String7222 raise argument error7223 when allow_nil is set to true7224 allows when email is nil7225 when allow_blank is set to true7226 allows when email is blank7227Gitlab::Checks::PushCheck7228 #validate!7229 does not raise any error7230 when the user is not allowed to push to the repo7231 raises an error7232 when using a DeployKeyAccess instance7233 when the deploy key cannot push to the targetted branch7234 raises an error7235 when the deploy key can push to the targetted branch7236 is valid7237BitbucketServer::Representation::PullRequestComment7238 #id7239 is expected to eq 77240 #from_sha7241 is expected to eq "c5f4288162e2e6218180779c7f6ac1735bb56eab"7242 #to_sha7243 is expected to eq "a4c2164330f2549f67c13f36a93884cf66e976be"7244 #to?7245 is expected to be falsey7246 #from?7247 is expected to be truthy7248 #added?7249 is expected to be falsey7250 #removed?7251 is expected to be falsey7252 #new_pos7253 is expected to eq 117254 #old_pos7255 is expected to eq 97256 #file_path7257 is expected to eq "CHANGELOG.md"7258BulkImports::Configuration7259 associations7260 is expected to belong to bulk_import required: true7261 validations7262 is expected to validate that the length of :url is at most 2557263 is expected to validate that the length of :access_token is at most 2557264 is expected to validate that :url cannot be empty/falsy7265 is expected to validate that :access_token cannot be empty/falsy7266Gitlab::GithubImport::Importer::PullRequestMergedByImporter7267 when the merger user can be mapped7268 assigns the merged by user when mapped7269 when the merger user cannot be mapped to a gitlab user7270 adds a note referencing the merger user7271 when the merger user is not provided7272 adds a note referencing the merger user7273projects/notes/_more_actions_dropdown7274 shows Report abuse to admin button if not editable and not current users comment7275 does not show the More actions button if not editable and current users comment7276 shows Report abuse to admin and Delete buttons if editable and not current users comment7277 shows Delete button if editable and current users comment7278TestSuiteComparerEntity7279 #as_json7280 when head suite has a newly failed test case which does not exist in base7281 contains correct compared test suite details7282 when head suite has a new error test case which does not exist in base7283 contains correct compared test suite details7284 when head suite still has a failed test case which failed in base7285 contains correct compared test suite details7286 when head suite has a success test case which failed in base7287 contains correct compared test suite details7288 when head suite has suite error7289 contains suite error for head suite7290 when base suite has suite error7291 contains suite error for head suite7292 when base and head suite both have suite errors7293 contains suite error for head suite7294Gitlab::JiraImport::IssuesImporter7295 #imported_items_cache_key7296 is expected to eq "jira-importer/already-imported/949/issues"7297 behaves like raise exception if not implemented7298 is expected not to raise Exception7299 #execute7300 when no returned issues7301 does not schedule any import jobs7302 with results returned7303 when single page of results is returned7304 schedules 2 import jobs7305 when importing some issue raises an exception7306 schedules 2 import jobs7307 when duplicate results are returned7308 schedules 2 import jobs7309MergeRequests::BaseService7310 #execute_hooks7311 with a Jira subscription7312 MR contains Jira issue key7313 behaves like enqueues Jira sync worker7314 aggregate_failures7315 MR does not contain Jira issue key7316 behaves like does not enqueue Jira sync worker7317 is expected not to change `Array#size`7318 without a Jira subscription7319 behaves like does not enqueue Jira sync worker7320 is expected not to change `Array#size`7321IdentityProviderPolicy7322 #rules7323 is expected to be allowed :link7324 is expected to be allowed :unlink7325 when user is anonymous7326 is expected not to be allowed :link7327 is expected not to be allowed :unlink7328 when provider is saml7329 is expected to be allowed :link7330 is expected not to be allowed :unlink7331 when provider is cas37332 is expected to be allowed :link7333 is expected not to be allowed :unlink7334Evidences::MilestoneEntity7335 exposes the expected fields7336 when there are issues linked to this milestone7337 exposes these issues7338 when the release has no milestone7339 exposes an empty array for milestones7340Gitlab::Diff::StatsCache7341 VERSION is set7342 #read7343 returns the expected stats7344 #write_if_empty7345 when the cache already exists7346 does not write the stats7347 when the cache does not exist7348 writes the stats7349 when given non utf-8 characters7350 writes the stats7351 when given empty stats7352 does not write the stats7353 #clear7354 clears cache7355 with multiple cache versions7356 does not read from a stale cache7357Gitlab::Git::Patches::CommitPatches7358 #commit7359 applies the patches7360 updates the branch cache7361 when the repository does not exist7362 raises the correct error7363 when the patch does not apply7364 raises the correct error7365Namespaces::StatisticsRefresherService#execute7366 without a root storage statistics relation7367 creates one7368 recalculate the namespace statistics7369 with a root storage statistics relation7370 does not create one7371 recalculate the namespace statistics7372 when something goes wrong7373 raises RefreshError7374Ci::DownloadableArtifactEntity7375 #as_json7376 contains required fields7377 when user cannot read job artifact7378 returns only artifacts readable by user7379PurgeDependencyProxyCacheWorker7380 #perform7381 an admin user7382 when admin mode is enabled7383 is labeled as idempotent7384 performs multiple times sequentially without raising an exception7385 deletes the blobs and returns ok7386 when admin mode is disabled7387 behaves like not removing blobs and manifests7388 does not remove blobs and manifests7389 a non-admin user7390 behaves like not removing blobs and manifests7391 does not remove blobs and manifests7392 an invalid user id7393 behaves like not removing blobs and manifests7394 does not remove blobs and manifests7395 an invalid group7396 behaves like not removing blobs and manifests7397 does not remove blobs and manifests7398ChatNames::AuthorizeUserService7399 #execute7400 when all parameters are valid7401 produces a valid HTTP URL7402 requests a new token7403 when there are missing parameters7404 does not produce a URL7405 does not request a new token7406ChatNames::FindUserService7407 #execute7408 find user mapping7409 when existing user is requested7410 returns the existing chat_name7411 updates the last used timestamp if one is not already set7412 only updates an existing timestamp once within a certain time frame7413 when different user is requested7414 returns existing user7415Ci::PrepareBuildService7416 #execute7417 build has unmet prerequisites7418 completes each prerequisite7419 enqueues the build7420 prerequisites fail to complete7421 drops the build7422 prerequisites raise an error7423 drops the build and notifies Sentry7424 build has no prerequisites7425 enqueues the build7426Security::CiConfiguration::SecretDetectionBuildAction7427 with existing .gitlab-ci.yml7428 secret_detection has not been included7429 template includes are an array7430 generates the correct YML7431 template include is not an array7432 generates the correct YML7433 secret_detection has been included7434 secret_detection template include are an array7435 generates the correct YML7436 secret_detection template include is not an array7437 generates the correct YML7438 with no .gitlab-ci.yml7439 autodevops disabled7440 generates the correct YML7441 with autodevops enabled7442 generates the correct YML7443Packages::Composer::Metadatum7444 relationships7445 is expected to belong to package required:7446 validations7447 is expected to validate that :package cannot be empty/falsy7448 is expected to validate that :target_sha cannot be empty/falsy7449 is expected to validate that :composer_json cannot be empty/falsy7450 scopes7451 .for_package7452 is expected to eq [#<Packages::Composer::Metadatum package_id: 31, target_sha: "8d103f72dec33d1d6a225e41ed850727b3ddc0d4", composer_json: {"name"=>"sample-project"}, version_cache_sha: nil>]7453RuboCop::Cop::IgnoredColumns7454 flags direct use of ignored_columns instead of the IgnoredColumns concern7455 when only CE model exist7456 does not flag ignore_columns usage in CE model7457 flags ignore_column usage in EE model7458 when only EE model exist7459 flags ignore_columns usage in EE model7460 flags ignore_column usage in EE model7461 when CE and EE model exist7462 flags ignore_columns usage in EE model7463 flags ignore_column usage in EE model7464RuboCop::Cop::Gitlab::FeatureAvailableUsage7465 no arguments given7466 does not flag the use of Gitlab::Sourcegraph.feature_available? with no arguments7467 one argument given7468 does not flag the use of License.feature_available?7469 flags the use with a dynamic feature as nil7470 flags the use with an OSS project feature7471 flags the use with a feature that is not a project feature7472 two arguments given7473 does not flag the use with an OSS project feature7474 does not flag the use with an EE project feature7475 flags the use with a dynamic feature as a method call with two args7476Gitlab::ImportExport::Project::Sample::DateCalculator7477 #closest date to average7478 when dates are empty7479 is expected to be nil7480 when dates are not empty7481 is expected to eq 2021-01-01 00:00:00.000000000 +00007482 #calculate_by_closest_date_to_average7483 when average date is nil7484 is expected to eq 2021-09-22 10:39:49.673877743 +00007485 when average date is in the past7486 is expected to eq 2022-09-22 10:39:49.691572661 +00007487 when average date is in the future7488 is expected to eq 2021-09-22 10:39:49.710136670 +00007489Gitlab::ClassAttributes7490 returns values set on the class7491 returns values set on a superclass7492 returns values from the subclass over attributes from a superclass7493 triggers after hooks after set class values7494Gitlab::ImportExport::AvatarSaver7495 saves a project avatar7496 is fine not to have an avatar7497RuboCop::Cop::CodeReuse::Presenter7498 flags the use of a Presenter in a Service class7499 flags the use of a Presenter in a Finder7500 flags the use of a Service class in a Presenter7501 flags the use of a Presenter in a Serializer7502 flags the use of a Presenter in a model instance method7503 flags the use of a Presenter in a model class method7504 flags the use of a Presenter in a worker7505LfsPointersFinder7506 #execute7507 when path has no LFS files7508 is expected to eq []7509 when path points to LFS file7510 returns LFS blob ids7511 when path points to directory with LFS files7512 returns LFS blob ids7513 when repository is empty7514 is expected to eq []7515Gitlab::UsageDataCounters::WebIdeCounter7516 commits counter7517 behaves like counter examples7518 increments counter and return the total count7519 merge requests counter7520 behaves like counter examples7521 increments counter and return the total count7522 views counter7523 behaves like counter examples7524 increments counter and return the total count7525 terminals counter7526 behaves like counter examples7527 increments counter and return the total count7528 pipelines counter7529 behaves like counter examples7530 increments counter and return the total count7531 previews counter7532 when web ide clientside preview is enabled7533 behaves like counter examples7534 increments counter and return the total count7535 when web ide clientside preview is not enabled7536 does not increment the counter7537 .totals7538 can report all totals7539BranchesHelper7540 #access_levels_data7541 when access_levels is nil7542 is expected to be empty7543 when access levels are provided7544 returns the correct array7545 when an access level tied to a deploy key is provided7546 returns the correct array7547Types::CommitType7548 is expected to eq "Commit"7549 is expected to require graphql authorizations :download_code7550 contains attributes related to commit7551Gitlab::Metrics::Dashboard::Stages::VariableEndpointInserter7552 #transform!7553 when dashboard variables are present7554 assigns prometheus_endpoint_path to metric_label_values variable type7555 does not modify other variable types7556 when variable does not have the required series_selector7557 adds prometheus_endpoint_path without match parameter7558 when no variables are present7559 does not fail7560 with no environment7561 raises error7562Gitlab::CycleAnalytics::Summary::Value7563 Gitlab::CycleAnalytics::Summary::Value::None7564 returns `-`7565 Gitlab::CycleAnalytics::Summary::Value::Numeric7566 returns the string representation of the number7567 Gitlab::CycleAnalytics::Summary::Value::PrettyNumeric7568 #to_s7569 returns `-` when the number is 07570 returns `-` when the number is nil7571 returns the string representation of the number7572Banzai::Pipeline7573 .[]7574 for nil7575 is expected to eq Banzai::Pipeline::FullPipeline7576 for symbols7577 when known7578 is expected to eq Banzai::Pipeline::FullPipeline7579 when unknown7580 behaves like error7581 is expected to raise NameError with "uninitialized constant Banzai::Pipeline::UnknownPipeline"7582 for classes7583 subclassing Banzai::Pipeline::BasePipeline7584 is expected to eq #<Class:0x00007fa2b735f500>7585 subclassing other types7586 behaves like error7587 is expected to raise ArgumentError with "unsupported pipeline name Foo (Class)"7588 for other types7589 behaves like error7590 is expected to raise ArgumentError with "unsupported pipeline name \"label\" (String)"75910_log_deprecations7592 for Ruby deprecations7593 when catching deprecations through Kernel#warn7594 also logs them to deprecation logger7595 for other messages from Kernel#warn7596 does not log them to deprecation logger7597 when disabled via environment7598 does not log them to deprecation logger7599 for Rails deprecations7600 logs them to deprecation logger7601 when disabled via environment7602 does not log them to deprecation logger7603TimeHelper7604 #time_interval_in_words7605 returns minutes and seconds7606 #duration_in_numbers7607 duration: 0, formatted_string: "00:00"7608 is expected to eq "00:00"7609 duration: 1 second, formatted_string: "00:01"7610 is expected to eq "00:01"7611 duration: 42 seconds, formatted_string: "00:42"7612 is expected to eq "00:42"7613 duration: 2 minutes and 1 second, formatted_string: "02:01"7614 is expected to eq "02:01"7615 duration: 3 hours, 2 minutes, and 1 second, formatted_string: "03:02:01"7616 is expected to eq "03:02:01"7617 duration: 30 hours, formatted_string: "30:00:00"7618 is expected to eq "30:00:00"7619 #time_in_milliseconds7620 returns the time in milliseconds7621Releases::ManageEvidenceWorker7622 when `released_at` in inside the window7623 when Evidence has not been created7624 creates a new Evidence record7625 when evidence has already been created7626 behaves like does not create a new Evidence record7627 sidekiq_inline7628 when `released_at` is outside the window7629 behaves like does not create a new Evidence record7630 sidekiq_inline7631Gitlab::NamespacedSessionStore7632 current session7633 stores data under the specified key7634 retrieves data from the given key7635 passed in session7636 retrieves data from the given key7637Gitlab::GrapeLogging::Formatters::LogrageWithTimestamp7638 turns the log entry to valid JSON7639 re-formats the params hash7640Packages::Composer::CacheCleanupWorker7641 #perform7642WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/workers/packages/composer/cache_cleanup_worker_spec.rb:23:in `block (3 levels) in <top (required)>'.7643WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/spec/workers/packages/composer/cache_cleanup_worker_spec.rb:24:in `block (3 levels) in <top (required)>'.7644 deletes expired packages7645API::Entities::User7646 exposes correct attributes7647 exposes created_at if the current user can read the user profile7648 does not expose created_at if the current user cannot read the user profile7649 exposes user as not a bot7650 with bot user7651 exposes user as a bot7652Gitlab::JwtAuthenticatable7653 .secret7654 returns 32 bytes7655 accepts a trailing newline7656 raises an exception if the secret file cannot be read7657 raises an exception if the secret file contains the wrong number of bytes7658 .write_secret7659 uses mode 06007660 writes base64 data7661 .decode_jwt_for_issuer7662 accepts a correct header7663 raises an error when the JWT is not signed7664 raises an error when the header is signed with the wrong secret7665 raises an error when the issuer is incorrect7666Ci::PipelinesHelper7667 pipeline_warnings7668 when pipeline has no warnings7669 is empty7670 when pipeline has warnings7671 returns a warning callout box7672 lists the the warnings7673 warning_header7674 when warnings are more than max cap7675 returns 30 warning(s) found: showing first 257676 when warnings are less than max cap7677 returns 15 warning(s) found7678 has_gitlab_ci?7679 builds_enabled?: true, has_ci?: true, result: true7680 is expected to eq true7681 builds_enabled?: true, has_ci?: false, result: false7682 is expected to eq false7683 builds_enabled?: false, has_ci?: true, result: false7684 is expected to eq false7685 builds_enabled?: false, has_ci?: false, result: false7686 is expected to eq false7687Gitlab::UsageDataCounters::EditorUniqueCounter7688 can return the count of actions per user deduplicated7689 for web IDE edit actions7690 behaves like tracks and counts action7691 is expected to eq 37692 does not track edit actions if author is not present7693 for SFE edit actions7694 behaves like tracks and counts action7695 is expected to eq 37696 does not track edit actions if author is not present7697 for snippet editor edit actions7698 behaves like tracks and counts action7699 is expected to eq 37700 does not track edit actions if author is not present7701 for SSE edit actions7702 behaves like tracks and counts action7703 is expected to eq 37704 does not track edit actions if author is not present7705ProductAnalytics::EventParams7706 .parse_event_params7707 extracts all params from raw event7708 .has_required_params?7709 aid and eid are present7710 is expected to be truthy7711 aid and eid are missing7712 is expected to be falsey7713 eid is missing7714 is expected to be falsey7715AwardEmojis::CopyService7716 #initialize7717 validates that we cannot copy AwardEmoji to the same Awardable7718 #execute7719 copies AwardEmojis7720 returns success7721Gitlab::Config::Entry::Unspecified7722 #valid?7723 delegates method to entry7724 #errors7725 delegates method to entry7726 #value7727 delegates method to entry7728 #specified?7729 is always false7730Ci::PipelineArtifacts::CodeCoveragePresenter7731 #for_files7732 when code coverage has data7733 when filenames is empty7734 returns hash without coverage7735 when filenames do not match code coverage data7736 returns hash without coverage7737 when filenames matches code coverage data7738 when asking for one filename7739 returns coverage for the given filename7740 when asking for multiple filenames7741 returns coverage for a the given filenames7742TestReportsComparerSerializer7743 #to_json7744 when head and base reports include two test suites7745 when the status of head report is success7746 matches the schema7747 when the status of head report is failed7748 matches the schema7749 when the status of head report is resolved7750 matches the schema7751Grafana::ProxyService7752 .from_cache7753 behaves like initializes an instance7754 initializes an instance of ProxyService class7755 #initialize7756 behaves like initializes an instance7757 initializes an instance of ProxyService class7758 #execute7759 when grafana integration is not configured7760 returns error7761 with caching7762 when value not present in cache7763 returns nil7764 when value present in cache7765 returns cached value7766 call prometheus api7767 connection to grafana datasource succeeds7768 returns the http status code and body from prometheus7769 connection to grafana datasource fails7770 returns error7771Gitlab::GithubImport::ParallelImporter7772 .async?7773 returns true7774 #execute7775 schedules the importing of the repository7776 sets the JID in Redis7777groups/_home_panel7778 renders the group ID7779 admin area link7780 renders admin area link for admin7781 does not render admin area link for non-admin7782 does not render admin area link for anonymous7783Gitlab::Utils::InlineHash7784 .merge_keys7785 transforms a nested hash into a one-level hash7786 retains key insertion order7787 with a custom connector7788 uses the connector to merge keys7789 with a starter prefix7790 prefixes all the keys7791be_sorted7792 matches empty collections, regardless of arguments7793 matches in both directions7794 can match on a projection7795Types::BoardListType7796 is expected to eq "BoardList"7797 has specific fields7798admin mode on tasks7799 with a regular user7800 matches the expected admin mode7801 with an admin7802 matches the expected admin mode7803Gitlab::Ci::Status::Build::Created7804 #illustration7805 is expected to include :image, :size, :title, and :content7806 .matches?7807 when build is created7808 is a correct match7809 when build is not created7810 does not match7811Gitlab::Ci::Pipeline::Seed::Processable::ResourceGroup7812 #to_resource7813 when resource group key is specified7814 returns a resource group object7815 when environment has an invalid URL7816 returns nothing7817 when there is a resource group already7818 does not create a new resource group7819 when resource group key is nil7820 returns nothing7821Gitlab::Metrics::Dashboard::Transformers::Yml::V1::PrometheusMetrics7822 #execute7823 valid dashboard7824 returns collection of metrics with correct attributes7825 invalid dashboard7826 raises missing attribute error7827projects/settings/ci_cd/_autodevops_form7828 shows a warning message about Kubernetes cluster7829 when the project has an available kubernetes cluster7830 does not show a warning message about Kubernetes cluster7831 shows a warning message about base domain7832Sidebars::Projects::Menus::LearnGitlabMenu7833 does not contain any sub menu7834 #nav_link_html_options7835 is expected to eq {:class=>"home", :data=>{:track_label=>"learn_gitlab"}}7836 #render?7837 when learn gitlab experiment is enabled7838 returns true7839 when learn gitlab experiment is disabled7840 returns false7841 #has_pill?7842 when learn gitlab experiment is enabled7843 returns true7844 when learn gitlab experiment is disabled7845 returns false7846 #pill_count7847 returns pill count7848Mutations::UserCallouts::Create7849 #resolve7850 when feature name is not supported7851 does not create a user callout7852 returns error about feature name not being supported7853 when feature name is supported7854 creates a user callout7855 sets dismissed_at for the user callout7856 has no errors7857BuildFinishedWorker7858 #perform7859 when build exists7860 calculates coverage and calls hooks7861 with ci_build_finished_worker_namespace_changed feature flag disabled7862 calls deprecated worker7863 when build is failed7864 adds a todo7865 when build has a chat7866 schedules a ChatNotification job7867 when build does not exist7868 does not raise exception7869Approval7870 presence validation7871 is expected to validate that :merge_request_id cannot be empty/falsy7872 is expected to validate that :user_id cannot be empty/falsy7873 uniqueness validation7874 is expected to validate that :user_id is case-sensitively unique within the scope of :merge_request_id7875RuboCop::Cop::Gitlab::NamespacedClass7876 flags a class definition without namespace7877 flags a class definition with inheritance without namespace7878 does not flag the class definition with namespace in separate lines7879 does not flag the class definition with nested namespace in separate lines7880 does not flag the class definition nested inside namespaced class7881 does not flag a compact namespaced class definition7882Repositories::BranchNamesFinder7883 #execute7884 returns all filtered branch names7885 returns a limited number of offset filtered branch names7886Experiments::RecordConversionEventWorker#perform7887 when the experiment is active7888 is labeled as idempotent7889 performs multiple times sequentially without raising an exception7890 records the event7891 when the experiment is not active7892 records the event7893Gitlab::Ci::Status::Build::Canceled7894 #illustration7895 is expected to include :image, :size, and :title7896 .matches?7897 when build is canceled7898 is a correct match7899 when build is not canceled7900 does not match7901Gitlab::Kubernetes::RolloutInstances7902 #pod_instances7903 returns an instance for a deployment with one pod7904 returns a pending pod for a missing replica7905 returns instances when there are two stable deployments7906 returns instances for two deployments with different tracks7907 sorts stable tracks after canary tracks7908Peek::Views::Rugged7909 returns no results7910 returns aggregated results7911DependencyProxy::AuthTokenService7912 .decoded_token_payload7913 returns the user7914 raises an error if the token is expired7915 raises an error if decoding fails7916 raises an error if signature is immature7917 with a deploy token7918 returns the deploy token7919Ci::DagPipelineSerializer7920 #represent7921 includes stages7922 matches schema7923Import::GitlabProviderRepoEntity7924 behaves like exposes required fields for import entity7925 exposes required fields7926 correctly exposes id7927 correctly exposes full name7928 correctly exposes sanitized name7929 correctly exposes provider link7930SourcegraphHelper7931 #sourcegraph_url_message7932 with .com sourcegraph url7933 is expected to have text "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental."7934 with custom sourcegraph url7935 is expected to have text "Uses a custom %{linkStart}Sourcegraph instance%{linkEnd}. This feature is experimental."7936 when not limited by feature or public only7937 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental."7938 when limited by feature7939 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental and currently limited to certain projects."7940 when limited by public only7941 is expected to eq "Uses %{linkStart}Sourcegraph.com%{linkEnd}. This feature is experimental and limited to public projects."7942Gitlab::Database::Migrations::Observers::QueryStatistics7943 #before7944 with pgss available7945 resets pg_stat_statements7946 without pgss available7947 executes nothing7948 #record7949 with pgss available7950 fetches data from pg_stat_statements and stores on the observation7951 without pgss available7952 executes nothing7953Sidebars::Projects::Menus::SecurityComplianceMenu7954 render?7955 when user is not authenticated7956 is expected to be falsey7957 when user is authenticated7958 when the Security & Compliance is disabled7959 is expected to be falsey7960 when the Security & Compliance is not disabled7961 is expected to be truthy7962Types::PermissionTypes::BasePermissionType7963 .permission_field7964 adds a field for the required permission7965 .ability_field7966 adds a field for the required permission7967 does not add a resolver block if another resolving param is passed7968 .abilities7969 adds a field for the passed permissions7970Sidebars::Projects::Menus::WikiMenu7971 does not contain any sub menu7972 #render?7973 when user can access project wiki7974 returns true7975 when user cannot access project wiki7976 returns false7977RuboCop::Cop::Migration::AddTimestamps7978 when in migration7979 registers an offense when the "add_timestamps" method is used7980 does not register an offense when the "add_timestamps" method is not used7981 does not register an offense when the "add_timestamps_with_timezone" method is used7982 when outside of migration7983 registers no offense7984Gitlab::Metrics::Samplers::PumaSampler7985 behaves like metrics sampler7986 when sampling interval is passed explicitly7987 is expected to eq 427988 when sampling interval is passed through the environment7989 is expected to eq 427990 when no sampling interval is passed anywhere7991 uses the hardcoded default7992 #sample7993 in cluster mode7994 samples master statistics7995 samples worker statistics7996 with empty worker stats7997 does not log worker stats7998 in single mode7999 samples worker statistics8000Gitlab::ImportExport::Json::NdjsonWriter8001 #write_attributes8002 writes correct json to root8003 #write_relation8004 when single relation is serialized8005 appends json in correct file8006 when single relation is already serialized8007 raise exception8008 #write_relation_array8009 writes json in correct files8010ProtectedTags::DestroyService8011 #execute8012 destroy a protected tag8013API::Entities::Ci::JobRequest::Image8014 returns the image name8015 returns the entrypoint8016 returns the ports8017 when the ports param is nil8018 does not return the ports8019admin/application_settings/_repository_storage.html.haml8020 additional storage config8021 lists them all8022 fewer storage configs8023 lists only configured storages8024Keys::DestroyService8025 destroys a key8026Types::IssuableType8027 returns possible types8028 .resolve_type8029 resolves issues8030 resolves merge requests8031 raises an error for invalid types8032FutureDateValidator8033 past date8034 is expected not to be valid8035 current date8036 is expected to be valid8037 future date8038 is expected to be valid8039BulkImports::ExportUpload8040 stores export file8041 associations8042 is expected to belong to export required:8043GroupLink::ProjectGroupLinkEntity8044 matches json schema8045 when current user has `admin_project_member` permissions8046 exposes `can_update` and `can_remove` as `true`8047Gitlab::Database::PostgresqlAdapter::DumpSchemaVersionsMixin8048 calls SchemaMigrations touch_all and skips original implementation8049 does not call touch_all in production8050Ci::VariableEntity8051 #as_json8052 contains required fields8053Packages::Composer::PackagesFinder8054 #execute8055 is expected to contain exactly #<Packages::Package id: 34, project_id: 1012, created_at: "2021-09-22 10:40:51.120036863 +0000", upda...omposer-package-1", version: "1.0.1", package_type: "composer", creator_id: 1918, status: "default"> and #<Packages::Package id: 35, project_id: 1012, created_at: "2021-09-22 10:40:51.128166773 +0000", upda...omposer-package-2", version: "1.0.2", package_type: "composer", creator_id: 1918, status: "default">8056Preloaders::CommitStatusPreloader8057 #execute8058 prevents N+1 for specified relations8059Gitlab::StringRangeMarker8060 #mark8061 when the rich text is html safe8062 marks the inline diffs8063 when the rich text is not html safe8064 when rich text equals raw text8065 marks the inline diffs8066 when rich text doeas not equal raw text8067 marks the inline diffs8068BulkImports::Groups::Extractors::SubgroupsExtractor8069 #extract8070 returns ExtractedData response8071Types::ReleaseAssetLinkInputType8072 is expected to eq "ReleaseAssetLinkInput"8073 has the correct arguments8074 sets the type of link_type argument to ReleaseAssetLinkTypeEnum8075HtmlSafetyValidator8076 adds an error when a script is included in the name8077 does not add an error when an ampersand is included in the name8078Gitlab::GrapeLogging::Loggers::CloudflareLogger8079 #parameters8080 with no Cloudflare headers8081 returns an empty hash8082 with Cloudflare headers8083 returns the correct duration in seconds8084Gitlab::UploadsTransfer8085 leaves avatar uploads where they are8086Gitlab::GithubImport::Importer::LfsObjectImporter8087 #execute8088 calls the LfsDownloadService with the lfs object attributes8089Gitlab::Ci::Build::Port8090 when port is defined as an integer8091 populates the object8092 when port is defined as hash8093 populates the object8094Gitlab::GonHelper8095 #push_frontend_feature_flag8096 pushes a feature flag to the frontend8097 #default_avatar_url8098 returns an absolute URL8099CodequalityDegradationEntity8100 #as_json8101 when codequality contains an error8102 when line is included in location8103 contains correct codequality degradation details8104 when line is included in positions8105 contains correct codequality degradation details8106RepositoryCheck::ClearWorker8107 clears repository check columns8108Gitlab::Kubernetes::ClusterRoleBinding8109 #generate8110 builds a Kubeclient Resource8111Gitlab::Database::PostgresqlDatabaseTasks::LoadSchemaVersionsMixin8112 calls SchemaMigrations load_all8113Emails::DestroyService8114 #execute8115 removes an email8116API::Entities::Projects::RepositoryStorageMove8117 #as_json8118 includes basic fields8119Types::ContainerRepositoryCleanupStatusEnum8120 exposes all statuses8121Types::Packages::Pypi::MetadatumType8122 includes pypi metadatum fields8123AccessibilityErrorEntity8124 #as_json8125 when accessibility contains an error8126 contains correct accessibility error details8127JiraConnect::RetryRequestWorker8128 #perform8129 sends the request, with the appropriate headers8130 when the proxied request fails8131 arranges to retry the request8132 when there are no more attempts left8133 does not retry8134Types::Packages::PackageGroupSortEnum8135 exposes all package group sort values8136StartupjsHelper8137 #page_startup_graphql_calls8138 returns an array containing GraphQL Page Startup Calls8139API::Entities::BulkImports::Entity8140 has the correct attributes8141Types::Packages::Maven::MetadatumType8142 includes maven metadatum fields8143AnalyticsBuildSerializer8144 when there is a single object provided8145 contains important elements of analyticsBuild8146API::Validations::Validators::UntrustedRegexp8147 valid regex8148 does not raise a validation error8149 invalid regex8150 raises a validation error8151Gitlab::SidekiqMiddleware::DuplicateJobs::Server8152 with until_executing strategy8153 #call8154 removes the stored job from redis before execution8155 with until_executed strategy8156 removes the stored job from redis after execution8157ClusterWaitForIngressIpAddressWorker8158 #perform8159 finds the application and calls CheckIngressIpAddressService#execute8160RolloutStatuses::IngressEntity8161 exposes canary weight8162Types::Packages::PackageType8163 includes all the package fields8164Knapsack report was generated. Preview:8165{8166 "spec/services/ci/register_job_service_spec.rb": 212.4149324179998,8167 "spec/models/note_spec.rb": 88.07506629599993,8168 "spec/services/groups/transfer_service_spec.rb": 69.00655694599845,8169 "spec/services/projects/import_service_spec.rb": 57.25677288800034,8170 "spec/services/notes/quick_actions_service_spec.rb": 41.82477246099916,8171 "spec/helpers/projects_helper_spec.rb": 18.13452273400071,8172 "spec/lib/gitlab/diff/position_tracer/line_strategy_spec.rb": 40.607851896000284,8173 "spec/lib/gitlab/git_access_snippet_spec.rb": 21.41925226800049,8174 "spec/helpers/packages_helper_spec.rb": 14.434698402999857,8175 "spec/serializers/build_details_entity_spec.rb": 26.597499038000024,8176 "spec/services/clusters/applications/create_service_spec.rb": 19.193560316998628,8177 "spec/models/integrations/unify_circuit_spec.rb": 18.714919857000496,8178 "spec/lib/gitlab/ci/variables/collection_spec.rb": 6.821229418999792,8179 "spec/lib/gitlab/email/handler/service_desk_handler_spec.rb": 19.658988589999353,8180 "spec/models/gpg_signature_spec.rb": 16.193313050000143,8181 "spec/services/groups/import_export/import_service_spec.rb": 17.746105944999726,8182 "spec/models/protected_branch_spec.rb": 11.256656809999185,8183 "spec/helpers/issues_helper_spec.rb": 12.404860847000236,8184 "spec/lib/gitlab/git_ref_validator_spec.rb": 6.535153771001205,8185 "spec/services/projects/import_export/export_service_spec.rb": 13.128656238000985,8186 "spec/helpers/diff_helper_spec.rb": 5.29496716200083,8187 "spec/lib/gitlab/import_export/group/legacy_tree_restorer_spec.rb": 12.406716036999569,8188 "spec/lib/gitlab/ci/parsers/security/common_spec.rb": 8.122459672998957,8189 "spec/finders/packages/nuget/package_finder_spec.rb": 9.642303250000623,8190 "spec/services/clusters/update_service_spec.rb": 15.159852804001275,8191 "spec/models/releases/link_spec.rb": 7.161695410999528,8192 "spec/services/groups/group_links/create_service_spec.rb": 15.994877085999178,8193 "spec/lib/atlassian/jira_connect/client_spec.rb": 8.047556509998685,8194 "spec/services/ci/create_pipeline_service/needs_spec.rb": 11.783235977000004,8195 "spec/lib/gitlab/current_settings_spec.rb": 5.516787942999144,8196 "spec/models/serverless/domain_spec.rb": 13.51871522699912,8197 "spec/uploaders/pages/deployment_uploader_spec.rb": 7.568308707999677,8198 "spec/lib/gitlab/gpg/invalid_gpg_signature_updater_spec.rb": 11.429021305999413,8199 "spec/services/namespaces/package_settings/update_service_spec.rb": 6.79823166999995,8200 "spec/graphql/gitlab_schema_spec.rb": 5.701996978999887,8201 "spec/rubocop/code_reuse_helpers_spec.rb": 3.5285782940009085,8202 "spec/lib/gitlab/cache/ci/project_pipeline_status_spec.rb": 6.127551064999352,8203 "spec/helpers/page_layout_helper_spec.rb": 2.463377820999085,8204 "spec/lib/gitlab/static_site_editor/config/file_config/entry/global_spec.rb": 3.903176273999634,8205 "spec/models/pages_domain_acme_order_spec.rb": 8.257727091999186,8206 "spec/lib/gitlab/version_info_spec.rb": 2.5078675870008738,8207 "spec/workers/incident_management/process_alert_worker_v2_spec.rb": 10.54007160800029,8208 "spec/services/packages/create_event_service_spec.rb": 5.105076617001032,8209 "spec/models/clusters/providers/aws_spec.rb": 3.658672363999358,8210 "spec/lib/gitlab/markdown_cache/active_record/extension_spec.rb": 5.076342968999597,8211 "spec/lib/gitlab/jira_import_spec.rb": 3.260717356999521,8212 "spec/lib/kramdown/parser/atlassian_document_format_spec.rb": 3.4202619429997867,8213 "spec/services/ci/resource_groups/assign_resource_from_resource_group_service_spec.rb": 8.001853493000453,8214 "spec/graphql/resolvers/group_labels_resolver_spec.rb": 5.147700624000208,8215 "spec/models/project_auto_devops_spec.rb": 5.014153063999402,8216 "spec/graphql/mutations/issues/create_spec.rb": 6.889284722999946,8217 "spec/lib/banzai/filter/inline_metrics_redactor_filter_spec.rb": 4.568132849999529,8218 "spec/presenters/clusterable_presenter_spec.rb": 4.925152011999671,8219 "spec/lib/gitlab/ci/pipeline/expression/lexeme/and_spec.rb": 3.7703539049998653,8220 "spec/lib/gitlab/ci/matching/runner_matcher_spec.rb": 2.4723919900006877,8221 "spec/workers/new_merge_request_worker_spec.rb": 6.5211034630010545,8222 "spec/models/project_group_link_spec.rb": 5.81907321899962,8223 "spec/models/customer_relations/contact_spec.rb": 2.1585754759998963,8224 "spec/services/namespace_settings/update_service_spec.rb": 6.309807678999277,8225 "spec/services/notes/post_process_service_spec.rb": 6.363855975998376,8226 "spec/models/packages/nuget/metadatum_spec.rb": 2.624767047000205,8227 "spec/lib/atlassian/jira_connect/serializers/build_entity_spec.rb": 4.307054811999478,8228 "spec/workers/repository_check/batch_worker_spec.rb": 5.756268433999139,8229 "spec/lib/gitlab/kubernetes/helm/api_spec.rb": 1.7565656570004649,8230 "spec/bin/sidekiq_cluster_spec.rb": 6.909357422000539,8231 "spec/lib/gitlab/error_tracking_spec.rb": 3.5951454200003354,8232 "spec/haml_lint/linter/documentation_links_spec.rb": 4.746193326000139,8233 "spec/services/lfs/unlock_file_service_spec.rb": 3.8148576809999213,8234 "spec/models/x509_commit_signature_spec.rb": 4.592777927999123,8235 "spec/lib/gitlab/sidekiq_logging/structured_logger_spec.rb": 1.8450752009994176,8236 "spec/models/board_spec.rb": 2.180630893999478,8237 "spec/lib/extracts_ref_spec.rb": 2.596505809999144,8238 "spec/services/merge_requests/merge_orchestration_service_spec.rb": 3.162141464999877,8239 "spec/lib/gitlab/bare_repository_import/repository_spec.rb": 1.2911455359990214,8240 "spec/lib/gitlab/cleanup/orphan_lfs_file_references_spec.rb": 3.066268372000195,8241 "spec/lib/gitlab/emoji_spec.rb": 1.0570800839996082,8242 "spec/lib/gitlab/ci/status/stage/play_manual_spec.rb": 2.995827888000349,8243 "spec/services/packages/debian/extract_changes_metadata_service_spec.rb": 1.4704723109989573,8244 "spec/presenters/projects/import_export/project_export_presenter_spec.rb": 2.7141928109995206,8245 "spec/helpers/notifications_helper_spec.rb": 1.6238418480006658,8246 "spec/models/ci/persistent_ref_spec.rb": 3.3151191720007773,8247 "spec/lib/gitlab/ci/templates/Jobs/code_quality_gitlab_ci_yaml_spec.rb": 2.9592873509991477,8248 "spec/services/merge_requests/mark_reviewer_reviewed_service_spec.rb": 3.553235912000673,8249 "spec/lib/gitlab/repository_size_checker_spec.rb": 0.839877071999581,8250 "spec/policies/namespace_policy_spec.rb": 2.3864925670004595,8251 "spec/models/integrations/custom_issue_tracker_spec.rb": 1.4555036530000507,8252 "spec/lib/gitlab/ci/config/external/file/remote_spec.rb": 1.9320750730003056,8253 "spec/workers/stuck_merge_jobs_worker_spec.rb": 3.537843313999474,8254 "spec/services/members/groups/bulk_creator_service_spec.rb": 2.277422745999502,8255 "spec/lib/gitlab/error_tracking/context_payload_generator_spec.rb": 1.7344016999995802,8256 "spec/services/wiki_pages/destroy_service_spec.rb": 3.7157358989989007,8257 "spec/services/members/import_project_team_service_spec.rb": 1.982803419999982,8258 "spec/services/groups/deploy_tokens/create_service_spec.rb": 1.9233860439999262,8259 "spec/serializers/discussion_diff_file_entity_spec.rb": 3.7607145560014033,8260 "spec/serializers/cluster_entity_spec.rb": 2.6545037559990305,8261 "spec/lib/gitlab/incoming_email_spec.rb": 0.7634403079991898,8262 "spec/lib/gitlab/pagination/keyset/pager_spec.rb": 2.0672119520004344,8263 "spec/services/packages/nuget/metadata_extraction_service_spec.rb": 1.2246081209996191,8264 "spec/lib/gitlab/popen/runner_spec.rb": 0.889597268000216,8265 "spec/lib/gitlab/tracking/event_definition_spec.rb": 0.9718837820000772,8266 "spec/serializers/release_serializer_spec.rb": 2.033691964999889,8267 "spec/lib/gitlab/data_builder/wiki_page_spec.rb": 1.3897807079993072,8268 "spec/views/admin/dashboard/index.html.haml_spec.rb": 2.5512030540012347,8269 "spec/lib/gitlab/url_blockers/ip_allowlist_entry_spec.rb": 0.8092741550008213,8270 "spec/models/packages/debian/group_component_spec.rb": 2.404523416000302,8271 "spec/lib/gitlab/redis/boolean_spec.rb": 1.1373521989989968,8272 "spec/workers/object_pool/create_worker_spec.rb": 1.7484710389999236,8273 "spec/lib/constraints/project_url_constrainer_spec.rb": 2.0196964670012676,8274 "spec/config/settings_spec.rb": 0.9325215740009298,8275 "spec/services/pages_domains/create_acme_order_service_spec.rb": 3.536981454000852,8276 "spec/serializers/review_app_setup_entity_spec.rb": 2.142908596999405,8277 "spec/models/ci/freeze_period_spec.rb": 1.1399020779990678,8278 "spec/services/ci/job_artifacts/destroy_batch_service_spec.rb": 1.3462383609985409,8279 "spec/workers/concerns/worker_context_spec.rb": 0.9167885660008324,8280 "spec/rubocop/cop/rspec/be_success_matcher_spec.rb": 0.8679776810004114,8281 "spec/lib/gitlab/diff/position_tracer_spec.rb": 2.27654987599999,8282 "spec/lib/gitlab/conan_token_spec.rb": 0.8917141580004682,8283 "spec/lib/gitlab/graphql/pagination/offset_active_record_relation_connection_spec.rb": 0.8911564879999787,8284 "spec/lib/gitlab/ci/build/releaser_spec.rb": 0.7235078419998899,8285 "spec/lib/gitlab/ci/reports/test_suite_summary_spec.rb": 1.6205055080008606,8286 "spec/lib/gitlab/cleanup/orphan_job_artifact_files_batch_spec.rb": 3.3080124330008402,8287 "spec/lib/gitlab/hook_data/project_member_builder_spec.rb": 1.3864218379985687,8288 "spec/lib/sidebars/projects/menus/deployments_menu_spec.rb": 1.0115615590002562,8289 "spec/views/projects/diffs/_viewer.html.haml_spec.rb": 2.1171707390003576,8290 "spec/workers/cleanup_container_repository_worker_spec.rb": 1.785403914998824,8291 "spec/validators/color_validator_spec.rb": 0.7058210729992425,8292 "spec/models/merge_request_context_commit_spec.rb": 1.8470384910015127,8293 "spec/validators/devise_email_validator_spec.rb": 0.7044096919998992,8294 "spec/lib/gitlab/checks/push_check_spec.rb": 3.57693867099988,8295 "spec/lib/bitbucket_server/representation/pull_request_comment_spec.rb": 0.7037398230004328,8296 "spec/models/bulk_imports/configuration_spec.rb": 0.7353101999997307,8297 "spec/lib/gitlab/github_import/importer/pull_request_merged_by_importer_spec.rb": 1.4829992899994977,8298 "spec/views/projects/notes/_more_actions_dropdown.html.haml_spec.rb": 2.473944539999138,8299 "spec/serializers/test_suite_comparer_entity_spec.rb": 0.937212783999712,8300 "spec/lib/gitlab/jira_import/issues_importer_spec.rb": 1.1595886159993825,8301 "spec/services/merge_requests/base_service_spec.rb": 1.7211213310001767,8302 "spec/policies/identity_provider_policy_spec.rb": 0.7758370769988687,8303 "spec/serializers/evidences/milestone_entity_spec.rb": 1.2355322610001167,8304 "spec/lib/gitlab/diff/stats_cache_spec.rb": 0.7298551710009633,8305 "spec/lib/gitlab/git/patches/commit_patches_spec.rb": 1.8796089080005913,8306 "spec/services/namespaces/statistics_refresher_service_spec.rb": 1.041338466000525,8307 "spec/serializers/ci/downloadable_artifact_entity_spec.rb": 1.8470927399994252,8308 "spec/workers/purge_dependency_proxy_cache_worker_spec.rb": 1.0779751329991996,8309 "spec/services/chat_names/authorize_user_service_spec.rb": 1.614331509999829,8310 "spec/services/chat_names/find_user_service_spec.rb": 1.8298328420005419,8311 "spec/services/ci/prepare_build_service_spec.rb": 2.440437111999927,8312 "spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb": 0.6743817660008062,8313 "spec/models/packages/composer/metadatum_spec.rb": 1.4371284839999134,8314 "spec/rubocop/cop/ignored_columns_spec.rb": 0.7555627590008953,8315 "spec/rubocop/cop/gitlab/feature_available_usage_spec.rb": 0.6829309949989693,8316 "spec/lib/gitlab/import_export/project/sample/date_calculator_spec.rb": 0.6231228399992688,8317 "spec/lib/gitlab/class_attributes_spec.rb": 0.8263010230002692,8318 "spec/lib/gitlab/import_export/avatar_saver_spec.rb": 1.2715959170000133,8319 "spec/rubocop/cop/code_reuse/presenter_spec.rb": 0.9523633729986614,8320 "spec/finders/lfs_pointers_finder_spec.rb": 0.7775555970001733,8321 "spec/lib/gitlab/usage_data_counters/web_ide_counter_spec.rb": 0.7326749910007493,8322 "spec/helpers/branches_helper_spec.rb": 1.2428886990001047,8323 "spec/graphql/types/commit_type_spec.rb": 0.6644484669996018,8324 "spec/lib/gitlab/metrics/dashboard/stages/variable_endpoint_inserter_spec.rb": 0.7940047459997004,8325 "spec/lib/gitlab/cycle_analytics/summary/value_spec.rb": 0.6041472510005406,8326 "spec/lib/banzai/pipeline_spec.rb": 0.6740255960012291,8327 "spec/initializers/0_log_deprecations_spec.rb": 0.9465017030015588,8328 "spec/helpers/time_helper_spec.rb": 0.8522861710007419,8329 "spec/workers/releases/manage_evidence_worker_spec.rb": 1.5326582359994063,8330 "spec/lib/gitlab/namespaced_session_store_spec.rb": 0.7380739910004195,8331 "spec/lib/gitlab/grape_logging/formatters/lograge_with_timestamp_spec.rb": 0.6884772650009836,8332 "spec/workers/packages/composer/cache_cleanup_worker_spec.rb": 0.8662776599994686,8333 "spec/lib/api/entities/user_spec.rb": 1.3236900529991544,8334 "spec/lib/gitlab/jwt_authenticatable_spec.rb": 0.8697717389986792,8335 "spec/helpers/ci/pipelines_helper_spec.rb": 0.7209752220005612,8336 "spec/lib/gitlab/usage_data_counters/editor_unique_counter_spec.rb": 0.9731727110010979,8337 "spec/lib/product_analytics/event_params_spec.rb": 0.6516915680003876,8338 "spec/services/award_emojis/copy_service_spec.rb": 1.7401295600011508,8339 "spec/lib/gitlab/config/entry/unspecified_spec.rb": 0.5641328539986716,8340 "spec/presenters/ci/pipeline_artifacts/code_coverage_presenter_spec.rb": 2.1736860839992005,8341 "spec/serializers/test_reports_comparer_serializer_spec.rb": 0.622226640000008,8342 "spec/services/grafana/proxy_service_spec.rb": 0.9377407339998172,8343 "spec/lib/gitlab/github_import/parallel_importer_spec.rb": 0.978518420999535,8344 "spec/views/groups/_home_panel.html.haml_spec.rb": 0.9903313100003288,8345 "spec/lib/gitlab/utils/inline_hash_spec.rb": 0.5636114440003439,8346 "spec/support_specs/matchers/be_sorted_spec.rb": 0.594474261999494,8347 "spec/graphql/types/board_list_type_spec.rb": 0.5549065150007664,8348 "spec/tasks/admin_mode_spec.rb": 0.7298612610011332,8349 "spec/lib/gitlab/ci/status/build/created_spec.rb": 2.3771572670011665,8350 "spec/lib/gitlab/ci/pipeline/seed/processable/resource_group_spec.rb": 0.9296487850006088,8351 "spec/lib/gitlab/metrics/dashboard/transformers/yml/v1/prometheus_metrics_spec.rb": 0.6967025739995734,8352 "spec/views/projects/settings/ci_cd/_autodevops_form.html.haml_spec.rb": 2.0528958739996597,8353 "spec/lib/sidebars/projects/menus/learn_gitlab_menu_spec.rb": 0.6532631070003845,8354 "spec/graphql/mutations/user_callouts/create_spec.rb": 1.014054107999982,8355 "spec/workers/build_finished_worker_spec.rb": 0.9668365409997932,8356 "spec/models/approval_spec.rb": 1.2135398219998024,8357 "spec/rubocop/cop/gitlab/namespaced_class_spec.rb": 0.591262813000867,8358 "spec/finders/repositories/branch_names_finder_spec.rb": 0.9778028410000843,8359 "spec/workers/experiments/record_conversion_event_worker_spec.rb": 0.7142296330002864,8360 "spec/lib/gitlab/ci/status/build/canceled_spec.rb": 1.3689095199988515,8361 "spec/lib/gitlab/kubernetes/rollout_instances_spec.rb": 0.6964738540009421,8362 "spec/lib/peek/views/rugged_spec.rb": 1.1582139470010588,8363 "spec/services/dependency_proxy/auth_token_service_spec.rb": 0.7867721359998541,8364 "spec/serializers/ci/dag_pipeline_serializer_spec.rb": 1.218853542000943,8365 "spec/serializers/import/gitlab_provider_repo_entity_spec.rb": 0.695091734000016,8366 "spec/helpers/sourcegraph_helper_spec.rb": 0.6186042500012263,8367 "spec/lib/gitlab/database/migrations/observers/query_statistics_spec.rb": 0.8294703229985316,8368 "spec/lib/sidebars/projects/menus/security_compliance_menu_spec.rb": 0.8264773730006709,8369 "spec/graphql/types/permission_types/base_permission_type_spec.rb": 0.6018636019998667,8370 "spec/lib/sidebars/projects/menus/wiki_menu_spec.rb": 0.8199732029988809,8371 "spec/rubocop/cop/migration/add_timestamps_spec.rb": 0.7804610969997157,8372 "spec/lib/gitlab/metrics/samplers/puma_sampler_spec.rb": 0.7832086070011428,8373 "spec/lib/gitlab/import_export/json/ndjson_writer_spec.rb": 0.6287562100005744,8374 "spec/services/protected_tags/destroy_service_spec.rb": 0.8900065979996725,8375 "spec/lib/api/entities/ci/job_request/image_spec.rb": 0.6213759190013661,8376 "spec/views/admin/application_settings/_repository_storage.html.haml_spec.rb": 0.54805070600014,8377 "spec/services/keys/destroy_service_spec.rb": 0.8319175830001768,8378 "spec/graphql/types/issuable_type_spec.rb": 0.6710548549999658,8379 "spec/validators/future_date_validator_spec.rb": 0.7345816109991574,8380 "spec/models/bulk_imports/export_upload_spec.rb": 0.7715218980010832,8381 "spec/serializers/group_link/project_group_link_entity_spec.rb": 0.9750935410011152,8382 "spec/lib/gitlab/database/postgresql_adapter/dump_schema_versions_mixin_spec.rb": 0.5674988339997071,8383 "spec/serializers/ci/variable_entity_spec.rb": 0.7922864259999187,8384 "spec/finders/packages/composer/packages_finder_spec.rb": 1.1725180550001824,8385 "spec/models/preloaders/commit_status_preloader_spec.rb": 1.1078928799997811,8386 "spec/lib/gitlab/string_range_marker_spec.rb": 0.6406276079997042,8387 "spec/lib/bulk_imports/groups/extractors/subgroups_extractor_spec.rb": 0.648620108000614,8388 "spec/graphql/types/release_asset_link_input_type_spec.rb": 0.6477682879994973,8389 "spec/validators/html_safety_validator_spec.rb": 0.6038390020003135,8390 "spec/lib/gitlab/grape_logging/loggers/cloudflare_logger_spec.rb": 0.5549736949997168,8391 "spec/lib/gitlab/uploads_transfer_spec.rb": 0.8261706630000845,8392 "spec/lib/gitlab/github_import/importer/lfs_object_importer_spec.rb": 0.7852966660011589,8393 "spec/lib/gitlab/ci/build/port_spec.rb": 0.5831819829982123,8394 "spec/lib/gitlab/gon_helper_spec.rb": 0.6011888419998286,8395 "spec/serializers/codequality_degradation_entity_spec.rb": 0.5334590359998401,8396 "spec/workers/repository_check/clear_worker_spec.rb": 0.708127603000321,8397 "spec/lib/gitlab/kubernetes/cluster_role_binding_spec.rb": 0.5282159769994905,8398 "spec/lib/gitlab/database/postgresql_database_tasks/load_schema_versions_mixin_spec.rb": 0.5671798439998383,8399 "spec/services/emails/destroy_service_spec.rb": 0.6797746149986779,8400 "spec/lib/api/entities/projects/repository_storage_move_spec.rb": 0.6035364220006159,8401 "spec/graphql/types/container_repository_cleanup_status_enum_spec.rb": 0.6114551099999517,8402 "spec/graphql/types/packages/pypi/metadatum_type_spec.rb": 0.7085809330001211,8403 "spec/serializers/accessibility_error_entity_spec.rb": 0.5450508869998885,8404 "spec/workers/jira_connect/retry_request_worker_spec.rb": 0.7597607790012262,8405 "spec/graphql/types/packages/package_group_sort_enum_spec.rb": 0.6140478300003451,8406 "spec/helpers/startupjs_helper_spec.rb": 0.5642443249998905,8407 "spec/lib/api/entities/bulk_imports/entity_spec.rb": 0.6779622850008309,8408 "spec/graphql/types/packages/maven/metadatum_type_spec.rb": 0.5323044670003583,8409 "spec/serializers/analytics_build_serializer_spec.rb": 0.8797033489991009,8410 "spec/lib/api/validations/validators/untrusted_regexp_spec.rb": 0.5396798060010042,8411 "spec/lib/gitlab/sidekiq_middleware/duplicate_jobs/server_spec.rb": 0.599097410999093,8412 "spec/workers/cluster_wait_for_ingress_ip_address_worker_spec.rb": 0.5732076830008737,8413 "spec/serializers/rollout_statuses/ingress_entity_spec.rb": 0.6128764900004171,8414 "spec/graphql/types/packages/package_type_spec.rb": 0.57506198400005818415}8416Knapsack global time execution for tests: 21m 04s8417Pending: (Failures listed here are expected and do not affect your suite's status)8418 1) Projects::ImportExport::ExportService#execute saves the repo8419 # No reason given8420 # ./spec/services/projects/import_export/export_service_spec.rb:428421 2) Atlassian::JiraConnect::Client#store_build_info avoids N+1 database queries8423 Failure/Error:8424 httparty_perform_request(http_method, path, options_with_timeouts) do |fragment|8425 elapsed = Gitlab::Metrics::System.monotonic_time - start_time8427 if elapsed > read_total_timeout8428 error = ReadTotalTimeout.new("Request timed out after #{elapsed} seconds")8430 raise error if options[:use_read_total_timeout]8432 unless tracked_timeout_error8433 Gitlab::ErrorTracking.track_exception(error)8434 WebMock::NetConnectNotAllowedError:8435 Real HTTP connections are disabled. Unregistered request: POST https://8.8.8.9/rest/builds/0.1/bulk with body '{"providerMetadata":{"product":"GitLab 14.4.0-pre"},"builds":[{"schemaVersion":"1.0","pipelineId":"113","buildNumber":2,"updateSequenceNumber":1632306817537,"displayName":"feature/PROJ-1","url":"http://localhost/namespace755/project797/-/pipelines/114","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-1"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"feature/PROJ-1","uri":"http://localhost/namespace755/project797/-/commits/feature/PROJ-1"}}]},{"schemaVersion":"1.0","pipelineId":"114","buildNumber":3,"updateSequenceNumber":1632306817543,"displayName":"feature/PROJ-2","url":"http://localhost/namespace755/project797/-/pipelines/115","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-2"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"feature/PROJ-2","uri":"http://localhost/namespace755/project797/-/commits/feature/PROJ-2"}}]},{"schemaVersion":"1.0","pipelineId":"115","buildNumber":4,"updateSequenceNumber":1632306817549,"displayName":"my-branch-1","url":"http://localhost/namespace755/project797/-/pipelines/116","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-1"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"my-branch-1","uri":"http://localhost/namespace755/project797/-/commits/my-branch-1"}}]},{"schemaVersion":"1.0","pipelineId":"116","buildNumber":5,"updateSequenceNumber":1632306817556,"displayName":"my-branch-3","url":"http://localhost/namespace755/project797/-/pipelines/117","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-2"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"my-branch-3","uri":"http://localhost/namespace755/project797/-/commits/my-branch-3"}}]},{"schemaVersion":"1.0","pipelineId":"117","buildNumber":6,"updateSequenceNumber":1632306817562,"displayName":"my-branch-5","url":"http://localhost/namespace755/project797/-/pipelines/118","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-3"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"my-branch-5","uri":"http://localhost/namespace755/project797/-/commits/my-branch-5"}}]},{"schemaVersion":"1.0","pipelineId":"118","buildNumber":7,"updateSequenceNumber":1632306817568,"displayName":"my-branch-7","url":"http://localhost/namespace755/project797/-/pipelines/119","state":"pending","lastUpdated":"2021-09-22T10:33:33Z","issueKeys":["PROJ-4"],"testInfo":{"totalNumber":0,"numberPassed":0,"numberFailed":0,"numberSkipped":0},"references":[{"commit":{"id":"b83d6e391c22777fca1ed3012fce84f633d7fed0","repositoryUri":"http://localhost/namespace755/project797"},"ref":{"name":"my-branch-7","uri":"http://localhost/namespace755/project797/-/commits/my-branch-7"}}]}]}' with headers {'Accept'=>'application/json', 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxNywiZXhwIjoxNjMyMzA2ODc3LCJxc2giOiIwOTQ3ZjViYzA1ZjJjNDcyOGJjMmUzOTA1MDg5OTUxYTRhYTYwMTc3MmE3OTI2OGFhOTgzZTJlZjg4MWI3OWZmIn0.s-zxZh6d07AejSjkHx4qPxmPP6xvza8FxKXYxS2L56Q', 'Content-Type'=>'application/json'}8436 You can stub this request with the following snippet:8437 stub_request(:post, "https://8.8.8.9/rest/builds/0.1/bulk").8438 with(8439 body: "{\"providerMetadata\":{\"product\":\"GitLab 14.4.0-pre\"},\"builds\":[{\"schemaVersion\":\"1.0\",\"pipelineId\":\"113\",\"buildNumber\":2,\"updateSequenceNumber\":1632306817537,\"displayName\":\"feature/PROJ-1\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/114\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-1\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"feature/PROJ-1\",\"uri\":\"http://localhost/namespace755/project797/-/commits/feature/PROJ-1\"}}]},{\"schemaVersion\":\"1.0\",\"pipelineId\":\"114\",\"buildNumber\":3,\"updateSequenceNumber\":1632306817543,\"displayName\":\"feature/PROJ-2\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/115\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-2\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"feature/PROJ-2\",\"uri\":\"http://localhost/namespace755/project797/-/commits/feature/PROJ-2\"}}]},{\"schemaVersion\":\"1.0\",\"pipelineId\":\"115\",\"buildNumber\":4,\"updateSequenceNumber\":1632306817549,\"displayName\":\"my-branch-1\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/116\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-1\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"my-branch-1\",\"uri\":\"http://localhost/namespace755/project797/-/commits/my-branch-1\"}}]},{\"schemaVersion\":\"1.0\",\"pipelineId\":\"116\",\"buildNumber\":5,\"updateSequenceNumber\":1632306817556,\"displayName\":\"my-branch-3\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/117\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-2\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"my-branch-3\",\"uri\":\"http://localhost/namespace755/project797/-/commits/my-branch-3\"}}]},{\"schemaVersion\":\"1.0\",\"pipelineId\":\"117\",\"buildNumber\":6,\"updateSequenceNumber\":1632306817562,\"displayName\":\"my-branch-5\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/118\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-3\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"my-branch-5\",\"uri\":\"http://localhost/namespace755/project797/-/commits/my-branch-5\"}}]},{\"schemaVersion\":\"1.0\",\"pipelineId\":\"118\",\"buildNumber\":7,\"updateSequenceNumber\":1632306817568,\"displayName\":\"my-branch-7\",\"url\":\"http://localhost/namespace755/project797/-/pipelines/119\",\"state\":\"pending\",\"lastUpdated\":\"2021-09-22T10:33:33Z\",\"issueKeys\":[\"PROJ-4\"],\"testInfo\":{\"totalNumber\":0,\"numberPassed\":0,\"numberFailed\":0,\"numberSkipped\":0},\"references\":[{\"commit\":{\"id\":\"b83d6e391c22777fca1ed3012fce84f633d7fed0\",\"repositoryUri\":\"http://localhost/namespace755/project797\"},\"ref\":{\"name\":\"my-branch-7\",\"uri\":\"http://localhost/namespace755/project797/-/commits/my-branch-7\"}}]}]}",8440 headers: {8441 'Accept'=>'application/json',8442 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxNywiZXhwIjoxNjMyMzA2ODc3LCJxc2giOiIwOTQ3ZjViYzA1ZjJjNDcyOGJjMmUzOTA1MDg5OTUxYTRhYTYwMTc3MmE3OTI2OGFhOTgzZTJlZjg4MWI3OWZmIn0.s-zxZh6d07AejSjkHx4qPxmPP6xvza8FxKXYxS2L56Q',8443 'Content-Type'=>'application/json'8444 }).8445 to_return(status: 200, body: "", headers: {})8446 registered request stubs:8447 stub_request(:post, "https://8.8.8.9/rest/builds/0.1/bulk").8448 with(8449 body: #<Proc:0x00007fa2dc12c358 /builds/gitlab-org/gitlab/spec/lib/atlassian/jira_connect/client_spec.rb:316 (lambda)>,8450 headers: {8451 'Authorization'=>'JWT eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRsYWItamlyYS1jb25uZWN0LWxvY2FsaG9zdCIsImlhdCI6MTYzMjMwNjgxNiwiZXhwIjoxNjMyMzA2ODc2LCJxc2giOiIwOTQ3ZjViYzA1ZjJjNDcyOGJjMmUzOTA1MDg5OTUxYTRhYTYwMTc3MmE3OTI2OGFhOTgzZTJlZjg4MWI3OWZmIn0.9fPwzvGTOPV1wLEJTSfnkVpdD4ddc1BObb5qSo8vigg',8452 'Content-Type'=>'application/json'8453 })8454 ============================================================8455 # ./lib/gitlab/http.rb:56:in `perform_request'8456 # ./lib/atlassian/jira_connect/client.rb:112:in `post'8457 # ./lib/atlassian/jira_connect/client.rb:92:in `store_build_info'8458 # ./spec/lib/atlassian/jira_connect/client_spec.rb:374:in `block (4 levels) in <top (required)>'8459 # ./spec/support/helpers/query_recorder.rb:23:in `block in record'8460 # ./lib/gitlab/database/load_balancing/connection_proxy.rb:119:in `block in write_using_load_balancer'8461 # ./lib/gitlab/database/load_balancing/load_balancer.rb:103:in `block in read_write'8462 # ./lib/gitlab/database/load_balancing/load_balancer.rb:159:in `retry_with_backoff'8463 # ./lib/gitlab/database/load_balancing/load_balancer.rb:101:in `read_write'8464 # ./lib/gitlab/database/load_balancing/connection_proxy.rb:118:in `write_using_load_balancer'8465 # ./lib/gitlab/database/load_balancing/connection_proxy.rb:88:in `method_missing'8466 # ./spec/support/helpers/query_recorder.rb:22:in `record'8467 # ./spec/support/helpers/query_recorder.rb:17:in `initialize'8468 # ./spec/support/matchers/exceed_query_limit.rb:68:in `new'8469 # ./spec/support/matchers/exceed_query_limit.rb:68:in `recorder'8470 # ./spec/support/matchers/exceed_query_limit.rb:51:in `actual_count'8471 # ./spec/support/matchers/exceed_query_limit.rb:162:in `verify_count'8472 # ./spec/support/matchers/exceed_query_limit.rb:326:in `block (2 levels) in <top (required)>'8473 # ./spec/lib/atlassian/jira_connect/client_spec.rb:374:in `block (3 levels) in <top (required)>'8474 # ./spec/spec_helper.rb:404:in `block (3 levels) in <top (required)>'8475 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'8476 # ./spec/spec_helper.rb:395:in `block (2 levels) in <top (required)>'8477 # ./spec/spec_helper.rb:391:in `block (3 levels) in <top (required)>'8478 # ./lib/gitlab/application_context.rb:31:in `with_raw_context'8479 # ./spec/spec_helper.rb:391:in `block (2 levels) in <top (required)>'8480 # ./spec/support/database/prevent_cross_joins.rb:95:in `block (3 levels) in <top (required)>'8481 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8482 # ./spec/support/database/prevent_cross_joins.rb:95:in `block (2 levels) in <top (required)>'8483 3) Pages::DeploymentUploader behaves like builds correct paths #upload_path behaves like matches the method pattern 8484 # No pattern provided, skipping.8485 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88486 4) Pages::DeploymentUploader behaves like builds correct paths #relative_path is relative8487 # Path not set, skipping.8488 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408489 5) Pages::DeploymentUploader behaves like builds correct paths .absolute_path behaves like matches the method pattern 8490 # No pattern provided, skipping.8491 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88492 6) Pages::DeploymentUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 8493 # No pattern provided, skipping.8494 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88495 7) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 8496 # No pattern provided, skipping.8497 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88498 8) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 8499 # No pattern provided, skipping.8500 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88501 9) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #upload_path behaves like matches the method pattern 8502 # No pattern provided, skipping.8503 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88504 10) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths #relative_path is relative8505 # Path not set, skipping.8506 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:408507 11) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 8508 # No pattern provided, skipping.8509 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88510 12) Pages::DeploymentUploader when object store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 8511 # No pattern provided, skipping.8512 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:88513Finished in 21 minutes 6 seconds (files took 54.89 seconds to load)85143709 examples, 0 failures, 12 pending8515Wed 22 Sep 2021 10:41:21 AM UTC8517Not uploading cache ruby-gems-v1-4 due to policy8518Not uploading cache gitaly-ruby-gems-v1-4 due to policy8520Uploading artifacts...8521coverage/: found 5 matching files and directories 8522WARNING: crystalball/: no matching files 8523deprecations/: found 4 matching files and directories 8524knapsack/: found 3 matching files and directories 8525rspec_flaky/: found 4 matching files and directories 8526rspec_profiling/: found 1 matching files and directories 8527WARNING: tmp/capybara/: no matching files 8528tmp/memory_test/: found 2 matching files and directories 8529log/*.log: found 17 matching files and directories 8530Uploading artifacts as "archive" to coordinator... ok id=1612163268 responseStatus=201 Created token=sKwcJxvr8531Uploading artifacts...8532junit_rspec.xml: found 1 matching files and directories 8533Uploading artifacts as "junit" to coordinator... ok id=1612163268 responseStatus=201 Created token=sKwcJxvr8535Job succeeded