rspec unit pg12 single-db 17/22
Passed Started
by
@leetickett

Lee Tickett
1remote: Compressing objects: 100% (81018/81018), done. 2remote: Total 115982 (delta 48513), reused 75495 (delta 30560), pack-reused 0 3Receiving objects: 100% (115982/115982), 108.44 MiB | 28.66 MiB/s, done.4Resolving deltas: 100% (48513/48513), done.6 * [new ref] refs/pipelines/579176392 -> refs/pipelines/5791763927Checking out 204b4379 as refs/merge-requests/91556/merge...8Skipping Git submodules setup9$ git remote set-url origin "${CI_REPOSITORY_URL}"11Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...12Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-10 13Successfully extracted cache14Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...15Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 16Successfully extracted cache18Downloading artifacts for compile-test-assets (2673336706)...19Downloading artifacts from coordinator... ok id=2673336706 responseStatus=200 OK token=eVKP-MHv20Downloading artifacts for detect-tests (2673336715)...21Downloading artifacts from coordinator... ok id=2673336715 responseStatus=200 OK token=eVKP-MHv22Downloading artifacts for retrieve-tests-metadata (2673336722)...23Downloading artifacts from coordinator... ok id=2673336722 responseStatus=200 OK token=eVKP-MHv24Downloading artifacts for setup-test-env (2673336712)...25Downloading artifacts from coordinator... ok id=2673336712 responseStatus=200 OK token=eVKP-MHv27Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...28$ echo $FOSS_ONLY29$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb30$ export GOPATH=$CI_PROJECT_DIR/.go31$ mkdir -p $GOPATH32$ source scripts/utils.sh33$ source scripts/prepare_build.sh343.2.3335Bundler version 2.2.3336Successfully installed bundler-2.3.15371 gem installed38production:development39Settings are listed in order of priority. The top value will be used.40clean41Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true42frozen43Set via BUNDLE_FROZEN: true44install_flags45Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"46path47Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"48without49Set via BUNDLE_WITHOUT: [:production, :development]50$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check51Don't run Bundler as root. Bundler can ask for sudo if it is needed, and52installing your bundle as root will break this application for all non-root53users on this machine.54The Gemfile's dependencies are satisfied55==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 1 seconds.56$ bundle pristine pg57Installing pg 1.3.5 with native extensions58==> 'bundle pristine pg' succeeded in 10 seconds.59$ setup_db_user_only60CREATE ROLE61GRANT62==> 'setup_db_user_only' succeeded in 0 seconds.63$ bundle exec rake db:drop db:create db:schema:load db:migrate64Dropped database 'gitlabhq_test'65Dropped database 'gitlabhq_geo_test'66Created database 'gitlabhq_test'67Created database 'gitlabhq_geo_test'68==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 27 seconds.69$ setup_db_praefect70SELECT pg_catalog.set_config('search_path', '', false);71CREATE DATABASE praefect_test ENCODING 'UTF8';72==> 'setup_db_praefect' succeeded in 0 seconds.73$ run_timed_command "gem install knapsack --no-document"74$ gem install knapsack --no-document75Successfully installed knapsack-4.0.0761 gem installed77==> 'gem install knapsack --no-document' succeeded in 1 seconds.78$ run_timed_command "scripts/gitaly-test-spawn"79$ scripts/gitaly-test-spawn80find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory81Don't run Bundler as root. Bundler can ask for sudo if it is needed, and82installing your bundle as root will break this application for all non-root83users on this machine.84Using abstract_type 0.0.785Using concurrent-ruby 1.1.1086Using i18n 1.10.087Using minitest 5.15.088Using tzinfo 2.0.489Using zeitwerk 2.5.490Using activesupport 6.1.4.791Using builder 3.2.492Using erubi 1.10.093Using mini_portile2 2.8.094Using racc 1.6.095Using nokogiri 1.13.6 (x86_64-linux)96Using rails-dom-testing 2.0.397Using crass 1.0.698Using loofah 2.16.099Using rails-html-sanitizer 1.4.2100Using actionview 6.1.4.7101Using rack 2.2.3102Using rack-test 1.1.0103Using actionpack 6.1.4.7104Using ice_nine 0.11.2105Using thread_safe 0.3.6106Using memoizable 0.4.2107Using adamantium 0.2.0108Using public_suffix 4.0.6109Using addressable 2.7.0110Using ast 2.4.2111Using binding_ninja 0.2.3112Using bundler 2.3.15113Using charlock_holmes 0.7.7114Using coderay 1.1.2115Using equalizer 0.0.11116Using concord 0.1.5117Using diff-lcs 1.3118Using dotenv 2.7.6119Using escape_utils 1.2.1120Using factory_bot 5.0.2121Using multipart-post 2.1.1122Using faraday 1.0.1123Using ffi 1.15.3124Using json 2.5.1125Using gemojione 3.3.0126Using mini_mime 1.0.2127Using rugged 1.2.0128Using github-linguist 7.12.1129Using github-markup 1.7.0130Using mime-types-data 3.2020.1104131Using mime-types 3.3.1132Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1133Using rouge 3.27.0134Using sanitize 6.0.0135Using stringex 2.8.5136Using gitlab-gollum-lib 4.2.7.10.gitlab.2137Using google-protobuf 3.19.1 (x86_64-linux)138Using googleapis-common-protos-types 1.3.0139Using grpc 1.42.0 (x86_64-linux)140Using opentracing 0.5.0141Using thrift 0.15.0142Using jaeger-client 1.1.0143Using pg_query 2.1.1144Using redis 4.4.0145Using gitlab-labkit 0.23.0146Using rubyzip 2.3.2147Using thor 1.1.0148Using tomlrb 2.0.1149Using with_env 1.1.0150Using rexml 3.2.5151Using xml-simple 1.1.9152Using gitlab-license_finder 6.14.2.1153Using gitlab-markup 1.7.1154Using grpc-tools 1.42.0155Using sawyer 0.8.2156Using octokit 4.20.0157Using reverse_markdown 1.4.0158Using licensee 9.14.1159Using method_source 0.9.2160Using msgpack 1.3.3161Using optimist 3.0.1162Using parallel 1.19.2163Using parser 3.0.3.2164Using procto 0.0.3165Using unparser 0.4.7166Using proc_to_ast 0.1.0167Using pry 0.12.2168Using rainbow 3.0.0169Using rbtrace 0.4.14170Using rdoc 6.3.2171Using regexp_parser 1.8.1172Using rspec-support 3.8.0173Using rspec-core 3.8.0174Using rspec-expectations 3.8.3175Using rspec-mocks 3.8.0176Using rspec 3.8.0177Using rspec-parameterized 0.4.2178Using rubocop-ast 0.2.0179Using ruby-progressbar 1.10.1180Using unicode-display_width 1.7.0181Using rubocop 0.86.0182Using sentry-raven 3.0.4183Using timecop 0.9.1184Bundle complete! 22 Gemfile dependencies, 100 gems now installed.185Gems in the groups 'production' and 'development' were not installed.186Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`187Checking gitaly-ruby Gemfile...188Checking gitaly-ruby bundle...189The Gemfile's dependencies are satisfied190Trying to connect to gitaly: ............................................. OK191Trying to connect to gitaly2: ........................................................ OK192Starting Praefect with in-memory election strategyTrying to connect to praefect: ......... OK193$ source ./scripts/rspec_helpers.sh194==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.195$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"196SKIP_FLAKY_TESTS_AUTOMATICALLY: true197RETRY_FAILED_TESTS_IN_NEW_PROCESS: true198KNAPSACK_GENERATE_REPORT: true199FLAKY_RSPEC_GENERATE_REPORT: true200KNAPSACK_TEST_FILE_PATTERN: spec/{bin,channels,config,db,dependencies,elastic,elastic_integration,experiments,events,factories,finders,frontend,graphql,haml_lint,helpers,initializers,lib,metrics_server,models,policies,presenters,rack_servers,replicators,routing,rubocop,scripts,serializers,services,sidekiq,sidekiq_cluster,spam,support_specs,tasks,uploaders,validators,views,workers,tooling,components}{,/**/}*_spec.rb201KNAPSACK_LOG_LEVEL: debug202KNAPSACK_REPORT_PATH: knapsack/rspec_unit_pg12_single-db_17_22_report.json203FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json204FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_unit_pg12_single-db_17_22_report.json205NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_unit_pg12_single-db_17_22_report.json206SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_unit_pg12_single-db_17_22_report.txt207RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_unit_pg12_single-db_17_22_report.txt208CRYSTALBALL: 209Knapsack node specs:210spec/policies/project_policy_spec.rb211spec/lib/gitlab/git_access_spec.rb212spec/models/issue_spec.rb213spec/models/clusters/applications/jupyter_spec.rb214spec/services/web_hooks/log_execution_service_spec.rb215spec/policies/group_policy_spec.rb216spec/services/merge_requests/squash_service_spec.rb217spec/presenters/projects/security/configuration_presenter_spec.rb218spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb219spec/lib/gitlab/usage/service_ping_report_spec.rb220spec/lib/gitlab/background_migration/update_timelogs_project_id_spec.rb221spec/lib/gitlab/background_migration/move_container_registry_enabled_to_project_feature_spec.rb222spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb223spec/helpers/integrations_helper_spec.rb224spec/serializers/ci/job_entity_spec.rb225spec/lib/gitlab/gpg/commit_spec.rb226spec/lib/gitlab/graphql/pagination/keyset/connection_generic_keyset_spec.rb227spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb228spec/models/integrations/jenkins_spec.rb229spec/services/verify_pages_domain_service_spec.rb230spec/services/deployments/update_environment_service_spec.rb231spec/tasks/gitlab/db/validate_config_rake_spec.rb232spec/services/search_service_spec.rb233spec/serializers/diffs_entity_spec.rb234spec/services/web_hook_service_spec.rb235spec/services/projects/lfs_pointers/lfs_download_service_spec.rb236spec/services/environments/stop_service_spec.rb237spec/finders/clusters/knative_services_finder_spec.rb238spec/lib/gitlab/email/message/repository_push_spec.rb239spec/policies/group_member_policy_spec.rb240spec/models/clusters/agent_spec.rb241spec/graphql/mutations/merge_requests/accept_spec.rb242spec/models/concerns/deprecated_assignee_spec.rb243spec/finders/clusters/kubernetes_namespace_finder_spec.rb244spec/routing/import_routing_spec.rb245spec/finders/pending_todos_finder_spec.rb246spec/lib/gitlab/database/background_migration/batched_migration_spec.rb247spec/services/git/tag_hooks_service_spec.rb248spec/services/snippets/destroy_service_spec.rb249spec/helpers/auto_devops_helper_spec.rb250spec/uploaders/namespace_file_uploader_spec.rb251spec/lib/gitlab_spec.rb252spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb253spec/services/notification_recipients/build_service_spec.rb254spec/lib/gitlab/encoding_helper_spec.rb255spec/tasks/gitlab/ldap_rake_spec.rb256spec/services/projects/operations/update_service_spec.rb257spec/lib/gitlab/gitaly_client/operation_service_spec.rb258spec/services/clusters/management/validate_management_project_permissions_service_spec.rb259spec/presenters/group_clusterable_presenter_spec.rb260spec/lib/gitlab/sidekiq_status_spec.rb261spec/models/concerns/schedulable_spec.rb262spec/models/integrations/chat_message/pipeline_message_spec.rb263spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb264spec/tasks/gitlab/cleanup_rake_spec.rb265spec/lib/gitlab/runtime_spec.rb266spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb267spec/services/merge_requests/request_review_service_spec.rb268spec/lib/gitlab/optimistic_locking_spec.rb269spec/graphql/mutations/release_asset_links/update_spec.rb270spec/services/deployments/update_service_spec.rb271spec/serializers/diff_file_base_entity_spec.rb272spec/services/clusters/applications/install_service_spec.rb273spec/lib/gitlab/ci/trace/archive_spec.rb274spec/serializers/discussion_entity_spec.rb275spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb276spec/presenters/snippet_presenter_spec.rb277spec/models/concerns/ci/artifactable_spec.rb278spec/services/files/create_service_spec.rb279spec/serializers/cluster_application_entity_spec.rb280spec/lib/gitlab/ci/variables/collection/sort_spec.rb281spec/services/ci/play_bridge_service_spec.rb282spec/finders/feature_flags_finder_spec.rb283spec/policies/work_item_policy_spec.rb284spec/models/concerns/project_features_compatibility_spec.rb285spec/models/issue_collection_spec.rb286spec/models/concerns/manual_inverse_association_spec.rb287spec/services/projects/deploy_tokens/create_service_spec.rb288spec/finders/user_group_notification_settings_finder_spec.rb289spec/lib/banzai/filter/custom_emoji_filter_spec.rb290spec/policies/clusters/instance_policy_spec.rb291spec/lib/gitlab/database/transaction/context_spec.rb292spec/lib/gitlab/lfs_token_spec.rb293spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb294spec/workers/gitlab/phabricator_import/base_worker_spec.rb295spec/services/merge_requests/bulk_remove_attention_requested_service_spec.rb296spec/lib/gitlab/middleware/handle_malformed_strings_spec.rb297spec/lib/gitlab/ci/reports/security/identifier_spec.rb298spec/lib/gitlab/ci/config/entry/artifacts_spec.rb299spec/lib/gitlab/gl_repository/identifier_spec.rb300spec/services/metrics/dashboard/system_dashboard_service_spec.rb301spec/presenters/gitlab/blame_presenter_spec.rb302spec/models/bulk_imports/export_status_spec.rb303spec/services/service_response_spec.rb304spec/helpers/learn_gitlab_helper_spec.rb305spec/lib/gitlab/data_builder/deployment_spec.rb306spec/models/packages/dependency_spec.rb307spec/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver_spec.rb308spec/lib/gitlab/ci/runner_instructions_spec.rb309spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb310spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb311spec/policies/terraform/state_version_policy_spec.rb312spec/finders/ci/daily_build_group_report_results_finder_spec.rb313spec/services/update_merge_request_metrics_service_spec.rb314spec/policies/clusters/agent_token_policy_spec.rb315spec/graphql/types/user_merge_request_interaction_type_spec.rb316spec/helpers/ci/pipeline_editor_helper_spec.rb317spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb318spec/views/shared/notes/_form.html.haml_spec.rb319spec/lib/gitlab/route_map_spec.rb320spec/lib/gitlab/diff/file_collection/compare_spec.rb321spec/lib/gitlab/tracking/incident_management_spec.rb322spec/models/concerns/sha_attribute_spec.rb323spec/lib/gitlab/identifier_spec.rb324spec/lib/gitlab/protocol_access_spec.rb325spec/services/projects/group_links/create_service_spec.rb326spec/services/work_items/delete_task_service_spec.rb327spec/helpers/sidekiq_helper_spec.rb328spec/presenters/ci/group_variable_presenter_spec.rb329spec/services/members/unassign_issuables_service_spec.rb330spec/lib/gitlab/email/hook/validate_addresses_interceptor_spec.rb331spec/lib/gitlab/http_connection_adapter_spec.rb332spec/services/bulk_update_integration_service_spec.rb333spec/services/alert_management/http_integrations/update_service_spec.rb334spec/models/project_deploy_token_spec.rb335spec/serializers/diff_file_metadata_entity_spec.rb336spec/services/work_items/create_service_spec.rb337spec/lib/gitlab/sql/union_spec.rb338spec/sidekiq_cluster/sidekiq_cluster_spec.rb339spec/workers/namespaces/schedule_aggregation_worker_spec.rb340spec/services/alert_management/metric_images/upload_service_spec.rb341spec/tooling/graphql/docs/renderer_spec.rb342spec/lib/gitlab/metrics/dashboard/importers/prometheus_metrics_spec.rb343spec/graphql/resolvers/users/participants_resolver_spec.rb344spec/lib/gitlab/graphs/commits_spec.rb345spec/services/packages/mark_package_files_for_destruction_service_spec.rb346spec/lib/gitlab/git/blame_spec.rb347spec/services/clusters/aws/provision_service_spec.rb348spec/models/snippet_blob_spec.rb349spec/lib/gitlab/sql/except_spec.rb350spec/lib/gitlab/github_import/single_endpoint_notes_importing_spec.rb351spec/initializers/validate_database_config_spec.rb352spec/lib/gitlab/prometheus/metric_group_spec.rb353spec/rubocop/cop/avoid_return_from_blocks_spec.rb354spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb355spec/services/concerns/merge_requests/assigns_merge_params_spec.rb356spec/lib/gitlab/github_import/milestone_finder_spec.rb357spec/lib/gitlab/graphql/authorize/object_authorization_spec.rb358spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb359spec/workers/metrics/dashboard/sync_dashboards_worker_spec.rb360spec/lib/gitlab/import_export/uploads_restorer_spec.rb361spec/models/aws/role_spec.rb362spec/lib/gitlab/setup_helper/workhorse_spec.rb363spec/services/award_emojis/collect_user_emoji_service_spec.rb364spec/lib/api/ci/helpers/runner_spec.rb365spec/views/shared/issuable/_sidebar.html.haml_spec.rb366spec/experiments/in_product_guidance_environments_webide_experiment_spec.rb367spec/models/namespace/admin_note_spec.rb368spec/lib/gitlab/git/patches/commit_patches_spec.rb369spec/lib/gitlab/database/load_balancing/primary_host_spec.rb370spec/models/users/group_callout_spec.rb371spec/finders/packages/package_finder_spec.rb372spec/serializers/ci/dag_stage_entity_spec.rb373spec/lib/feature/gitaly_spec.rb374spec/policies/release_policy_spec.rb375spec/validators/system_hook_url_validator_spec.rb376spec/services/snippets/update_repository_storage_service_spec.rb377spec/lib/gitlab/ci/config/entry/product/variables_spec.rb378spec/serializers/merge_request_for_pipeline_entity_spec.rb379spec/serializers/merge_requests/pipeline_entity_spec.rb380spec/graphql/resolvers/crm/organizations_resolver_spec.rb381spec/presenters/packages/nuget/packages_versions_presenter_spec.rb382spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb383spec/lib/api/entities/deployment_extended_spec.rb384spec/lib/gitlab/marker_range_spec.rb385spec/rubocop/cop/migration/datetime_spec.rb386spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb387spec/finders/repositories/changelog_commits_finder_spec.rb388spec/lib/gitlab/github_import/representation/diff_notes/suggestion_formatter_spec.rb389spec/lib/gitlab/cross_project_access/class_methods_spec.rb390spec/workers/ci/build_schedule_worker_spec.rb391spec/services/boards/visits/create_service_spec.rb392spec/models/ci/build_trace_spec.rb393spec/lib/gitlab/exceptions_app_spec.rb394spec/models/application_setting/term_spec.rb395spec/graphql/types/project_member_type_spec.rb396spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb397spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb398spec/lib/gitlab/auth/crowd/authentication_spec.rb399spec/lib/bitbucket_server/collection_spec.rb400spec/lib/gitlab/middleware/basic_health_check_spec.rb401spec/graphql/types/blob_viewers/type_enum_spec.rb402spec/lib/gitlab/ci/status/pending_spec.rb403spec/workers/auto_merge_process_worker_spec.rb404spec/services/ci/pipeline_creation/start_pipeline_service_spec.rb405spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb406spec/rubocop/cop/performance/ar_exists_and_present_blank_spec.rb407spec/services/import/bitbucket_server_service_spec.rb408spec/rubocop/cop/gitlab/duplicate_spec_location_spec.rb409spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb410spec/services/product_analytics/build_graph_service_spec.rb411spec/serializers/analytics_build_serializer_spec.rb412spec/workers/projects/update_repository_storage_worker_spec.rb413spec/lib/gitlab/health_checks/master_check_spec.rb414spec/workers/integrations/execute_worker_spec.rb415spec/lib/gitlab/ci/status/manual_spec.rb416spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb417spec/lib/gitlab/github_import/label_finder_spec.rb418spec/services/packages/create_temporary_package_service_spec.rb419spec/workers/namespaces/prune_aggregation_schedules_worker_spec.rb420spec/lib/gitlab/github_import/importer/diff_notes_importer_spec.rb421spec/lib/gitlab/search/abuse_validators/no_abusive_term_length_validator_spec.rb422spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb423spec/services/projects/batch_open_issues_count_service_spec.rb424spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb425spec/workers/update_merge_requests_worker_spec.rb426spec/services/protected_tags/create_service_spec.rb427spec/lib/gitlab/dependency_linker/cargo_toml_linker_spec.rb428spec/presenters/dev_ops_report/metric_presenter_spec.rb429spec/helpers/timeboxes_routing_helper_spec.rb430spec/serializers/import/bulk_import_entity_spec.rb431spec/lib/gitlab/analytics/cycle_analytics/sorting_spec.rb432spec/workers/approve_blocked_pending_approval_users_worker_spec.rb433spec/lib/serializers/symbolized_json_spec.rb434spec/lib/banzai/filter/output_safety_spec.rb435spec/graphql/types/issuable_searchable_field_enum_spec.rb436spec/models/group_deploy_keys_group_spec.rb437spec/rubocop/cop/active_record_association_reload_spec.rb438spec/lib/gitlab/database/schema_cleaner_spec.rb439spec/db/development/import_common_metrics_spec.rb440spec/graphql/types/packages/conan/metadatum_file_type_enum_spec.rb441spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb442spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb443spec/helpers/access_tokens_helper_spec.rb444spec/serializers/merge_request_basic_entity_spec.rb445spec/serializers/analytics_issue_serializer_spec.rb446spec/rubocop/cop/gitlab/union_spec.rb447spec/initializers/rails_asset_host_spec.rb448spec/graphql/types/container_repository_sort_enum_spec.rb449spec/lib/gitlab/pagination/keyset/in_operator_optimization/column_data_spec.rb450spec/lib/gitlab/pagination/offset_header_builder_spec.rb451spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb452spec/workers/todos_destroyer/group_private_worker_spec.rb453spec/workers/propagate_integration_worker_spec.rb454spec/graphql/resolvers/package_details_resolver_spec.rb455spec/services/user_preferences/update_service_spec.rb456spec/helpers/deploy_tokens_helper_spec.rb457spec/lib/gitlab/error_tracking/logger_spec.rb458spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb459spec/lib/gitlab/database/consistency_spec.rb460spec/graphql/types/branch_type_spec.rb461spec/lib/gitlab/slash_commands/presenters/error_spec.rb462spec/lib/gitlab/i18n/metadata_entry_spec.rb463spec/lib/banzai/filter/html_entity_filter_spec.rb464spec/graphql/types/permission_types/work_item_spec.rb465spec/graphql/types/blob_viewer_type_spec.rb466spec/graphql/types/permission_types/merge_request_type_spec.rb467spec/models/blob_viewer/podspec_json_spec.rb468spec/experiments/video_tutorials_continuous_onboarding_experiment_spec.rb469Filter specs:470Running specs:471Running all node tests without filter472spec/policies/project_policy_spec.rb473spec/lib/gitlab/git_access_spec.rb474spec/models/issue_spec.rb475spec/models/clusters/applications/jupyter_spec.rb476spec/services/web_hooks/log_execution_service_spec.rb477spec/policies/group_policy_spec.rb478spec/services/merge_requests/squash_service_spec.rb479spec/presenters/projects/security/configuration_presenter_spec.rb480spec/lib/gitlab/background_migration/backfill_jira_tracker_deployment_type2_spec.rb481spec/lib/gitlab/usage/service_ping_report_spec.rb482spec/lib/gitlab/background_migration/update_timelogs_project_id_spec.rb483spec/lib/gitlab/background_migration/move_container_registry_enabled_to_project_feature_spec.rb484spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb485spec/helpers/integrations_helper_spec.rb486spec/serializers/ci/job_entity_spec.rb487spec/lib/gitlab/gpg/commit_spec.rb488spec/lib/gitlab/graphql/pagination/keyset/connection_generic_keyset_spec.rb489spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb490spec/models/integrations/jenkins_spec.rb491spec/services/verify_pages_domain_service_spec.rb492spec/services/deployments/update_environment_service_spec.rb493spec/tasks/gitlab/db/validate_config_rake_spec.rb494spec/services/search_service_spec.rb495spec/serializers/diffs_entity_spec.rb496spec/services/web_hook_service_spec.rb497spec/services/projects/lfs_pointers/lfs_download_service_spec.rb498spec/services/environments/stop_service_spec.rb499spec/finders/clusters/knative_services_finder_spec.rb500spec/lib/gitlab/email/message/repository_push_spec.rb501spec/policies/group_member_policy_spec.rb502spec/models/clusters/agent_spec.rb503spec/graphql/mutations/merge_requests/accept_spec.rb504spec/models/concerns/deprecated_assignee_spec.rb505spec/finders/clusters/kubernetes_namespace_finder_spec.rb506spec/routing/import_routing_spec.rb507spec/finders/pending_todos_finder_spec.rb508spec/lib/gitlab/database/background_migration/batched_migration_spec.rb509spec/services/git/tag_hooks_service_spec.rb510spec/services/snippets/destroy_service_spec.rb511spec/helpers/auto_devops_helper_spec.rb512spec/uploaders/namespace_file_uploader_spec.rb513spec/lib/gitlab_spec.rb514spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb515spec/services/notification_recipients/build_service_spec.rb516spec/lib/gitlab/encoding_helper_spec.rb517spec/tasks/gitlab/ldap_rake_spec.rb518spec/services/projects/operations/update_service_spec.rb519spec/lib/gitlab/gitaly_client/operation_service_spec.rb520spec/services/clusters/management/validate_management_project_permissions_service_spec.rb521spec/presenters/group_clusterable_presenter_spec.rb522spec/lib/gitlab/sidekiq_status_spec.rb523spec/models/concerns/schedulable_spec.rb524spec/models/integrations/chat_message/pipeline_message_spec.rb525spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb526spec/tasks/gitlab/cleanup_rake_spec.rb527spec/lib/gitlab/runtime_spec.rb528spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb529spec/services/merge_requests/request_review_service_spec.rb530spec/lib/gitlab/optimistic_locking_spec.rb531spec/graphql/mutations/release_asset_links/update_spec.rb532spec/services/deployments/update_service_spec.rb533spec/serializers/diff_file_base_entity_spec.rb534spec/services/clusters/applications/install_service_spec.rb535spec/lib/gitlab/ci/trace/archive_spec.rb536spec/serializers/discussion_entity_spec.rb537spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb538spec/presenters/snippet_presenter_spec.rb539spec/models/concerns/ci/artifactable_spec.rb540spec/services/files/create_service_spec.rb541spec/serializers/cluster_application_entity_spec.rb542spec/lib/gitlab/ci/variables/collection/sort_spec.rb543spec/services/ci/play_bridge_service_spec.rb544spec/finders/feature_flags_finder_spec.rb545spec/policies/work_item_policy_spec.rb546spec/models/concerns/project_features_compatibility_spec.rb547spec/models/issue_collection_spec.rb548spec/models/concerns/manual_inverse_association_spec.rb549spec/services/projects/deploy_tokens/create_service_spec.rb550spec/finders/user_group_notification_settings_finder_spec.rb551spec/lib/banzai/filter/custom_emoji_filter_spec.rb552spec/policies/clusters/instance_policy_spec.rb553spec/lib/gitlab/database/transaction/context_spec.rb554spec/lib/gitlab/lfs_token_spec.rb555spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb556spec/workers/gitlab/phabricator_import/base_worker_spec.rb557spec/services/merge_requests/bulk_remove_attention_requested_service_spec.rb558spec/lib/gitlab/middleware/handle_malformed_strings_spec.rb559spec/lib/gitlab/ci/reports/security/identifier_spec.rb560spec/lib/gitlab/ci/config/entry/artifacts_spec.rb561spec/lib/gitlab/gl_repository/identifier_spec.rb562spec/services/metrics/dashboard/system_dashboard_service_spec.rb563spec/presenters/gitlab/blame_presenter_spec.rb564spec/models/bulk_imports/export_status_spec.rb565spec/services/service_response_spec.rb566spec/helpers/learn_gitlab_helper_spec.rb567spec/lib/gitlab/data_builder/deployment_spec.rb568spec/models/packages/dependency_spec.rb569spec/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver_spec.rb570spec/lib/gitlab/ci/runner_instructions_spec.rb571spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb572spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb573spec/policies/terraform/state_version_policy_spec.rb574spec/finders/ci/daily_build_group_report_results_finder_spec.rb575spec/services/update_merge_request_metrics_service_spec.rb576spec/policies/clusters/agent_token_policy_spec.rb577spec/graphql/types/user_merge_request_interaction_type_spec.rb578spec/helpers/ci/pipeline_editor_helper_spec.rb579spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb580spec/views/shared/notes/_form.html.haml_spec.rb581spec/lib/gitlab/route_map_spec.rb582spec/lib/gitlab/diff/file_collection/compare_spec.rb583spec/lib/gitlab/tracking/incident_management_spec.rb584spec/models/concerns/sha_attribute_spec.rb585spec/lib/gitlab/identifier_spec.rb586spec/lib/gitlab/protocol_access_spec.rb587spec/services/projects/group_links/create_service_spec.rb588spec/services/work_items/delete_task_service_spec.rb589spec/helpers/sidekiq_helper_spec.rb590spec/presenters/ci/group_variable_presenter_spec.rb591spec/services/members/unassign_issuables_service_spec.rb592spec/lib/gitlab/email/hook/validate_addresses_interceptor_spec.rb593spec/lib/gitlab/http_connection_adapter_spec.rb594spec/services/bulk_update_integration_service_spec.rb595spec/services/alert_management/http_integrations/update_service_spec.rb596spec/models/project_deploy_token_spec.rb597spec/serializers/diff_file_metadata_entity_spec.rb598spec/services/work_items/create_service_spec.rb599spec/lib/gitlab/sql/union_spec.rb600spec/sidekiq_cluster/sidekiq_cluster_spec.rb601spec/workers/namespaces/schedule_aggregation_worker_spec.rb602spec/services/alert_management/metric_images/upload_service_spec.rb603spec/tooling/graphql/docs/renderer_spec.rb604spec/lib/gitlab/metrics/dashboard/importers/prometheus_metrics_spec.rb605spec/graphql/resolvers/users/participants_resolver_spec.rb606spec/lib/gitlab/graphs/commits_spec.rb607spec/services/packages/mark_package_files_for_destruction_service_spec.rb608spec/lib/gitlab/git/blame_spec.rb609spec/services/clusters/aws/provision_service_spec.rb610spec/models/snippet_blob_spec.rb611spec/lib/gitlab/sql/except_spec.rb612spec/lib/gitlab/github_import/single_endpoint_notes_importing_spec.rb613spec/initializers/validate_database_config_spec.rb614spec/lib/gitlab/prometheus/metric_group_spec.rb615spec/rubocop/cop/avoid_return_from_blocks_spec.rb616spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb617spec/services/concerns/merge_requests/assigns_merge_params_spec.rb618spec/lib/gitlab/github_import/milestone_finder_spec.rb619spec/lib/gitlab/graphql/authorize/object_authorization_spec.rb620spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb621spec/workers/metrics/dashboard/sync_dashboards_worker_spec.rb622spec/lib/gitlab/import_export/uploads_restorer_spec.rb623spec/models/aws/role_spec.rb624spec/lib/gitlab/setup_helper/workhorse_spec.rb625spec/services/award_emojis/collect_user_emoji_service_spec.rb626spec/lib/api/ci/helpers/runner_spec.rb627spec/views/shared/issuable/_sidebar.html.haml_spec.rb628spec/experiments/in_product_guidance_environments_webide_experiment_spec.rb629spec/models/namespace/admin_note_spec.rb630spec/lib/gitlab/git/patches/commit_patches_spec.rb631spec/lib/gitlab/database/load_balancing/primary_host_spec.rb632spec/models/users/group_callout_spec.rb633spec/finders/packages/package_finder_spec.rb634spec/serializers/ci/dag_stage_entity_spec.rb635spec/lib/feature/gitaly_spec.rb636spec/policies/release_policy_spec.rb637spec/validators/system_hook_url_validator_spec.rb638spec/services/snippets/update_repository_storage_service_spec.rb639spec/lib/gitlab/ci/config/entry/product/variables_spec.rb640spec/serializers/merge_request_for_pipeline_entity_spec.rb641spec/serializers/merge_requests/pipeline_entity_spec.rb642spec/graphql/resolvers/crm/organizations_resolver_spec.rb643spec/presenters/packages/nuget/packages_versions_presenter_spec.rb644spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb645spec/lib/api/entities/deployment_extended_spec.rb646spec/lib/gitlab/marker_range_spec.rb647spec/rubocop/cop/migration/datetime_spec.rb648spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb649spec/finders/repositories/changelog_commits_finder_spec.rb650spec/lib/gitlab/github_import/representation/diff_notes/suggestion_formatter_spec.rb651spec/lib/gitlab/cross_project_access/class_methods_spec.rb652spec/workers/ci/build_schedule_worker_spec.rb653spec/services/boards/visits/create_service_spec.rb654spec/models/ci/build_trace_spec.rb655spec/lib/gitlab/exceptions_app_spec.rb656spec/models/application_setting/term_spec.rb657spec/graphql/types/project_member_type_spec.rb658spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb659spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb660spec/lib/gitlab/auth/crowd/authentication_spec.rb661spec/lib/bitbucket_server/collection_spec.rb662spec/lib/gitlab/middleware/basic_health_check_spec.rb663spec/graphql/types/blob_viewers/type_enum_spec.rb664spec/lib/gitlab/ci/status/pending_spec.rb665spec/workers/auto_merge_process_worker_spec.rb666spec/services/ci/pipeline_creation/start_pipeline_service_spec.rb667spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb668spec/rubocop/cop/performance/ar_exists_and_present_blank_spec.rb669spec/services/import/bitbucket_server_service_spec.rb670spec/rubocop/cop/gitlab/duplicate_spec_location_spec.rb671spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb672spec/services/product_analytics/build_graph_service_spec.rb673spec/serializers/analytics_build_serializer_spec.rb674spec/workers/projects/update_repository_storage_worker_spec.rb675spec/lib/gitlab/health_checks/master_check_spec.rb676spec/workers/integrations/execute_worker_spec.rb677spec/lib/gitlab/ci/status/manual_spec.rbKnapsack report generator started!678DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.1.4.7/lib/active_record/connection_adapters/postgresql_adapter.rb:78: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call679/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/pg-1.3.5/lib/pg.rb:68: warning: The called method `connect' is defined here680 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)681Run options: exclude {:quarantine=>true, :level=>"migration"}682Test environment set up in 0.506769992 seconds683ProjectPolicy684 does not include the read permissions when the issue author is not a member of the private project685 with no project feature686 returns false687 behaves like model with wiki policies688 container_level: :public, access_level: :enabled, membership: :admin, access: :all689 allows actions based on membership690 container_level: :public, access_level: :enabled, membership: :maintainer, access: :maintainer691 allows actions based on membership692 container_level: :public, access_level: :enabled, membership: :developer, access: :developer693 allows actions based on membership694 container_level: :public, access_level: :enabled, membership: :reporter, access: :reporter695 allows actions based on membership696 container_level: :public, access_level: :enabled, membership: :guest, access: :guest697 allows actions based on membership698 container_level: :public, access_level: :enabled, membership: :non_member, access: :guest699 allows actions based on membership700 container_level: :public, access_level: :enabled, membership: :anonymous, access: :guest701 allows actions based on membership702 container_level: :public, access_level: :private, membership: :admin, access: :all703 allows actions based on membership704 container_level: :public, access_level: :private, membership: :maintainer, access: :maintainer705 allows actions based on membership706 container_level: :public, access_level: :private, membership: :developer, access: :developer707 allows actions based on membership708 container_level: :public, access_level: :private, membership: :reporter, access: :reporter709 allows actions based on membership710 container_level: :public, access_level: :private, membership: :guest, access: :guest711 allows actions based on membership712 container_level: :public, access_level: :private, membership: :non_member, access: nil713 allows actions based on membership714 container_level: :public, access_level: :private, membership: :anonymous, access: nil715 allows actions based on membership716 container_level: :public, access_level: :disabled, membership: :admin, access: nil717 allows actions based on membership718 container_level: :public, access_level: :disabled, membership: :maintainer, access: nil719 allows actions based on membership720 container_level: :public, access_level: :disabled, membership: :developer, access: nil721 allows actions based on membership722 container_level: :public, access_level: :disabled, membership: :reporter, access: nil723 allows actions based on membership724 container_level: :public, access_level: :disabled, membership: :guest, access: nil725 allows actions based on membership726 container_level: :public, access_level: :disabled, membership: :non_member, access: nil727 allows actions based on membership728 container_level: :public, access_level: :disabled, membership: :anonymous, access: nil729 allows actions based on membership730 container_level: :internal, access_level: :enabled, membership: :admin, access: :all731 allows actions based on membership732 container_level: :internal, access_level: :enabled, membership: :maintainer, access: :maintainer733 allows actions based on membership734 container_level: :internal, access_level: :enabled, membership: :developer, access: :developer735 allows actions based on membership736 container_level: :internal, access_level: :enabled, membership: :reporter, access: :reporter737 allows actions based on membership738 container_level: :internal, access_level: :enabled, membership: :guest, access: :guest739 allows actions based on membership740 container_level: :internal, access_level: :enabled, membership: :non_member, access: :guest741 allows actions based on membership742 container_level: :internal, access_level: :enabled, membership: :anonymous, access: nil743 allows actions based on membership744 container_level: :internal, access_level: :private, membership: :admin, access: :all745 allows actions based on membership746 container_level: :internal, access_level: :private, membership: :maintainer, access: :maintainer747 allows actions based on membership748 container_level: :internal, access_level: :private, membership: :developer, access: :developer749 allows actions based on membership750 container_level: :internal, access_level: :private, membership: :reporter, access: :reporter751 allows actions based on membership752 container_level: :internal, access_level: :private, membership: :guest, access: :guest753 allows actions based on membership754 container_level: :internal, access_level: :private, membership: :non_member, access: nil755 allows actions based on membership756 container_level: :internal, access_level: :private, membership: :anonymous, access: nil757 allows actions based on membership758 container_level: :internal, access_level: :disabled, membership: :admin, access: nil759 allows actions based on membership760 container_level: :internal, access_level: :disabled, membership: :maintainer, access: nil761 allows actions based on membership762 container_level: :internal, access_level: :disabled, membership: :developer, access: nil763 allows actions based on membership764 container_level: :internal, access_level: :disabled, membership: :reporter, access: nil765 allows actions based on membership766 container_level: :internal, access_level: :disabled, membership: :guest, access: nil767 allows actions based on membership768 container_level: :internal, access_level: :disabled, membership: :non_member, access: nil769 allows actions based on membership770 container_level: :internal, access_level: :disabled, membership: :anonymous, access: nil771 allows actions based on membership772 container_level: :private, access_level: :private, membership: :admin, access: :all773 allows actions based on membership774 container_level: :private, access_level: :private, membership: :maintainer, access: :maintainer775 allows actions based on membership776 container_level: :private, access_level: :private, membership: :developer, access: :developer777 allows actions based on membership778 container_level: :private, access_level: :private, membership: :reporter, access: :reporter779 allows actions based on membership780 container_level: :private, access_level: :private, membership: :guest, access: :guest781 allows actions based on membership782 container_level: :private, access_level: :private, membership: :non_member, access: nil783 allows actions based on membership784 container_level: :private, access_level: :private, membership: :anonymous, access: nil785 allows actions based on membership786 container_level: :private, access_level: :disabled, membership: :admin, access: nil787 allows actions based on membership788 container_level: :private, access_level: :disabled, membership: :maintainer, access: nil789 allows actions based on membership790 container_level: :private, access_level: :disabled, membership: :developer, access: nil791 allows actions based on membership792 container_level: :private, access_level: :disabled, membership: :reporter, access: nil793 allows actions based on membership794 container_level: :private, access_level: :disabled, membership: :guest, access: nil795 allows actions based on membership796 container_level: :private, access_level: :disabled, membership: :non_member, access: nil797 allows actions based on membership798 container_level: :private, access_level: :disabled, membership: :anonymous, access: nil799 allows actions based on membership800 issues feature801 when the feature is disabled802 does not include the issues permissions803 disables boards and lists permissions804 when external tracker configured805 does not include the issues permissions806 merge requests feature807 disallows all permissions when the feature is disabled808 for a guest in a private project809 disallows the guest from all merge request permissions810 creating_merge_request_in811 when the current_user can download_code812 when project is public813 when the current_user is guest814 is expected to be allowed :create_merge_request_in815 when project is internal816 when the current_user is guest817 is expected to be allowed :create_merge_request_in818 when project is private819 when the current_user is guest820 is expected not to be allowed :create_merge_request_in821 when the current_user is reporter or above822 is expected to be allowed :create_merge_request_in823 when the current_user can not download code824 when project is public825 when the current_user is guest826 is expected not to be allowed :create_merge_request_in827 when project is internal828 when the current_user is guest829 is expected not to be allowed :create_merge_request_in830 when project is private831 when the current_user is guest832 is expected not to be allowed :create_merge_request_in833 when the current_user is reporter or above834 is expected not to be allowed :create_merge_request_in835 pipeline feature836 for confirmed user837 allows modify pipelines838 for unconfirmed user839 disallows to modify pipelines840 destroy permission841 for developers842 prevents :destroy_pipeline843 for maintainers844 prevents :destroy_pipeline845 for project owner846 allows :destroy_pipeline847 on archived projects848 prevents :destroy_pipeline849 on archived pending_delete projects850 allows :destroy_pipeline851 builds feature852 when builds are disabled853 disallows all permissions except pipeline when the feature is disabled854 when builds are disabled only for some users855 disallows pipeline and commit_status permissions856 repository feature857 when user is a project member858 when it is disabled859 disallows all permissions860 when user is non-member861 when access level is private862 disallows all permissions863 behaves like project policies as anonymous864 abilities for public projects865 when a project has pending invites866 does not grant owner access867 behaves like archived project policies868 when the project is archived869 disables write actions on all relevant project features870 disables some other important write actions871 does not disable other abilities872 abilities for non-public projects873 is expected to be banned874 behaves like project policies as guest875 abilities for public projects876 is expected not to be allowed :set_note_created_at877 abilities for non-public projects878 is expected not to be allowed :set_note_created_at879 behaves like deploy token does not get confused with user880 is expected not to be allowed :set_note_created_at881 behaves like archived project policies882 when the project is archived883 disables write actions on all relevant project features884 disables some other important write actions885 does not disable other abilities886 public builds enabled887 is expected to be allowed :read_pipeline888 when public builds disabled889 is expected not to be allowed :read_pipeline890 when builds are disabled891 is expected to be allowed :read_pipeline892 behaves like project policies as reporter893 abilities for non-public projects894 is expected not to be allowed :set_note_created_at895 behaves like deploy token does not get confused with user896 is expected not to be allowed :set_note_created_at897 behaves like archived project policies898 when the project is archived899 disables write actions on all relevant project features900 disables some other important write actions901 does not disable other abilities902 behaves like project policies as developer903 abilities for non-public projects904 is expected not to be allowed :set_note_created_at905 behaves like deploy token does not get confused with user906 is expected not to be allowed :set_note_created_at907 behaves like archived project policies908 when the project is archived909 disables write actions on all relevant project features910 disables some other important write actions911 does not disable other abilities912 behaves like project policies as maintainer913 abilities for non-public projects914 is expected not to be allowed :set_note_created_at915 behaves like deploy token does not get confused with user916 is expected not to be allowed :set_note_created_at917 behaves like archived project policies918 when the project is archived919 disables write actions on all relevant project features920 disables some other important write actions921 does not disable other abilities922 behaves like project policies as owner923 abilities for non-public projects924 is expected to be allowed :set_note_created_at925 behaves like deploy token does not get confused with user926 is expected not to be allowed :set_note_created_at927 behaves like archived project policies928 when the project is archived929 disables write actions on all relevant project features930 disables some other important write actions931 does not disable other abilities932 behaves like project policies as admin with admin mode933 abilities for non-public projects934 is expected to be allowed :set_note_created_at935 deploy token does not get confused with user936 is expected not to be allowed :set_note_created_at937 behaves like archived project policies938 when the project is archived939 disables write actions on all relevant project features940 disables some other important write actions941 does not disable other abilities942 abilities for all project visibility943 behaves like project private features with read_all_resources ability944 for public projects945 allows the download_code ability946 for internal projects947 allows the download_code ability948 for private projects949 allows the download_code ability950 behaves like project policies as admin without admin mode951 abilities for non-public projects952 is expected to be banned953 deploy token does not get confused with user954 is expected to be banned955 when a public project has merge requests allowing access956 does not allow pushing code957 allows pushing if the user is a member with push access to the target project958 disallows abilities to a maintainer if the merge request was closed959 importing members from another project960 with maintainer961 is expected to be allowed :import_project_members_from_another_project962 with owner963 is expected to be allowed :import_project_members_from_another_project964 with guest965 is expected to be disallowed :import_project_members_from_another_project966 with reporter967 is expected to be disallowed :import_project_members_from_another_project968 with developer969 is expected to be disallowed :import_project_members_from_another_project970 with anonymous971 is expected to be disallowed :import_project_members_from_another_project972 with an admin973 when admin mode is enabled974 is expected to be allowed :import_project_members_from_another_project975 when admin mode is disabled976 is expected not to be allowed :import_project_members_from_another_project977 reading usage quotas978 with maintainer979 is expected to be allowed :read_usage_quotas980 with owner981 is expected to be allowed :read_usage_quotas982 with guest983 is expected to be disallowed :read_usage_quotas984 with reporter985 is expected to be disallowed :read_usage_quotas986 with developer987 is expected to be disallowed :read_usage_quotas988 with anonymous989 is expected to be disallowed :read_usage_quotas990 with an admin991 when admin mode is enabled992 is expected to be allowed :read_usage_quotas993 when admin mode is disabled994 is expected not to be allowed :read_usage_quotas995 behaves like clusterable policies996 #add_cluster?997 with a reporter998 is expected not to be allowed :read_cluster999 is expected not to be allowed :add_cluster1000 is expected not to be allowed :create_cluster1001 is expected not to be allowed :update_cluster1002 is expected not to be allowed :admin_cluster1003 with a developer1004 is expected to be allowed :read_cluster1005 is expected not to be allowed :add_cluster1006 is expected not to be allowed :create_cluster1007 is expected not to be allowed :update_cluster1008 is expected not to be allowed :admin_cluster1009 with a maintainer1010 with no clusters1011 is expected to be allowed :read_cluster1012 is expected to be allowed :add_cluster1013 is expected to be allowed :create_cluster1014 is expected to be allowed :update_cluster1015 is expected to be allowed :admin_cluster1016 owner access1017 personal project1018 allows owner access1019 group project1020 group members1021 allows owner access1022 reading a project1023 allows access when a user has read access to the repo1024 never checks the external service1025 with an external authorization service1026 allows access when the external service allows it1027 prevents all but seeing a public project in a list when access is denied1028 passes the full path to external authorization for logging purposes1029 with an admin1030 when admin mode is enabled1031 does not check the external service and allows access1032 when admin mode is disabled1033 checks the external service and allows access1034 forking a project1035 anonymous user1036 is expected to be disallowed :fork_project1037 project member1038 guest1039 is expected to be disallowed :fork_project1040 reporter1041 is expected to be allowed :fork_project1042 developer1043 is expected to be allowed :fork_project1044 maintainer1045 is expected to be allowed :fork_project1046 create_task1047 when user is member of the project1048 when work_items feature flag is enabled1049 is expected to be allowed :create_task1050 when work_items feature flag is disabled1051 is expected not to be allowed :create_task1052 update_max_artifacts_size1053 when no user1054 is expected not to be allowed :update_max_artifacts_size1055 admin1056 when admin mode is enabled1057 is expected to be allowed :update_max_artifacts_size1058 when admin mode is disabled1059 is expected not to be allowed :update_max_artifacts_size1060 guest1061 is expected not to be allowed :update_max_artifacts_size1062 reporter1063 is expected not to be allowed :update_max_artifacts_size1064 developer1065 is expected not to be allowed :update_max_artifacts_size1066 maintainer1067 is expected not to be allowed :update_max_artifacts_size1068 owner1069 is expected not to be allowed :update_max_artifacts_size1070 read_storage_disk_path1071 when no user1072 is expected not to be allowed :read_storage_disk_path1073 admin1074 when admin mode is enabled1075 is expected to be allowed :read_storage_disk_path1076 when admin mode is disabled1077 is expected not to be allowed :read_storage_disk_path1078 guest1079 is expected not to be allowed :read_storage_disk_path1080 reporter1081 is expected not to be allowed :read_storage_disk_path1082 developer1083 is expected not to be allowed :read_storage_disk_path1084 maintainer1085 is expected not to be allowed :read_storage_disk_path1086 owner1087 is expected not to be allowed :read_storage_disk_path1088 alert bot1089 is expected to be allowed :reporter_access1090 within a private project1091 is expected to be allowed :admin_issue1092 set_pipeline_variables1093 when user is developer1094 when project allows user defined variables1095 is expected to be allowed :set_pipeline_variables1096 when project restricts use of user defined variables1097 is expected not to be allowed :set_pipeline_variables1098 when user is maintainer1099 when project allows user defined variables1100 is expected to be allowed :set_pipeline_variables1101 when project restricts use of user defined variables1102 is expected to be allowed :set_pipeline_variables1103 support bot1104 with service desk disabled1105 is expected to be allowed :public_access1106 is expected not to be allowed :read_project1107 with service desk enabled1108 is expected to be allowed :read_work_item1109 when issues are protected members only1110 is expected to be allowed :read_work_item1111 project bots1112 project_bot_access1113 when regular user and part of the project1114 is expected not to be allowed :project_bot_access1115 when project bot and not part of the project1116 is expected not to be allowed :project_bot_access1117 when project bot and part of the project1118 is expected to be allowed :project_bot_access1119 with resource access tokens1120 is expected not to be allowed :create_resource_access_tokens1121 read_prometheus_alerts1122 with admin1123 when admin mode is enabled1124 is expected to be allowed :read_prometheus_alerts1125 when admin mode is disabled1126 is expected to be disallowed :read_prometheus_alerts1127 with owner1128 is expected to be allowed :read_prometheus_alerts1129 with maintainer1130 is expected to be allowed :read_prometheus_alerts1131 with developer1132 is expected to be disallowed :read_prometheus_alerts1133 with reporter1134 is expected to be disallowed :read_prometheus_alerts1135 with guest1136 is expected to be disallowed :read_prometheus_alerts1137 with anonymous1138 is expected to be disallowed :read_prometheus_alerts1139 metrics_dashboard feature1140 public project1141 feature private1142 with reporter1143 is expected to be allowed :metrics_dashboard1144 is expected to be allowed :read_prometheus1145 is expected to be allowed :read_deployment1146 is expected to be allowed :read_metrics_user_starred_dashboard1147 is expected to be allowed :create_metrics_user_starred_dashboard1148 with guest1149 is expected to be disallowed :metrics_dashboard1150 with anonymous1151 is expected to be disallowed :metrics_dashboard1152 feature enabled1153 with reporter1154 is expected to be allowed :metrics_dashboard1155 is expected to be allowed :read_prometheus1156 is expected to be allowed :read_deployment1157 is expected to be allowed :read_metrics_user_starred_dashboard1158 is expected to be allowed :create_metrics_user_starred_dashboard1159 with guest1160 is expected to be allowed :metrics_dashboard1161 is expected to be allowed :read_prometheus1162 is expected to be allowed :read_deployment1163 is expected to be allowed :read_metrics_user_starred_dashboard1164 is expected to be allowed :create_metrics_user_starred_dashboard1165 with anonymous1166 is expected to be allowed :metrics_dashboard1167 is expected to be allowed :read_prometheus1168 is expected to be allowed :read_deployment1169 is expected to be disallowed :read_metrics_user_starred_dashboard1170 is expected to be disallowed :create_metrics_user_starred_dashboard1171 internal project1172 feature private1173 with reporter1174 is expected to be allowed :metrics_dashboard1175 is expected to be allowed :read_prometheus1176 is expected to be allowed :read_deployment1177 is expected to be allowed :read_metrics_user_starred_dashboard1178 is expected to be allowed :create_metrics_user_starred_dashboard1179 with guest1180 is expected to be disallowed :metrics_dashboard1181 with anonymous1182 is expected to be disallowed :metrics_dashboard1183 feature enabled1184 with reporter1185 is expected to be allowed :metrics_dashboard1186 is expected to be allowed :read_prometheus1187 is expected to be allowed :read_deployment1188 is expected to be allowed :read_metrics_user_starred_dashboard1189 is expected to be allowed :create_metrics_user_starred_dashboard1190 with guest1191 is expected to be allowed :metrics_dashboard1192 is expected to be allowed :read_prometheus1193 is expected to be allowed :read_deployment1194 is expected to be allowed :read_metrics_user_starred_dashboard1195 is expected to be allowed :create_metrics_user_starred_dashboard1196 with anonymous1197 is expected to be disallowed :metrics_dashboard1198 private project1199 feature private1200 with reporter1201 is expected to be allowed :metrics_dashboard1202 is expected to be allowed :read_prometheus1203 is expected to be allowed :read_deployment1204 is expected to be allowed :read_metrics_user_starred_dashboard1205 is expected to be allowed :create_metrics_user_starred_dashboard1206 with guest1207 is expected to be disallowed :metrics_dashboard1208 with anonymous1209 is expected to be disallowed :metrics_dashboard1210 feature enabled1211 with reporter1212 is expected to be allowed :metrics_dashboard1213 is expected to be allowed :read_prometheus1214 is expected to be allowed :read_deployment1215 is expected to be allowed :read_metrics_user_starred_dashboard1216 is expected to be allowed :create_metrics_user_starred_dashboard1217 with guest1218 is expected to be disallowed :metrics_dashboard1219 with anonymous1220 is expected to be disallowed :metrics_dashboard1221 feature disabled1222 with reporter1223 is expected to be disallowed :metrics_dashboard1224 with guest1225 is expected to be disallowed :metrics_dashboard1226 with anonymous1227 is expected to be disallowed :metrics_dashboard1228 deploy key access1229 private project1230 when a read deploy key is enabled in the project1231 is expected to be allowed :download_code1232 is expected to be disallowed :push_code1233 is expected to be disallowed :read_project1234 when a write deploy key is enabled in the project1235 is expected to be allowed :download_code1236 is expected to be allowed :push_code1237 is expected to be disallowed :read_project1238 when the deploy key is not enabled in the project1239 is expected to be disallowed :download_code1240 is expected to be disallowed :push_code1241 is expected to be disallowed :read_project1242 deploy token access1243 private project1244 a deploy token with read_registry scope1245 is expected to be allowed :read_container_image1246 is expected to be disallowed :create_container_image1247 with registry disabled1248 is expected to be disallowed :read_container_image1249 is expected to be disallowed :create_container_image1250 a deploy token with write_registry scope1251 is expected to be disallowed :read_container_image1252 is expected to be allowed :create_container_image1253 with registry disabled1254 is expected to be disallowed :read_container_image1255 is expected to be disallowed :create_container_image1256 a deploy token with no registry scope1257 is expected to be disallowed :read_container_image1258 is expected to be disallowed :create_container_image1259 a deploy token with read_package_registry scope1260 is expected to be allowed :read_project1261 is expected to be allowed :read_package1262 is expected to be disallowed :create_package1263 behaves like package access with repository disabled1264 is expected to be allowed :read_package1265 a deploy token with write_package_registry scope1266 is expected to be allowed :create_package1267 is expected to be allowed :read_package1268 is expected to be allowed :read_project1269 is expected to be disallowed :destroy_package1270 behaves like package access with repository disabled1271 is expected to be allowed :read_package1272 public project1273 a deploy token with read_registry scope1274 is expected to be allowed :read_container_image1275 is expected to be disallowed :create_container_image1276 with registry disabled1277 is expected to be disallowed :read_container_image1278 is expected to be disallowed :create_container_image1279 with registry private1280 is expected to be allowed :read_container_image1281 is expected to be disallowed :create_container_image1282 a deploy token with write_registry scope1283 is expected to be allowed :read_container_image1284 is expected to be allowed :create_container_image1285 with registry disabled1286 is expected to be disallowed :read_container_image1287 is expected to be disallowed :create_container_image1288 with registry private1289 is expected to be allowed :read_container_image1290 is expected to be allowed :create_container_image1291 a deploy token with no registry scope1292 is expected to be disallowed :read_container_image1293 is expected to be disallowed :create_container_image1294 create_web_ide_terminal1295 with admin1296 when admin mode enabled1297 is expected to be allowed :create_web_ide_terminal1298 when admin mode disabled1299 is expected to be disallowed :create_web_ide_terminal1300 with owner1301 is expected to be allowed :create_web_ide_terminal1302 with maintainer1303 is expected to be allowed :create_web_ide_terminal1304 with developer1305 is expected to be disallowed :create_web_ide_terminal1306 with reporter1307 is expected to be disallowed :create_web_ide_terminal1308 with guest1309 is expected to be disallowed :create_web_ide_terminal1310 with non member1311 is expected to be disallowed :create_web_ide_terminal1312 with anonymous1313 is expected to be disallowed :create_web_ide_terminal1314 read_repository_graphs1315 when user can download_code1316 is expected to be allowed :read_repository_graphs1317 when user cannot download_code1318 is expected to be disallowed :read_repository_graphs1319 security configuration feature1320 guest1321 prevents reading security configuration1322 reporter1323 prevents reading security configuration1324 developer1325 allows reading security configuration1326 maintainer1327 allows reading security configuration1328 owner1329 allows reading security configuration1330 infrastructure google cloud feature1331 guest1332 disallows managing google cloud1333 reporter1334 disallows managing google cloud1335 developer1336 disallows managing google cloud1337 maintainer1338 allows managing google cloud1339 owner1340 allows managing google cloud1341 design permissions1342 when design management is not available1343 is expected not to be allowed :read_design_activity and :read_design1344 when design management is available1345 is expected to be allowed :read_design_activity and :read_design1346 read_build_report_results1347 when user can read_build and read_pipeline1348 is expected to be allowed :read_build_report_results1349 when user can read_build but cannot read_pipeline1350 is expected to be disallowed :read_build_report_results1351 when user cannot read_build but can read_pipeline1352 is expected to be disallowed :read_build_report_results1353 when user cannot read_build and cannot read_pipeline1354 is expected to be disallowed :read_build_report_results1355 read_package1356 with admin1357 is expected to be allowed :read_package1358 behaves like package access with repository disabled1359 is expected to be allowed :read_package1360 with owner1361 is expected to be allowed :read_package1362 with maintainer1363 is expected to be allowed :read_package1364 with developer1365 is expected to be allowed :read_package1366 with reporter1367 is expected to be allowed :read_package1368 with guest1369 is expected to be allowed :read_package1370 with non member1371 is expected to be allowed :read_package1372 with anonymous1373 is expected to be allowed :read_package1374 admin_package1375 with admin1376 when admin mode enabled1377 is expected to be allowed :admin_package1378 when admin mode disabled1379 is expected to be disallowed :admin_package1380 with owner1381 is expected to be allowed :admin_package1382 with maintainer1383 is expected to be allowed :admin_package1384 with developer1385 is expected to be disallowed :admin_package1386 with reporter1387 is expected to be disallowed :admin_package1388 with guest1389 is expected to be disallowed :admin_package1390 with non_member1391 is expected to be disallowed :admin_package1392 with anonymous1393 is expected to be disallowed :admin_package1394 view_package_registry_project_settings1395 with registry enabled1396 with an admin user1397 when admin mode enabled1398 is expected to be allowed :view_package_registry_project_settings1399 when admin mode disabled1400 is expected to be disallowed :view_package_registry_project_settings1401 with owner1402 is expected to be allowed :view_package_registry_project_settings1403 with maintainer1404 is expected to be allowed :view_package_registry_project_settings1405 with developer1406 is expected to be disallowed :view_package_registry_project_settings1407 with reporter1408 is expected to be disallowed :view_package_registry_project_settings1409 with guest1410 is expected to be disallowed :view_package_registry_project_settings1411 with non_member1412 is expected to be disallowed :view_package_registry_project_settings1413 with anonymous1414 is expected to be disallowed :view_package_registry_project_settings1415 with registry disabled1416 with admin user1417 when admin mode enabled1418 is expected to be disallowed :view_package_registry_project_settings1419 when admin mode disabled1420 is expected to be disallowed :view_package_registry_project_settings1421 with owner1422 is expected to be disallowed :view_package_registry_project_settings1423 with maintainer1424 is expected to be disallowed :view_package_registry_project_settings1425 with developer1426 is expected to be disallowed :view_package_registry_project_settings1427 with reporter1428 is expected to be disallowed :view_package_registry_project_settings1429 with guest1430 is expected to be disallowed :view_package_registry_project_settings1431 with non_member1432 is expected to be disallowed :view_package_registry_project_settings1433 with anonymous1434 is expected to be disallowed :view_package_registry_project_settings1435 read_feature_flag1436 with maintainer1437 when repository is available1438 is expected to be allowed :read_feature_flag1439 when repository is disabled1440 is expected to be disallowed :read_feature_flag1441 with developer1442 when repository is available1443 is expected to be allowed :read_feature_flag1444 with reporter1445 when repository is available1446 is expected to be disallowed :read_feature_flag1447 read_analytics1448 anonymous user1449 is expected to be allowed :read_analytics1450 with various analytics features1451 when analytics is disabled for the project1452 for guest user1453 is expected to be disallowed :read_cycle_analytics1454 is expected to be disallowed :read_insights1455 is expected to be disallowed :read_repository_graphs1456 is expected to be disallowed :read_ci_cd_analytics1457 for reporter user1458 is expected to be disallowed :read_cycle_analytics1459 is expected to be disallowed :read_insights1460 is expected to be disallowed :read_repository_graphs1461 is expected to be disallowed :read_ci_cd_analytics1462 for developer1463 is expected to be disallowed :read_cycle_analytics1464 is expected to be disallowed :read_insights1465 is expected to be disallowed :read_repository_graphs1466 is expected to be disallowed :read_ci_cd_analytics1467 when analytics is private for the project1468 for guest user1469 is expected to be allowed :read_cycle_analytics1470 is expected to be allowed :read_insights1471 is expected to be disallowed :read_repository_graphs1472 is expected to be disallowed :read_ci_cd_analytics1473 for reporter user1474 is expected to be allowed :read_cycle_analytics1475 is expected to be allowed :read_insights1476 is expected to be allowed :read_repository_graphs1477 is expected to be allowed :read_ci_cd_analytics1478 for developer1479 is expected to be allowed :read_cycle_analytics1480 is expected to be allowed :read_insights1481 is expected to be allowed :read_repository_graphs1482 is expected to be allowed :read_ci_cd_analytics1483 when analytics is enabled for the project1484 for guest user1485 is expected to be allowed :read_cycle_analytics1486 is expected to be allowed :read_insights1487 is expected to be disallowed :read_repository_graphs1488 is expected to be disallowed :read_ci_cd_analytics1489 for reporter user1490 is expected to be allowed :read_cycle_analytics1491 is expected to be allowed :read_insights1492 is expected to be allowed :read_repository_graphs1493 is expected to be allowed :read_ci_cd_analytics1494 for developer1495 is expected to be allowed :read_cycle_analytics1496 is expected to be allowed :read_insights1497 is expected to be allowed :read_repository_graphs1498 is expected to be allowed :read_ci_cd_analytics1499 project member1500 guest1501 is expected to be allowed :read_analytics1502 without access to Analytics1503 is expected to be disallowed :read_analytics1504 reporter1505 is expected to be allowed :read_analytics1506 without access to Analytics1507 is expected to be disallowed :read_analytics1508 developer1509 is expected to be allowed :read_analytics1510 without access to Analytics1511 is expected to be disallowed :read_analytics1512 maintainer1513 is expected to be allowed :read_analytics1514 without access to Analytics1515 is expected to be disallowed :read_analytics1516 read_ci_cd_analytics1517 public project1518 when public pipelines are disabled for the project1519 project member1520 guest1521 is expected to be disallowed :read_ci_cd_analytics1522 reporter1523 is expected to be allowed :read_ci_cd_analytics1524 developer1525 is expected to be allowed :read_ci_cd_analytics1526 maintainer1527 is expected to be allowed :read_ci_cd_analytics1528 non member1529 is expected to be disallowed :read_ci_cd_analytics1530 anonymous1531 is expected to be disallowed :read_ci_cd_analytics1532 when public pipelines are enabled for the project1533 project member1534 guest1535 is expected to be allowed :read_ci_cd_analytics1536 reporter1537 is expected to be allowed :read_ci_cd_analytics1538 developer1539 is expected to be allowed :read_ci_cd_analytics1540 maintainer1541 is expected to be allowed :read_ci_cd_analytics1542 non member1543 is expected to be allowed :read_ci_cd_analytics1544 anonymous1545 is expected to be allowed :read_ci_cd_analytics1546 private project1547 project member1548 guest1549 is expected to be disallowed :read_ci_cd_analytics1550 reporter1551 is expected to be allowed :read_ci_cd_analytics1552 developer1553 is expected to be allowed :read_ci_cd_analytics1554 maintainer1555 is expected to be allowed :read_ci_cd_analytics1556 non member1557 is expected to be disallowed :read_ci_cd_analytics1558 anonymous1559 is expected to be disallowed :read_ci_cd_analytics1560 behaves like Self-managed Core resource access tokens1561 with owner access1562 create resource access tokens1563 is expected to be allowed :create_resource_access_tokens1564 when resource access token creation is not allowed1565 is expected not to be allowed :create_resource_access_tokens1566 when parent group has project access token creation disabled1567 is expected not to be allowed :create_resource_access_tokens1568 with a personal namespace project1569 is expected to be allowed :create_resource_access_tokens1570 read resource access tokens1571 is expected to be allowed :read_resource_access_tokens1572 destroy resource access tokens1573 is expected to be allowed :destroy_resource_access_tokens1574 with developer access1575 create resource access tokens1576 is expected not to be allowed :create_resource_access_tokens1577 read resource access tokens1578 is expected not to be allowed :read_resource_access_tokens1579 destroy resource access tokens1580 is expected not to be allowed :destroy_resource_access_tokens1581 operations feature1582 project_visibility: :public, access_level: 20, role: :maintainer, allowed: true1583 allows/disallows the abilities based on the operation feature access level1584 project_visibility: :public, access_level: 20, role: :developer, allowed: true1585 allows/disallows the abilities based on the operation feature access level1586 project_visibility: :public, access_level: 20, role: :guest, allowed: true1587 allows/disallows the abilities based on the operation feature access level1588 project_visibility: :public, access_level: 20, role: :anonymous, allowed: true1589 allows/disallows the abilities based on the operation feature access level1590 project_visibility: :public, access_level: 10, role: :maintainer, allowed: true1591 allows/disallows the abilities based on the operation feature access level1592 project_visibility: :public, access_level: 10, role: :developer, allowed: true1593 allows/disallows the abilities based on the operation feature access level1594 project_visibility: :public, access_level: 10, role: :guest, allowed: true1595 allows/disallows the abilities based on the operation feature access level1596 project_visibility: :public, access_level: 10, role: :anonymous, allowed: false1597 allows/disallows the abilities based on the operation feature access level1598 project_visibility: :public, access_level: 0, role: :maintainer, allowed: false1599 allows/disallows the abilities based on the operation feature access level1600 project_visibility: :public, access_level: 0, role: :developer, allowed: false1601 allows/disallows the abilities based on the operation feature access level1602 project_visibility: :public, access_level: 0, role: :guest, allowed: false1603 allows/disallows the abilities based on the operation feature access level1604 project_visibility: :public, access_level: 0, role: :anonymous, allowed: false1605 allows/disallows the abilities based on the operation feature access level1606 project_visibility: :internal, access_level: 20, role: :maintainer, allowed: true1607 allows/disallows the abilities based on the operation feature access level1608 project_visibility: :internal, access_level: 20, role: :developer, allowed: true1609 allows/disallows the abilities based on the operation feature access level1610 project_visibility: :internal, access_level: 20, role: :guest, allowed: true1611 allows/disallows the abilities based on the operation feature access level1612 project_visibility: :internal, access_level: 20, role: :anonymous, allowed: false1613 allows/disallows the abilities based on the operation feature access level1614 project_visibility: :internal, access_level: 10, role: :maintainer, allowed: true1615 allows/disallows the abilities based on the operation feature access level1616 project_visibility: :internal, access_level: 10, role: :developer, allowed: true1617 allows/disallows the abilities based on the operation feature access level1618 project_visibility: :internal, access_level: 10, role: :guest, allowed: true1619 allows/disallows the abilities based on the operation feature access level1620 project_visibility: :internal, access_level: 10, role: :anonymous, allowed: false1621 allows/disallows the abilities based on the operation feature access level1622 project_visibility: :internal, access_level: 0, role: :maintainer, allowed: false1623 allows/disallows the abilities based on the operation feature access level1624 project_visibility: :internal, access_level: 0, role: :developer, allowed: false1625 allows/disallows the abilities based on the operation feature access level1626 project_visibility: :internal, access_level: 0, role: :guest, allowed: false1627 allows/disallows the abilities based on the operation feature access level1628 project_visibility: :internal, access_level: 0, role: :anonymous, allowed: false1629 allows/disallows the abilities based on the operation feature access level1630 project_visibility: :private, access_level: 20, role: :maintainer, allowed: true1631 allows/disallows the abilities based on the operation feature access level1632 project_visibility: :private, access_level: 20, role: :developer, allowed: true1633 allows/disallows the abilities based on the operation feature access level1634 project_visibility: :private, access_level: 20, role: :guest, allowed: false1635 allows/disallows the abilities based on the operation feature access level1636 project_visibility: :private, access_level: 20, role: :anonymous, allowed: false1637 allows/disallows the abilities based on the operation feature access level1638 project_visibility: :private, access_level: 10, role: :maintainer, allowed: true1639 allows/disallows the abilities based on the operation feature access level1640 project_visibility: :private, access_level: 10, role: :developer, allowed: true1641 allows/disallows the abilities based on the operation feature access level1642 project_visibility: :private, access_level: 10, role: :guest, allowed: false1643 allows/disallows the abilities based on the operation feature access level1644 project_visibility: :private, access_level: 10, role: :anonymous, allowed: false1645 allows/disallows the abilities based on the operation feature access level1646 project_visibility: :private, access_level: 0, role: :maintainer, allowed: false1647 allows/disallows the abilities based on the operation feature access level1648 project_visibility: :private, access_level: 0, role: :developer, allowed: false1649 allows/disallows the abilities based on the operation feature access level1650 project_visibility: :private, access_level: 0, role: :guest, allowed: false1651 allows/disallows the abilities based on the operation feature access level1652 project_visibility: :private, access_level: 0, role: :anonymous, allowed: false1653 allows/disallows the abilities based on the operation feature access level1654 access_security_and_compliance1655 when the "Security & Compliance" is enabled1656 when the role is owner1657 is expected to be allowed :access_security_and_compliance1658 when the role is maintainer1659 is expected to be allowed :access_security_and_compliance1660 when the role is developer1661 is expected to be allowed :access_security_and_compliance1662 with admin1663 when admin mode enabled1664 is expected to be allowed :access_security_and_compliance1665 when admin mode disabled1666 is expected to be disallowed :access_security_and_compliance1667 when the role is reporter1668 is expected to be disallowed :access_security_and_compliance1669 when the role is guest1670 is expected to be disallowed :access_security_and_compliance1671 with non member1672 is expected to be disallowed :access_security_and_compliance1673 with anonymous1674 is expected to be disallowed :access_security_and_compliance1675 when the "Security & Compliance" is not enabled1676 when the role is owner1677 is expected to be disallowed :access_security_and_compliance1678 when the role is maintainer1679 is expected to be disallowed :access_security_and_compliance1680 when the role is developer1681 is expected to be disallowed :access_security_and_compliance1682 when the role is reporter1683 is expected to be disallowed :access_security_and_compliance1684 when the role is guest1685 is expected to be disallowed :access_security_and_compliance1686 with admin1687 when admin mode enabled1688 is expected to be disallowed :access_security_and_compliance1689 when admin mode disabled1690 is expected to be disallowed :access_security_and_compliance1691 with non member1692 is expected to be disallowed :access_security_and_compliance1693 with anonymous1694 is expected to be disallowed :access_security_and_compliance1695 when user is authenticated via CI_JOB_TOKEN1696 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1697 enforces the expected permissions1698 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1699 enforces the expected permissions1700 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: false1701 enforces the expected permissions1702 project_visibility: :private, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1703 enforces the expected permissions1704 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1705 enforces the expected permissions1706 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1707 enforces the expected permissions1708 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: false1709 enforces the expected permissions1710 project_visibility: :private, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1711 enforces the expected permissions1712 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1713 enforces the expected permissions1714 project_visibility: :internal, user_role: :reporter, external_user: true, scope_project_type: :same, token_scope_enabled: true, result: true1715 enforces the expected permissions1716 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1717 enforces the expected permissions1718 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true1719 enforces the expected permissions1720 project_visibility: :internal, user_role: :reporter, external_user: true, scope_project_type: :different, token_scope_enabled: true, result: false1721 enforces the expected permissions1722 project_visibility: :internal, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1723 enforces the expected permissions1724 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1725 enforces the expected permissions1726 project_visibility: :internal, user_role: :guest, external_user: true, scope_project_type: :same, token_scope_enabled: true, result: true1727 enforces the expected permissions1728 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1729 enforces the expected permissions1730 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true1731 enforces the expected permissions1732 project_visibility: :internal, user_role: :guest, external_user: true, scope_project_type: :different, token_scope_enabled: true, result: false1733 enforces the expected permissions1734 project_visibility: :internal, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1735 enforces the expected permissions1736 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1737 enforces the expected permissions1738 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1739 enforces the expected permissions1740 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true1741 enforces the expected permissions1742 project_visibility: :public, user_role: :reporter, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1743 enforces the expected permissions1744 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: true, result: true1745 enforces the expected permissions1746 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :same, token_scope_enabled: false, result: true1747 enforces the expected permissions1748 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: true, result: true1749 enforces the expected permissions1750 project_visibility: :public, user_role: :guest, external_user: false, scope_project_type: :different, token_scope_enabled: false, result: true1751 enforces the expected permissions1752 container_image policies1753 project_visibility: :public, access_level: 20, role: :admin, allowed: true1754 allows/disallows the abilities based on the container_registry feature access level1755 allows build_read_container_image to admins who are also team members1756 project_visibility: :public, access_level: 20, role: :owner, allowed: true1757 allows/disallows the abilities based on the container_registry feature access level1758 allows build_read_container_image to admins who are also team members1759 project_visibility: :public, access_level: 20, role: :maintainer, allowed: true1760 allows/disallows the abilities based on the container_registry feature access level1761 allows build_read_container_image to admins who are also team members1762 project_visibility: :public, access_level: 20, role: :developer, allowed: true1763 allows/disallows the abilities based on the container_registry feature access level1764 allows build_read_container_image to admins who are also team members1765 project_visibility: :public, access_level: 20, role: :reporter, allowed: true1766 allows/disallows the abilities based on the container_registry feature access level1767 allows build_read_container_image to admins who are also team members1768 project_visibility: :public, access_level: 20, role: :guest, allowed: true1769 allows/disallows the abilities based on the container_registry feature access level1770 allows build_read_container_image to admins who are also team members1771 project_visibility: :public, access_level: 20, role: :anonymous, allowed: true1772 allows/disallows the abilities based on the container_registry feature access level1773 allows build_read_container_image to admins who are also team members1774 project_visibility: :public, access_level: 10, role: :admin, allowed: true1775 allows/disallows the abilities based on the container_registry feature access level1776 allows build_read_container_image to admins who are also team members1777 project_visibility: :public, access_level: 10, role: :owner, allowed: true1778 allows/disallows the abilities based on the container_registry feature access level1779 allows build_read_container_image to admins who are also team members1780 project_visibility: :public, access_level: 10, role: :maintainer, allowed: true1781 allows/disallows the abilities based on the container_registry feature access level1782 allows build_read_container_image to admins who are also team members1783 project_visibility: :public, access_level: 10, role: :developer, allowed: true1784 allows/disallows the abilities based on the container_registry feature access level1785 allows build_read_container_image to admins who are also team members1786 project_visibility: :public, access_level: 10, role: :reporter, allowed: true1787 allows/disallows the abilities based on the container_registry feature access level1788 allows build_read_container_image to admins who are also team members1789 project_visibility: :public, access_level: 10, role: :guest, allowed: false1790 allows/disallows the abilities based on the container_registry feature access level1791 allows build_read_container_image to admins who are also team members1792 project_visibility: :public, access_level: 10, role: :anonymous, allowed: false1793 allows/disallows the abilities based on the container_registry feature access level1794 allows build_read_container_image to admins who are also team members1795 project_visibility: :public, access_level: 0, role: :admin, allowed: false1796 allows/disallows the abilities based on the container_registry feature access level1797 allows build_read_container_image to admins who are also team members1798 project_visibility: :public, access_level: 0, role: :owner, allowed: false1799 allows/disallows the abilities based on the container_registry feature access level1800 allows build_read_container_image to admins who are also team members1801 project_visibility: :public, access_level: 0, role: :maintainer, allowed: false1802 allows/disallows the abilities based on the container_registry feature access level1803 allows build_read_container_image to admins who are also team members1804 project_visibility: :public, access_level: 0, role: :developer, allowed: false1805 allows/disallows the abilities based on the container_registry feature access level1806 allows build_read_container_image to admins who are also team members1807 project_visibility: :public, access_level: 0, role: :reporter, allowed: false1808 allows/disallows the abilities based on the container_registry feature access level1809 allows build_read_container_image to admins who are also team members1810 project_visibility: :public, access_level: 0, role: :guest, allowed: false1811 allows/disallows the abilities based on the container_registry feature access level1812 allows build_read_container_image to admins who are also team members1813 project_visibility: :public, access_level: 0, role: :anonymous, allowed: false1814 allows/disallows the abilities based on the container_registry feature access level1815 allows build_read_container_image to admins who are also team members1816 project_visibility: :internal, access_level: 20, role: :admin, allowed: true1817 allows/disallows the abilities based on the container_registry feature access level1818 allows build_read_container_image to admins who are also team members1819 project_visibility: :internal, access_level: 20, role: :owner, allowed: true1820 allows/disallows the abilities based on the container_registry feature access level1821 allows build_read_container_image to admins who are also team members1822 project_visibility: :internal, access_level: 20, role: :maintainer, allowed: true1823 allows/disallows the abilities based on the container_registry feature access level1824 allows build_read_container_image to admins who are also team members1825 project_visibility: :internal, access_level: 20, role: :developer, allowed: true1826 allows/disallows the abilities based on the container_registry feature access level1827 allows build_read_container_image to admins who are also team members1828 project_visibility: :internal, access_level: 20, role: :reporter, allowed: true1829 allows/disallows the abilities based on the container_registry feature access level1830 allows build_read_container_image to admins who are also team members1831 project_visibility: :internal, access_level: 20, role: :guest, allowed: true1832 allows/disallows the abilities based on the container_registry feature access level1833 allows build_read_container_image to admins who are also team members1834 project_visibility: :internal, access_level: 20, role: :anonymous, allowed: false1835 allows/disallows the abilities based on the container_registry feature access level1836 allows build_read_container_image to admins who are also team members1837 project_visibility: :internal, access_level: 10, role: :admin, allowed: true1838 allows/disallows the abilities based on the container_registry feature access level1839 allows build_read_container_image to admins who are also team members1840 project_visibility: :internal, access_level: 10, role: :owner, allowed: true1841 allows/disallows the abilities based on the container_registry feature access level1842 allows build_read_container_image to admins who are also team members1843 project_visibility: :internal, access_level: 10, role: :maintainer, allowed: true1844 allows/disallows the abilities based on the container_registry feature access level1845 allows build_read_container_image to admins who are also team members1846 project_visibility: :internal, access_level: 10, role: :developer, allowed: true1847 allows/disallows the abilities based on the container_registry feature access level1848 allows build_read_container_image to admins who are also team members1849 project_visibility: :internal, access_level: 10, role: :reporter, allowed: true1850 allows/disallows the abilities based on the container_registry feature access level1851 allows build_read_container_image to admins who are also team members1852 project_visibility: :internal, access_level: 10, role: :guest, allowed: false1853 allows/disallows the abilities based on the container_registry feature access level1854 allows build_read_container_image to admins who are also team members1855 project_visibility: :internal, access_level: 10, role: :anonymous, allowed: false1856 allows/disallows the abilities based on the container_registry feature access level1857 allows build_read_container_image to admins who are also team members1858 project_visibility: :internal, access_level: 0, role: :admin, allowed: false1859 allows/disallows the abilities based on the container_registry feature access level1860 allows build_read_container_image to admins who are also team members1861 project_visibility: :internal, access_level: 0, role: :owner, allowed: false1862 allows/disallows the abilities based on the container_registry feature access level1863 allows build_read_container_image to admins who are also team members1864 project_visibility: :internal, access_level: 0, role: :maintainer, allowed: false1865 allows/disallows the abilities based on the container_registry feature access level1866 allows build_read_container_image to admins who are also team members1867 project_visibility: :internal, access_level: 0, role: :developer, allowed: false1868 allows/disallows the abilities based on the container_registry feature access level1869 allows build_read_container_image to admins who are also team members1870 project_visibility: :internal, access_level: 0, role: :reporter, allowed: false1871 allows/disallows the abilities based on the container_registry feature access level1872 allows build_read_container_image to admins who are also team members1873 project_visibility: :internal, access_level: 0, role: :guest, allowed: false1874 allows/disallows the abilities based on the container_registry feature access level1875 allows build_read_container_image to admins who are also team members1876 project_visibility: :internal, access_level: 0, role: :anonymous, allowed: false1877 allows/disallows the abilities based on the container_registry feature access level1878 allows build_read_container_image to admins who are also team members1879 project_visibility: :private, access_level: 20, role: :admin, allowed: true1880 allows/disallows the abilities based on the container_registry feature access level1881 allows build_read_container_image to admins who are also team members1882 project_visibility: :private, access_level: 20, role: :owner, allowed: true1883 allows/disallows the abilities based on the container_registry feature access level1884 allows build_read_container_image to admins who are also team members1885 project_visibility: :private, access_level: 20, role: :maintainer, allowed: true1886 allows/disallows the abilities based on the container_registry feature access level1887 allows build_read_container_image to admins who are also team members1888 project_visibility: :private, access_level: 20, role: :developer, allowed: true1889 allows/disallows the abilities based on the container_registry feature access level1890 allows build_read_container_image to admins who are also team members1891 project_visibility: :private, access_level: 20, role: :reporter, allowed: true1892 allows/disallows the abilities based on the container_registry feature access level1893 allows build_read_container_image to admins who are also team members1894 project_visibility: :private, access_level: 20, role: :guest, allowed: false1895 allows/disallows the abilities based on the container_registry feature access level1896 allows build_read_container_image to admins who are also team members1897 project_visibility: :private, access_level: 20, role: :anonymous, allowed: false1898 allows/disallows the abilities based on the container_registry feature access level1899 allows build_read_container_image to admins who are also team members1900 project_visibility: :private, access_level: 10, role: :admin, allowed: true1901 allows/disallows the abilities based on the container_registry feature access level1902 allows build_read_container_image to admins who are also team members1903 project_visibility: :private, access_level: 10, role: :owner, allowed: true1904 allows/disallows the abilities based on the container_registry feature access level1905 allows build_read_container_image to admins who are also team members1906 project_visibility: :private, access_level: 10, role: :maintainer, allowed: true1907 allows/disallows the abilities based on the container_registry feature access level1908 allows build_read_container_image to admins who are also team members1909 project_visibility: :private, access_level: 10, role: :developer, allowed: true1910 allows/disallows the abilities based on the container_registry feature access level1911 allows build_read_container_image to admins who are also team members1912 project_visibility: :private, access_level: 10, role: :reporter, allowed: true1913 allows/disallows the abilities based on the container_registry feature access level1914 allows build_read_container_image to admins who are also team members1915 project_visibility: :private, access_level: 10, role: :guest, allowed: false1916 allows/disallows the abilities based on the container_registry feature access level1917 allows build_read_container_image to admins who are also team members1918 project_visibility: :private, access_level: 10, role: :anonymous, allowed: false1919 allows/disallows the abilities based on the container_registry feature access level1920 allows build_read_container_image to admins who are also team members1921 project_visibility: :private, access_level: 0, role: :admin, allowed: false1922 allows/disallows the abilities based on the container_registry feature access level1923 allows build_read_container_image to admins who are also team members1924 project_visibility: :private, access_level: 0, role: :owner, allowed: false1925 allows/disallows the abilities based on the container_registry feature access level1926 allows build_read_container_image to admins who are also team members1927 project_visibility: :private, access_level: 0, role: :maintainer, allowed: false1928 allows/disallows the abilities based on the container_registry feature access level1929 allows build_read_container_image to admins who are also team members1930 project_visibility: :private, access_level: 0, role: :developer, allowed: false1931 allows/disallows the abilities based on the container_registry feature access level1932 allows build_read_container_image to admins who are also team members1933 project_visibility: :private, access_level: 0, role: :reporter, allowed: false1934 allows/disallows the abilities based on the container_registry feature access level1935 allows build_read_container_image to admins who are also team members1936 project_visibility: :private, access_level: 0, role: :guest, allowed: false1937 allows/disallows the abilities based on the container_registry feature access level1938 allows build_read_container_image to admins who are also team members1939 project_visibility: :private, access_level: 0, role: :anonymous, allowed: false1940 allows/disallows the abilities based on the container_registry feature access level1941 allows build_read_container_image to admins who are also team members1942 update_runners_registration_token1943 when anonymous1944 is expected not to be allowed :update_runners_registration_token1945 admin1946 when admin mode is enabled1947 is expected to be allowed :update_runners_registration_token1948 when admin mode is disabled1949 is expected to be disallowed :update_runners_registration_token1950 guest1951 is expected to be disallowed :update_runners_registration_token1952 reporter1953 is expected to be disallowed :update_runners_registration_token1954 developer1955 is expected to be disallowed :update_runners_registration_token1956 maintainer1957 is expected to be allowed :update_runners_registration_token1958 owner1959 is expected to be allowed :update_runners_registration_token1960 register_project_runners1961 admin1962 when admin mode is enabled1963 with runner_registration_control FF disabled1964 is expected to be allowed :register_project_runners1965 with runner_registration_control FF enabled1966 is expected to be allowed :register_project_runners1967 with project runner registration disabled1968 is expected to be allowed :register_project_runners1969 when admin mode is disabled1970 is expected to be disallowed :register_project_runners1971 with owner1972 is expected to be allowed :register_project_runners1973 with runner_registration_control FF disabled1974 is expected to be allowed :register_project_runners1975 with runner_registration_control FF enabled1976 is expected to be allowed :register_project_runners1977 with project runner registration disabled1978 is expected to be disallowed :register_project_runners1979 with maintainer1980 is expected to be allowed :register_project_runners1981 with reporter1982 is expected to be disallowed :register_project_runners1983 with guest1984 is expected to be disallowed :register_project_runners1985 with non member1986 is expected to be disallowed :register_project_runners1987 with anonymous1988 is expected to be disallowed :register_project_runners1989 update_sentry_issue1990 role: :owner, allowed: true1991 is expected to equal true1992 role: :maintainer, allowed: true1993 is expected to equal true1994 role: :developer, allowed: true1995 is expected to equal true1996 role: :reporter, allowed: false1997 is expected to equal false1998 role: :guest, allowed: false1999 is expected to equal false2000Gitlab::GitAccess2001 #check with single protocols allowed2002 ssh disabled2003 blocks ssh git push and pull2004 http disabled2005 blocks http push and pull2006 when request is made from CI2007 doesn't block http pull2008 when legacy CI credentials are used2009 doesn't block http pull2010 #check_project_accessibility!2011 when the project exists2012 when actor exists2013 when actor is a DeployKey2014 when the DeployKey has access to the project2015 allows push and pull access2016 when the Deploykey does not have access to the project2017 blocks push and pull with "not found"2018 when actor is a User2019 when the User can read the project2020 allows push and pull access2021 when the User cannot read the project2022 blocks push and pull with "not found"2023 when actor is :ci2024 allows pull access2025 does not block pushes with "not found"2026 when actor is DeployToken2027 when DeployToken is active and belongs to project2028 allows pull access2029 blocks the push2030 when DeployToken does not belong to project2031 blocks pull access2032 blocks the push2033 when actor is nil2034 when guests can read the project2035 allows pull access2036 does not block pushes with "not found"2037 when guests cannot read the project2038 blocks pulls with "not found"2039 blocks pushes with "not found"2040 when the project does not exist2041 blocks push and pull with "not found"2042 behaves like #check with a key that is not valid2043 key is expired2044 does not allow expired keys2045 key is too small2046 does not allow keys which are too small2047 key type is not allowed2048 does not allow keys which are too small2049 behaves like #check with a key that is not valid2050 key is expired2051 does not allow expired keys2052 key is too small2053 does not allow keys which are too small2054 key type is not allowed2055 does not allow keys which are too small2056 #add_project_moved_message!2057 when a redirect was not followed to find the project2058 allows push and pull access2059 with a redirect and ssh protocol2060 behaves like check_project_moved2061 enqueues a redirected message for pushing2062 allows push and pull access2063 with a redirect and http protocol2064 behaves like check_project_moved2065 enqueues a redirected message for pushing2066 allows push and pull access2067 #check_authentication_abilities!2068 when download2069 raises unauthorized with download error2070 when authentication abilities include download code2071 does not raise any errors2072 when authentication abilities include build download code2073 does not raise any errors2074 when upload2075 raises unauthorized with push error2076 when authentication abilities include push code2077 does not raise any errors2078 #check_command_disabled!2079 over http2080 when the git-upload-pack command is disabled in config2081 when calling git-upload-pack2082 is expected to raise Gitlab::GitAccess::ForbiddenError with "Pulling over HTTP is not allowed."2083 when calling git-receive-pack2084 is expected not to raise Exception2085 when the git-receive-pack command is disabled in config2086 when calling git-receive-pack2087 is expected to raise Gitlab::GitAccess::ForbiddenError with "Pushing over HTTP is not allowed."2088 when calling git-upload-pack2089 is expected not to raise Exception2090 #check_db_accessibility!2091 when in a read-only GitLab instance2092 is expected to raise Gitlab::GitAccess::ForbiddenError with "You can't push code to a read-only GitLab instance."2093 #check_download_access!2094 allows maintainers to pull2095 disallows guests to pull2096 disallows blocked users to pull2097 disallows users that are blocked pending approval to pull2098 disallows deactivated users to pull2099 disallows users with expired password to pull2100 with an ldap user2101 allows ldap users with expired password to pull2102 when the project repository does not exist2103 returns not found2104 without access to project2105 pull code2106 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2107 when project is public2108 when repository is enabled2109 give access to download code2110 when repository is disabled2111 does not give access to download code2112 deploy key permissions2113 pull code2114 when project is public2115 when deploy key exists in the project2116 when the repository is public2117 is expected not to raise Exception2118 when the repository is private2119 is expected not to raise Exception2120 when the repository is disabled2121 is expected to raise Exception with "You are not allowed to download code from this project."2122 when deploy key does not exist in the project2123 when the repository is public2124 is expected not to raise Exception2125 when the repository is private2126 is expected to raise Exception with "You are not allowed to download code from this project."2127 when the repository is disabled2128 is expected to raise Exception with "You are not allowed to download code from this project."2129 when project is internal2130 when deploy key exists in the project2131 when the repository is public2132 is expected not to raise Exception2133 when the repository is private2134 is expected not to raise Exception2135 when the repository is disabled2136 is expected to raise Exception with "You are not allowed to download code from this project."2137 when deploy key does not exist in the project2138 when the repository is public2139 is expected to raise Exception with "The project you were looking for could not be found or you don't have permission to view it."2140 when the repository is private2141 is expected to raise Exception with "The project you were looking for could not be found or you don't have permission to view it."2142 when the repository is disabled2143 is expected to raise Exception with "The project you were looking for could not be found or you don't have permission to view it."2144 when project is private2145 when deploy key exists in the project2146 when the repository is private2147 is expected not to raise Exception2148 when the repository is disabled2149 is expected to raise Exception with "You are not allowed to download code from this project."2150 when deploy key does not exist in the project2151 when the repository is private2152 is expected to raise Exception with "The project you were looking for could not be found or you don't have permission to view it."2153 when the repository is disabled2154 is expected to raise Exception with "The project you were looking for could not be found or you don't have permission to view it."2155 deploy token permissions2156 pull code2157 when project is authorized2158 is expected not to raise Exception2159 when unauthorized2160 from public project2161 is expected not to raise Exception2162 from internal project2163 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2164 from private project2165 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2166 build authentication_abilities permissions2167 owner2168 pull code2169 is expected not to raise Exception2170 reporter user2171 pull code2172 is expected not to raise Exception2173 admin user2174 when admin mode enabled2175 when member of the project2176 pull code2177 is expected not to raise Exception2178 when is not member of the project2179 pull code2180 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to download code from this project."2181 when admin mode disabled2182 when member of the project2183 pull code2184 is expected not to raise Exception2185 when is not member of the project2186 pull code2187 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2188 generic CI (build without a user)2189 pull code2190 is expected not to raise Exception2191 check LFS integrity2192 when LFS is not enabled2193 does not run LFSIntegrity check2194 when LFS is enabled2195 checks LFS integrity only for first change2196 #check_push_access!2198 has the correct permissions for admin_with_admin_modes2199 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2200 has the correct permissions for maintainers2201 has the correct permissions for developers2202 has the correct permissions for reporters2203 has the correct permissions for guests2204 when developers are allowed to push into the exact protected branch2205 has the correct permissions for admin_with_admin_modes2206 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2207 has the correct permissions for maintainers2208 has the correct permissions for developers2209 has the correct permissions for reporters2210 has the correct permissions for guests2211 developers are allowed to merge into the exact protected branch2212 when a merge request exists for the given source/target branch2213 when the merge request is in progress2214 has the correct permissions for admin_with_admin_modes2215 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2216 has the correct permissions for maintainers2217 has the correct permissions for developers2218 has the correct permissions for reporters2219 has the correct permissions for guests2220 when the merge request is not in progress2221 has the correct permissions for admin_with_admin_modes2222 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2223 has the correct permissions for maintainers2224 has the correct permissions for developers2225 has the correct permissions for reporters2226 has the correct permissions for guests2227 when a merge request does not exist for the given source/target branch2228 has the correct permissions for admin_with_admin_modes2229 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2230 has the correct permissions for maintainers2231 has the correct permissions for developers2232 has the correct permissions for reporters2233 has the correct permissions for guests2234 when developers are allowed to push and merge into the exact protected branch2235 has the correct permissions for admin_with_admin_modes2236 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2237 has the correct permissions for maintainers2238 has the correct permissions for developers2239 has the correct permissions for reporters2240 has the correct permissions for guests2241 when no one is allowed to push to the feature protected branch2242 has the correct permissions for admin_with_admin_modes2243 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2244 has the correct permissions for maintainers2245 has the correct permissions for developers2246 has the correct permissions for reporters2247 has the correct permissions for guests2249 has the correct permissions for admin_with_admin_modes2250 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2251 has the correct permissions for maintainers2252 has the correct permissions for developers2253 has the correct permissions for reporters2254 has the correct permissions for guests2255 when developers are allowed to push into the wildcard protected branch2256 has the correct permissions for admin_with_admin_modes2257 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2258 has the correct permissions for maintainers2259 has the correct permissions for developers2260 has the correct permissions for reporters2261 has the correct permissions for guests2262 developers are allowed to merge into the wildcard protected branch2263 when a merge request exists for the given source/target branch2264 when the merge request is in progress2265 has the correct permissions for admin_with_admin_modes2266 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2267 has the correct permissions for maintainers2268 has the correct permissions for developers2269 has the correct permissions for reporters2270 has the correct permissions for guests2271 when the merge request is not in progress2272 has the correct permissions for admin_with_admin_modes2273 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2274 has the correct permissions for maintainers2275 has the correct permissions for developers2276 has the correct permissions for reporters2277 has the correct permissions for guests2278 when a merge request does not exist for the given source/target branch2279 has the correct permissions for admin_with_admin_modes2280 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2281 has the correct permissions for maintainers2282 has the correct permissions for developers2283 has the correct permissions for reporters2284 has the correct permissions for guests2285 when developers are allowed to push and merge into the wildcard protected branch2286 has the correct permissions for admin_with_admin_modes2287 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2288 has the correct permissions for maintainers2289 has the correct permissions for developers2290 has the correct permissions for reporters2291 has the correct permissions for guests2292 when no one is allowed to push to the feat* protected branch2293 has the correct permissions for admin_with_admin_modes2294 has the correct permissions for admin_without_admin_modes (PENDING: All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/296509)2295 has the correct permissions for maintainers2296 has the correct permissions for developers2297 has the correct permissions for reporters2298 has the correct permissions for guests2299 when pushing to a project2300 disallows users that are blocked pending approval to push2301 does not allow deactivated users to push2302 disallows users with expired password to push2303 avoids N+1 queries2304 raises TimeoutError when #check_access! raises a timeout error2305 with an ldap user2306 allows ldap users with expired password to push2307 disallows blocked ldap users with expired password to push2308 build authentication abilities2309 when project is authorized2310 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."2311 when unauthorized2312 to public project2313 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."2314 to internal project2315 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."2316 to private project2317 is expected to raise Gitlab::GitAccess::ForbiddenError with "You are not allowed to upload code."2318 when the repository is read-only2319 denies push access2320 deploy key permissions2321 when deploy_key can push2322 when project is authorized2323 is expected not to raise Exception2324 when unauthorized2325 to public project2326 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."2327 to internal project2328 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2329 to private project2330 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2331 when deploy_key cannot push2332 when project is authorized2333 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."2334 when unauthorized2335 to public project2336 is expected to raise Gitlab::GitAccess::ForbiddenError with "This deploy key does not have write access to this project."2337 to internal project2338 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2339 to private project2340 is expected to raise Gitlab::GitAccess::NotFoundError with "The project you were looking for could not be found or you don't have permission to view it."2341 terms are enforced2342 as an anonymous user to a public project2343 is expected not to raise Exception2344 as a guest to a public project2345 behaves like access after accepting terms2346 blocks access when the user did not accept terms2347 allows access when the user accepted the terms2348 as a reporter to the project2349 behaves like access after accepting terms2350 blocks access when the user did not accept terms2351 allows access when the user accepted the terms2352 as a developer of the project2353 behaves like access after accepting terms2354 blocks access when the user did not accept terms2355 allows access when the user accepted the terms2356 as a maintainer of the project2357 behaves like access after accepting terms2358 blocks access when the user did not accept terms2359 allows access when the user accepted the terms2360 as an owner of the project2361 behaves like access after accepting terms2362 blocks access when the user did not accept terms2363 allows access when the user accepted the terms2364 when a ci build clones the project2365 doesn't block http pull2366Issue2367 Associations2368 is expected to belong to milestone required: false2369 is expected to belong to iteration required: false2370 is expected to belong to project required: false2371 is expected to have one namespace through project2372 is expected to belong to work_item_type class_name => WorkItems::Type required: false2373 is expected to belong to moved_to class_name => Issue required: false2374 is expected to have one moved_from class_name => Issue2375 is expected to belong to duplicated_to class_name => Issue required: false2376 is expected to belong to closed_by class_name => User required: false2377 is expected to have many assignees2378 is expected to have many user_mentions class_name => IssueUserMention2379 is expected to have many designs2380 is expected to have many design_versions2381 is expected to have one sentry_issue2382 is expected to have one alert_management_alert2383 is expected to have many resource_milestone_events2384 is expected to have many resource_state_events2385 is expected to have and belong to many prometheus_alert_events2386 is expected to have and belong to many self_managed_prometheus_alert_events2387 is expected to have many prometheus_alerts2388 is expected to have many issue_email_participants2389 is expected to have one email2390 is expected to have many timelogs2391 is expected to have one incident_management_issuable_escalation_status2392 is expected to have many issue_customer_relations_contacts2393 is expected to have many customer_relations_contacts2394 is expected to have many incident_management_timeline_events2395 versions.most_recent2396 returns the most recent version2397 modules2398 is expected to includes the Issuable module2399 is expected to includes the Referable module2400 is expected to includes the Sortable module2401 is expected to includes the Taskable module2402 is expected to includes the MilestoneEventable module2403 is expected to includes the StateEventable module2404 behaves like AtomicInternalId2405 .has_internal_id2406 Module inclusion2407 is expected to includes the AtomicInternalId module2408 Validation2409 when presence validation is required2410 when creating an object2411 raises an error if the internal id is blank2412 when updating an object2413 raises an error if the internal id is blank2414 when presence validation is not required2415 when creating an object2416 does not raise an error if the internal id is blank (PENDING: No reason given)2417 when updating an object2418 does not raise an error if the internal id is blank (PENDING: No reason given)2419 Creating an instance2420 saves a new instance properly2421 internal id generation2422 calls InternalId.generate_next and sets internal id attribute2423 does not overwrite an existing internal id2424 when the instance has an internal ID set2425 calls InternalId.update_last_value and sets the `last_value` to that of the instance2426 unsetting the instance internal id on rollback2427 when the internal id has been changed2428 when the internal id is automatically set2429 clears it on the instance2430 when the internal id is manually set2431 does not clear it on the instance2432 when the internal id has not been changed2433 preserves the value on the instance2434 supply of internal ids2435 provides a persistent supply of IID values, sensitive to the current state2436 #reset_scope_internal_id_attribute2437 rewinds the allocated IID2438 allocates the same IID2439 validations2440 issue_type2441 when a valid type2442 is expected to eq true2443 empty type2444 is expected to eq false2445 callbacks2446 #ensure_metrics2447 creates metrics after saving2448 does not create duplicate metrics for an issue2449 records current metrics2450 when metrics record is missing2451 creates the metrics record2452 #record_create_action2453 records the creation action after saving2454 order by upvotes2455 .order_upvotes_desc2456 orders on upvotes2457 .order_upvotes_asc2458 orders on upvotes2459 .with_alert_management_alerts2460 gets only issues with alerts2461 .simple_sorts2462 includes all keys2463 .with_issue_type2464 gives issues with the given issue type2465 gives issues with the given issue type2466 .order_severity2467 sorting ascending2468 is expected to eq [#<Issue id:53 namespace291/project307#1>, #<Issue id:52 namespace290/project306#1>, #<Issue id:51 namespace289/project305#1>]2469 sorting descending2470 is expected to eq [#<Issue id:51 namespace289/project305#1>, #<Issue id:52 namespace290/project306#1>, #<Issue id:53 namespace291/project307#1>]2471 .order_title2472 sorting ascending2473 is expected to eq [#<Issue id:55 namespace293/project309#1>, #<Issue id:56 namespace294/project310#1>, #<Issue id:57 namespace295/project311#1>, #<Issue id:54 namespace292/project308#1>]2474 sorting descending2475 is expected to eq [#<Issue id:54 namespace292/project308#1>, #<Issue id:57 namespace295/project311#1>, #<Issue id:56 namespace294/project310#1>, #<Issue id:55 namespace293/project309#1>]2476 #order_by_relative_position2477 returns ordered list2478 order by escalation status2479 .order_escalation_status_asc2480 is expected to eq [#<Issue id:62 namespace296/project312#1>, #<Issue id:63 namespace297/project313#1>, #<Issue id:64 namespace298/project314#1>]2481 .order_escalation_status_desc2482 is expected to eq [#<Issue id:63 namespace297/project313#1>, #<Issue id:62 namespace296/project312#1>, #<Issue id:64 namespace298/project314#1>]2483 #work_item_type2484 returns a default type if the legacy issue does not have a work item type associated yet2485 #sort2486 by relative_position2487 sorts asc with nulls at the end2488 #card_attributes2489 includes the author name2490 includes the assignee name2491 #close2492 sets closed_at to Time.current when an issue is closed2493 changes the state to closed2494 when an argument is provided2495 and the argument is a User2496 changes closed_by to the given user2497 and the argument is a not a User2498 does not change closed_by2499 when an argument is not provided2500 does not change closed_by2501 #reopen2502 sets closed_at to nil when an issue is reopened2503 sets closed_by to nil when an issue is reopened2504 clears moved_to_id for moved issues2505 clears duplicated_to_id for duplicated issues2506 changes the state to opened2507 #to_reference2508 when nil argument2509 returns issue id2510 returns complete path to the issue with full: true2511 when argument is a project2512 when same project2513 returns issue id2514 returns full reference with full: true2515 when cross-project in same namespace2516 returns a cross-project reference2517 when cross-project in different namespace2518 returns complete path to the issue2519 when argument is a namespace2520 when same as issue2521 returns path to the issue with the project name2522 returns full reference with full: true2523 when different to issue namespace2524 returns full path to the issue with full: true2525 #assignee_or_author?2526 returns true for a user that is assigned to an issue2527 returns true for a user that is the author of an issue2528 returns false for a user that is not the assignee or author2529 #related_issues to relate incidents and issues2530 returns only authorized related issues for given user2531 returns issues with valid issue_link_type2532 returns issues including the link creation time2533 returns issues including the link update time2534 when a user cannot read cross project2535 only returns issues within the same project2536 #can_move?2537 user is not a member of project issue belongs to2538 is expected to eq false2539 user is reporter in project issue belongs to2540 is expected to eq true2541 issue not persisted2542 is expected to eq false2543 checking destination project also2544 destination project allowed2545 is expected to eq true2546 destination project not allowed2547 is expected to eq false2548 #moved?2549 when issue has not been moved2550 is expected not to be moved2551 when issue has already been moved2552 is expected to be moved2553 #duplicated?2554 issue not duplicated2555 is expected to eq false2556 issue already duplicated2557 is expected to eq true2558 #from_service_desk?2559 when issue author is support bot2560 is expected to be truthy2561 when issue author is not support bot2562 is expected to be falsey2563 #suggested_branch_name2564 #to_branch_name does not exists2565 returns #to_branch_name2566 #to_branch_name exists not ending with -index2567 returns #to_branch_name ending with -22568 #to_branch_name exists ending with -index2569 returns #to_branch_name ending with max index + 12570 #has_related_branch?2571 branch found2572 is expected to eq true2573 branch not found2574 is expected to eq false2575 behaves like an editable mentionable2576 creates new cross-reference notes when the mentionable text is edited2577 behaves like a mentionable2578 generates a descriptive back-reference2579 extracts references from its reference property2580 creates cross-reference notes2581 when there are cached markdown fields2582 sends in cached markdown fields when appropriate2583 when there are cached markdown fields2584 refreshes markdown cache if necessary2585 when the markdown cache is stale2586 persists the refreshed cache so that it does not have to be refreshed every time2587 behaves like a Taskable2588 with multiple tasks2589 returns the correct task status2590 #tasks?2591 returns true when object has tasks2592 returns false when object has no tasks2593 with nested tasks2594 returns the correct task status2595 with an incomplete task2596 returns the correct task status2597 with tasks that are not formatted correctly2598 returns the correct task status2599 with a complete task2600 returns the correct task status2601 with tasks in blockquotes2602 returns the correct task status2603 .to_branch_name2604 parameterizes arguments and joins with dashes2605 preserves the case in the first argument2606 truncates branch name to at most 100 characters2607 truncates dangling parts of the branch name2608 #to_branch_name2609 returns a branch name with the issue title if not confidential2610 returns a generic branch name if confidential2611 #can_be_worked_on?2612 is expected to be can be worked on2613 is closed2614 is expected not to be can be worked on2615 project is forked2616 is expected not to be can be worked on2617 #participants2618 behaves like issuable participants2619 when resource parent is public2620 and users are referenced on notes2621 includes the issue author2622 includes the authors of the notes2623 and note is confidential2624 and mentions users2625 only includes users that can read the note as participants2626 using a private project2627 does not include mentioned users that do not have access to the project2628 cached counts2629 updates when assignees change2630 #visible_to_user?2631 with a project2632 returns false when feature is disabled2633 returns false when restricted for members2634 without a user2635 with issue available as public2636 returns true when the issue is publicly visible2637 returns false when the issue is not publicly visible2638 with issues available only to team members in a public project2639 returns false2640 with a user2641 with an admin user2642 when admin mode is enabled2643 behaves like issue readable by user2644 is expected to eq true2645 behaves like confidential issue readable by user2646 is expected to eq true2647 behaves like hidden issue readable by user2648 is expected to eq true2649 when admin mode is disabled2650 behaves like issue not readable by user2651 is expected to eq false2652 behaves like confidential issue not readable by user2653 is expected to eq false2654 behaves like hidden issue not readable by user2655 is expected to eq false2656 with an owner2657 behaves like issue readable by user2658 is expected to eq true2659 behaves like confidential issue readable by user2660 is expected to eq true2661 behaves like hidden issue not readable by user2662 is expected to eq false2663 with a reporter user2664 behaves like issue readable by user2665 is expected to eq true2666 behaves like confidential issue readable by user2667 is expected to eq true2668 behaves like hidden issue not readable by user2669 is expected to eq false2670 with a guest user2671 behaves like issue readable by user2672 is expected to eq true2673 behaves like confidential issue not readable by user2674 is expected to eq false2675 behaves like hidden issue not readable by user2676 is expected to eq false2677 when user is an assignee2678 behaves like issue readable by user2679 is expected to eq true2680 behaves like confidential issue readable by user2681 is expected to eq true2682 behaves like hidden issue not readable by user2683 is expected to eq false2684 when user is the author2685 behaves like issue readable by user2686 is expected to eq true2687 behaves like confidential issue readable by user2688 is expected to eq true2689 behaves like hidden issue not readable by user2690 is expected to eq false2691 with a user that is not a member2692 using a public project2693 behaves like issue readable by user2694 is expected to eq true2695 behaves like confidential issue not readable by user2696 is expected to eq false2697 behaves like hidden issue not readable by user2698 is expected to eq false2699 using an internal project2700 using an internal user2701 behaves like issue readable by user2702 is expected to eq true2703 behaves like confidential issue not readable by user2704 is expected to eq false2705 behaves like hidden issue not readable by user2706 is expected to eq false2707 using an external user2708 behaves like issue not readable by user2709 is expected to eq false2710 behaves like confidential issue not readable by user2711 is expected to eq false2712 behaves like hidden issue not readable by user2713 is expected to eq false2714 using an external user2715 behaves like issue not readable by user2716 is expected to eq false2717 behaves like confidential issue not readable by user2718 is expected to eq false2719 behaves like hidden issue not readable by user2720 is expected to eq false2721 with an external authentication service2722 is `false` when an external authorization service is enabled2723 checks the external service to determine if an issue is readable by a user2724 does not check the external service if a user does not have access to the project2725 with an admin2726 when admin mode is enabled2727 does not check the external webservice2728 when admin mode is disabled2729 checks the external service to determine if an issue is readable by the admin2730 when issue is moved to a private project2731 when user is the author of the original issue2732 behaves like issue visible if user has guest access2733 when user is not a member2734 behaves like issue not readable by user2735 is expected to eq false2736 behaves like confidential issue not readable by user2737 is expected to eq false2738 when user is a guest2739 behaves like issue readable by user2740 is expected to eq true2741 behaves like confidential issue readable by user2742 is expected to eq true2743 when user is an assignee in the original issue2744 behaves like issue visible if user has guest access2745 when user is not a member2746 behaves like issue not readable by user2747 is expected to eq false2748 behaves like confidential issue not readable by user2749 is expected to eq false2750 when user is a guest2751 behaves like issue readable by user2752 is expected to eq true2753 behaves like confidential issue readable by user2754 is expected to eq true2755 when user is not the author or an assignee in original issue2756 when user is a guest2757 behaves like issue readable by user2758 is expected to eq true2759 behaves like confidential issue not readable by user2760 is expected to eq false2761 when user is a reporter2762 behaves like issue readable by user2763 is expected to eq true2764 behaves like confidential issue readable by user2765 is expected to eq true2766 #publicly_visible?2767 using a public project2768 returns true for a regular issue2769 returns false for a confidential issue2770 using an internal project2771 returns false for a regular issue2772 returns false for a confidential issue2773 using a private project2774 returns false for a regular issue2775 returns false for a confidential issue2776 #check_for_spam?2777 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:description=>"new"}, check_for_spam?: true2778 checks for spam when necessary2779 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:title=>"new"}, check_for_spam?: true2780 checks for spam when necessary2781 support_bot?: false, visibility_level: 20, confidential: true, new_attributes: {:confidential=>false}, check_for_spam?: true2782 checks for spam when necessary2783 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:confidential=>true}, check_for_spam?: false2784 checks for spam when necessary2785 support_bot?: false, visibility_level: 20, confidential: true, new_attributes: {:description=>"new"}, check_for_spam?: false2786 checks for spam when necessary2787 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:title=>"new", :confidential=>true}, check_for_spam?: false2788 checks for spam when necessary2789 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:description=>"original description"}, check_for_spam?: false2790 checks for spam when necessary2791 support_bot?: false, visibility_level: 20, confidential: false, new_attributes: {:weight=>3}, check_for_spam?: false2792 checks for spam when necessary2793 support_bot?: false, visibility_level: 10, confidential: false, new_attributes: {:description=>"new"}, check_for_spam?: false2794 checks for spam when necessary2795 support_bot?: false, visibility_level: 0, confidential: false, new_attributes: {:description=>"new"}, check_for_spam?: false2796 checks for spam when necessary2797 support_bot?: true, visibility_level: 20, confidential: true, new_attributes: {:confidential=>false}, check_for_spam?: true2798 checks for spam when necessary2799 support_bot?: true, visibility_level: 20, confidential: false, new_attributes: {:confidential=>true}, check_for_spam?: false2800 checks for spam when necessary2801 support_bot?: true, visibility_level: 20, confidential: true, new_attributes: {:description=>"new"}, check_for_spam?: true2802 checks for spam when necessary2803 support_bot?: true, visibility_level: 20, confidential: false, new_attributes: {:title=>"new", :confidential=>true}, check_for_spam?: true2804 checks for spam when necessary2805 support_bot?: true, visibility_level: 10, confidential: false, new_attributes: {:description=>"new"}, check_for_spam?: true2806 checks for spam when necessary2807 support_bot?: true, visibility_level: 0, confidential: false, new_attributes: {:title=>"new"}, check_for_spam?: true2808 checks for spam when necessary2809 support_bot?: true, visibility_level: 20, confidential: false, new_attributes: {:description=>"original description"}, check_for_spam?: false2810 checks for spam when necessary2811 support_bot?: true, visibility_level: 0, confidential: true, new_attributes: {:weight=>3}, check_for_spam?: false2812 checks for spam when necessary2813 removing an issue2814 refreshes the number of open issues of the project2815 .public_only2816 only returns public issues2817 .confidential_only2818 only returns confidential_only issues2819 .without_hidden2820 only returns without_hidden issues2821 when feature flag is disabled2822 returns public and hidden issues2823 .by_project_id_and_iid2824 behaves like a where_composite scope2825 we pass an empty array2826 returns a null relation2827 we pass nil2828 returns a null relation2829 we pass a singleton composite id2830 finds the first result2831 we pass group of ids2832 finds all the results2833 performance2834 is not O(N)2835 .service_desk2836 returns the service desk issue2837 behaves like throttled touch2838 #touch2839 updates the updated_at timestamp2840 updates the object at most once per minute2841 relative positioning2842 is not blocked for repositioning by default2843 behaves like a class that supports relative positioning2844 #scoped_items2845 includes all items with the same scope2846 #relative_siblings2847 includes all items with the same scope, except self2848 .move_nulls_to_end2849 moves items with null relative_position to the end2850 preserves relative position2851 moves the item near the start position when there are no existing positions2852 does not perform any moves if all items have their relative_position set2853 manages to move nulls to the end even if there is a sequence at the end2854 manages to move nulls to the end even if there is not enough space2855 manages to move nulls to the end, stacking if we cannot create enough space2856 manages to move nulls found in the relative scope2857 can move many nulls2858 does not have an N+1 issue2859 .move_nulls_to_start2860 moves items with null relative_position to the start2861 moves the item near the start position when there are no existing positions2862 preserves relative position2863 does not perform any moves if all items have their relative_position set2864 manages to move nulls to the start even if there is not enough space2865 manages to move nulls to the end, stacking if we cannot create enough space2866 #move_before2867 moves item before2868 can move the item before an item at the start2869 can move the item before an item at MIN_POSITION2870 can move the item before an item bunched up at MIN_POSITION2871 when there is no space2872 moves items correctly2873 leap-frogging to the left2874 can leap-frog STEPS times before needing to rebalance2875 there is no space to the left after moving STEPS times2876 rebalances to the right2877 #move_after2878 moves item after2879 can move the item after an item bunched up at MAX_POSITION2880 when there is no space2881 can move the item after an item at MAX_POSITION2882 moves items correctly2883 leap-frogging2884 rebalances after STEPS jumps2885 #move_to_start2886 places items at most IDEAL_DISTANCE from the start when the range is open2887 moves item to the end2888 positions the item at MIN_POSITION when there is only one space left2889 rebalances when there is already an item at the MIN_POSITION2890 deals with a run of elements at the start2891 #move_to_end2892 places items at most IDEAL_DISTANCE from the start when the range is open2893 moves item to the end2894 positions the item at MAX_POSITION when there is only one space left2895 rebalances when there is already an item at the MAX_POSITION2896 deals with a run of elements at the end2897 #move_between2898 positions item between two other2899 positions item between on top2900 positions item between to end2901 positions items even when after and before positions are the same2902 positions item in the middle of other two if distance is big enough2903 positions item closer to the middle if we are at the very top2904 positions item closer to the middle if we are at the very bottom2905 positions item in the middle of other two2906 positions item right if we pass non-sequential parameters2907 avoids N+1 queries when rebalancing other items2908 the two items are next to each other2909 behaves like moves item between2910 moves the middle item to between left and right2911 there is no space2912 behaves like moves item between2913 moves the middle item to between left and right2914 there is a bunch of items2915 handles bunches correctly2916 behaves like moves item between2917 moves the middle item to between left and right2918 when block_issue_repositioning flag is enabled for group2919 is blocked for repositioning2920 does not move issues with null position2921 behaves like versioned description2922 associations2923 is expected to have many description_versions2924 save_description_version2925 when description was changed2926 saves the old and new description for the first update2927 only saves the new description for subsequent updates2928 sets the new description version to `saved_description_version`2929 clears `saved_description_version` after another save that does not change description2930 when description was not changed2931 does not save any description version2932 #previous_updated_at2933 returns updated_at value if updated_at did not change at all2934 returns updated_at value if `previous_changes` has nil value for `updated_at`2935 returns updated_at value if previous updated_at value is not present2936 returns previous updated_at when present2937 #design_collection2938 returns a design collection2939 current designs2940 an issue has no designs2941 is expected to be empty2942 an issue only has current designs2943 is expected to include #<DesignManagement::Design id:4 namespace269/project285#1/designs[homescreen-4.jpg]>, #<DesignManagement::Design id:5 namespace269/project285#1/designs[homescreen-5.jpg]>, and #<DesignManagement::Design id:6 namespace269/project285#1/designs[homescreen-6.jpg]>2944 an issue only has deleted designs2945 is expected to be empty2946 an issue has a mixture of current and deleted designs2947 is expected to contain exactly #<DesignManagement::Design id:10 namespace269/project285#1/designs[homescreen-10.jpg]> and #<DesignManagement::Design id:12 namespace269/project285#1/designs[homescreen-12.jpg]>2948 banzai_render_context2949 sets the label_url_method in the context2950 scheduling rebalancing2951 when project in user namespace2952 behaves like schedules issues rebalancing2953 schedules rebalancing if there is no space left2954 when project in a group namespace2955 behaves like schedules issues rebalancing2956 schedules rebalancing if there is no space left2957 #allows_reviewers?2958 returns false as we do not support reviewers on issues yet2959 #issue_type_supports?2960 raises error when feature is invalid2961 #supports_time_tracking?2962 issue_type: :issue, supports_time_tracking: true2963 is expected to eq true2964 issue_type: :incident, supports_time_tracking: true2965 is expected to eq true2966 #supports_move_and_clone?2967 issue_type: :issue, supports_move_and_clone: true2968 is expected to eq true2969 issue_type: :incident, supports_move_and_clone: true2970 is expected to eq true2971 #email_participants_emails2972 returns a list of emails2973 #email_participants_downcase2974 returns a list of emails with all uppercase letters replaced with their lowercase counterparts2975 #escalation_status2976 returns the incident_management_issuable_escalation_status association2977 #expire_etag_cache2978 touches the etag cache store2979 #link_reference_pattern2980 with issue url2981 matches with expected attributes2982 with incident url2983 matches with expected attributes2984 order by closed_at2985 .order_closed_at_asc2986 orders on closed at2987 .order_closed_at_desc2988 orders on closed at2989Clusters::Applications::Jupyter2990 is expected to belong to cluster required: false2991 is expected to validate that :cluster cannot be empty/falsy2992 is expected to belong to oauth_application required: false2993 #can_uninstall?2994 calls allowed_to_uninstall?2995 #name2996 is .application_name2997 is recorded in Clusters::Cluster::APPLICATIONS2998 .association_name2999 is expected to eq :application_jupyter3000 #helm_command_module3001 helm_major_version: 2, expected_helm_command_module: Gitlab::Kubernetes::Helm::V23002 is expected to eq Gitlab::Kubernetes::Helm::V23003 helm_major_version: 3, expected_helm_command_module: Gitlab::Kubernetes::Helm::V33004 is expected to eq Gitlab::Kubernetes::Helm::V33005 #status_states3006 returns a hash of state values3007 returns an integer for installed state value3008 .available3009 is expected to contain exactly #<Clusters::Applications::Jupyter id: 1, cluster_id: 15, oauth_application_id: 1, status: 3, version:...04 07:18:47.652550742 +0000", updated_at: "2022-07-04 07:18:47.652550742 +0000", status_reason: nil> and #<Clusters::Applications::Jupyter id: 2, cluster_id: 21, oauth_application_id: 2, status: 5, version:...04 07:18:49.206238532 +0000", updated_at: "2022-07-04 07:18:49.206238532 +0000", status_reason: nil>3010 status state machine3011 #make_installing3012 is installing3013 #make_installed3014 is installed3015 does not update the helm version3016 the cluster has no helm installed3017 runs without errors3018 application is updating3019 is updated3020 does not update the helm version3021 the cluster has no helm installed3022 runs without errors3023 #make_errored3024 is errored3025 application is updating3026 is update_errored3027 application is uninstalling3028 is uninstall_errored3029 #make_externally_installed3030 is installed3031 helm record does not exist3032 does not create a helm record3033 helm record exists3034 does not update helm version3035 application is updated3036 is installed3037 application is errored3038 is installed3039 clears #status_reason3040 #make_externally_uninstalled3041 is uninstalled3042 application is updated3043 is uninstalled3044 application is errored3045 is uninstalled3046 clears #status_reason3047 #make_scheduled3048 is scheduled3049 when installed3050 is scheduled3051 when was errored3052 clears #status_reason3053 when was updated_errored3054 clears #status_reason3055 when was uninstall_errored3056 clears #status_reason3057 #make_uninstalling3058 is uninstalling3059 #available?3060 trait: :not_installable, available: false3061 is expected not to be available3062 trait: :installable, available: false3063 is expected not to be available3064 trait: :scheduled, available: false3065 is expected not to be available3066 trait: :installing, available: false3067 is expected not to be available3068 trait: :installed, available: true3069 is expected to be available3070 trait: :updating, available: false3071 is expected not to be available3072 trait: :updated, available: true3073 is expected to be available3074 trait: :errored, available: false3075 is expected not to be available3076 trait: :update_errored, available: false3077 is expected not to be available3078 trait: :uninstalling, available: false3079 is expected not to be available3080 trait: :uninstall_errored, available: false3081 is expected not to be available3082 trait: :uninstalled, available: false3083 is expected not to be available3084 trait: :timed_out, available: false3085 is expected not to be available3086 trait: :externally_installed, available: true3087 is expected to be available3088 update_available?3089 version is not the same as VERSION3090 is expected to be truthy3091 version is the same as VERSION3092 is expected to be falsey3093 #make_installed3094 sets the correct version of the application3095 application is updating3096 updates the version of the application3097 #make_externally_installed3098 sets to a special version3099 #uninstall_command3100 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::DeleteCommand3101 has files3102 is rbac3103 on a non rbac enabled cluster3104 is expected not to be rbac3105 #files3106 does not include cert files3107 when cluster does not have helm installed3108 does not include cert files3109 #can_uninstall?3110 is expected to be truthy3111 #set_initial_status3112 when ingress is not installed3113 is expected to be not installable3114 when ingress is installed and external_ip is assigned3115 is expected to be installable3116 when ingress is installed and external_hostname is assigned3117 is expected to be installable3118 #install_command3119 is expected to be an instance of Gitlab::Kubernetes::Helm::V3::InstallCommand3120 is initialized with 4 arguments3121 on a non rbac enabled cluster3122 is expected not to be rbac3123 application failed to install previously3124 is initialized with the locked version3125 #files3126 when cluster belongs to a project3127 includes valid values3128 when cluster belongs to a group3129 includes valid values3130WebHooks::LogExecutionService3131 #execute3132 logs the data3133 obtaining an exclusive lease3134 updates failure state using a lease that ensures fresh state is written3135 when a lease cannot be obtained3136 response_category: :ok, executable: true, needs_updating: false3137 raises an error if the hook needs to be updated3138 response_category: :ok, executable: false, needs_updating: true3139 raises an error if the hook needs to be updated3140 response_category: :failed, executable: true, needs_updating: true3141 raises an error if the hook needs to be updated3142 response_category: :failed, executable: false, needs_updating: false3143 raises an error if the hook needs to be updated3144 response_category: :error, executable: true, needs_updating: true3145 raises an error if the hook needs to be updated3146 response_category: :error, executable: false, needs_updating: false3147 raises an error if the hook needs to be updated3148 when response_category is :ok3149 does not increment the failure count3150 does not change the disabled_until attribute3151 when the hook had previously failed3152 resets the failure count3153 sends a message to AuthLogger if the hook as not previously enabled3154 when response_category is :failed3155 increments the failure count3156 does not change the disabled_until attribute3157 does not allow the failure count to overflow3158 sends a message to AuthLogger if the state would change3159 when the web_hooks_disable_failed FF is disabled3160 does not allow the failure count to overflow3161 when response_category is :error3162 does not increment the failure count3163 backs off3164 increases the backoff count3165 sends a message to AuthLogger if the state would change3166 when the previous cool-off was near the maximum3167 sets the disabled_until attribute3168 when we have backed-off many many times3169 sets the disabled_until attribute3170GroupPolicy3171 public group with no user3172 is expected not to be allowed :read_namespace3173 public group with user who is not a member3174 is expected not to be allowed :read_namespace3175 private group that has been invited to a public project and with no user3176 is expected not to be allowed :register_group_runners3177 private group that has been invited to a public project and with a foreign user3178 is expected not to be allowed :register_group_runners3179 has projects3180 is expected to be allowed :read_issue_board3181 in subgroups3182 is expected to be allowed :read_issue_board3183 guests3184 is expected not to be allowed :register_group_runners3185 behaves like deploy token does not get confused with user3186 is expected not to be allowed :register_group_runners3187 reporter3188 is expected not to be allowed :register_group_runners3189 behaves like deploy token does not get confused with user3190 is expected not to be allowed :register_group_runners3191 developer3192 is expected not to be allowed :register_group_runners3193 behaves like deploy token does not get confused with user3194 is expected not to be allowed :register_group_runners3195 maintainer3196 with subgroup_creation level set to maintainer3197 allows every maintainer permission plus creating subgroups3198 with subgroup_creation_level set to owner3199 allows every maintainer permission3200 behaves like deploy token does not get confused with user3201 is expected not to be allowed :register_group_runners3202 owner3203 is expected to be allowed :register_group_runners3204 behaves like deploy token does not get confused with user3205 is expected not to be allowed :register_group_runners3206 admin3207 is expected not to be allowed :register_group_runners3208 with admin mode3209 is expected to be allowed :read_confidential_issues3210 behaves like deploy token does not get confused with user3211 is expected not to be allowed :register_group_runners3212 with admin mode3213 is expected not to be allowed :read_confidential_issues3214 migration bot3215 aggregate_failures3216 behaves like deploy token does not get confused with user3217 is expected not to be allowed :register_group_runners3218 private nested group use the highest access level from the group and inherited permissions3219 with no user3220 is expected not to be allowed :register_group_runners3221 guests3222 is expected not to be allowed :register_group_runners3223 reporter3224 is expected not to be allowed :register_group_runners3225 developer3226 is expected not to be allowed :register_group_runners3227 maintainer3228 is expected not to be allowed :register_group_runners3229 owner3230 is expected to be allowed :register_group_runners3231 change_share_with_group_lock3232 when the current_user owns the group3233 when the group share_with_group_lock is enabled3234 when the parent group share_with_group_lock is enabled3235 when the group has a grandparent3236 when the grandparent share_with_group_lock is enabled3237 when the current_user owns the parent3238 when the current_user owns the grandparent3239 is expected to be allowed :change_share_with_group_lock3240 when the current_user does not own the grandparent3241 is expected not to be allowed :change_share_with_group_lock3242 when the current_user does not own the parent3243 is expected not to be allowed :change_share_with_group_lock3244 when the grandparent share_with_group_lock is disabled3245 when the current_user owns the parent3246 is expected to be allowed :change_share_with_group_lock3247 when the current_user does not own the parent3248 is expected not to be allowed :change_share_with_group_lock3249 when the group does not have a grandparent3250 when the current_user owns the parent3251 is expected to be allowed :change_share_with_group_lock3252 when the current_user does not own the parent3253 is expected not to be allowed :change_share_with_group_lock3254 when the parent group share_with_group_lock is disabled3255 is expected to be allowed :change_share_with_group_lock3256 when the group share_with_group_lock is disabled3257 is expected to be allowed :change_share_with_group_lock3258 when the current_user does not own the group3259 is expected not to be allowed :change_share_with_group_lock3260 transfer_projects3261 reporter3262 behaves like not allowed to transfer projects3263 is expected to be disallowed :transfer_projects3264 behaves like not allowed to transfer projects3265 is expected to be disallowed :transfer_projects3266 behaves like not allowed to transfer projects3267 is expected to be disallowed :transfer_projects3268 developer3269 behaves like not allowed to transfer projects3270 is expected to be disallowed :transfer_projects3271 behaves like not allowed to transfer projects3272 is expected to be disallowed :transfer_projects3273 behaves like not allowed to transfer projects3274 is expected to be disallowed :transfer_projects3275 maintainer3276 behaves like not allowed to transfer projects3277 is expected to be disallowed :transfer_projects3278 behaves like allowed to transfer projects3279 is expected to be allowed :transfer_projects3280 behaves like allowed to transfer projects3281 is expected to be allowed :transfer_projects3282 owner3283 behaves like not allowed to transfer projects3284 is expected to be disallowed :transfer_projects3285 behaves like allowed to transfer projects3286 is expected to be allowed :transfer_projects3287 behaves like allowed to transfer projects3288 is expected to be allowed :transfer_projects3289 create_projects3290 when group has no project creation level set3291 reporter3292 is expected to be disallowed :create_projects3293 developer3294 is expected to be allowed :create_projects3295 maintainer3296 is expected to be allowed :create_projects3297 owner3298 is expected to be allowed :create_projects3299 when group has project creation level set to no one3300 reporter3301 is expected to be disallowed :create_projects3302 developer3303 is expected to be disallowed :create_projects3304 maintainer3305 is expected to be disallowed :create_projects3306 owner3307 is expected to be disallowed :create_projects3308 when group has project creation level set to maintainer only3309 reporter3310 is expected to be disallowed :create_projects3311 developer3312 is expected to be disallowed :create_projects3313 maintainer3314 is expected to be allowed :create_projects3315 owner3316 is expected to be allowed :create_projects3317 when group has project creation level set to developers + maintainer3318 reporter3319 is expected to be disallowed :create_projects3320 developer3321 is expected to be allowed :create_projects3322 maintainer3323 is expected to be allowed :create_projects3324 owner3325 is expected to be allowed :create_projects3326 create_subgroup3327 when group has subgroup creation level set to owner3328 reporter3329 is expected to be disallowed :create_subgroup3330 developer3331 is expected to be disallowed :create_subgroup3332 maintainer3333 is expected to be disallowed :create_subgroup3334 owner3335 is expected to be allowed :create_subgroup3336 when group has subgroup creation level set to maintainer3337 reporter3338 is expected to be disallowed :create_subgroup3339 developer3340 is expected to be disallowed :create_subgroup3341 maintainer3342 is expected to be allowed :create_subgroup3343 owner3344 is expected to be allowed :create_subgroup3345 behaves like clusterable policies3346 #add_cluster?3347 with a reporter3348 is expected not to be allowed :read_cluster3349 is expected not to be allowed :add_cluster3350 is expected not to be allowed :create_cluster3351 is expected not to be allowed :update_cluster3352 is expected not to be allowed :admin_cluster3353 with a developer3354 is expected to be allowed :read_cluster3355 is expected not to be allowed :add_cluster3356 is expected not to be allowed :create_cluster3357 is expected not to be allowed :update_cluster3358 is expected not to be allowed :admin_cluster3359 with a maintainer3360 with no clusters3361 is expected to be allowed :read_cluster3362 is expected to be allowed :add_cluster3363 is expected to be allowed :create_cluster3364 is expected to be allowed :update_cluster3365 is expected to be allowed :admin_cluster3366 update_max_artifacts_size3367 when no user3368 is expected not to be allowed :update_max_artifacts_size3369 admin3370 when admin mode is enabled3371 is expected to be allowed :update_max_artifacts_size3372 when admin mode is enabled3373 is expected not to be allowed :update_max_artifacts_size3374 guest3375 is expected not to be allowed :update_max_artifacts_size3376 reporter3377 is expected not to be allowed :update_max_artifacts_size3378 developer3379 is expected not to be allowed :update_max_artifacts_size3380 maintainer3381 is expected not to be allowed :update_max_artifacts_size3382 owner3383 is expected not to be allowed :update_max_artifacts_size3384 design activity3385 when design management is not available3386 is expected not to be allowed :read_design_activity3387 even when there are projects in the group3388 is expected not to be allowed :read_design_activity3389 when design management is available globally3390 the group has no projects3391 is expected not to be allowed :read_design_activity3392 the group has a project3393 is expected to be allowed :read_design_activity3394 which does not have design management enabled3395 is expected not to be allowed :read_design_activity3396 but another project does3397 is expected to be allowed :read_design_activity3398 create_jira_connect_subscription3399 admin3400 when admin mode is enabled3401 is expected to be allowed :create_jira_connect_subscription3402 when admin mode is disabled3403 is expected to be disallowed :create_jira_connect_subscription3404 with owner3405 is expected to be allowed :create_jira_connect_subscription3406 with maintainer3407 is expected to be allowed :create_jira_connect_subscription3408 with reporter3409 is expected to be disallowed :create_jira_connect_subscription3410 with guest3411 is expected to be disallowed :create_jira_connect_subscription3412 with non member3413 is expected to be disallowed :create_jira_connect_subscription3414 with anonymous3415 is expected to be disallowed :create_jira_connect_subscription3416 read_package3417 admin3418 when admin mode is enabled3419 is expected to be allowed :read_package3420 when admin mode is disabled3421 is expected to be disallowed :read_package3422 with owner3423 is expected to be allowed :read_package3424 with maintainer3425 is expected to be allowed :read_package3426 with reporter3427 is expected to be allowed :read_package3428 with guest3429 is expected to be disallowed :read_package3430 with non member3431 is expected to be disallowed :read_package3432 with anonymous3433 is expected to be disallowed :read_package3434 dependency proxy3435 feature disabled3436 is expected to be disallowed :read_dependency_proxy3437 is expected to be disallowed :admin_dependency_proxy3438 feature enabled3439 reporter3440 is expected to be allowed :read_dependency_proxy3441 is expected to be disallowed :admin_dependency_proxy3442 developer3443 is expected to be allowed :read_dependency_proxy3444 is expected to be disallowed :admin_dependency_proxy3445 maintainer3446 is expected to be allowed :read_dependency_proxy3447 is expected to be allowed :admin_dependency_proxy3448 deploy token access3449 a deploy token with read_package_registry scope3450 is expected to be allowed :read_package3451 is expected to be allowed :read_group3452 is expected to be disallowed :create_package3453 a deploy token with write_package_registry scope3454 is expected to be allowed :create_package3455 is expected to be allowed :read_package3456 is expected to be allowed :read_group3457 is expected to be disallowed :destroy_package3458 a deploy token with dependency proxy scopes3459 is expected to be allowed :read_dependency_proxy3460 is expected to be disallowed :admin_dependency_proxy3461 behaves like Self-managed Core resource access tokens3462 with owner access3463 create resource access tokens3464 is expected to be allowed :create_resource_access_tokens3465 when resource access token creation is not allowed3466 is expected not to be allowed :create_resource_access_tokens3467 when parent group has project access token creation disabled3468 is expected not to be allowed :create_resource_access_tokens3469 with a personal namespace project3470 is expected to be allowed :create_resource_access_tokens3471 read resource access tokens3472 is expected to be allowed :read_resource_access_tokens3473 destroy resource access tokens3474 is expected to be allowed :destroy_resource_access_tokens3475 with developer access3476 create resource access tokens3477 is expected not to be allowed :create_resource_access_tokens3478 read resource access tokens3479 is expected not to be allowed :read_resource_access_tokens3480 destroy resource access tokens3481 is expected not to be allowed :destroy_resource_access_tokens3482 support bot3483 is expected not to be allowed :read_label3484 when group hierarchy has a project with service desk enabled3485 is expected to be allowed :read_label3486 is expected to be allowed :read_label3487 project bots3488 project_bot_access3489 when regular user and part of the group3490 is expected not to be allowed :project_bot_access3491 when project bot and not part of the project3492 is expected not to be allowed :project_bot_access3493 when project bot and part of the project3494 is expected to be allowed :project_bot_access3495 with resource access tokens3496 is expected not to be allowed :create_resource_access_tokens3497 update_runners_registration_token3498 admin3499 when admin mode is enabled3500 is expected to be allowed :update_runners_registration_token3501 when admin mode is disabled3502 is expected to be disallowed :update_runners_registration_token3503 with owner3504 is expected to be allowed :update_runners_registration_token3505 with maintainer3506 is expected to be disallowed :update_runners_registration_token3507 with reporter3508 is expected to be disallowed :update_runners_registration_token3509 with guest3510 is expected to be disallowed :update_runners_registration_token3511 with non member3512 is expected to be disallowed :update_runners_registration_token3513 with anonymous3514 is expected to be disallowed :update_runners_registration_token3515 register_group_runners3516 admin3517 when admin mode is enabled3518 with runner_registration_control FF disabled3519 is expected to be allowed :register_group_runners3520 with runner_registration_control FF enabled3521 is expected to be allowed :register_group_runners3522 with group runner registration disabled3523 is expected to be allowed :register_group_runners3524 when admin mode is disabled3525 is expected to be disallowed :register_group_runners3526 with owner3527 is expected to be allowed :register_group_runners3528 with runner_registration_control FF disabled3529 is expected to be allowed :register_group_runners3530 with runner_registration_control FF enabled3531 is expected to be allowed :register_group_runners3532 with group runner registration disabled3533 is expected to be disallowed :register_group_runners3534 with maintainer3535 is expected to be disallowed :register_group_runners3536 with reporter3537 is expected to be disallowed :register_group_runners3538 with guest3539 is expected to be disallowed :register_group_runners3540 with non member3541 is expected to be disallowed :register_group_runners3542 with anonymous3543 is expected to be disallowed :register_group_runners3544 change_prevent_sharing_groups_outside_hierarchy3545 with owner3546 is expected to be allowed :change_prevent_sharing_groups_outside_hierarchy3547 with non-owner roles3548 role: "admin"3549 is expected to be disallowed :change_prevent_sharing_groups_outside_hierarchy3550 role: "maintainer"3551 is expected to be disallowed :change_prevent_sharing_groups_outside_hierarchy3552 role: "reporter"3553 is expected to be disallowed :change_prevent_sharing_groups_outside_hierarchy3554 role: "developer"3555 is expected to be disallowed :change_prevent_sharing_groups_outside_hierarchy3556 role: "guest"3557 is expected to be disallowed :change_prevent_sharing_groups_outside_hierarchy3558 when crm_enabled is false3559 is expected to be disallowed :read_crm_contact3560 is expected to be disallowed :read_crm_organization3561 is expected to be disallowed :admin_crm_contact3562 is expected to be disallowed :admin_crm_organization3563 maintain_namespace3564 with non-admin roles3565 role: :guest, allowed: false3566 is expected to eq false3567 role: :reporter, allowed: false3568 is expected to eq false3569 role: :developer, allowed: false3570 is expected to eq false3571 role: :maintainer, allowed: true3572 is expected to eq true3573 role: :owner, allowed: true3574 is expected to eq true3575 as an admin3576 is expected to be allowed :maintain_namespace3577MergeRequests::SquashService3578 #execute3579 when there is only one commit in the merge request3580 returns the squashed commit SHA3581 cleans up the temporary directory3582 does not keep the branch push event3583 when there is a single commit in the merge request3584 will still perform the squash3585 when squash message matches commit message3586 returns that commit SHA3587 does not perform any git actions3588 when squash message matches commit message but without trailing new line3589 returns that commit SHA3590 does not perform any git actions3591 the squashed commit3592 copies the author info from the merge request3593 sets the current user as the committer3594 has the same diff as the merge request, but a different SHA3595 has a default squash commit message if no message was provided3596 if a message was provided3597 has the same message as the message provided3598 when squashing only new files3599 returns the squashed commit SHA3600 cleans up the temporary directory3601 does not keep the branch push event3602 when there is a single commit in the merge request3603 will still perform the squash3604 when squash message matches commit message3605 returns that commit SHA3606 does not perform any git actions3607 when squash message matches commit message but without trailing new line3608 returns that commit SHA3609 does not perform any git actions3610 the squashed commit3611 copies the author info from the merge request3612 sets the current user as the committer3613 has the same diff as the merge request, but a different SHA3614 has a default squash commit message if no message was provided3615 if a message was provided3616 has the same message as the message provided3617 when squashing is disabled by default on the project3618 returns the squashed commit SHA3619 cleans up the temporary directory3620 does not keep the branch push event3621 when there is a single commit in the merge request3622 will still perform the squash3623 when squash message matches commit message3624 returns that commit SHA3625 does not perform any git actions3626 when squash message matches commit message but without trailing new line3627 returns that commit SHA3628 does not perform any git actions3629 the squashed commit3630 copies the author info from the merge request3631 sets the current user as the committer3632 has the same diff as the merge request, but a different SHA3633 has a default squash commit message if no message was provided3634 if a message was provided3635 has the same message as the message provided3636 when squashing is forbidden on the project3637 raises a squash error3638 when squashing is enabled by default on the project3639 returns the squashed commit SHA3640 cleans up the temporary directory3641 does not keep the branch push event3642 when there is a single commit in the merge request3643 will still perform the squash3644 when squash message matches commit message3645 returns that commit SHA3646 does not perform any git actions3647 when squash message matches commit message but without trailing new line3648 returns that commit SHA3649 does not perform any git actions3650 the squashed commit3651 copies the author info from the merge request3652 sets the current user as the committer3653 has the same diff as the merge request, but a different SHA3654 has a default squash commit message if no message was provided3655 if a message was provided3656 has the same message as the message provided3657 when squashing with files too large to display3658 returns the squashed commit SHA3659 cleans up the temporary directory3660 does not keep the branch push event3661 when there is a single commit in the merge request3662 will still perform the squash3663 when squash message matches commit message3664 returns that commit SHA3665 does not perform any git actions3666 when squash message matches commit message but without trailing new line3667 returns that commit SHA3668 does not perform any git actions3669 the squashed commit3670 copies the author info from the merge request3671 sets the current user as the committer3672 has the same diff as the merge request, but a different SHA3673 has a default squash commit message if no message was provided3674 if a message was provided3675 has the same message as the message provided3676 git errors3677 with an error in Gitaly UserSquash RPC3678 logs the error3679 returns an error3680 when any other exception is thrown3681 logs the error3682 returns an error3683 cleans up the temporary directory3684Projects::Security::ConfigurationPresenter3685 #to_html_data_attribute3686 when latest default branch pipeline`s source is not auto devops3687 includes links to auto devops and secure product docs3688 returns info that Auto DevOps is not enabled3689 includes a link to the latest pipeline3690 has stubs for autofix3691 includes feature information3692 includes a link to the latest pipeline3693 includes the path to gitlab_ci history3694 while retrieving information about user's ability to enable auto_devops3695 is_admin: true, archived: true, feature_available: true, result: false3696 includes can_enable_auto_devops3697 is_admin: false, archived: true, feature_available: true, result: false3698 includes can_enable_auto_devops3699 is_admin: true, archived: false, feature_available: true, result: true3700 includes can_enable_auto_devops3701 is_admin: false, archived: false, feature_available: true, result: false3702 includes can_enable_auto_devops3703 is_admin: true, archived: true, feature_available: false, result: false3704 includes can_enable_auto_devops3705 is_admin: false, archived: true, feature_available: false, result: false3706 includes can_enable_auto_devops3707 is_admin: true, archived: false, feature_available: false, result: false3708 includes can_enable_auto_devops3709 is_admin: false, archived: false, feature_available: false, result: false3710 includes can_enable_auto_devops3711 when checking features configured status3712 type: :dast, configured: true3713 returns proper configuration status3714 type: :dast_profiles, configured: true3715 returns proper configuration status3716 type: :sast, configured: true3717 returns proper configuration status3718 type: :sast_iac, configured: false3719 returns proper configuration status3720 type: :container_scanning, configured: false3721 returns proper configuration status3722 type: :cluster_image_scanning, configured: false3723 returns proper configuration status3724 type: :dependency_scanning, configured: false3725 returns proper configuration status3726 type: :license_scanning, configured: true3727 returns proper configuration status3728 type: :secret_detection, configured: false3729 returns proper configuration status3730 type: :coverage_fuzzing, configured: false3731 returns proper configuration status3732 type: :api_fuzzing, configured: false3733 returns proper configuration status3734 type: :corpus_management, configured: true3735 returns proper configuration status3736 when the job has more than one report3737 type: :dast, configured: false3738 properly detects security jobs3739 type: :dast_profiles, configured: true3740 properly detects security jobs3741 type: :sast, configured: true3742 properly detects security jobs3743 type: :sast_iac, configured: false3744 properly detects security jobs3745 type: :container_scanning, configured: false3746 properly detects security jobs3747 type: :cluster_image_scanning, configured: false3748 properly detects security jobs3749 type: :dependency_scanning, configured: false3750 properly detects security jobs3751 type: :license_scanning, configured: true3752 properly detects security jobs3753 type: :secret_detection, configured: false3754 properly detects security jobs3755 type: :coverage_fuzzing, configured: false3756 properly detects security jobs3757 type: :api_fuzzing, configured: false3758 properly detects security jobs3759 type: :corpus_management, configured: true3760 properly detects security jobs3761 while retrieving information about gitlab ci file3762 when a .gitlab-ci.yml file exists3763 expects gitlab_ci_present to be true3764 when a .gitlab-ci.yml file does not exist3765 expects gitlab_ci_present to be false if the file is not present3766 when the project is empty3767 includes a blank gitlab_ci history path3768 when the project has no default branch set3769 includes the path to gitlab_ci history3770 when the latest default branch pipeline's source is auto devops3771 reports that auto devops is enabled3772 when gathering feature data3773 type: :dast, configured: true3774 reports that all scanners are configured for which latest pipeline has builds3775 type: :dast_profiles, configured: true3776 reports that all scanners are configured for which latest pipeline has builds3777 type: :sast, configured: true3778 reports that all scanners are configured for which latest pipeline has builds3779 type: :sast_iac, configured: false3780 reports that all scanners are configured for which latest pipeline has builds3781 type: :container_scanning, configured: false3782 reports that all scanners are configured for which latest pipeline has builds3783 type: :cluster_image_scanning, configured: false3784 reports that all scanners are configured for which latest pipeline has builds3785 type: :dependency_scanning, configured: false3786 reports that all scanners are configured for which latest pipeline has builds3787 type: :license_scanning, configured: false3788 reports that all scanners are configured for which latest pipeline has builds3789 type: :secret_detection, configured: true3790 reports that all scanners are configured for which latest pipeline has builds3791 type: :coverage_fuzzing, configured: false3792 reports that all scanners are configured for which latest pipeline has builds3793 type: :api_fuzzing, configured: false3794 reports that all scanners are configured for which latest pipeline has builds3795 type: :corpus_management, configured: true3796 reports that all scanners are configured for which latest pipeline has builds3797 when the project has no default branch pipeline3798 reports that auto devops is disabled3799 includes a link to CI pipeline docs3800 when gathering feature data3801 type: :dast, configured: false3802 reports all security jobs as unconfigured with exception of "fake" jobs3803 type: :dast_profiles, configured: true3804 reports all security jobs as unconfigured with exception of "fake" jobs3805 type: :sast, configured: false3806 reports all security jobs as unconfigured with exception of "fake" jobs3807 type: :sast_iac, configured: false3808 reports all security jobs as unconfigured with exception of "fake" jobs3809 type: :container_scanning, configured: false3810 reports all security jobs as unconfigured with exception of "fake" jobs3811 type: :cluster_image_scanning, configured: false3812 reports all security jobs as unconfigured with exception of "fake" jobs3813 type: :dependency_scanning, configured: false3814 reports all security jobs as unconfigured with exception of "fake" jobs3815 type: :license_scanning, configured: false3816 reports all security jobs as unconfigured with exception of "fake" jobs3817 type: :secret_detection, configured: false3818 reports all security jobs as unconfigured with exception of "fake" jobs3819 type: :coverage_fuzzing, configured: false3820 reports all security jobs as unconfigured with exception of "fake" jobs3821 type: :api_fuzzing, configured: false3822 reports all security jobs as unconfigured with exception of "fake" jobs3823 type: :corpus_management, configured: true3824 reports all security jobs as unconfigured with exception of "fake" jobs3825Gitlab::Usage::ServicePingReport3826 all_metrics_values3827 generates the service ping when there are no missing values3828 generates the service ping with the missing values3829 with usage data payload with symbol keys and instrumented payload with string keys3830 correctly merges string and symbol keys3831 for output: :metrics_queries3832 generates the service ping3833 for output: :non_sql_metrics_values3834 generates the service ping3835 when using cached3836 for cached: true3837 caches the values3838 writes to cache and returns fresh data3839 when no caching3840 returns fresh data3841 cross test values against queries3842 generates queries that match collected data3843Gitlab::DatabaseImporters::SelfMonitoring::Project::CreateService3844 #execute3845 without application_settings3846 returns error3847 without admin users3848 returns error3849 with application settings and admin users3850 is idempotent3851 tracks successful install3852 creates group3853 creates project with internal visibility3854 creates project with internal visibility even when internal visibility is restricted3855 creates project with correct name and description3856 creates project with group as owner3857 saves the project id3858 creates a Prometheus integration3859 creates an environment for the project3860 returns error when saving project ID fails3861 behaves like has prometheus integration3862 is expected to eq true3863 when the environment creation fails3864 returns error3865 when project already exists3866 returns success3867 when local requests from hooks and integrations are not allowed3868 behaves like has prometheus integration3869 is expected to eq true3870 with non default prometheus address3871 behaves like has prometheus integration3872 is expected to eq true3873 with :9090 symbol3874 behaves like has prometheus integration3875 is expected to eq true3876 with 0.0.0.0:90903877 behaves like has prometheus integration3878 is expected to eq true3879 when prometheus setting is not present in gitlab.yml3880 does not fail3881 when prometheus setting is nil3882 does not fail3883 when prometheus setting is disabled in gitlab.yml3884 does not configure prometheus3885 when prometheus server address is blank in gitlab.yml3886 does not configure prometheus3887 when project cannot be created3888 returns error3889 when prometheus manual configuration cannot be saved3890 returns error3891IntegrationsHelper3892 #integration_event_title3893 behaves like is defined for each integration event3894 when integration is buildkite, event is push3895 is expected not to be nil3896 when integration is buildkite, event is merge_request3897 is expected not to be nil3898 when integration is buildkite, event is tag_push3899 is expected not to be nil3900 when integration is discord, event is push3901 is expected not to be nil3902 when integration is discord, event is issue3903 is expected not to be nil3904 when integration is discord, event is confidential_issue3905 is expected not to be nil3906 when integration is discord, event is merge_request3907 is expected not to be nil3908 when integration is discord, event is note3909 is expected not to be nil3910 when integration is discord, event is confidential_note3911 is expected not to be nil3912 when integration is discord, event is tag_push3913 is expected not to be nil3914 when integration is discord, event is pipeline3915 is expected not to be nil3916 when integration is discord, event is wiki_page3917 is expected not to be nil3918 when integration is drone_ci, event is push3919 is expected not to be nil3920 when integration is drone_ci, event is merge_request3921 is expected not to be nil3922 when integration is drone_ci, event is tag_push3923 is expected not to be nil3924 when integration is emails_on_push, event is push3925 is expected not to be nil3926 when integration is emails_on_push, event is tag_push3927 is expected not to be nil3928 when integration is hangouts_chat, event is push3929 is expected not to be nil3930 when integration is hangouts_chat, event is issue3931 is expected not to be nil3932 when integration is hangouts_chat, event is confidential_issue3933 is expected not to be nil3934 when integration is hangouts_chat, event is merge_request3935 is expected not to be nil3936 when integration is hangouts_chat, event is note3937 is expected not to be nil3938 when integration is hangouts_chat, event is confidential_note3939 is expected not to be nil3940 when integration is hangouts_chat, event is tag_push3941 is expected not to be nil3942 when integration is hangouts_chat, event is pipeline3943 is expected not to be nil3944 when integration is hangouts_chat, event is wiki_page3945 is expected not to be nil3946 when integration is jenkins, event is push3947 is expected not to be nil3948 when integration is jenkins, event is merge_request3949 is expected not to be nil3950 when integration is jenkins, event is tag_push3951 is expected not to be nil3952 when integration is jira, event is commit3953 is expected not to be nil3954 when integration is jira, event is merge_request3955 is expected not to be nil3956 when integration is mattermost, event is push3957 is expected not to be nil3958 when integration is mattermost, event is issue3959 is expected not to be nil3960 when integration is mattermost, event is confidential_issue3961 is expected not to be nil3962 when integration is mattermost, event is merge_request3963 is expected not to be nil3964 when integration is mattermost, event is note3965 is expected not to be nil3966 when integration is mattermost, event is confidential_note3967 is expected not to be nil3968 when integration is mattermost, event is tag_push3969 is expected not to be nil3970 when integration is mattermost, event is pipeline3971 is expected not to be nil3972 when integration is mattermost, event is wiki_page3973 is expected not to be nil3974 when integration is mattermost, event is deployment3975 is expected not to be nil3976 when integration is mattermost, event is vulnerability3977 is expected not to be nil3978 when integration is microsoft_teams, event is push3979 is expected not to be nil3980 when integration is microsoft_teams, event is issue3981 is expected not to be nil3982 when integration is microsoft_teams, event is confidential_issue3983 is expected not to be nil3984 when integration is microsoft_teams, event is merge_request3985 is expected not to be nil3986 when integration is microsoft_teams, event is note3987 is expected not to be nil3988 when integration is microsoft_teams, event is confidential_note3989 is expected not to be nil3990 when integration is microsoft_teams, event is tag_push3991 is expected not to be nil3992 when integration is microsoft_teams, event is pipeline3993 is expected not to be nil3994 when integration is microsoft_teams, event is wiki_page3995 is expected not to be nil3996 when integration is packagist, event is push3997 is expected not to be nil3998 when integration is packagist, event is merge_request3999 is expected not to be nil4000 when integration is packagist, event is tag_push4001 is expected not to be nil4002 when integration is slack, event is push4003 is expected not to be nil4004 when integration is slack, event is issue4005 is expected not to be nil4006 when integration is slack, event is confidential_issue4007 is expected not to be nil4008 when integration is slack, event is merge_request4009 is expected not to be nil4010 when integration is slack, event is note4011 is expected not to be nil4012 when integration is slack, event is confidential_note4013 is expected not to be nil4014 when integration is slack, event is tag_push4015 is expected not to be nil4016 when integration is slack, event is pipeline4017 is expected not to be nil4018 when integration is slack, event is wiki_page4019 is expected not to be nil4020 when integration is slack, event is deployment4021 is expected not to be nil4022 when integration is slack, event is vulnerability4023 is expected not to be nil4024 when integration is slack, event is alert4025 is expected not to be nil4026 when integration is teamcity, event is push4027 is expected not to be nil4028 when integration is teamcity, event is merge_request4029 is expected not to be nil4030 when integration is unify_circuit, event is push4031 is expected not to be nil4032 when integration is unify_circuit, event is issue4033 is expected not to be nil4034 when integration is unify_circuit, event is confidential_issue4035 is expected not to be nil4036 when integration is unify_circuit, event is merge_request4037 is expected not to be nil4038 when integration is unify_circuit, event is note4039 is expected not to be nil4040 when integration is unify_circuit, event is confidential_note4041 is expected not to be nil4042 when integration is unify_circuit, event is tag_push4043 is expected not to be nil4044 when integration is unify_circuit, event is pipeline4045 is expected not to be nil4046 when integration is unify_circuit, event is wiki_page4047 is expected not to be nil4048 when integration is webex_teams, event is push4049 is expected not to be nil4050 when integration is webex_teams, event is issue4051 is expected not to be nil4052 when integration is webex_teams, event is confidential_issue4053 is expected not to be nil4054 when integration is webex_teams, event is merge_request4055 is expected not to be nil4056 when integration is webex_teams, event is note4057 is expected not to be nil4058 when integration is webex_teams, event is confidential_note4059 is expected not to be nil4060 when integration is webex_teams, event is tag_push4061 is expected not to be nil4062 when integration is webex_teams, event is pipeline4063 is expected not to be nil4064 when integration is webex_teams, event is wiki_page4065 is expected not to be nil4066 #integration_event_description4067 behaves like is defined for each integration event4068 when integration is buildkite, event is push4069 is expected not to be nil4070 when integration is buildkite, event is merge_request4071 is expected not to be nil4072 when integration is buildkite, event is tag_push4073 is expected not to be nil4074 when integration is discord, event is push4075 is expected not to be nil4076 when integration is discord, event is issue4077 is expected not to be nil4078 when integration is discord, event is confidential_issue4079 is expected not to be nil4080 when integration is discord, event is merge_request4081 is expected not to be nil4082 when integration is discord, event is note4083 is expected not to be nil4084 when integration is discord, event is confidential_note4085 is expected not to be nil4086 when integration is discord, event is tag_push4087 is expected not to be nil4088 when integration is discord, event is pipeline4089 is expected not to be nil4090 when integration is discord, event is wiki_page4091 is expected not to be nil4092 when integration is drone_ci, event is push4093 is expected not to be nil4094 when integration is drone_ci, event is merge_request4095 is expected not to be nil4096 when integration is drone_ci, event is tag_push4097 is expected not to be nil4098 when integration is emails_on_push, event is push4099 is expected not to be nil4100 when integration is emails_on_push, event is tag_push4101 is expected not to be nil4102 when integration is hangouts_chat, event is push4103 is expected not to be nil4104 when integration is hangouts_chat, event is issue4105 is expected not to be nil4106 when integration is hangouts_chat, event is confidential_issue4107 is expected not to be nil4108 when integration is hangouts_chat, event is merge_request4109 is expected not to be nil4110 when integration is hangouts_chat, event is note4111 is expected not to be nil4112 when integration is hangouts_chat, event is confidential_note4113 is expected not to be nil4114 when integration is hangouts_chat, event is tag_push4115 is expected not to be nil4116 when integration is hangouts_chat, event is pipeline4117 is expected not to be nil4118 when integration is hangouts_chat, event is wiki_page4119 is expected not to be nil4120 when integration is jenkins, event is push4121 is expected not to be nil4122 when integration is jenkins, event is merge_request4123 is expected not to be nil4124 when integration is jenkins, event is tag_push4125 is expected not to be nil4126 when integration is jira, event is commit4127 is expected not to be nil4128 when integration is jira, event is merge_request4129 is expected not to be nil4130 when integration is mattermost, event is push4131 is expected not to be nil4132 when integration is mattermost, event is issue4133 is expected not to be nil4134 when integration is mattermost, event is confidential_issue4135 is expected not to be nil4136 when integration is mattermost, event is merge_request4137 is expected not to be nil4138 when integration is mattermost, event is note4139 is expected not to be nil4140 when integration is mattermost, event is confidential_note4141 is expected not to be nil4142 when integration is mattermost, event is tag_push4143 is expected not to be nil4144 when integration is mattermost, event is pipeline4145 is expected not to be nil4146 when integration is mattermost, event is wiki_page4147 is expected not to be nil4148 when integration is mattermost, event is deployment4149 is expected not to be nil4150 when integration is mattermost, event is vulnerability4151 is expected not to be nil4152 when integration is microsoft_teams, event is push4153 is expected not to be nil4154 when integration is microsoft_teams, event is issue4155 is expected not to be nil4156 when integration is microsoft_teams, event is confidential_issue4157 is expected not to be nil4158 when integration is microsoft_teams, event is merge_request4159 is expected not to be nil4160 when integration is microsoft_teams, event is note4161 is expected not to be nil4162 when integration is microsoft_teams, event is confidential_note4163 is expected not to be nil4164 when integration is microsoft_teams, event is tag_push4165 is expected not to be nil4166 when integration is microsoft_teams, event is pipeline4167 is expected not to be nil4168 when integration is microsoft_teams, event is wiki_page4169 is expected not to be nil4170 when integration is packagist, event is push4171 is expected not to be nil4172 when integration is packagist, event is merge_request4173 is expected not to be nil4174 when integration is packagist, event is tag_push4175 is expected not to be nil4176 when integration is slack, event is push4177 is expected not to be nil4178 when integration is slack, event is issue4179 is expected not to be nil4180 when integration is slack, event is confidential_issue4181 is expected not to be nil4182 when integration is slack, event is merge_request4183 is expected not to be nil4184 when integration is slack, event is note4185 is expected not to be nil4186 when integration is slack, event is confidential_note4187 is expected not to be nil4188 when integration is slack, event is tag_push4189 is expected not to be nil4190 when integration is slack, event is pipeline4191 is expected not to be nil4192 when integration is slack, event is wiki_page4193 is expected not to be nil4194 when integration is slack, event is deployment4195 is expected not to be nil4196 when integration is slack, event is vulnerability4197 is expected not to be nil4198 when integration is slack, event is alert4199 is expected not to be nil4200 when integration is teamcity, event is push4201 is expected not to be nil4202 when integration is teamcity, event is merge_request4203 is expected not to be nil4204 when integration is unify_circuit, event is push4205 is expected not to be nil4206 when integration is unify_circuit, event is issue4207 is expected not to be nil4208 when integration is unify_circuit, event is confidential_issue4209 is expected not to be nil4210 when integration is unify_circuit, event is merge_request4211 is expected not to be nil4212 when integration is unify_circuit, event is note4213 is expected not to be nil4214 when integration is unify_circuit, event is confidential_note4215 is expected not to be nil4216 when integration is unify_circuit, event is tag_push4217 is expected not to be nil4218 when integration is unify_circuit, event is pipeline4219 is expected not to be nil4220 when integration is unify_circuit, event is wiki_page4221 is expected not to be nil4222 when integration is webex_teams, event is push4223 is expected not to be nil4224 when integration is webex_teams, event is issue4225 is expected not to be nil4226 when integration is webex_teams, event is confidential_issue4227 is expected not to be nil4228 when integration is webex_teams, event is merge_request4229 is expected not to be nil4230 when integration is webex_teams, event is note4231 is expected not to be nil4232 when integration is webex_teams, event is confidential_note4233 is expected not to be nil4234 when integration is webex_teams, event is tag_push4235 is expected not to be nil4236 when integration is webex_teams, event is pipeline4237 is expected not to be nil4238 when integration is webex_teams, event is wiki_page4239 is expected not to be nil4240 when integration is Jira4241 is expected to include "Jira"4242 when integration is Team City4243 is expected to include "TeamCity"4244 #integration_form_data4245 with Slack integration4246 is expected to include :id, :show_active, :activated, :activate_disabled, :type, :merge_request_events, :commit_events, :enable_comments, :comment_detail, :learn_more_path, :about_pricing_url, :trigger_events, :fields, :inherit_from_id, :integration_level, :editable, :cancel_path, :can_test, :test_path, :reset_path, :form_path, and :redirect_to4247 is expected not to include :jira_issue_transition_automatic and :jira_issue_transition_id4248 is expected to eq ""4249 is expected to eq "/services"4250 Jira service4251 is expected to include :id, :show_active, :activated, :activate_disabled, :type, :merge_request_events, :commit_events, :enable_comments, :comment_detail, :learn_more_path, :about_pricing_url, :trigger_events, :fields, :inherit_from_id, :integration_level, :editable, :cancel_path, :can_test, :test_path, :reset_path, :form_path, :redirect_to, :jira_issue_transition_automatic, and :jira_issue_transition_id4252 #integration_overrides_data4253 is expected to include {:edit_path => "/admin/application_settings/integrations/jira/edit", :overrides_path => "/admin/application_settings/integrations/jira/overrides.json"}4254 #scoped_reset_integration_path4255 when no group is present4256 returns instance-level path4257 when group is present4258 returns group-level path4259 when a new integration is not persisted4260 returns an empty string4261Ci::JobEntity4262 contains started4263 contains complete to indicate if a pipeline is completed4264 contains paths to job page action4265 does not contain sensitive information4266 contains whether it is playable4267 contains timestamps4268 contains details4269 contains queued_at4270 contains queued_duration4271 when job is retryable4272 contains cancel path4273 when job is cancelable4274 contains cancel path4275 when job is a regular job4276 does not contain path to play action4277 is not a playable build4278 when job is a manual action4279 when user is allowed to trigger action4280 contains path to play action4281 is a playable action4282 when user is not allowed to trigger action4283 does not contain path to play action4284 is not a playable action4285 when job is scheduled4286 contains path to unschedule action4287 contains scheduled_at4288 when job is running4289 contains started_at4290 when job is generic commit status4291 contains paths to target action4292 does not contain paths to other action paths4293 contains timestamps4294 contains details4295 when job failed4296 contains details4297 states that it failed4298 indicates the failure reason on tooltip4299 includes a callout message with a verbose output4300 states that it is not recoverable4301 when job is allowed to fail4302 contains details4303 states that it failed4304 indicates the failure reason on tooltip4305 includes a callout message with a verbose output4306 states that it is not recoverable4307 when the job failed with a script failure4308 does not include callout message or recoverable keys4309 when job failed and is recoverable4310 states it is recoverable4311 when job passed4312 does not include callout message or recoverable keys4313 when job is a bridge4314 does not include build path4315 does not include cancel path4316Gitlab::Gpg::Commit4317 #signature4318 unsigned commit4319 returns nil4320 invalid signature4321 returns nil4322 known key4323 user matches the key uid4324 user email matches the email committer4325 returns a valid signature4326 behaves like returns the cached signature on second call4327 returns the cached signature on second call4328 read-only mode4329 does not create a cached signature4330 valid key signed using recent version of Gnupg4331 returns a valid signature4332 valid key signed using older version of Gnupg4333 returns a valid signature4334 commit with multiple signatures4335 returns an invalid signatures error4336 commit signed with a subkey4337 returns a valid signature4338 behaves like returns the cached signature on second call4339 returns the cached signature on second call4340 user email does not match the committer email, but is the same user4341 returns an invalid signature4342 behaves like returns the cached signature on second call4343 returns the cached signature on second call4344 user email does not match the committer email4345 returns an invalid signature4346 behaves like returns the cached signature on second call4347 returns the cached signature on second call4348 user does not match the key uid4349 returns an invalid signature4350 behaves like returns the cached signature on second call4351 returns the cached signature on second call4352 unknown key4353 returns an invalid signature4354 behaves like returns the cached signature on second call4355 returns the cached signature on second call4356 multiple commits with signatures4357 does an aggregated sql request instead of 2 separate ones4358Gitlab::Graphql::Pagination::Keyset::Connection4359 With generic keyset order support4360 behaves like a connection with collection methods4361 responds to to_a4362 responds to size4363 responds to map4364 responds to include?4365 responds to empty?4366 behaves like a redactable connection4367 no redactor set4368 contains the unwanted item4369 does not redact more than once4370 redactor is set4371 does not contain the unwanted item4372 does not redact more than once4373 #cursor_for4374 returns an encoded ID4375 when an order is specified4376 returns the encoded value of the order4377 when multiple orders are specified4378 returns the encoded value of the order4379 #sliced_nodes4380 when before is passed4381 only returns the project before the selected one4382 when the sort order is descending4383 returns the correct nodes4384 when after is passed4385 only returns the project before the selected one4386 when the sort order is descending4387 returns the correct nodes4388 when both before and after are passed4389 returns the expected set4390 when multiple orders with nil values are defined4391 when ascending4392 behaves like nodes are in ascending order4393 when no cursor is passed4394 returns projects in ascending order4395 when before cursor value is not NULL4396 returns all projects before the cursor4397 when after cursor value is not NULL4398 returns all projects after the cursor4399 when before and after cursor4400 returns all projects after the cursor4401 when before cursor value is NULL4402 returns all projects before the cursor4403 when after cursor value is NULL4404 returns all projects after the cursor4405 when descending4406 behaves like nodes are in descending order4407 when no cursor is passed4408 only returns projects in descending order4409 when before cursor value is not NULL4410 returns all projects before the cursor4411 when after cursor value is not NULL4412 returns all projects after the cursor4413 when before and after cursor4414 returns all projects after the cursor4415 when before cursor value is NULL4416 returns all projects before the cursor4417 when after cursor value is NULL4418 returns all projects after the cursor4419 when ordering by similarity4420 behaves like nodes are in descending order4421 when no cursor is passed4422 only returns projects in descending order4423 when before cursor value is not NULL4424 returns all projects before the cursor4425 when after cursor value is not NULL4426 returns all projects after the cursor4427 when before and after cursor4428 returns all projects after the cursor4429 when an invalid cursor is provided4430 raises an error4431 #nodes4432 behaves like connection with paged nodes4433 returns the collection limited to max page size4434 is a loaded memoized array4435 when `first` is passed4436 returns only the first elements4437 when `last` is passed4438 returns only the last elements4439 when both are passed4440 raises an error4441 when primary key is not in original order4442 is added to end4443 when there is no primary key4444 raises an error4445 #has_previous_page and #has_next_page4446 when default query4447 has no previous, but a next4448 when before is first item4449 has no previous, but a next4450 using `before`4451 when before is the last item4452 has no previous, but a next4453 when before and last specified4454 has a previous and a next4455 when before and last does request all remaining nodes4456 has a previous and a next4457 using `after`4458 when after is the first item4459 has a previous, and a next4460 when after and first specified4461 has a previous and a next4462 when before and last does request all remaining nodes4463 has a previous but no next4464Gitlab::UsageDataCounters::HLLRedisCounter4465 migration to instrumentation classes data collection4466 Gitlab::UsageDataCounters::HLLRedisCounter::CATEGORIES_COLLECTED_FROM_METRICS_DEFINITIONS4467 includes only fully migrated categories4468 with not instrumented category4469 can detect not migrated category4470 .unique_events_data4471 with use_redis_hll_instrumentation_classes feature enabled4472 does not include instrumented categories4473 with use_redis_hll_instrumentation_classes feature disabled4474 includes instrumented categories4475 .categories4476 gets all unique category names4477 known_events4478 .events_for_category4479 gets the event names for given category4480 .track_event4481 with redis_hll_tracking4482 tracks the event when feature enabled4483 does not track the event with feature flag disabled4484 with event feature flag set4485 tracks the event when feature enabled4486 does not track the event with feature flag disabled4487 with no event feature flag set4488 tracks the event4489 when usage_ping is disabled4490 does not track the event4491 when usage_ping is enabled4492 tracks event when using symbol4493 tracks events with multiple values4494 raise error if metrics don't have same aggregation4495 raise error if metrics of unknown event4496 reports an error if Feature.enabled raise an error4497 for weekly events4498 sets the keys in Redis to expire automatically after the given expiry time4499 sets the keys in Redis to expire automatically after 6 weeks by default4500 for daily events4501 sets the keys in Redis to expire after the given expiry time4502 sets the keys in Redis to expire after 29 days by default4503 .track_event_in_context4504 with valid contex4505 increments context event counter4506 tracks events with multiple values4507 with empty context4508 does not increment a counter4509 when sending invalid context4510 does not increment a counter4511 .unique_events4512 returns 0 if there are no keys for the given events4513 raise error if metrics are not in the same slot4514 raise error if metrics are not in the same category4515 raise error if metrics don't have same aggregation4516 when data for the last complete week4517 is expected to eq 14518 when data for the last 4 complete weeks4519 is expected to eq 24520 when data for the week 4 weeks ago4521 is expected to eq 14522 when using symbol as parameter4523 is expected to eq 14524 when using daily aggregation4525 is expected to eq 24526 is expected to eq 34527 is expected to eq 14528 when no slot is set4529 is expected to eq 14530 when data crosses into new year4531 does not raise error4532 .weekly_redis_keys4533 returns 1 key for last for week4534 returns 4 key for last for weeks4535 start_date: "2020-12-21", end_date: "2020-12-21", keys: []4536 returns the correct keys4537 start_date: "2020-12-21", end_date: "2020-12-20", keys: []4538 returns the correct keys4539 start_date: "2020-12-21", end_date: "2020-11-21", keys: []4540 returns the correct keys4541 start_date: "2021-01-01", end_date: "2020-12-28", keys: []4542 returns the correct keys4543 start_date: "2020-12-21", end_date: "2020-12-28", keys: ["g_{compliance}_dashboard-2020-52"]4544 returns the correct keys4545 start_date: "2020-12-21", end_date: "2021-01-01", keys: ["g_{compliance}_dashboard-2020-52"]4546 returns the correct keys4547 start_date: "2020-12-27", end_date: "2021-01-01", keys: ["g_{compliance}_dashboard-2020-52"]4548 returns the correct keys4549 start_date: "2020-12-26", end_date: "2021-01-04", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53"]4550 returns the correct keys4551 start_date: "2020-12-26", end_date: "2021-01-11", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01"]4552 returns the correct keys4553 start_date: "2020-12-26", end_date: "2021-01-17", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01"]4554 returns the correct keys4555 start_date: "2020-12-26", end_date: "2021-01-18", keys: ["g_{compliance}_dashboard-2020-52", "g_{compliance}_dashboard-2020-53", "g_{compliance}_dashboard-2021-01", "g_{compliance}_dashboard-2021-02"]4556 returns the correct keys4557 context level tracking4558 with correct arguments4559 event_names: ["event_name_1"], context: "default", value: 24560 is expected to eq 24561 event_names: ["event_name_1"], context: "", value: 04562 is expected to eq 04563 event_names: ["event_name_2"], context: "", value: 04564 is expected to eq 04565 with invalid context4566 raise error4567 unique_events_data4568 returns the number of unique events for all known events4569 .calculate_events_union4570 calculates union of given events4571 validates and raise exception if events has mismatched slot or aggregation4572 returns 0 if there are no keys for given events4573 .weekly_time_range4574 return hash with weekly time range boundaries4575 .monthly_time_range4576 return hash with monthly time range boundaries4577Integrations::Jenkins4578 sets the default values4579 accessors4580 is expected to respond to #enable_ssl_verification4581 is expected to respond to #enable_ssl_verification?4582 #initialize_properties4583 enables the setting by default4584 does not enable the setting if the record is already persisted4585 does not enable the setting if a custom value was set4586 #fields4587 inserts the checkbox field after the first URL field, or at the end4588 does not insert the field repeatedly4589 behaves like Integrations::HasWebHook4590 callbacks4591 calls #update_web_hook! when enabled4592 does not call #update_web_hook! when disabled4593 does not call #update_web_hook! when validation fails4594 #hook_url4595 returns a string4596 #hook_ssl_verification4597 returns a boolean4598 delegates to #enable_ssl_verification if the concern is included4599 #update_web_hook!4600 creates or updates a service hook4601 raises an error if the service hook could not be saved4602 does not attempt to save the service hook if there are no changes4603 #execute_web_hook!4604 creates the webhook if necessary and executes it4605 raises an error if the service hook could not be saved4606 username validation4607 when the integration is active4608 when password was not touched4609 is expected not to validate that :username cannot be empty/falsy4610 when password was touched4611 is expected to validate that :username cannot be empty/falsy4612 when password is blank4613 does not validate the username4614 when the integration is inactive4615 is expected not to validate that :username cannot be empty/falsy4616 #hook_url4617 when the jenkins_url has no relative path4618 is expected to eq "http://jenkins.example.com/project/my_project"4619 when the jenkins_url has relative path4620 is expected to eq "http://organization.example.com/jenkins/project/my_project"4621 userinfo is missing and username and password are set4622 is expected to eq "http://u%24ername:pas%24%20word@organization.example.com/jenkins/project/my_project"4623 userinfo is provided and username and password are set4624 is expected to eq "http://username:password@organization.example.com/jenkins/project/my_project"4625 userinfo is provided username and password are not set4626 is expected to eq "http://u:p@organization.example.com/jenkins/project/my_project"4627 #test4628 returns the right status4629 #execute4630 invokes the Jenkins API4631 adds default web hook headers to the request4632 request url contains properly serialized username and password4633 Stored password invalidation4634 when a password was previously set4635 resets password if url changed4636 resets password if username is blank4637 does not reset password if username changed4638 does not reset password if new url is set together with password, even if it's the same password4639 resets password if url changed, even if setter called multiple times4640 when no password was previously set4641 saves password if new url is set together with password4642VerifyPagesDomainService4643 #execute4644 domain_sym: :domain, code_sym: :verification_code4645 when domain is disabled(or new)4646 when txt record contains verification code4647 verifies and enables the domain4648 when txt record contains verification code with other text4649 verifies and enables the domain4650 when txt record does not contain verification code4651 unverifies domain4652 disables domain and shedules it for removal in 1 week4653 when txt record does not contain verification code4654 unverifies domain4655 disables domain and shedules it for removal in 1 week4656 when no txt records are present4657 unverifies domain4658 disables domain and shedules it for removal in 1 week4659 when domain is verified4660 when txt record contains verification code4661 verifies and enables the domain4662 when txt record contains verification code with other text4663 verifies and enables the domain4664 when txt record does not contain verification code4665 unverifies but does not disable domain4666 does not schedule domain for removal4667 when no txt records are present4668 unverifies but does not disable domain4669 does not schedule domain for removal4670 when domain is expired4671 when the right code is present4672 verifies and enables the domain4673 when the right code is not present4674 unverifies domain4675 disables domain and shedules it for removal in 1 week4676 when domain is disabled and scheduled for removal4677 when the right code is present4678 verifies and enables domain4679 prevent domain from being removed4680 when the right code is not present4681 keeps domain scheduled for removal but does not change removal time4682 invalid domain4683 can be disabled4684 domain_sym: :domain, code_sym: :keyed_verification_code4685 when domain is disabled(or new)4686 when txt record contains verification code4687 verifies and enables the domain4688 when txt record contains verification code with other text4689 verifies and enables the domain4690 when txt record does not contain verification code4691 unverifies domain4692 disables domain and shedules it for removal in 1 week4693 when txt record does not contain verification code4694 unverifies domain4695 disables domain and shedules it for removal in 1 week4696 when no txt records are present4697 unverifies domain4698 disables domain and shedules it for removal in 1 week4699 when domain is verified4700 when txt record contains verification code4701 verifies and enables the domain4702 when txt record contains verification code with other text4703 verifies and enables the domain4704 when txt record does not contain verification code4705 unverifies but does not disable domain4706 does not schedule domain for removal4707 when no txt records are present4708 unverifies but does not disable domain4709 does not schedule domain for removal4710 when domain is expired4711 when the right code is present4712 verifies and enables the domain4713 when the right code is not present4714 unverifies domain4715 disables domain and shedules it for removal in 1 week4716 when domain is disabled and scheduled for removal4717 when the right code is present4718 verifies and enables domain4719 prevent domain from being removed4720 when the right code is not present4721 keeps domain scheduled for removal but does not change removal time4722 invalid domain4723 can be disabled4724 domain_sym: :verification_domain, code_sym: :verification_code4725 when domain is disabled(or new)4726 when txt record contains verification code4727 verifies and enables the domain4728 when txt record contains verification code with other text4729 verifies and enables the domain4730 when txt record does not contain verification code4731 unverifies domain4732 disables domain and shedules it for removal in 1 week4733 when txt record does not contain verification code4734 unverifies domain4735 disables domain and shedules it for removal in 1 week4736 when no txt records are present4737 unverifies domain4738 disables domain and shedules it for removal in 1 week4739 when domain is verified4740 when txt record contains verification code4741 verifies and enables the domain4742 when txt record contains verification code with other text4743 verifies and enables the domain4744 when txt record does not contain verification code4745 unverifies but does not disable domain4746 does not schedule domain for removal4747 when no txt records are present4748 unverifies but does not disable domain4749 does not schedule domain for removal4750 when domain is expired4751 when the right code is present4752 verifies and enables the domain4753 when the right code is not present4754 unverifies domain4755 disables domain and shedules it for removal in 1 week4756 when domain is disabled and scheduled for removal4757 when the right code is present4758 verifies and enables domain4759 prevent domain from being removed4760 when the right code is not present4761 keeps domain scheduled for removal but does not change removal time4762 invalid domain4763 can be disabled4764 domain_sym: :verification_domain, code_sym: :keyed_verification_code4765 when domain is disabled(or new)4766 when txt record contains verification code4767 verifies and enables the domain4768 when txt record contains verification code with other text4769 verifies and enables the domain4770 when txt record does not contain verification code4771 unverifies domain4772 disables domain and shedules it for removal in 1 week4773 when txt record does not contain verification code4774 unverifies domain4775 disables domain and shedules it for removal in 1 week4776 when no txt records are present4777 unverifies domain4778 disables domain and shedules it for removal in 1 week4779 when domain is verified4780 when txt record contains verification code4781 verifies and enables the domain4782 when txt record contains verification code with other text4783 verifies and enables the domain4784 when txt record does not contain verification code4785 unverifies but does not disable domain4786 does not schedule domain for removal4787 when no txt records are present4788 unverifies but does not disable domain4789 does not schedule domain for removal4790 when domain is expired4791 when the right code is present4792 verifies and enables the domain4793 when the right code is not present4794 unverifies domain4795 disables domain and shedules it for removal in 1 week4796 when domain is disabled and scheduled for removal4797 when the right code is present4798 verifies and enables domain4799 prevent domain from being removed4800 when the right code is not present4801 keeps domain scheduled for removal but does not change removal time4802 invalid domain4803 can be disabled4804 timeout behaviour4805 sets a timeout on the DNS query4806 email notifications4807 factory: nil, verification_succeeds: true, expected_notification: nil4808 sends a notification if appropriate4809 factory: nil, verification_succeeds: false, expected_notification: :verification_failed4810 sends a notification if appropriate4811 factory: :reverify, verification_succeeds: true, expected_notification: nil4812 sends a notification if appropriate4813 factory: :reverify, verification_succeeds: false, expected_notification: :verification_failed4814 sends a notification if appropriate4815 factory: :unverified, verification_succeeds: true, expected_notification: :verification_succeeded4816 sends a notification if appropriate4817 factory: :unverified, verification_succeeds: false, expected_notification: nil4818 sends a notification if appropriate4819 factory: :expired, verification_succeeds: true, expected_notification: nil4820 sends a notification if appropriate4821 factory: :expired, verification_succeeds: false, expected_notification: :disabled4822 sends a notification if appropriate4823 factory: :disabled, verification_succeeds: true, expected_notification: :enabled4824 sends a notification if appropriate4825 factory: :disabled, verification_succeeds: false, expected_notification: nil4826 sends a notification if appropriate4827 pages verification disabled4828 skips email notifications4829 no verification code4830 returns an error4831 pages domain verification is disabled4832 extends domain validity by unconditionally reverifying4833 does not shorten any grace period4834Deployments::UpdateEnvironmentService4835 #execute4836 invalidates the environment etag cache4837 creates ref4838 updates merge request metrics4839 returns the deployment4840 returns the deployment when could not save the environment4841 returns the deployment when environment is stopped4842 when start action is defined4843 and environment is stopped4844 makes environment available4845 when external URL is specified and the tier is unset4846 when external URL is valid4847 succeeds to update the tier automatically4848 when external URL is invalid4849 fails to update the tier due to validation error4850 tracks an exception4851 when variables are used4852 does not create a new environment4853 updates external url4854 when auto_stop_in are used4855 renews auto stop at4856 when deployment tier is specified4857 when tier has already been set4858 overwrites the guessed tier by the specified deployment tier4859 when tier has not been set4860 sets the specified deployment tier4861 when deployment was created by an external CD system4862 guesses the deployment tier4863 when deployment tier is not specified4864 guesses the deployment tier4865 #expanded_environment_url4866 when yaml environment uses $CI_COMMIT_REF_NAME4867 is expected to eq "http://review/master"4868 when yaml environment uses $CI_ENVIRONMENT_SLUG4869 is expected to eq "http://review/prod-slug"4870 when yaml environment uses yaml_variables containing symbol keys4871 is expected to eq "http://review/host"4872 when job variables are generated during runtime4873 expands the environment URL from the dynamic variable4874 when environment url uses a nested variable4875 is expected to eq "http://appname-master.example.com"4876 when the FF ci_expand_environment_name_and_url is disabled4877 is expected to eq "http://${STACK_NAME}.example.com"4878 when yaml environment does not have url4879 returns the external_url from persisted environment4880 merge request metrics4881 while updating the 'first_deployed_to_production_at' time4882 for merge requests merged before the current deploy4883 sets the time if the deploy's environment is 'production'4884 does not raise errors if the merge request does not have a metrics record4885 when job deploys to staging4886 doesn't set the time if the deploy's environment is not 'production'4887 for merge requests merged before the previous deploy4888 if the 'first_deployed_to_production_at' time is already set4889 does not overwrite the older 'first_deployed_to_production_at' time4890 if the 'first_deployed_to_production_at' time is not already set4891 does not overwrite the older 'first_deployed_to_production_at' time4892gitlab:db:validate_config4893 when validating config4894 when only main: is specified4895 behaves like validates successfully4896 by default4897 for production4898 always re-establishes ActiveRecord::Base connection to main config4899 if GITLAB_VALIDATE_DATABASE_CONFIG is set4900 when finding the initializer fails4901 raised_error: ActiveRecord::NoDatabaseError4902 does not raise an error for ActiveRecord::NoDatabaseError4903 raised_error: ActiveRecord::ConnectionNotEstablished4904WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished4905 does not raise an error for ActiveRecord::ConnectionNotEstablished4906 raised_error: PG::ConnectionBad4907WARNING: Could not establish database connection for main: PG::ConnectionBad4908 does not raise an error for PG::ConnectionBad4909 when config is pointing to incorrect server4910 behaves like validates successfully4911WARNING: Could not establish database connection for main: could not connect to server: Connection refused4912 Is the server running on host "172.17.0.3" and accepting4913 TCP/IP connections on port 11235?4914WARNING: Could not establish database connection for main: could not connect to server: Connection refused4915 Is the server running on host "172.17.0.3" and accepting4916 TCP/IP connections on port 11235?4917 by default4918WARNING: Could not establish database connection for main: could not connect to server: Connection refused4919 Is the server running on host "172.17.0.3" and accepting4920 TCP/IP connections on port 11235?4921WARNING: Could not establish database connection for main: could not connect to server: Connection refused4922 Is the server running on host "172.17.0.3" and accepting4923 TCP/IP connections on port 11235?4924 for production4925WARNING: Could not establish database connection for main: could not connect to server: Connection refused4926 Is the server running on host "172.17.0.3" and accepting4927 TCP/IP connections on port 11235?4928WARNING: Could not establish database connection for main: could not connect to server: Connection refused4929 Is the server running on host "172.17.0.3" and accepting4930 TCP/IP connections on port 11235?4931 always re-establishes ActiveRecord::Base connection to main config4932WARNING: Could not establish database connection for main: could not connect to server: Connection refused4933 Is the server running on host "172.17.0.3" and accepting4934 TCP/IP connections on port 11235?4935WARNING: Could not establish database connection for main: could not connect to server: Connection refused4936 Is the server running on host "172.17.0.3" and accepting4937 TCP/IP connections on port 11235?4938 if GITLAB_VALIDATE_DATABASE_CONFIG is set4939 when finding the initializer fails4940 raised_error: ActiveRecord::NoDatabaseError4941WARNING: Could not establish database connection for main: could not connect to server: Connection refused4942 Is the server running on host "172.17.0.3" and accepting4943 TCP/IP connections on port 11235?4944WARNING: Could not establish database connection for main: could not connect to server: Connection refused4945 Is the server running on host "172.17.0.3" and accepting4946 TCP/IP connections on port 11235?4947 does not raise an error for ActiveRecord::NoDatabaseError4948 raised_error: ActiveRecord::ConnectionNotEstablished4949WARNING: Could not establish database connection for main: could not connect to server: Connection refused4950 Is the server running on host "172.17.0.3" and accepting4951 TCP/IP connections on port 11235?4952WARNING: Could not establish database connection for main: could not connect to server: Connection refused4953 Is the server running on host "172.17.0.3" and accepting4954 TCP/IP connections on port 11235?4955 does not raise an error for ActiveRecord::ConnectionNotEstablished4956 raised_error: PG::ConnectionBad4957WARNING: Could not establish database connection for main: could not connect to server: Connection refused4958 Is the server running on host "172.17.0.3" and accepting4959 TCP/IP connections on port 11235?4960WARNING: Could not establish database connection for main: could not connect to server: Connection refused4961 Is the server running on host "172.17.0.3" and accepting4962 TCP/IP connections on port 11235?4963 does not raise an error for PG::ConnectionBad4964 when config is pointing to non-existent database4965 behaves like validates successfully4966 by default4967 for production4968 always re-establishes ActiveRecord::Base connection to main config4969 if GITLAB_VALIDATE_DATABASE_CONFIG is set4970 when finding the initializer fails4971 raised_error: ActiveRecord::NoDatabaseError4972 does not raise an error for ActiveRecord::NoDatabaseError4973 raised_error: ActiveRecord::ConnectionNotEstablished4974 does not raise an error for ActiveRecord::ConnectionNotEstablished4975 raised_error: PG::ConnectionBad4976 does not raise an error for PG::ConnectionBad4977 when main: uses database_tasks=false4978 behaves like raises an error4979 by default4980 for production4981 always re-establishes ActiveRecord::Base connection to main config4982 if GITLAB_VALIDATE_DATABASE_CONFIG=14983 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04984 when many configurations share the same database4985 when no database_tasks is specified, assumes true4986 behaves like raises an error4987 by default4988 for production4989 always re-establishes ActiveRecord::Base connection to main config4990 if GITLAB_VALIDATE_DATABASE_CONFIG=14991 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04992 when database_tasks is specified4993 behaves like raises an error4994 by default4995 for production4996 always re-establishes ActiveRecord::Base connection to main config4997 if GITLAB_VALIDATE_DATABASE_CONFIG=14998 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=04999 when there's no main: but something different, as currently we only can share with main:5000 behaves like raises an error5001 by default5002 for production5003 always re-establishes ActiveRecord::Base connection to main config5004 if GITLAB_VALIDATE_DATABASE_CONFIG=15005 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=05006 when ci: uses different database5007 and does not specify database_tasks which indicates using dedicated database5008 behaves like validates successfully5009 by default5010 for production5011 always re-establishes ActiveRecord::Base connection to main config5012 if GITLAB_VALIDATE_DATABASE_CONFIG is set5013 when finding the initializer fails5014 raised_error: ActiveRecord::NoDatabaseError5015 does not raise an error for ActiveRecord::NoDatabaseError5016 raised_error: ActiveRecord::ConnectionNotEstablished5017WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished5018WARNING: Could not establish database connection for ci: ActiveRecord::ConnectionNotEstablished5019 does not raise an error for ActiveRecord::ConnectionNotEstablished5020 raised_error: PG::ConnectionBad5021WARNING: Could not establish database connection for main: PG::ConnectionBad5022WARNING: Could not establish database connection for ci: PG::ConnectionBad5023 does not raise an error for PG::ConnectionBad5024 and does specify database_tasks=false which indicates sharing with main:5025 behaves like raises an error5026 by default5027 for production5028 always re-establishes ActiveRecord::Base connection to main config5029 if GITLAB_VALIDATE_DATABASE_CONFIG=15030 to stderr if GITLAB_VALIDATE_DATABASE_CONFIG=05031 one of the databases is in read-only mode5032 behaves like validates successfully5033WARNING: Could not write to the database main: READONLY5034 by default5035WARNING: Could not write to the database main: READONLY5036 for production5037WARNING: Could not write to the database main: READONLY5038 always re-establishes ActiveRecord::Base connection to main config5039WARNING: Could not write to the database main: READONLY5040 if GITLAB_VALIDATE_DATABASE_CONFIG is set5041 when finding the initializer fails5042 raised_error: ActiveRecord::NoDatabaseError5043WARNING: Could not write to the database main: READONLY5044 does not raise an error for ActiveRecord::NoDatabaseError5045 raised_error: ActiveRecord::ConnectionNotEstablished5046WARNING: Could not write to the database main: READONLY5047WARNING: Could not establish database connection for main: ActiveRecord::ConnectionNotEstablished5048 does not raise an error for ActiveRecord::ConnectionNotEstablished5049 raised_error: PG::ConnectionBad5050WARNING: Could not write to the database main: READONLY5051WARNING: Could not establish database connection for main: PG::ConnectionBad5052 does not raise an error for PG::ConnectionBad5053 when running db:migrate5054 does run gitlab:db:validate_config before5055 when running db:schema:load5056 does run gitlab:db:validate_config before5057 when running db:schema:dump5058 does run gitlab:db:validate_config before5059SearchService5060 #project5061 when the project is accessible5062 returns the project5063 returns the project for guests5064 when the project is not accessible5065 returns nil5066 when there is no project_id5067 returns nil5068 #group5069 when the group is accessible5070 returns the group5071 when the group is not accessible5072 returns nil5073 when there is no group_id5074 returns nil5075 #show_snippets?5076 when :snippets is 'true'5077 returns true5078 when :snippets is not 'true'5079 returns false5080 when :snippets is missing5081 returns false5082 #scope5083 with accessible project_id5084 and allowed scope5085 returns the specified scope5086 and disallowed scope5087 returns the default scope5088 and no scope5089 returns the default scope5090 with 'true' snippets5091 and allowed scope5092 returns the specified scope5093 and disallowed scope5094 returns the default scope5095 and no scope5096 returns the default scope5097 with no project_id, no snippets5098 and allowed scope5099 returns the specified scope5100 and disallowed scope5101 returns the default scope5102 and no scope5103 returns the default scope5104 #search_results5105 with accessible project_id5106 returns an instance of Gitlab::ProjectSearchResults5107 with accessible project_id and 'true' snippets5108 returns an instance of Gitlab::ProjectSearchResults5109 with 'true' snippets5110 returns an instance of Gitlab::SnippetSearchResults5111 with no project_id and no snippets5112 returns an instance of Gitlab::SearchResults5113 #search_objects5114 per_page: parameter5115 when nil5116 defaults to 205117 when empty string5118 defaults to 205119 when negative5120 defaults to 205121 when present5122 converts to integer and passes to search results5123 when greater than 2005124 passes 2005125 page: parameter5126 when < 15127 defaults to 15128 when nil5129 defaults to 15130 with accessible project_id5131 returns objects in the project5132 with accessible project_id and 'true' snippets5133 returns objects in the project5134 with 'true' snippets5135 returns objects in snippets5136 with accessible group_id5137 returns objects in the group5138 with no project_id, group_id or snippets5139 returns objects in global5140 redacting search results5141 issues5142 redacts the inaccessible issue5143 notes5144 redacts the inaccessible note5145 merge_requests5146 redacts the inaccessible merge request5147 with :with_api_entity_associations5148 behaves like redaction limits N+1 queries5149 does not exceed the query limit5150 project repository blobs5151 redacts the inaccessible blob5152 project wiki blobs5153 redacts the inaccessible blob5154 project snippets5155 redacts the inaccessible snippet5156 with :with_api_entity_associations5157 behaves like redaction limits N+1 queries5158 does not exceed the query limit5159 personal snippets5160 redacts the inaccessible snippet5161 with :with_api_entity_associations5162 behaves like redaction limits N+1 queries5163 does not exceed the query limit5164 commits5165 redacts the inaccessible commit5166 users5167 passes the users through5168 #valid_request?5169 is the return value of params.valid?5170 #abuse_messages5171 returns an empty array when not abusive5172 calls on abuse_detection.errors.full_messages when abusive5173 abusive search handling5174 a search is abusive5175 does NOT execute search service5176 a search is NOT abusive5177 executes search service5178DiffsEntity5179 as json5180 contains needed attributes5181 broken merge request5182 renders without errors5183 when a commit_id is passed5184 when the passed commit is not the first or last in the group5185 includes commit references for previous and next5186 when the passed commit is the first in the group5187 includes commit references for nil and previous commit5188 when the passed commit is the last in the group5189 includes commit references for the next and nil5190 when there are conflicts5191 conflicts are highlighted5192 merge ref head diff is not chosen to be displayed5193 conflicts are not calculated5194 when conflicts cannot be resolved5195 conflicts are not highlighted5196 when allow_tree_conflicts is set to true5197 conflicts are still highlighted5198WebHookService5199 #initialize5200 when SystemHook5201 when local requests are allowed5202 is expected to be truthy5203 when local requests are not allowed5204 is expected to be falsey5205 when ProjectHook5206 when local requests are allowed5207 is expected to be truthy5208 when local requests are not allowed5209 is expected to be falsey5210 #disabled?5211 forced: false, executable: true, disabled: false5212 is expected to have attributes {:disabled? => false}5213 forced: false, executable: false, disabled: true5214 is expected to have attributes {:disabled? => true}5215 forced: true, executable: true, disabled: false5216 is expected to have attributes {:disabled? => false}5217 forced: true, executable: false, disabled: false5218 is expected to have attributes {:disabled? => false}5219 #execute5220 POSTs the data as JSON5221 catches exceptions5222 does not execute disabled hooks5223 executes and registers the hook with the recursion detection5224 blocks and logs if a recursive web hook is detected5225 blocks and logs if the recursion count limit would be exceeded5226 handles exceptions5227 handles 200 status code5228 handles 2xx status codes5229 when token is defined5230 POSTs to the webhook URL5231 when the data is a Gitlab::DataBuilder::Pipeline5232 can log the request payload5233 when auth credentials are present5234 uses the credentials5235 when auth credentials are partial present5236 uses the credentials anyways5237 when url is not encoded5238 handles exceptions5239 when request body size is too big5240 does not perform the request5241 execution logging5242 with success5243 queues LogExecutionWorker correctly5244 queues LogExecutionWorker correctly, resulting in a log record (integration-style test)5245 does not log in the service itself5246 when forced5247 logs execution inline5248 with bad request5249 queues LogExecutionWorker correctly5250 with exception5251 queues LogExecutionWorker correctly5252 with unsafe response body5253 queues LogExecutionWorker with sanitized response_body5254 with oversize response body5255 queues LogExecutionWorker with stripped response_body5256 with massive amount of headers5257 queues LogExecutionWorker with limited amount of headers5258 with oversize header5259 queues LogExecutionWorker with stripped header value5260 with log data exceeding Sidekiq limit5261 queues LogExecutionWorker with request_data overrided in the second attempt5262 new log data still exceeds limit5263 raises an exception5264 #async_execute5265 when rate limiting is not configured5266 queues a worker without tracking the call5267 when rate limiting is configured5268 queues a worker and tracks the call5269 when the hook is throttled (via mock)5270 does not queue a worker and logs an error5271 when the hook is throttled (via Redis)5272 stops queueing workers and logs errors5273 still queues workers for other hooks5274 recursion detection5275 does not queue a worker and logs an error if the call chain limit would be exceeded5276 does not queue a worker and logs an error if a recursive call chain is detected5277 when hook has custom context attributes5278 includes the attributes in the worker context5279Projects::LfsPointers::LfsDownloadService5280 #execute5281 when file download succeeds5282 has the same oid5283 has the same size5284 stores the content5285 streams the download5286 skips read_total_timeout5287 behaves like lfs object is created5288 creates and associate the LFS object to project5289 returns success result5290 behaves like lfs temporal file is removed5291 is expected to equal false5292 when file download fails5293 raise StandardError exception5294 behaves like no lfs object is created5295 is expected not to change `LfsObject.count`5296 returns error result5297 an error is logged5298 behaves like lfs temporal file is removed5299 is expected to equal false5300 when file download returns a redirect5301 correctly stores lfs object5302 behaves like lfs object is created5303 creates and associate the LFS object to project5304 returns success result5305 behaves like lfs temporal file is removed5306 is expected to equal false5307 when downloaded lfs file has a different size5308 raise SizeError exception5309 behaves like no lfs object is created5310 is expected not to change `LfsObject.count`5311 returns error result5312 an error is logged5313 behaves like lfs temporal file is removed5314 is expected to equal false5315 when downloaded lfs file has a different oid5316 raise OidError exception5317 behaves like no lfs object is created5318 is expected not to change `LfsObject.count`5319 returns error result5320 an error is logged5321 behaves like lfs temporal file is removed5322 is expected to equal false5323 when an lfs object with the same oid already exists5324 does not update the file attached to the existing LfsObject5325 behaves like no lfs object is created5326 is expected not to change `LfsObject.count`5327 returns error result5328 an error is logged5329 behaves like lfs temporal file is removed5330 is expected to equal false5331 when credentials present5332 the request adds authorization headers5333 when Authorization header is present5334 request uses the header auth5335 when localhost requests are allowed5336 behaves like lfs object is created5337 creates and associate the LFS object to project5338 returns success result5339 behaves like lfs temporal file is removed5340 is expected to equal false5341 when a bad URL is used5342 download_link: "/etc/passwd"5343 does not download the file5344 download_link: "ftp://example.com"5345 does not download the file5346 download_link: "http://127.0.0.2"5347 does not download the file5348 download_link: "http://192.168.2.120"5349 does not download the file5350 when the URL points to a redirected URL5351 that is blocked5352 redirect_link: "ftp://example.com"5353 behaves like no lfs object is created5354 is expected not to change `LfsObject.count`5355 returns error result5356 an error is logged5357 behaves like lfs temporal file is removed5358 is expected to equal false5359 redirect_link: "http://127.0.0.2"5360 behaves like no lfs object is created5361 is expected not to change `LfsObject.count`5362 returns error result5363 an error is logged5364 behaves like lfs temporal file is removed5365 is expected to equal false5366 redirect_link: "http://192.168.2.120"5367 behaves like no lfs object is created5368 is expected not to change `LfsObject.count`5369 returns error result5370 an error is logged5371 behaves like lfs temporal file is removed5372 is expected to equal false5373 that is not blocked5374 behaves like lfs object is created5375 creates and associate the LFS object to project5376 returns success result5377 behaves like lfs temporal file is removed5378 is expected to equal false5379 when the lfs object attributes are invalid5380 does not download the file5381 behaves like no lfs object is created5382 is expected not to change `LfsObject.count`5383 returns error result5384 an error is logged5385 behaves like lfs temporal file is removed5386 is expected to equal false5387 when a large lfs object with the same oid already exists5388 and first fragments are the same5389 returns success5390 links existing lfs object to the project5391 when lfs_link_existing_object feature flag disabled5392 does not call link_existing_lfs_object!5393 and first fragments diverges5394 raises oid mismatch error5395 does not change lfs objects5396Environments::StopService5397 #execute5398 with a deployment5399 plays the stop action5400 without stop action5401 stops the environment5402 force option5403 does not play the stop action when forced5404 when an environment has already been stopped5405 does not play the stop action5406 without a deployment5407 stops the environment5408 when the actor is a reporter5409 does not stop the environment5410 #execute_for_branch5411 when environment with review app exists5412 when user has permission to stop environment5413 when environment is associated with removed branch5414 stops environment5415 when environment is associated with different branch5416 does not stop environment5417 when specified branch does not exist5418 does not stop environment5419 when no branch not specified5420 does not stop environment5421 when environment is not stopped5422 does not stop environment5423 when user does not have permission to stop environment5424 when user has no access to manage deployments5425 does not stop environment5426 when branch for stop action is protected5427 does not stop environment5428 when there is no environment associated with review app5429 when user has permission to stop environments5430 does not stop environment5431 when environment does not exist5432 does not raise error5433 #execute_for_merge_request_pipeline5434 has active environment at first5435 when user is a developer5436 stops the active environment5437 when pipeline is a branch pipeline for merge request5438 does not stop the active environment5439 with environment related jobs5440 does not stop environments that was not started by the merge request5441 when user is a reporter5442 does not stop the active environment5443 when pipeline is not associated with environments5444 does not raise exception5445 when pipeline is not a pipeline for merge request5446 does not stop the active environment5447Clusters::KnativeServicesFinder5448 #service_pod_details5449 behaves like a cached data5450 has an unintialized cache5451 when using synchronous reactive cache5452 when there are functions for cluster namespace5453 is expected not to be blank5454 when there are no functions for cluster namespace5455 is expected to be blank5456 #services5457 behaves like a cached data5458 has an unintialized cache5459 when using synchronous reactive cache5460 when there are functions for cluster namespace5461 is expected not to be blank5462 when there are no functions for cluster namespace5463 is expected to be blank5464 #knative_detected5465 when knative is installed5466 is expected to be truthy5467 discovers knative installation5468 when knative is not installed5469 is expected to be falsy5470 does not discover knative installation5471Gitlab::Email::Message::RepositoryPush5472 new commits have been pushed to repository5473 #project5474 is expected to eq #<Project id:793 my_group/project841>>5475 is expected to be an instance of Project5476 #project_namespace5477 is expected to eq #<Group id:2563 @my_group>5478 is expected to be a kind of Namespace(id: integer, name: string, path: string, owner_id: integer, created_at: datetime, updated_a...abled: boolean, allow_descendants_override_disabled_shared_runners: boolean, traversal_ids: integer)5479 #project_name_with_namespace5480 is expected to eq "my_group / project845"5481 #author5482 is expected to eq #<User id:1668 @user954>5483 is expected to be an instance of User5484 #author_name5485 is expected to eq "Author"5486 #commits5487 is expected to be a kind of CommitCollection5488 is expected to all be an instance of Commit5489 #diffs5490 is expected to all be an instance of Gitlab::Diff::File5491 #diffs_count5492 is expected to eq 95493 #compare5494 is expected to be an instance of Compare5495 #compare_timeout5496 is expected to eq false5497 #reverse_compare?5498 is expected to eq false5499 #disable_diffs?5500 is expected to eq false5501 #send_from_committer_email?5502 is expected to eq true5503 #action_name5504 is expected to eq "pushed to"5505 #ref_name5506 is expected to eq "master"5507 #ref_type5508 is expected to eq "branch"5509 #target_url5510 is expected to include "compare"5511 is expected to include "2f63565e7aac07bcdadb654e253078b727143ec4"5512 is expected to include "570e7b2abdd848b95f2f578043fc23bd6f6fd24d"5513 #subject5514 is expected to include "[Git][my_group/project864]"5515 is expected to include "6 commits"5516 is expected to include "Ruby files modified"5517GroupMemberPolicy5518 with anonymous user5519 is expected to be allowed :read_group5520 design management is enabled5521 is expected to be allowed :read_design_activity5522 for a private group5523 is expected not to be allowed :destroy_group_member5524 for an internal group5525 is expected not to be allowed :destroy_group_member5526 with guest user, for own membership5527 is expected not to be allowed :update_group_member5528 is expected to be allowed :destroy_group_member5529 with guest user, for other membership5530 is expected not to be allowed :update_group_member5531 is expected to be allowed :read_group5532 with bot user5533 is expected to be allowed :destroy_project_bot_member5534 with anonymous bot user5535 is expected not to be allowed :destroy_project_bot_member5536 with one owner5537 is expected not to be allowed :destroy_group_member5538 is expected to be allowed :read_group5539 with one blocked owner5540 is expected not to be allowed :destroy_group_member5541 is expected not to be allowed :read_group5542 with more than one owner5543 is expected to be allowed :destroy_group_member5544 is expected not to be allowed :destroy_project_bot_member5545 with the group parent5546 is expected to be allowed :update_group_member5547 without group parent5548 is expected not to be allowed :update_group_member5549 without group parent with two owners5550 is expected to be allowed :update_group_member5551Clusters::Agent5552 is expected to belong to created_by_user class_name => User optional: true5553 is expected to belong to project class_name => ::Project required: false5554 is expected to have many agent_tokens class_name => Clusters::AgentToken order => #<Arel::Nodes::NullsLast:0x00007f042a117058>5555 is expected to have many group_authorizations class_name => Clusters::Agents::GroupAuthorization5556 is expected to have many authorized_groups through group_authorizations5557 is expected to have many project_authorizations class_name => Clusters::Agents::ProjectAuthorization5558 is expected to have many authorized_projects class_name => ::Project through project_authorizations5559 is expected to validate that :name cannot be empty/falsy5560 is expected to validate that the length of :name is at most 635561 is expected to validate that :name is case-sensitively unique within the scope of :project_id5562 scopes5563 .ordered_by_name5564 is expected to eq ["agent-a", "agent-b", "agent-c", "agent-d"]5565 .with_name5566 is expected to contain exactly #<Clusters::Agent id: 15, created_at: "2022-07-04 07:32:40.020521296 +0000", updated_at: "2022-07-04 ...0000", project_id: 834, name: "matching-name", created_by_user_id: 1786, has_vulnerabilities: false>5567 .has_vulnerabilities5568 when value is not provided5569 returns agents which have vulnerabilities5570 when value is provided5571 as true5572 returns agents which have vulnerabilities5573 as false5574 returns agents which do not have vulnerabilities5575 validation5576 name validation5577 rejects names that do not conform to RFC 11235578 accepts valid names5579 #has_access_to?5580 has access to own project5581 does not have access to other projects5582 #connected?5583 agent has never connected5584 is expected to be falsey5585 agent has connected, but not recently5586 is expected to be falsey5587 agent has connected recently5588 is expected to be truthy5589 agent token has been revoked5590 is expected to be falsey5591 agent has multiple tokens5592 is expected to be truthy5593 #activity_event_deletion_cutoff5594 is expected to within one second of 2022-07-04 05:32:45 UTC5595Mutations::MergeRequests::Accept5596 #resolve5597 merges the merge request5598 rejects the mutation if the SHA is a mismatch5599 respects the merge commit message5600 respects the squash flag5601 respects the squash_commit_message argument5602 respects the should_remove_source_branch argument when true5603 respects the should_remove_source_branch argument when false5604 rejects unmergeable MRs5605 rejects merges when we cannot validate the hooks5606 rejects merges when the merge service returns an error5607 rejects merges when the merge service raises merge error5608 can use the MERGE_WHEN_PIPELINE_SUCCEEDS strategy5609DeprecatedAssignee5610 #assignee_id=5611 creates the merge_request_assignees relation5612 nullifies the assignee_id column5613 when relation already exists5614 overwrites existing assignees5615 #assignee=5616 creates the merge_request_assignees relation5617 nullifies the assignee_id column5618 when relation already exists5619 overwrites existing assignees5620 #assignee_id5621 returns the first assignee ID5622 #assignees5623 when assignee_id exists and there is no relation5624 creates the relation5625 nullifies the assignee_id5626 when DB is read-only5627 returns a users relation5628 returns an empty relation if no assignee_id is set5629 #assignee_ids5630 when assignee_id exists and there is no relation5631 creates the relation5632 nullifies the assignee_id5633 when DB is read-only5634 returns a list of user IDs5635 returns an empty relation if no assignee_id is set5636Clusters::KubernetesNamespaceFinder5637 #execute5638 cluster supports separate namespaces per environment5639 no persisted namespace is present5640 is expected to be nil5641 a namespace with an environment is present5642 environment matches5643 is expected to eq #<Clusters::KubernetesNamespace id: 11, cluster_id: 321, project_id: 872, cluster_project_id: nil, cr...t_name: "project933-872-production-service-account", environment_id: 86, service_account_token: nil>5644 project cluster5645 is expected to eq #<Clusters::KubernetesNamespace id: 12, cluster_id: 323, project_id: 873, cluster_project_id: 46, cre...t_name: "project934-873-production-service-account", environment_id: 87, service_account_token: nil>5646 service account token is blank5647 is expected to be nil5648 allow_blank_token is true5649 is expected to eq #<Clusters::KubernetesNamespace id: 14, cluster_id: 327, project_id: 875, cluster_project_id: nil, cr...t_name: "project936-875-production-service-account", environment_id: 89, service_account_token: nil>5650 environment does not match5651 is expected to be nil5652 cluster does not support separate namespaces per environment5653 no persisted namespace is present5654 is expected to be nil5655 a legacy namespace with no environment is present5656 is expected to eq #<Clusters::KubernetesNamespace id: 16, cluster_id: 333, project_id: 878, cluster_project_id: nil, cr...ice_account_name: "project939-878-service-account", environment_id: nil, service_account_token: nil>5657 project cluster5658 is expected to eq #<Clusters::KubernetesNamespace id: 17, cluster_id: 335, project_id: 879, cluster_project_id: 47, cre...ice_account_name: "project940-879-service-account", environment_id: nil, service_account_token: nil>5659 service account token is blank5660 is expected to be nil5661 allow_blank_token is true5662 is expected to eq #<Clusters::KubernetesNamespace id: 19, cluster_id: 339, project_id: 881, cluster_project_id: nil, cr...ice_account_name: "project942-881-service-account", environment_id: nil, service_account_token: nil>5663Import::GithubController routing5664 to #personal_access_token5665 behaves like importer routing5666 to #create5667 to #new5668 to #status5669 to #callback5670 to #jobs5671 to #realtime_changes5672Import::GiteaController routing5673 to #personal_access_token5674 behaves like importer routing5675 to #create5676 to #new5677 to #status5678 to #callback5679 to #jobs5680 to #realtime_changes5681Import::GitlabController routing5682 behaves like importer routing5683 to #create5684 to #new5685 to #status5686 to #callback5687 to #jobs5688 to #realtime_changes5689Import::BitbucketController routing5690 behaves like importer routing5691 to #create5692 to #new5693 to #status5694 to #callback5695 to #jobs5696 to #realtime_changes5697Import::BitbucketServerController routing5698 behaves like importer routing5699 to #create5700 to #new5701 to #status5702 to #callback5703 to #jobs5704 to #realtime_changes5705Import::FogbugzController routing5706 to #callback5707 to #new_user_map5708 to #create_user_map5709 behaves like importer routing5710 to #create5711 to #new5712 to #status5713 to #callback5714 to #jobs5715 to #realtime_changes5716Import::GitlabProjectsController routing5717 to #create5718 to #new5719Import::PhabricatorController routing5720 to #create5721 to #new5722PendingTodosFinder5723 #execute5724 returns only pending todos5725 supports retrieving of todos for a specific project5726 supports retrieving of todos for a specific todo target5727 supports retrieving of todos for a specific target type5728 supports retrieving of todos for a specific commit ID5729 supports retrieving of todos for specific discussion5730 supports retrieving of todos for a specific action5731Gitlab::Database::BackgroundMigration::BatchedMigration5732 is expected to be a kind of Gitlab::Database::SharedModel(abstract)5733 associations5734 is expected to have many batched_jobs5735 #last_job5736 returns the batched job with highest max_value5737 validations5738 is expected to validate that :job_arguments is case-sensitively unique within the scope of :job_class_name, :table_name, and :column_name5739 when there are failed jobs5740 raises an exception5741 when the jobs are completed5742 finishes the migration5743 state machine5744 when a migration is executed5745 updates the started_at5746 .valid_status5747 returns valid status5748 .queue_order5749 returns batched migrations ordered by their id5750 .active_migration5751 when there are no migrations on hold5752 returns the first active migration according to queue order5753 when there are migrations on hold5754 returns the first active migration that is not on hold according to queue order5755 when there are migrations not available for the current connection5756 returns the first active migration that is available for the current connection5757 .created_after5758 only returns migrations created after the specified time5759 .queued5760 returns active and paused migrations5761 .successful_rows_counts5762 returns totals from successful jobs5763 #interval_elapsed?5764 when the migration has no last_job5765 returns true5766 when the migration has a last_job5767 when the last_job is less than an interval old5768 returns false5769 when the last_job is exactly an interval old5770 returns true5771 when the last_job is more than an interval old5772 returns true5773 when an interval variance is given5774 when the last job is less than an interval with variance old5775 returns false5776 when the last job is more than an interval with variance old5777 returns true5778 #create_batched_job!5779 creates a batched_job with the correct batch configuration5780 #next_min_value5781 when a previous job exists5782 returns the next value after the previous maximum5783 when a previous job does not exist5784 returns the migration minimum value5785 #job_class5786 returns the class of the job for the migration5787 #batch_class5788 returns the class of the batch strategy for the migration5789 #retry_failed_jobs!5790 when there are failed migration jobs5791 moves the status of the migration to active5792 changes the number of attempts to 05793 when there are no failed migration jobs5794 moves the status of the migration to active5795 #should_stop?5796 when the started_at is nil5797 is expected to be falsey5798 when the number of jobs is lesser than the MINIMUM_JOBS5799 is expected to be falsey5800 when the calculated value is greater than the threshold5801 is expected to be truthy5802 when the calculated value is lesser than the threshold5803 is expected to be falsey5804 #job_class_name=5805 behaves like an attr_writer that assigns class names5806 when a module name exists5807 keeps the class with module name5808 removes leading namespace resolution operator5809 when a module name does not exist5810 does not change the given class name5811 #batch_class_name=5812 behaves like an attr_writer that assigns class names5813 when a module name exists5814 keeps the class with module name5815 removes leading namespace resolution operator5816 when a module name does not exist5817 does not change the given class name5818 #migrated_tuple_count5819 sums the batch_size of succeeded jobs5820 #prometheus_labels5821 returns a hash with labels for the migration5822 #smoothed_time_efficiency5823 when there are not enough jobs5824 returns nil5825 when there are enough jobs5826 example 1: increasing trend, but only recently crossed threshold5827 returns the smoothed time efficiency5828 example 2: increasing trend, crossed threshold a while ago5829 returns the smoothed time efficiency5830 example 3: decreasing trend, but only recently crossed threshold5831 returns the smoothed time efficiency5832 example 4: latest run spiked5833 returns the smoothed time efficiency5834 with preloaded batched migration5835 avoids N+15836 #optimize!5837 calls the BatchOptimizer5838 #hold!5839 updates on_hold_until property5840 defaults to 10 minutes5841 .for_configuration5842 finds the migration matching the given configuration parameters5843 filters by gitlab schemas available for the connection5844 doesn not filter by gitlab schemas available for the connection if the column is nor present (PENDING: Skipping because multiple databases not set up)5845 .find_for_configuration5846 returns nill if such migration does not exists5847 returns the migration when it exists5848 .for_gitlab_schema5849 finds the migrations matching the given gitlab schema5850Git::TagHooksService5851 System hooks5852 executes system hooks5853 Webhooks5854 executes hooks on the project5855 Pipelines5856 creates a new pipeline5857 Push data5858 annotated tag5859 has expected push data attributes5860 with repository data5861 has expected repository attributes5862 with commits5863 is expected to be a kind of Array5864 has 1 element5865 the commit5866 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}5867 has expected commit attributes5868 with an author5869 has expected author attributes5870 lightweight tag5871 has expected push data attributes5872 with repository data5873 has expected repository attributes5874 with commits5875 is expected to be a kind of Array5876 has 1 element5877 the commit5878 is expected to include {:timestamp => "2014-02-27T11:01:38+02:00"}5879 has expected commit attributes5880 with an author5881 has expected author attributes5882Snippets::DestroyService5883 #execute5884 when snippet is nil5885 returns a ServiceResponse error5886 when ProjectSnippet5887 when user is able to admin_project_snippet5888 behaves like a successful destroy5889 deletes the snippet5890 returns ServiceResponse success5891 behaves like deletes the snippet repository5892 removes the snippet repository5893 when the repository deletion service raises an error5894 behaves like an unsuccessful destroy5895 does not delete the snippet5896 returns ServiceResponse error5897 when a destroy error is raised5898 behaves like an unsuccessful destroy5899 does not delete the snippet5900 returns ServiceResponse error5901 when repository is nil5902 does not schedule anything and return success5903 project statistics5904 updates stats after deletion5905 schedules a namespace statistics update5906 when user is not able to admin_project_snippet5907 behaves like an unsuccessful destroy5908 does not delete the snippet5909 returns ServiceResponse error5910 when PersonalSnippet5911 when user is able to admin_personal_snippet5912 schedules a namespace statistics update5913 behaves like a successful destroy5914 deletes the snippet5915 returns ServiceResponse success5916 behaves like deletes the snippet repository5917 removes the snippet repository5918 when the repository deletion service raises an error5919 behaves like an unsuccessful destroy5920 does not delete the snippet5921 returns ServiceResponse error5922 when a destroy error is raised5923 behaves like an unsuccessful destroy5924 does not delete the snippet5925 returns ServiceResponse error5926 when repository is nil5927 does not schedule anything and return success5928 when user is not able to admin_personal_snippet5929 behaves like an unsuccessful destroy5930 does not delete the snippet5931 returns ServiceResponse error5932 when the repository does not exists5933 does not schedule anything and return success5934AutoDevopsHelper5935 .show_auto_devops_callout?5936 when auto devops is implicitly enabled5937 is expected to eq false5938 when auto devops is not implicitly enabled5939 is expected to eq true5940 when the banner is disabled by feature flag5941 is expected to be falsy5942 when dismissed5943 is expected to eq false5944 when user cannot admin project5945 is expected to eq false5946 when auto devops is enabled system-wide5947 is expected to eq false5948 when auto devops is explicitly enabled for project5949 is expected to eq false5950 when auto devops is explicitly disabled for project5951 is expected to eq false5952 when master contains a .gitlab-ci.yml file5953 is expected to eq false5954 when another service is enabled5955 is expected to eq false5956 #auto_devops_settings_path5957 returns auto devops settings path5958 #badge_for_auto_devops_scope5959 when receiver is a group5960 when explicitly enabled5961 is expected to eq "group enabled"5962 when explicitly disabled5963 is expected to be nil5964 when auto devops is implicitly enabled5965 by instance5966 is expected to eq "instance enabled"5967 with groups5968 when auto devops is enabled on parent5969 is expected to eq "group enabled"5970 when auto devops is enabled on parent group5971 is expected to eq "group enabled"5972 when auto devops disabled set on parent group5973 is expected to be nil5974 when receiver is a project5975 when auto devops is enabled at project level5976 is expected to be nil5977 when auto devops is disabled at project level5978 is expected to be nil5979 when auto devops is implicitly enabled5980 by instance5981 is expected to eq "instance enabled"5982 with groups5983 when auto devops is enabled on group level5984 is expected to eq "group enabled"5985 when auto devops is enabled on root group5986 is expected to eq "group enabled"5987 when auto devops is implicitly disabled5988 by instance5989 is expected to be nil5990 with groups5991 when auto devops is disabled on group level5992 is expected to be nil5993 when root group is enabled and parent disabled5994 is expected to be nil5995NamespaceFileUploader5996 behaves like builds correct paths5997 #store_dir5998 behaves like matches the method pattern5999 is expected to match /uploads\/-\/system\/namespace\/\d+/6000 #cache_dir6001 behaves like matches the method pattern6002 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6003 #work_dir6004 behaves like matches the method pattern6005 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6006 #upload_path6007 behaves like matches the method pattern6008 is expected to match /\h+\/\S+/6009 #relative_path6010 is relative (PENDING: Path not set, skipping.)6011 .absolute_path6012 behaves like matches the method pattern6013 is expected to match /\/builds\/gitlab-org\/gitlab\/tmp\/tests\/public\/uploads\/-\/system\/namespace\/\d+\/(?-mix:\h+\/\S+)/6014 .base_dir6015 behaves like matches the method pattern6016 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6017 path traversal exploits6018 throws an exception6019 object_store is REMOTE6020 behaves like builds correct paths6021 #store_dir6022 behaves like matches the method pattern6023 is expected to match /namespace\/\d+\/\h+/6024 #cache_dir6025 behaves like matches the method pattern6026 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6027 #work_dir6028 behaves like matches the method pattern6029 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6030 #upload_path6031 behaves like matches the method pattern6032 is expected to match /\h+\/\S+/6033 #relative_path6034 is relative (PENDING: Path not set, skipping.)6035 .absolute_path6036 behaves like matches the method pattern6037 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6038 .base_dir6039 behaves like matches the method pattern6040 example at ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:8 (PENDING: No pattern provided, skipping.)6041 path traversal exploits6042 throws an exception6043 .base_dir6044 returns local storage base_dir without store param6045 returns local storage base_dir when store param is Store::LOCAL6046 returns remote base_dir when store param is Store::REMOTE6047 #workhorse_local_upload_path6048 returns the correct path in uploads directory6049 #migrate!6050 behaves like migrates6051 returns corresponding file type6052 does nothing when migrating to the current store6053 migrate to the specified store6054 removes the original file after the migration6055 can access to the original file during migration6056 when migrate! is not occupied by another process6057 executes migrate!6058 executes use_file6059 when migrate! is occupied by another process6060 does not execute migrate!6061 does not execute use_file6062 migration is unsuccessful6063 when the store is not supported6064 does not update the object_store6065 does not delete the original file6066 upon a fog failure6067 does not update the object_store6068 does not delete the original file6069 upon a database failure6070 does not update the object_store6071 does not delete the original file6072 behaves like migrates6073 returns corresponding file type6074 does nothing when migrating to the current store6075 migrate to the specified store6076 removes the original file after the migration6077 can access to the original file during migration6078 when migrate! is not occupied by another process6079 executes migrate!6080 executes use_file6081 when migrate! is occupied by another process6082 does not execute migrate!6083 does not execute use_file6084 migration is unsuccessful6085 when the store is not supported6086 does not update the object_store6087 does not delete the original file6088 upon a fog failure6089 does not update the object_store6090 does not delete the original file6091 upon a database failure6092 does not update the object_store6093 does not delete the original file6094 copy_to6095 files are stored locally6096 generates a new secret6097 creates new upload correctly6098 copies the file6099 copies the file to the correct location6100 files are stored remotely6101 generates a new secret6102 creates new upload correctly6103 copies the file6104 copies the file to the correct location6105Gitlab6106 delegates root to GitlabEdition6107 delegates extensions to GitlabEdition6108 delegates ee? to GitlabEdition6109 delegates jh? to GitlabEdition6110 delegates ee to GitlabEdition6111 delegates jh to GitlabEdition6112 .revision6113 when a REVISION file exists6114 returns the actual Git revision6115 memoizes the revision6116 when no REVISION file exist6117 when the Git command succeeds6118 returns the actual Git revision6119 when the Git command fails6120 returns "Unknown"6121 .com?6122 is true when GITLAB_SIMULATE_SAAS is true and in development6123 is false when GITLAB_SIMULATE_SAAS is true and in test6124 when not simulating SaaS6125 is true when on https://gitlab.com6126 is true when on https://staging.gitlab.com6127 is true when on other gitlab subdomain6128 is true when on other gitlab subdomain with hyphen6129 is false when not on GitLab.com6130 .com6131 when on GitLab.com6132 is expected to equal true6133 when not on GitLab.com6134 is expected to be nil6135 .staging?6136 is false when on https://gitlab.com6137 is true when on https://staging.gitlab.com6138 is false when not on staging6139 .canary?6140 is true when CANARY env var is set to true6141 is false when CANARY env var is set to false6142 .com_and_canary?6143 is true when on .com and canary6144 is false when on .com but not on canary6145 .com_but_not_canary?6146 is false when on .com and canary6147 is true when on .com but not on canary6148 .org_or_com?6149 is true when on .com6150 is true when org6151 is false when not dev, org or com6152 .simulate_com?6153 when GITLAB_SIMULATE_SAAS is true6154 is false when test env6155 is true when dev env6156 is false when env is not dev6157 when GITLAB_SIMULATE_SAAS is false6158 is false when test env6159 is false when dev env6160 is false when env is not dev or test6161 .dev_or_test_env?6162 is true when test env6163 is true when dev env6164 is false when env is not dev or test6165 .http_proxy_env?6166 returns true when lower case https6167 returns true when upper case https6168 returns true when lower case http6169 returns true when upper case http6170 returns false when not set6171 .maintenance_mode?6172 returns true when maintenance mode is enabled6173 returns false when maintenance mode is disabled6174 returns false when maintenance mode column is not present6175Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter6176 .track_mr_diffs_action6177 behaves like a tracked merge request unique event6178 is expected to change result by 16179 .track_mr_diffs_single_file_action6180 behaves like a tracked merge request unique event6181 is expected to change result by 16182 behaves like a tracked merge request unique event6183 is expected to change result by 16184 .track_create_mr_action6185 behaves like a tracked merge request unique event6186 is expected to change result by 16187 .track_close_mr_action6188 behaves like a tracked merge request unique event6189 is expected to change result by 16190 .track_merge_mr_action6191 behaves like a tracked merge request unique event6192 is expected to change result by 16193 .track_reopen_mr_action6194 behaves like a tracked merge request unique event6195 is expected to change result by 16196 .track_approve_mr_action6197 behaves like a tracked merge request unique event6198 is expected to change result by 16199 .track_unapprove_mr_action6200 behaves like a tracked merge request unique event6201 is expected to change result by 16202 .track_resolve_thread_action6203 behaves like a tracked merge request unique event6204 is expected to change result by 16205 .track_unresolve_thread_action6206 behaves like a tracked merge request unique event6207 is expected to change result by 16208 .track_title_edit_action6209 behaves like a tracked merge request unique event6210 is expected to change result by 16211 .track_description_edit_action6212 behaves like a tracked merge request unique event6213 is expected to change result by 16214 .track_create_comment_action6215 behaves like a tracked merge request unique event6216 is expected to change result by 16217 when the note is multiline diff note6218 behaves like a tracked merge request unique event6219 is expected to change result by 16220 .track_edit_comment_action6221 behaves like a tracked merge request unique event6222 is expected to change result by 16223 when the note is multiline diff note6224 behaves like a tracked merge request unique event6225 is expected to change result by 16226 .track_remove_comment_action6227 behaves like a tracked merge request unique event6228 is expected to change result by 16229 when the note is multiline diff note6230 behaves like a tracked merge request unique event6231 is expected to change result by 16232 .track_create_review_note_action6233 behaves like a tracked merge request unique event6234 is expected to change result by 16235 .track_publish_review_action6236 behaves like a tracked merge request unique event6237 is expected to change result by 16238 .track_add_suggestion_action6239 behaves like a tracked merge request unique event6240 is expected to change result by 16241 behaves like a tracked merge request unique event6242 is expected to change result by 16243 .track_apply_suggestion_action6244 behaves like a tracked merge request unique event6245 is expected to change result by 16246 behaves like a tracked merge request unique event6247 is expected to change result by 16248 .track_users_assigned_to_mr6249 behaves like a tracked merge request unique event6250 is expected to change result by 16251 .track_marked_as_draft_action6252 behaves like a tracked merge request unique event6253 is expected to change result by 16254 .track_unmarked_as_draft_action6255 behaves like a tracked merge request unique event6256 is expected to change result by 16257 .track_task_item_status_changed6258 behaves like a tracked merge request unique event6259 is expected to change result by 16260 .track_users_review_requested6261 behaves like a tracked merge request unique event6262 is expected to change result by 16263 .track_approval_rule_added_action6264 behaves like a tracked merge request unique event6265 is expected to change result by 16266 .track_approval_rule_edited_action6267 behaves like a tracked merge request unique event6268 is expected to change result by 16269 .track_approval_rule_deleted_action6270 behaves like a tracked merge request unique event6271 is expected to change result by 16272 .track_mr_create_from_issue6273 behaves like a tracked merge request unique event6274 is expected to change result by 16275 .track_discussion_locked_action6276 behaves like a tracked merge request unique event6277 is expected to change result by 16278 .track_discussion_unlocked_action6279 behaves like a tracked merge request unique event6280 is expected to change result by 16281 .track_time_estimate_changed_action6282 behaves like a tracked merge request unique event6283 is expected to change result by 16284 .track_time_spent_changed_action6285 behaves like a tracked merge request unique event6286 is expected to change result by 16287 .track_assignees_changed_action6288 behaves like a tracked merge request unique event6289 is expected to change result by 16290 .track_reviewers_changed_action6291 behaves like a tracked merge request unique event6292 is expected to change result by 16293 .track_mr_including_ci_config6294 when merge request includes a ci config change6295 behaves like a tracked merge request unique event6296 is expected to change result by 16297 when merge request does not include any ci config change6298 behaves like not tracked merge request unique event6299 is expected not to receive track_event(*(any args)) 0 times6300 .track_milestone_changed_action6301 behaves like a tracked merge request unique event6302 is expected to change result by 16303 .track_labels_changed_action6304 behaves like a tracked merge request unique event6305 is expected to change result by 16306 .track_loading_conflict_ui_action6307 behaves like a tracked merge request unique event6308 is expected to change result by 16309 .track_resolve_conflict_action6310 behaves like a tracked merge request unique event6311 is expected to change result by 16312 .track_resolve_thread_in_issue_action6313 behaves like a tracked merge request unique event6314 is expected to change result by 16315NotificationRecipients::BuildService6316 #build_new_note_recipients6317 when there are multiple watchers6318 avoids N+1 queries6319 when there are multiple subscribers6320 avoids N+1 queries6321 when the project is private6322 avoids N+1 queries6323 #build_new_review_recipients6324 when there are multiple watchers6325 avoids N+1 queries6326 when there are multiple subscribers6327 avoids N+1 queries6328 when the project is private6329 avoids N+1 queries6330Gitlab::EncodingHelper6331 #encode!6332 nil6333 empty string6334 invalid utf-8 encoded string6335 frozen non-ascii string6336 leaves ascii only string as is6337 leaves valid utf8 string as is6338 removes invalid bytes from ASCII-8bit encoded multibyte string. This can occur when a git diff match line truncates in the middle of a multibyte character. This occurs after the second word in this example. The test string is as short as we can get while still triggering the error condition when not looking at `detect[:confidence]`.6339 string with detected encoding that is not supported in Ruby6340 leaves binary string as is6341 with corrupted diff6342 does not corrupt data but remove invalid characters6343 #encode_utf8_no_detect6344 input: "abcd", expected: "abcd"6345 drops invalid UTF-86346 input: "DzDzDz", expected: "DzDzDz"6347 drops invalid UTF-86348 input: "Dz\xC7DzDzDz", expected: "Dz�DzDzDz"6349 drops invalid UTF-86350 input: "🐤🐤🐤🐤\xF0\x9F\x90", expected: "🐤🐤🐤🐤�"6351 drops invalid UTF-86352 #encode_utf86353 nil6354 empty string6355 invalid utf-8 encoded string6356 encodes valid utf8 encoded string to utf86357 encodes valid ASCII-8BIT encoded string to utf86358 encodes valid ISO-8859-1 encoded string to utf86359 Equifax branch name6360 returns empty string on conversion errors6361 replaces invalid and undefined chars with the replace argument6362 with strings that can be forcefully encoded into utf86363 doesn't use CharlockHolmes if the encoding can be forced into utf_86364 #clean6365 leaves ascii only string as is6366 leaves valid utf8 string as is6367 removes invalid bytes from ASCII-8bit encoded multibyte string.6368 handles UTF-16BE encoded strings6369 encode_binary6370 encodes nil to ""6371 encodes "" to ""6372 encodes " " to " "6373 encodes "a1" to "a1"6374 encodes "编码" to "\xE7\xBC\x96\xE7\xA0\x81"6375 #binary_io6376 does not mutate the original string encoding6377 returns a copy of the IO with the correct encoding6378 #detect_encoding6379 detects encoding6380 is expected to be a kind of Hash6381 correctly detects the binary6382 data is nil6383 is expected to be nil6384 limit is provided6385 correctly detects the binary6386 #unquote_path6387 is expected to eq "\a\b\e\f\n\r\t\v\""6388gitlab:ldap:rename_provider rake task6389 completes without error6390gitlab:ldap:secret rake tasks6391 :show6392 displays error when file does not exist6393 displays error when key does not exist6394 displays error when key is changed6395 outputs the unencrypted content when present6396 edit6397# main:6398# password: '123'6399# bind_dn: 'gitlab-adm'6400 creates encrypted file6401 displays error when key does not exist6402 displays error when key is changed6403 displays error when write directory does not exist6404somevalue shows a warning when content is invalid6405 displays error when $EDITOR is not set6406 write6407 creates encrypted file from stdin6408 displays error when key does not exist6409 displays error when write directory does not exist6410somevalue shows a warning when content is invalid6411Projects::Operations::UpdateService6412 #execute6413 alerting setting6414 with valid params6415 when regenerate_token is not set6416 with an existing setting6417 ignores provided token6418 without an existing setting6419 behaves like setting creation6420 creates a setting6421 when regenerate_token is set6422 with an existing setting6423 regenerates token6424 without an existing setting6425 behaves like setting creation6426 creates a setting6427 with insufficient permissions6428 behaves like no operation6429 does nothing6430 with empty params6431 behaves like no operation6432 does nothing6433 metrics dashboard setting6434 without existing metrics dashboard setting6435 creates a setting6436 with existing metrics dashboard setting6437 updates the settings6438 with blank external_dashboard_url6439 updates dashboard_timezone6440 error tracking6441 with existing error tracking setting6442 updates the settings6443 disable error tracking6444 can set api_url to nil6445 without an existing error tracking setting6446 creates a setting6447 partial_update6448 with setting6449 service succeeds6450 updates attributes6451 only updates enabled attribute6452 with integrated attribute6453 updates integrated attribute6454 only updates enabled and integrated attributes6455 without setting6456 creates setting with default values6457 with masked param token6458 does not update token6459 with invalid parameters6460 does nothing6461 with inappropriate params6462 ignores params6463 grafana integration6464 without existing grafana integration6465 creates an integration6466 with an existing grafana integration6467 updates the settings6468 with all grafana attributes blank in params6469 destroys the metrics_setting entry in DB6470 prometheus integration6471 prometheus params were passed into service6472WARNING: You're overriding a previous stub implementation of `new`. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:436:in `block (5 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/services/projects/operations/update_service_spec.rb:436:in `block (5 levels) in <top (required)>'.6473 uses Project#find_or_initialize_integration to include instance defined defaults and pass them to Projects::UpdateService6474 when prometheus params are not passed into service6475 does not pass any prometheus params into Projects::UpdateService6476Gitlab::GitalyClient::OperationService6477 #user_create_branch6478 sends a user_create_branch message and returns a Gitlab::git::Branch6479 when pre_receive_error is present6480 throws a PreReceive exception6481 #user_update_branch6482 sends a user_update_branch message6483 #user_merge_to_ref6484 sends a user_merge_to_ref message6485 when pre_receive_error is present6486 throws a PreReceive exception6487 #user_delete_branch6488 sends a user_delete_branch message6489 when pre_receive_error is present6490 throws a PreReceive exception6491 with a custom hook error6492 when details contain stderr6493 behaves like a failed branch deletion6494 raises a PreRecieveError6495 when details contain stdout6496 behaves like a failed branch deletion6497 raises a PreRecieveError6498 with a non-detailed error6499 raises a GRPC error6500 #user_merge_branch6501 sends a user_merge_branch message6502 with an exception with the UserMergeBranchError6503 raises PreRecieveError with the error message6504 with a custom hook error6505 when details contain stderr without prefix6506 behaves like a failed merge6507 raises a PreRecieveError6508 when details contain stderr with prefix6509 behaves like a failed merge6510 raises a PreRecieveError6511 when details contain stdout without prefix6512 behaves like a failed merge6513 raises a PreRecieveError6514 when details contain stdout with prefix6515 behaves like a failed merge6516 raises a PreRecieveError6517 when details contain no stderr or stdout6518 behaves like a failed merge6519 raises a PreRecieveError6520 with an exception without the detailed error6521 raises PermissionDenied6522 with ReferenceUpdateError6523 returns nil6524 #user_ff_branch6525 sends a user_ff_branch message and returns a BranchUpdate object6526 when the response has no branch_update6527 is expected to be nil6528 when the pre-receive hook fails6529 raises the error6530 #user_cherry_pick6531 when errors are not raised but returned in the response6532 behaves like cherry pick and revert errors6533 when a pre_receive_error is present6534 raises a PreReceiveError6535 when a commit_error is present6536 raises a CommitError6537 when a create_tree_error is present6538 raises a CreateTreeError6539 when branch_update is nil6540 is expected to be nil6541 when AccessCheckError is raised6542 behaves like #user_cherry_pick with a gRPC error6543 raises an exception6544 when NotAncestorError is raised6545 behaves like #user_cherry_pick with a gRPC error6546 raises an exception6547 when MergeConflictError is raised6548 behaves like #user_cherry_pick with a gRPC error6549 raises an exception6550 when a non-detailed gRPC error is raised6551 behaves like #user_cherry_pick with a gRPC error6552 raises an exception6553 #user_revert6554 behaves like cherry pick and revert errors6555 when a pre_receive_error is present6556 raises a PreReceiveError6557 when a commit_error is present6558 raises a CommitError6559 when a create_tree_error is present6560 raises a CreateTreeError6561 when branch_update is nil6562 is expected to be nil6563 #rebase6564 when AccessError is raised6565 behaves like #rebase with an error6566 raises a GitError exception6567 when RebaseConflictError is raised6568 behaves like #rebase with an error6569 raises a GitError exception6570 when non-detailed gRPC error is raised6571 behaves like #rebase with an error6572 raises a GitError exception6573 #user_squash6574 sends a user_squash message and returns the squash sha6575 when ResolveRevisionError is raised6576 behaves like #user_squash with an error6577 raises a GitError exception6578 when RebaseConflictError is raised6579 behaves like #user_squash with an error6580 raises a GitError exception6581 when non-detailed gRPC error is raised6582 behaves like #user_squash with an error6583 raises a GitError exception6584 #user_commit_files6585 when a pre_receive_error is present6586 raises a PreReceiveError6587 when an index_error is present6588 raises a PreReceiveError6589 when branch_update is nil6590 is expected to be nil6591 #user_commit_patches6592 applies the patch correctly6593 when the patch could not be applied6594 raises the correct error6595Clusters::Management::ValidateManagementProjectPermissionsService6596 #execute6597 when management_project_id is nil6598 is expected to equal true6599 when management_project_id is not nil6600 when management_project does not exist6601 adds errors to the cluster and returns false6602 project cluster6603 when user is authorized to administer manangement_project6604 adds no error and returns true6605 when user is not authorized to adminster manangement_project6606 adds an error and returns false6607 when manangement_project is outside of the namespace scope6608 adds an error and returns false6609 group cluster6610 when user is authorized to administer manangement_project6611 adds no error and returns true6612 when user is not authorized to adminster manangement_project6613 adds an error and returns false6614 when manangement_project is outside of the namespace scope6615 adds an error and returns false6616 instance cluster6617 when user is authorized to administer manangement_project6618 adds no error and returns true6619 when user is not authorized to adminster manangement_project6620 adds an error and returns false6621GroupClusterablePresenter6622 #can_create_cluster?6623 when user can create6624 is expected to be truthy6625 when user cannot create6626 is expected to be falsey6627 #index_path6628 is expected to eq "/groups/group200/-/clusters"6629 #connect_path6630 is expected to eq "/groups/group201/-/clusters/connect"6631 #create_user_clusters_path6632 is expected to eq "/groups/group202/-/clusters/create_user"6633 #cluster_status_cluster_path6634 is expected to eq "/groups/group203/-/clusters/357/cluster_status"6635 #clear_cluster_cache_path6636 is expected to eq "/groups/group204/-/clusters/360/clear_cache"6637 #cluster_path6638 is expected to eq "/groups/group205/-/clusters/363"6639 #metrics_dashboard_path6640 is expected to eq "/groups/group206/-/clusters/366/metrics_dashboard"6641 #learn_more_link6642 is expected to include "user/group/clusters/index"6643Gitlab::SidekiqStatus6644 with multi-store feature flags turned on6645 uses Gitlab::Redis::SidekiqStatus.with6646 behaves like tracking status in redis6647 .set6648 stores the job ID6649 allows overriding the expiration time6650 does not store anything with a nil expiry6651 .unset6652 removes the job ID6653 .all_completed?6654 returns true if all jobs have been completed6655 returns false if a job has not yet been completed6656 .running?6657 returns true if job is running6658 returns false if job is not found6659 .num_running6660 returns 0 if all jobs have been completed6661 returns 2 if two jobs are still running6662 .num_completed6663 returns 1 if all jobs have been completed6664 returns 1 if a job has not yet been completed6665 .completed_jids6666 returns the completed job6667 returns only the jobs completed6668 .job_status6669 returns an array of boolean values6670 handles an empty array6671 when both multi-store feature flags are off6672 uses Sidekiq.redis6673 behaves like tracking status in redis6674 .set6675 stores the job ID6676 allows overriding the expiration time6677 does not store anything with a nil expiry6678 .unset6679 removes the job ID6680 .all_completed?6681 returns true if all jobs have been completed6682 returns false if a job has not yet been completed6683 .running?6684 returns true if job is running6685 returns false if job is not found6686 .num_running6687 returns 0 if all jobs have been completed6688 returns 2 if two jobs are still running6689 .num_completed6690 returns 1 if all jobs have been completed6691 returns 1 if a job has not yet been completed6692 .completed_jids6693 returns the completed job6694 returns only the jobs completed6695 .job_status6696 returns an array of boolean values6697 handles an empty array6698 .key_for6699 returns the key for a job ID6700Schedulable6701 for a pipeline_schedule6702 behaves like #schedule_next_run!6703 saves the object and sets next_run_at6704 sets next_run_at to nil on error6705 behaves like before_save callback6706 updates next_run_at6707 behaves like .runnable_schedules6708 returns the runnable schedules6709 for a container_expiration_policy6710 behaves like #schedule_next_run!6711 saves the object and sets next_run_at6712 sets next_run_at to nil on error6713 behaves like before_save callback6714 updates next_run_at6715 behaves like .runnable_schedules6716 returns the runnable schedules6717 for a packages cleanup policy6718 behaves like #schedule_next_run!6719 saves the object and sets next_run_at6720 sets next_run_at to nil on error6721 behaves like before_save callback6722 updates next_run_at6723 behaves like .runnable_schedules6724 returns the runnable schedules6725 #next_run_at6726 works6727Integrations::ChatMessage::PipelineMessage6728 returns an empty pretext6729 returns the pipeline summary in the activity's title6730 returns a link to the project in the activity's subtitle6731 returns the build duration in the activity's text property6732 returns the user's avatar image URL in the activity's image property6733 returns the pipeline summary as the attachment's fallback property6734 returns 'good' as the attachment's color property6735 returns the committer's name and username as the attachment's author_name property6736 returns the committer's avatar URL as the attachment's author_icon property6737 returns the committer's GitLab profile URL as the attachment's author_link property6738 returns the pipeline ID, status, and duration as the attachment's title property6739 returns the pipeline URL as the attachment's title_link property6740 returns two attachment fields6741 returns the commit message as the attachment's second field property6742 returns the ref name and link as the attachment's second field property6743 returns the project's name as the attachment's footer property6744 returns the project's avatar URL as the attachment's footer_icon property6745 returns the pipeline's timestamp as the attachment's ts property6746 behaves like Integrations::ChatMessage6747 when input contains link markup6748 strips all link markup characters6749 when the pipeline failed6750 returns the summary with a 'failed' status6751 when the pipeline passed with warnings6752 returns the summary with a 'passed with warnings' status6753 when no user is provided because the pipeline was triggered by the API6754 returns the summary with 'API' as the username6755 when the user does not have an avatar6756 returns an empty string in the activity's image property6757 when the pipeline failed6758 returns 'danger' as the attachment's color property6759 when the pipeline passed with warnings6760 returns 'warning' as the attachment's color property6761 when no user is provided because the pipeline was triggered by the API6762 returns the committer's name and username as the attachment's author_name property6763 returns nil as the attachment's author_icon property6764 returns nil as the attachment's author_link property6765 when a job in the pipeline fails6766 returns four attachment fields6767 returns the stage name and link to the 'Failed jobs' tab on the pipeline's page as the attachment's third field property6768 returns the job name and link as the attachment's fourth field property6769 when lots of jobs across multiple stages fail6770 returns the stage names and links to the 'Failed jobs' tab on the pipeline's page as the attachment's third field property6771 returns the job names and links as the attachment's fourth field property6772 when jobs succeed on retries6773 do not return a job which succeeded on retry6774 when jobs failed even on retries6775 returns only first instance of the failed job6776 when the CI config file contains a YAML error6777 returns three attachment fields6778 returns the YAML error deatils as the attachment's third field property6779 when rendering markdown6780 returns the pipeline summary as the attachments in markdown format6781Gitlab::Ci::Build::Rules::Rule::Clause::Changes6782 #satisfied_by?6783 behaves like a glob matching rule6784 exact top-level match6785 is expected to eq true6786 exact top-level no match6787 is expected to eq false6788 pattern top-level match6789 is expected to eq true6790 pattern top-level no match6791 is expected to eq false6792 exact nested match6793 is expected to eq true6794 exact nested no match6795 is expected to eq false6796 pattern nested match6797 is expected to eq true6798 pattern nested no match6799 is expected to eq false6800 ext top-level match6801 is expected to eq true6802 ext nested no match6803 is expected to eq false6804 ext slash no match6805 is expected to eq false6806 when pipeline is nil6807 is expected to be truthy6808 when using variable expansion6809 when context is nil6810 is expected to be falsey6811 when modified paths are nil6812 is expected to be truthy6813 when context has the specified variables6814 is expected to be truthy6815 when variable expansion does not match6816 is expected to be truthy6817gitlab:cleanup rake tasks6818 cleanup:project_uploads6819 with a fixable orphaned project upload file6820 with DRY_RUN disabled6821 moves the file to its proper location6822 logs action as done6823 with DRY_RUN explicitly enabled6824 behaves like does not move the file6825 does not move the file6826 logs action as able to be done6827 with DRY_RUN set to an unknown value6828 behaves like does not move the file6829 does not move the file6830 logs action as able to be done6831 with DRY_RUN unset6832 behaves like does not move the file6833 does not move the file6834 logs action as able to be done6835 gitlab:cleanup:orphan_job_artifact_files6836 runs the task without errors6837 with DRY_RUN set to false6838 passes dry_run correctly6839 gitlab:cleanup:orphan_lfs_file_references6840 runs the task without errors6841 with DRY_RUN set to false6842 passes dry_run correctly6843 gitlab:cleanup:orphan_lfs_files6844 runs RemoveUnreferencedLfsObjectsWorker6845 sessions6846 gitlab:cleanup:sessions:active_sessions_lookup_keys6847 runs the task without errors6848 removes expired active session lookup keys6849Gitlab::Runtime6850 when unknown6851 .identify6852 raises an exception when trying to identify6853 .safe_identify6854 returns nil6855 on multiple matches6856 .identify6857 raises an exception when trying to identify6858 .safe_identify6859 returns nil6860 puma without cli_config6861 behaves like valid runtime6862 identifies itself6863 does not identify as others6864 reports its maximum concurrency6865 puma with cli_config6866 identifies as an application runtime6867 behaves like valid runtime6868 identifies itself6869 does not identify as others6870 reports its maximum concurrency6871 when ActionCable worker pool size is configured6872 behaves like valid runtime6873 identifies itself6874 does not identify as others6875 reports its maximum concurrency6876 .puma_in_clustered_mode?6877 when Puma is set up with workers > 06878 is expected to equal true6879 when Puma is set up with workers = 06880 is expected to equal false6881 sidekiq6882 identifies as an application runtime6883 behaves like valid runtime6884 identifies itself6885 does not identify as others6886 reports its maximum concurrency6887 console6888 does not identify as an application runtime6889 behaves like valid runtime6890 identifies itself6891 does not identify as others6892 reports its maximum concurrency6893 test suite6894 does not identify as an application runtime6895 behaves like valid runtime6896 identifies itself6897 does not identify as others6898 reports its maximum concurrency6899 geo log cursor6900 behaves like valid runtime6901 identifies itself6902 does not identify as others6903 reports its maximum concurrency6904 rails runner6905 does not identify as an application runtime6906 behaves like valid runtime6907 identifies itself6908 does not identify as others6909 reports its maximum concurrency6910Gitlab::SidekiqConfig::WorkerMatcher6911 #match?6912 with valid input6913 query: "worker_name=WorkerA", expected_metadatas: ["WorkerA"]6914 is expected to contain exactly "WorkerA"6915 query: "worker_name=WorkerA2", expected_metadatas: ["WorkerA2"]6916 is expected to contain exactly "WorkerA2"6917 query: "worker_name=WorkerB|worker_name=WorkerD", expected_metadatas: ["WorkerB"]6918 is expected to contain exactly "WorkerB"6919 query: "worker_name!=WorkerA", expected_metadatas: ["WorkerA2", "WorkerB", "WorkerC"]6920 is expected to contain exactly "WorkerA2", "WorkerB", and "WorkerC"6921 query: "feature_category=category_a", expected_metadatas: ["WorkerA", "WorkerA2"]6922 is expected to contain exactly "WorkerA" and "WorkerA2"6923 query: "feature_category=category_a,category_c", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]6924 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"6925 query: "feature_category=category_a|feature_category=category_c", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]6926 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"6927 query: "feature_category!=category_a", expected_metadatas: ["WorkerB", "WorkerC"]6928 is expected to contain exactly "WorkerB" and "WorkerC"6929 query: "has_external_dependencies=true", expected_metadatas: ["WorkerB"]6930 is expected to contain exactly "WorkerB"6931 query: "has_external_dependencies=false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]6932 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"6933 query: "has_external_dependencies=true,false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]6934 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"6935 query: "has_external_dependencies=true|has_external_dependencies=false", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]6936 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"6937 query: "has_external_dependencies!=true", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerC"]6938 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerC"6939 query: "urgency=high", expected_metadatas: ["WorkerA2", "WorkerB"]6940 is expected to contain exactly "WorkerA2" and "WorkerB"6941 query: "urgency=low", expected_metadatas: ["WorkerA"]6942 is expected to contain exactly "WorkerA"6943 query: "urgency=high,low,throttled", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]6944 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"6945 query: "urgency=low|urgency=throttled", expected_metadatas: ["WorkerA", "WorkerC"]6946 is expected to contain exactly "WorkerA" and "WorkerC"6947 query: "urgency!=high", expected_metadatas: ["WorkerA", "WorkerC"]6948 is expected to contain exactly "WorkerA" and "WorkerC"6949 query: "name=a", expected_metadatas: ["WorkerA"]6950 is expected to contain exactly "WorkerA"6951 query: "name=a,b", expected_metadatas: ["WorkerA", "WorkerB"]6952 is expected to contain exactly "WorkerA" and "WorkerB"6953 query: "name=a,a:2|name=b", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]6954 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"6955 query: "name!=a,a:2", expected_metadatas: ["WorkerB", "WorkerC"]6956 is expected to contain exactly "WorkerB" and "WorkerC"6957 query: "resource_boundary=memory", expected_metadatas: ["WorkerB", "WorkerC"]6958 is expected to contain exactly "WorkerB" and "WorkerC"6959 query: "resource_boundary=memory,cpu", expected_metadatas: ["WorkerA", "WorkerB", "WorkerC"]6960 is expected to contain exactly "WorkerA", "WorkerB", and "WorkerC"6961 query: "resource_boundary=memory|resource_boundary=cpu", expected_metadatas: ["WorkerA", "WorkerB", "WorkerC"]6962 is expected to contain exactly "WorkerA", "WorkerB", and "WorkerC"6963 query: "resource_boundary!=memory,cpu", expected_metadatas: ["WorkerA2"]6964 is expected to contain exactly "WorkerA2"6965 query: "tags=no_disk_io", expected_metadatas: ["WorkerA", "WorkerB"]6966 is expected to contain exactly "WorkerA" and "WorkerB"6967 query: "tags=no_disk_io,git_access", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]6968 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"6969 query: "tags=no_disk_io|tags=git_access", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB"]6970 is expected to contain exactly "WorkerA", "WorkerA2", and "WorkerB"6971 query: "tags=no_disk_io&tags=git_access", expected_metadatas: ["WorkerA"]6972 is expected to contain exactly "WorkerA"6973 query: "tags!=no_disk_io", expected_metadatas: ["WorkerA2", "WorkerC"]6974 is expected to contain exactly "WorkerA2" and "WorkerC"6975 query: "tags!=no_disk_io,git_access", expected_metadatas: ["WorkerC"]6976 is expected to contain exactly "WorkerC"6977 query: "tags=unknown_tag", expected_metadatas: []6978 is expected to contain exactly6979 query: "tags!=no_disk_io", expected_metadatas: ["WorkerA2", "WorkerC"]6980 is expected to contain exactly "WorkerA2" and "WorkerC"6981 query: "tags!=no_disk_io,git_access", expected_metadatas: ["WorkerC"]6982 is expected to contain exactly "WorkerC"6983 query: "tags!=unknown_tag", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]6984 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"6985 query: "feature_category=category_a&urgency=high", expected_metadatas: ["WorkerA2"]6986 is expected to contain exactly "WorkerA2"6987 query: "feature_category=category_a&urgency=high|feature_category=category_c", expected_metadatas: ["WorkerA2", "WorkerC"]6988 is expected to contain exactly "WorkerA2" and "WorkerC"6989 query: "*", expected_metadatas: ["WorkerA", "WorkerA2", "WorkerB", "WorkerC"]6990 is expected to contain exactly "WorkerA", "WorkerA2", "WorkerB", and "WorkerC"6991 with invalid input6992 query: "feature_category=\"category_a\"", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6993 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6994 query: "feature_category=", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6995 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6996 query: "feature_category~category_a", error: Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6997 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::InvalidTerm6998 query: "invalid_term=a", error: Gitlab::SidekiqConfig::WorkerMatcher::UnknownPredicate6999 is expected to raise Gitlab::SidekiqConfig::WorkerMatcher::UnknownPredicate7000MergeRequests::RequestReviewService7001 #execute7002 invalid permissions7003 returns an error7004 reviewer does not exist7005 returns an error7006 reviewer exists7007 returns success7008 updates reviewers state7009 sends email to reviewer7010 creates a new todo for the reviewer7011Gitlab::OptimisticLocking7012 #retry_lock7013 when state changed successfully without retries7014 does not reload object7015 does not create log record7016 adds number of retries to histogram7017 when at least one retry happened, the change succeeded7018 completes the action7019 creates a single log record7020 adds number of retries to histogram7021 when MAX_RETRIES attempts exceeded7022 raises an exception7023 creates a single log record7024 adds number of retries to histogram7025 #retry_optimistic_lock7026 when locking module is mixed in7027 is an alias for retry_lock7028Mutations::ReleaseAssetLinks::Update7029 #ready?7030 when link_type is included as an argument but is passed nil7031 raises a validation error7032 #resolve7033 when the current user has access to update the link7034 name7035 when a new name is provided7036 updates the name7037 behaves like no changes to the link except for the7038 does not change other link properties7039 with protected tag7040 when user has access to the protected tag7041 does not have errors7042 when user does not have access to the protected tag7043 raises a resource access error7044 when nil is provided7045 behaves like validation error with messages7046 returns the updated link as nil7047 returns a validation error7048 url7049 when a new URL is provided7050 updates the url7051 behaves like no changes to the link except for the7052 does not change other link properties7053 when nil is provided7054 behaves like validation error with messages7055 returns the updated link as nil7056 returns a validation error7057 filepath7058 when a new filepath is provided7059 updates the filepath7060 behaves like no changes to the link except for the7061 does not change other link properties7062 when nil is provided7063 updates the filepath to nil7064 link_type7065 when a new link type is provided7066 updates the link type7067 behaves like no changes to the link except for the7068 does not change other link properties7069 when the current user does not have access to update the link7070 raises an error7071 when the link doesn't exist7072 raises an error7073Deployments::UpdateService7074 #execute7075 can update the status to running7076 can update the status to success7077 can update the status to failed7078 can update the status to canceled7079 does not change the state if the status is invalid7080 links merge requests when changing the status to success7081DiffFileBaseEntity7082 submodule information for a7083 newly added submodule7084 says it is a submodule and contains links7085 has no compare url because the submodule was newly added7086 changed submodule7087 contains a link to compare the changes7088 normal file (no submodule)7089 sets submodule to false7090 contains raw sizes for the blob7091 is expected to eq 1327092 edit_path7093 open7094 behaves like a diff file edit path to the source branch7095 is expected to eq "/namespace1070/project1110/-/edit/feature/files/ruby/feature.rb?from_merge_request_iid=1"7096 behaves like nil if removed source branch7097 is expected to eq nil7098 closed7099 behaves like a diff file edit path to the source branch7100 is expected to eq "/namespace1070/project1110/-/edit/feature/files/ruby/feature.rb?from_merge_request_iid=1"7101 removed source branch7102 is expected to eq nil7103 merged7104 is expected to eq "/namespace1070/project1110/-/edit/feature/six"7105 ide_edit_path7106 when source_project and target_project are the same7107 returns the merge_request ide route7108 behaves like nil if removed source branch7109 is expected to eq nil7110 when source_project and target_project are different7111 returns the merge_request ide route with the target_project as param7112Clusters::Applications::InstallService7113 #execute7114 when there are no errors7115 make the application installing7116 schedule async installation status check7117 when k8s cluster communication fails7118 logs into kubernetes.log and Sentry7119 make the application errored7120 a non kubernetes error happens7121 logs into kubernetes.log and Sentry7122 make the application errored7123Gitlab::Ci::Trace::Archive7124 with transactional fixtures7125 #execute7126 computes and assigns checksum7127 validating artifact checksum7128 when the object store is disabled7129 behaves like skips validations7130 behaves like valid7131 does not count as invalid7132 behaves like local checksum only7133 generates only local checksum7134 with FIPS enabled7135 does not generate md5 checksums7136 behaves like valid7137 does not count as invalid7138 with background_upload enabled7139 behaves like skips validations7140 behaves like valid7141 does not count as invalid7142 behaves like local checksum only7143 generates only local checksum7144 with FIPS enabled7145 does not generate md5 checksums7146 behaves like valid7147 does not count as invalid7148 with direct_upload enabled7149 checksums match7150 behaves like valid7151 does not count as invalid7152 when the checksum does not match7153 counts as invalid7154 with FIPS enabled7155 does not generate md5 checksums7156 behaves like valid7157 does not count as invalid7158 with FIPS enabled7159 does not generate md5 checksums7160 behaves like valid7161 does not count as invalid7162 without transactional fixtures7163 #execute!7164 does not upload the trace inside a database transaction7165DiscussionEntity7166 exposes correct attributes7167 does not include base discussion in the notes7168 resolved_by matches note_user_entity schema7169 exposes the url for custom award emoji7170 when is LegacyDiffDiscussion7171 exposes correct attributes7172 when diff file is present7173 exposes diff file attributes7174Gitlab::Database::Reindexing::GrafanaNotifier7175 #notify_start7176 when Grafana is configured using application settings7177 behaves like interacting with Grafana annotations API7178 POSTs a JSON payload7179 on error7180 does not raise the error and returns false7181 when request was not successful7182 returns false7183 without api_key7184 does not post anything7185 without api_url7186 does not post anything7187 when there is no additional tag7188 behaves like interacting with Grafana annotations API7189 POSTs a JSON payload7190 on error7191 does not raise the error and returns false7192 when request was not successful7193 returns false7194 without api_key7195 does not post anything7196 without api_url7197 does not post anything7198 additional tag is provided7199 behaves like interacting with Grafana annotations API7200 POSTs a JSON payload7201 on error7202 does not raise the error and returns false7203 when request was not successful7204 returns false7205 without api_key7206 does not post anything7207 without api_url7208 does not post anything7209 #notify_end7210 when Grafana is configured using application settings7211 behaves like interacting with Grafana annotations API7212 POSTs a JSON payload7213 on error7214 does not raise the error and returns false7215 when request was not successful7216 returns false7217 without api_key7218 does not post anything7219 without api_url7220 does not post anything7221 when there is no additional tag7222 behaves like interacting with Grafana annotations API7223 POSTs a JSON payload7224 on error7225 does not raise the error and returns false7226 when request was not successful7227 returns false7228 without api_key7229 does not post anything7230 without api_url7231 does not post anything7232 additional tag is provided7233 behaves like interacting with Grafana annotations API7234 POSTs a JSON payload7235 on error7236 does not raise the error and returns false7237 when request was not successful7238 returns false7239 without api_key7240 does not post anything7241 without api_url7242 does not post anything7243SnippetPresenter7244 #web_url7245 with PersonalSnippet7246 returns snippet web url7247 with ProjectSnippet7248 returns snippet web url7249 #raw_url7250 with PersonalSnippet7251 returns snippet web url7252 with ProjectSnippet7253 returns snippet web url7254 #can_read_snippet?7255 with PersonalSnippet7256 checks read_snippet7257 with ProjectSnippet7258 checks read_snippet7259 #can_update_snippet?7260 with PersonalSnippet7261 checks update_snippet7262 with ProjectSnippet7263 checks update_snippet7264 #can_admin_snippet?7265 with PersonalSnippet7266 checks admin_snippet7267 with ProjectSnippet7268 checks admin_snippet7269 #can_report_as_spam7270 returns false if the user cannot submit the snippet as spam7271 returns true if the user can submit the snippet as spam7272 #blob7273 when snippet does not have a repository7274 returns SnippetBlob7275 when snippet has a repository7276 returns repository first blob7277Ci::Artifactable7278 artifact properties are included7279 when enum is defined7280 is expected to define :file_format as an enum backed by an integer with values ‹{raw: 1, zip: 2, gzip: 3}›, suffix: true7281 when const is defined7282 is expected to be const defined :FILE_FORMAT_ADAPTERS7283 #each_blob7284 when file format is gzip7285 when gzip file contains one file7286 iterates blob once7287 when gzip file contains three files7288 iterates blob three times7289 when file format is raw7290 iterates blob once7291 when there are no adapters for the file format7292 raises an error7293 ActiveRecord scopes7294 .expired_before7295 returns expired artifacts7296 .expired7297 returns all expired artifacts7298 .with_files_stored_locally7299 returns artifacts stored locally7300 .with_files_stored_remotely7301 returns artifacts stored remotely7302 .project_id_in7303 when artifacts belongs to projects7304 returns artifacts belonging to projects7305Files::CreateService7306 #execute7307 when file matches LFS filter7308 with LFS disabled7309 skips gitattributes check7310 doesn't create LFS pointers7311 with LFS enabled7312 creates an LFS pointer7313 creates an LfsObject with the file's content7314 links the LfsObject to the project7315 commit attribute7316 uses the commit email7317ClusterApplicationEntity7318 #as_json7319 has name7320 has status7321 has version7322 has no status_reason7323 has can_uninstall7324 non-helm application7325 has update_available7326 when application is errored7327 has corresponded data7328 for ingress application7329 includes external_ip7330 for knative application7331 includes available domains7332 includes pages_domain7333Gitlab::Ci::Variables::Collection::Sort7334 #initialize with non-Collection value7335 raises ArgumentError7336 #errors7337 table tests7338 empty array7339 errors matches expected errors7340 valid? matches expected errors7341 does not raise7342 simple expansions7343 errors matches expected errors7344 valid? matches expected errors7345 does not raise7346 cyclic dependency7347 errors matches expected errors7348 valid? matches expected errors7349 does not raise7350 array with raw variable7351 errors matches expected errors7352 valid? matches expected errors7353 does not raise7354 variable containing escaped variable reference7355 errors matches expected errors7356 valid? matches expected errors7357 does not raise7358 #tsort7359 table tests7360 empty array7361 returns correctly sorted variables7362 simple expansions, no reordering needed7363 returns correctly sorted variables7364 complex expansion, reordering needed7365 returns correctly sorted variables7366 unused variables7367 returns correctly sorted variables7368 missing variable7369 returns correctly sorted variables7370 complex expansions with missing variable7371 returns correctly sorted variables7372 raw variable does not get resolved7373 returns correctly sorted variables7374 variable containing escaped variable reference7375 returns correctly sorted variables7376 cyclic dependency7377 raises TSort::Cyclic7378 with overridden variables7379 preserves relative order of overridden variables7380Ci::PlayBridgeService#execute7381 when user can run the bridge7382 marks the bridge pending7383 updates bridge's user7384 enqueues Ci::CreateDownstreamPipelineWorker7385 when a subsequent job is skipped7386 marks the subsequent job as processable7387 when bridge is not playable7388 raises StateMachines::InvalidTransition7389 when user can not run the bridge7390 allows user with developer role to play a bridge7391FeatureFlagsFinder7392 #execute7393 returns feature flags ordered by name7394 preloads relations by default7395 when user is a reporter7396 returns an empty list7397 when scope is given7398 when scope is enabled7399 returns active feature flag7400 when scope is disabled7401 returns inactive feature flag7402 when preload option is false7403 does not preload relations7404WorkItemPolicy7405 read_work_item7406 when project is public7407 when user is not a member of the project7408 is expected to be allowed :read_work_item7409 when user is a member of the project7410 is expected to be allowed :read_work_item7411 when work_item is confidential7412 is expected not to be allowed :read_work_item7413 when project is private7414 when user is not a member of the project7415 is expected to be disallowed :read_work_item7416 when user is a member of the project7417 is expected to be allowed :read_work_item7418 update_work_item7419 when user is reporter7420 is expected to be allowed :update_work_item7421 when user is guest7422 is expected to be disallowed :update_work_item7423 when guest authored the work item7424 is expected to be allowed :update_work_item7425 delete_work_item7426 when user is a member of the project7427 when the user is not the author of the work item7428 is expected to be disallowed :delete_work_item7429 when guest authored the work item7430 is expected to be allowed :delete_work_item7431 when user is member of the project's group7432 when the user is not the author of the work item7433 is expected to be disallowed :delete_work_item7434 when user authored the work item7435 is expected to be allowed :delete_work_item7436 when user is not a member of the project7437 when the user authored the work item7438 is expected to be disallowed :delete_work_item7439 when the user is not the author of the work item7440 is expected to be disallowed :delete_work_item7441ProjectFeaturesCompatibility7442 converts fields from 'true' to ProjectFeature::ENABLED7443 converts fields from 'false' to ProjectFeature::DISABLED7444 converts fields from true to ProjectFeature::ENABLED7445 converts fields from false to ProjectFeature::DISABLED7446 access levels7447 access_level: "disabled", expected_result: 07448 accepts access level7449 access_level: "private", expected_result: 107450 accepts access level7451 access_level: "enabled", expected_result: 207452 accepts access level7453 access_level: "public", expected_result: 307454 accepts access level7455IssueCollection7456 #collection7457 returns the issues in the same order as the input Array7458 #updatable_by_user7459 using an admin user7460 returns all issues7461 using a user that has no access to the project7462 returns no issues when the user is not an assignee or author7463 returns the issues the user is assigned to7464 returns the issues for which the user is the author7465 using a user that has reporter access to the project7466 returns the issues of the project7467 using a user that is an owner of a project7468 returns the issues of the project7469 #visible_to7470 is an alias for updatable_by_user7471ManualInverseAssociation7472 .manual_inverse_association7473 when the relation exists7474 loads the relation7475 does not perform extra queries after loading7476 allows reloading the relation7477 when the relation does not return a value7478 does not try to set an inverse7479Projects::DeployTokens::CreateService7480 behaves like a deploy token creation service7481 #execute7482 when the deploy token is valid7483 creates a new DeployToken7484 creates a new ProjectDeployToken7485 returns a DeployToken7486 sets the creator_id as the id of the current_user7487 when expires at date is not passed7488 sets Forever.date7489 when username is empty string7490 converts it to nil7491 when username is provided7492 keeps the provided username7493 when the deploy token is invalid7494 does not create a new DeployToken7495 does not create a new ProjectDeployToken7496UserGroupNotificationSettingsFinder7497 when the groups have no existing notification settings7498 when the groups have no ancestors7499 will be a default Global notification setting7500 when the groups have ancestors7501 does not cause an N+17502 when an ancestor has a level other than Global7503 has the same level set7504 has the same email set7505 only returns the two queried groups7506 when an ancestor has a Global level but has an email set7507 has the same email and level set7508 when the group has parent_id set but that does not belong to any group7509 returns a default Global notification setting7510 when the group has a private parent7511 still inherits the notification settings7512 preloading `emails_disabled`7513 preloads the `group.emails_disabled` method7514 preloads the `group.emails_disabled` method correctly7515Banzai::Filter::CustomEmojiFilter7516 replaces supported name custom emoji7517 correctly uses the custom emoji URL7518 matches multiple same custom emoji7519 matches multiple custom emoji7520 does not match enclosed colons7521 does not do N+1 query7522 behaves like emoji filter7523 keeps whitespace intact7524 does not match emoji in a string7525 ignores non existent/unsupported emoji7526 matches with adjacent text7527 does not match emoji in a pre tag7528 does not match emoji in code tag7529 does not match emoji in tt tag7530Clusters::InstancePolicy7531 rules7532 when user7533 is expected to be disallowed :read_cluster7534 is expected to be disallowed :add_cluster7535 is expected to be disallowed :create_cluster7536 is expected to be disallowed :update_cluster7537 is expected to be disallowed :admin_cluster7538 when admin7539 when admin mode is enabled7540 is expected to be allowed :read_cluster7541 is expected to be allowed :add_cluster7542 is expected to be allowed :create_cluster7543 is expected to be allowed :update_cluster7544 is expected to be allowed :admin_cluster7545 when admin mode is disabled7546 is expected to be disallowed :read_cluster7547 is expected to be disallowed :add_cluster7548 is expected to be disallowed :create_cluster7549 is expected to be disallowed :update_cluster7550 is expected to be disallowed :admin_cluster7551Gitlab::Database::Transaction::Context7552 #set_start_time7553 sets start_time7554 #increment_savepoints7555 is expected to eq 27556 #increment_rollbacks7557 is expected to eq 37558 #increment_releases7559 is expected to eq 47560 #set_depth7561 is expected to eq 27562 #track_sql7563 is expected to eq ["SELECT 1", "SELECT * FROM users"]7564 #track_backtrace7565 is expected to be a kind of Array7566 is expected to all be a kind of Array7567 is expected to eq 17568 is expected to be a kind of String7569 appends the backtrace7570 #duration7571 is expected to be >= 07572 when savepoints count exceeds threshold7573 behaves like logs transaction data7574 logs once upon COMMIT7575 logs once upon ROLLBACK7576 logs again when log throttle duration passes7577 #should_log? returns true7578 when duration exceeds threshold7579 behaves like logs transaction data7580 logs once upon COMMIT7581 logs once upon ROLLBACK7582 logs again when log throttle duration passes7583 #should_log? returns true7584 when there are too many external HTTP requests7585 behaves like logs transaction data7586 logs once upon COMMIT7587 logs once upon ROLLBACK7588 logs again when log throttle duration passes7589 #should_log? returns true7590 when there are too many too long external HTTP requests7591 behaves like logs transaction data7592 logs once upon COMMIT7593 logs once upon ROLLBACK7594Skipping ./spec/lib/gitlab/database/transaction/context_spec.rb[1:12:1:3] 'Gitlab::Database::Transaction::Context when there are too many too long external HTTP requests behaves like logs transaction data logs again when log throttle duration passes' because it's flaky.7595 logs again when log throttle duration passes (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)7596 #should_log? returns true7597Gitlab::LfsToken7598 #token7599 when the actor is a user7600 returns the correct username7601 returns the correct token type7602 behaves like a valid LFS token7603 returns a computed token7604 when the actor is a key7605 returns the correct username7606 returns the correct token type7607 behaves like a valid LFS token7608 returns a computed token7609 when the actor is a deploy key7610 returns the correct username7611 returns the correct token type7612 behaves like a valid LFS token7613 returns a computed token7614 when the actor is invalid7615 raises an exception7616 #token_valid?7617 where the token is invalid7618 because it's junk7619 returns false7620 because it's been fiddled with7621 returns false7622 because it was generated with a different secret7623 returns false7624 because it's expired7625 returns false7626 where the token is valid7627 returns true7628 when the actor is a regular user7629 when the user is blocked7630 returns false7631 when the user password is expired7632 returns false7633 when the actor is an ldap user7634 when the user is blocked7635 returns false7636 when the user password is expired7637 returns true7638 #deploy_key_pushable?7639 when actor is not a DeployKey7640 returns false7641 when actor is a DeployKey7642 but the DeployKey cannot push to the project7643 returns false7644 and the DeployKey can push to the project7645 returns true7646 #type7647 when actor is not a User7648 returns :lfs_deploy_token type7649 when actor is a User7650 returns :lfs_token type7651 #authentication_payload7652 returns a Hash designed for gitlab-shell7653Gitlab::AlertManagement::Payload::ManagedPrometheus7654 behaves like subclass has expected api7655 defines all public methods in the base class7656 #metric_id7657 is expected to be nil7658 with gitlab_alert_id7659 is expected to eq 127660 #gitlab_prometheus_alert_id7661 is expected to be nil7662 with gitlab_alert_id7663 is expected to eq 127664 #gitlab_alert7665 without alert info in payload7666 is expected to be nil7667 with metric id in payload7668 without matching alert7669 is expected to be nil7670 with matching alert7671 is expected to eq #<PrometheusAlert id: 1, created_at: "2022-07-04 07:38:06.383575484 +0000", updated_at: "2022-07-04 0....0, operator: "gt", environment_id: 97, project_id: 1107, prometheus_metric_id: 1, runbook_url: nil>7672 when unclear which alert applies7673 is expected to be nil7674 with alert id7675 without matching alert7676 is expected to be nil7677 with matching alerts7678 is expected to eq #<PrometheusAlert id: 3, created_at: "2022-07-04 07:38:06.721015012 +0000", updated_at: "2022-07-04 0....0, operator: "gt", environment_id: 99, project_id: 1107, prometheus_metric_id: 2, runbook_url: nil>7679 #full_query7680 is expected to be nil7681 with gitlab alert7682 is expected to eq "avg(metric) > 1.0"7683 with sufficient fallback info7684 is expected to eq "vector(1)"7685 #environment7686 with gitlab alert7687 is expected to eq #<Environment id: 101, project_id: 1107, name: "environment26", created_at: "2022-07-04 07:38:07.0961...l, state: "available", slug: "environment26", auto_stop_at: nil, auto_delete_at: nil, tier: "other">7688 with sufficient fallback info7689 is expected to eq #<Environment id: 102, project_id: 1107, name: "production", created_at: "2022-07-04 07:38:07.2556098... state: "available", slug: "production", auto_stop_at: nil, auto_delete_at: nil, tier: "production">7690 #metrics_dashboard_url7691 without alert7692 is expected to be nil7693 with gitlab alert7694 is expected to eq "http://localhost/namespace1141/project1183/prometheus/alerts/5/metrics_dashboard?embedded=true&end=2018-03-12T09%3A36%3A00Z&environment_id=103&start=2018-03-12T08%3A36%3A00Z"7695Gitlab::PhabricatorImport::BaseWorker7696 .schedule7697 schedules the job7698 counts the scheduled job7699 #perform7700 does not break for a non-existing project7701 does not do anything when the import is not in progress7702 calls import for the project7703 marks the project as imported if there was only one job running7704 does not mark the job as finished when there are more scheduled jobs7705 decrements the job counter7706MergeRequests::BulkRemoveAttentionRequestedService7707 #execute7708 invalid permissions7709 returns an error7710 updates reviewers and assignees7711 returns success7712 updates reviewers state7713 behaves like invalidates attention request cache7714 invalidates the merge requests requiring attention count7715Gitlab::Middleware::HandleMalformedStrings7716 does not modify the env7717 in the URL7718 rejects null bytes7719 rejects escaped null bytes7720 rejects malformed strings7721 rejects escaped malformed strings7722 in authorization headers7723 does not reject correct non-basic-auth tokens7724 does not reject correct encoded password with special characters7725 behaves like rejecting invalid input7726 rejects problematic input in the password7727 rejects problematic input in the username7728 rejects problematic input in non-basic-auth tokens7729 behaves like rejecting invalid input7730 rejects problematic input in the password7731 rejects problematic input in the username7732 rejects problematic input in non-basic-auth tokens7733 behaves like rejecting invalid input7734 rejects problematic input in the password7735 rejects problematic input in the username7736 rejects problematic input in non-basic-auth tokens7737 in params7738 with null byte7739 gives up and does not reject too deeply nested params7740 behaves like checks params7741 rejects bad params in a top level param7742 rejects bad params for hashes with strings7743 rejects bad params for arrays with strings7744 rejects bad params for arrays containing hashes with string values7745 with malformed strings7746 behaves like checks params7747 rejects bad params in a top level param7748 rejects bad params for hashes with strings7749 rejects bad params for arrays with strings7750 rejects bad params for arrays containing hashes with string values7751 without problematic input7752 does not error for strings7753 does not error with no params7754Gitlab::Ci::Reports::Security::Identifier7755 #initialize7756 when all params are given7757 initializes an instance7758 when attribute external_type is missing7759 raises an error7760 when attribute external_id is missing7761 raises an error7762 when attribute name is missing7763 raises an error7764 #key7765 returns fingerprint7766 #type_identifier?7767 external_type: "cve", expected_result: false7768 is expected to equal false7769 external_type: "foo", expected_result: false7770 is expected to equal false7771 external_type: "cwe", expected_result: true7772 is expected to equal true7773 external_type: "wasc", expected_result: true7774 is expected to equal true7775 external type check methods7776 external_type: "Foo", is_cve?: false, is_cwe?: false, is_wasc?: false7777 returns correct result for the type check method7778 external_type: "Cve", is_cve?: true, is_cwe?: false, is_wasc?: false7779 returns correct result for the type check method7780 external_type: "Cwe", is_cve?: false, is_cwe?: true, is_wasc?: false7781 returns correct result for the type check method7782 external_type: "Wasc", is_cve?: false, is_cwe?: false, is_wasc?: true7783 returns correct result for the type check method7784 #to_hash7785 returns expected hash7786 #==7787 when external_type and external_id are equal7788 returns true7789 when external_type is different7790 returns false7791 when external_id is different7792 returns false7793Gitlab::Ci::Config::Entry::Artifacts7794 validation7795 when entry config value is correct7796 #value7797 returns artifacts configuration7798 #valid?7799 is valid7800 when value includes 'reports' keyword7801 returns general artifact and report-type artifacts configuration7802 when value includes 'expose_as' keyword7803 returns general artifact and report-type artifacts configuration7804 when value includes 'public' keyword7805 returns general artifact and report-type artifacts configuration7806 when entry value is not correct7807 #errors7808 when value of attribute is invalid7809 reports error7810 when there is an unknown key present7811 reports error7812 when 'reports' keyword is not hash7813 reports error7814 when 'public' is not a boolean7815 reports error7816 when 'expose_as' is not a string7817 reports error7818 when 'expose_as' is too long7819 reports error7820 when 'expose_as' is an empty string7821 reports error7822 when 'expose_as' contains invalid characters7823 reports error7824 when 'expose_as' is used without 'paths'7825 reports error7826 when 'paths' includes '*' and 'expose_as' is defined7827 reports error7828 excluded artifacts7829 when configuration is valid7830 correctly parses the configuration7831 when configuration is not valid7832 returns an error7833Gitlab::GlRepository::Identifier7834 project repository7835 https://gitlab.com/gitlab-org/gitlab/-/issues/219192 (PENDING: No reason given)7836 behaves like parsing gl_repository identifier7837 returns correct information7838 behaves like parsing gl_repository identifier7839 returns correct information7840 wiki7841 behaves like parsing gl_repository identifier7842 returns correct information7843 behaves like parsing gl_repository identifier7844 returns correct information7845 snippet7846 when PersonalSnippet7847 behaves like parsing gl_repository identifier7848 returns correct information7849 when ProjectSnippet7850 behaves like parsing gl_repository identifier7851 returns correct information7852 design7853 behaves like parsing gl_repository identifier7854 returns correct information7855 when the format is incorrect7856 identifier: "wiki-noid"7857 raises InvalidIdentifier7858 identifier: "foo-2"7859 raises InvalidIdentifier7860 identifier: "project-0"7861 raises InvalidIdentifier7862 identifier: "2-project"7863 raises InvalidIdentifier7864 identifier: "snippet-2-wiki"7865 raises InvalidIdentifier7866 identifier: "project-wibble-wiki"7867 raises InvalidIdentifier7868 identifier: "wiki-1-project"7869 raises InvalidIdentifier7870 identifier: "snippet"7871 raises InvalidIdentifier7872 identifier: "project-1-wiki-bar"7873 raises InvalidIdentifier7874 identifier: "project-1-project"7875 raises InvalidIdentifier7876Metrics::Dashboard::SystemDashboardService7877 #raw_dashboard7878 behaves like #raw_dashboard raises error if dashboard loading fails7879 when yaml is too large7880 raises error7881 when yaml loader returns error7882 raises error7883 when yaml is not a hash7884 returns nil7885 #get_dashboard7886 behaves like valid dashboard service response7887 behaves like valid dashboard service response for schema7888 returns a json representation of the dashboard7889 behaves like raises error for users with insufficient permissions7890 when the user does not have sufficient access7891 behaves like misconfigured dashboard service response7892 returns an appropriate message and status code7893 when the user is anonymous7894 behaves like misconfigured dashboard service response7895 returns an appropriate message and status code7896 behaves like caches the unprocessed dashboard for subsequent calls7897 is expected to receive load_raw!(*(any args)) 1 time7898 behaves like refreshes cache when dashboard_version is changed7899 is expected to receive read(#<Pathname:/builds/gitlab-org/gitlab/config/prometheus/common_metrics.yml>) 2 times7900 behaves like updates gitlab_metrics_dashboard_processing_time_ms metric7901 prometheus7902 behaves like dashboard_version contains SHA256 hash of dashboard file content7903 is expected to eq "ce9ae27d2913f637de851d61099bc4151583eae68b1386a2176339ef6e653223"7904 when called with a non-system dashboard7905 behaves like valid dashboard service response7906 behaves like valid dashboard service response for schema7907 returns a json representation of the dashboard7908 .all_dashboard_paths7909 returns the dashboard attributes7910 .valid_params?7911 is expected to be truthy7912 missing dashboard_path7913 is expected to be falsey7914 non-matching dashboard_path7915 is expected to be falsey7916Gitlab::BlamePresenter7917 precalculates necessary data on init7918 #groups7919 delegates #groups call to the blame7920 #first_line7921 delegates #first_line call to the blame7922 #commit_data7923 has the data necessary to render the view7924 renamed file7925 does not generate link to previous blame on initial commit7926 generates link link to previous blame7927BulkImports::ExportStatus7928 #started?7929 when export status is started7930 returns true7931 when export status is not started7932 returns false7933 when export status is not present7934 returns false7935 when something goes wrong during export status fetch7936 returns false7937 #failed?7938 when export status is failed7939 returns true7940 when export status is not failed7941 returns false7942 when export status is not present7943 returns false7944 when something goes wrong during export status fetch7945 returns false7946 #empty?7947 when export status is present7948 is expected to eq false7949 when export status is not present7950 returns true7951 when export status is empty7952 returns true7953 when something goes wrong during export status fetch7954 returns false7955 #error7956 returns error message7957 when something goes wrong during export status fetch7958 returns exception class as error7959ServiceResponse7960 .success7961 creates a successful response without a message7962 creates a successful response with a message7963 creates a successful response with payload7964 creates a successful response with default HTTP status7965 creates a successful response with custom HTTP status7966 .error7967 creates a failed response without HTTP status7968 creates a failed response with HTTP status7969 creates a failed response with payload7970 #success?7971 returns true for a successful response7972 returns false for a failed response7973 #error?7974 returns false for a successful response7975 returns true for a failed response7976 #errors7977 returns an empty array for a successful response7978 returns an array with a correct message for an error response7979 #track_and_raise_exception7980 when successful7981 returns self7982 when an error7983 tracks and raises7984 allows specification of error class7985 allows extra data for tracking7986 #track_exception7987 when successful7988 returns self7989 when an error7990 tracks7991 allows specification of error class7992 allows extra data for tracking7993LearnGitlabHelper7994 #learn_gitlab_enabled?7995 onboarding: true, learn_gitlab_available: true, result: true7996 when signed in7997 is expected to eq true7998 onboarding: true, learn_gitlab_available: false, result: false7999 when signed in8000 is expected to eq false8001 onboarding: false, learn_gitlab_available: true, result: false8002 when signed in8003 is expected to eq false8004 when not signed in8005 is expected to eq false8006 #learn_gitlab_data8007DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8008Falling back to an asset that may be in the public folder.8009This behavior is deprecated and will be removed.8010To bypass the asset pipeline and preserve this behavior,8011use the `skip_pipeline: true` option.8012 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8013DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8014Falling back to an asset that may be in the public folder.8015This behavior is deprecated and will be removed.8016To bypass the asset pipeline and preserve this behavior,8017use the `skip_pipeline: true` option.8018 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8019DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8020Falling back to an asset that may be in the public folder.8021This behavior is deprecated and will be removed.8022To bypass the asset pipeline and preserve this behavior,8023use the `skip_pipeline: true` option.8024 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8025DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8026Falling back to an asset that may be in the public folder.8027This behavior is deprecated and will be removed.8028To bypass the asset pipeline and preserve this behavior,8029use the `skip_pipeline: true` option.8030 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8031DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8032Falling back to an asset that may be in the public folder.8033This behavior is deprecated and will be removed.8034To bypass the asset pipeline and preserve this behavior,8035use the `skip_pipeline: true` option.8036 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8037DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8038Falling back to an asset that may be in the public folder.8039This behavior is deprecated and will be removed.8040To bypass the asset pipeline and preserve this behavior,8041use the `skip_pipeline: true` option.8042 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8043DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8044Falling back to an asset that may be in the public folder.8045This behavior is deprecated and will be removed.8046To bypass the asset pipeline and preserve this behavior,8047use the `skip_pipeline: true` option.8048 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8049DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8050Falling back to an asset that may be in the public folder.8051This behavior is deprecated and will be removed.8052To bypass the asset pipeline and preserve this behavior,8053use the `skip_pipeline: true` option.8054 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8055DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.8056Falling back to an asset that may be in the public folder.8057This behavior is deprecated and will be removed.8058To bypass the asset pipeline and preserve this behavior,8059use the `skip_pipeline: true` option.8060 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8061 sets correct completion statuses8062 behaves like has all data8063DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8064Falling back to an asset that may be in the public folder.8065This behavior is deprecated and will be removed.8066To bypass the asset pipeline and preserve this behavior,8067use the `skip_pipeline: true` option.8068 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8069DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8070Falling back to an asset that may be in the public folder.8071This behavior is deprecated and will be removed.8072To bypass the asset pipeline and preserve this behavior,8073use the `skip_pipeline: true` option.8074 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8075DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8076Falling back to an asset that may be in the public folder.8077This behavior is deprecated and will be removed.8078To bypass the asset pipeline and preserve this behavior,8079use the `skip_pipeline: true` option.8080 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8081DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8082Falling back to an asset that may be in the public folder.8083This behavior is deprecated and will be removed.8084To bypass the asset pipeline and preserve this behavior,8085use the `skip_pipeline: true` option.8086 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8087DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8088Falling back to an asset that may be in the public folder.8089This behavior is deprecated and will be removed.8090To bypass the asset pipeline and preserve this behavior,8091use the `skip_pipeline: true` option.8092 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8093DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8094Falling back to an asset that may be in the public folder.8095This behavior is deprecated and will be removed.8096To bypass the asset pipeline and preserve this behavior,8097use the `skip_pipeline: true` option.8098 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8099DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8100Falling back to an asset that may be in the public folder.8101This behavior is deprecated and will be removed.8102To bypass the asset pipeline and preserve this behavior,8103use the `skip_pipeline: true` option.8104 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8105DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8106Falling back to an asset that may be in the public folder.8107This behavior is deprecated and will be removed.8108To bypass the asset pipeline and preserve this behavior,8109use the `skip_pipeline: true` option.8110 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8111DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.8112Falling back to an asset that may be in the public folder.8113This behavior is deprecated and will be removed.8114To bypass the asset pipeline and preserve this behavior,8115use the `skip_pipeline: true` option.8116 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8117 has all actions8118DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8119Falling back to an asset that may be in the public folder.8120This behavior is deprecated and will be removed.8121To bypass the asset pipeline and preserve this behavior,8122use the `skip_pipeline: true` option.8123 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8124DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8125Falling back to an asset that may be in the public folder.8126This behavior is deprecated and will be removed.8127To bypass the asset pipeline and preserve this behavior,8128use the `skip_pipeline: true` option.8129 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8130DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8131Falling back to an asset that may be in the public folder.8132This behavior is deprecated and will be removed.8133To bypass the asset pipeline and preserve this behavior,8134use the `skip_pipeline: true` option.8135 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8136DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8137Falling back to an asset that may be in the public folder.8138This behavior is deprecated and will be removed.8139To bypass the asset pipeline and preserve this behavior,8140use the `skip_pipeline: true` option.8141 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8142DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8143Falling back to an asset that may be in the public folder.8144This behavior is deprecated and will be removed.8145To bypass the asset pipeline and preserve this behavior,8146use the `skip_pipeline: true` option.8147 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8148DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8149Falling back to an asset that may be in the public folder.8150This behavior is deprecated and will be removed.8151To bypass the asset pipeline and preserve this behavior,8152use the `skip_pipeline: true` option.8153 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8154DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8155Falling back to an asset that may be in the public folder.8156This behavior is deprecated and will be removed.8157To bypass the asset pipeline and preserve this behavior,8158use the `skip_pipeline: true` option.8159 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8160DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8161Falling back to an asset that may be in the public folder.8162This behavior is deprecated and will be removed.8163To bypass the asset pipeline and preserve this behavior,8164use the `skip_pipeline: true` option.8165 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8166DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.8167Falling back to an asset that may be in the public folder.8168This behavior is deprecated and will be removed.8169To bypass the asset pipeline and preserve this behavior,8170use the `skip_pipeline: true` option.8171 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8172 has all section data8173DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8174Falling back to an asset that may be in the public folder.8175This behavior is deprecated and will be removed.8176To bypass the asset pipeline and preserve this behavior,8177use the `skip_pipeline: true` option.8178 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8179DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8180Falling back to an asset that may be in the public folder.8181This behavior is deprecated and will be removed.8182To bypass the asset pipeline and preserve this behavior,8183use the `skip_pipeline: true` option.8184 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8185DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8186Falling back to an asset that may be in the public folder.8187This behavior is deprecated and will be removed.8188To bypass the asset pipeline and preserve this behavior,8189use the `skip_pipeline: true` option.8190 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8191DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8192Falling back to an asset that may be in the public folder.8193This behavior is deprecated and will be removed.8194To bypass the asset pipeline and preserve this behavior,8195use the `skip_pipeline: true` option.8196 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8197DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8198Falling back to an asset that may be in the public folder.8199This behavior is deprecated and will be removed.8200To bypass the asset pipeline and preserve this behavior,8201use the `skip_pipeline: true` option.8202 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8203DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8204Falling back to an asset that may be in the public folder.8205This behavior is deprecated and will be removed.8206To bypass the asset pipeline and preserve this behavior,8207use the `skip_pipeline: true` option.8208 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8209DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8210Falling back to an asset that may be in the public folder.8211This behavior is deprecated and will be removed.8212To bypass the asset pipeline and preserve this behavior,8213use the `skip_pipeline: true` option.8214 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8215DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8216Falling back to an asset that may be in the public folder.8217This behavior is deprecated and will be removed.8218To bypass the asset pipeline and preserve this behavior,8219use the `skip_pipeline: true` option.8220 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8221DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.8222Falling back to an asset that may be in the public folder.8223This behavior is deprecated and will be removed.8224To bypass the asset pipeline and preserve this behavior,8225use the `skip_pipeline: true` option.8226 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8227 has all project data8228 security_actions_continuous_onboarding experiment8229 when control8230DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8231Falling back to an asset that may be in the public folder.8232This behavior is deprecated and will be removed.8233To bypass the asset pipeline and preserve this behavior,8234use the `skip_pipeline: true` option.8235 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8236DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8237Falling back to an asset that may be in the public folder.8238This behavior is deprecated and will be removed.8239To bypass the asset pipeline and preserve this behavior,8240use the `skip_pipeline: true` option.8241 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8242DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8243Falling back to an asset that may be in the public folder.8244This behavior is deprecated and will be removed.8245To bypass the asset pipeline and preserve this behavior,8246use the `skip_pipeline: true` option.8247 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8248DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8249Falling back to an asset that may be in the public folder.8250This behavior is deprecated and will be removed.8251To bypass the asset pipeline and preserve this behavior,8252use the `skip_pipeline: true` option.8253 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8254DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8255Falling back to an asset that may be in the public folder.8256This behavior is deprecated and will be removed.8257To bypass the asset pipeline and preserve this behavior,8258use the `skip_pipeline: true` option.8259 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8260DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8261Falling back to an asset that may be in the public folder.8262This behavior is deprecated and will be removed.8263To bypass the asset pipeline and preserve this behavior,8264use the `skip_pipeline: true` option.8265 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8266DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8267Falling back to an asset that may be in the public folder.8268This behavior is deprecated and will be removed.8269To bypass the asset pipeline and preserve this behavior,8270use the `skip_pipeline: true` option.8271 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8272DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8273Falling back to an asset that may be in the public folder.8274This behavior is deprecated and will be removed.8275To bypass the asset pipeline and preserve this behavior,8276use the `skip_pipeline: true` option.8277 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8278DEPRECATION WARNING: The asset "learn_gitlab/security_scan_enabled.svg" is not present in the asset pipeline.8279Falling back to an asset that may be in the public folder.8280This behavior is deprecated and will be removed.8281To bypass the asset pipeline and preserve this behavior,8282use the `skip_pipeline: true` option.8283 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8284 sets correct paths8285 when candidate8286DEPRECATION WARNING: The asset "learn_gitlab/pipeline_created.svg" is not present in the asset pipeline.8287Falling back to an asset that may be in the public folder.8288This behavior is deprecated and will be removed.8289To bypass the asset pipeline and preserve this behavior,8290use the `skip_pipeline: true` option.8291 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8292DEPRECATION WARNING: The asset "learn_gitlab/trial_started.svg" is not present in the asset pipeline.8293Falling back to an asset that may be in the public folder.8294This behavior is deprecated and will be removed.8295To bypass the asset pipeline and preserve this behavior,8296use the `skip_pipeline: true` option.8297 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8298DEPRECATION WARNING: The asset "learn_gitlab/required_mr_approvals_enabled.svg" is not present in the asset pipeline.8299Falling back to an asset that may be in the public folder.8300This behavior is deprecated and will be removed.8301To bypass the asset pipeline and preserve this behavior,8302use the `skip_pipeline: true` option.8303 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8304DEPRECATION WARNING: The asset "learn_gitlab/code_owners_enabled.svg" is not present in the asset pipeline.8305Falling back to an asset that may be in the public folder.8306This behavior is deprecated and will be removed.8307To bypass the asset pipeline and preserve this behavior,8308use the `skip_pipeline: true` option.8309 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8310DEPRECATION WARNING: The asset "learn_gitlab/issue_created.svg" is not present in the asset pipeline.8311Falling back to an asset that may be in the public folder.8312This behavior is deprecated and will be removed.8313To bypass the asset pipeline and preserve this behavior,8314use the `skip_pipeline: true` option.8315 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8316DEPRECATION WARNING: The asset "learn_gitlab/git_write.svg" is not present in the asset pipeline.8317Falling back to an asset that may be in the public folder.8318This behavior is deprecated and will be removed.8319To bypass the asset pipeline and preserve this behavior,8320use the `skip_pipeline: true` option.8321 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8322DEPRECATION WARNING: The asset "learn_gitlab/merge_request_created.svg" is not present in the asset pipeline.8323Falling back to an asset that may be in the public folder.8324This behavior is deprecated and will be removed.8325To bypass the asset pipeline and preserve this behavior,8326use the `skip_pipeline: true` option.8327 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8328DEPRECATION WARNING: The asset "learn_gitlab/user_added.svg" is not present in the asset pipeline.8329Falling back to an asset that may be in the public folder.8330This behavior is deprecated and will be removed.8331To bypass the asset pipeline and preserve this behavior,8332use the `skip_pipeline: true` option.8333 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8334DEPRECATION WARNING: The asset "learn_gitlab/license_scanning_run.svg" is not present in the asset pipeline.8335Falling back to an asset that may be in the public folder.8336This behavior is deprecated and will be removed.8337To bypass the asset pipeline and preserve this behavior,8338use the `skip_pipeline: true` option.8339 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8340DEPRECATION WARNING: The asset "learn_gitlab/secure_dependency_scanning_run.svg" is not present in the asset pipeline.8341Falling back to an asset that may be in the public folder.8342This behavior is deprecated and will be removed.8343To bypass the asset pipeline and preserve this behavior,8344use the `skip_pipeline: true` option.8345 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8346DEPRECATION WARNING: The asset "learn_gitlab/secure_dast_run.svg" is not present in the asset pipeline.8347Falling back to an asset that may be in the public folder.8348This behavior is deprecated and will be removed.8349To bypass the asset pipeline and preserve this behavior,8350use the `skip_pipeline: true` option.8351 (called from block in onboarding_actions_data at /builds/gitlab-org/gitlab/app/helpers/learn_gitlab_helper.rb:38)8352 sets correct paths8353Gitlab::DataBuilder::Deployment8354 .build8355 returns the object kind for a deployment8356 returns data for the given build8357 does not include the deployable URL when there is no deployable8358 when commit does not exist in the repository8359 returns nil for commit_url8360 returns nil for commit_title8361 when deployed_by is nil8362 returns nil for user8363 returns nil for user_url8364Packages::Dependency8365 relationships8366 is expected to have many dependency_links8367 validations8368 is expected to validate that :name cannot be empty/falsy8369 is expected to validate that :version_pattern cannot be empty/falsy8370 is expected to validate that :name is case-sensitively unique within the scope of :version_pattern8371 .ids_for_package_names_and_version_patterns8372 is expected to contain exactly 4 and 58373 with unknown names8374 is expected to be empty8375 with unknown version patterns8376 is expected to be empty8377 with a name bigger than column size8378 is expected to contain exactly 4 and 58379 with a version pattern bigger than column size8380 is expected to contain exactly 4 and 58381 with too big parameter8382 is expected to raise ArgumentError with "Too many names_and_version_patterns"8383 with parameters size8384 above the chunk size8385 is expected to contain exactly 4, 5, 6, 7, 8, 9, and 108386 selecting too many rows8387 is expected to raise ArgumentError with "Too many Dependencies selected"8388 .for_package_names_and_version_patterns8389 is expected to contain exactly #<Packages::Dependency id: 11, name: "foo", version_pattern: "~1.0.0"> and #<Packages::Dependency id: 12, name: "bar", version_pattern: "~2.5.0">8390 with unknown names8391 is expected to be empty8392 with unknown version patterns8393 is expected to be empty8394Resolvers::Admin::Analytics::UsageTrends::MeasurementsResolver8395 #resolve8396 when requesting project count measurements8397 as an admin user8398 returns the records, latest first8399 as a non-admin user8400 generates a ResourceNotAvailable error8401 as an unauthenticated user8402 generates a ResourceNotAvailable error8403 when filtering by recorded_after and recorded_before8404 is expected to contain exactly #<Analytics::UsageTrends::Measurement id: 1, count: 1000, recorded_at: "2022-07-02 07:38:40.449538193 +0000", identifier: "projects">8405 when "incorrect" values are passed8406 is expected to be empty8407 when requesting pipeline counts by pipeline status8408 filter for pipelines_succeeded8409 is expected to eq [#<Analytics::UsageTrends::Measurement id: 3, count: 1000, recorded_at: "2022-07-02 07:38:40.623860176 +0000", identifier: "pipelines_succeeded">]8410 filter for pipelines_skipped8411 is expected to eq [#<Analytics::UsageTrends::Measurement id: 4, count: 1000, recorded_at: "2022-07-02 07:38:40.630356625 +0000", identifier: "pipelines_skipped">]8412 filter for pipelines_failed8413 is expected to be empty8414 filter for pipelines_canceled8415 is expected to be empty8416Gitlab::Ci::RunnerInstructions8417 OS8418 linux8419 has the required fields8420 has a valid script8421 osx8422 has the required fields8423 has a valid script8424 windows8425 has the required fields8426 has a valid script8427 OTHER_ENVIRONMENTS8428 docker8429 has the required fields8430 kubernetes8431 has the required fields8432 #install_script8433 invalid params8434 current_params: {:os=>nil, :arch=>nil}, expected_error_message: "Missing OS"8435 raises argument error8436 current_params: {:os=>"linux", :arch=>nil}, expected_error_message: "Missing arch"8437 raises argument error8438 current_params: {:os=>nil, :arch=>"amd64"}, expected_error_message: "Missing OS"8439 raises argument error8440 current_params: {:os=>"non_existing_os", :arch=>"amd64"}, expected_error_message: "Invalid OS"8441 raises argument error8442 current_params: {:os=>"linux", :arch=>"non_existing_arch"}, expected_error_message: "Architecture not found for OS"8443 raises argument error8444 current_params: {:os=>"windows", :arch=>"non_existing_arch"}, expected_error_message: "Architecture not found for OS"8445 raises argument error8446 with valid params8447 os: "linux", arch: "amd64"8448 returns string containing correct params8449 os: "linux", arch: "386"8450 returns string containing correct params8451 os: "linux", arch: "arm"8452 returns string containing correct params8453 os: "linux", arch: "arm64"8454 returns string containing correct params8455 os: "windows", arch: "amd64"8456 returns string containing correct params8457 os: "windows", arch: "386"8458 returns string containing correct params8459 os: "osx", arch: "amd64"8460 returns string containing correct params8461Gitlab::GitalyClient::ConflictsService8462 #list_conflict_files8463 behaves like listing conflicts8464 sends an RPC request8465 when allow_tree_conflicts is set to true8466 behaves like listing conflicts8467 sends an RPC request8468 #resolve_conflicts8469 sends an RPC request8470 raises a relevant exception if resolution_error is present8471 with branches with UTF-8 characters8472 handles commit messages with UTF-8 characters8473Gitlab::SlashCommands::Presenters::IssueShow8474 is expected to be a kind of Hash8475 shows the issue8476 with upvotes8477 shows the upvote count8478 with labels8479 shows the labels8480 confidential issue8481 shows an ephemeral response8482Terraform::StateVersionPolicy8483 rules8484 no access8485 is expected to be disallowed :read_terraform_state8486 is expected to be disallowed :admin_terraform_state8487 developer8488 is expected to be allowed :read_terraform_state8489 is expected to be disallowed :admin_terraform_state8490 maintainer8491 is expected to be allowed :read_terraform_state8492 is expected to be allowed :admin_terraform_state8493Ci::DailyBuildGroupReportResultsFinder8494 #execute8495 when params are provided8496 when current user is not allowed to read data8497 returns an empty collection8498 when current user is allowed to read data8499 returns matching coverages within the given date range8500 when ref_path is nil8501 returns coverages for the default branch8502 when limit is specified8503 returns limited number of matching coverages within the given date range8504 when provided dates are nil8505 returns all coverages from the last 90 days8506MergeRequestMetricsService8507 #merge8508 updates metrics8509 #close8510 updates metrics8511 #reopen8512 updates metrics8513Clusters::AgentTokenPolicy8514 rules8515 when reporter8516 is expected to be disallowed :admin_cluster8517 is expected to be disallowed :read_cluster8518 when developer8519 is expected to be disallowed :admin_cluster8520 is expected to be allowed :read_cluster8521 when maintainer8522 is expected to be allowed :admin_cluster8523 is expected to be allowed :read_cluster8524Types::UserMergeRequestInteractionType8525 is expected to require graphql authorizations :read_merge_request8526 has the expected fields8527 #can_merge8528 when the user cannot merge8529 is expected to equal false8530 when the user can merge8531 is expected to equal true8532 #can_update8533 when the user cannot update the MR8534 is expected to equal false8535 when the user can update the MR8536 is expected to equal true8537 #review_state8538 when the user has not been asked to review the MR8539 is expected to be nil8540 implies not reviewed8541 when the user has been asked to review the MR8542 is expected to eq "attention_requested"8543 implies not reviewed8544 when the user has provided a review8545 is expected to eq "reviewed"8546 implies reviewed8547 #approved8548 when the user has not approved the MR8549 is expected to equal false8550 when the user has approved the MR8551 is expected to equal true8552Ci::PipelineEditorHelper8553 can_view_pipeline_editor?8554 user can view editor if they can collaborate8555 user can not view editor if they cannot collaborate8556 #js_pipeline_editor_data8557 with a project with commits8558 returns pipeline editor data8559 with an empty project8560 returns pipeline editor data8561 with a project with no repository8562 returns pipeline editor data8563 with a non-default branch name8564 returns correct values8565Gitlab::Ci::Config::EdgeStagesInjector8566 #call8567 without stages8568 is expected to match {:test=>{:script=>"test"}}8569 with values8570 is expected to match {:stages=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}8571 with bad values8572 is expected to match {:stages=>"stage1", :test=>{:script=>"test"}}8573 with collision values8574 is expected to match {:stages=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}8575 with types8576 is expected to match {:types=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}8577 with types8578 is expected to match {:types=>[".pre", "stage1", "stage2", ".post"], :test=>{:script=>"test"}}8579 .wrap_stages8580 with empty value8581 is expected to eq [".pre", ".post"]8582 with values8583 is expected to eq [".pre", "s1", ".post"]8584shared/notes/_form8585 with a note on issue8586 says that markdown and quick actions are supported8587 with a note on merge_request8588 says that markdown and quick actions are supported8589 with a note on commit8590 says that markdown and quick actions are supported8591Gitlab::RouteMap8592 #initialize8593 when the data is not YAML8594 raises an error8595 when the data is not a YAML array8596 raises an error8597 when an entry is not a hash8598 raises an error8599 when an entry does not have a source key8600 raises an error8601 when an entry does not have a public key8602 raises an error8603 when an entry source is not a valid regex8604 raises an error8605 when all is good8606 returns a route map8607 #public_path_for_source_path8608 returns the public path for a provided source path8609 malicious regexp8610 takes under a second8611Gitlab::Diff::FileCollection::Compare8612 behaves like diff statistics8613 when include_stats is true8614 Repository#diff_stats is called8615 Gitlab::Diff::File is initialized with diff stats8616 when should not request diff stats8617 Repository#diff_stats is not called8618 behaves like sortable diff files8619 #raw_diff_files8620 when sorted is false (default)8621 returns unsorted diff files8622 when sorted is true8623 returns sorted diff files8624 #cache_key8625 returns with head and base8626Gitlab::Tracking::IncidentManagement8627 .track_from_params8628 known params8629 param create_issue8630 behaves like a tracked event8631 creates the tracking event with the correct details8632 param issue_template_key8633 behaves like a tracked event8634 creates the tracking event with the correct details8635 param send_email8636 behaves like a tracked event8637 creates the tracking event with the correct details8638 param pagerduty_active8639 behaves like a tracked event8640 creates the tracking event with the correct details8641 param auto_close_incident8642 behaves like a tracked event8643 creates the tracking event with the correct details8644 different input values8645 behaves like the correct prefixed event name8646 matches8647 behaves like the correct prefixed event name8648 matches8649 behaves like the correct prefixed event name8650 matches8651 behaves like the correct prefixed event name8652 matches8653 behaves like the correct prefixed event name8654 matches8655 param with label8656 behaves like a tracked event8657 creates the tracking event with the correct details8658 param without label8659 behaves like a tracked event8660 creates the tracking event with the correct details8661 unknown params8662 does not create the tracking event8663ShaAttribute8664 .sha_attribute8665 defines a SHA attribute with Gitlab::Database::ShaAttribute type8666 .sha256_attribute8667 defines a SHA256 attribute with Gitlab::Database::ShaAttribute type8668 .load_schema!8669 column_name: binary_column, environment: "development", expected_error: :no_error8670 with sha_attribute8671 validates column type8672 with sha256_attribute8673 validates column type8674 column_name: binary_column, environment: "production", expected_error: :no_error8675 with sha_attribute8676 validates column type8677 with sha256_attribute8678 validates column type8679 column_name: text_column, environment: "development", expected_error: :sha_mismatch_error8680 with sha_attribute8681 validates column type8682 with sha256_attribute8683 validates column type8684 column_name: text_column, environment: "production", expected_error: :no_error8685 with sha_attribute8686 validates column type8687 with sha256_attribute8688 validates column type8689 column_name: :__non_existent_column, environment: "development", expected_error: :no_error8690 with sha_attribute8691 validates column type8692 with sha256_attribute8693 validates column type8694 column_name: :__non_existent_column, environment: "production", expected_error: :no_error8695 with sha_attribute8696 validates column type8697 with sha256_attribute8698 validates column type8699Gitlab::Identifier8700 #identify8701 without an identifier8702 returns nil8703 with a user identifier8704 identifies the user using a user ID8705 with an SSH key identifier8706 identifies the user using an SSH key ID8707 #identify_using_user8708 returns the User for an existing ID in the identifier8709 returns nil for a non existing user ID8710 caches the found users per ID8711 #identify_using_ssh_key8712 returns the User for an existing SSH key8713 returns nil for an invalid SSH key8714 caches the found users per key8715Gitlab::ProtocolAccess8716 .allowed?8717 protocol: "web", project: nil, admin_setting: nil, namespace_setting: nil, expected_result: true8718 is expected to equal true8719 protocol: "ssh", project: nil, admin_setting: nil, namespace_setting: nil, expected_result: true8720 is expected to equal true8721 protocol: "http", project: nil, admin_setting: nil, namespace_setting: nil, expected_result: true8722 is expected to equal true8723 protocol: "ssh", project: nil, admin_setting: "", namespace_setting: nil, expected_result: true8724 is expected to equal true8725 protocol: "http", project: nil, admin_setting: "", namespace_setting: nil, expected_result: true8726 is expected to equal true8727 protocol: "ssh", project: nil, admin_setting: "ssh", namespace_setting: nil, expected_result: true8728 is expected to equal true8729 protocol: "http", project: nil, admin_setting: "http", namespace_setting: nil, expected_result: true8730 is expected to equal true8731 protocol: "ssh", project: nil, admin_setting: "http", namespace_setting: nil, expected_result: false8732 is expected to equal false8733 protocol: "http", project: nil, admin_setting: "ssh", namespace_setting: nil, expected_result: false8734 is expected to equal false8735 protocol: "ssh", project: p1, admin_setting: nil, namespace_setting: "all", expected_result: true8736 is expected to equal true8737 protocol: "http", project: p1, admin_setting: nil, namespace_setting: "all", expected_result: true8738 is expected to equal true8739 protocol: "ssh", project: p1, admin_setting: nil, namespace_setting: "ssh", expected_result: true8740 is expected to equal true8741 protocol: "http", project: p1, admin_setting: nil, namespace_setting: "http", expected_result: true8742 is expected to equal true8743 protocol: "ssh", project: p1, admin_setting: nil, namespace_setting: "http", expected_result: false8744 is expected to equal false8745 protocol: "http", project: p1, admin_setting: nil, namespace_setting: "ssh", expected_result: false8746 is expected to equal false8747 protocol: "ssh", project: p1, admin_setting: "", namespace_setting: "all", expected_result: true8748 is expected to equal true8749 protocol: "http", project: p1, admin_setting: "", namespace_setting: "all", expected_result: true8750 is expected to equal true8751 protocol: "ssh", project: p1, admin_setting: "ssh", namespace_setting: "ssh", expected_result: true8752 is expected to equal true8753 protocol: "http", project: p1, admin_setting: "http", namespace_setting: "http", expected_result: true8754 is expected to equal true8755Projects::GroupLinks::CreateService#execute8756 when user has proper membership to share a group8757 updates authorization8758 behaves like shareable8759 adds group to project8760 with specialized project_authorization workers8761 schedules authorization update for users with access to group8762 when sharing outside the hierarchy is disabled8763 behaves like not shareable8764 does not share and returns an error8765 when group is inside hierarchy8766 behaves like shareable8767 adds group to project8768 when user does not have permissions for the group8769 behaves like not shareable8770 does not share and returns an error8771 when group is blank8772 behaves like not shareable8773 does not share and returns an error8774WorkItems::DeleteTaskService8775 #execute8776 when work item params are valid8777 is expected to be success8778 deletes the work item and the related issue link8779 removes the task list item with the work item reference8780 when first operation fails8781 behaves like failing WorkItems::DeleteTaskService8782 is expected to be error8783 does not remove work item or issue links8784 returns an error message8785 when last operation fails8786 behaves like failing WorkItems::DeleteTaskService8787 is expected to be error8788 does not remove work item or issue links8789 returns an error message8790SidekiqHelper8791 parse_sidekiq_ps8792 parses line with time8793 parses line with date8794 parses line with two digit date8795 parses line with dot as float separator8796 parses OSX output8797 parses Ubuntu output8798 parses Debian output8799 parses OpenBSD output8800 does fail gracefully on line not matching the format8801Ci::GroupVariablePresenter8802 inherits from Gitlab::View::Presenter::Delegated8803 #initialize8804 takes a variable and optional params8805 exposes variable8806 forwards missing methods to variable8807 #placeholder8808 is expected to eq "GROUP_VARIABLE"8809 #form_path8810 is expected to eq "/groups/group253/-/settings/ci_cd"8811 #edit_path8812 is expected to eq "/groups/group254/-/variables"8813 #delete_path8814 is expected to eq "/groups/group255/-/variables"8815Members::UnassignIssuablesService8816 #execute8817 when a user leaves a project8818 behaves like un-assigning issuables8819 removes issuable assignments8820 invalidates user cache8821 when a user leaves a group8822 behaves like un-assigning issuables8823 removes issuable assignments8824 invalidates user cache8825Gitlab::Email::Hook::ValidateAddressesInterceptor8826 UNSAFE_CHARACTERS8827 is expected to match "\\"8828 is expected to match "\u0000"8829 is expected to match "\u0001"8830 is expected not to match ""8831 is expected not to match "user@example.com"8832 is expected not to match "foo-123+bar_456@example.com"8833 .delivering_email8834 sends emails to normal addresses8835 does not send emails if the :from header contains unsafe characters8836 does not send emails if the :to header contains unsafe characters8837 does not send emails if the :cc header contains unsafe characters8838 does not send emails if the :bcc header contains unsafe characters8839 sends emails if the :reply_to header contains unsafe characters8840Gitlab::HTTPConnectionAdapter8841 #connection8842 with use_read_total_timeout option8843 sets up the connection using the Gitlab::NetHttpAdapter8844 when local requests are allowed8845 sets up the connection8846 when local requests are not allowed8847 sets up the connection8848 when it is a request to local network8849 raises error8850 when local request allowed8851 sets up the connection8852 when it is a request to local address8853 raises error8854 when local request allowed8855 sets up the connection8856 when port different from URL scheme is used8857 sets up the addr_port accordingly8858 when DNS rebinding protection is disabled8859 sets up the connection8860 when http(s) environment variable is set8861 sets up the connection8862BulkUpdateIntegrationService8863 works with batch as an ActiveRecord::Relation8864 works with batch as an array of ActiveRecord objects8865 with inherited integration8866 updates the integration8867 does not change the created_at timestamp8868 sets the updated_at timestamp to the current time8869 with integration with data fields8870 updates the data fields from the integration8871 does not change the created_at timestamp8872 sets the updated_at timestamp to the current time8873 with different foreign key of data_fields8874 works with batch as an array of ActiveRecord objects8875AlertManagement::HttpIntegrations::UpdateService8876 #execute8877 when the current_user is anonymous8878 behaves like error response8879 has an informative message8880 when current_user does not have permission to create integrations8881 behaves like error response8882 has an informative message8883 when an error occurs during update8884 behaves like error response8885 has an informative message8886 with name param8887 successfully updates the integration8888 with active param8889 successfully updates the integration8890 with regenerate_token flag8891 successfully updates the integration8892ProjectDeployToken8893 is expected to belong to project required: false8894 is expected to belong to deploy_token required: false8895 is expected to validate that :deploy_token cannot be empty/falsy8896 is expected to validate that :project cannot be empty/falsy8897 is expected to validate that :deploy_token_id is case-sensitively unique within the scope of :project_id8898DiffFileMetadataEntity8899 as json8900 exposes the expected fields8901 behaves like diff file with conflict_type8902 #conflict_type8903 returns nil by default8904 when there is matching conflict file8905 returns false8906WorkItems::CreateService8907 #execute8908 when user is not allowed to create a work item in the project8909 is expected to be error8910 returns an access error8911 when params are valid8912 created instance is a WorkItem8913 when params are invalid8914 is expected to be error8915 returns validation errors8916 checking spam8917 executes SpamActionService8918Gitlab::SQL::Union8919 behaves like SQL set operator8920 .operator_keyword8921 is expected to eq "UNION"8922 #to_sql8923 returns a String joining relations together using a UNION8924 skips Model.none segments8925 uses UNION ALL when removing duplicates is disabled8926 returns `NULL` if all relations are empty8927 when uneven select values are used8928 raises error8929 remove_order parameter8930 when remove_order: true8931 removes the ORDER BY from the query8932 when remove_order: false8933 does not remove the ORDER BY from the query8934Gitlab::SidekiqCluster8935 .start8936 starts Sidekiq with the given queues, environment and options8937 starts Sidekiq with the given queues and sensible default options8938 .start_sidekiq8939 starts a Sidekiq process8940 handles duplicate queue names8941 runs the sidekiq process in a new process group8942 .count_by_queue8943 tallies the queue counts8944 .concurrency8945 queue_count: 2, min: 0, max: 0, expected: 38946 is expected to eq 38947 queue_count: 2, min: 0, max: 9, expected: 38948 is expected to eq 38949 queue_count: 2, min: 1, max: 4, expected: 38950 is expected to eq 38951 queue_count: 2, min: 4, max: 5, expected: 48952 is expected to eq 48953 queue_count: 5, min: 2, max: 3, expected: 38954 is expected to eq 38955 queue_count: 2, min: 1, max: 1, expected: 18956 is expected to eq 18957 queue_count: 0, min: 3, max: 3, expected: 38958 is expected to eq 38959 queue_count: 1, min: 4, max: 3, expected: 38960 is expected to eq 38961Namespaces::ScheduleAggregationWorker#perform8962 when group is the root ancestor8963 when aggregation schedule exists8964 does not create a new one8965 when aggregation schedule does not exist8966 creates one8967 when group is not the root ancestor8968 creates an aggregation schedule for the root8969 when namespace does not exist8970 logs the error8971 behaves like an idempotent worker8972 is labeled as idempotent8973 performs multiple times sequentially without raising an exception8974 creates a single aggregation schedule8975AlertManagement::MetricImages::UploadService8976 #execute8977 user does not have permissions8978 behaves like no metric saved, an error given8979 returns an error and does not upload8980 user has permissions8981 behaves like uploads the metric8982 uploads the metric and returns a success8983 no url given8984 behaves like uploads the metric8985 uploads the metric and returns a success8986 record invalid8987 behaves like no metric saved, an error given8988 returns an error and does not upload8989 user is guest8990 behaves like no metric saved, an error given8991 returns an error and does not upload8992Tooling::Graphql::Docs::Renderer8993 #contents8994 headings8995 contains the expected sections8996 when a field has a list type8997 is expected to include "### `ArrayTest`\n\n#### Fields\n\n| Name | Type | Description |\n| ---- | ---- | ----------- |\n| <a id=\"arraytestfoo\"></a>`foo` | [`[String!]!`](#string) | A description. |\n"8998 a top level query field8999 generates the query with arguments9000 when description does not end with `.`9001 adds the `.` to the end9002 when fields are not defined in alphabetical order9003 lists the fields in alphabetical order9004 when a field has a documentation reference9005 behaves like renders correctly as GraphQL documentation9006 contains the expected section9007 when an argument is deprecated9008 behaves like renders correctly as GraphQL documentation9009 contains the expected section9010 when a field is deprecated9011 behaves like renders correctly as GraphQL documentation9012 contains the expected section9013 when a Query.field is deprecated9014 behaves like renders correctly as GraphQL documentation9015 contains the expected section9016 when a field has an Enumeration type9017 behaves like renders correctly as GraphQL documentation9018 contains the expected section9019 when a field has a global ID type9020 section for IDTest9021 behaves like renders correctly as GraphQL documentation9022 contains the expected section9023 section for UserID9024 behaves like renders correctly as GraphQL documentation9025 contains the expected section9026 when there is a mutation9027 does not render the automatically generated payload type9028 does not render the automatically generated input type as its own section9029 behaves like renders correctly as GraphQL documentation9030 contains the expected section9031 when there is an input type9032 behaves like renders correctly as GraphQL documentation9033 contains the expected section9034 when there is an interface and a union9035 lists the fields correctly, and includes descriptions of all the types9036Gitlab::Metrics::Dashboard::Importers::PrometheusMetrics9037 #execute9038 valid dashboard9039 with all new metrics9040 creates PrometheusMetrics9041 with existing metrics9042 updates existing PrometheusMetrics9043 creates new PrometheusMetrics9044 with stale metrics9045 updates existing PrometheusMetrics9046 deletes stale metrics9047 invalid dashboard9048 returns false9049Resolvers::Users::ParticipantsResolver9050 #resolve9051 when current user is not set9052 returns only publicly visible participants for this user9053 when current user does not have enough permissions9054 returns only publicly visible participants for this user9055 when current user has access to confidential notes9056 returns all participants for this user9057 N+1 queries9058 does not execute N+1 for project relation9059 does not execute N+1 for system note metadata relation9060Gitlab::Graphs::Commits9061 #commit_per_day9062 when range is only commits from today9063 is expected to eq 29064 when range is only commits from today9065 #commit_per_day9066 is expected to eq 29067 #duration9068 is expected to eq 09069 with commits from yesterday and today9070 #commit_per_day9071 is expected to eq 1.09072 #duration9073 is expected to eq 19074Packages::MarkPackageFilesForDestructionService9075 #execute9076 with no package files9077 behaves like executing successfully9078 marks package files for destruction9079 executes successfully9080 with a single package file9081 behaves like executing successfully9082 marks package files for destruction9083 executes successfully9084 with many package files9085 behaves like executing successfully9086 marks package files for destruction9087 executes successfully9088 with an error during the update9089 raises the error9090Gitlab::Git::Blame9091 blaming a file9092 has the right number of lines9093 blaming a range9094 only returns the range9095 ISO-8859 encoding9096 converts to UTF-89097 unknown encoding9098 converts to UTF-89099 renamed file9100 includes the previous path9101Clusters::Aws::ProvisionService9102 #execute9103 updates the provider status to :creating and configures the provider with credentials9104 creates a CloudFormation stack9105 schedules a worker to monitor creation status9106 error handling9107 invalid state transition9108 sets the status to :errored with an appropriate error message9109 AWS role is not configured9110 sets the status to :errored with an appropriate error message9111 AWS credentials are not configured9112 sets the status to :errored with an appropriate error message9113 Authentication failure9114 sets the status to :errored with an appropriate error message9115 CloudFormation failure9116 sets the status to :errored with an appropriate error message9117SnippetBlob9118 #id9119 returns the snippet ID9120 #name9121 returns the snippet file name9122 #size9123 returns the data size9124 #data9125 returns the snippet content9126 #rendered_markup9127 when the content is GFM9128 returns the rendered GFM9129 when the content is not GFM9130 returns nil9131Gitlab::SQL::Except9132 behaves like SQL set operator9133 .operator_keyword9134 is expected to eq "EXCEPT"9135 #to_sql9136 returns a String joining relations together using a EXCEPT9137 skips Model.none segments9138 uses EXCEPT ALL when removing duplicates is disabled9139 returns `NULL` if all relations are empty9140 when uneven select values are used9141 raises error9142 remove_order parameter9143 when remove_order: true9144 removes the ORDER BY from the query9145 when remove_order: false9146 does not remove the ORDER BY from the query9147Gitlab::GithubImport::SingleEndpointNotesImporting9148 #parent_collection9149 is expected to raise NotImplementedError9150 #parent_imported_cache_key9151 is expected to raise NotImplementedError9152 #page_counter_id9153 is expected to raise NotImplementedError9154validate database config9155 when config/database.yml is valid9156 validates configuration without errors and warnings9157 when config/database.yml is invalid9158 uses unknown connection name9159 raises exception9160 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true9161 does not raise exception9162 uses replica configuration9163 raises exception9164 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true9165 does not raise exception9166 main is not a first entry9167 raises exception9168 behaves like with SKIP_DATABASE_CONFIG_VALIDATION=true9169 does not raise exception9170Gitlab::Prometheus::MetricGroup9171 .common_metrics9172 returns exactly two groups9173 returns exactly three metric queries9174 orders by priority9175 .for_project9176 returns exactly one common metric9177RuboCop::Cop::AvoidReturnFromBlocks9178 flags violation for return inside a block9179 doesn't create more than one offense for nested blocks9180 flags violation for return inside included > def > block9181 doesn't flag violation for return inside a lambda9182 doesn't flag violation for return used inside a method definition9183 doesn't flag violation for next inside a block9184 doesn't flag violation for break inside a block9185 doesn't check when block is empty9186 behaves like examples with whitelisted method9187 doesn't flag violation for return inside each9188 behaves like examples with whitelisted method9189 doesn't flag violation for return inside each_filename9190 behaves like examples with whitelisted method9191 doesn't flag violation for return inside times9192 behaves like examples with whitelisted method9193 doesn't flag violation for return inside loop9194 behaves like examples with def methods9195 doesn't flag violation for return inside define_method9196 behaves like examples with def methods9197 doesn't flag violation for return inside lambda9198Gitlab::DatabaseImporters::CommonMetrics::Importer9199 does import common_metrics.yml9200 has the same amount of groups9201 has the same amount of panels9202 has the same amount of metrics9203 does not have duplicate IDs9204 imports all IDs9205 does import common_metrics.yml9206 when executed from outside of the Rails.root9207 does import properly all fields9208 if ID is missing9209 raises exception9210 for existing common metric with different ID9211 behaves like stores metric9212 with all data9213 and existing metric is not changed9214 when metric with ID exists9215 behaves like stores metric9216 with all data9217 and existing metric is changed9218MergeRequests::AssignsMergeParams9219 raises an error when used from an instance that does not respond to #current_user9220 #assign_allowed_merge_params9221 only assigns known parameters to the merge request9222 returns a hash without the known merge params9223 the force_remove_source_branch param9224 assigns the param if the user is allowed to do that9225 only removes the param if the user is not allowed to do that9226Gitlab::GithubImport::MilestoneFinder9227 #id_for9228 with a cache in place9229 returns the milestone ID of the given issuable9230 returns nil for an empty cache key9231 returns nil for an issuable with a non-existing milestone9232 without a cache in place9233 returns nil9234 #build_cache9235 builds the cache of all project milestones9236 #cache_key_for9237 returns the cache key for an IID9238Gitlab::Graphql::Authorize::ObjectAuthorization9239 #ok?9240 when there are no abilities9241 is expected to be ok #<Double (anonymous)> and #<Double (anonymous)>9242 when no ability should be allowed9243 is expected not to be ok #<struct Foo x=0, y=0> and #<Double :User>9244 when go_fast should be allowed9245 is expected not to be ok #<struct Foo x=100, y=0> and #<Double :User>9246 when go_fast and go_slow should be allowed9247 is expected to be ok #<struct Foo x=100, y=100> and #<Double :User>9248 when the object delegates to another subject9249 is expected to be ok #<Double :Proxy> and #<Double :User>9250 is expected not to be ok #<Double :Proxy> and #<Double :User>9251Resolvers::DesignManagement::DesignAtVersionResolver9252 #resolve9253 returns the specified design9254 when the user cannot see designs9255 generates ResourceNotAvailable9256 the ID belongs to a design on another issue9257 generates ResourceNotAvailable9258 the current object does not constrain the issue9259 returns the object9260Metrics::Dashboard::SyncDashboardsWorker9261 .perform9262 with valid dashboard hash9263 imports metrics9264 is idempotent9265 with invalid dashboard hash9266 does not import metrics9267 does not raise an error9268Gitlab::ImportExport::UploadsRestorer9269 bundle a project Git repo9270 legacy storage9271 saves the uploads successfully9272 copies the uploads to the project path9273 hashed storage9274 saves the uploads successfully9275 copies the uploads to the project path9276Aws::Role9277 is expected to belong to user required: false9278 is expected to validate that the length of :role_external_id is between 1 and 649279 custom validations9280 :role_arn9281 length is zero9282 is expected to be falsey9283 length is longer than 20489284 is expected to be falsey9285 ARN is valid9286 is expected to be truthy9287 ARN is nil9288 is expected to be truthy9289 callbacks9290 #ensure_role_external_id!9291 for a new record9292 calls #ensure_role_external_id!9293 for an existing record9294 does not call #ensure_role_external_id!9295 #ensure_role_external_id!9296 role_external_id is blank9297 generates an external ID and assigns it to the record9298 role_external_id is already set9299 does not change the existing external id9300Gitlab::SetupHelper::Workhorse9301 .make9302 when there is a gmake9303 returns gmake9304 when there is no gmake9305 returns make9306 .redis_url9307 matches the SharedState URL9308 .redis_db9309 matches the SharedState DB9310 defaults to 0 if unspecified9311AwardEmojis::CollectUserEmojiService9312 #execute9313 returns an Array containing the awarded emoji names9314 returns an empty Array when no user is given9315API::Ci::Helpers::Runner9316 #current_job9317 handles sticking of a build when a build ID is specified9318 does not handle sticking if no build ID was specified9319 returns the build if one could be found9320 #current_runner9321 handles sticking of a runner if a token is specified9322 does not handle sticking if no token was specified9323 returns the runner if one could be found9324shared/issuable/_sidebar.html.haml9325 project in a group9326 issuable that does not support escalations9327 shows escalation policy dropdown9328 issuable that supports escalations9329 does not show escalation policy dropdown9330 crm contacts widget9331 without permission9332 is expected not to be shown9333 without contacts9334 is expected not to be shown9335 with permission and contacts9336 is expected to be shown9337InProductGuidanceEnvironmentsWebideExperiment9338 excludes projects with environments9339 does not exlude projects without environments9340Namespace::AdminNote9341 associations9342 is expected to belong to namespace required: false9343 validations9344 is expected to validate that :namespace cannot be empty/falsy9345 is expected to validate that the length of :note is at most 10009346Gitlab::Git::Patches::CommitPatches9347 #commit9348 applies the patches9349 updates the branch cache9350 when the repository does not exist9351 raises the correct error9352 when the patch does not apply9353 raises the correct error9354Gitlab::Database::LoadBalancing::PrimaryHost9355 #connection9356 returns a connection from the pool9357 #release_connection9358 does nothing9359 #enable_query_cache!9360 does nothing9361 #disable_query_cache!9362 does nothing9363 #query_cache_enabled9364 delegates to the primary connection pool9365 #disconnect!9366 does nothing9367 #offline!9368 logs the event but does nothing else9369 #online?9370 returns true9371 #primary_write_location9372 raises NotImplementedError9373 #caught_up?9374 returns true9375 #database_replica_location9376 raises NotImplementedError9377Users::GroupCallout9378 behaves like having unique enum values9379 has unique values in "feature_name"9380 relationships9381 is expected to belong to group required: false9382 validations9383 is expected to validate that :group cannot be empty/falsy9384 is expected to validate that :feature_name cannot be empty/falsy9385 is expected to validate that :feature_name is unique within the scope of :user_id and :group_id9386 #source_feature_name9387 provides string based off source and feature9388Packages::PackageFinder9389 #execute9390 is expected to eq #<Packages::Package id: 6, project_id: 1239, created_at: "2022-07-04 07:40:44.106291000 +0000", updat...ny/app/my-app", version: "1.5-SNAPSHOT", package_type: "maven", creator_id: 2563, status: "default">9391 with non-displayable package9392 raises an exception9393 processing packages9394 are not returned9395Ci::DagStageEntity9396 #as_json9397 contains valid name9398 contains the job groups9399 matches schema9400Feature::Gitaly9401 .enabled?9402 when the flag is set globally9403 when the gate is closed9404 returns false9405 when the flag defaults to on9406 returns true9407 when the flag is enabled for a particular project9408 returns true for that project9409 returns false for any other project9410 returns false when no project is passed9411 .server_feature_flags9412 returns a hash of flags starting with the prefix, with dashes instead of underscores9413 when a project is passed9414 returns the value for the flag on the given project9415 when table does not exist9416 returns an empty Hash9417ReleasePolicy9418 when the user has access to the protected tag9419 allows the user to create, update and destroy a release9420 when the user does not have access to the protected tag9421 prevents the user from creating, updating and destroying a release9422SystemHookUrlValidator9423 #validate9424 with no options9425 allows http,https schemes by default9426 checks that the url structure is valid9427 with schemes9428 allows urls with the defined schemes9429 add error if the url scheme does not match the selected ones9430 by default9431 blocks urls pointing to localhost9432 blocks urls pointing to the local network9433 when local requests are allowed9434 does not block urls pointing to localhost9435 does not block urls pointing to the local network9436Snippets::UpdateRepositoryStorageService9437 #execute9438 when the move succeeds9439 moves the repository to the new storage and unmarks the repository as read-only9440 when the filesystems are the same9441 updates the database without trying to move the repostory9442 when the move fails9443 unmarks the repository as read-only without updating the repository storage9444 when the cleanup fails9445 sets the correct state9446 when the checksum does not match9447 unmarks the repository as read-only without updating the repository storage9448 when the repository move is finished9449 is idempotent9450 when the repository move is failed9451 is idempotent9452Gitlab::Ci::Config::Entry::Product::Variables9453 validations9454 when entry config value is correct9455 #value9456 returns hash with key value strings9457 #errors9458 does not append errors9459 #valid?9460 is valid9461 with only one variable9462 #valid?9463 is valid9464 #errors9465 does not append errors9466MergeRequestForPipelineEntity9467 as json9468 exposes needed attributes9469MergeRequests::PipelineEntity9470 #as_json9471 contains required fields9472 returns presented coverage9473 excludes coverage data when disabled9474Resolvers::Crm::OrganizationsResolver9475 #resolve9476 with unauthorized user9477 does not rise an error and returns no organizations9478 with authorized user9479 does not rise an error and returns all organizations in the correct order9480 without parent9481 returns no organizations9482 with a group parent9483 when no filter is provided9484 returns all the organizations in the correct order9485 when search term is provided9486 returns the correct organizations9487 when state is provided9488 returns the correct organizations9489 when ids are provided9490 returns the correct organizations9491Packages::Nuget::PackagesVersionsPresenter9492 #versions9493 is expected to contain exactly "1.0.2", "1.0.3", "1.0.4", "1.0.5", and "1.0.6"9494Mutations::AlertManagement::PrometheusIntegration::ResetToken9495 is expected to require graphql authorizations :admin_project9496 #resolve9497 user has sufficient access to project9498 when ::Projects::Operations::UpdateService responds with success9499 returns the integration with no errors9500 when ::Projects::Operations::UpdateService responds with an error9501 returns errors9502 when resource is not accessible to the user9503 raises an error if the resource is not accessible to the user9504API::Entities::DeploymentExtended9505 #as_json9506 includes fields from deployment entity9507Gitlab::MarkerRange9508 is expected to eq 1..109509 behaves like a Range9510 #mode9511 is expected to be nil9512 when mode is provided9513 is expected to eq :deletion9514 #to_range9515 is expected to eq 1..109516 when mode is provided9517 is omitted during transformation9518 .from_range9519 converts Range to MarkerRange object9520 keeps correct range9521 when range excludes end9522 keeps correct range9523 when range is already a MarkerRange9524 is expected to equal 1, 2, 3, 4, 5, 6, 7, 8, 9, and 109525 #==9526 is expected to be truthy9527 when marker ranges have different modes9528 is expected to be falsey9529 when marker ranges have different ranges9530 is expected to be falsey9531 when marker ranges is a simple range9532 is expected to be falsey9533RuboCop::Cop::Migration::Datetime9534 when in migration9535 registers an offense when the ":datetime" data type is used on create_table9536 registers an offense when the ":timestamp" data type is used on create_table9537 does not register an offense when the ":datetime" data type is not used on create_table9538 does not register an offense when the ":datetime_with_timezone" data type is used on create_table9539 registers an offense when the ":datetime" data type is used on add_column9540 registers an offense when the ":timestamp" data type is used on add_column9541 does not register an offense when the ":datetime" data type is not used on add_column9542 does not register an offense when the ":datetime_with_timezone" data type is used on add_column9543 when outside of migration9544 registers no offense9545Jobs/SAST-IaC.gitlab-ci.yml9546 the created pipeline9547 on feature branch9548 creates the kics-iac-sast job9549 on merge request9550 has no jobs9551 SAST_DISABLED is set9552 on default branch9553 has no jobs9554 on feature branch9555 has no jobs9556Repositories::ChangelogCommitsFinder9557 #each_page9558 only yields commits with the given trailer9559 ignores commits that are reverted9560 includes revert commits if they have a trailer9561 supports paginating of commits9562 #revert_commit_sha9563 returns the SHA of a reverted commit9564 returns nil when the commit is not a revert commit9565 returns nil when the commit has no description9566Gitlab::GithubImport::Representation::DiffNotes::SuggestionFormatter9567 does nothing when there is any text before the suggestion tag9568 handles nil value for note9569 does not allow over 3 leading spaces for valid suggestion9570 allows up to 3 leading spaces9571 does nothing when there is any text without space after the suggestion tag9572 formats single-line suggestions9573 ignores text after suggestion tag on the same line9574 formats multiple single-line suggestions9575 formats multi-line suggestions9576 formats multiple multi-line suggestions9577Gitlab::CrossProjectAccess::ClassMethods9578 #requires_cross_project_access9579 creates a correct check when a hash is passed9580 creates a correct check when an array is passed9581 creates a correct check when an array and a hash is passed9582Ci::BuildScheduleWorker9583 when build is found9584 when build is scheduled9585 executes RunScheduledBuildService9586 when build is not scheduled9587 executes RunScheduledBuildService9588 when build is not found9589 does nothing9590Boards::Visits::CreateService9591 #execute9592 when a project board9593 behaves like boards recent visit create service9594 returns nil when there is no user9595 returns nil when database is read only9596 records the visit9597 when a group board9598 behaves like boards recent visit create service9599 returns nil when there is no user9600 returns nil when database is read only9601 records the visit9602Ci::BuildTrace9603 returns formatted trace9604 behaves like delegates methods9605 is expected to delegate #state to the #trace object9606 is expected to delegate #append to the #trace object9607 is expected to delegate #truncated to the #trace object9608 is expected to delegate #offset to the #trace object9609 is expected to delegate #size to the #trace object9610 is expected to delegate #total to the #trace object9611 is expected to delegate #build_id to the #build object as #id9612 is expected to delegate #build_status to the #build object as #status9613 is expected to delegate #build_complete? to the #build object as #complete?9614 with invalid UTF-8 data9615 returns valid UTF-8 data9616Gitlab::ExceptionsApp9617 .call9618 for a 500 error9619 for an HTML request9620 fills in the request ID9621 HTML-escapes the request ID9622 returns an empty 500 when the 500.html page cannot be found9623 for a JSON request9624 does not include the request ID9625 for a 404 error9626 returns a 404 response that does not include the request ID9627ApplicationSetting::Term9628 is expected to validate that :terms cannot be empty/falsy9629 .latest9630 finds the latest terms9631 #accepted_by_user?9632 is true when the user accepted the terms9633 is true when user is a bot9634 is false when the user declined the terms9635 does not cause a query when the user accepted the current terms9636 returns false if the currently accepted terms are different9637Types::ProjectMemberType9638 is expected to expose permissions using Types::PermissionTypes::Project9639 is expected to eq "ProjectMember"9640 is expected to require graphql authorizations :read_project9641 has the expected fields9642Gitlab::SlashCommands::Presenters::IssueComment9643 #present9644 is expected to be a kind of Hash9645 sets ephemeral response type9646 sets the title9647 sets the fallback text9648 sets the fields9649 sets the color9650Gitlab::SlashCommands::Presenters::IssueClose9651 is expected to be a kind of Hash9652 shows the issue9653 confidential issue9654 shows an ephemeral response9655Gitlab::Auth::Crowd::Authentication9656 login9657 finds the user if authentication is successful9658 is false if the user does not exist9659 is false if the authentication fails9660 fails when crowd is disabled9661 fails if no login is supplied9662 fails if no password is supplied9663BitbucketServer::Collection9664 #current_page9665 returns 19666 #prev_page9667 returns nil9668 #next_page9669 returns 29670Gitlab::Middleware::BasicHealthCheck9671 #call9672 outside IP9673 returns a 4049674 forwards the call for other paths9675 with X-Forwarded-For headers9676 returns 200 response when endpoint is allowed9677 returns 404 when whitelist is not configured9678 whitelisted IP9679 returns 200 response when endpoint is hit9680 forwards the call for other paths9681Types::BlobViewers::TypeEnum9682 is expected to eq "BlobViewersType"9683 exposes all tree entry types9684Gitlab::Ci::Status::Pending9685 #text9686 is expected to eq "pending"9687 #label9688 is expected to eq "pending"9689 #icon9690 is expected to eq "status_pending"9691 #favicon9692 is expected to eq "favicon_status_pending"9693 #group9694 is expected to eq "pending"9695 #details_path9696 is expected to be nil9697AutoMergeProcessWorker9698 #perform9699 when merge request is found9700 executes AutoMergeService9701 when merge request is not found9702 does not execute AutoMergeService9703Ci::PipelineCreation::StartPipelineService9704 #execute9705 calls the pipeline process service9706 creates pipeline ref9707Gitlab::QuickActions::SpendTimeAndDateSeparator9708 #execute9709 invalid paramenter in arg line9710 empty arg line9711 behaves like arg line with invalid parameters9712 return nil9713 future date in arg line9714 behaves like arg line with invalid parameters9715 return nil9716 unparseable date(invalid mixes of delimiters)9717 behaves like arg line with invalid parameters9718 return nil9719 trash in arg line9720 return nil as time value9721 only time present in arg line9722 behaves like arg line with valid parameters9723 return time and date array9724 simple time with date in arg line9725 behaves like arg line with valid parameters9726 return time and date array9727 composite time with date in arg line9728 behaves like arg line with valid parameters9729 return time and date array9730RuboCop::Cop::Performance::ARExistsAndPresentBlank9731 when it is not haml file9732 does not flag it as an offense9733 when it is haml file9734 the same object uses exists? and present?9735 flags it as an offense9736 the same object uses exists? and blank?9737 flags it as an offense9738 the same object uses exists?, blank? and present?9739 flags it as an offense9740 behaves like different object uses exists? and present?/blank?9741 does not flag it as an offense9742 behaves like different object uses exists? and present?/blank?9743 does not flag it as an offense9744 behaves like Only using one present?/blank? without exists?9745 does not flag it as an offense9746 behaves like Only using one present?/blank? without exists?9747 does not flag it as an offense9748 when using many present?/empty? without exists?9749 does not flag it as an offense9750 when just using exists? without present?/blank?9751 does not flag it as an offense9752Import::BitbucketServerService9753 raises an exception for unknown error causes9754 when no repo is found9755 returns an error9756 when import source is disabled9757 returns forbidden9758 when user is unauthorized9759 returns an error9760 verify url9761 when host is localhost9762 does not allow requests9763 when host is on local network9764 does not allow requests9765 when host is ftp protocol9766 does not allow requests9767RuboCop::Cop::Gitlab::DuplicateSpecLocation9768 Non-EE spec file9769 registers no offenses9770 Non-EE application file9771 registers no offenses9772 EE application file9773 registers no offenses9774 EE spec file for EE only code9775 registers no offenses9776 there is a duplicate file9777 marks the describe as offending9778 EE spec file for EE extension9779 registers no offenses9780 there is a duplicate file9781 marks the describe as offending9782Snippets::ScheduleBulkRepositoryShardMovesService9783 behaves like moves repository shard in bulk9784 #execute9785 schedules container repository storage moves9786 read-only repository9787 does not get scheduled9788 .enqueue9789 defers to the worker9790ProductAnalytics::BuildGraphService9791 returns a valid graph hash9792AnalyticsBuildSerializer9793 when there is a single object provided9794 contains important elements of analyticsBuild9795Projects::UpdateRepositoryStorageWorker9796 behaves like an update storage move worker9797 #perform9798 without repository storage move9799 calls the update repository storage service9800 with repository storage move9801 calls the update repository storage service9802Gitlab::HealthChecks::MasterCheck9803 when Puma runs in Clustered mode9804 .available?9805 is expected to equal true9806 .readiness9807 when master is running9808 worker does return success9809 when master finishes early9810 worker does return failure9811 when Puma runs in Single mode9812 .available?9813 is expected to equal false9814Integrations::ExecuteWorker#perform9815 executes integration with given data9816 logs error messages9817 when integration cannot be found9818 completes silently and does not log an error9819Gitlab::Ci::Status::Manual9820 #text9821 is expected to eq "manual"9822 #label9823 is expected to eq "manual action"9824 #icon9825 is expected to eq "status_manual"9826 #favicon9827 is expected to eq "favicon_status_manual"9828 #group9829 is expected to eq "manual"9830Gitlab::DatabaseImporters::WorkItems::BaseTypeImporter9831 behaves like work item base types importer9832 creates all base work item types if they don't exist9833 upserts base work item types if they already exist9834 executes a single INSERT query9835 when some base types exist9836 inserts all types and does nothing if some already existed9837Gitlab::GithubImport::LabelFinder9838 #id_for9839 with a cache in place9840 returns the ID of the given label9841 returns nil for an empty cache key9842 returns nil for a non existing label name9843 without a cache in place9844 returns nil for a label9845 #build_cache9846 builds the cache of all project labels9847 #cache_key_for9848 returns the cache key for a label name9849Packages::CreateTemporaryPackageService9850 #execute9851 creates the package9852 can create two packages in a row9853 behaves like assigns the package creator9854 assigns the package creator9855 behaves like assigns build to package9856 with build info9857 assigns the pipeline to the package9858Namespaces::PruneAggregationSchedulesWorker#perform9859 schedules a worker per pending aggregation9860Gitlab::GithubImport::Importer::DiffNotesImporter9861 #parallel?9862 returns true when running in parallel mode9863 returns false when running in sequential mode9864 #execute9865 when running in parallel mode9866 imports diff notes in parallel9867 when running in sequential mode9868 imports diff notes in sequence9869 #sequential_import9870 imports each diff note in sequence9871 #parallel_import9872 imports each diff note in parallel9873 #id_for_already_imported_cache9874 returns the ID of the given note9875 #collection_options9876 returns an empty Hash9877Gitlab::Search::AbuseValidators::NoAbusiveTermLengthValidator9878 when a term is over the limit9879 adds a validation error9880 when all terms are under the limit9881 does NOT add any validation errors9882 when a URL is detected in a search term9883 when under twice the limit9884 does NOT add any validation errors9885 when over twice the limit9886 adds a validation error9887Gitlab::Mailgun::WebhookProcessors::FailureLogger9888 #execute9889 on permanent failure9890 logs the failure immediately9891 on temporary failure9892 when threshold is not exceeded9893 increments counter but does not log the failure9894 when threshold is exceeded9895 increments counter and logs the failure9896 on other events9897 does nothing9898Projects::BatchOpenIssuesCountService9899 #refresh_cache_and_retrieve_data9900 when cache is clean9901 refreshes cache keys correctly9902Gitlab::Metrics::Dashboard::Stages::PanelIdsInserter9903 #transform!9904 when dashboard panels are present9905 assigns unique ids to each panel using PerformanceMonitoring::PrometheusPanel9906 when dashboard panels has duplicated ids9907 no panel has assigned id9908 when there are no panels in the dashboard9909 raises a processing error9910 when there are no panel_groups in the dashboard9911 raises a processing error9912 when dashboard panels has unknown schema attributes9913 no panel has assigned id9914 logs the failure9915UpdateMergeRequestsWorker9916 #perform9917 executes MergeRequests::RefreshService with expected values9918 when push options are passed as Hash9919 executes MergeRequests::RefreshService with expected values9920ProtectedTags::CreateService9921 #execute9922 creates a new protected tag9923 protecting a tag with a name that contains HTML tags9924 creates a new protected tag9925Gitlab::DependencyLinker::CargoTomlLinker9926 .support?9927 supports Cargo.toml9928 does not support other files9929 #link9930/builds/gitlab-org/gitlab/lib/gitlab/dependency_linker/cargo_toml_linker.rb:37: warning: regular expression has ']' without escape: /^\[dependencies\.(?<name>memchr)]/9931 links dependencies9932/builds/gitlab-org/gitlab/lib/gitlab/dependency_linker/cargo_toml_linker.rb:37: warning: regular expression has ']' without escape: /^\[dependencies\.(?<name>memchr)]/9933 does not contain metadata identified as package9934DevOpsReport::MetricPresenter9935 #cards9936 includes instance score, leader score and percentage score9937 #idea_to_production_steps9938 returns percentage score when it depends on a single feature9939 returns percentage score when it depends on two features9940 #average_percentage_score9941 calculates an average value across all the features9942TimeboxesRoutingHelper9943 #milestone_path9944 for a group milestone9945 links to the group milestone page9946 for a project milestone9947 links to the project milestone page9948 #milestone_url9949 for a group milestone9950 links to the group milestone page9951 for a project milestone9952 links to the project milestone page9953Import::BulkImportEntity9954 exposes id9955 exposes full_name9956 exposes full_path9957 exposes web_url9958 does not expose unspecified attributes9959Gitlab::Analytics::CycleAnalytics::Sorting9960 when invalid sorting params are given9961 falls back to end_event DESC sorting9962 sorting end_event9963 direction desc9964 is expected to eq [#<Arel::Nodes::Descending:0x00007f042feae540 @expr=#<struct Arel::Attributes::Attribute relation=#<A...nteger, removed_lines: integer, target_project_id: integer)>, @table_alias=nil>, name="merged_at">>]9965 direction asc9966 is expected to eq [#<Arel::Nodes::Ascending:0x00007f042f730a20 @expr=#<struct Arel::Attributes::Attribute relation=#<Ar...nteger, removed_lines: integer, target_project_id: integer)>, @table_alias=nil>, name="merged_at">>]9967 sorting duration9968 direction desc9969 is expected to eq [#<Arel::Nodes::Descending:0x00007f042efc5678 @expr=#<Arel::Nodes::Subtraction:0x00007f042efc56a0 @le...ger, merge_ref_sha: binary, draft: boolean)>, @table_alias=nil>, name="created_at">, @operator=:->>]9970 direction asc9971 is expected to eq [#<Arel::Nodes::Ascending:0x00007f042e8b03d8 @expr=#<Arel::Nodes::Subtraction:0x00007f042e8b0400 @lef...ger, merge_ref_sha: binary, draft: boolean)>, @table_alias=nil>, name="created_at">, @operator=:->>]9972ApproveBlockedPendingApprovalUsersWorker9973 #perform9974 calls ApproveService for users in blocked_pending_approval state9975 does not call ApproveService for active users9976Serializers::SymbolizedJson9977 .dump9978 returns a hash9979 .load9980 when loading a hash9981 decodes a string9982 allows to access with symbols9983 when loading a nil9984 returns nil9985Banzai::Filter::OutputSafety9986 when given HTML is safe9987 returns safe HTML9988 when given HTML is not safe9989 returns escaped HTML9990Types::IssuableSearchableFieldEnum9991 is expected to eq "IssuableSearchableField"9992 exposes all the issuable searchable fields9993GroupDeployKeysGroup9994 Associations9995 is expected to belong to group_deploy_key required: false9996 is expected to belong to group required: false9997 Validation9998 is expected to validate that :group_id cannot be empty/falsy9999 is expected to validate that :group_deploy_key cannot be empty/falsy10000RuboCop::Cop::ActiveRecordAssociationReload10001 when using ActiveRecord::Base10002 registers an offense on reload usage10003 does not register an offense on reset usage10004 when using ActiveRecord::Relation10005 registers an offense on reload usage10006 does not register an offense on reset usage10007 when using on self10008 registers an offense on reload usage10009 does not register an offense on reset usage10010Gitlab::Database::SchemaCleaner10011 removes comments on extensions10012 no assumption about public being the default schema10013 cleans up the full schema as expected (blackbox test with example)10014Import metrics on development seed10015 imports all prometheus metrics10016Types::Packages::Conan::MetadatumFileTypeEnum10017 uses all possible options from model10018Gitlab::Usage::Metrics::NamesSuggestions::RelationParsers::Joins10019 #accept10020 with join added via string10021 collects join parts10022 with join added via arel node10023 collects join parts10024Gitlab::Pagination::Keyset::InOperatorOptimization::Strategies::OrderValuesLoaderStrategy10025 #initializer_columns10026 returns NULLs for each ORDER BY columns10027 when an SQL expression is given10028 when the sql_type attribute is missing10029 raises error10030 when the sql_type_attribute is present10031 returns the initializer columns10032AccessTokensHelper10033 #scope_description10034 prefix: :personal_access_token, description_location: [:doorkeeper, :scope_desc]10035 is expected to eq [:doorkeeper, :scope_desc]10036 prefix: :project_access_token, description_location: [:doorkeeper, :project_access_token_scope_desc]10037 is expected to eq [:doorkeeper, :project_access_token_scope_desc]10038 #tokens_app_data10039 returns expected json10040 #expires_at_field_data10041 returns expected hash10042MergeRequestBasicEntity10043 has public_merge_status as merge_status10044 #reviewers10045 contains reviewers attributes10046AnalyticsIssueSerializer10047 when there is a single object provided10048 contains important elements of the issue10049RuboCop::Cop::Gitlab::Union10050 flags the use of Gitlab::SQL::Union.new10051Rails asset host initializer10052 uses no asset host by default10053 with cdn_host defined in gitlab.yml10054 returns https://gitlab.example.com10055Types::ContainerRepositorySortEnum10056 is expected to eq "ContainerRepositorySort"10057 exposes all the existing issue sort values10058 behaves like common sort values10059 exposes all the existing common sort values10060Gitlab::Pagination::Keyset::InOperatorOptimization::ColumnData10061 accepts symbols for original_column_name and as10062 #array_aggregated_column_name10063 is expected to eq "issues_id_array"10064 #projection10065 returns the Arel projection for the column with a new alias10066Gitlab::Pagination::OffsetHeaderBuilder10067 #execute10068 sets headers to request context10069 exclude total headers10070 does not set total headers to request context10071 pass data without counts10072 does not set total headers to request context10073SystemCheck::App::HashedStorageEnabledCheck10074 #check?10075 fails when hashed storage is disabled10076 succeeds when hashed storage is enabled10077TodosDestroyer::GroupPrivateWorker10078 calls the Todos::Destroy::GroupPrivateService with the params it was given10079PropagateIntegrationWorker10080 #perform10081 calls the propagate service with the integration10082Resolvers::PackageDetailsResolver10083 #resolve10084 is expected to eq #<Packages::Package id: 18, project_id: 1281, created_at: "2022-07-04 07:41:52.446282616 +0000", upda...omposer-package-1", version: "1.0.1", package_type: "composer", creator_id: 2634, status: "default">10085UserPreferences::UpdateService10086 #execute10087 successfully updating the record10088 updates the preference and returns a success10089 unsuccessfully updating the record10090 returns an error10091DeployTokensHelper10092 #deploy_token_revoke_button_data10093 returns expected hash10094Gitlab::ErrorTracking::Logger10095 .capture_exception10096 calls Gitlab::ErrorTracking::Logger.error with formatted log entry10097Gitlab::PhabricatorImport::Conduit::TasksResponse10098 #pagination10099 delegates to the conduit reponse10100 #tasks10101 builds the correct tasks representation10102Gitlab::Database::Consistency10103 .with_read_consistency10104 sticks to primary database10105Types::BranchType10106 is expected to eq "Branch"10107 is expected to have graphql fields :name and :commit10108Gitlab::SlashCommands::Presenters::Error10109 is expected to be a kind of Hash10110 shows the error message10111Gitlab::I18n::MetadataEntry10112 #expected_forms10113 returns the number of plurals10114 returns 0 for the POT-metadata10115Banzai::Filter::HtmlEntityFilter10116 converts common entities to their HTML-escaped equivalents10117Types::PermissionTypes::WorkItem10118 is expected to have graphql field :delete_work_item10119Types::BlobViewerType10120 has the correct fields10121Types::MergeRequestType10122 is expected to expose permissions using Types::PermissionTypes::MergeRequest10123BlobViewer::PodspecJson10124 #package_name10125 returns the package name10126VideoTutorialsContinuousOnboardingExperiment10127 defines a control and candidate10128Knapsack report was generated. Preview:10130 "spec/policies/project_policy_spec.rb": 140.1623226060001,10131 "spec/lib/gitlab/git_access_spec.rb": 241.84479559600004,10132 "spec/models/issue_spec.rb": 121.63994085100057,10133 "spec/models/clusters/applications/jupyter_spec.rb": 79.0968705489995,10134 "spec/services/web_hooks/log_execution_service_spec.rb": 100.48431256100048,10135 "spec/policies/group_policy_spec.rb": 40.922062121000636,10136 "spec/services/merge_requests/squash_service_spec.rb": 78.12729206400036,10137 "spec/presenters/projects/security/configuration_presenter_spec.rb": 79.67930958100078,10138 "spec/lib/gitlab/usage/service_ping_report_spec.rb": 53.99638308500107,10139 "spec/lib/gitlab/database_importers/self_monitoring/project/create_service_spec.rb": 42.231697203000294,10140 "spec/helpers/integrations_helper_spec.rb": 18.73294955200072,10141 "spec/serializers/ci/job_entity_spec.rb": 34.26604275200043,10142 "spec/lib/gitlab/gpg/commit_spec.rb": 39.376619951000976,10143 "spec/lib/gitlab/graphql/pagination/keyset/connection_generic_keyset_spec.rb": 21.076158697998835,10144 "spec/lib/gitlab/usage_data_counters/hll_redis_counter_spec.rb": 24.645315038000263,10145 "spec/models/integrations/jenkins_spec.rb": 18.90334175099997,10146 "spec/services/verify_pages_domain_service_spec.rb": 5.509144014999038,10147 "spec/services/deployments/update_environment_service_spec.rb": 35.47839443999874,10148 "spec/tasks/gitlab/db/validate_config_rake_spec.rb": 10.635139042000446,10149 "spec/services/search_service_spec.rb": 16.66301668000051,10150 "spec/serializers/diffs_entity_spec.rb": 20.226663739000287,10151 "spec/services/web_hook_service_spec.rb": 11.107087647998924,10152 "spec/services/projects/lfs_pointers/lfs_download_service_spec.rb": 10.094622776001415,10153 "spec/services/environments/stop_service_spec.rb": 26.554943447999904,10154 "spec/finders/clusters/knative_services_finder_spec.rb": 18.090343194000525,10155 "spec/lib/gitlab/email/message/repository_push_spec.rb": 24.159895938999398,10156 "spec/policies/group_member_policy_spec.rb": 17.189317190999645,10157 "spec/models/clusters/agent_spec.rb": 15.261844028000269,10158 "spec/graphql/mutations/merge_requests/accept_spec.rb": 20.142089446000682,10159 "spec/models/concerns/deprecated_assignee_spec.rb": 18.765991534999557,10160 "spec/finders/clusters/kubernetes_namespace_finder_spec.rb": 11.231346277998455,10161 "spec/routing/import_routing_spec.rb": 3.904516626998884,10162 "spec/finders/pending_todos_finder_spec.rb": 10.340101292998952,10163 "spec/lib/gitlab/database/background_migration/batched_migration_spec.rb": 5.867749351000384,10164 "spec/services/git/tag_hooks_service_spec.rb": 19.183975549000024,10165 "spec/services/snippets/destroy_service_spec.rb": 15.628070087999731,10166 "spec/helpers/auto_devops_helper_spec.rb": 11.033582587000637,10167 "spec/uploaders/namespace_file_uploader_spec.rb": 6.8603713150005206,10168 "spec/lib/gitlab_spec.rb": 3.3660455490007735,10169 "spec/lib/gitlab/usage_data_counters/merge_request_activity_unique_counter_spec.rb": 5.882697768000071,10170 "spec/services/notification_recipients/build_service_spec.rb": 12.038313310999001,10171 "spec/lib/gitlab/encoding_helper_spec.rb": 1.359673491000649,10172 "spec/tasks/gitlab/ldap_rake_spec.rb": 3.292037805000291,10173 "spec/services/projects/operations/update_service_spec.rb": 7.963658270000451,10174 "spec/lib/gitlab/gitaly_client/operation_service_spec.rb": 2.98080239599949,10175 "spec/services/clusters/management/validate_management_project_permissions_service_spec.rb": 7.961042590999568,10176 "spec/presenters/group_clusterable_presenter_spec.rb": 7.7567895489992225,10177 "spec/lib/gitlab/sidekiq_status_spec.rb": 1.4951349679995474,10178 "spec/models/concerns/schedulable_spec.rb": 5.88788692900016,10179 "spec/models/integrations/chat_message/pipeline_message_spec.rb": 1.6452861029993073,10180 "spec/lib/gitlab/ci/build/rules/rule/clause/changes_spec.rb": 5.530150292999679,10181 "spec/tasks/gitlab/cleanup_rake_spec.rb": 7.473949647001064,10182 "spec/lib/gitlab/runtime_spec.rb": 1.0927231459991162,10183 "spec/lib/gitlab/sidekiq_config/worker_matcher_spec.rb": 2.0181660069993086,10184 "spec/services/merge_requests/request_review_service_spec.rb": 9.260913826999968,10185 "spec/lib/gitlab/optimistic_locking_spec.rb": 5.717832795000504,10186 "spec/graphql/mutations/release_asset_links/update_spec.rb": 4.253481194000415,10187 "spec/services/deployments/update_service_spec.rb": 6.944994117000533,10188 "spec/serializers/diff_file_base_entity_spec.rb": 5.719745934000457,10189 "spec/services/clusters/applications/install_service_spec.rb": 8.870086203000028,10190 "spec/lib/gitlab/ci/trace/archive_spec.rb": 3.482355727999675,10191 "spec/serializers/discussion_entity_spec.rb": 4.9747916650012485,10192 "spec/lib/gitlab/database/reindexing/grafana_notifier_spec.rb": 1.7271163449986489,10193 "spec/presenters/snippet_presenter_spec.rb": 3.3136315240008116,10194 "spec/models/concerns/ci/artifactable_spec.rb": 4.047511123999357,10195 "spec/services/files/create_service_spec.rb": 6.876776674000212,10196 "spec/serializers/cluster_application_entity_spec.rb": 3.648604900999999,10197 "spec/lib/gitlab/ci/variables/collection/sort_spec.rb": 0.980266536000272,10198 "spec/services/ci/play_bridge_service_spec.rb": 6.392658790000496,10199 "spec/finders/feature_flags_finder_spec.rb": 5.571179757998834,10200 "spec/policies/work_item_policy_spec.rb": 3.2885769060012535,10201 "spec/models/concerns/project_features_compatibility_spec.rb": 5.2027582339997025,10202 "spec/models/issue_collection_spec.rb": 5.230877181000324,10203 "spec/models/concerns/manual_inverse_association_spec.rb": 5.331723420998969,10204 "spec/services/projects/deploy_tokens/create_service_spec.rb": 5.743501232000199,10205 "spec/finders/user_group_notification_settings_finder_spec.rb": 4.043339974001356,10206 "spec/lib/banzai/filter/custom_emoji_filter_spec.rb": 1.8298868950005271,10207 "spec/policies/clusters/instance_policy_spec.rb": 2.4189849289996346,10208 "spec/lib/gitlab/database/transaction/context_spec.rb": 1.5540995609990205,10209 "spec/lib/gitlab/lfs_token_spec.rb": 1.882306151001103,10210 "spec/lib/gitlab/alert_management/payload/managed_prometheus_spec.rb": 2.0882059110008413,10211 "spec/workers/gitlab/phabricator_import/base_worker_spec.rb": 2.966813707000256,10212 "spec/services/merge_requests/bulk_remove_attention_requested_service_spec.rb": 6.912365170001067,10213 "spec/lib/gitlab/middleware/handle_malformed_strings_spec.rb": 1.8949214889998984,10214 "spec/lib/gitlab/ci/reports/security/identifier_spec.rb": 0.8476162589995511,10215 "spec/lib/gitlab/ci/config/entry/artifacts_spec.rb": 0.7614689279998856,10216 "spec/lib/gitlab/gl_repository/identifier_spec.rb": 1.7320723550001276,10217 "spec/services/metrics/dashboard/system_dashboard_service_spec.rb": 2.573122054000123,10218 "spec/presenters/gitlab/blame_presenter_spec.rb": 5.286444374998609,10219 "spec/models/bulk_imports/export_status_spec.rb": 1.053816478999579,10220 "spec/services/service_response_spec.rb": 0.701381463000871,10221 "spec/helpers/learn_gitlab_helper_spec.rb": 1.2710721589992318,10222 "spec/lib/gitlab/data_builder/deployment_spec.rb": 5.9278114739991,10223 "spec/models/packages/dependency_spec.rb": 0.6772306149996439,10224 "spec/graphql/resolvers/admin/analytics/usage_trends/measurements_resolver_spec.rb": 0.6347770400006993,10225 "spec/lib/gitlab/ci/runner_instructions_spec.rb": 1.1290195019992098,10226 "spec/lib/gitlab/gitaly_client/conflicts_service_spec.rb": 7.237155378999887,10227 "spec/lib/gitlab/slash_commands/presenters/issue_show_spec.rb": 4.057565573000829,10228 "spec/policies/terraform/state_version_policy_spec.rb": 2.5257717790009337,10229 "spec/finders/ci/daily_build_group_report_results_finder_spec.rb": 4.080299339999328,10230 "spec/services/update_merge_request_metrics_service_spec.rb": 4.140490175001105,10231 "spec/policies/clusters/agent_token_policy_spec.rb": 1.776587140000629,10232 "spec/graphql/types/user_merge_request_interaction_type_spec.rb": 2.595048973000303,10233 "spec/helpers/ci/pipeline_editor_helper_spec.rb": 3.664175850000902,10234 "spec/lib/gitlab/ci/config/edge_stages_injector_spec.rb": 0.5077717020012642,10235 "spec/views/shared/notes/_form.html.haml_spec.rb": 3.3713949869998032,10236 "spec/lib/gitlab/route_map_spec.rb": 0.6004521529994236,10237 "spec/lib/gitlab/diff/file_collection/compare_spec.rb": 5.395426455001143,10238 "spec/lib/gitlab/tracking/incident_management_spec.rb": 0.8631072869993659,10239 "spec/models/concerns/sha_attribute_spec.rb": 1.2463745409986586,10240 "spec/lib/gitlab/identifier_spec.rb": 1.4663870399999723,10241 "spec/lib/gitlab/protocol_access_spec.rb": 1.366436190000968,10242 "spec/services/projects/group_links/create_service_spec.rb": 3.9197842459998355,10243 "spec/services/work_items/delete_task_service_spec.rb": 3.3028495050002675,10244 "spec/helpers/sidekiq_helper_spec.rb": 0.5526952070013067,10245 "spec/presenters/ci/group_variable_presenter_spec.rb": 0.949552138999934,10246 "spec/services/members/unassign_issuables_service_spec.rb": 4.710370090999277,10247 "spec/lib/gitlab/email/hook/validate_addresses_interceptor_spec.rb": 0.542328217999966,10248 "spec/lib/gitlab/http_connection_adapter_spec.rb": 1.3377216520002548,10249 "spec/services/bulk_update_integration_service_spec.rb": 2.0683462130000407,10250 "spec/services/alert_management/http_integrations/update_service_spec.rb": 1.2484479499998997,10251 "spec/models/project_deploy_token_spec.rb": 2.313867419001326,10252 "spec/serializers/diff_file_metadata_entity_spec.rb": 3.873292840000431,10253 "spec/services/work_items/create_service_spec.rb": 2.1972700400001486,10254 "spec/lib/gitlab/sql/union_spec.rb": 0.4800720640014333,10255 "spec/sidekiq_cluster/sidekiq_cluster_spec.rb": 0.5400143779988866,10256 "spec/workers/namespaces/schedule_aggregation_worker_spec.rb": 1.367909189000784,10257 "spec/services/alert_management/metric_images/upload_service_spec.rb": 1.4913125269995362,10258 "spec/tooling/graphql/docs/renderer_spec.rb": 1.4939738180000859,10259 "spec/lib/gitlab/metrics/dashboard/importers/prometheus_metrics_spec.rb": 3.249051529999633,10260 "spec/graphql/resolvers/users/participants_resolver_spec.rb": 2.6502825070001563,10261 "spec/lib/gitlab/graphs/commits_spec.rb": 2.3485079260008206,10262 "spec/services/packages/mark_package_files_for_destruction_service_spec.rb": 1.9748354909988848,10263 "spec/lib/gitlab/git/blame_spec.rb": 1.6547788120005862,10264 "spec/services/clusters/aws/provision_service_spec.rb": 1.7314221149990772,10265 "spec/models/snippet_blob_spec.rb": 1.0218881019991386,10266 "spec/lib/gitlab/sql/except_spec.rb": 0.729256730999623,10267 "spec/lib/gitlab/github_import/single_endpoint_notes_importing_spec.rb": 0.8302303399996163,10268 "spec/initializers/validate_database_config_spec.rb": 0.678693675001341,10269 "spec/lib/gitlab/prometheus/metric_group_spec.rb": 3.0146072120005556,10270 "spec/rubocop/cop/avoid_return_from_blocks_spec.rb": 0.8331039400000009,10271 "spec/lib/gitlab/database_importers/common_metrics/importer_spec.rb": 2.313853769999696,10272 "spec/services/concerns/merge_requests/assigns_merge_params_spec.rb": 0.6120762020000257,10273 "spec/lib/gitlab/github_import/milestone_finder_spec.rb": 0.7562324779992196,10274 "spec/lib/gitlab/graphql/authorize/object_authorization_spec.rb": 0.7547581179987901,10275 "spec/graphql/resolvers/design_management/design_at_version_resolver_spec.rb": 1.7315541440002562,10276 "spec/workers/metrics/dashboard/sync_dashboards_worker_spec.rb": 2.397799402000601,10277 "spec/lib/gitlab/import_export/uploads_restorer_spec.rb": 1.8234270749999268,10278 "spec/models/aws/role_spec.rb": 0.627663000001121,10279 "spec/lib/gitlab/setup_helper/workhorse_spec.rb": 0.37188328400043247,10280 "spec/services/award_emojis/collect_user_emoji_service_spec.rb": 2.0412743449996924,10281 "spec/lib/api/ci/helpers/runner_spec.rb": 1.6347347040009481,10282 "spec/views/shared/issuable/_sidebar.html.haml_spec.rb": 1.5056438659994456,10283 "spec/experiments/in_product_guidance_environments_webide_experiment_spec.rb": 2.1298367969993706,10284 "spec/models/namespace/admin_note_spec.rb": 0.6647967969984165,10285 "spec/lib/gitlab/git/patches/commit_patches_spec.rb": 2.943353329999809,10286 "spec/lib/gitlab/database/load_balancing/primary_host_spec.rb": 0.7118589720012096,10287 "spec/models/users/group_callout_spec.rb": 0.4577484170004027,10288 "spec/finders/packages/package_finder_spec.rb": 0.8970480739990307,10289 "spec/serializers/ci/dag_stage_entity_spec.rb": 0.9008628339997813,10290 "spec/lib/feature/gitaly_spec.rb": 0.9573439690011583,10291 "spec/policies/release_policy_spec.rb": 1.2938123659987468,10292 "spec/validators/system_hook_url_validator_spec.rb": 1.6902803489992948,10293 "spec/services/snippets/update_repository_storage_service_spec.rb": 1.2115058840008714,10294 "spec/lib/gitlab/ci/config/entry/product/variables_spec.rb": 0.4155347300002177,10295 "spec/serializers/merge_request_for_pipeline_entity_spec.rb": 1.847123403000296,10296 "spec/serializers/merge_requests/pipeline_entity_spec.rb": 1.1890573670007143,10297 "spec/graphql/resolvers/crm/organizations_resolver_spec.rb": 1.6171115550005197,10298 "spec/presenters/packages/nuget/packages_versions_presenter_spec.rb": 1.8173913470000116,10299 "spec/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb": 1.4534870909992605,10300 "spec/lib/api/entities/deployment_extended_spec.rb": 1.1815708670001186,10301 "spec/lib/gitlab/marker_range_spec.rb": 0.9316540810013976,10302 "spec/rubocop/cop/migration/datetime_spec.rb": 0.8696261570003117,10303 "spec/lib/gitlab/ci/templates/Jobs/sast_iac_gitlab_ci_yaml_spec.rb": 2.166268064000178,10304 "spec/finders/repositories/changelog_commits_finder_spec.rb": 1.056975669998792,10305 "spec/lib/gitlab/github_import/representation/diff_notes/suggestion_formatter_spec.rb": 0.9634893389993522,10306 "spec/lib/gitlab/cross_project_access/class_methods_spec.rb": 0.208115960998839,10307 "spec/workers/ci/build_schedule_worker_spec.rb": 1.349848560999817,10308 "spec/services/boards/visits/create_service_spec.rb": 0.8643229270001029,10309 "spec/models/ci/build_trace_spec.rb": 1.2515071110010467,10310 "spec/lib/gitlab/exceptions_app_spec.rb": 0.3754316539998399,10311 "spec/models/application_setting/term_spec.rb": 1.3349081719989044,10312 "spec/graphql/types/project_member_type_spec.rb": 0.6168858099990757,10313 "spec/lib/gitlab/slash_commands/presenters/issue_comment_spec.rb": 1.1861022770008276,10314 "spec/lib/gitlab/slash_commands/presenters/issue_close_spec.rb": 2.498438851998799,10315 "spec/lib/gitlab/auth/crowd/authentication_spec.rb": 0.36763871499897505,10316 "spec/lib/bitbucket_server/collection_spec.rb": 0.4861609529998532,10317 "spec/lib/gitlab/middleware/basic_health_check_spec.rb": 0.5603792469992186,10318 "spec/graphql/types/blob_viewers/type_enum_spec.rb": 0.3997275110014016,10319 "spec/lib/gitlab/ci/status/pending_spec.rb": 0.44078592699952424,10320 "spec/workers/auto_merge_process_worker_spec.rb": 1.5430471530016803,10321 "spec/services/ci/pipeline_creation/start_pipeline_service_spec.rb": 0.9269930219998059,10322 "spec/lib/gitlab/quick_actions/spend_time_and_date_separator_spec.rb": 0.3168932290009252,10323 "spec/rubocop/cop/performance/ar_exists_and_present_blank_spec.rb": 0.8101876029995765,10324 "spec/services/import/bitbucket_server_service_spec.rb": 0.6712942859994655,10325 "spec/rubocop/cop/gitlab/duplicate_spec_location_spec.rb": 0.4627065259992378,10326 "spec/services/snippets/schedule_bulk_repository_shard_moves_service_spec.rb": 0.8944976439997845,10327 "spec/services/product_analytics/build_graph_service_spec.rb": 0.8273569209995912,10328 "spec/serializers/analytics_build_serializer_spec.rb": 1.809967337998387,10329 "spec/workers/projects/update_repository_storage_worker_spec.rb": 1.3291682039998705,10330 "spec/lib/gitlab/health_checks/master_check_spec.rb": 1.0734041569994588,10331 "spec/workers/integrations/execute_worker_spec.rb": 0.8317448809993948,10332 "spec/lib/gitlab/ci/status/manual_spec.rb": 0.27071833399895695,10333 "spec/lib/gitlab/database_importers/work_items/base_type_importer_spec.rb": 0.2650688249996165,10334 "spec/lib/gitlab/github_import/label_finder_spec.rb": 0.8261840909999592,10335 "spec/services/packages/create_temporary_package_service_spec.rb": 1.4795954589990288,10336 "spec/workers/namespaces/prune_aggregation_schedules_worker_spec.rb": 1.2857213280003634,10337 "spec/lib/gitlab/github_import/importer/diff_notes_importer_spec.rb": 0.48530153399951814,10338 "spec/lib/gitlab/search/abuse_validators/no_abusive_term_length_validator_spec.rb": 0.33878675699997984,10339 "spec/lib/gitlab/mailgun/webhook_processors/failure_logger_spec.rb": 0.26379115499912587,10340 "spec/services/projects/batch_open_issues_count_service_spec.rb": 1.7818395899994357,10341 "spec/lib/gitlab/metrics/dashboard/stages/panel_ids_inserter_spec.rb": 0.530374188998394,10342 "spec/workers/update_merge_requests_worker_spec.rb": 1.164796678998755,10343 "spec/services/protected_tags/create_service_spec.rb": 1.2344450720011082,10344 "spec/lib/gitlab/dependency_linker/cargo_toml_linker_spec.rb": 0.6598160270004882,10345 "spec/presenters/dev_ops_report/metric_presenter_spec.rb": 0.4154682810003578,10346 "spec/helpers/timeboxes_routing_helper_spec.rb": 0.32986898900162487,10347 "spec/serializers/import/bulk_import_entity_spec.rb": 0.295772561999911,10348 "spec/lib/gitlab/analytics/cycle_analytics/sorting_spec.rb": 0.9048741730002803,10349 "spec/workers/approve_blocked_pending_approval_users_worker_spec.rb": 0.612286422001489,10350 "spec/lib/serializers/symbolized_json_spec.rb": 0.3294227580008737,10351 "spec/lib/banzai/filter/output_safety_spec.rb": 0.5199263099984819,10352 "spec/graphql/types/issuable_searchable_field_enum_spec.rb": 0.2587322259987559,10353 "spec/models/group_deploy_keys_group_spec.rb": 0.5261785399998189,10354 "spec/rubocop/cop/active_record_association_reload_spec.rb": 0.7861926440000389,10355 "spec/lib/gitlab/database/schema_cleaner_spec.rb": 0.3351654369998869,10356 "spec/db/development/import_common_metrics_spec.rb": 0.5987703740011057,10357 "spec/graphql/types/packages/conan/metadatum_file_type_enum_spec.rb": 0.5283822800010967,10358 "spec/lib/gitlab/usage/metrics/names_suggestions/relation_parsers/joins_spec.rb": 0.4788147740000568,10359 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/strategies/order_values_loader_strategy_spec.rb": 0.3541679869995278,10360 "spec/helpers/access_tokens_helper_spec.rb": 0.56026258699967,10361 "spec/serializers/merge_request_basic_entity_spec.rb": 0.3496872669984441,10362 "spec/serializers/analytics_issue_serializer_spec.rb": 1.0086767630000395,10363 "spec/rubocop/cop/gitlab/union_spec.rb": 0.20556877099988924,10364 "spec/initializers/rails_asset_host_spec.rb": 0.30129800100075954,10365 "spec/graphql/types/container_repository_sort_enum_spec.rb": 0.2827218530001119,10366 "spec/lib/gitlab/pagination/keyset/in_operator_optimization/column_data_spec.rb": 0.23379858799853537,10367 "spec/lib/gitlab/pagination/offset_header_builder_spec.rb": 0.5794154150007671,10368 "spec/lib/system_check/app/hashed_storage_enabled_check_spec.rb": 0.32867106899902865,10369 "spec/workers/todos_destroyer/group_private_worker_spec.rb": 0.15602920499986794,10370 "spec/workers/propagate_integration_worker_spec.rb": 0.8000117239989777,10371 "spec/graphql/resolvers/package_details_resolver_spec.rb": 0.5159182509996754,10372 "spec/services/user_preferences/update_service_spec.rb": 0.7003159129999403,10373 "spec/helpers/deploy_tokens_helper_spec.rb": 0.5306748189996142,10374 "spec/lib/gitlab/error_tracking/logger_spec.rb": 0.2213874589997431,10375 "spec/lib/gitlab/phabricator_import/conduit/tasks_response_spec.rb": 0.451003876998584,10376 "spec/lib/gitlab/database/consistency_spec.rb": 0.5031348920001619,10377 "spec/graphql/types/branch_type_spec.rb": 0.31079075099842157,10378 "spec/lib/gitlab/slash_commands/presenters/error_spec.rb": 0.2167802389994904,10379 "spec/lib/gitlab/i18n/metadata_entry_spec.rb": 0.19424112100023194,10380 "spec/lib/banzai/filter/html_entity_filter_spec.rb": 0.2958968120001373,10381 "spec/graphql/types/permission_types/work_item_spec.rb": 0.5942031229988061,10382 "spec/graphql/types/blob_viewer_type_spec.rb": 0.08942511199893488,10383 "spec/graphql/types/permission_types/merge_request_type_spec.rb": 0.4940369430005376,10384 "spec/models/blob_viewer/podspec_json_spec.rb": 0.4734395539999241,10385 "spec/experiments/video_tutorials_continuous_onboarding_experiment_spec.rb": 0.242541356999936410387Knapsack global time execution for tests: 31m 37s10388Pending: (Failures listed here are expected and do not affect your suite's status)10389 1) Gitlab::GitAccess#check_push_access! has the correct permissions for admin_without_admin_modes10390 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910391 # ./spec/lib/gitlab/git_access_spec.rb:81910392 2) Gitlab::GitAccess#check_push_access! when developers are allowed to push into the exact protected branch has the correct permissions for admin_without_admin_modes10393 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910394 # ./spec/lib/gitlab/git_access_spec.rb:81910395 3) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the exact protected branch when a merge request exists for the given source/target branch when the merge request is in progress has the correct permissions for admin_without_admin_modes10396 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910397 # ./spec/lib/gitlab/git_access_spec.rb:81910398 4) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the exact protected branch when a merge request exists for the given source/target branch when the merge request is not in progress has the correct permissions for admin_without_admin_modes10399 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910400 # ./spec/lib/gitlab/git_access_spec.rb:81910401 5) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the exact protected branch when a merge request exists for the given source/target branch when a merge request does not exist for the given source/target branch has the correct permissions for admin_without_admin_modes10402 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910403 # ./spec/lib/gitlab/git_access_spec.rb:81910404 6) Gitlab::GitAccess#check_push_access! when developers are allowed to push and merge into the exact protected branch has the correct permissions for admin_without_admin_modes10405 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910406 # ./spec/lib/gitlab/git_access_spec.rb:81910407 7) Gitlab::GitAccess#check_push_access! when no one is allowed to push to the feature protected branch has the correct permissions for admin_without_admin_modes10408 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910409 # ./spec/lib/gitlab/git_access_spec.rb:81910410 8) Gitlab::GitAccess#check_push_access! has the correct permissions for admin_without_admin_modes10411 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910412 # ./spec/lib/gitlab/git_access_spec.rb:81910413 9) Gitlab::GitAccess#check_push_access! when developers are allowed to push into the wildcard protected branch has the correct permissions for admin_without_admin_modes10414 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910415 # ./spec/lib/gitlab/git_access_spec.rb:81910416 10) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the wildcard protected branch when a merge request exists for the given source/target branch when the merge request is in progress has the correct permissions for admin_without_admin_modes10417 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910418 # ./spec/lib/gitlab/git_access_spec.rb:81910419 11) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the wildcard protected branch when a merge request exists for the given source/target branch when the merge request is not in progress has the correct permissions for admin_without_admin_modes10420 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910421 # ./spec/lib/gitlab/git_access_spec.rb:81910422 12) Gitlab::GitAccess#check_push_access! developers are allowed to merge into the wildcard protected branch when a merge request exists for the given source/target branch when a merge request does not exist for the given source/target branch has the correct permissions for admin_without_admin_modes10423 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910424 # ./spec/lib/gitlab/git_access_spec.rb:81910425 13) Gitlab::GitAccess#check_push_access! when developers are allowed to push and merge into the wildcard protected branch has the correct permissions for admin_without_admin_modes10426 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910427 # ./spec/lib/gitlab/git_access_spec.rb:81910428 14) Gitlab::GitAccess#check_push_access! when no one is allowed to push to the feat* protected branch has the correct permissions for admin_without_admin_modes10429 # All admins are allowed to perform actions https://gitlab.com/gitlab-org/gitlab/-/issues/29650910430 # ./spec/lib/gitlab/git_access_spec.rb:81910431 15) Issue modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank10432 # No reason given10433 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:4910434 16) Issue modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank10435 # No reason given10436 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:5710437 17) Gitlab::Database::BackgroundMigration::BatchedMigration.for_configuration doesn not filter by gitlab schemas available for the connection if the column is nor present10438 # Skipping because multiple databases not set up10439 # ./spec/lib/gitlab/database/background_migration/batched_migration_spec.rb:60710440 18) NamespaceFileUploader behaves like builds correct paths #cache_dir behaves like matches the method pattern 10441 # No pattern provided, skipping.10442 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810443 19) NamespaceFileUploader behaves like builds correct paths #work_dir behaves like matches the method pattern 10444 # No pattern provided, skipping.10445 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810446 20) NamespaceFileUploader behaves like builds correct paths #relative_path is relative10447 # Path not set, skipping.10448 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010449 21) NamespaceFileUploader behaves like builds correct paths .base_dir behaves like matches the method pattern 10450 # No pattern provided, skipping.10451 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810452 22) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #cache_dir behaves like matches the method pattern 10453 # No pattern provided, skipping.10454 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810455 23) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #work_dir behaves like matches the method pattern 10456 # No pattern provided, skipping.10457 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810458 24) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths #relative_path is relative10459 # Path not set, skipping.10460 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:4010461 25) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths .absolute_path behaves like matches the method pattern 10462 # No pattern provided, skipping.10463 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810464 26) NamespaceFileUploader object_store is REMOTE behaves like builds correct paths .base_dir behaves like matches the method pattern 10465 # No pattern provided, skipping.10466 # ./spec/support/shared_examples/uploaders/gitlab_uploader_shared_examples.rb:810467 27) Gitlab::Database::Transaction::Context when there are too many too long external HTTP requests behaves like logs transaction data logs again when log throttle duration passes10468 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example10469 # ./spec/lib/gitlab/database/transaction/context_spec.rb:10610470 28) Gitlab::GlRepository::Identifier project repository https://gitlab.com/gitlab-org/gitlab/-/issues/21919210471 # No reason given10472 Failure/Error: return super unless match_data = method_name.match(HELPER_METHOD_PATTERN)10473 `it_behaves_like` is not available from within an example (e.g. an `it` block) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). It is only available on an example group (e.g. a `describe` or `context` block).10474 # ./spec/support/helpers/next_found_instance_of.rb:8:in `method_missing'10475 # ./spec/lib/gitlab/gl_repository/identifier_spec.rb:19:in `block (3 levels) in <top (required)>'10476 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'10477 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'10478 # ./spec/spec_helper.rb:404:in `block (2 levels) in <top (required)>'10479 # ./spec/spec_helper.rb:400:in `block (3 levels) in <top (required)>'10480 # ./lib/gitlab/application_context.rb:52:in `with_raw_context'10481 # ./spec/spec_helper.rb:400:in `block (2 levels) in <top (required)>'10482 # ./spec/spec_helper.rb:261:in `block (2 levels) in <top (required)>'10483 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'10484 # ./spec/support/flaky_tests.rb:27:in `block (2 levels) in <top (required)>'10485 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'10486 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'10487 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'10488Finished in 31 minutes 39 seconds (files took 45.05 seconds to load)104894590 examples, 0 failures, 28 pending10490RSpec exited with 0.10491No examples to retry, congrats!10493Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy10494Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy10496Uploading artifacts...10497coverage/: found 5 matching files and directories 10498crystalball/: found 2 matching files and directories 10499deprecations/: found 3 matching files and directories 10500knapsack/: found 3 matching files and directories 10501rspec/: found 9 matching files and directories 10502WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 10503log/*.log: found 21 matching files and directories 10504WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337061/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com10505WARNING: Retrying... context=artifacts-uploader error=request redirected10506Uploading artifacts as "archive" to coordinator... 201 Created id=2673337061 responseStatus=201 Created token=eVKP-MHv10507Uploading artifacts...10508rspec/junit_rspec.xml: found 1 matching files and directories 10509WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337061/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com10510WARNING: Retrying... context=artifacts-uploader error=request redirected10511Uploading artifacts as "junit" to coordinator... 201 Created id=2673337061 responseStatus=201 Created token=eVKP-MHv10513Job succeeded