rspec-ee unit pg14 10/18
Passed Started
by
@gitlab-bot

🤖 GitLab Bot 🤖
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-3.private.runners-manager.gitlab.com/gitlab.com/gitlab-org QuQPoFsC, system ID: s_fc023362bf2f3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:2e09e9db92541ed81b1c00f1d5186f8c262d8b84e8d1755676ea4b25614f30c4 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:afc7bd7a60824044709543a6a700385e412d750d9ab4fc72b427e335e1d0f3ec ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:4fa67bf5f0f681a62c15a144e1ecce7bf7b20e00dcbb99441c4182f5e2607534 for redis:6.2-alpine with digest redis@sha256:9b1723d69398d170688d7f382f6ace36d0fc209481b143f3acf58a2f6f0743d3 ...20WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.1 is already created. Ignoring.21WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.1 is already created. Ignoring.22Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.1 ...23Authenticating with credentials from job payload (GitLab Registry)24Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.1 ...25Using docker image sha256:bdd3992fa86a67ac06315198d28ab4e2c28f222872eea1d954ddcb1a8702b3bb for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:b0503585bc8e1a1930419b1b31de2711d745d09f3111e406f8b90d1b73c8ea5e ...26Starting service elasticsearch:7.17.6 ...27Pulling docker image elasticsearch:7.17.6 ...28Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...29Waiting for services to be up and running (timeout 30 seconds)...30Authenticating with credentials from job payload (GitLab Registry)31Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...32Using docker image sha256:17ff485d60cad0e7a2cef114c588c387f0a02ea52778bdef56b31436edf609aa for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14@sha256:87a54d6d4c6d7bdd77d0700637df7c79a35b39235baf4c412cd1273ab94788c3 ...34Running on runner-quqpofsc-project-278964-concurrent-0 via runner-quqpofsc-private-1690426867-f85c3629...36Fetching changes with git depth set to 20...37Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/38Created fresh repository.39remote: Enumerating objects: 200368, done. 40remote: Counting objects: 100% (200368/200368), done. 41remote: Compressing objects: 100% (127761/127761), done. 42remote: Total 200368 (delta 101729), reused 135279 (delta 65007), pack-reused 0 43Receiving objects: 100% (200368/200368), 150.13 MiB | 29.26 MiB/s, done.44Resolving deltas: 100% (101729/101729), done.46 * [new ref] refs/pipelines/946806672 -> refs/pipelines/94680667247 * [new branch] master -> origin/master48Checking out 9bb6bea6 as detached HEAD (ref is master)...49Skipping Git submodules setup50$ git remote set-url origin "${CI_REPOSITORY_URL}"52Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...53cache.zip is up to date 54Successfully extracted cache56Downloading artifacts for compile-test-assets (4749214174)...57Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4749214174 responseStatus=200 OK token=64_NAPoR58Downloading artifacts for retrieve-tests-metadata (4749214304)...59Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4749214304 responseStatus=200 OK token=64_NAPoR60Downloading artifacts for setup-test-env (4749214206)...61Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4749214206 responseStatus=200 OK token=64_NAPoR63Using docker image sha256:17ff485d60cad0e7a2cef114c588c387f0a02ea52778bdef56b31436edf609aa for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.16-postgresql-14@sha256:87a54d6d4c6d7bdd77d0700637df7c79a35b39235baf4c412cd1273ab94788c3 ...64$ echo $FOSS_ONLY65$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb66$ export GOPATH=$CI_PROJECT_DIR/.go67$ mkdir -p $GOPATH68$ source scripts/utils.sh69$ source scripts/prepare_build.sh101Using decomposed database config (config/database.yml.decomposed-postgresql)102Geo DB will be set up.103Embedding DB will be set up.119$ source ./scripts/rspec_helpers.sh120$ run_timed_command "gem install knapsack --no-document"121$ gem install knapsack --no-document122Successfully installed knapsack-4.0.01231 gem installed124==> 'gem install knapsack --no-document' succeeded in 1 seconds.125$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"130$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"131SKIP_FLAKY_TESTS_AUTOMATICALLY: 132RETRY_FAILED_TESTS_IN_NEW_PROCESS: true133KNAPSACK_GENERATE_REPORT: true134FLAKY_RSPEC_GENERATE_REPORT: true135KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{bin,channels,components,config,contracts,db,dependencies,elastic,elastic_integration,experiments,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}{,/**/}*_spec.rb136KNAPSACK_LOG_LEVEL: debug137KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg14_10_18_report.json138FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json139FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg14_10_18_report.json140NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg14_10_18_report.json141SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec-ee_unit_pg14_10_18.txt142CRYSTALBALL: true143RSPEC_TESTS_MAPPING_ENABLED: 144RSPEC_TESTS_FILTER_FILE: 145Shell set options (set -o) enabled:146braceexpand on147hashall on148interactive-comments on149pipefail on150Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-4749214771.json --format RspecJunitFormatter --out rspec/rspec-4749214771.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house -- ee/spec/lib/gitlab/ci/templates/dependency_scanning_latest_gitlab_ci_yaml_spec.rb ee/spec/workers/elastic/migration_worker_spec.rb ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb ee/spec/models/geo/project_registry_spec.rb ee/spec/elastic/migrate/20230530500000_migrate_projects_to_separate_index_spec.rb ee/spec/replicators/geo/snippet_repository_replicator_spec.rb ee/spec/models/upload_spec.rb ee/spec/replicators/geo/design_management_repository_replicator_spec.rb ee/spec/lib/ee/gitlab/background_migration/backfill_project_statistics_storage_size_without_uploads_size_spec.rb ee/spec/models/approval_project_rule_spec.rb ee/spec/models/geo/package_file_registry_spec.rb ee/spec/models/concerns/elastic/repository_spec.rb ee/spec/finders/epics/cross_hierarchy_children_finder_spec.rb ee/spec/services/auto_merge/merge_train_service_spec.rb ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb ee/spec/models/dast/profile_schedule_spec.rb ee/spec/finders/iterations_finder_spec.rb ee/spec/models/elastic/migration_record_spec.rb ee/spec/services/application_settings/update_service_spec.rb ee/spec/serializers/merge_request_widget_entity_spec.rb ee/spec/lib/gitlab/ci/minutes/cost_factor_spec.rb ee/spec/graphql/ee/resolvers/project_issues_resolver_spec.rb ee/spec/lib/ee/gitlab/scim/group/provisioning_service_spec.rb ee/spec/elastic/migrate/20230711140500_backfill_archived_on_merge_requests_spec.rb ee/spec/helpers/search_helper_spec.rb ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb ee/spec/workers/elastic_namespace_indexer_worker_spec.rb ee/spec/services/geo/design_repository_sync_service_spec.rb ee/spec/services/epics/epic_links/destroy_service_spec.rb ee/spec/models/requirements_management/test_report_spec.rb ee/spec/elastic/migrate/20230320011400_add_hashed_root_namespace_id_to_commits_spec.rb ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb ee/spec/lib/ee/gitlab/web_hooks/rate_limiter_spec.rb ee/spec/elastic/migrate/20230628094243_add_archived_to_issues_spec.rb ee/spec/finders/dast_site_profiles_finder_spec.rb ee/spec/workers/elastic/project_transfer_worker_spec.rb ee/spec/services/vulnerability_feedback/destroy_service_spec.rb ee/spec/lib/ee/gitlab/alert_management/payload/prometheus_spec.rb ee/spec/elastic/migrate/20230719094243_add_archived_to_commits_spec.rb ee/spec/models/geo/group_wiki_repository_registry_spec.rb ee/spec/services/ee/boards/lists/create_service_spec.rb ee/spec/services/ee/boards/lists/list_service_spec.rb ee/spec/models/milestone_release_spec.rb ee/spec/lib/sidebars/groups/menus/security_compliance_menu_spec.rb ee/spec/services/security/dependency_list_service_spec.rb ee/spec/models/group_wiki_repository_spec.rb ee/spec/lib/ee/gitlab/pages/deployment_update_spec.rb ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb ee/spec/finders/geo/project_registry_finder_spec.rb ee/spec/workers/post_receive_spec.rb ee/spec/models/boards/epic_user_preference_spec.rb ee/spec/graphql/resolvers/epics/children_resolver_spec.rb ee/spec/services/app_sec/dast/scan_configs/build_service_spec.rb ee/spec/graphql/mutations/incident_management/oncall_rotation/create_spec.rb ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb ee/spec/policies/deployment_policy_spec.rb ee/spec/graphql/mutations/projects/set_locked_spec.rb ee/spec/models/projects/all_protected_branches_rule_spec.rb ee/spec/lib/ee/gitlab/background_migration/migrate_approver_to_approval_rules_in_batch_spec.rb ee/spec/lib/analytics/dora_performance_score_calculator_spec.rb ee/spec/helpers/groups/security_features_helper_spec.rb ee/spec/lib/gitlab/mirror_spec.rb ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb ee/spec/services/work_items/widgets/progress_service/update_service_spec.rb ee/spec/services/ee/issues/close_service_spec.rb ee/spec/graphql/mutations/merge_requests/set_reviewers_spec.rb ee/spec/services/ci/process_pipeline_service_spec.rb ee/spec/workers/geo/project_sync_worker_spec.rb ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb ee/spec/services/iterations/cadences/update_service_spec.rb ee/spec/workers/ee/repository_check/batch_worker_spec.rb ee/spec/models/concerns/elastic/namespace_update_spec.rb ee/spec/services/boards/epic_lists/list_service_spec.rb ee/spec/services/groups/restore_service_spec.rb ee/spec/services/registrations/import_namespace_create_service_spec.rb ee/spec/models/group_merge_request_approval_setting_spec.rb ee/spec/services/ci/runners/reset_registration_token_service_spec.rb ee/spec/helpers/security_helper_spec.rb ee/spec/services/requirements_management/export_csv_service_spec.rb ee/spec/services/compliance_management/projects/create_ci_config_service_spec.rb ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb ee/spec/policies/identity_provider_policy_spec.rb ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb ee/spec/models/project_team_spec.rb ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb ee/spec/finders/work_items/widgets/filters/status_spec.rb ee/spec/lib/telesign/transaction_callback_payload_spec.rb ee/spec/helpers/trial_registrations_helper_spec.rb ee/spec/workers/compliance_management/update_default_framework_worker_spec.rb ee/spec/tasks/gitlab/check_rake_spec.rb ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb ee/spec/helpers/ee/groups/settings_helper_spec.rb ee/spec/workers/compliance_management/chain_of_custody_report_worker_spec.rb ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb ee/spec/serializers/epic_entity_spec.rb ee/spec/lib/remote_development/workspaces/reconcile/desired_config_generator_spec.rb ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb ee/spec/models/ee/integration_spec.rb ee/spec/services/onboarding/create_iterable_trigger_service_spec.rb ee/spec/models/dora/time_to_restore_service_metric_spec.rb ee/spec/components/namespaces/combined_storage_users/non_owner_alert_component_spec.rb ee/spec/models/incident_management/issuable_escalation_status_spec.rb ee/spec/serializers/vulnerability_entity_spec.rb ee/spec/services/ee/namespace_settings/update_service_spec.rb ee/spec/views/projects/security/dast_scanner_profiles/edit.html.haml_spec.rb ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb ee/spec/lib/gitlab/web_ide/config/entry/schema_spec.rb ee/spec/views/layouts/_page.html.haml_spec.rb ee/spec/models/geo/push_user_spec.rb ee/spec/presenters/group_clusterable_presenter_spec.rb ee/spec/graphql/resolvers/path_locks_resolver_spec.rb ee/spec/policies/security/scan_policy_spec.rb ee/spec/models/merge_request/diff_llm_summary_spec.rb ee/spec/graphql/resolvers/ci/runners_jobs_statistics_resolver_spec.rb ee/spec/services/projects/setup_ci_cd_spec.rb ee/spec/services/elastic/indexing_control_service_spec.rb ee/spec/graphql/mutations/deployments/deployment_approve_spec.rb ee/spec/services/llm/git_command_service_spec.rb ee/spec/graphql/types/query_type_spec.rb ee/spec/workers/ldap_group_sync_worker_spec.rb ee/spec/workers/geo/verification_batch_worker_spec.rb ee/spec/services/boards/epic_boards/visits/create_service_spec.rb ee/spec/models/concerns/deprecated_approvals_before_merge_spec.rb ee/spec/services/external_status_checks/destroy_service_spec.rb ee/spec/views/shared/credentials_inventory/_expiry_date.html.haml_spec.rb ee/spec/graphql/mutations/dast_scanner_profiles/delete_spec.rb ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb ee/spec/views/projects/security/sast_configuration/show.html.haml_spec.rb ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb ee/spec/lib/gitlab/geo/git_push_http_spec.rb ee/spec/lib/ee/sidebars/your_work/panel_spec.rb ee/spec/models/ee/service_desk_setting_spec.rb ee/spec/lib/gitlab/llm/templates/generate_commit_message_spec.rb ee/spec/lib/sidebars/admin/menus/geo_menu_spec.rb ee/spec/lib/gitlab/llm/open_ai/completions/summarize_review_spec.rb ee/spec/helpers/routing/pseudonymization_helper_spec.rb ee/spec/helpers/compliance_management/compliance_framework/group_settings_helper_spec.rb ee/spec/services/ee/members/groups/creator_service_spec.rb ee/spec/lib/ee/gitlab/issuable/clone/copy_resource_events_service_spec.rb ee/spec/lib/gitlab/llm/chain/parsers/chain_of_thought_parser_spec.rb ee/spec/helpers/ee/feature_flags_helper_spec.rb ee/spec/models/security/remediations_proxy_spec.rb ee/spec/services/ee/members/import_project_team_service_spec.rb ee/spec/models/system_access/microsoft_graph_access_token_spec.rb ee/spec/models/concerns/geo/has_replicator_spec.rb ee/spec/helpers/merge_checks_helper_spec.rb ee/spec/services/geo/repository_base_sync_service_spec.rb ee/spec/workers/dependencies/export_worker_spec.rb ee/spec/finders/licenses_finder_spec.rb ee/spec/services/vulnerability_scanners/list_service_spec.rb ee/spec/lib/gitlab/email/message/account_validation_spec.rb ee/spec/services/ee/labels/promote_service_spec.rb ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb ee/spec/lib/gitlab/ci/config/required/processor_spec.rb ee/spec/services/security/security_orchestration_policies/sync_scan_result_policies_project_service_spec.rb ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb ee/spec/lib/ee/api/entities/member_role_spec.rb ee/spec/elastic/migrate/20230615101400_create_epic_index_spec.rb ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb ee/spec/serializers/audit_event_serializer_spec.rb ee/spec/services/projects/open_issues_count_service_spec.rb ee/spec/graphql/types/incident_management/oncall_rotation_type_spec.rb ee/spec/models/elastic/reindexing_subtask_spec.rb ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb ee/spec/finders/auth/group_saml_identity_finder_spec.rb ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb ee/spec/models/concerns/timebox_spec.rb ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb ee/spec/services/ci/pipeline_creation/start_pipeline_service_spec.rb ee/spec/workers/incident_management/oncall_rotations/persist_all_rotations_shifts_job_spec.rb ee/spec/serializers/metrics_reports_comparer_entity_spec.rb ee/spec/graphql/types/remote_development/workspace_type_spec.rb ee/spec/services/package_metadata/ingestion/compressed_package/license_ingestion_task_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/epics_deepest_relationship_level_metric_spec.rb ee/spec/graphql/types/work_items/widgets/progress_input_type_spec.rb ee/spec/lib/gitlab/llm/chain/response_modifier_spec.rb ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_chat_spec.rb ee/spec/lib/gitlab/llm/chain/requests/vertex_ai_spec.rb ee/spec/graphql/types/vulnerability_sort_enum_spec.rb ee/spec/graphql/types/burnup_chart_daily_totals_type_spec.rb ee/spec/graphql/types/merge_requests/diff_llm_summary_type_spec.rb ee/spec/views/admin/push_rules/_merge_request_approvals.html.haml_spec.rb ee/spec/graphql/types/vulnerability_details/list_type_spec.rb ee/spec/graphql/types/dora_metric_type_enum_spec.rb ee/spec/graphql/types/security/finding_reports_comparer/report_type_spec.rb ee/spec/helpers/ee/export_helper_spec.rb ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb ee/spec/graphql/ee/types/todoable_interface_spec.rb ee/spec/elastic/docs_spec.rb ee/spec/graphql/ee/types/projects/branch_rule_type_spec.rb ee/spec/graphql/types/vulnerability_location/dependency_scanning_type_spec.rb ee/spec/graphql/types/root_storage_statistics_type_spec.rbKnapsack report generator started!151/builds/gitlab-org/gitlab/ee/app/services/remote_development/service_response_factory.rb:41: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!152/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/create_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!153/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/update_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!154/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:32: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!155/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:35: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!156/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!157/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!158/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!159/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!160/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!161/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:25: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!162/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!163/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!164/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!165/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_flattener.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!166/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!167/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!168/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!169/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/main.rb:48: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!170/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!171/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:54: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!172/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:102: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!173/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:126: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!174/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:159: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!175/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:202: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!176/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:235: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!177/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!178/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:52: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!179/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!180/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!181/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!182/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:23: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!183/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!184/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!185/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!186/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!187/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/main.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!188/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/updater.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!189Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}190Test environment set up in 0.599701987 seconds191Dependency-Scanning.latest.gitlab-ci.yml192 # order random193 on branch pipeline194 when project has no license195 includes no jobs196 when project has Ultimate license197 when DEPENDENCY_SCANNING_DISABLED=1198 includes no jobs199 when DEPENDENCY_SCANNING_DISABLED="true"200 includes no jobs201 when DEPENDENCY_SCANNING_DISABLED="false"202 includes jobs203 when DS_EXCLUDED_ANALYZERS set to204 exclude205 nothing206 creates pipeline with excluded analyzers skipped207 gemnasium208 creates pipeline with excluded analyzers skipped209 gemnasium-maven210 creates pipeline with excluded analyzers skipped211 gemnasium-python212 creates pipeline with excluded analyzers skipped213 two214 creates pipeline with excluded analyzers skipped215 three216 creates pipeline with excluded analyzers skipped217 four218 creates pipeline with excluded analyzers skipped219 when all analyzers excluded220 creates a pipeline excluding jobs from specified analyzers221 as default222 Go223 with file at root224 creates a pipeline with the expected jobs225 sets the image suffix as expected226 with file at depth 1227 creates a pipeline with the expected jobs228 sets the image suffix as expected229 with file at depth 2230 creates a pipeline with the expected jobs231 sets the image suffix as expected232 with file at depth > 2233 creates a pipeline with the expected jobs234 sets the image suffix as expected235 with merge request pipelines236 includes jobs237 Java238 with file at root239 creates a pipeline with the expected jobs240 sets the image suffix as expected241 with file at depth 1242 creates a pipeline with the expected jobs243 sets the image suffix as expected244 with file at depth 2245 creates a pipeline with the expected jobs246 sets the image suffix as expected247 with file at depth > 2248 creates a pipeline with the expected jobs249 sets the image suffix as expected250 with merge request pipelines251 includes jobs252 Java Gradle253 with file at root254 creates a pipeline with the expected jobs255 sets the image suffix as expected256 with file at depth 1257 creates a pipeline with the expected jobs258 sets the image suffix as expected259 with file at depth 2260 creates a pipeline with the expected jobs261 sets the image suffix as expected262 with file at depth > 2263 creates a pipeline with the expected jobs264 sets the image suffix as expected265 with merge request pipelines266 includes jobs267 Java Gradle Kotlin DSL268 with file at root269 creates a pipeline with the expected jobs270 sets the image suffix as expected271 with file at depth 1272 creates a pipeline with the expected jobs273 sets the image suffix as expected274 with file at depth 2275 creates a pipeline with the expected jobs276 sets the image suffix as expected277 with file at depth > 2278 creates a pipeline with the expected jobs279 sets the image suffix as expected280 with merge request pipelines281 includes jobs282 Javascript package-lock.json283 with file at root284 creates a pipeline with the expected jobs285 sets the image suffix as expected286 with file at depth 1287 creates a pipeline with the expected jobs288 sets the image suffix as expected289 with file at depth 2290 creates a pipeline with the expected jobs291 sets the image suffix as expected292 with file at depth > 2293 creates a pipeline with the expected jobs294 sets the image suffix as expected295 with merge request pipelines296 includes jobs297 Javascript yarn.lock298 with file at root299 creates a pipeline with the expected jobs300 sets the image suffix as expected301 with file at depth 1302 creates a pipeline with the expected jobs303 sets the image suffix as expected304 with file at depth 2305 creates a pipeline with the expected jobs306 sets the image suffix as expected307 with file at depth > 2308 creates a pipeline with the expected jobs309 sets the image suffix as expected310 with merge request pipelines311 includes jobs312 Javascript npm-shrinkwrap.json313 with file at root314 creates a pipeline with the expected jobs315 sets the image suffix as expected316 with file at depth 1317 creates a pipeline with the expected jobs318 sets the image suffix as expected319 with file at depth 2320 creates a pipeline with the expected jobs321 sets the image suffix as expected322 with file at depth > 2323 creates a pipeline with the expected jobs324 sets the image suffix as expected325 with merge request pipelines326 includes jobs327 Multiple languages328 with file at root329 creates a pipeline with the expected jobs330 sets the image suffix as expected331 with file at depth 1332 creates a pipeline with the expected jobs333 sets the image suffix as expected334 with file at depth 2335 creates a pipeline with the expected jobs336 sets the image suffix as expected337 with file at depth > 2338 creates a pipeline with the expected jobs339 sets the image suffix as expected340 with merge request pipelines341 includes jobs342 NuGet343 with file at root344 creates a pipeline with the expected jobs345 sets the image suffix as expected346 with file at depth 1347 creates a pipeline with the expected jobs348 sets the image suffix as expected349 with file at depth 2350 creates a pipeline with the expected jobs351 sets the image suffix as expected352 with file at depth > 2353 creates a pipeline with the expected jobs354 sets the image suffix as expected355 with merge request pipelines356 includes jobs357 Conan358 with file at root359 creates a pipeline with the expected jobs360 sets the image suffix as expected361 with file at depth 1362 creates a pipeline with the expected jobs363 sets the image suffix as expected364 with file at depth 2365 creates a pipeline with the expected jobs366 sets the image suffix as expected367 with file at depth > 2368 creates a pipeline with the expected jobs369 sets the image suffix as expected370 with merge request pipelines371 includes jobs372 PHP373 with file at root374 creates a pipeline with the expected jobs375 sets the image suffix as expected376 with file at depth 1377 creates a pipeline with the expected jobs378 sets the image suffix as expected379 with file at depth 2380 creates a pipeline with the expected jobs381 sets the image suffix as expected382 with file at depth > 2383 creates a pipeline with the expected jobs384 sets the image suffix as expected385 with merge request pipelines386 includes jobs387 Python requirements.txt388 with file at root389 creates a pipeline with the expected jobs390 sets the image suffix as expected391 with file at depth 1392 creates a pipeline with the expected jobs393 sets the image suffix as expected394 with file at depth 2395 creates a pipeline with the expected jobs396 sets the image suffix as expected397 with file at depth > 2398 creates a pipeline with the expected jobs399 sets the image suffix as expected400 with merge request pipelines401 includes jobs402 Python requirements.pip403 with file at root404 creates a pipeline with the expected jobs405 sets the image suffix as expected406 with file at depth 1407 creates a pipeline with the expected jobs408 sets the image suffix as expected409 with file at depth 2410 creates a pipeline with the expected jobs411 sets the image suffix as expected412 with file at depth > 2413 creates a pipeline with the expected jobs414 sets the image suffix as expected415 with merge request pipelines416 includes jobs417 Python Pipfile418 with file at root419 creates a pipeline with the expected jobs420 sets the image suffix as expected421 with file at depth 1422 creates a pipeline with the expected jobs423 sets the image suffix as expected424 with file at depth 2425 creates a pipeline with the expected jobs426 sets the image suffix as expected427 with file at depth > 2428 creates a pipeline with the expected jobs429 sets the image suffix as expected430 with merge request pipelines431 includes jobs432 Python requires.txt433 with file at root434 creates a pipeline with the expected jobs435 sets the image suffix as expected436 with file at depth 1437 creates a pipeline with the expected jobs438 sets the image suffix as expected439 with file at depth 2440 creates a pipeline with the expected jobs441 sets the image suffix as expected442 with file at depth > 2443 creates a pipeline with the expected jobs444 sets the image suffix as expected445 with merge request pipelines446 includes jobs447 Python with setup.py448 with file at root449 creates a pipeline with the expected jobs450 sets the image suffix as expected451 with file at depth 1452 creates a pipeline with the expected jobs453 sets the image suffix as expected454 with file at depth 2455 creates a pipeline with the expected jobs456 sets the image suffix as expected457 with file at depth > 2458 creates a pipeline with the expected jobs459 sets the image suffix as expected460 with merge request pipelines461 includes jobs462 Python with poetry.lock463 with file at root464 creates a pipeline with the expected jobs465 sets the image suffix as expected466 with file at depth 1467 creates a pipeline with the expected jobs468 sets the image suffix as expected469 with file at depth 2470 creates a pipeline with the expected jobs471 sets the image suffix as expected472 with file at depth > 2473 creates a pipeline with the expected jobs474 sets the image suffix as expected475 with merge request pipelines476 includes jobs477 Ruby Gemfile.lock478 with file at root479 creates a pipeline with the expected jobs480 sets the image suffix as expected481 with file at depth 1482 creates a pipeline with the expected jobs483 sets the image suffix as expected484 with file at depth 2485 creates a pipeline with the expected jobs486 sets the image suffix as expected487 with file at depth > 2488 creates a pipeline with the expected jobs489 sets the image suffix as expected490 with merge request pipelines491 includes jobs492 Ruby gems.locked493 with file at root494 creates a pipeline with the expected jobs495 sets the image suffix as expected496 with file at depth 1497 creates a pipeline with the expected jobs498 sets the image suffix as expected499 with file at depth 2500 creates a pipeline with the expected jobs501 sets the image suffix as expected502 with file at depth > 2503 creates a pipeline with the expected jobs504 sets the image suffix as expected505 with merge request pipelines506 includes jobs507 Scala508 with file at root509 creates a pipeline with the expected jobs510 sets the image suffix as expected511 with file at depth 1512 creates a pipeline with the expected jobs513 sets the image suffix as expected514 with file at depth 2515 creates a pipeline with the expected jobs516 sets the image suffix as expected517 with file at depth > 2518 creates a pipeline with the expected jobs519 sets the image suffix as expected520 with merge request pipelines521 includes jobs522 when PIP_REQUIREMENTS_FILE is defined523 creates a pipeline with the expected jobs524 sets the image suffix as expected525 when project supported by gemnasium analyzer526 sets default value for DS_REMEDIATE527 when FIPS mode is enabled528 Go529 with file at root530 creates a pipeline with the expected jobs531 sets the image suffix as expected532 with file at depth 1533 creates a pipeline with the expected jobs534 sets the image suffix as expected535 with file at depth 2536 creates a pipeline with the expected jobs537 sets the image suffix as expected538 with file at depth > 2539 creates a pipeline with the expected jobs540 sets the image suffix as expected541 with merge request pipelines542 includes jobs543 Java544 with file at root545 creates a pipeline with the expected jobs546 sets the image suffix as expected547 with file at depth 1548 creates a pipeline with the expected jobs549 sets the image suffix as expected550 with file at depth 2551 creates a pipeline with the expected jobs552 sets the image suffix as expected553 with file at depth > 2554 creates a pipeline with the expected jobs555 sets the image suffix as expected556 with merge request pipelines557 includes jobs558 Java Gradle559 with file at root560 creates a pipeline with the expected jobs561 sets the image suffix as expected562 with file at depth 1563 creates a pipeline with the expected jobs564 sets the image suffix as expected565 with file at depth 2566 creates a pipeline with the expected jobs567 sets the image suffix as expected568 with file at depth > 2569 creates a pipeline with the expected jobs570 sets the image suffix as expected571 with merge request pipelines572 includes jobs573 Java Gradle Kotlin DSL574 with file at root575 creates a pipeline with the expected jobs576 sets the image suffix as expected577 with file at depth 1578 creates a pipeline with the expected jobs579 sets the image suffix as expected580 with file at depth 2581 creates a pipeline with the expected jobs582 sets the image suffix as expected583 with file at depth > 2584 creates a pipeline with the expected jobs585 sets the image suffix as expected586 with merge request pipelines587 includes jobs588 Javascript package-lock.json589 with file at root590 creates a pipeline with the expected jobs591 sets the image suffix as expected592 with file at depth 1593 creates a pipeline with the expected jobs594 sets the image suffix as expected595 with file at depth 2596 creates a pipeline with the expected jobs597 sets the image suffix as expected598 with file at depth > 2599 creates a pipeline with the expected jobs600 sets the image suffix as expected601 with merge request pipelines602 includes jobs603 Javascript yarn.lock604 with file at root605 creates a pipeline with the expected jobs606 sets the image suffix as expected607 with file at depth 1608 creates a pipeline with the expected jobs609 sets the image suffix as expected610 with file at depth 2611 creates a pipeline with the expected jobs612 sets the image suffix as expected613 with file at depth > 2614 creates a pipeline with the expected jobs615 sets the image suffix as expected616 with merge request pipelines617 includes jobs618 Javascript npm-shrinkwrap.json619 with file at root620 creates a pipeline with the expected jobs621 sets the image suffix as expected622 with file at depth 1623 creates a pipeline with the expected jobs624 sets the image suffix as expected625 with file at depth 2626 creates a pipeline with the expected jobs627 sets the image suffix as expected628 with file at depth > 2629 creates a pipeline with the expected jobs630 sets the image suffix as expected631 with merge request pipelines632 includes jobs633 Multiple languages634 with file at root635 creates a pipeline with the expected jobs636 sets the image suffix as expected637 with file at depth 1638 creates a pipeline with the expected jobs639 sets the image suffix as expected640 with file at depth 2641 creates a pipeline with the expected jobs642 sets the image suffix as expected643 with file at depth > 2644 creates a pipeline with the expected jobs645 sets the image suffix as expected646 with merge request pipelines647 includes jobs648 NuGet649 with file at root650 creates a pipeline with the expected jobs651 sets the image suffix as expected652 with file at depth 1653 creates a pipeline with the expected jobs654 sets the image suffix as expected655 with file at depth 2656 creates a pipeline with the expected jobs657 sets the image suffix as expected658 with file at depth > 2659 creates a pipeline with the expected jobs660 sets the image suffix as expected661 with merge request pipelines662 includes jobs663 Conan664 with file at root665 creates a pipeline with the expected jobs666 sets the image suffix as expected667 with file at depth 1668 creates a pipeline with the expected jobs669 sets the image suffix as expected670 with file at depth 2671 creates a pipeline with the expected jobs672 sets the image suffix as expected673 with file at depth > 2674 creates a pipeline with the expected jobs675 sets the image suffix as expected676 with merge request pipelines677 includes jobs678 PHP679 with file at root680 creates a pipeline with the expected jobs681 sets the image suffix as expected682 with file at depth 1683 creates a pipeline with the expected jobs684 sets the image suffix as expected685 with file at depth 2686 creates a pipeline with the expected jobs687 sets the image suffix as expected688 with file at depth > 2689 creates a pipeline with the expected jobs690 sets the image suffix as expected691 with merge request pipelines692 includes jobs693 Python requirements.txt694 with file at root695 creates a pipeline with the expected jobs696 sets the image suffix as expected697 with file at depth 1698 creates a pipeline with the expected jobs699 sets the image suffix as expected700 with file at depth 2701 creates a pipeline with the expected jobs702 sets the image suffix as expected703 with file at depth > 2704 creates a pipeline with the expected jobs705 sets the image suffix as expected706 with merge request pipelines707 includes jobs708 Python requirements.pip709 with file at root710 creates a pipeline with the expected jobs711 sets the image suffix as expected712 with file at depth 1713 creates a pipeline with the expected jobs714 sets the image suffix as expected715 with file at depth 2716 creates a pipeline with the expected jobs717 sets the image suffix as expected718 with file at depth > 2719 creates a pipeline with the expected jobs720 sets the image suffix as expected721 with merge request pipelines722 includes jobs723 Python Pipfile724 with file at root725 creates a pipeline with the expected jobs726 sets the image suffix as expected727 with file at depth 1728 creates a pipeline with the expected jobs729 sets the image suffix as expected730 with file at depth 2731 creates a pipeline with the expected jobs732 sets the image suffix as expected733 with file at depth > 2734 creates a pipeline with the expected jobs735 sets the image suffix as expected736 with merge request pipelines737 includes jobs738 Python requires.txt739 with file at root740 creates a pipeline with the expected jobs741 sets the image suffix as expected742 with file at depth 1743 creates a pipeline with the expected jobs744 sets the image suffix as expected745 with file at depth 2746 creates a pipeline with the expected jobs747 sets the image suffix as expected748 with file at depth > 2749 creates a pipeline with the expected jobs750 sets the image suffix as expected751 with merge request pipelines752 includes jobs753 Python with setup.py754 with file at root755 creates a pipeline with the expected jobs756 sets the image suffix as expected757 with file at depth 1758 creates a pipeline with the expected jobs759 sets the image suffix as expected760 with file at depth 2761 creates a pipeline with the expected jobs762 sets the image suffix as expected763 with file at depth > 2764 creates a pipeline with the expected jobs765 sets the image suffix as expected766 with merge request pipelines767 includes jobs768 Python with poetry.lock769 with file at root770 creates a pipeline with the expected jobs771 sets the image suffix as expected772 with file at depth 1773 creates a pipeline with the expected jobs774 sets the image suffix as expected775 with file at depth 2776 creates a pipeline with the expected jobs777 sets the image suffix as expected778 with file at depth > 2779 creates a pipeline with the expected jobs780 sets the image suffix as expected781 with merge request pipelines782 includes jobs783 Ruby Gemfile.lock784 with file at root785 creates a pipeline with the expected jobs786 sets the image suffix as expected787 with file at depth 1788 creates a pipeline with the expected jobs789 sets the image suffix as expected790 with file at depth 2791 creates a pipeline with the expected jobs792 sets the image suffix as expected793 with file at depth > 2794 creates a pipeline with the expected jobs795 sets the image suffix as expected796 with merge request pipelines797 includes jobs798 Ruby gems.locked799 with file at root800 creates a pipeline with the expected jobs801 sets the image suffix as expected802 with file at depth 1803 creates a pipeline with the expected jobs804 sets the image suffix as expected805 with file at depth 2806 creates a pipeline with the expected jobs807 sets the image suffix as expected808 with file at depth > 2809 creates a pipeline with the expected jobs810 sets the image suffix as expected811 with merge request pipelines812 includes jobs813 Scala814 with file at root815 creates a pipeline with the expected jobs816 sets the image suffix as expected817 with file at depth 1818 creates a pipeline with the expected jobs819 sets the image suffix as expected820 with file at depth 2821 creates a pipeline with the expected jobs822 sets the image suffix as expected823 with file at depth > 2824 creates a pipeline with the expected jobs825 sets the image suffix as expected826 with merge request pipelines827 includes jobs828 when PIP_REQUIREMENTS_FILE is defined829 creates a pipeline with the expected jobs830 sets the image suffix as expected831 when project supported by gemnasium analyzer832 sets default value for DS_REMEDIATE833Elastic::MigrationWorker834 #perform835 Feature Flag `elastic_migration_worker` is disabled836 returns with no execution837 indexing is disabled838 returns without execution839 unsupported elasticsearch version840 pauses indexing and does not execute migration841 indexing is enabled842 an unexecuted migration present843 creates an index if it does not exist844 migration is halted845 pause_indexing: false, halted_indexing_unpaused: false, unpause: false846 unpauses indexing847 pause_indexing: false, halted_indexing_unpaused: true, unpause: false848 unpauses indexing849 pause_indexing: true, halted_indexing_unpaused: false, unpause: true850 unpauses indexing851 pause_indexing: true, halted_indexing_unpaused: true, unpause: false852 unpauses indexing853 executing migration with retry_on_failure set854 increases previous_attempts on failure855 fails the migration if max_attempts is exceeded856 migration process857 started: false, completed: false, execute_migration: true, batched: false858 calls migration only when needed859 handles batched migrations860 started: false, completed: true, execute_migration: true, batched: false861 calls migration only when needed862 handles batched migrations863 started: false, completed: false, execute_migration: true, batched: true864 calls migration only when needed865 handles batched migrations866 started: false, completed: true, execute_migration: true, batched: true867 calls migration only when needed868 handles batched migrations869 started: true, completed: false, execute_migration: false, batched: false870 calls migration only when needed871 handles batched migrations872 started: true, completed: true, execute_migration: false, batched: false873 calls migration only when needed874 handles batched migrations875 started: true, completed: false, execute_migration: true, batched: true876 calls migration only when needed877 handles batched migrations878 started: true, completed: true, execute_migration: true, batched: true879 calls migration only when needed880 handles batched migrations881 indexing pause882 started: false, completed: false, expected: false883 pauses and unpauses indexing884 started: true, completed: false, expected: false885 pauses and unpauses indexing886 started: true, completed: true, expected: true887 pauses and unpauses indexing888 checks space required889 halts the migration if there is not enough space890 runs the migration if there is enough space891 when migration is already started892 does not check space requirements893 no unexecuted migrations894 skips execution895 no executed migrations896 executes the first migration897Vulnerabilities::RevertToDetectedService898 with an authorized user with proper permissions899 when vulnerability state is different from the requested state900 when vulnerability is dismissed901 reverts a vulnerability and its associated findings to detected state902 creates note903 creates state transition entry to `detected`904 behaves like calls vulnerability statistics utility services in order905 when updating the vulnerability fails906 does not call the service classes907 when updating the vulnerability succeeds908 calls the service classes in order909 behaves like removes dismissal feedback from associated findings910 when there is no error911 removes dismissal feedback from associated findings912 when there is an error913 does not remove any feedback914 responds with error915 when vulnerability is confirmed916 reverts a vulnerability and its associated findings to detected state917 creates note918 creates state transition entry to `detected`919 behaves like calls vulnerability statistics utility services in order920 when updating the vulnerability fails921 does not call the service classes922 when updating the vulnerability succeeds923 calls the service classes in order924 behaves like removes dismissal feedback from associated findings925 when there is no error926 removes dismissal feedback from associated findings927 when there is an error928 does not remove any feedback929 responds with error930 when vulnerability is resolved931 reverts a vulnerability and its associated findings to detected state932 creates note933 creates state transition entry to `detected`934 behaves like calls vulnerability statistics utility services in order935 when updating the vulnerability fails936 does not call the service classes937 when updating the vulnerability succeeds938 calls the service classes in order939 behaves like removes dismissal feedback from associated findings940 when there is no error941 removes dismissal feedback from associated findings942 when there is an error943 does not remove any feedback944 responds with error945 when security dashboard feature is disabled946 raises an "access denied" error947 when vulnerability state is not different from the requested state948 behaves like does not create state transition for same state949 when vulnerability state is not different from the requested state950 with an authorized user with proper permissions951 does not create a state transition entry952 permissions953 is expected to be allowed for :owner954 is expected to be allowed for :maintainer955 is expected to be allowed for :developer956 is expected to be denied for :auditor957 is expected to be denied for :reporter958 is expected to be denied for :guest959 is expected to be denied for :anonymous960 when admin mode is enabled961 is expected to be allowed for :admin962 when admin mode is disabled963 is expected to be denied for :admin964Geo::ProjectRegistry965 behaves like a BulkInsertSafe model966 when calling class methods directly967 raises an error when method is not bulk-insert safe968 does not raise an error when method is bulk-insert safe969 .bulk_insert!970 when all items are valid971 inserts them all972 returns an empty array973 when some items are invalid974 does not insert any of them and raises an error975 inserts them anyway when bypassing validations976 relationships977 is expected to belong to project required: false978 validations979 is expected to validate that :project cannot be empty/falsy980 is expected to validate that :project is case-sensitively unique981 .find_registry_differences982 untracked IDs983 includes project IDs without an entry on the tracking database984 excludes projects outside the ID range985 with selective sync by namespace986 excludes project IDs that are not in selectively synced projects987 with selective sync by shard988 excludes project IDs that are not in selectively synced projects989 unused tracked IDs990 with an orphaned registry991 includes tracked IDs that do not exist in the model table992 excludes IDs outside the ID range993 with selective sync by namespace994 with a tracked project995 excluded from selective sync996 includes tracked project IDs that exist but are not in a selectively synced project997 included in selective sync998 excludes tracked project IDs that are in selectively synced projects999 with selective sync by shard1000 with a tracked project1001 excluded from selective sync1002 includes tracked project IDs that exist but are not in a selectively synced project1003 included in selective sync1004 excludes tracked project IDs that are in selectively synced projects1005 .synced_repos1006 returns clean projects where last attempt to sync succeeded1007 .synced_wikis1008 returns clean projects where last attempt to sync succeeded1009 .failed_repos1010 returns projects where last attempt to sync failed1011 .failed_wikis1012 returns projects where last attempt to sync failed1013 .verified_repos1014 returns projects that verified1015 .verification_failed_repos1016 returns projects where last attempt to verify failed1017 .verified_wikis1018 returns projects that verified1019 .verification_failed_wikis1020 returns projects where last attempt to verify failed1021 .checksum_mismatch1022 returns projects where there is a checksum mismatch1023 .retry_due1024 returns projects that should be synced1025 .with_search1026 returns project registries that refers to projects with a matching name1027 returns project registries that refers to projects with a matching name regardless of the casing1028 returns project registries that refers to projects with a matching description1029 returns project registries that refers to projects with a partially matching description1030 returns project registries that refers to projects with a matching description regardless of the casing1031 returns project registries that refers to projects with a matching path1032 returns project registries that refers to projects with a partially matching path1033 returns project registries that refers to projects with a matching path regardless of the casing1034 .flag_repositories_for_reverify!1035 modified record to a reverify state1036 .flag_repositories_for_resync!1037 modified record to a resync state1038 .repository_out_of_date?1039 for a non-Geo setup1040 returns false1041 for a Geo setup1042 for a Geo Primary1043 returns false1044 for a Geo secondary1045 where Primary node is not configured1046 returns false1047 where Primary node is configured1048 where project_registry entry does not exist1049 returns true1050 where project_registry entry does exist1051 where last_repository_updated_at is not set1052 returns false1053 where last_repository_updated_at is set1054 where last_repository_successful_sync_at is not set1055 returns true1056 where last_repository_successful_sync_at is set1057 project_last_updated: Thu, 27 Jul 2023 04:11:47.788339838 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 27 Jul 2023 04:09:47.788608169 UTC +00:00, expected_out_of_date?: true1058 returns the expected value1059 project_last_updated: Thu, 27 Jul 2023 04:11:47.788632469 UTC +00:00, project_state_last_updated: nil, project_registry_last_synced: Thu, 27 Jul 2023 04:13:47.788737788 UTC +00:00, expected_out_of_date?: false1060 returns the expected value1061 project_last_updated: Thu, 27 Jul 2023 04:11:47.788752108 UTC +00:00, project_state_last_updated: Thu, 27 Jul 2023 04:14:47.788760208 UTC +00:00, project_registry_last_synced: Thu, 27 Jul 2023 04:13:47.788841329 UTC +00:00, expected_out_of_date?: true1062 returns the expected value1063 project_last_updated: Thu, 27 Jul 2023 04:11:47.788852438 UTC +00:00, project_state_last_updated: Thu, 27 Jul 2023 04:12:47.788859338 UTC +00:00, project_registry_last_synced: Thu, 27 Jul 2023 04:13:47.788933589 UTC +00:00, expected_out_of_date?: false1064 returns the expected value1065 project_last_updated: Thu, 27 Jul 2023 04:11:47.788945439 UTC +00:00, project_state_last_updated: Thu, 27 Jul 2023 04:14:47.788952839 UTC +00:00, project_registry_last_synced: Thu, 27 Jul 2023 04:09:47.789032988 UTC +00:00, expected_out_of_date?: true1066 returns the expected value1067 #repository_sync_due?1068 last_synced_at: nil, resync: false, retry_at: nil, expected: true1069 is expected to eq true1070 last_synced_at: nil, resync: true, retry_at: nil, expected: true1071 is expected to eq true1072 last_synced_at: nil, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, expected: true1073 is expected to eq true1074 last_synced_at: nil, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, expected: true1075 is expected to eq true1076 last_synced_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, resync: false, retry_at: nil, expected: false1077 is expected to eq false1078 last_synced_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, resync: true, retry_at: nil, expected: true1079 is expected to eq true1080 last_synced_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, expected: true1081 is expected to eq true1082 last_synced_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, expected: false1083 is expected to eq false1084 last_synced_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, resync: false, retry_at: nil, expected: false1085 is expected to eq false1086 last_synced_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, resync: true, retry_at: nil, expected: false1087 is expected to eq false1088 last_synced_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.793858398 UTC +00:00, expected: false1089 is expected to eq false1090 last_synced_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.793858398 UTC +00:00, expected: false1091 is expected to eq false1092 #wiki_sync_due?1093 last_synced_at: nil, resync: false, retry_at: nil, expected: true1094 is expected to eq true1095 last_synced_at: nil, resync: true, retry_at: nil, expected: true1096 is expected to eq true1097 last_synced_at: nil, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, expected: true1098 is expected to eq true1099 last_synced_at: nil, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, expected: true1100 is expected to eq true1101 last_synced_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, resync: false, retry_at: nil, expected: false1102 is expected to eq false1103 last_synced_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, resync: true, retry_at: nil, expected: true1104 is expected to eq true1105 last_synced_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, expected: true1106 is expected to eq true1107 last_synced_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, expected: false1108 is expected to eq false1109 last_synced_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, resync: false, retry_at: nil, expected: false1110 is expected to eq false1111 last_synced_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, resync: true, retry_at: nil, expected: false1112 is expected to eq false1113 last_synced_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, resync: true, retry_at: Wed, 27 Jul 2022 04:14:47.803583877 UTC +00:00, expected: false1114 is expected to eq false1115 last_synced_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, resync: true, retry_at: Sat, 27 Jul 2024 04:14:47.803583877 UTC +00:00, expected: false1116 is expected to eq false1117 redis shared state1118 #syncs_since_gc1119 without any sync1120 returns 01121 with a number of syncs1122 returns the number of syncs1123 #increment_syncs_since_gc1124 increments the number of syncs since the last GC1125 #reset_syncs_since_gc1126 resets the number of syncs since the last GC1127 #start_sync!1128 for a repository1129 sets last_repository_synced_at to now1130 when repository_retry_count is nil1131 sets repository_retry_count to 01132 for a wiki1133 sets last_wiki_synced_at to now1134 when wiki_retry_count is nil1135 sets wiki_retry_count to 01136 #finish_sync!1137 for a repository1138 sets last_repository_successful_sync_at to now1139 resets sync state1140 resets verification state1141 does not reset repository_verification_retry_count1142 when a repository was missing on primary1143 sets repository_missing_on_primary as true1144 when a repository sync was scheduled after the last sync began1145 does not reset resync_repository1146 resets the other sync state fields1147 resets the verification state1148 does not reset repository_verification_retry_count1149 for a wiki1150 sets last_wiki_successful_sync_at to now1151 resets sync state1152 resets verification state1153 does not reset wiki_verification_retry_count1154 when a wiki was missing on primary1155 sets wiki_missing_on_primary as true1156 when a wiki sync was scheduled after the last sync began1157 does not reset resync_wiki1158 resets the other sync state fields1159 resets the verification state1160 does not reset wiki_verification_retry_count1161 #fail_sync!1162 for a repository1163 sets repository_retry_at to a future time1164 ensures repository_retry_at is capped at one hour1165 sets resync_repository to true1166 includes message in last_repository_sync_failure1167 includes error message in last_repository_sync_failure1168 increments repository_retry_count1169 when repository_retry_count is 01170 increments repository_retry_count1171 when repository_retry_count is 11172 increments repository_retry_count1173 for a wiki1174 sets wiki_retry_at to a future time1175 ensures wiki_retry_at is capped at one hour1176 sets resync_wiki to true1177 includes message in last_wiki_sync_failure1178 includes error message in last_wiki_sync_failure1179 increments wiki_retry_count1180 when wiki_retry_count is 01181 increments wiki_retry_count1182 when wiki_retry_count is 11183 increments wiki_retry_count1184 #repository_created!1185 sets resync_repository to true1186 when the RepositoryCreatedEvent wiki_path is present1187 sets resync_wiki to true1188 when the RepositoryCreatedEvent wiki_path is blank1189 sets resync_wiki to false1190 #repository_updated!1191 for a repository1192 resets sync state1193 resets verification state1194 for a wiki1195 resets sync state1196 resets verification state1197 #reset_checksum!1198 resets repository/wiki verification state1199 #repository_verification_pending?1200 returns true when outdated1201 returns true when we are missing checksum sha1202 returns false when checksum is present1203 #wiki_verification_pending?1204 returns true when outdated1205 returns true when we are missing checksum sha1206 returns false when checksum is present1207 pending_verification?1208 returns true when either wiki or repository verification is pending1209 returns false when both wiki and repository verification is present1210 pending_synchronization?1211 returns true when either wiki or repository synchronization is pending1212 returns false when both wiki and repository synchronization is present1213 #flag_repository_for_reverify!1214 modified record to a reverify state1215 #flag_repository_for_resync!1216 modified record to a resync state1217 #synchronization_state1218 returns :never when no attempt to sync has ever been done1219 returns :failed when there is an existing error logged1220 returns :pending when there is an existing error logged1221 returns :synced when its fully synced and there is no pending action or existing error1222 repository_has_successfully_synced?1223 when repository has never successfully synced1224 returns false1225 when repository has successfully synced1226 returns true1227MigrateProjectsToSeparateIndex1228 # order random1229 migration_options1230 has migration options set1231 .completed?1232 when counts are equal1233 returns true1234 when counts are not equal1235 returns true1236 .migrate1237 for initial launch1238 creates an index and sets migration_state1239 for batch run1240 sets migration_state task_id1241 sets next slice and clears task_id after task check1242 resets retry_attempt clears task_id for the next slice1243 migrates all projects1244 when reindexing is still in progress1245 does nothing1246 for failed run1247 if exception is raised1248 increases retry_attempt and clears task_id1249 fails the migration after too many attempts1250 when elasticsearch failures1251 if total is not equal1252 raises an error and clears task_id1253 when reindexing fails1254 raises an error and clears task_id1255 space_required_bytes1256 is expected to eq 31257Geo::SnippetRepositoryReplicator1258 invokes replicator.handle_after_create_commit on create1259 behaves like a replicator1260 Geo node status1261 on a primary site1262 .primary_total_count1263 when batch count feature flag is enabled1264 returns the number of available replicables on primary1265 when batch count feature flag is disabled1266 returns the number of available replicables on primary1267 on a secondary site1268 .registry_count1269 when batch count feature flag is enabled1270 returns the number of registries on secondary1271 when batch count feature flag is disabled1272 returns the number of registries on secondary1273 .synced_count1274 when batch count feature flag is enabled1275 returns the number of synced items on secondary1276 when batch count feature flag is disabled1277 returns the number of synced items on secondary1278 .failed_count1279 when batch count feature flag is enabled1280 returns the number of failed items on secondary1281 when batch count feature flag is disabled1282 returns the number of failed items on secondary1283 when replicator is Geo::RegistrySyncWorker compatible1284 has "created" and "deleted" events1285 when replicator enqueues a sync event1286 is expected to receive perform_async("snippet_repository", "updated", {"model_record_id"=>22}) 1 time1287 #replicator1288 is defined and does not raise error1289 .replicables_for_current_secondary1290 when syncing object storage is enabled1291 behaves like is implemented and returns a valid relation1292 is implemented1293 when syncing object storage is disabled1294 behaves like is implemented and returns a valid relation1295 is implemented1296 with selective sync disabled1297 behaves like is implemented and returns a valid relation1298 is implemented1299 with selective sync enabled for namespaces1300 behaves like is implemented and returns a valid relation1301 is implemented1302 with selective sync enabled for shards1303 behaves like is implemented and returns a valid relation1304 is implemented1305 #geo_handle_after_update1306 creates a Geo::Event1307 when replication feature flag is disabled1308 does not publish1309 #geo_handle_after_destroy1310 creates a Geo::Event1311 when replication feature flag is disabled1312 does not publish1313 updated event consumption1314 in replicables_for_current_secondary list1315 runs Geo::FrameworkRepositorySyncService service1316 not in replicables_for_current_secondary list1317 does not run Geo::FrameworkRepositorySyncService service1318 when a sync is currently running1319 moves registry state to pending1320 deleted event consumption1321 runs Geo::RepositoryRegistryRemovalService service1322 .git_access_class1323 is implemented1324 .no_repo_message1325 is implemented1326 .housekeeping_enabled?1327 is implemented1328 #housekeeping_model_record1329 is implemented1330 #model1331 is implemented1332 is a Class1333 #mutable?1334 is true1335 behaves like a verifiable replicator1336 events1337 has checksum_succeeded event1338 .verification_enabled?1339 when replication is enabled1340 when verification_feature_flag_enabled? returns true1341 returns true1342 when verification_feature_flag_enabled? returns false1343 returns false1344 when replication is disabled1345 returns false1346 .checksummed_count1347 when verification is enabled1348 when batch count feature flag is enabled1349 behaves like a counter of succeeded available verifiables1350 is expected to eq 11351 excludes other verification states1352 when batch count feature flag is disabled1353 behaves like a counter of succeeded available verifiables1354 is expected to eq 11355 excludes other verification states1356 when verification is disabled1357 returns nil1358 .verified_count1359 when verification is enabled1360 when batch count feature flag is enabled1361 behaves like a counter of succeeded available verifiables1362 is expected to eq 11363 excludes other verification states1364 when batch count feature flag is disabled1365 behaves like a counter of succeeded available verifiables1366 is expected to eq 11367 excludes other verification states1368 when verification is disabled1369 returns nil1370 .checksum_failed_count1371 when verification is enabled1372 when batch count feature flag is enabled1373 behaves like a counter of failed available verifiables1374 is expected to eq 11375 excludes other verification states1376 when batch count feature flag is disabled1377 behaves like a counter of failed available verifiables1378 is expected to eq 11379 excludes other verification states1380 when verification is disabled1381 returns nil1382 .verification_failed_count1383 when verification is enabled1384 when batch count feature flag is enabled1385 behaves like a counter of failed available verifiables1386 is expected to eq 11387 excludes other verification states1388 when batch count feature flag is disabled1389 behaves like a counter of failed available verifiables1390 is expected to eq 11391 excludes other verification states1392 when verification is disabled1393 returns nil1394 .verification_total_count1395 when verification is enabled1396 when batch count feature flag is enabled1397 when the verification_state is disabled1398 is expected to eq 01399 when the verification_state is not disabled1400 is expected to eq 11401 when batch count feature flag is disabled1402 when the verification_state is disabled1403 is expected to eq 01404 when the verification_state is not disabled1405 is expected to eq 11406 when verification is disabled1407 returns nil1408 .trigger_background_verification1409 when verification is enabled1410 for a Geo secondary1411 does not enqueue ReverificationBatchWorker1412 enqueues VerificationBatchWorker1413 enqueues VerificationTimeoutWorker1414 for a Geo primary1415 enqueues ReverificationBatchWorker1416 enqueues VerificationStateBackfillWorker1417 enqueues VerificationBatchWorker1418 enqueues VerificationTimeoutWorker1419 when verification is disabled1420 does not enqueue VerificationBatchWorker1421 does not enqueue VerificationTimeoutWorker1422 .backfill_verification_state_table1423 calls VerificationStateBackfillService1424 when on secondary1425 returns false1426 .verify_batch1427 when there are records needing verification1428 calls #verify on each replicator1429 .remaining_verification_batch_count1430 converts needs_verification_count to number of batches1431 .remaining_reverification_batch_count1432 converts needs_reverification_count to number of batches1433 .reverify_batch!1434 calls #reverify_batch1435 .replicator_batch_to_verify1436 returns usable Replicator instances1437 .model_record_id_batch_to_verify1438 when the batch is filled by pending rows1439 returns IDs of pending rows1440 does not call .verification_failed_batch1441 when that batch is not filled by pending rows1442 includes IDs of failed rows1443 .verification_pending_batch1444 when current node is a primary1445 delegates to the model class of the replicator1446 when current node is a secondary1447 delegates to the registry class of the replicator1448 .verification_failed_batch1449 when current node is a primary1450 delegates to the model class of the replicator1451 when current node is a secondary1452 delegates to the registry class of the replicator1453 .fail_verification_timeouts1454 when current node is a primary1455 delegates to the model class of the replicator1456 when current node is a secondary1457 delegates to the registry class of the replicator1458 #after_verifiable_update1459 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true1460 calls verify_async only if needed1461 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1462 calls verify_async only if needed1463 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1464 calls verify_async only if needed1465 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1466 calls verify_async only if needed1467 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true1468 calls verify_async only if needed1469 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1470 calls verify_async only if needed1471 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true1472 calls verify_async only if needed1473 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1474 calls verify_async only if needed1475 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false1476 calls verify_async only if needed1477 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1478 calls verify_async only if needed1479 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1480 calls verify_async only if needed1481 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1482 calls verify_async only if needed1483 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false1484 calls verify_async only if needed1485 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1486 calls verify_async only if needed1487 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false1488 calls verify_async only if needed1489 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1490 calls verify_async only if needed1491 #verify_async1492 on a Geo primary1493 calls verification_started! and enqueues VerificationWorker1494 #verify1495 wraps the checksum calculation in track_checksum_attempt!1496 #verification_state_tracker1497 on a Geo primary1498 returns model_record1499 on a Geo secondary1500 returns registry1501 #handle_after_checksum_succeeded1502 on a Geo primary1503 creates checksum_succeeded event1504 is called on verification success1505 on a Geo secondary1506 does not create an event1507 #consume_event_checksum_succeeded1508 with a persisted model_record1509 on a Geo primary1510 does nothing1511 on a Geo secondary1512 with a persisted registry1513 with a registry which is verified1514 sets state to verification_pending1515 with a registry which is pending verification1516 does not change state from verification_pending1517 with an unpersisted registry1518 does not persist the registry1519 #primary_verification_succeeded?1520 when the model record is verification_succeeded1521 returns true1522 when the model record is verification_succeeded1523 returns false1524 integration tests1525 on a primary1526 background backfill1527 verifies model records1528 triggered by events1529 verifies model records1530 on a secondary1531 background backfill1532 verifies registries1533 triggered by events1534 verifies registries1535 .no_repo_message1536 returns the proper error message for snippet repositories1537Upload1538 is expected to have one upload_state class_name => Geo::UploadState inverse_of => upload1539 on a primary node1540 .with_verification_state1541 returns records with given scope1542 .checksummed1543 returns records with given scope1544 .not_checksummed1545 returns records with given scope1546 #save_verification_details1547 when model record is not part of verifiables scope1548 does not create verification details1549 when model_record is part of verifiables scope1550 creates verification details1551 when Geo is disabled1552 #save_verification_details1553 when model_record is part of verifiables scope1554 doesn't create verification details1555 .replicables_for_current_secondary1556 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:upload], model_factory: [:project], is_upload_included: true1557 when sync object storage is enabled1558 when the upload is locally stored1559 is expected to eq true1560 when the upload is object stored1561 is expected to eq true1562 when sync object storage is disabled1563 when the upload is locally stored1564 is expected to eq true1565 when the upload is object stored1566 is expected to be falsey1567 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:upload, :issuable_upload], model_factory: [:project], is_upload_included: true1568 when sync object storage is enabled1569 when the upload is locally stored1570 is expected to eq true1571 when the upload is object stored1572 is expected to eq true1573 when sync object storage is disabled1574 when the upload is locally stored1575 is expected to eq true1576 when the upload is object stored1577 is expected to be falsey1578 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:upload, :namespace_upload], model_factory: [:group], is_upload_included: true1579 when sync object storage is enabled1580 when the upload is locally stored1581 is expected to eq true1582 when the upload is object stored1583 is expected to eq true1584 when sync object storage is disabled1585 when the upload is locally stored1586 is expected to eq true1587 when the upload is object stored1588 is expected to be falsey1589 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:upload, :favicon_upload], model_factory: [:appearance], is_upload_included: true1590 when sync object storage is enabled1591 when the upload is locally stored1592 is expected to eq true1593 when the upload is object stored1594 is expected to eq true1595 when sync object storage is disabled1596 when the upload is locally stored1597 is expected to eq true1598 when the upload is object stored1599 is expected to be falsey1600 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:upload], model_factory: [:project], is_upload_included: true1601 when sync object storage is enabled1602 when the upload is locally stored1603 is expected to eq true1604 when the upload is object stored1605 is expected to eq true1606 when sync object storage is disabled1607 when the upload is locally stored1608 is expected to eq true1609 when the upload is object stored1610 is expected to be falsey1611 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:upload], model_factory: [:project], is_upload_included: false1612 when sync object storage is enabled1613 when the upload is locally stored1614 is expected to eq false1615 when the upload is object stored1616 is expected to eq false1617 when sync object storage is disabled1618 when the upload is locally stored1619 is expected to eq false1620 when the upload is object stored1621 is expected to be falsey1622 selective_sync_namespaces: nil, selective_sync_shards: :model_project, factory: [:upload, :namespace_upload], model_factory: [:group], is_upload_included: true1623 when sync object storage is enabled1624 when the upload is locally stored1625 is expected to eq true1626 when the upload is object stored1627 is expected to eq true1628 when sync object storage is disabled1629 when the upload is locally stored1630 is expected to eq true1631 when the upload is object stored1632 is expected to be falsey1633 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:upload, :namespace_upload], model_factory: [:group], is_upload_included: false1634 when sync object storage is enabled1635 when the upload is locally stored1636 is expected to eq false1637 when the upload is object stored1638 is expected to eq false1639 when sync object storage is disabled1640 when the upload is locally stored1641 is expected to eq false1642 when the upload is object stored1643 is expected to be falsey1644 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:upload, :favicon_upload], model_factory: [:appearance], is_upload_included: true1645 when sync object storage is enabled1646 when the upload is locally stored1647 is expected to eq true1648 when the upload is object stored1649 is expected to eq true1650 when sync object storage is disabled1651 when the upload is locally stored1652 is expected to eq true1653 when the upload is object stored1654 is expected to be falsey1655 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:upload], model_factory: [:project], is_upload_included: true1656 when sync object storage is enabled1657 when the upload is locally stored1658 is expected to eq true1659 when the upload is object stored1660 is expected to eq true1661 when sync object storage is disabled1662 when the upload is locally stored1663 is expected to eq true1664 when the upload is object stored1665 is expected to be falsey1666 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:upload], model_factory: [:project, :in_subgroup], is_upload_included: true1667 when sync object storage is enabled1668 when the upload is locally stored1669 is expected to eq true1670 when the upload is object stored1671 is expected to eq true1672 when sync object storage is disabled1673 when the upload is locally stored1674 is expected to eq true1675 when the upload is object stored1676 is expected to be falsey1677 selective_sync_namespaces: :model, selective_sync_shards: nil, factory: [:upload, :namespace_upload], model_factory: [:group], is_upload_included: true1678 when sync object storage is enabled1679 when the upload is locally stored1680 is expected to eq true1681 when the upload is object stored1682 is expected to eq true1683 when sync object storage is disabled1684 when the upload is locally stored1685 is expected to eq true1686 when the upload is object stored1687 is expected to be falsey1688 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:upload, :namespace_upload], model_factory: [:group, :nested], is_upload_included: true1689 when sync object storage is enabled1690 when the upload is locally stored1691 is expected to eq true1692 when the upload is object stored1693 is expected to eq true1694 when sync object storage is disabled1695 when the upload is locally stored1696 is expected to eq true1697 when the upload is object stored1698 is expected to be falsey1699 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:upload], model_factory: [:project], is_upload_included: false1700 when sync object storage is enabled1701 when the upload is locally stored1702 is expected to eq false1703 when the upload is object stored1704 is expected to eq false1705 when sync object storage is disabled1706 when the upload is locally stored1707 is expected to eq false1708 when the upload is object stored1709 is expected to be falsey1710 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:upload], model_factory: [:project, :in_subgroup], is_upload_included: false1711 when sync object storage is enabled1712 when the upload is locally stored1713 is expected to eq false1714 when the upload is object stored1715 is expected to eq false1716 when sync object storage is disabled1717 when the upload is locally stored1718 is expected to eq false1719 when the upload is object stored1720 is expected to be falsey1721 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:upload, :namespace_upload], model_factory: [:group], is_upload_included: false1722 when sync object storage is enabled1723 when the upload is locally stored1724 is expected to eq false1725 when the upload is object stored1726 is expected to eq false1727 when sync object storage is disabled1728 when the upload is locally stored1729 is expected to eq false1730 when the upload is object stored1731 is expected to be falsey1732 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:upload, :namespace_upload], model_factory: [:group, :nested], is_upload_included: false1733 when sync object storage is enabled1734 when the upload is locally stored1735 is expected to eq false1736 when the upload is object stored1737 is expected to eq false1738 when sync object storage is disabled1739 when the upload is locally stored1740 is expected to eq false1741 when the upload is object stored1742 is expected to be falsey1743 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:upload, :favicon_upload], model_factory: [:appearance], is_upload_included: true1744 when sync object storage is enabled1745 when the upload is locally stored1746 is expected to eq true1747 when the upload is object stored1748 is expected to eq true1749 when sync object storage is disabled1750 when the upload is locally stored1751 is expected to eq true1752 when the upload is object stored1753 is expected to be falsey1754 .search1755 when search query is empty1756 returns all records1757 when search query is not empty1758 without matches1759 filters all records1760 with matches by attributes1761 for checksum attribute1762 is expected to contain exactly #<Upload id: 121, size: 102400, path: "uploads/-/system/project/avatar/988/avatar.jpg", checksum: "07...04:32:14.251966317 +0000", store: 1, mount_point: "avatar", secret: nil, verification_checksum: nil>1763 #destroy1764 when running in a Geo primary node1765 logs an event to the Geo event log when bulk removal is used1766Geo::DesignManagementRepositoryReplicator1767 # order random1768 invokes replicator.handle_after_create_commit on create1769 .housekeeping_enabled?1770 is implemented1771 .replicator_batch_to_verify1772 returns usable Replicator instances1773 #housekeeping_model_record1774 is implemented1775 #geo_handle_after_update1776 creates a Geo::Event1777 when replication feature flag is disabled1778 does not publish1779 #replicator1780 is defined and does not raise error1781 behaves like a replicator1782 Geo node status1783 on a primary site1784 .primary_total_count1785 when batch count feature flag is enabled1786 returns the number of available replicables on primary1787 when batch count feature flag is disabled1788 returns the number of available replicables on primary1789 on a secondary site1790 .registry_count1791 when batch count feature flag is enabled1792 returns the number of registries on secondary1793 when batch count feature flag is disabled1794 returns the number of registries on secondary1795 .synced_count1796 when batch count feature flag is enabled1797 returns the number of synced items on secondary1798 when batch count feature flag is disabled1799 returns the number of synced items on secondary1800 .failed_count1801 when batch count feature flag is enabled1802 returns the number of failed items on secondary1803 when batch count feature flag is disabled1804 returns the number of failed items on secondary1805 when replicator is Geo::RegistrySyncWorker compatible1806 has "created" and "deleted" events1807 when replicator enqueues a sync event1808 is expected to receive perform_async("design_management_repository", "updated", {"model_record_id"=>nil}) 1 time1809 #geo_handle_after_destroy1810 creates a Geo::Event1811 when replication feature flag is disabled1812 does not publish1813 .verified_count1814 when verification is enabled1815 when batch count feature flag is enabled1816 behaves like a counter of succeeded available verifiables1817 is expected to eq 11818 excludes other verification states1819 when batch count feature flag is disabled1820 behaves like a counter of succeeded available verifiables1821 is expected to eq 11822 excludes other verification states1823 when verification is disabled1824 returns nil1825 .model_record_id_batch_to_verify1826 when the batch is filled by pending rows1827 returns IDs of pending rows1828 does not call .verification_failed_batch1829 when that batch is not filled by pending rows1830 includes IDs of failed rows1831 .trigger_background_verification1832 when verification is enabled1833 for a Geo secondary1834 does not enqueue ReverificationBatchWorker1835 enqueues VerificationBatchWorker1836 enqueues VerificationTimeoutWorker1837 for a Geo primary1838 enqueues ReverificationBatchWorker1839 enqueues VerificationStateBackfillWorker1840 enqueues VerificationBatchWorker1841 enqueues VerificationTimeoutWorker1842 when verification is disabled1843 does not enqueue VerificationBatchWorker1844 does not enqueue VerificationTimeoutWorker1845 #verify_async1846 on a Geo primary1847 calls verification_started! and enqueues VerificationWorker1848 deleted event consumption1849 runs Geo::RepositoryRegistryRemovalService service1850 #after_verifiable_update1851 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true1852 calls verify_async only if needed1853 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1854 calls verify_async only if needed1855 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1856 calls verify_async only if needed1857 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1858 calls verify_async only if needed1859 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true1860 calls verify_async only if needed1861 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1862 calls verify_async only if needed1863 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true1864 calls verify_async only if needed1865 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1866 calls verify_async only if needed1867 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false1868 calls verify_async only if needed1869 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false1870 calls verify_async only if needed1871 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false1872 calls verify_async only if needed1873 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false1874 calls verify_async only if needed1875 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false1876 calls verify_async only if needed1877 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false1878 calls verify_async only if needed1879 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false1880 calls verify_async only if needed1881 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false1882 calls verify_async only if needed1883 #primary_verification_succeeded?1884 when the model record is verification_succeeded1885 returns true1886 when the model record is verification_succeeded1887 returns false1888 .fail_verification_timeouts1889 when current node is a primary1890 delegates to the model class of the replicator1891 when current node is a secondary1892 delegates to the registry class of the replicator1893 #handle_after_checksum_succeeded1894 on a Geo primary1895 creates checksum_succeeded event1896 is called on verification success1897 on a Geo secondary1898 does not create an event1899 .no_repo_message1900 is implemented1901 #model1902 is implemented1903 is a Class1904 #mutable?1905 is true1906 .reverify_batch!1907 calls #reverify_batch1908 .verification_failed_count1909 when verification is enabled1910 when batch count feature flag is enabled1911 behaves like a counter of failed available verifiables1912 is expected to eq 11913 excludes other verification states1914 when batch count feature flag is disabled1915 behaves like a counter of failed available verifiables1916 is expected to eq 11917 excludes other verification states1918 when verification is disabled1919 returns nil1920 .verify_batch1921 when there are records needing verification1922 calls #verify on each replicator1923 .backfill_verification_state_table1924 calls VerificationStateBackfillService1925 when on secondary1926 returns false1927 #consume_event_checksum_succeeded1928 with a persisted model_record1929 on a Geo primary1930 does nothing1931 on a Geo secondary1932 with a persisted registry1933 with a registry which is verified1934 sets state to verification_pending1935 with a registry which is pending verification1936 does not change state from verification_pending1937 with an unpersisted registry1938 does not persist the registry1939 .verification_failed_batch1940 when current node is a primary1941 delegates to the model class of the replicator1942 when current node is a secondary1943 delegates to the registry class of the replicator1944 .verification_pending_batch1945 when current node is a primary1946 delegates to the model class of the replicator1947 when current node is a secondary1948 delegates to the registry class of the replicator1949 .checksum_failed_count1950 when verification is enabled1951 when batch count feature flag is enabled1952 behaves like a counter of failed available verifiables1953 is expected to eq 11954 excludes other verification states1955 when batch count feature flag is disabled1956 behaves like a counter of failed available verifiables1957 is expected to eq 11958 excludes other verification states1959 when verification is disabled1960 returns nil1961 #verification_state_tracker1962 on a Geo primary1963 returns model_record1964 on a Geo secondary1965 returns registry1966 .checksummed_count1967 when verification is enabled1968 when batch count feature flag is enabled1969 behaves like a counter of succeeded available verifiables1970 is expected to eq 11971 excludes other verification states1972 when batch count feature flag is disabled1973 behaves like a counter of succeeded available verifiables1974 is expected to eq 11975 excludes other verification states1976 when verification is disabled1977 returns nil1978 integration tests1979 on a primary1980 background backfill1981 verifies model records1982 triggered by events1983 verifies model records1984 on a secondary1985 background backfill1986 verifies registries1987 triggered by events1988 verifies registries1989 #verify1990 wraps the checksum calculation in track_checksum_attempt!1991 .remaining_verification_batch_count1992 converts needs_verification_count to number of batches1993 events1994 has checksum_succeeded event1995 when design git repository does not exist1996 creates a new git repo1997 updated event consumption1998 in replicables_for_current_secondary list1999 runs Geo::FrameworkRepositorySyncService service2000 not in replicables_for_current_secondary list2001 does not run Geo::FrameworkRepositorySyncService service2002 when a sync is currently running2003 moves registry state to pending2004 .verification_total_count2005 when verification is enabled2006 when batch count feature flag is enabled2007 when the verification_state is disabled2008 is expected to eq 02009 when the verification_state is not disabled2010 is expected to eq 12011 when batch count feature flag is disabled2012 when the verification_state is disabled2013 is expected to eq 02014 when the verification_state is not disabled2015 is expected to eq 12016 when verification is disabled2017 returns nil2018 .verification_enabled?2019 when replication is enabled2020 when verification_feature_flag_enabled? returns true2021 returns true2022 when verification_feature_flag_enabled? returns false2023 returns false2024 when replication is disabled2025 returns false2026 .replicables_for_current_secondary2027 when syncing object storage is enabled2028 behaves like is implemented and returns a valid relation2029 is implemented2030 when syncing object storage is disabled2031 behaves like is implemented and returns a valid relation2032 is implemented2033 with selective sync disabled2034 behaves like is implemented and returns a valid relation2035 is implemented2036 with selective sync enabled for namespaces2037 behaves like is implemented and returns a valid relation2038 is implemented2039 with selective sync enabled for shards2040 behaves like is implemented and returns a valid relation2041 is implemented2042 .git_access_class2043 is implemented2044 .remaining_reverification_batch_count2045 converts needs_reverification_count to number of batches2046ApprovalProjectRule2047 validations2048 is invalid when name not unique within rule type and project2049 is invalid when vulnerabilities_allowed is a negative integer2050 DEFAULT_SEVERITIES2051 contains a valid subset of severity levels2052 APPROVAL_VULNERABILITY_STATES2053 contains all vulnerability states and the newly detected states2054 default values2055 is expected to eq []2056 is expected to eq 02057 scanners2058 transform existing NULL values into empty array2059 prevents assignment of NULL2060 prevents assignment of NULL via assign_attributes2061 associations2062 is expected to have many approval_merge_request_rule_sources2063 is expected to have many approval_merge_request_rules through approval_merge_request_rule_sources2064 delegations2065 is expected to delegate #vulnerability_attributes to the #scan_result_policy_read object, allowing #scan_result_policy_read to return nil2066 .regular2067 returns non-report_approver records2068 .for_all_branches2069 returns approval rules without protected branches2070 .for_all_protected_branches2071 returns approval rules applied to all protected branches2072 .regular_or_any_approver scope2073 returns regular or any-approver rules2074 .for_policy_configuration scope2075 returns rules matching configuration id2076 .code_owner scope2077 returns nothing2078 #protected_branches2079 when applies_to_all_protected_branches is true2080 when feature flag `group_protected_branches` disabled2081 returns a collection of all protected branches belonging to the project2082 when feature flag `group_protected_branches` enabled2083 returns a collection of all protected branches belonging to the project and the group2084 when applies_to_all_protected_branches is false2085 returns a collection of all protected branches belonging to the rule2086 #applies_to_branch?2087 when rule has no specific branches2088 returns true2089 when rule has specific branches2090 returns true when the branch name matches2091 returns false when the branch name does not match2092 when rule applies to all protected branches2093 and project has protected branches2094 returns true when the branch name is a protected branch2095 returns true when the branch name is a wildcard protected branch2096 returns false when the branch name does not match a wildcard protected branch2097 returns false when the branch name is an unprotected branch2098 returns false when the branch name does not exist2099 and project has no protected branches2100 returns false for the passed branches2101 #regular?2102 returns true for regular rules2103 returns false for report_approver rules2104 #code_owner?2105 returns false2106 #report_approver?2107 returns false for regular rules2108 returns true for report_approver rules2109 #rule_type2110 returns the regular type for regular rules2111 returns the report_approver type for license scanning approvers rules2112 validation2113 when creating a new rule2114 is expected to be valid2115 is expected to be valid2116 is expected to be valid2117 when attempting to edit the name of the rule2118 is expected to be valid2119 with a `Coverage-Check` rule2120 is expected not to be valid2121 is expected to change `subject.errors[:report_type].present?`2122 for report type different than scan_finding2123 is invalid when name not unique within rule type and project2124 is valid when protected branches are empty and is applied to all protected branches2125 is expected to be valid2126 for scan_finding report type2127 is invalid when name not unique within scan result policy, rule type and project2128 when no protected branches are selected and is not applied to all protected branches2129 is expected not to be valid2130 when protected branches are present and is not applied to all protected branches2131 is expected to be valid2132 when protected branches are present and is applied to all protected branches2133 is expected to be valid2134 when protected branches are not selected and is applied to all protected branches2135 is expected to be valid2136 any_approver rules2137 creating only one any_approver rule is allowed2138 callbacks2139 #track_creation_event tracks count after create2140 calls Gitlab::UsageDataCounters::HLLRedisCounter track event2141 #audit_add users after :add2142 behaves like audit event queue2143 when audit event queue is active2144 adds message to audit event queue2145 when audit event queue is not active2146 does not add message to audit event queue2147 behaves like invalid record creates no audit event2148 when record is invalid2149 does not add message to audit event queue2150 #audit_remove users after :remove2151 behaves like audit event queue2152 when audit event queue is active2153 adds message to audit event queue2154 when audit event queue is not active2155 does not add message to audit event queue2156 behaves like invalid record creates no audit event2157 when record is invalid2158 does not add message to audit event queue2159 #audit_add groups after :add2160 behaves like audit event queue2161 when audit event queue is active2162 adds message to audit event queue2163 when audit event queue is not active2164 does not add message to audit event queue2165 behaves like invalid record creates no audit event2166 when record is invalid2167 does not add message to audit event queue2168 #audit_remove groups after :remove2169 behaves like audit event queue2170 when audit event queue is active2171 adds message to audit event queue2172 when audit event queue is not active2173 does not add message to audit event queue2174 behaves like invalid record creates no audit event2175 when record is invalid2176 does not add message to audit event queue2177 #audit_creation after approval rule is created2178 behaves like audit event queue2179 when audit event queue is active2180 adds message to audit event queue2181 when audit event queue is not active2182 does not add message to audit event queue2183 #vulnerability_states_for_branch2184 with protected branch set to any2185 returns all content of vulnerability states2186 with protected branch set to a custom branch2187 returns only the content of vulnerability states2188Geo::PackageFileRegistry2189 behaves like a BulkInsertSafe model2190 when calling class methods directly2191 raises an error when method is not bulk-insert safe2192 does not raise an error when method is bulk-insert safe2193 .bulk_insert!2194 when all items are valid2195 inserts them all2196 returns an empty array2197 when some items are invalid2198 does not insert any of them and raises an error2199 inserts them anyway when bypassing validations2200 obligatory fields check2201 has expected fields or methods2202 scopes2203 sync_timed_out2204 return correct records2205 not_pending2206 returns registries that are not pending2207 finders2208 .find_registries_never_attempted_sync2209 returns unsynced items2210 returns items that never have an attempt to sync except some specific item ID2211 .find_registries_needs_sync_again2212 returns failed items2213 returns failed items except some specific item ID2214 orders records according to retry_at2215 .fail_sync_timeouts2216 marks started records as failed if they are expired2217 bulk_mark_pending_one_batch!2218 marks registries as never attempted to sync2219 #failed!2220 sets last_sync_failure with message2221 truncates a long last_sync_failure2222 increments retry_count2223 sets retry_at to a time in the future2224 when an error is given2225 includes error.message in last_sync_failure2226 when missing_on_primary is not given2227 caps retry_at to default 1 hour2228 when missing_on_primary is falsey2229 caps retry_at to default 1 hour2230 when missing_on_primary is truthy2231 caps retry_at to 4 hours2232 #synced!2233 mark as synced2234 when a sync was scheduled after the last sync finishes2235 does not reset state2236 resets the other sync state fields2237 #pending!2238 when a sync is currently running2239 successfully moves state to pending2240 when the registry has recorded a failure2241 clears failure retry fields2242 state machine2243 when transitioning to synced2244 marks verification as pending2245 when the model_record cannot be verified2246 when the registry is already verification_disabled2247 changes verification to disabled2248 when the registry is verification_pending2249 changes verification to disabled2250 verification_state machine2251 when transitioning to verification_failed2252 changes state from synced to failed2253 .verification_pending_batch2254 returns IDs of rows which are synced and pending verification2255 excludes rows which are not synced or are not pending verification2256 marks verification as started2257 .verification_failed_batch2258 with a failed record with retry due2259 returns IDs of rows which are synced and have failed verification2260 excludes rows which are not synced or have not failed verification2261 marks verification as started2262 when verification_retry_at is in the future2263 does not return the row which failed verification2264 .needs_verification_count2265 returns the number of rows which are synced and pending verification2266 includes rows which are synced and failed verification and are due for retry2267 excludes rows which are synced and failed verification and have a future retry time2268 excludes rows which are not synced or are not (pending or failed) verification2269 #verification_succeeded!2270 clears checksum mismatch fields2271 #track_checksum_attempt!2272 yields to the checksum calculation2273 when verification was not yet started2274 starts verification2275 when the model record cannot be verified2276 when the registry is already verification_disabled2277 leaves verification as disabled2278 when the registry is verification_pending2279 changes verification to disabled2280 when the primary site is expected to checksum the model record2281 comparison with primary checksum2282 when the calculated checksum matches the primary checksum2283 transitions to verification_succeeded and updates the checksum2284 when the calculated checksum does not match the primary checksum2285 transitions to verification_failed and updates mismatch fields2286 when verification was started2287 does not update verification_started_at2288 when an error occurs while yielding2289 sets verification_failed2290 .with_search2291 when query is empty2292 returns all registries2293 when query is not empty2294 calls model_class search method2295 .find_registry_differences2296 with selective sync disabled2297 finds unused and untracked items2298 with selective sync by shard2299 finds unused and untracked items2300 with selective sync by namespace2301 finds unused and untracked items2302Repository2303 searches blobs and commits2304 names elasticsearch queries2305 filters commits from blobs, and vice-versa2306 filtering2307 can filter blobs2308 filters by extension when optimization is disabled2309 class method find_commits_by_message_with_elastic2310 returns commits2311 with a deleted project2312 skips its commits2313 with a project pending deletion2314 skips its commits2315 find_commits_by_message_with_elastic2316 returns commits2317Epics::CrossHierarchyChildrenFinder2318 # order random2319 #execute2320 when epics feature is enabled2321 without param2322 raises an error when parent param is missing2323 when user can not read parent epic2324 returns empty collection2325 when user has guest access2326 returns all child epics2327 when param include_ancestor_groups is `false`2328 returns all child epics excluding the ones in ancestor groups2329 when param include_descendant_groups is `false`2330 returns all child epics excluding the ones in descendant groups2331 when param include_ancestor_groups and include_descendant_groups are `false`2332 returns all child epics excluding the ones in ancestor and descendant groups2333 when user has reporter access to parent epic group2334 returns visible child epics2335 with children in a different group hierarchy2336 when preload is `true`2337 calls method to preload groups relationships2338 when user is member of private top level group2339 returns all visible child epics2340 when user is member of private base group2341 returns all visible child epics2342 when user is member of private other_subgroup2343 returns all visible child epics2344 with group hierarchy with projects2345 when user is member of top level group project2346 returns child epics in projects group and its ancestors2347 when user is member of a base group project2348 returns child epics in projects group and its ancestors2349 when user is member of the other_subgroup project2350 returns child epics in projects group and its ancestors2351 with shared groups2352 when user is member of a group shared with the top level group2353 returns child epics in top level group and its descendants2354 when user is member of a group shared with the base group2355 returns child epics in the base group and its descendants2356 when user is member of a group shared with the subgroup2357 returns child epics in the other_subgroup2358 behaves like epics hierarchy finder with filtering2359 with correct params2360 returns all epics even if user can not access them2361 with created_at2362 returns all epics created before the given date2363 returns all epics created after the given date2364 returns all epics created within the given interval2365 with search2366 returns all epics that match the search2367 with user reaction emoji2368 returns epics reacted to by user2369 with author2370 returns all epics authored by the given user2371 when using OR2372 returns all epics authored by any of the given users2373 when feature flag is disabled2374 does not add any filter2375 with label2376 returns all epics with given label2377 returns all epics without negated label2378 with state2379 returns all epics with given state2380 with timeframe2381 returns epics which start in the timeframe2382 returns epics which end in the timeframe2383 returns epics which start before and end after the timeframe2384 when one of the timeframe params are missing2385 does not filter by timeframe if start_date is missing2386 does not filter by timeframe if end_date is missing2387 with milestone2388 returns empty result if the milestone is not present2389 returns only epics which have an issue from the milestone2390 when using iid starts with query2391 returns the expected epics if just the first two numbers are given2392 returns the expected epics if the exact id is given2393 fails if iid_starts_with contains a non-numeric string2394 fails if iid_starts_with contains a non-numeric string with line breaks2395 fails if iid_starts_with contains a string which contains a negative number2396 behaves like epic findable finder2397 has expected valid params2398AutoMerge::MergeTrainService2399 #execute2400 enables auto merge on the merge request2401 creates merge train2402 creates system note2403 returns result code2404 when failed to save the record2405 returns result code2406 when statement timeout happened on system note creation2407 returns failed status2408 rollback the transaction2409 tracks the exception2410 #process2411 calls RefreshWorker2412 when merge request is not on a merge train2413 does not call RefreshWorker2414 #cancel2415 cancels auto merge on the merge request2416 writes system note to the merge request2417 does not generate any todos2418 when pipeline exists2419 cancels the jobs in the pipeline2420 when train ref exists2421 deletes train ref2422 when train ref does not exist2423 does not raise an error2424 when the other merge request is following the merge request2425 processes the train by default2426 when the status is stale already2427 does not do anything2428 when statement timeout happened on system note creation2429 returns error2430 rollback the transaction2431 tracks the exception2432 #abort2433 aborts auto merge on the merge request2434 writes system note to the merge request2435 when the other merge request is following the merge request2436 processes the train2437 when process_next is false2438 does not process the next merge request on the train2439 when statement timeout happened on system note creation2440 returns error2441 rollback the transaction2442 tracks the exception2443 #available_for?2444 is expected to be truthy2445 memoizes the result2446 when merge trains flag is disabled2447 is expected to be falsy2448 when there is an open MR dependency2449 is expected to be falsy2450 when merge train ci setting is disabled2451 is expected to be falsy2452 when merge request is not mergeable2453 is expected to be falsy2454 when the user does not have permission to merge2455 is expected to be falsy2456 when the head pipeline of the merge request has not finished2457 is expected to be falsy2458Types::PipelineSecurityReportFindingType2459 is expected to eq "PipelineSecurityReportFinding"2460 is expected to require graphql authorizations :read_security_resource2461 is expected to have graphql fields :report_type, :title, :severity, :scanner, :identifiers, :links, :assets, :evidence, :project_fingerprint, :uuid, :project, :description, :location, :falsePositive, :solution, :state, :details, :vulnerability, :issueLinks, :merge_request, :remediations, :dismissed_at, :dismissed_by, :dismissal_reason, :state_comment, and :description_html2462 false_positive2463 when the security finding has a false-positive flag2464 returns false-positive value2465 when the security finding does not have any false-positive flag2466 returns false for false-positive field2467 when there exists no license2468 returns nil for false-positive field2469 vulnerability2470 returns no vulnerabilities for the security findings when none exists2471 when the security finding has a related vulnerability2472 returns vulnerabilities for the security findings2473 avoids N+1 queries2474 issue_links2475 returns no issues for the security findings when no vulnerability exists2476 when there is a vulnerabillty with no issues2477 returns no issues2478 when the security finding has a related vulnerability2479 returns issues for the security findings2480 avoids N+1 queries2481 merge_request2482 returns no merge requests for the security findings when no vulnerability finding exists2483 when a merge request link exists2484 returns the linked merged requests2485 prevents N+12486 when a merge request link does not exist2487 does not return a merge request2488 when there is a security finding with no merge request2489 returns no merge requests2490 remediations2491 returns remediations for security findings which have one2492 responds with an empty array for security findings which have none2493 when a remediation does not exist for a single finding query2494 when a vulnerability finding exists for the report finding2495 responds with an empty array2496 when a vulnerability finding does not exist for the report finding2497 responds with an empty array2498 dismissal data2499 when there is a security finding with no dismissal feedback2500 returns no dismissal data2501 when the security finding has a related dismissal feedback2502 returns the dismissal data for the security findings2503 avoids N+1 queries2504 when the number of requested dismissal fields changes2505 does not increase the number of queries2506Dast::ProfileSchedule2507 associations2508 is expected to belong to project required: false2509 is expected to belong to dast_profile class_name => Dast::Profile required: true inverse_of => dast_profile_schedule2510 is expected to belong to owner class_name => User required: false2511 validations2512 is expected to be valid2513 is expected to validate that :timezone cannot be empty/falsy2514 is expected to validate that :timezone is either ‹"Etc/GMT+12"›, ‹"Pacific/Pago_Pago"›, ‹"Pacific/Midway"›, ‹"Pacific/Honolulu"›, ‹"America/Juneau"›, ‹"America/Los_Angeles"›, ‹"America/Tijuana"›, ‹"America/Phoenix"›, ‹"America/Mazatlan"›, ‹"America/Denver"›, ‹"America/Guatemala"›, ‹"America/Chicago"›, ‹"America/Chihuahua"›, ‹"America/Mexico_City"›, ‹"America/Mexico_City"›, ‹"America/Monterrey"›, ‹"America/Regina"›, ‹"America/Bogota"›, ‹"America/New_York"›, ‹"America/Indiana/Indianapolis"›, ‹"America/Lima"›, ‹"America/Lima"›, ‹"America/Halifax"›, ‹"America/Caracas"›, ‹"America/Guyana"›, ‹"America/La_Paz"›, ‹"America/Puerto_Rico"›, ‹"America/Santiago"›, ‹"America/St_Johns"›, ‹"America/Sao_Paulo"›, ‹"America/Argentina/Buenos_Aires"›, ‹"America/Godthab"›, ‹"America/Montevideo"›, ‹"Atlantic/South_Georgia"›, ‹"Atlantic/Azores"›, ‹"Atlantic/Cape_Verde"›, ‹"Europe/London"›, ‹"Europe/Lisbon"›, ‹"Europe/London"›, ‹"Africa/Monrovia"›, ‹"Etc/UTC"›, ‹"Europe/Amsterdam"›, ‹"Europe/Belgrade"›, ‹"Europe/Berlin"›, ‹"Europe/Zurich"›, ‹"Europe/Bratislava"›, ‹"Europe/Brussels"›, ‹"Europe/Budapest"›, ‹"Africa/Casablanca"›, ‹"Europe/Copenhagen"›, ‹"Europe/Dublin"›, ‹"Europe/Ljubljana"›, ‹"Europe/Madrid"›, ‹"Europe/Paris"›, ‹"Europe/Prague"›, ‹"Europe/Rome"›, ‹"Europe/Sarajevo"›, ‹"Europe/Skopje"›, ‹"Europe/Stockholm"›, ‹"Europe/Vienna"›, ‹"Europe/Warsaw"›, ‹"Africa/Algiers"›, ‹"Europe/Zagreb"›, ‹"Europe/Zurich"›, ‹"Europe/Athens"›, ‹"Europe/Bucharest"›, ‹"Africa/Cairo"›, ‹"Africa/Harare"›, ‹"Europe/Helsinki"›, ‹"Asia/Jerusalem"›, ‹"Europe/Kaliningrad"›, ‹"Europe/Kiev"›, ‹"Africa/Johannesburg"›, ‹"Europe/Riga"›, ‹"Europe/Sofia"›, ‹"Europe/Tallinn"›, ‹"Europe/Vilnius"›, ‹"Asia/Baghdad"›, ‹"Europe/Istanbul"›, ‹"Asia/Kuwait"›, ‹"Europe/Minsk"›, ‹"Europe/Moscow"›, ‹"Africa/Nairobi"›, ‹"Asia/Riyadh"›, ‹"Europe/Moscow"›, ‹"Europe/Volgograd"›, ‹"Asia/Tehran"›, ‹"Asia/Muscat"›, ‹"Asia/Baku"›, ‹"Asia/Muscat"›, ‹"Europe/Samara"›, ‹"Asia/Tbilisi"›, ‹"Asia/Yerevan"›, ‹"Asia/Kabul"›, ‹"Asia/Yekaterinburg"›, ‹"Asia/Karachi"›, ‹"Asia/Karachi"›, ‹"Asia/Tashkent"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Colombo"›, ‹"Asia/Kathmandu"›, ‹"Asia/Almaty"›, ‹"Asia/Dhaka"›, ‹"Asia/Dhaka"›, ‹"Asia/Urumqi"›, ‹"Asia/Rangoon"›, ‹"Asia/Bangkok"›, ‹"Asia/Bangkok"›, ‹"Asia/Jakarta"›, ‹"Asia/Krasnoyarsk"›, ‹"Asia/Novosibirsk"›, ‹"Asia/Shanghai"›, ‹"Asia/Chongqing"›, ‹"Asia/Hong_Kong"›, ‹"Asia/Irkutsk"›, ‹"Asia/Kuala_Lumpur"›, ‹"Australia/Perth"›, ‹"Asia/Singapore"›, ‹"Asia/Taipei"›, ‹"Asia/Ulaanbaatar"›, ‹"Asia/Tokyo"›, ‹"Asia/Tokyo"›, ‹"Asia/Seoul"›, ‹"Asia/Tokyo"›, ‹"Asia/Yakutsk"›, ‹"Australia/Adelaide"›, ‹"Australia/Darwin"›, ‹"Australia/Brisbane"›, ‹"Australia/Melbourne"›, ‹"Pacific/Guam"›, ‹"Australia/Hobart"›, ‹"Australia/Melbourne"›, ‹"Pacific/Port_Moresby"›, ‹"Australia/Sydney"›, ‹"Asia/Vladivostok"›, ‹"Asia/Magadan"›, ‹"Pacific/Noumea"›, ‹"Pacific/Guadalcanal"›, ‹"Asia/Srednekolymsk"›, ‹"Pacific/Auckland"›, ‹"Pacific/Fiji"›, ‹"Asia/Kamchatka"›, ‹"Pacific/Majuro"›, ‹"Pacific/Auckland"›, ‹"Pacific/Chatham"›, ‹"Pacific/Tongatapu"›, ‹"Pacific/Apia"›, or ‹"Pacific/Fakaofo"›2515 is expected to validate that :starts_at cannot be empty/falsy2516 is expected to validate that :dast_profile_id is case-sensitively unique2517 cadence2518 when valid values2519 allows day values2520 allows week values2521 allows month values2522 allows month values2523 allows month values2524 allows year values2525 allows values2526 when invalid values2527 disallow day values2528 disallow month_foo values2529 validate2530 validate_plan_limit_not_exceeded_while_activating2531 when the plan limit has not been exceeded2532 can activate the schedule2533 when the plan limit has been exceeded2534 prevents the schedule from being activated2535 allows the schedule to be deactivated2536 scopes2537 active2538 includes the correct records2539 .runnable_schedules2540 when there are runnable schedules2541 returns the runnable schedule2542 when there are inactive schedules2543 returns an empty array2544 when there are no runnable schedules2545 returns an empty array2546 when there are runnable schedules in future2547 returns an empty array2548 before_save2549 #set_cron2550 when repeat? is true2551 sets the cron value2552 when repeat? is false2553 sets the cron value to default when non repeating2554 #set_next_run_at2555 when schedule runs every minute2556 updates next_run_at to the worker's execution time2557 when there are two different schedules in the same time zones2558 sets the sames next_run_at2559 when starts_at is updated for existing schedules2560 updates next_run_at automatically2561 #schedule_next_run!2562 when repeat? is true2563 sets active to true2564 when repeat? is false2565 sets active to false2566 limitable2567 behaves like includes Limitable concern2568 #exceeds_limits?2569 without plan limits configured2570 is expected to eq false2571 without plan limits configured2572 is expected to eq false2573 with an existing model2574 is expected to eq true2575 validations2576 is expected to be a kind of Limitable2577 without plan limits configured2578 can create new models2579 with plan limits configured2580 can create new models2581 with an existing model2582 cannot create new models exceeding the plan limits2583 #with_active_schedules2584 returns only active schedules2585 #owner_valid?2586 when the feature is enabled2587 when the scheduler owner is not null and has the ability to create_on_demand_dast_scan2588 is expected to be owner valid2589 when the user_id is nil2590 is expected not to be owner valid2591IterationsFinder2592 without permissions2593 with project as parent2594 returns none2595 with group as parent2596 returns none2597 when skipping authorization2598 returns iterations2599 with permissions2600 iterations fetched from project2601 returns iterations for projects2602 iterations fetched from group2603 returns iterations for groups2604 with filters2605 by iteration_wildcard_id2606 returns CURRENT iterations without ancestors2607 when iteration_cadence_id is provided2608 returns CURRENT iteration for the given cadence2609 iterations for project with ancestors2610 returns iterations for project and ancestor groups2611 orders iterations by due date and title2612 with filters2613 filters by all states2614 filters by current state2615 filters by invalid state2616 filters by opened state2617 filters by closed state2618 filters by title2619 filters by ID2620 filters by cadence2621 filters by multiple cadences2622 with search params2623 raises an error when `in` contains an invalid value2624 filters by title2625 search: "", fields_to_search: [], expected_iterations: lazy { all_iterations }2626 behaves like search returns correct items2627 is expected to contain exactly #<Iteration id:1 *iteration:1>, #<Iteration id:2 *iteration:"one test">, #<Iteration id:3 *iteration:"Iteration 1">, #<Iteration id:4 *iteration:4>, and #<Iteration id:5 *iteration:5>2628 search: "iteration", fields_to_search: [], expected_iterations: lazy { all_iterations }2629 behaves like search returns correct items2630 is expected to contain exactly #<Iteration id:1 *iteration:1>, #<Iteration id:2 *iteration:"one test">, #<Iteration id:3 *iteration:"Iteration 1">, #<Iteration id:4 *iteration:4>, and #<Iteration id:5 *iteration:5>2631 search: "iteration", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }2632 behaves like search returns correct items2633 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2634 search: "iteration", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }2635 behaves like search returns correct items2636 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2637 search: "iter 1", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }2638 behaves like search returns correct items2639 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2640 search: "iteration 1", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }2641 behaves like search returns correct items2642 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2643 search: "iteration test", fields_to_search: [:title], expected_iterations: lazy { [] }2644 behaves like search returns correct items2645 is expected to contain exactly2646 search: "one week iter", fields_to_search: [:cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }2647 behaves like search returns correct items2648 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2649 search: "iteration", fields_to_search: [:cadence_title], expected_iterations: lazy { all_iterations }2650 behaves like search returns correct items2651 is expected to contain exactly #<Iteration id:1 *iteration:1>, #<Iteration id:2 *iteration:"one test">, #<Iteration id:3 *iteration:"Iteration 1">, #<Iteration id:4 *iteration:4>, and #<Iteration id:5 *iteration:5>2652 search: "two week", fields_to_search: [:cadence_title], expected_iterations: lazy { [closed_iteration, started_group_iteration] }2653 behaves like search returns correct items2654 is expected to contain exactly #<Iteration id:1 *iteration:1> and #<Iteration id:2 *iteration:"one test">2655 search: "iteration test", fields_to_search: [:cadence_title], expected_iterations: lazy { [] }2656 behaves like search returns correct items2657 is expected to contain exactly2658 search: "one week", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }2659 behaves like search returns correct items2660 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2661 search: "iteration", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { all_iterations }2662 behaves like search returns correct items2663 is expected to contain exactly #<Iteration id:1 *iteration:1>, #<Iteration id:2 *iteration:"one test">, #<Iteration id:3 *iteration:"Iteration 1">, #<Iteration id:4 *iteration:4>, and #<Iteration id:5 *iteration:5>2664 search: "iteration 1", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }2665 behaves like search returns correct items2666 is expected to contain exactly #<Iteration id:3 *iteration:"Iteration 1">2667 by updated_at2668 returns iterations filtered only by updated_before2669 returns iterations filtered only by updated_after2670 returns iterations filtered by updated_after and updated_before2671 by iteration_wildcard_id2672 returns CURRENT iterations2673 returns CURRENT iteration for the specified cadence2674 by timeframe2675 returns iterations with start_date and due_date between timeframe2676 returns iterations which start before the timeframe2677 returns iterations which end after the timeframe2678 when one of the timeframe params are missing2679 does not filter by timeframe if start_date is missing2680 does not filter by timeframe if end_date is missing2681 sorting2682 sorts correctly by cadence_and_due_date_asc2683 sorts correctly by cadence_and_due_date_desc2684 behaves like sorted by the default order2685 sorts by the default order (due_date, title, id asc)2686 when an unsupported sorting param is provided2687 behaves like sorted by the default order2688 sorts by the default order (due_date, title, id asc)2689 #find_by2690 finds a single iteration2691Elastic::MigrationRecord2692 #save!2693 raises an error if the migrations index is not found2694 sets the migration name2695 sets the started_at2696 does not update started_at on subsequent saves2697 sets completed_at when completed2698 does not set completed_at when not completed2699 #load_from_index2700 does not raise an exception when connection refused2701 does not raise an exception when record does not exist2702 #halt2703 sets state for halted and halted_indexing_unpaused2704 sets state with additional options if passed2705 #fail2706 calls halt with failed: true2707 #started?2708 changes on first save to the index2709 .load_versions2710 loads all records2711 raises an exception if no index present2712 raises an exception when exception is raised2713 has a size constant bigger than the number of migrations2714 #current_migration2715 when there is an unexecuted migration2716 returns the correct migration2717 when there are no uncompleted migrations2718 returns nil2719 #running?2720 started: false, halted: false, completed: false, expected: false2721 returns the expected result2722 started: true, halted: false, completed: false, expected: true2723 returns the expected result2724 started: true, halted: true, completed: false, expected: false2725 returns the expected result2726 started: true, halted: true, completed: true, expected: false2727 returns the expected result2728 started: true, halted: false, completed: true, expected: false2729 returns the expected result2730 #stopped?2731 halted: false, completed: false, expected: false2732 returns the expected result2733 halted: false, completed: true, expected: true2734 returns the expected result2735 halted: true, completed: false, expected: true2736 returns the expected result2737 halted: true, completed: true, expected: true2738 returns the expected result2739 #completed_at2740 when completed_at is stored in the indexed document2741 is expected to eq 2023-07-27 04:38:08.000000000 +00002742 when completed_at is missing from the indexed document2743 is expected to be nil2744 when document is missing from index2745 is expected to be nil2746 #started_at2747 when started_at is stored in the indexed document2748 is expected to eq 2023-07-27 04:38:10.000000000 +00002749 when started_at is missing from the indexed document2750 is expected to be nil2751 when document is missing from index2752 is expected to be nil2753 #load_completed_from_index2754 when completed is missing from the indexed document2755 is expected to be nil2756 when completed exists in the indexed document2757 is expected to eq true2758 #save_state!2759 only modifies the state field2760 only overwrites the state fields provided to the method2761ApplicationSettings::UpdateService2762 #execute2763 common params2764 properly updates settings with given params2765 with valid params2766 returns success params2767 with invalid params2768 returns error params2769 elasticsearch_indexing update2770 index creation2771 when index does not exist2772 creates a new index2773 when migrations index exists2774 does not create the migration index or mark migrations as complete2775 when ES service is not reachable2776 does not throw exception2777 when modifying a non Advanced Search setting2778 does not check index_exists2779 repository_size_limit assignment as Bytes2780 when param present2781 converts from MiB to Bytes2782 when param not present2783 does not update due to invalidity2784 assign nil value2785 elasticsearch2786 limiting namespaces and projects2787 namespaces2788 creates ElasticsearchIndexedNamespace objects when given elasticsearch_namespace_ids2789 deletes ElasticsearchIndexedNamespace objects not in elasticsearch_namespace_ids2790 disregards already existing ElasticsearchIndexedNamespace in elasticsearch_namespace_ids2791 projects2792 creates ElasticsearchIndexedProject objects when given elasticsearch_project_ids2793 deletes ElasticsearchIndexedProject objects not in elasticsearch_project_ids2794 disregards already existing ElasticsearchIndexedProject in elasticsearch_project_ids2795 setting number_of_shards and number_of_replicas2796 accepts hash values2797 accepts legacy (integer) values2798 user cap setting2799 when new user cap is set to nil2800 when changing new user cap to any number2801 does not call ApproveBlockedPendingApprovalUsersWorker2802 when leaving new user cap set to nil2803 does not call ApproveBlockedPendingApprovalUsersWorker2804 when new user cap is set to a number2805 when decreasing new user cap2806 does not call ApproveBlockedPendingApprovalUsersWorker2807 when increasing new user cap2808 calls ApproveBlockedPendingApprovalUsersWorker2809 when changing user cap to nil2810 calls ApproveBlockedPendingApprovalUsersWorker2811MergeRequestWidgetEntity2812 avoids N+1 queries2813 has vulnerability feedback paths2814 has can_read_vulnerability_feedback property2815 has discover project security path2816 has pipeline id2817 test report artifacts2818 json_entry: :browser_performance, artifact_type: :browser_performance, exposures: [:degradation_threshold, :head_path, :base_path]2819 when feature is available2820 with new report artifacts2821 has data entry2822 without artifacts2823 does not have data entry2824 json_entry: :browser_performance, artifact_type: :performance, exposures: [:degradation_threshold, :head_path, :base_path]2825 when feature is available2826 with new report artifacts2827 has data entry2828 without artifacts2829 does not have data entry2830 json_entry: :load_performance, artifact_type: :load_performance, exposures: [:head_path, :base_path]2831 when feature is available2832 with new report artifacts2833 has data entry2834 without artifacts2835 does not have data entry2836 degradation_threshold2837 with browser_performance artifact2838 when head pipeline's browser performance build has the threshold variable defined2839 returns the value of the variable2840 when head pipeline's browser performance build has no threshold variable defined2841 returns nil2842 with performance artifact2843 when head pipeline's browser performance build has the threshold variable defined2844 returns the value of the variable2845 when head pipeline's browser performance build has no threshold variable defined2846 returns nil2847 #license_scanning2848 when report artifact is defined2849 is included2850 #settings_path should not be included for developers2851 when feature is not licensed2852 is not included2853 when user is maintainer2854 #settings_path should be included for maintainers2855 when a report artifact is produced from a forked project2856 is expected to include :license_scanning2857 #can_read_vulnerabilities2858 when security dashboard feature is available2859 is set to true2860 when security dashboard feature is not available2861 is set to false2862 #can_read_vulnerability_feedback2863 when user has permissions to read vulnerability feedback2864 is set to true2865 when user has no permissions to read vulnerability feedback2866 is set to false2867 blocking merge requests2868 feature disabled2869 does not have the blocking_merge_requests member2870 feature enabled2871 shows the blocking merge request if visible2872 hides the blocking merge request if not visible2873 does not count a merged and hidden blocking MR2874Gitlab::Ci::Minutes::CostFactor2875 .new2876 raises errors when initialized with a runner object2877 #enabled?2878 when the cost factor is zero2879 is expected to be falsey2880 when the cost factor is positive2881 is expected to be truthy2882 #disabled?2883 when the cost factor is zero2884 is expected to be truthy2885 when the cost factor is positive2886 is expected to be falsey2887 #for_project2888 runner_type: :project, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02889 is expected to eq 02890 runner_type: :project, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02891 is expected to eq 02892 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02893 is expected to eq 02894 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: 0, instance_limit: 0, result: 02895 is expected to eq 02896 runner_type: :project, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: nil, result: 02897 is expected to eq 02898 runner_type: :group, visibility_level: 0, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02899 is expected to eq 02900 runner_type: :group, visibility_level: 10, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02901 is expected to eq 02902 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: 400, result: 02903 is expected to eq 02904 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: 0, instance_limit: 0, result: 02905 is expected to eq 02906 runner_type: :group, visibility_level: 20, public_cost_factor: 1, private_cost_factor: 1, namespace_limit: nil, instance_limit: nil, result: 02907 is expected to eq 02908 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 02909 is expected to eq 02910 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 02911 is expected to eq 02912 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 02913 is expected to eq 02914 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 02915 is expected to eq 02916 runner_type: :instance, visibility_level: 20, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 02917 is expected to eq 02918 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 22919 is expected to eq 22920 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 22921 is expected to eq 22922 runner_type: :instance, visibility_level: 20, public_cost_factor: 2, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 02923 is expected to eq 02924 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 52925 is expected to eq 52926 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 02927 is expected to eq 02928 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 02929 is expected to eq 02930 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 02931 is expected to eq 02932 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 52933 is expected to eq 52934 runner_type: :instance, visibility_level: 10, public_cost_factor: 0, private_cost_factor: 0, namespace_limit: 400, instance_limit: 0, result: 02935 is expected to eq 02936 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 400, result: 52937 is expected to eq 52938 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: nil, result: 02939 is expected to eq 02940 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: nil, instance_limit: 0, result: 02941 is expected to eq 02942 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 0, instance_limit: 400, result: 02943 is expected to eq 02944 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 5, namespace_limit: 400, instance_limit: 0, result: 52945 is expected to eq 52946 runner_type: :instance, visibility_level: 0, public_cost_factor: 0, private_cost_factor: 0, namespace_limit: 400, instance_limit: 0, result: 02947 is expected to eq 02948 when plan based cost factor2949 when project has an Open Source plan2950 when the project is private2951 returns the runner private cost factor2952 when the project is public2953 when the public open source cost factor is lower2954 is expected to eq 0.52955 when the runner cost factor is lower2956 is expected to eq 0.4992957 when project does not have an Open Source plan2958 when the project is private2959 returns the private cost factor2960 when the project is public2961 returns the runner public cost factor2962 when project is forked2963 when the project is public2964 when the fork_source project is private2965 returns the runner public cost factor2966 when the fork_source project is public2967 when the forked source cost factor is lower2968 when the plan is open source2969 is expected to eq 0.0082970 when the plan is not open source2971 is expected to eq 22972 when the runner cost factor is lower2973 is expected to eq 0.0072974 when the project is private2975 is expected to eq 42976Resolvers::ProjectIssuesResolver2977 # order random2978 with a project2979 #resolve2980 sorting2981 when sorting by weight2982 sorts issues ascending2983 sorts issues descending2984 when sorting by published2985 sorts issues ascending2986 sorts issues descending2987 when sorting by sla due at2988 sorts issues ascending2989 sorts issues descending2990 when sorting by blocking issues count (ties broken by id in desc order)2991 sorts issues ascending2992 sorts issues descending2993 when sorting by health status2994 sorts issues ascending2995 sorts issues descending2996 filtering by iteration2997 returns issues with iteration using raw id2998 returns issues with iteration using global id2999 returns issues with list iterations using global id3000 returns issues with list iterations using a mix3001 filtering by iteration wildcard3002 returns issues with current iteration3003 returns issues with any iteration3004 returns issues with no iteration3005 generates mutually exclusive filter error when wildcard and list are provided3006 filter by epic3007 returns issues without epic when epic_id is "none"3008 returns issues with any epic when epic_id is "any"3009 returns issues with any epic when epic_id is specific3010 includes issues associated with subepics when specified3011 filter by weight3012 when filtering by any weight3013 only returns issues that have a weight assigned3014 when filtering by no weight3015 only returns issues that have no weight assigned3016 when filtering by specific weight3017 only returns issues that have the specified weight assigned3018 filter by health status3019 when filtering by specific health status3020 only returns issues that have the specified health status assigned3021 when filtering by any health status3022 is expected to contain exactly #<Issue id:10 group146/project-1473#1>, #<Issue id:12 group146/project-1473#3>, and #<Issue id:13 group146/project-1473#4>3023 when filtering by no health status3024 is expected to contain exactly #<Issue id:11 group146/project-1473#2>3025 when health_status and health_status_filter arguments are both given3026 overwrites health_status with value of health_status_filter3027 filtering by negated params3028 filter by negated epic3029 returns issues without the specified epic_id3030 filtering by negated weight3031 only returns issues that do not have the specified weight assigned3032 filtering by negated iteration3033 returns issues without iteration using RAW id3034 works with global IDs3035 generates a mutually exclusive filter error when wildcard and list are provided3036 filtering by negated iteration wildcard3037 returns issues not in the current iteration3038 filtering by negated health_status3039 only returns issues that do not have the specified health_status assigned3040EE::Gitlab::Scim::Group::ProvisioningService3041 # order random3042 #execute3043 creates the SCIM identity3044 creates the SAML identity3045 when valid params3046 creates the user3047 creates the group member3048 creates the correct user attributes3049 user record requires confirmation3050 behaves like success response3051 contains a success status3052 contains an identity in the response3053 when access level is given for created group member3054 sets the access level of the member as specified in saml_provider3055 when the current minimum password length is different from the default minimum password length3056 creates the user3057 when a verified pages domain matches the user email domain3058 creates a confirmed user3059 when a provisioning error occurs3060 logs error to standard error3061 when invalid params3062 fails with error3063 fails with missing params3064 for an existing user3065 when user is not a group member3066 creates the group member3067 behaves like existing user3068 does not create a new user3069 creates the SCIM identity3070 does not create the SAML identity3071 behaves like success response3072 contains a success status3073 contains an identity in the response3074 with enforced SSO3075 does not create the group member3076 does not create the SAML identity3077 does not create the SCIM identity3078 when user is an existing group member3079 does not create the group member3080 behaves like existing user3081 does not create a new user3082 creates the SCIM identity3083 does not create the SAML identity3084 behaves like success response3085 contains a success status3086 contains an identity in the response3087 when invalid identity3088 does not return nil result3089 returns error response3090 when error in create identity3091 returns provision response error3092BackfillArchivedOnMergeRequests3093 # order random3094 migration_options3095 has migration options set3096 .migrate3097 when migration is already completed3098 does not modify data3099 migration process3100 updates all documents3101 only updates documents missing a field3102 processes in batches3103 .completed?3104 when documents are missing field3105 is expected not to be completed3106 when no documents are missing field3107 is expected to be completed3108SearchHelper3109 #search_filter_input_options3110 with multiple issue assignees feature3111 allows multiple assignees in project context3112 allows multiple assignees in group context3113 allows multiple assignees in dashboard context3114 without multiple issue assignees feature3115 does not allow multiple assignees in project context3116 does not allow multiple assignees in group context3117 allows multiple assignees in dashboard context3118 iterations-endpoint3119 when iterations are available3120 includes iteration endpoint in project context3121 includes iteration endpoint in group context3122 does not include iterations endpoint for projects under a namespace3123 does not include iterations endpoint in dashboard context3124 when iterations are not available3125 does not include iterations endpoint in project context3126 does not include iterations endpoint in group context3127 search_autocomplete_opts3128 with a user3129 includes the users recently viewed epics3130 with the filter parameter is present3131 filter is set to search3132 filter is set to generic3133 #search_entries_info_template3134 when all requirements are met3135 returns a custom message3136 when not in Gitlab.com3137 behaves like returns old message3138 is expected to eq "Showing %{count} %{scope} for %{term_element}"3139 when elastic search is not enabled3140 behaves like returns old message3141 is expected to eq "Showing %{count} %{scope} for %{term_element}"3142 when no user is present3143 behaves like returns old message3144 is expected to eq "Showing %{count} %{scope} for %{term_element}"3145 when not searching for snippets3146 behaves like returns old message3147 is expected to eq "Showing %{count} %{scope} for %{term_element}"3148 #highlight_and_truncate_issuable3149 when description is not present3150 does nothing3151 when description present3152 description: "test", search_highlight: {1=>{:description=>["gitlabelasticsearch→test←gitlabelasticsearch"]}}, expected: "<span class='gl-text-gray-900 gl-font-weight-bold'>test</span>"3153 sanitizes, truncates, and highlights the search term3154 description: "<span style=\"color: blue;\">this test should not be blue</span>", search_highlight: {1=>{:description=>["<span style=\"color: blue;\">this gitlabelasticsearch→test←gitlabelasticsearch should not be blue</span>"]}}, expected: "this <span class='gl-text-gray-900 gl-font-weight-bold'>test</span> should not be blue"3155 sanitizes, truncates, and highlights the search term3156 description: "<a href=\"#\" onclick=\"alert('XSS')\">Click Me test</a>", search_highlight: {1=>{:description=>["<a href=\"#\" onclick=\"alert('XSS')\">Click Me gitlabelasticsearch→test←gitlabelasticsearch</a>"]}}, expected: "<a href='#'>Click Me <span class='gl-text-gray-900 gl-font-weight-bold'>test</span></a>"3157 sanitizes, truncates, and highlights the search term3158 description: "<script type=\"text/javascript\">alert('Another XSS');</script> test", search_highlight: {1=>{:description=>["<script type=\"text/javascript\">alert('Another XSS');</script> gitlabelasticsearch→test←gitlabelasticsearch"]}}, expected: "alert('Another XSS'); <span class='gl-text-gray-900 gl-font-weight-bold'>test</span>"3159 sanitizes, truncates, and highlights the search term3160 description: "Lorem test ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec.", search_highlight: {1=>{:description=>["Lorem gitlabelasticsearch→test←gitlabelasticsearch ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec."]}}, expected: "Lorem <span class='gl-text-gray-900 gl-font-weight-bold'>test</span> ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Don..."3161 sanitizes, truncates, and highlights the search term3162 description: "<img src=\"https://random.foo.com/test.png\" width=\"128\" height=\"128\" />some image", search_highlight: {1=>{:description=>["<img src=\"https://random.foo.com/gitlabelasticsearch→test←gitlabelasticsearch.png\" width=\"128\" height=\"128\" />some image"]}}, expected: "some image"3163 sanitizes, truncates, and highlights the search term3164 description: "<h2 data-sourcepos=\"11:1-11:26\" dir=\"auto\"><a id=\"user-content-additional-information\" class=\"anchor\" href=\"#additional-information\" aria-hidden=\"true\"></a>Additional information test:</h2><textarea data-update-url=\"/freepascal.org/fpc/source/-/issues/6163.json\" dir=\"auto\" data-testid=\"textarea\" class=\"hidden js-task-list-field\"></textarea>", search_highlight: {1=>{:description=>["<h2 data-sourcepos=\"11:1-11:26\" dir=\"auto\"><a id=\"user-content-additional-information\" class=\"anchor\" href=\"#additional-information\" aria-hidden=\"true\"></a>Additional information gitlabelasticsearch→test←gitlabelasticsearch:</h2><textarea data-update-url=\"/freepascal.org/fpc/source/-/issues/6163.json\" dir=\"auto\" data-testid=\"textarea\" class=\"hidden js-task-list-field\"></textarea>"]}}, expected: "<a class='anchor' href='#additional-information'></a>Additional information <span class='gl-text-gray-900 gl-font-weight-bold'>test</span>:"3165 sanitizes, truncates, and highlights the search term3166 #search_sort_options_json3167 with advanced search enabled3168 returns the correct data3169 with basic search enabled3170 returns the correct data3171 .search_navigation_json3172 when all options enabled3173 returns items in order3174 .search_filter_link_json3175 with data3176 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "projects"3177 converts correctly3178 scope: "snippet_titles", label: "Snippets", data: nil, search: {:snippets=>"test"}, active_scope: "code"3179 converts correctly3180 scope: "projects", label: "Projects", data: {:qa_selector=>"projects_tab"}, search: nil, active_scope: "issue"3181 converts correctly3182 scope: "snippet_titles", label: "Snippets", data: nil, search: {:snippets=>"test"}, active_scope: "snippet_titles"3183 converts correctly3184 #wiki_blob_link3185 is expected to eq "/groups/group188/-/wikis/test"3186Gitlab::ImportExport::Group::TreeSaver3187 saves the group tree into a json object3188 saves successfully3189 saves the milestone data when there are boards with predefined milestones3190 saves the milestone data when there are boards with persisted milestones3191 epics relation3192 saves top level epics3193 saves parent of epic3194 saves epic notes3195 saves epic events3196 saves epic's note events3197 saves epic's award emojis3198 saves epic's note award emojis3199 saves epic labels3200 saves resource state events3201 with inaccessible resources3202 filters out inaccessible epic parent3203 filters out inaccessible epic notes3204 boards relation3205 saves top level boards3206 saves board assignee3207 saves board labels3208 saves board lists3209 iteration cadences relation3210 saves iteration cadences with iterations3211ElasticNamespaceIndexerWorker3212 when ES is disabled3213 returns true3214 when ES is enabled3215 returns true if limited indexing is not enabled3216 indexing and deleting3217 indexes all projects belonging to the namespace3218 calls Elastic::ProcessBookkeepingService.maintain_indexed_group_associations! for group namespaces3219 does not call maintain_indexed_group_associations! for non-group namespaces3220 deletes all projects belonging to the namespace3221 does not enqueue Search::ElasticGroupAssociationDeletionWorker3222 when namespace is group3223 indexes all group wikis belonging to the namespace3224 deletes all group wikis belonging to the namespace3225 when the namespace is a group3226 enqueues GroupAssociationDeletionWorker for the group and its descendents but not for other groups3227 enqueues Search::ElasticGroupAssociationDeletionWorker for group namespaces and its descendents3228Geo::DesignRepositorySyncService3229 behaves like geo base sync execution3230 #execute3231 when can acquire exclusive lease3232 executes the synchronization3233 when exclusive lease is not acquired3234 is does not execute synchronization3235 behaves like geo base sync fetch3236 #sync_repository3237 tells registry that sync will start now3238 #fetch_repository3239 syncs the HEAD ref3240 with existing repository3241 fetches repository from geo node3242 with a never synced repository3243 clones repository from geo node3244 #execute3245 returns the lease when succeed3246 returns the lease when sync fail3247 does not fetch project repository if cannot obtain a lease3248 voids the failure message when it succeeds after an error3249 execute repository cache expiration3250 with existing repository3251 fetches project repository with JWT credentials3252 rescues when Gitlab::Shell::Error is raised3253 rescues exception when Gitlab::Git::Repository::NoRepository is raised3254 increases retry count when Gitlab::Git::Repository::NoRepository is raised3255 marks sync as successful if no repository found3256 marks resync as true after a failure3257 with a never synced repository3258 clones project repository with JWT credentials3259 #expire_repository_caches3260 expires repository caches3261 race condition when RepositoryUpdatedEvent was processed during a sync3262 reschedules the sync3263Epics::EpicLinks::DestroyService3264 #execute3265 when epics feature is disabled3266 returns an error3267 no relationship is created3268 does not create system notes3269 when epics feature is enabled3270 when the user has no permissions to remove epic relation3271 returns an error3272 no relationship is created3273 does not create system notes3274 when user has permissions to remove epic relation3275 when the child epic is nil3276 returns an error3277 no relationship is created3278 does not create system notes3279 when a correct reference is given3280 removes epic relationship3281 returns success status3282 creates system notes3283 when epic has no parent3284 returns an error3285 no relationship is created3286 does not create system notes3287RequirementsManagement::TestReport3288 associations3289 is expected to belong to author class_name => User required: false3290 is expected to belong to requirement_issue required: false3291 is expected to belong to build required: false3292 validations3293 is expected to validate that :state cannot be empty/falsy3294 is expected to validate that :requirement_issue cannot be empty/falsy3295 requirements associations3296 when only requirement issue is set3297 behaves like a model with a requirement issue association3298 requirement issue association3299 when the requirement issue is of type requirement3300 is expected to be valid3301 when requirement issue is not of requirement type3302 is expected to include /must be a `requirement`/3303 when requirement issue is invalid but the type field is not dirty3304 is expected to be valid3305 is expected to be valid3306 when requirement_issue is not of type requirement3307 is expected to include /must be a `requirement`/3308 scopes3309 .for_user_build3310 returns only test reports matching build's user and pipeline3311 .with_build3312 returns only test reports which reference a CI build3313 .without_build3314 returns only test reports which do not refer any CI build3315 .persist_requirement_reports3316 if the CI report contains no entries3317 does not create any test reports3318 if the CI report contains some entries3319 and the entries are valid3320 and legacy is false3321 creates test report with expected status for each open requirement3322 when all_passed? in ci_report3323 creates test report with expected status for each open requirement3324 when legacy is true3325 creates test report with expected status for each open requirement3326 and the entries are not valid3327 does not create any test reports3328 .build_report3329 behaves like builds the expected reports3330 when build is passed as argument3331 builds test report with correct attributes3332 when build is not passed as argument3333 builds test report with correct attributes3334 when legacy is true3335 behaves like builds the expected reports3336 when build is passed as argument3337 builds test report with correct attributes3338 when build is not passed as argument3339 builds test report with correct attributes3340 when state param is invalid3341 when state is nil3342 test report is not valid3343 when state is a non-nil invalid value3344 raises ArgumentError3345 behaves like cleanup by a loose foreign key3346 cleans up (delete or nullify) the model3347AddHashedRootNamespaceIdToCommits3348 # order random3349 .completed?3350 mapping has been updated3351 is expected to be completed3352 mapping has not been updated3353 is expected not to be completed3354 .migrate3355 when migration is already completed3356 does not modify data3357 migration process3358 updates the issues index mappings3359Mutations::DastOnDemandScans::Create3360 is expected to require graphql authorizations :create_on_demand_dast_scan3361 #resolve3362 when on demand scan feature is enabled3363 when the project does not exist3364 raises an exception3365 when the user can run a dast scan3366 returns a pipeline_url containing the correct path3367 when the dast_site_profile does not exist3368 raises an exception3369 when dast_scanner_profile_id is provided3370 has no errors3371 passes additional arguments to the underlying service object3372 when scan_type=active3373 when target is not validated3374 communicates failure3375 when target is validated3376 has no errors3377Gitlab::WebHooks::RateLimiter3378 LIMIT_MAP3379 contains all paid plans3380 #rate_limit!3381 when there is no GitLab subscription3382 can never be rate-limited3383 when there are no reasons preventing the rate limit3384 can be rate limited3385 integration-style test of limits3386 hook: project_hook_with_premium_plan, seats: 99, rate_limit_name: :web_hook_calls_low, limit: 13387 rate limits correctly3388 hook: project_hook_with_premium_plan, seats: 100, rate_limit_name: :web_hook_calls_mid, limit: 23389 rate limits correctly3390 hook: project_hook_with_premium_plan, seats: 399, rate_limit_name: :web_hook_calls_mid, limit: 23391 rate limits correctly3392 hook: project_hook_with_premium_plan, seats: 400, rate_limit_name: :web_hook_calls, limit: 33393 rate limits correctly3394 hook: project_hook_with_ultimate_plan, seats: 999, rate_limit_name: :web_hook_calls_low, limit: 43395 rate limits correctly3396 hook: project_hook_with_ultimate_plan, seats: 1000, rate_limit_name: :web_hook_calls_mid, limit: 53397 rate limits correctly3398 hook: project_hook_with_ultimate_plan, seats: 4999, rate_limit_name: :web_hook_calls_mid, limit: 53399 rate limits correctly3400 hook: project_hook_with_ultimate_plan, seats: 5000, rate_limit_name: :web_hook_calls, limit: 63401 rate limits correctly3402 hook: group_hook_with_opensource_plan, seats: 999, rate_limit_name: :web_hook_calls_low, limit: 73403 rate limits correctly3404 hook: group_hook_with_opensource_plan, seats: 1000, rate_limit_name: :web_hook_calls_mid, limit: 83405 rate limits correctly3406 hook: group_hook_with_opensource_plan, seats: 4999, rate_limit_name: :web_hook_calls_mid, limit: 83407 rate limits correctly3408 hook: group_hook_with_opensource_plan, seats: 5000, rate_limit_name: :web_hook_calls, limit: 93409 rate limits correctly3410 hook: group_hook_with_bronze_plan, seats: 99, rate_limit_name: :web_hook_calls_low, limit: 93411 rate limits correctly3412 hook: group_hook_with_bronze_plan, seats: 100, rate_limit_name: :web_hook_calls_mid, limit: 83413 rate limits correctly3414 hook: group_hook_with_bronze_plan, seats: 399, rate_limit_name: :web_hook_calls_mid, limit: 83415 rate limits correctly3416 hook: group_hook_with_bronze_plan, seats: 400, rate_limit_name: :web_hook_calls, limit: 73417 rate limits correctly3418 hook: group_hook_with_silver_plan, seats: 99, rate_limit_name: :web_hook_calls_low, limit: 63419 rate limits correctly3420 hook: group_hook_with_silver_plan, seats: 100, rate_limit_name: :web_hook_calls_mid, limit: 53421 rate limits correctly3422 hook: group_hook_with_silver_plan, seats: 399, rate_limit_name: :web_hook_calls_mid, limit: 53423 rate limits correctly3424 hook: group_hook_with_silver_plan, seats: 400, rate_limit_name: :web_hook_calls, limit: 43425 rate limits correctly3426 hook: group_hook_with_gold_plan, seats: 999, rate_limit_name: :web_hook_calls_low, limit: 33427 rate limits correctly3428 hook: group_hook_with_gold_plan, seats: 1000, rate_limit_name: :web_hook_calls_mid, limit: 23429 rate limits correctly3430 hook: group_hook_with_gold_plan, seats: 4999, rate_limit_name: :web_hook_calls_mid, limit: 23431 rate limits correctly3432 hook: group_hook_with_gold_plan, seats: 5000, rate_limit_name: :web_hook_calls, limit: 13433 rate limits correctly3434 hook: group_hook_with_premium_trial_plan, seats: 99, rate_limit_name: :web_hook_calls_low, limit: 13435 rate limits correctly3436 hook: group_hook_with_premium_trial_plan, seats: 100, rate_limit_name: :web_hook_calls_mid, limit: 33437 rate limits correctly3438 hook: group_hook_with_premium_trial_plan, seats: 399, rate_limit_name: :web_hook_calls_mid, limit: 33439 rate limits correctly3440 hook: group_hook_with_premium_trial_plan, seats: 400, rate_limit_name: :web_hook_calls, limit: 23441 rate limits correctly3442 hook: group_hook_with_ultimate_trial_plan, seats: 999, rate_limit_name: :web_hook_calls_low, limit: 23443 rate limits correctly3444 hook: group_hook_with_ultimate_trial_plan, seats: 1000, rate_limit_name: :web_hook_calls_mid, limit: 13445 rate limits correctly3446 hook: group_hook_with_ultimate_trial_plan, seats: 4999, rate_limit_name: :web_hook_calls_mid, limit: 13447 rate limits correctly3448 hook: group_hook_with_ultimate_trial_plan, seats: 5000, rate_limit_name: :web_hook_calls, limit: 33449 rate limits correctly3450AddArchivedToIssues3451 # order random3452 .migrate3453 when migration is already completed3454 does not modify data3455 migration process3456 updates the issues index mappings3457 .completed?3458 mapping has been updated3459 is expected to be completed3460 mapping has not been updated3461 is expected not to be completed3462DastSiteProfilesFinder3463 #execute3464 returns all dast_site_profiles3465 eager loads the dast_site association3466 eager loads the dast_site_validation association3467 filtering by id3468 returns a single dast_site_profile3469 filtering by name3470 returns a single dast_site_profile3471 filtering by names3472 returns a single dast_site_profile3473 when the dast_site_profile1 does not exist3474 returns an empty relation3475Elastic::ProjectTransferWorker3476 is labeled as idempotent3477 performs multiple times sequentially without raising an exception3478 #perform3479 when elasticsearch_limit_indexing is on3480 when transferring from a non-existent namespace to an indexed namespace3481 invalidates cache when an namespace is not found3482 when transferring from a non-indexed namespace to an indexed namespace3483 invalidates the cache and indexes the project and all associated data3484 when transferring between an indexed namespace to a non-indexed namespace3485 invalidates the cache and removes the project from the index3486 when both namespaces are indexed3487 does not invalidate the cache and indexes the project and associated data3488 when elasticsearch_limit_indexing is off3489 does not invalidate the cache and indexes the project and all associated data3490VulnerabilityFeedback::DestroyService#execute3491 when feedback_type is dismissal3492 when the user is authorized3493 when the `revert_vulnerability_state` argument is set as true3494 when the finding is not associated with a vulnerability3495 destroys the feedback3496 when the finding is associated with a vulnerability3497 changes the state of the vulnerability to `detected`3498 when the `revert_vulnerability_state` argument is set as false3499 when the finding is not associated with a vulnerability3500 destroys the feedback3501 when the finding is associated with a vulnerability3502 does not change the state of the vulnerability to `detected`3503 when user is not authorized3504 raise error if permission is denied3505 when feedback_type is issue3506 raise error as this type of feedback can not be destroyed3507 when feedback_type is merge_request3508 raise error as this type of feedback can not be destroyed3509Gitlab::AlertManagement::Payload::Prometheus3510 # order random3511 attributes3512 with multiple HTTP integrations feature available3513 with defined custom mapping3514 #title3515 is expected to eq "mapped title"3516 #description3517 is expected to eq "mapped description"3518 #starts_at3519 is expected to eq 2023-07-22 04:43:16.000000000 +00003520 #ends_at3521 is expected to eq 2023-07-23 04:43:16.000000000 +00003522 #service3523 is expected to eq "mapped service"3524 #monitoring_tool3525 is expected to eq "mapped monitoring tool"3526 #host3527 is expected to eq ["mapped-host"]3528 #severity3529 is expected to eq :high3530 #environment_name3531 is expected to eq "staging"3532 #gitlab_fingerprint3533 is expected to eq "72f50630d84fe9d345da6df011389f207240e8f2"3534 #source3535 is expected to eq "mapped monitoring tool"3536 with only some attributes defined in custom mapping3537 #title3538 uses the value defined by the custom mapping3539 #description3540 falls back to the default value3541 when the payload has is missing default attributes3542 #title3543 is expected to eq "mapped title"3544 #description3545 is expected to eq "mapped description"3546 with inactive HTTP integration3547 behaves like parsing alert payload fields with default paths3548 #title3549 is expected to eq "default title"3550 #description3551 is expected to eq "default description"3552 #starts_at3553 is expected to eq 2023-07-17 04:43:16.000000000 +00003554 #ends_at3555 is expected to eq 2023-07-18 04:43:16.000000000 +00003556 #monitoring_tool3557 is expected to eq "Prometheus"3558 #severity3559 is expected to eq :low3560 #environment_name3561 is expected to eq "production"3562 #gitlab_fingerprint3563 is expected to eq "83386acf7da10ec712ead7fe0df0958c00119071"3564 #source3565 is expected to eq "DataDog"3566 with blank custom mapping3567 behaves like parsing alert payload fields with default paths3568 #title3569 is expected to eq "default title"3570 #description3571 is expected to eq "default description"3572 #starts_at3573 is expected to eq 2023-07-17 04:43:16.000000000 +00003574 #ends_at3575 is expected to eq 2023-07-18 04:43:16.000000000 +00003576 #monitoring_tool3577 is expected to eq "Prometheus"3578 #severity3579 is expected to eq :low3580 #environment_name3581 is expected to eq "production"3582 #gitlab_fingerprint3583 is expected to eq "83386acf7da10ec712ead7fe0df0958c00119071"3584 #source3585 is expected to eq "DataDog"3586 with multiple HTTP integrations feature unavailable3587 behaves like parsing alert payload fields with default paths3588 #title3589 is expected to eq "default title"3590 #description3591 is expected to eq "default description"3592 #starts_at3593 is expected to eq 2023-07-17 04:43:16.000000000 +00003594 #ends_at3595 is expected to eq 2023-07-18 04:43:16.000000000 +00003596 #monitoring_tool3597 is expected to eq "Prometheus"3598 #severity3599 is expected to eq :low3600 #environment_name3601 is expected to eq "production"3602 #gitlab_fingerprint3603 is expected to eq "83386acf7da10ec712ead7fe0df0958c00119071"3604 #source3605 is expected to eq "Prometheus"3606AddArchivedToCommits3607 # order random3608 .completed?3609 mapping has been updated3610 is expected to be completed3611 mapping has not been updated3612 is expected not to be completed3613 .migrate3614 when migration is already completed3615 does not modify data3616 migration process3617 updates the issues index mappings3618Geo::GroupWikiRepositoryRegistry3619 factory is valid3620 obligatory fields check3621 has expected fields or methods3622 scopes3623 sync_timed_out3624 return correct records3625 not_pending3626 returns registries that are not pending3627 finders3628 .find_registries_never_attempted_sync3629 returns unsynced items3630 returns items that never have an attempt to sync except some specific item ID3631 .find_registries_needs_sync_again3632 returns failed items3633 returns failed items except some specific item ID3634 orders records according to retry_at3635 .fail_sync_timeouts3636 marks started records as failed if they are expired3637 bulk_mark_pending_one_batch!3638 marks registries as never attempted to sync3639 #failed!3640 sets last_sync_failure with message3641 truncates a long last_sync_failure3642 increments retry_count3643 sets retry_at to a time in the future3644 when an error is given3645 includes error.message in last_sync_failure3646 when missing_on_primary is not given3647 caps retry_at to default 1 hour3648 when missing_on_primary is falsey3649 caps retry_at to default 1 hour3650 when missing_on_primary is truthy3651 caps retry_at to 4 hours3652 #synced!3653 mark as synced3654 when a sync was scheduled after the last sync finishes3655 does not reset state3656 resets the other sync state fields3657 #pending!3658 when a sync is currently running3659 successfully moves state to pending3660 when the registry has recorded a failure3661 clears failure retry fields3662Boards::Lists::CreateService3663 #execute3664 when assignee_id param is sent3665 creates a new assignee list3666 when milestone_id param is sent3667 creates a milestone list when param is valid3668 when iteration_id param is sent3669 creates an iteration list when param is valid3670 returns an error when license is unavailable3671 when iteration is from another group3672 returns an error3673 max limits3674 #create_list_attributes3675 behaves like attribute provider for list creation3676 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3677 contains the expected max limits3678 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3679 contains the expected max limits3680 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3681 contains the expected max limits3682 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3683 contains the expected max limits3684 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3685 contains the expected max limits3686 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3687 contains the expected max limits3688 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3689 contains the expected max limits3690 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3691 contains the expected max limits3692 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil3693 contains the expected max limits3694 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3695 contains the expected max limits3696 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3697 contains the expected max limits3698 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3699 contains the expected max limits3700 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"3701 contains the expected max limits3702 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"3703 contains the expected max limits3704 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"3705 contains the expected max limits3706 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""3707 contains the expected max limits3708 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3709 contains the expected max limits3710 behaves like attribute provider for list creation3711 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3712 contains the expected max limits3713 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3714 contains the expected max limits3715 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3716 contains the expected max limits3717 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3718 contains the expected max limits3719 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3720 contains the expected max limits3721 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3722 contains the expected max limits3723 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3724 contains the expected max limits3725 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3726 contains the expected max limits3727 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil3728 contains the expected max limits3729 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil3730 contains the expected max limits3731 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil3732 contains the expected max limits3733 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3734 contains the expected max limits3735 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"3736 contains the expected max limits3737 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"3738 contains the expected max limits3739 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"3740 contains the expected max limits3741 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""3742 contains the expected max limits3743 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil3744 contains the expected max limits3745Boards::Lists::ListService3746 #execute3747 when board parent is a project3748 behaves like list service for board with assignee lists3749 when the feature is enabled3750 returns all lists3751 when the feature is disabled3752 filters out assignee lists that might have been created while subscribed3753 behaves like list service for board with milestone lists3754 when the feature is enabled3755 returns all lists3756 when the feature is disabled3757 filters out assignee lists that might have been created while subscribed3758 behaves like list service for board with iteration lists3759 when the feature is enabled3760 returns all lists3761 when feature is disabled3762 filters out iteration lists that might have been created while subscribed3763 when board parent is a group3764 behaves like list service for board with assignee lists3765 when the feature is enabled3766 returns all lists3767 when the feature is disabled3768 filters out assignee lists that might have been created while subscribed3769 behaves like list service for board with milestone lists3770 when the feature is enabled3771 returns all lists3772 when the feature is disabled3773 filters out assignee lists that might have been created while subscribed3774 behaves like list service for board with iteration lists3775 when the feature is enabled3776 returns all lists3777 when feature is disabled3778 filters out iteration lists that might have been created while subscribed3779MilestoneRelease3780 validations3781 when it is a project milestone3782 when milestone and release have the same project3783 is expected to be valid3784 when milestone and release do not have the same project3785 is expected not to be valid3786 when it is a group milestone3787 when group and release have the same project3788 when it is licenced3789 is expected to be valid3790 when it is not licensed3791 is expected not to be valid3792 when milestone and group do not have the same project3793 is expected not to be valid3794 when it is licenced3795 is expected not to be valid3796 when it is a supergroup milestone3797 is expected not to be valid3798 when it is licenced3799 is expected not to be valid3800Sidebars::Groups::Menus::SecurityComplianceMenu3801 #link3802 when menu has menu items3803 returns first visible menu item link3804 when menu does no have any menu item3805 returns show group security page3806 #title3807 is expected to eq "Security and Compliance"3808 when menu does not have any menu items3809 is expected to eq "Security"3810 #render?3811 returns true if there are menu items3812 when there are no menu items3813 returns false if there are no menu items3814 when show group discover security option is enabled3815 is expected to equal true3816 Menu Items3817 Security Dashboard3818 when security_dashboard feature is enabled3819 is expected not to be nil3820 when security_dashboard feature is not enabled3821 is expected to be nil3822 Vulnerability Report3823 when security_dashboard feature is enabled3824 is expected not to be nil3825 when security_dashboard feature is not enabled3826 is expected to be nil3827 Compliance3828 when group_level_compliance_dashboard feature is enabled3829 behaves like menu access rights3830 is expected not to be nil3831 when the user does not have access3832 is expected to be nil3833 when group_level_compliance_dashboard feature is not enabled3834 is expected to be nil3835 Credentials3836 when credentials_inventory feature is enabled3837 when group magement is not enforced3838 is expected to be nil3839 when group magement is enforced3840 behaves like menu access rights3841 is expected not to be nil3842 when the user does not have access3843 is expected to be nil3844 when credentials_inventory feature is not enabled3845 is expected to be nil3846 Security Policies3847 when scan_policies feature is enabled3848 when group security policies feature is disabled3849 behaves like menu access rights3850 is expected not to be nil3851 when the user does not have access3852 is expected to be nil3853 when scan_policies feature is not enabled3854 is expected to be nil3855 Audit Events3856 when audit_events feature is enabled3857 behaves like menu access rights3858 is expected not to be nil3859 when the user does not have access3860 is expected to be nil3861 when audit_events feature is not enabled3862 is expected to be nil3863 Dependency List3864 is expected to be nil3865 when security_dashboard feature is enabled3866 is expected to be nil3867 with group_level_dependencies feature flag enabled3868 is expected not to be nil3869Security::DependencyListService3870 #execute3871 without params3872 returns array of dependencies3873 is sorted by names by default3874 with params3875 filtered by package_managers3876 with matching package manager3877 package_manager: "bundler"3878 returns filtered items3879 package_manager: "yarn"3880 returns filtered items3881 package_manager: "npm"3882 returns filtered items3883 package_manager: "pnpm"3884 returns filtered items3885 package_manager: "maven"3886 returns filtered items3887 package_manager: "composer"3888 returns filtered items3889 package_manager: "pip"3890 returns filtered items3891 package_manager: "conan"3892 returns filtered items3893 package_manager: "go"3894 returns filtered items3895 package_manager: "nuget"3896 returns filtered items3897 package_manager: "sbt"3898 returns filtered items3899 package_manager: "gradle"3900 returns filtered items3901 package_manager: "pipenv"3902 returns filtered items3903 package_manager: "setuptools"3904 returns filtered items3905 with all package managers3906 returns all items3907 with invalid package manager3908 returns nothing3909 filtered by vulnerable3910 returns filtered items3911 sorted desc by packagers3912 returns array of data properly sorted3913 sorted asc by packagers3914 returns array of data properly sorted3915 sorted desc by names3916 returns array of data properly sorted3917 sorted by severity3918 in descending order3919 returns array of data sorted by package severity level in descending order3920 in ascending order3921 returns array of data sorted by package severity level in ascending order3922GroupWikiRepository3923 associations3924 is expected to belong to shard required: false3925 is expected to belong to group required: false3926 validations3927 is expected to validate that :shard cannot be empty/falsy3928 is expected to validate that :group cannot be empty/falsy3929 is expected to validate that :disk_path cannot be empty/falsy3930 uniqueness3931 is expected to validate that :group is case-sensitively unique3932 is expected to validate that :disk_path is case-sensitively unique3933 Geo Replication3934 with root group and subgroup wikis3935 #in_replicables_for_current_secondary?3936 all returns true if all are replicated3937 with selective sync by namespace3938 returns true for groups3939 returns true for subgroups3940 with selective sync by shard3941 returns true for groups in the shard3942 returns false for group wiki repositories not in an included shard3943 #replicables_for_current_secondary3944 returns all group wiki repositories without selective sync3945 returns nothing if an unrecognised selective sync type is used3946 with selective sync by namespace3947 returns group wiki repositories that belong to the namespaces and descendants3948 returns group wiki repositories that belong to the namespace3949 with selective sync by shard3950 returns group wiki repositories that belong to the shards3951Gitlab::Pages::DeploymentUpdate3952 maximum pages artifacts size3953 when size is below the limit3954 is valid3955 when size is above the limit3956 is invalid3957 when pages_size_limit feature is not available3958 when size is below the limit3959 is valid3960 when size is above the limit3961 is invalid3962AppSec::Dast::Sites::FindOrCreateService3963 #execute!3964 when a user does not have access to the project3965 raises an exception3966 when the user can run a dast scan3967 returns a dast_site3968 creates a dast_site3969 when the dast_site already exists3970 returns the existing dast_site3971 does not create a new dast_site3972 when the record is invalid3973 raises an exception3974 when on demand scan licensed feature is not available3975 raises an exception3976Geo::ProjectRegistryFinder3977 #find_registries_never_attempted_sync3978 returns registries for projects that have never have an attempt to sync3979 excludes except_ids3980 #find_registries_needs_sync_again3981 with geo_project_wiki_repository_replication feature flag disabled3982 returns registries for dirty projects and/or wiki or that have failed to sync3983 excludes except_ids3984 with geo_project_wiki_repository_replication feature flag enabled3985 returns registries for dirty projects or that have failed to sync3986 excludes except_ids3987 #find_project_ids_pending_verification3988 with geo_project_wiki_repository_replication feature flag disabled3989 returns project IDs where repository and/or wiki is pending verification3990 excludes registries where repository and wiki is missing on primary3991 excludes registries where repository and wiki has not been verified on primary3992 excludes except_ids3993 with geo_project_wiki_repository_replication feature flag enabled3994 returns project IDs where repository is pending verification3995 excludes registries where repository is missing on primary3996 excludes registries where repository has not been verified on primary3997 excludes except_ids3998PostReceive3999 #process_project_changes4000 after project changes hooks4001 with geo_project_repository_replication feature flag disabled4002 calls Geo::RepositoryUpdatedService when running on a Geo primary site4003 does not call Geo::RepositoryUpdatedService when running on a Geo secondary site4004 with geo_project_repository_replication feature flag enabled4005 doesn't call Geo::RepositoryUpdatedService when running on a Geo primary site4006 does not call Geo::RepositoryUpdatedService when running on a Geo secondary site4007 #process_wiki_changes4008 calls Git::WikiPushService#execute4009 assuming calls to process_changes are successful4010 with geo_project_wiki_repository_replication feature flag disabled4011 calls Geo::RepositoryUpdatedService when running on a Geo primary site4012 does not call Geo::RepositoryUpdatedService when not running on a Geo primary site4013 with geo_project_wiki_repository_replication feature flag enabled4014 when on a Geo primary site4015 does not call Geo::RepositoryUpdatedService4016 when wiki_repository does not exist4017 does not call replicator to update Geo4018 when wiki_repository exists4019 calls replicator to update Geo4020 when not on a Geo primary site4021 when wiki_repository does not exist4022 does not call replicator to update Geo4023 when wiki_repository exists4024 does not call replicator to update Geo4025 with a group wiki4026 calls Git::WikiPushService#execute4027 when on a Geo primary site4028 does not call Geo::RepositoryUpdatedService4029 when wiki is a project wiki4030 does not call replicator to update Geo4031 when group_wiki_repository does not exist4032 does not call replicator to update Geo4033 when group_wiki_repository exists4034 calls replicator to update Geo4035 when not on a Geo primary site4036 does not call replicator to update Geo4037 with a design repository4038 when on a Geo primary site4039 calls replicator to update Geo4040 when not on a Geo primary site4041 does not call replicator to update Geo4042Boards::EpicUserPreference4043 associations4044 is expected to belong to user required: false4045 is expected to belong to board required: false4046 is expected to belong to epic required: false4047 validations4048 is expected to validate that :user is case-sensitively unique within the scope of :board_id and :epic_id4049 scopes4050 .for_boards_and_epics4051 returns user board epic preferences for the given boards and epics4052Resolvers::Epics::ChildrenResolver4053 # order random4054 #resolve4055 returns nothing when feature disabled4056 does not return child epics when user has no access to group epics4057 when user has access to the base epic group4058 returns only accessible children4059 returns only accessible confidential children4060 calls the correct finder4061 when user has access to all child epics groups4062 returns all children4063 returns confidential children4064 with subgroups4065 returns all children4066 when user is a guest in the base epic group4067 returns accessible non confidential children4068 does not return confidential children4069AppSec::Dast::ScanConfigs::BuildService4070 execute4071 when the target_type is NOT api4072 behaves like build service execute tests4073 when a dast_profile is provided4074 returns a dast_profile, branch and YAML configuration4075 when the dast_profile has tag_list4076 when feature flag on_demand_scans_runner_tags is disabled4077 behaves like a payload with a dast_profile4078 returns a branch and YAML configuration4079 when feature flag on_demand_scans_runner_tags is enabled4080 behaves like a payload with a dast_profile4081 returns a branch and YAML configuration4082 when the scanner profile has no runner tags4083 behaves like a payload with a dast_profile4084 returns a branch and YAML configuration4085 when a dast_site_profile is provided4086 when a dast_scanner_profile is provided4087 behaves like a payload without a dast_profile4088 returns a branch and YAML configuration4089 when the target is not validated and an active scan is requested4090 responds with an error message4091 when a dast_scanner_profile is not provided4092 behaves like a payload without a dast_profile4093 returns a branch and YAML configuration4094 when a dast_site_profile is not provided4095 responds with an error message4096 when a branch is provided4097 returns the branch in the payload4098 when the target_type is api4099 behaves like build service execute tests4100 when a dast_profile is provided4101 returns a dast_profile, branch and YAML configuration4102 when the dast_profile has tag_list4103 when feature flag on_demand_scans_runner_tags is disabled4104 behaves like a payload with a dast_profile4105 returns a branch and YAML configuration4106 when feature flag on_demand_scans_runner_tags is enabled4107 behaves like a payload with a dast_profile4108 returns a branch and YAML configuration4109 when the scanner profile has no runner tags4110 behaves like a payload with a dast_profile4111 returns a branch and YAML configuration4112 when a dast_site_profile is provided4113 when a dast_scanner_profile is provided4114 behaves like a payload without a dast_profile4115 returns a branch and YAML configuration4116 when the target is not validated and an active scan is requested4117 responds with an error message4118 when a dast_scanner_profile is not provided4119 behaves like a payload without a dast_profile4120 returns a branch and YAML configuration4121 when a dast_site_profile is not provided4122 responds with an error message4123 when a branch is provided4124 returns the branch in the payload4125Mutations::IncidentManagement::OncallRotation::Create4126 # order random4127 #resolve4128 user has access to project4129 when OncallRotation::CreateService responds with success4130 returns the on-call rotation with no errors4131 with endsAt arg4132 returns the on-call rotation with no errors4133 when endsAt is nil4134 returns the on-call rotation with no errors4135 when OncallRotations::CreateService responds with an error4136 returns errors4137 with active period times given4138 returns the on-call rotation with no errors4139 saves the on-call rotation with active period times4140 hours rotation length unit4141 returns errors4142 end time is before start time4143 saves the on-call rotation with active period times4144 invalid time given4145 raises an error4146 error cases4147 user cannot be found4148 raises an error4149 project path incorrect4150 raises an error4151 duplicate participants4152 raises an error4153 schedule does not exist4154 raises an error4155 too many users4156 raises an error4157 when resource is not accessible to the user4158 raises an error4159EE::Gitlab::Scim::ProvisioningService4160 #execute4161 creates the SCIM identity4162 does not creates the SAML identity4163 when valid params4164 creates the user4165 creates the correct user attributes4166 user record requires confirmation4167 behaves like success response4168 contains a success status4169 contains an identity in the response4170 when the current minimum password length is different from the default minimum password length4171 creates the user4172 when invalid params4173 fails with error4174 fails with missing params4175 when invalid user params4176 does not return nil result4177 returns error response4178 for an existing user4179 does not create a new user4180 creates the SCIM identity4181 does not create the SAML identity4182 behaves like success response4183 contains a success status4184 contains an identity in the response4185 when invalid identity4186 does not return nil result4187 returns error response4188DeploymentPolicy4189 # order random4190 when the user is not allowed to deploy4191 is expected not to be allowed :destroy_deployment4192 when specific group is allowed to approve4193 is expected to be allowed :approve_deployment4194 when user is developer4195 is expected not to be allowed :approve_deployment4196 when the user is allowed to deploy4197 is expected to be allowed :destroy_deployment4198 when user is developer4199 is expected not to be allowed :destroy_deployment4200 when maintainers are allowed to deploy and approve4201 is expected to be allowed :approve_deployment4202 when user is developer4203 is expected not to be allowed :approve_deployment4204Mutations::Projects::SetLocked4205 #resolve4206 raises an error if the resource is not accessible to the user4207 when the user can lock the file4208 when file_locks feature is not available4209 raises an error4210 when file is not locked4211 sets path locks for the project4212 when file is already locked4213 does not change the lock4214 when LFS is enabled4215 locks the file in LFS4216 when file is not tracked in LFS4217 does not lock the file4218 when locking a directory4219 locks the directory4220 does not locks the directory through LFS4221 when the user can unlock the file4222 when file is already locked by the same user4223 unlocks the file4224 when file is already locked by somebody else4225 returns an error4226 when file is not locked4227 does nothing4228 when LFS is enabled4229 when file is locked4230 unlocks the file4231 unlocks the file in LFS4232 when file is not tracked in LFS4233 does not unlock the file4234 when unlocking a directory4235 unlocks the directory4236 does not call the LFS unlock service4237Projects::AllProtectedBranchesRule4238 # order random4239 #created_at4240 returns timestamp when the first approval rule was created4241 #external_status_checks4242 is empty4243 #matching_branches_count4244 returns the overall number of protected branches4245 #group4246 returns nil4247 #any_rules?4248 when there are no approval rules and no status checks4249 returns false4250 when there are approval rules4251 returns true4252 #updated_at?4253 returns timestamp when the most recent approval rule was updated4254 #default_branch?4255 returns false4256 #name4257 set to All protected branches4258 #can_unprotect?4259 returns false4260 #approval_project_rules4261 returns only rules that do not belong to a protected branch4262 #branch_protection4263 returns nil4264 #protected?4265 returns false4266Analytics::DoraPerformanceScoreCalculator4267 # order random4268 .scores_for4269 metric_name: "deployment_frequency", metric_value: nil, expected_score: nil4270 returns expected value4271 metric_name: "deployment_frequency", metric_value: 0.03, expected_score: :low4272 returns expected value4273 metric_name: "deployment_frequency", metric_value: 0.04, expected_score: :medium4274 returns expected value4275 metric_name: "deployment_frequency", metric_value: 1.0, expected_score: :high4276 returns expected value4277 metric_name: "deployment_frequency", metric_value: 1.1, expected_score: :high4278 returns expected value4279 metric_name: "lead_time_for_changes", metric_value: nil, expected_score: nil4280 returns expected value4281 metric_name: "lead_time_for_changes", metric_value: 31 days, expected_score: :low4282 returns expected value4283 metric_name: "lead_time_for_changes", metric_value: 30 days, expected_score: :medium4284 returns expected value4285 metric_name: "lead_time_for_changes", metric_value: 7 days, expected_score: :high4286 returns expected value4287 metric_name: "lead_time_for_changes", metric_value: 2 days, expected_score: :high4288 returns expected value4289 metric_name: "time_to_restore_service", metric_value: nil, expected_score: nil4290 returns expected value4291 metric_name: "time_to_restore_service", metric_value: 8 days, expected_score: :low4292 returns expected value4293 metric_name: "time_to_restore_service", metric_value: 7 days, expected_score: :medium4294 returns expected value4295 metric_name: "time_to_restore_service", metric_value: 1 day, expected_score: :high4296 returns expected value4297 metric_name: "time_to_restore_service", metric_value: 1 hour, expected_score: :high4298 returns expected value4299 metric_name: "change_failure_rate", metric_value: nil, expected_score: nil4300 returns expected value4301 metric_name: "change_failure_rate", metric_value: 0.46, expected_score: :low4302 returns expected value4303 metric_name: "change_failure_rate", metric_value: 0.45, expected_score: :medium4304 returns expected value4305 metric_name: "change_failure_rate", metric_value: 0.15, expected_score: :high4306 returns expected value4307 metric_name: "change_failure_rate", metric_value: 0.14, expected_score: :high4308 returns expected value4309Groups::SecurityFeaturesHelper4310 #group_level_security_dashboard_available?4311 group_level_compliance_dashboard_enabled: false, read_group_compliance_dashboard_permission: false, result: false4312 returns the expected result4313 group_level_compliance_dashboard_enabled: true, read_group_compliance_dashboard_permission: false, result: false4314 returns the expected result4315 group_level_compliance_dashboard_enabled: false, read_group_compliance_dashboard_permission: true, result: false4316 returns the expected result4317 group_level_compliance_dashboard_enabled: true, read_group_compliance_dashboard_permission: true, result: true4318 returns the expected result4319 #group_level_credentials_inventory_available?4320 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4321 returns the expected result4322 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: false, result: false4323 returns the expected result4324 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: true, result: false4325 returns the expected result4326 credentials_inventory_feature_enabled: true, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: true, result: true4327 returns the expected result4328 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4329 returns the expected result4330 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: false, result: false4331 returns the expected result4332 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: false, read_group_credentials_inventory_permission: true, result: false4333 returns the expected result4334 credentials_inventory_feature_enabled: false, enforced_group_managed_accounts: true, read_group_credentials_inventory_permission: true, result: false4335 returns the expected result4336 #group_level_security_dashboard_data4337 when it does not have projects4338 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4160/vulnerability_exports"}4339 when it has projects4340 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4160/vulnerability_exports"}4341 when it does not have projects but has subgroups that do4342 is expected to eq {:can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :empty_state_svg_path=>"/assets...af0108.svg", :vulnerabilities_export_endpoint=>"/api/v4/security/groups/4160/vulnerability_exports"}4343 #group_security_showcase_data4344 builds correct hash4345 #group_security_discover_data4346 builds correct hash4347Gitlab::Mirror4348 #configure_cron_job!4349 with jobs already running4350 creates a new cron job4351 without jobs already running4352 creates update_all_mirrors_worker4353 when Geo is enabled4354 disables mirror cron job4355 #max_mirror_capacity_reached?4356 returns true if available capacity is 04357 returns false if available capacity is not 04358 #reschedule_immediately?4359 when available capacity exceeds the defined threshold4360 returns true4361 when the availabile capacity is lower than the defined threshold4362 returns false4363 #available_capacity4364 when redis key does not exist4365 returns mirror_max_capacity4366 when redis key exists4367 returns available capacity4368 #increment_capacity4369 increments capacity4370 #decrement_capacity4371 with capacity above 04372 decrements capacity4373 with non-existent id4374 does not decrement capacity4375 #track_scheduling4376 increments current scheduling counter4377 excludes existing ids from existing counter4378 #untrack_scheduling4379 with scheduling counter above 04380 decrements scheduling counter4381 does not decrement scheduling counter for non-existant id4382 with scheduling counter equal to 04383 does not decrement scheduling counter4384 #reset_scheduling4385 with scheduling counter above 04386 decrements scheduling counter to 04387 with scheduling counter equal to 04388 decrements scheduling counter to 04389 #max_delay4390 returns max delay with some jitter4391 #min_delay4392 returns min delay with some jitter4393Gitlab::Analytics::CycleAnalytics::BaseQueryBuilder4394 when the subject is `Issue`4395 loads Issue records within the given Group4396 when the subject is `MergeRequest`4397 loads MergeRequest records within the given Group4398WorkItems::Widgets::ProgressService::UpdateService4399 # order random4400 #before_update_in_transaction4401 when progress feature is licensed4402 when user cannot update work item4403 behaves like work item and progress is unchanged4404 does not change work item progress value4405 does not create notes4406 when user can update work item4407 when current_value param is present4408 when current_value param is valid4409 behaves like current_value & progress are updated4410 updates work item progress value4411 creates notes4412 when start & end values are non-defaults4413 behaves like current_value & progress are updated4414 updates work item progress value4415 creates notes4416 when widget does not exist in new type4417 removes the work item's progress4418 when current_value param is invalid4419 if current_value is greater than 1004420 behaves like raises a WidgetError4421 is expected to raise WorkItems::Widgets::BaseService::WidgetError with "Progress must be less than or equal to 100"4422 if current_value is less than 04423 behaves like raises a WidgetError4424 is expected to raise WorkItems::Widgets::BaseService::WidgetError with "Progress must be less than or equal to 100"4425 when current_value param is not present4426 behaves like work item and progress is unchanged4427 does not change work item progress value4428 does not create notes4429 when progress is same as current value4430 behaves like work item and progress is unchanged4431 does not change work item progress value4432 does not create notes4433 when current_value param is nil4434 behaves like raises a WidgetError4435 is expected to raise WorkItems::Widgets::BaseService::WidgetError with "Progress is not a number, Current value can't be blank"4436Issues::CloseService4437 # order random4438 #execute4439 when project bot it logs audit events4440 when licensed4441 does not log audit event if operation fails4442 does not log audit event if operation results in no change4443 when operation succeeds4444 logs an audit event4445 logs the audit event info4446 calls the audit method with the event type4447 when not licensed4448 does not log audit event4449Mutations::MergeRequests::SetReviewers4450 #resolve4451 when the user can update the merge_request4452 sets the reviewers4453 removes reviewers not in the list4454 when passing "append" as true4455 does not remove reviewers not in the list4456Ci::ProcessPipelineService#execute4457 cross-project pipelines4458 creates a downstream cross-project pipeline4459Geo::ProjectSyncWorker4460 #perform4461 when project could not be found4462 logs an error and returns4463 when the shard associated to the project is unhealthy4464 logs an error and returns4465 when project repositories has never been synced4466 performs Geo::RepositorySyncService for the given project4467 with geo_project_wiki_repository_replication feature flag disabled4468 performs Geo::WikiSyncService for the given project4469 with geo_project_wiki_repository_replication feature flag enabled4470 does not perform Geo::WikiSyncService for the given project4471 when project repositories has been synced4472 does not perform Geo::RepositorySyncService for the given project4473 with geo_project_wiki_repository_replication feature flag disabled4474 does not perform Geo::WikiSyncService for the given project4475 with geo_project_wiki_repository_replication feature flag enabled4476 does not perform Geo::WikiSyncService for the given project4477 when last attempt to sync project repositories failed4478 performs Geo::RepositorySyncService for the given project4479 with geo_project_wiki_repository_replication feature flag disabled4480 performs Geo::WikiSyncService for the given project4481 with geo_project_wiki_repository_replication feature flag enabled4482 does not perform Geo::WikiSyncService for the given project4483 idempotence4484 is labeled as idempotent4485 performs multiple times sequentially without raising an exception4486 when the project registry row does not exist4487 creates exactly 1 project registry row4488 when the project registry row already exists4489 does not create a project registry row4490SystemCheck::Geo::AuthorizedKeysCheck4491 #multi_check4492 succeed when all conditions are met4493 OpenSSH config file4494 fails when config file does not exist4495 skips when config file is not readable4496 in docker4497 fails when config file does not exist4498 AuthorizedKeysCommand4499 fails when config file does not contain the AuthorizedKeysCommand4500 warns when config file does not contain the correct AuthorizedKeysCommand4501 fails when cannot find referred authorized keys file on disk4502 AuthorizedKeysCommandUser4503 fails when config file does not contain the AuthorizedKeysCommandUser4504 fails when config file does not contain the correct AuthorizedKeysCommandUser4505 #extract_authorized_keys_command4506 returns false when no command is available4507 returns correct (uncommented) command4508 returns correct (leading whitespace) command4509 returns command without comments and without quotes4510 #extract_authorized_keys_command_user4511 returns false when no command user is available4512 returns correct (uncommented) command4513 returns correct (leading whitespace) command4514 returns command without comments4515 #openssh_config_path4516 when in docker container4517 returns /assets/sshd_config4518 when not in docker container4519 returns /etc/ssh/sshd_config4520Iterations::Cadences::UpdateService4521 #execute4522 when iterations feature enabled4523 when user is authorized4524 is expected to be success4525 updates cadence values4526 returns the cadence as part of the response4527 when provided invalid params4528 behaves like cadence update fails with message4529 is expected to be error4530 returns not allowed message4531 does not update cadence values4532 when user is not authorized4533 behaves like cadence update fails with message4534 is expected to be error4535 returns not allowed message4536 does not update cadence values4537 when iterations feature disabled4538 when user is authorized4539 behaves like cadence update fails with message4540 is expected to be error4541 returns not allowed message4542 does not update cadence values4543 when user is not authorized4544 behaves like cadence update fails with message4545 is expected to be error4546 returns not allowed message4547 does not update cadence values4548EE::RepositoryCheck::BatchWorker4549 Geo primary4550 loads project ids from main database4551 Geo secondary4552 loads project ids from tracking database4553 loads project ids that were checked more than a month ago from tracking database4554Elastic::NamespaceUpdate4555 # order random4556 when changing parent_id4557 does not enqueue Elastic::NamespaceUpdateWorker4558 when elastic indexing is enabled4559 enqueues Elastic::NamespaceUpdateWorker4560 when transfering a group4561 enqueues Elastic::NamespaceUpdateWorker when changing parent from nil4562 enqueues Elastic::NamespaceUpdateWorker when changing parent to nil4563 when transfering a project4564 enqueues Elastic::NamespaceUpdateWorker when changing parent4565Boards::EpicLists::ListService4566 #execute4567 behaves like lists list service4568 when the board has a backlog list4569 does not create a backlog list4570 returns board's lists4571 when hide_backlog_list is true4572 hides backlog list4573 when hide_closed_list is true4574 hides closed list4575 when the board does not have a backlog list4576 creates a backlog list4577 does not create a backlog list when create_default_lists is false4578 returns board's lists4579 when wanting a specific list4580 returns list specified by id4581 returns empty result when list is not found4582Groups::RestoreService4583 restoring the group4584 with a user that can admin the group4585 for a group that has been marked for deletion4586 removes the mark for deletion4587 returns success4588 restoring fails4589 returns error4590 for a group that has not been marked for deletion4591 does not change the attributes associated with delayed deletion4592 returns error4593 audit events4594 logs audit event4595 with a user that cannot admin the group4596 does not restore the group4597 returns error4598 audit events4599 does not log audit event4600Registrations::ImportNamespaceCreateService4601 # order random4602 #execute4603 when group can be created4604 creates a group4605 passes create_event: true to the Groups::CreateService4606 tracks group creation events4607 does not attempt to create a trial4608 when automatic_trial_registration experiment is enabled4609 tracks automatic_trial_registration assignment event with group information4610 does not track automatic_trial_registration assignment event when user is not setting up for company4611 when the group cannot be created4612 does not create a group4613 does not track events for group creation4614 the project is not disregarded completely4615 with trial concerns4616 does not attempt to create a trial4617 with applying for a trial4618 applies a trial4619 when automatic_trial_registration experiment is enabled4620 does not track experiment assignment event4621GroupMergeRequestApprovalSetting4622 Associations4623 is expected to belong to group required: false4624 Validations4625 is expected to validate that :group cannot be empty/falsy4626 is expected not to allow :allow_author_approval to be ‹nil›4627 is expected to allow :allow_author_approval to be ‹true› or ‹false›4628 is expected not to allow :allow_committer_approval to be ‹nil›4629 is expected to allow :allow_committer_approval to be ‹true› or ‹false›4630 is expected not to allow :allow_overrides_to_approver_list_per_merge_request to be ‹nil›4631 is expected to allow :allow_overrides_to_approver_list_per_merge_request to be ‹true› or ‹false›4632 is expected not to allow :retain_approvals_on_push to be ‹nil›4633 is expected to allow :retain_approvals_on_push to be ‹true› or ‹false›4634 is expected not to allow :require_password_to_approve to be ‹nil›4635 is expected to allow :require_password_to_approve to be ‹true› or ‹false›4636 .find_or_initialize_by_group4637 with no existing setting4638 is expected to be a new record4639 with existing setting4640 is expected to eq #<GroupMergeRequestApprovalSetting created_at: "2023-07-27 04:47:37.583857874 +0000", updated_at: "20..._per_merge_request: false, retain_approvals_on_push: false, require_password_to_approve: [FILTERED]>4641Ci::Runners::ResetRegistrationTokenService#execute4642 with instance scope4643 behaves like a registration token reset operation4644 without user4645 does not audit and returns error response4646 with unauthorized user4647 does not audit and returns error response4648 with admin user4649 calls security_event on RunnersTokenAuditEventService and returns the new token4650 with group scope4651 behaves like a registration token reset operation4652 without user4653 does not audit and returns error response4654 with unauthorized user4655 does not audit and returns error response4656 with admin user4657 calls security_event on RunnersTokenAuditEventService and returns the new token4658 with project scope4659 behaves like a registration token reset operation4660 without user4661 does not audit and returns error response4662 with unauthorized user4663 does not audit and returns error response4664 with admin user4665 calls security_event on RunnersTokenAuditEventService and returns the new token4666SecurityHelper4667 #instance_security_dashboard_data4668 returns vulnerability, project, feedback, asset, and docs paths for the instance security dashboard4669 can_admin_vulnerability4670 when user is not an auditor4671 when the user has admin priveledges on all projects requested4672 can_admin_vulnerability is true4673 when the user does not have admin priveledges on all projects requested4674 can_admin_vulnerability is false4675 when the project is on a personal namespace4676 can_admin_vulnerability is true4677 when user is auditor4678 can_admin_vulnerability is false4679 #instance_security_settings_data4680 when user is not auditor4681 is expected to eq {:is_auditor=>"false"}4682 when user is auditor4683 is expected to eq {:is_auditor=>"true"}4684RequirementsManagement::ExportCsvService4685 renders csv to string4686 #email4687 emails csv4688 renders with a target filesize4689 includes4690 includes the columns required for import4691 iid4692 title4693 description4694 author4695 author username4696 created date4697 does not execute n+1 queries4698 when last test report failed4699 latest test report state4700 latest test report created at4701 when last test report passed4702 latest test report state4703 latest test report created at4704 when selected fields are present4705 returns data for requested fields4706 behaves like a service that returns invalid fields from selection4707 #invalid_fields4708 returns invalid fields from selection4709ComplianceManagement::Projects::CreateCiConfigService4710 # order random4711 when files create service returns error4712 behaves like service response is error4713 returns error message4714 when branch services returns error4715 behaves like service response is error4716 returns error message4717 when ci config is already present4718 behaves like service response is error4719 returns error message4720 when merge request is not valid4721 behaves like service response is error4722 returns error message4723 when merge request is successfully created4724 creates a valid merge request with correct attributes4725 #file_content4726 when template is not present4727 returns empty string4728 when template is present4729 returns the content4730 when project doesn't have default branch4731 behaves like service response is error4732 returns error message4733Ci::PipelineCreation::DropNotRunnableBuildsService4734 #execute4735 with public projects4736 behaves like jobs allowed to run4737 does not drop the jobs4738 when the CI quota is exceeded4739 behaves like jobs allowed to run4740 does not drop the jobs4741 with internal projects4742 behaves like jobs allowed to run4743 does not drop the jobs4744 behaves like quota exceeded4745 drops the job with ci_quota_exceeded reason4746 when shared runners are disabled4747 behaves like jobs allowed to run4748 does not drop the jobs4749 with project runners4750 behaves like jobs allowed to run4751 does not drop the jobs4752 with group runners4753 behaves like jobs allowed to run4754 does not drop the jobs4755 when the pipeline status is running4756 behaves like jobs allowed to run4757 does not drop the jobs4758 with private projects4759 behaves like jobs allowed to run4760 does not drop the jobs4761 behaves like quota exceeded4762 drops the job with ci_quota_exceeded reason4763 when shared runners are disabled4764 behaves like jobs allowed to run4765 does not drop the jobs4766 with project runners4767 behaves like jobs allowed to run4768 does not drop the jobs4769 with group runners4770 behaves like jobs allowed to run4771 does not drop the jobs4772 when the pipeline status is running4773 behaves like jobs allowed to run4774 does not drop the jobs4775IdentityProviderPolicy4776 #rules4777 when user is group managed4778 is expected not to be allowed :link4779 is expected not to be allowed :unlink4780 owner is not yet group managed4781 no other owners exist4782 is expected not to be allowed :unlink4783 another group owner exists4784 without sso linked4785 is expected not to be allowed :unlink4786 with sso linked4787 is expected to be allowed :unlink4788 managed by the group4789 is expected to be allowed :unlink4790Ci::DailyBuildGroupReportResultsFinder4791 #execute4792 with permissions4793 when sort is true4794 returns coverages belonging to the group4795 with a limit below 10004796 uses the provided limit4797 with a limit above 10004798 returns MAX_ITEMS as a limit4799 without a limit4800 returns MAX_ITEMS as a limit4801 with group_activity4802 returns the group activity aggregated data4803 without permmissions4804 returns an empty result4805ProjectTeam4806 #add_members4807 when group membership is locked4808 does not add the given users to the team4809 #add_member4810 when group membership is locked4811 does not add the given user to the team4812 project bot user4813 adds the project bot user to the team4814Audit::ExternalStatusCheckChangesAuditor4815 auditing external status check changes4816 when audit change happens4817 creates an event when the name changes4818 creates an event when the external url changes4819 streams audit event when name changes4820 streams audit event when url changes4821 when there is no audit change4822 does not create audit event if no change in updated values4823WorkItems::Widgets::Filters::Status4824 # order random4825 .filter4826 for passing status4827 is expected to contain exactly #<WorkItem id:63 namespace1664/project-1715#1>4828 for failed status4829 is expected to contain exactly #<WorkItem id:64 namespace1666/project-1717#1>4830 for missing status4831 is expected to contain exactly #<WorkItem id:65 namespace1668/project-1719#1> and #<WorkItem id:62 namespace1663/project-1714#1>4832 when status parameter is nil4833 is expected to contain exactly #<WorkItem id:62 namespace1663/project-1714#1>, #<WorkItem id:63 namespace1664/project-1715#1>, #<WorkItem id:64 namespace1666/project-1717#1>, and #<WorkItem id:65 namespace1668/project-1719#1>4834Telesign::TransactionCallbackPayload4835 # order random4836 #status_updated_on4837 is expected to eq "2016-07-08T20:52:46.417428Z"4838 when there is no status.updated_on key4839 is expected to be nil4840 #errors4841 is expected to eq "501 - Not authorized, 502 - Campaign error"4842 when errors is not an array4843 is expected to eq ""4844 when error object does not have code and description fields4845 is expected to eq ""4846 #reference_id4847 is expected to eq "2557312299CC1304904080F4BE17BFB4"4848 when there is no reference_id key4849 is expected to be nil4850 #status4851 is expected to eq "200 - Delivered to handset"4852 when there are no status.code and status.description keys4853 is expected to eq ""4854TrialRegistrationsHelper4855 # order random4856 #social_signin_enabled?4857 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4858 is expected to eq true4859 com: true, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4860 is expected to eq false4861 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4862 is expected to eq false4863 com: true, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4864 is expected to eq false4865 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4866 is expected to eq false4867 com: true, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4868 is expected to eq false4869 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4870 is expected to eq false4871 com: true, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4872 is expected to eq false4873 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: true4874 is expected to eq false4875 com: false, omniauth_enabled: true, omniauthable: true, button_based_providers_enabled: false4876 is expected to eq false4877 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: true4878 is expected to eq false4879 com: false, omniauth_enabled: true, omniauthable: false, button_based_providers_enabled: false4880 is expected to eq false4881 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: true4882 is expected to eq false4883 com: false, omniauth_enabled: false, omniauthable: true, button_based_providers_enabled: false4884 is expected to eq false4885 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: true4886 is expected to eq false4887 com: false, omniauth_enabled: false, omniauthable: false, button_based_providers_enabled: false4888 is expected to eq false4889ComplianceManagement::UpdateDefaultFrameworkWorker4890 # order random4891 #perform4892 invokes Projects::UpdateService4893 updates the compliance framework for the project4894 rescues and logs the exception if project does not exist4895 behaves like an idempotent worker4896 is labeled as idempotent4897 performs multiple times sequentially without raising an exception4898EE check.rake4899 gitlab:check rake task4900 runs the Geo check4901Integrations::JiraSerializers::IssueDetailEntity4902 returns the Jira issues attributes4903 when the description needs redaction4904 when the user is anonymous4905 redacts the first issue4906 when the user is logged in4907 when the user does not have access to the first issue4908 redacts the first issue4909 when the user does have access to the first issue4910 renders the first issue4911 with Jira Server configuration4912 returns the Jira Server profile URL4913 with only url4914 returns URLs with the web url4915 with Jira Cloud configuration4916 returns the Jira Cloud profile URL4917 without assignee4918 returns an empty array4919 without labels4920 returns an empty array4921 without resolution date4922 returns 'Open' state4923Gitlab::Geo::LogCursor::Events::RepositoryRenamedEvent4924 #process4925 schedules a Geo::RenameRepositoryWorker4926 when a tracking entry does not exist4927 does not create a tracking entry4928 does not schedule a Geo::RenameRepositoryWorker4929 behaves like logs event source info4930 logs `job_id` and `event_id4931EE::Groups::SettingsHelper4932 #delayed_project_removal_help_text4933 admin_only: true, expected: "Only administrators can delete projects."4934 returns expected helper text4935 admin_only: false, expected: "Owners and administrators can delete projects."4936 returns expected helper text4937 #keep_deleted_option_label4938 adjourned_period: 1, expected: "Keep deleted projects for 1 day"4939 returns expected helper text4940 adjourned_period: 4, expected: "Keep deleted projects for 4 days"4941 returns expected helper text4942 .unique_project_download_limit_settings_data4943 returns the expected data4944ComplianceManagement::ChainOfCustodyReportWorker4945 #perform4946 has the `until_executed` deduplicate strategy4947 when the params are valid4948 calls the service4949 creates a notification4950 when an error is raised4951 when the csv fails to generate4952 raises an error4953 when no user id is passed4954 logs the error4955 when no group id is passed4956 logs the error4957shared/credentials_inventory/ssh_keys/_ssh_key.html.haml4958 shows the users name4959 shows the created on date4960 shows the expiry date4961 shows the delete button4962 last accessed date4963 when set4964 shows the last accessed on date4965 when not set4966 shows "Never" for the last accessed on date4967EpicEntity4968 has Issuable attributes4969 has epic specific attributes4970 behaves like issuable entity current_user properties4971 can_create_confidential_note4972 when user can create confidential notes4973 is expected to equal true4974 when user cannot create confidential notes4975 is expected to eq false4976RemoteDevelopment::Workspaces::Reconcile::DesiredConfigGenerator4977 # order random4978 #generate_desired_config4979 when desired_state results in started=true4980 returns expected config4981 when desired_state results in started=false4982 returns expected config4983Verify/Load-Performance-Testing.gitlab-ci.yml4984 the created pipeline4985 has no errors4986 on master4987 behaves like load_performance job on tag or branch4988 by default4989 on another branch4990 behaves like load_performance job on tag or branch4991 by default4992 on tag4993 behaves like load_performance job on tag or branch4994 by default4995 on merge request4996 has no jobs4997Vulnerabilities::HistoricalStatistics::AdjustmentService4998 .execute4999 instantiates the service object for given project ids and calls `execute` on them5000 #execute5001 when more than 1000 projects is provided5002 raises error5003 when there is no vulnerability_statistic record for project5004 does not create a new record in database5005 when there is vulnerability_statistic record for project5006 when there is no vulnerability_historical_statistic record for project5007 creates a new record5008 sets the correct values for the record5009 when there is already a vulnerability_historical_statistic record for project5010 does not create a new record in database5011 sets the correct values for the record5012Integration5013 .project_specific_integration_names5014 is expected to include "ee_project_specific_name"5015 .vulnerability_hooks5016 includes integrations where vulnerability_events is true5017 excludes integrations where vulnerability_events is false5018Onboarding::CreateIterableTriggerService5019 # order random5020 #execute5021 when sending iterable call5022 when successful5023 returns success: true5024 when unsuccessful5025 returns success: false with errors5026 when iterable call fails with an error message from the client5027 returns an error5028Dora::TimeToRestoreServiceMetric5029 #data_queries5030 for production environment5031 returns median of incidents duration closed at given date5032 for non-production environment5033 does not calculate time_to_restore_service daily metric5034Namespaces::CombinedStorageUsers::NonOwnerAlertComponent5035 # order random5036 when user is authorized to see alert5037 when over both limits5038 renders the alert5039 renders all the expected tracking items5040 when the user dismissed the alert under 14 days ago5041 does not render the alert5042 when the user dismissed the alert 14 or more days ago5043 does render the alert5044 when not over one of the limits5045 does not render the alert5046 when the user is not authorized to see the alert5047 when owner5048 does not render the alert5049 when no access level5050 does not render the alert5051 when user does not exist5052 does not render the alert5053IncidentManagement::IssuableEscalationStatus5054 # order random5055 #pending_escalation_target5056 is expected to eq #<Issue id:76 namespace1692/project-1737#1>5057 acknowledge5058 does not change escalations_started_at5059 ignore5060 does not change escalations_started_at5061 #escalation_policy5062 is expected to eq nil5063 when escalation policy exists on the project5064 returns the projects first (only) escalation policy5065 #trigger5066 with escalation policy5067 updates escalations_started_at5068 without escalation policy5069 does not change escalations_started_at5070 validations5071 when policy and escalation start time are both provided5072 is expected to be valid5073 when neither policy and escalation start time are provided5074 is expected to be valid5075 when escalation start time is provided without a policy5076 is invalid5077 when policy is provided without an escalation start time5078 is invalid5079 resolve5080 does not change escalations_started_at5081VulnerabilityEntity5082 exposes vulnerability-specific elements5083 exposes state_transitions, issue_links and merge_request_links5084EE::NamespaceSettings::UpdateService5085 #execute5086 as a normal user5087 does not change settings5088 registers an error5089 as a group owner5090 for a group that does not have prevent forking feature5091 does not change settings5092 registers an error5093 for a group that has prevent forking feature5094 changes settings5095projects/security/dast_scanner_profiles/edit5096 renders Vue app root5097 passes project's full path5098 passes DAST profiles library URL5099 passes DAST scanner profile's data5100Resolvers::Geo::LfsObjectRegistriesResolver5101 behaves like a Geo registries resolver5102 #resolve5103 when the parent object is the current node5104 when the user has permission to view Geo data5105 when admin mode is enabled5106 when the ids argument is null5107 returns registries, in order5108 when the ids argument is present5109 returns the requested registries, in order5110 when the replication_state argument is present5111 returns registries with requested replication state, in order5112 with verification enabled5113 when the verification_state argument is present5114 returns registries with requested verification state, in order5115 with verification disabled5116 when the verification_state argument is present5117 raises ArgumentError (PENDING: Skipping because verification is enabled for LfsObject)5118 when admin mode is disabled5119 returns nothing5120 when the user does not have permission to view Geo data5121 returns nothing5122 when the parent object is not the current node5123 when the user has permission to view Geo data5124 returns nothing, because we can't query other nodes' tracking databases5125Gitlab::WebIde::Config::Entry::Schema5126 .nodes5127 returns a hash5128 when filtering all the entry/node names5129 contains the expected node names5130 when configuration is valid5131 when some entries defined5132 #compose!5133 creates node object for each entry5134 creates node object using valid class5135 sets correct description for nodes5136 #leaf?5137 is not leaf5138 when composed5139 #errors5140 has no errors5141 #uri_value5142 returns correct uri5143 #match_value5144 returns correct value for schemas5145 when configuration is not valid5146 when the config does not have all the required entries5147 #errors5148 reports errors about the invalid entries5149 when the config has invalid entries5150 #errors5151 reports errors about the invalid entries5152 when value is not a hash5153 #valid?5154 is not valid5155 #errors5156 returns error about invalid type5157 #specified?5158 is concrete entry that is defined5159layouts/_page5160 # order random5161 EE tanuki_bot_chat5162 when ::Gitlab::Llm::TanukiBot.enabled_for?(user) is true5163 renders #js-tanuki-bot-chat-app5164 when ::Gitlab::Llm::TanukiBot.enabled_for?(user) is false5165 does not render #js-tanuki-bot-chat-app5166Geo::PushUser5167 #user5168 with a junk gl_id5169 returns nil5170 with an unsupported gl_id type5171 returns nil5172 when the User associated to gl_id matches the User associated to gl_username5173 returns a User5174GroupClusterablePresenter5175 #metrics_cluster_path5176 is expected to eq "/groups/group399/-/clusters/3/metrics"5177 #environments_cluster_path5178 cluster_deployments feature is available5179 is expected to eq "/groups/group400/-/clusters/6/environments"5180 cluster_deployments feature is not available5181 is expected to be nil5182Resolvers::PathLocksResolver5183 #resolve5184 feature is not licensed5185 is expected to be empty5186 feature is licensed5187 is expected to contain exactly #<PathLock id: 14, path: "README.md", project_id: 1683, user_id: 2382, created_at: "2023-07-27 04:49:39.215736735 +0000", updated_at: "2023-07-27 04:49:39.215736735 +0000">5188 preloads users5189 user is unauthorized5190 generates an error5191Security::ScanPolicy5192 read_scan5193 when the security_dashboard feature is enabled5194 when the current user has developer access to the scan's project5195 is expected to be allowed :read_scan5196 when the current user does not have developer access to the scan's project5197 is expected to be disallowed :read_scan5198 when the security_dashboard feature is disabled5199 is expected to be disallowed :read_scan5200MergeRequest::DiffLlmSummary5201 # order random5202 associations5203 is expected to belong to merge_request_diff required: false5204 is expected to belong to user optional: true5205 is expected to validate that :merge_request_diff_id is case-sensitively unique5206 is expected to validate that :content cannot be empty/falsy5207 is expected to validate that the length of :content is at most 20565208 is expected to validate that :provider cannot be empty/falsy5209Resolvers::Ci::RunnersJobsStatisticsResolver5210 # order random5211 #resolve5212 with admin5213 when licensed5214 with no builds5215 retrieves expected fields with nil values5216 with builds5217 returns jobs statistics5218 with JOBS_LIMIT set to one lower than dataset size5219 ignores non-started job and does not affect statistics5220 with RUNNERS_LIMIT set to one5221 returns statistics from latest runner5222 when not licensed5223 when all fields are requested5224 is expected to be nil5225 with regular user5226 when licensed5227 when all fields are requested5228 is expected to be nil5229Projects::SetupCiCd5230 sets up pull mirroring on the project5231 disables some features5232 when import_url is blank5233 doesn't update the project5234Elastic::IndexingControlService5235 .initialize5236 raises an exception when passed wrong worker5237 .add_to_waiting_queue!5238 calls an instance method5239 .has_jobs_in_waiting_queue?5240 calls an instance method5241 .resume_processing!5242 calls an instance method5243 .queue_size5244 reports the queue size5245 #add_to_waiting_queue!5246 adds a job to the set5247 adds only one unique job to the set5248 only stores `project` context information5249 #has_jobs_in_waiting_queue?5250 checks set existence5251 #resume_processing!5252 puts jobs back into the queue and respects order5253 drops a set after execution5254 concurrent changes to different queues5255 allows to use queues independently of each other5256Mutations::Deployments::DeploymentApprove5257 # order random5258 #resolve5259 when deployment is not accessible to the user5260 raises an error5261 when deployment is accessible to the user5262 when the user cannot approve or reject the deployment5263 returns a nil deployment approval and errors array5264 when the user can approve or reject the deployment5265 returns the deployment approval and an empty errors array5266Llm::GitCommandService5267 # order random5268 #perform5269 returns an error5270 when user is a member of ultimate group5271 responds successfully5272 returns an error when messages are too big5273 when ai_git_command_ff feature flag is disabled5274 returns an error5275Types::QueryType5276 is expected to have graphql fields :board_list, :ci_application_settings, :ci_config, :ci_pipeline_stage, :ci_variables, :container_repository, :current_user, :design_management, :echo, :gitpod_enabled, :group, :groups, :issue, :issues, :jobs, :merge_request, :metadata, :milestone, :namespace, :note, :package, :project, :projects, :query_complexity, :runner, :runner_platforms, :runner_setup, :runners, :snippets, :synthetic_note, :timelogs, :todo, :topics, :usage_trends_measurements, :user, :users, :work_item, :audit_event_definitions, :ai_messages, :ci_catalog_resources, :ci_catalog_resource, :ci_minutes_usage, :current_license, :devops_adoption_enabled_namespaces, :epic_board_list, :explain_vulnerability_prompt, :geo_node, :instance_security_dashboard, :iteration, :license_history_entries, :subscription_future_entries, :vulnerabilities, :vulnerabilities_count_by_day, :vulnerability, :workspace, :workspaces, and :instance_external_audit_event_destinations5277 epicBoardList field5278 finds an epic board list by its gid5279LdapGroupSyncWorker5280 #perform5281 with the default license key5282 syncs a single group when group_id is present5283 creates a proxy for syncing a single provider5284 without a license key5285 does not sync groups5286 #sync_groups5287 syncs a group when it was found without a proxy5288 syncs with an existing proxy when one was given5289 #sync_group5290 syncs a single provider when a provider was given5291 syncs all providers when no proxy was given5292Geo::VerificationBatchWorker5293 uses a Geo queue5294 #perform5295 calls verify_batch5296 #remaining_work_count5297 returns remaining_verification_batch_count5298 #max_running_jobs5299 returns verification_max_capacity_per_replicator_class5300Boards::EpicBoards::Visits::CreateService5301 #execute5302 with epic board5303 behaves like boards recent visit create service5304 returns nil when there is no user5305 returns nil when database is read only5306 records the visit5307DeprecatedApprovalsBeforeMerge5308 merge request5309 behaves like with approvals before merge deprecated5310 updating approvals_before_merge5311 creates any_approver rule5312 project5313 behaves like with approvals before merge deprecated5314 updating approvals_before_merge5315 creates any_approver rule5316ExternalStatusChecks::DestroyService5317 when current user is project owner5318 deletes an approval rule5319 is successful5320 when current user is not a project owner5321 does not delete an approval rule5322 is unsuccessful5323 returns an unauthorized status5324 contains an appropriate message and error5325 audit events5326 when licensed5327 when rule destroy operation succeeds5328 logs an audit event5329 when rule destroy operation fails5330 does not log any audit event5331 behaves like does not create audit event when not licensed5332 does not log any audit event5333shared/credentials_inventory/_expiry_date.html.haml5334 when a non-expirable credential is used5335 shows "Never" if expires? method does not exist5336 when an expirable credential is used5337 and is not expired5338 shows the correct date5339 does not have an expiry icon5340 and is near expiry5341 shows the correct date5342 has an icon5343 and has expired5344 shows the correct date5345 has an icon5346Mutations::DastScannerProfiles::Delete5347 is expected to require graphql authorizations :create_on_demand_dast_scan5348 #resolve5349 when the user is not associated with the project5350 raises an exception5351 when the user can run a DAST scan5352 deletes the DAST scanner profile5353 when the dast_scanner_profile does not exist5354 raises an exception5355 when deletion fails5356 returns an error5357shared/milestones/_milestone.html.haml5358 when a milestone is associated to a lot of releases5359 when viewing a project milestone5360 renders "1 more release" as a link to the project's Releases page5361 when viewing a group milestone5362 renders "1 more release" as plain text instead of as a link5363projects/security/sast_configuration/show5364 renders Vue app root5365Security::SecurityOrchestrationPolicies::FetchPolicyService5366 #execute5367 when retrieving an existing policy by name5368 returns policy5369 when retrieving an non-existing policy by name5370 returns nil5371Gitlab::Geo::GitPushHttp5372 #cache_referrer_node5373 when geo_node_id is present5374 when geo_node_id is an integer5375 stores the ID in cache5376 stores the ID with an expiration5377 when geo_node_id is not an integer5378 does not cache anything5379 when geo_node_id is blank5380 does not cache anything5381 #fetch_referrer_node5382 when there is a cached ID5383 deletes the key5384 when the GeoNode exists5385 returns the GeoNode with the cached ID5386 when the GeoNode does not exist5387 returns nil5388 when there is no cached ID5389 returns nil5390Sidebars::YourWork::Panel5391 # order random5392 renders Security menu5393 renders Operations dashboard5394 renders Environments dashboard5395 renders Workspaces5396 behaves like a panel with uniquely identifiable menu items5397 all menu_items have unique item_id5398 all menu_items have an item_id5399 behaves like a panel without placeholders5400 has no Sidebars::NilMenuItem5401ServiceDeskSetting5402 .issue_template_content5403 when file_template_project_id is present5404 for group templates5405 returns template content5406 for instance templates5407 returns template content5408Gitlab::Llm::Templates::GenerateCommitMessage5409 # order random5410 #to_prompt5411 includes raw diff5412 #options5413 for OpenAI5414 returns max tokens5415 for VertexAI5416 returns max tokens5417Sidebars::Admin::Menus::GeoMenu5418 # order random5419 behaves like Admin menu with sub menus5420 contains submemus5421 behaves like Admin menu5422 renders the correct link5423 renders the correct title5424 renders the correct icon5425 renders the separator if needed5426 #render?5427 when user is admin5428 renders5429 when user is not admin5430 does not render5431 when user is not logged in5432 does not render5433Gitlab::Llm::OpenAi::Completions::SummarizeReview5434 # order random5435 #execute5436 with invalid params5437 without user5438 returns nil5439 without merge_request5440 returns nil5441 with valid params5442 gets the right template options and calls the openai client5443Routing::PseudonymizationHelper5444 when url has params to mask5445 when project/insights page is loaded5446 behaves like masked url5447 generates masked page url5448 when groups/insights page is loaded5449 behaves like masked url5450 generates masked page url5451 when severity, sortBy, sortDesc is present5452 behaves like masked url5453 generates masked page url5454 when _gl, glm_content and gml_source is present5455 behaves like masked url5456 generates masked page url5457 when utm_medium, utm_source, utm_campaign, utm_content and utm_budget is present5458 behaves like masked url5459 generates masked page url5460ComplianceManagement::ComplianceFramework::GroupSettingsHelper5461 #show_compliance_frameworks?5462 the user has permission5463 is expected to equal true5464 the user does not have permission5465 group is not a subgroup5466 is expected to equal false5467 #compliance_frameworks_list_data5468 returns the correct data5469 with out access to pipeline_configuration_enabled feature5470 is expected to include {:pipeline_configuration_enabled => "false"}5471 group is a subgroup5472 contains the root ancestor as group_path5473 does not allow editing5474Members::Groups::CreatorService5475 # order random5476 .add_member5477 for free user limit considerations5478 when ignore_user_limits is not passed and uses default5479 fails to add the member5480 when ignore_user_limits is passed as true5481 adds the member5482Gitlab::Issuable::Clone::CopyResourceEventsService5483 resource weight events5484 creates expected resource weight events5485 when a new object is a group entity5486 when entity is an epic5487 when cloning state events5488 ignores issue_id attribute5489 when issue has weight events5490 ignores copying weight events5491Gitlab::Llm::Chain::Parsers::ChainOfThoughtParser5492 # order random5493 #parse5494 parses input for instructions5495 when observation stop word is present5496 only parses input above the stop word5497 when input has multiline instructions5498 behaves like parses instructions5499 parses multiline instructions5500 when instructions start without whitespaces5501 behaves like parses instructions5502 parses multiline instructions5503 when final answer starts on new line and without whitespace5504 behaves like parses instructions5505 parses multiline instructions5506 thought5507 when thought is prefixed with Thought:5508 removes the prefix5509 action input5510 when Observation stop word is present5511 returns action input before Observation stop word5512 when Final Answer stop word is present5513 returns action input before Final Answer stop word5514 when none of the stop words are present5515 returns action input5516EE::FeatureFlagsHelper5517 #edit_feature_flags_data5518 with permissions5519 adds the search path5520 adds the issue links path5521 without permissions5522 adds a blank search path5523 adds a blank issue links path5524Security::RemediationsProxy5525 # order random5526 #by_byte_offsets5527 when the file exists5528 returns remediations by given byte offsets5529 delegates the call to GitlabUploader#multi_read with unique offsets5530 when the file is nil5531 is expected to be empty5532Members::ImportProjectTeamService5533 #execute5534 when the project team import fails5535 when the target project has locked their membership5536 for locking via the parent group5537 returns unsuccessful response5538 for locking via LDAP5539 returns unsuccessful response5540SystemAccess::MicrosoftGraphAccessToken5541 # order random5542 has a bidirectional relationship5543 is expected to belong to system_access_microsoft_application required: false inverse_of => system_access_microsoft_graph_access_token5544 validations5545 is expected to validate that :system_access_microsoft_application_id cannot be empty/falsy5546 is expected to validate that :expires_in cannot be empty/falsy5547 is expected to validate that :expires_in looks like a number greater than or equal to 05548Geo::HasReplicator5549-- create_table(:_test_dummy_models, {:force=>true})5550 -> 0.0045s5551 #replicator5552 adds replicator method to the model5553 instantiates a replicator into the model5554 when replicator is not defined in inheriting class5555 raises NotImplementedError5556-- drop_table(:_test_dummy_models, {:force=>true})5557 -> 0.0024s5558MergeChecksHelper5559 # order random5560 #merge_checks5561 when source is group5562 returns the correct settings5563 when source has a parent group5564 returns the correct settings5565 when source is project5566 returns the correct settings5567Geo::RepositoryBaseSyncService5568 #lease_key5569 returns a key in the correct pattern5570 #lease_timeout5571 returns a lease timeout value5572 #repository5573 raises a NotImplementedError5574 with a repository defined5575 #fetch_geo_mirror5576 delegates to repository#fetch_as_mirror5577 #clone_geo_mirror5578 delegates to repository#clone_as_mirror5579Dependencies::ExportWorker5580 # order random5581 .sidekiq_retries_exhausted5582 updates status to failed5583 #perform5584 delegates the execution to `Dependencies::ExportService`5585LicensesFinder5586 raises an error if the user is not an admin5587 with admin mode enabled5588 returns a license by id5589 returns a collection of licenses5590 returns empty relation if the license doesnt exist5591 with admin mode disabled5592 raises an error5593VulnerabilityScanners::ListService5594 when looking for scanners for group5595 is expected to eq [{:id=>123, :report_type=>"SAST", :vendor=>"Security Vendor"}]5596 when looking for scanners for project5597 is expected to eq [{:id=>123, :report_type=>"SAST", :vendor=>"Security Vendor"}]5598Gitlab::Email::Message::AccountValidation5599 contains the correct message5600Labels::PromoteService5601 #execute5602 updates board scopes to the new promoted label5603Resolvers::Admin::CloudLicenses::CurrentLicenseResolver5604 is expected to have nullable GraphQL type CurrentLicense5605 #resolve5606 returns the current license5607 when current user is unauthorized5608 generates an error5609 when there is no current license5610 returns nil5611AuditEvents::ReleaseUpdatedAuditEventService5612 #security_event5613 logs the event to file5614Gitlab::Ci::Config::Required::Processor5615 when feature is available5616 when template is set5617 when template can not be found5618 raises an error5619 when template can be found5620 merges the template content with the config5621 when template is not set5622 returns the unmodified config5623 when template is empty string5624 returns the unmodified config5625 when feature is not available5626 returns the unmodified config5627Security::SecurityOrchestrationPolicies::SyncScanResultPoliciesProjectService5628 # order random5629 #execute5630 triggers worker for the configuration and provided project_id5631 with delay5632 schedules job for the configuration and provided project_id5633ManualQuarterlyCoTermBannerHelper5634 #manual_quarterly_co_term_banner5635 when current user is empty5636 does not return a banner payload5637 when current user cannot admin all resources5638 does not return a banner payload5639 when current user can admin all resources5640 returns a banner payload5641EE::API::Entities::MemberRole5642 # order random5643 exposes expected fields5644 exposes the attributes5645CreateEpicIndex5646 # order random5647 behaves like migration creates a new index5648 #migrate5649 logs a message and creates a standalone index5650 reindexing_cleanup!5651 when the index already exists5652 deletes the index5653 when an error is raised5654 logs a message and raises an error5655 #completed?5656 returns true if the index exists5657 returns true if the index exists5658Types::AuditEvents::ExternalAuditEventDestinationType5659 is expected to eq "ExternalAuditEventDestination"5660 is expected to have graphql fields :id, :destination_url, :group, :verification_token, :headers, :event_type_filters, and :name5661 is expected to require graphql authorizations :admin_external_audit_events5662AuditEventSerializer5663 .represent5664 returns an empty array when there are no audit events5665 includes audit event attributes5666Projects::OpenIssuesCountService5667 #count5668 includes all issue types5669Types::IncidentManagement::OncallRotationType5670 # order random5671 is expected to require graphql authorizations :read_incident_management_oncall_schedule5672 exposes the expected fields5673 returns enough records to cover 2 weeks of hour-long shifts5674 is expected to eq "IncidentManagementOncallRotation"5675Elastic::ReindexingSubtask5676 relations5677 is expected to belong to elastic_reindexing_task required: false5678 validations5679 is expected to validate that :index_name_from cannot be empty/falsy5680 is expected to validate that :index_name_to cannot be empty/falsy5681IncidentManagement::PendingEscalations::AlertCheckWorker5682 # order random5683 #perform5684 with valid escalation5685 processes the escalation5686 without valid escalation5687 does nothing5688Gitlab::ImportExport::Group::GroupAndDescendantsRepoSaver5689 exports the group and subgroups wiki repo5690 if any of the wiki exports fails5691 returns false and stops exporting other groups5692Auth::GroupSamlIdentityFinder5693 #first5694 looks up identity by saml_provider and uid5695groups/analytics/dashboards/value_streams_dashboard5696 # order random5697 renders as expected5698 with namespaces set5699 sets the namespaces key5700BackfillUsers5701 # order random5702 behaves like a deprecated Advanced Search migration5703 #migrate5704 logs a message and halts the migration5705 #completed?5706 returns false5707 #obsolete?5708 returns true5709Timebox5710 # order random5711 #merge_requests_enabled?5712 raises NotImplementedError5713 #resource_parent5714 raises NotImplementedError5715 #to_reference5716 raises NotImplementedError5717Gitlab::CodeOwners::ReferenceExtractor5718 #emails5719 includes all mentioned email addresses5720 #names5721 includes all mentioned usernames and groupnames5722 #references5723 includes all user-references once5724Ci::PipelineCreation::StartPipelineService5725 #execute5726 calls the pipeline runners matching validation service5727IncidentManagement::OncallRotations::PersistAllRotationsShiftsJob5728 # order random5729 .perform5730 creates a PersistOncallShiftsJob for each started rotation5731MetricsReportsComparerEntity5732 #as_json5733 contains the new metrics5734 contains existing metrics5735 contains removed metrics5736Types::RemoteDevelopment::WorkspaceType5737 # order random5738 is expected to require graphql authorizations :read_workspace5739 is expected to eq "Workspace"5740 is expected to have graphql fields :id, :cluster_agent, :project_id, :user, :name, :namespace, :max_hours_before_termination, :desired_state, :desired_state_updated_at, :actual_state, :responded_to_agent_at, :url, :editor, :devfile_ref, :devfile_path, :devfile, :processed_devfile, :deployment_resource_version, :created_at, and :updated_at5741PackageMetadata::Ingestion::CompressedPackage::LicenseIngestionTask5742 # order random5743 .execute5744 creates any data not in pm_licenses5745 updates the license map with the ids of all newly inserted licenses5746Gitlab::Usage::Metrics::Instrumentations::EpicsDeepestRelationshipLevelMetric5747 # order random5748 behaves like a correct instrumented metric value5749 has correct value5750Types::WorkItems::Widgets::ProgressInputType5751 # order random5752 is expected to eq "WorkItemWidgetProgressInput"5753 is expected to contain exactly "currentValue"5754Gitlab::Llm::Chain::ResponseModifier5755 # order random5756 on success5757 is expected to eq "This is the summary"5758 on error5759 is expected to eq ["This is the summary"]5760Gitlab::Llm::VertexAi::ModelConfigurations::CodeChat5761 # order random5762 #payload5763 returns default payload5764 #url5765 returns default codechat url from application settings5766Gitlab::Llm::Chain::Requests::VertexAi5767 # order random5768 initializer5769 initializes the vertex client5770 request5771 calls the vertex completion endpoint5772Types::VulnerabilitySortEnum5773 is expected to eq "VulnerabilitySort"5774 exposes all the existing Vulnerability sort orders5775Types::BurnupChartDailyTotalsType5776 is expected to eq "BurnupChartDailyTotals"5777 has specific fields5778Types::MergeRequests::DiffLlmSummaryType5779 # order random5780 is expected to have graphql fields :user, :merge_request_diff_id, :provider, :content, :created_at, and :updated_at5781 is expected to require graphql authorizations :read_merge_request5782admin/push_rules/_merge_request_approvals5783 shows settings form5784Types::VulnerabilityDetails::ListType5785 is expected to have graphql fields :name, :description, :fieldName, and :items5786Types::DoraMetricTypeEnum5787 includes a value for each DORA metric type5788Types::Security::FindingReportsComparer::ReportType5789 # order random5790 is expected to have graphql fields :base_report_created_at, :base_report_out_of_date, :head_report_created_at, :added, and :fixed5791ExportHelper5792 #group_export_descriptions5793 includes EE features in the description5794Gitlab::Usage::ServicePing::PayloadKeysProcessor5795 missing_instrumented_metrics_key_paths5796 returns the missing keys5797Types::TodoableInterface5798 .resolve_type5799 knows the correct type for EE-only objects5800Elastic migration documentation5801 # order random5802 has a dictionary record for every migration file5803Types::Projects::BranchRuleType5804 # order random5805 is expected to have graphql fields :approval_rules and :external_status_checks5806Types::VulnerabilityLocation::DependencyScanningType5807 is expected to have graphql fields :dependency, :file, and :blob_path5808Types::RootStorageStatisticsType5809 # order random5810 includes the EE specific fields5811Knapsack report was generated. Preview:5812{5813 "ee/spec/lib/gitlab/ci/templates/dependency_scanning_latest_gitlab_ci_yaml_spec.rb": 425.48860256199987,5814 "ee/spec/workers/elastic/migration_worker_spec.rb": 183.1425943160002,5815 "ee/spec/services/vulnerabilities/revert_to_detected_service_spec.rb": 138.92209353999988,5816 "ee/spec/models/geo/project_registry_spec.rb": 107.10489940699972,5817 "ee/spec/elastic/migrate/20230530500000_migrate_projects_to_separate_index_spec.rb": 74.81222246699963,5818 "ee/spec/replicators/geo/snippet_repository_replicator_spec.rb": 64.16509252299966,5819 "ee/spec/models/upload_spec.rb": 48.724828506999984,5820 "ee/spec/replicators/geo/design_management_repository_replicator_spec.rb": 63.554864841999915,5821 "ee/spec/models/approval_project_rule_spec.rb": 40.96110771000076,5822 "ee/spec/models/geo/package_file_registry_spec.rb": 51.01843145700059,5823 "ee/spec/models/concerns/elastic/repository_spec.rb": 35.8322750010002,5824 "ee/spec/finders/epics/cross_hierarchy_children_finder_spec.rb": 32.581030493999606,5825 "ee/spec/services/auto_merge/merge_train_service_spec.rb": 27.540680325999347,5826 "ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb": 26.483944949000033,5827 "ee/spec/models/dast/profile_schedule_spec.rb": 34.50402876499993,5828 "ee/spec/finders/iterations_finder_spec.rb": 23.178658965000068,5829 "ee/spec/models/elastic/migration_record_spec.rb": 23.820036195000284,5830 "ee/spec/services/application_settings/update_service_spec.rb": 23.309693584999877,5831 "ee/spec/serializers/merge_request_widget_entity_spec.rb": 23.671794606999356,5832 "ee/spec/lib/gitlab/ci/minutes/cost_factor_spec.rb": 28.549289667000266,5833 "ee/spec/graphql/ee/resolvers/project_issues_resolver_spec.rb": 18.01261389800038,5834 "ee/spec/lib/ee/gitlab/scim/group/provisioning_service_spec.rb": 22.559707673999583,5835 "ee/spec/elastic/migrate/20230711140500_backfill_archived_on_merge_requests_spec.rb": 19.794902435999575,5836 "ee/spec/helpers/search_helper_spec.rb": 16.57317177799996,5837 "ee/spec/lib/ee/gitlab/import_export/group/tree_saver_spec.rb": 14.657614318000014,5838 "ee/spec/workers/elastic_namespace_indexer_worker_spec.rb": 13.391842267999891,5839 "ee/spec/services/geo/design_repository_sync_service_spec.rb": 16.972428338999634,5840 "ee/spec/services/epics/epic_links/destroy_service_spec.rb": 12.077363569999761,5841 "ee/spec/models/requirements_management/test_report_spec.rb": 14.378215550999812,5842 "ee/spec/elastic/migrate/20230320011400_add_hashed_root_namespace_id_to_commits_spec.rb": 9.577674514000137,5843 "ee/spec/graphql/mutations/dast_on_demand_scans/create_spec.rb": 11.497614926000097,5844 "ee/spec/lib/ee/gitlab/web_hooks/rate_limiter_spec.rb": 13.458842713000195,5845 "ee/spec/elastic/migrate/20230628094243_add_archived_to_issues_spec.rb": 9.168541406000259,5846 "ee/spec/finders/dast_site_profiles_finder_spec.rb": 11.11232842499976,5847 "ee/spec/workers/elastic/project_transfer_worker_spec.rb": 11.765483893999772,5848 "ee/spec/services/vulnerability_feedback/destroy_service_spec.rb": 10.395848750999903,5849 "ee/spec/lib/ee/gitlab/alert_management/payload/prometheus_spec.rb": 11.556625910000548,5850 "ee/spec/elastic/migrate/20230719094243_add_archived_to_commits_spec.rb": 10.730848945000616,5851 "ee/spec/models/geo/group_wiki_repository_registry_spec.rb": 10.812194248000196,5852 "ee/spec/services/ee/boards/lists/create_service_spec.rb": 10.826938436999626,5853 "ee/spec/services/ee/boards/lists/list_service_spec.rb": 10.69904061699981,5854 "ee/spec/models/milestone_release_spec.rb": 7.300064211000063,5855 "ee/spec/lib/sidebars/groups/menus/security_compliance_menu_spec.rb": 8.744604628999696,5856 "ee/spec/services/security/dependency_list_service_spec.rb": 10.220846504999827,5857 "ee/spec/models/group_wiki_repository_spec.rb": 7.672841432000496,5858 "ee/spec/lib/ee/gitlab/pages/deployment_update_spec.rb": 4.7158066219999455,5859 "ee/spec/services/app_sec/dast/sites/find_or_create_service_spec.rb": 10.049321127999974,5860 "ee/spec/finders/geo/project_registry_finder_spec.rb": 9.820210505000432,5861 "ee/spec/workers/post_receive_spec.rb": 8.25491934799993,5862 "ee/spec/models/boards/epic_user_preference_spec.rb": 3.9315063839994764,5863 "ee/spec/graphql/resolvers/epics/children_resolver_spec.rb": 7.615418266999768,5864 "ee/spec/services/app_sec/dast/scan_configs/build_service_spec.rb": 6.386085162999734,5865 "ee/spec/graphql/mutations/incident_management/oncall_rotation/create_spec.rb": 5.001419850000275,5866 "ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb": 8.6014332499999,5867 "ee/spec/policies/deployment_policy_spec.rb": 5.074115155000072,5868 "ee/spec/graphql/mutations/projects/set_locked_spec.rb": 8.74303942000006,5869 "ee/spec/models/projects/all_protected_branches_rule_spec.rb": 4.701913463999517,5870 "ee/spec/lib/analytics/dora_performance_score_calculator_spec.rb": 5.871317213999646,5871 "ee/spec/helpers/groups/security_features_helper_spec.rb": 5.235469082999771,5872 "ee/spec/lib/gitlab/mirror_spec.rb": 5.746929173000353,5873 "ee/spec/lib/ee/gitlab/analytics/cycle_analytics/base_query_builder_spec.rb": 5.5777476059993205,5874 "ee/spec/services/work_items/widgets/progress_service/update_service_spec.rb": 6.109436395000557,5875 "ee/spec/services/ee/issues/close_service_spec.rb": 6.053981420000127,5876 "ee/spec/graphql/mutations/merge_requests/set_reviewers_spec.rb": 5.421775155999967,5877 "ee/spec/services/ci/process_pipeline_service_spec.rb": 4.896719156000472,5878 "ee/spec/workers/geo/project_sync_worker_spec.rb": 5.956946779999271,5879 "ee/spec/lib/system_check/geo/authorized_keys_check_spec.rb": 5.460490124999524,5880 "ee/spec/services/iterations/cadences/update_service_spec.rb": 5.667747468000016,5881 "ee/spec/workers/ee/repository_check/batch_worker_spec.rb": 5.778463370999816,5882 "ee/spec/models/concerns/elastic/namespace_update_spec.rb": 3.702782651000234,5883 "ee/spec/services/boards/epic_lists/list_service_spec.rb": 5.468289254999945,5884 "ee/spec/services/groups/restore_service_spec.rb": 4.393892848000178,5885 "ee/spec/services/registrations/import_namespace_create_service_spec.rb": 6.573227597999903,5886 "ee/spec/models/group_merge_request_approval_setting_spec.rb": 2.4229603210005735,5887 "ee/spec/services/ci/runners/reset_registration_token_service_spec.rb": 4.723717150000084,5888 "ee/spec/helpers/security_helper_spec.rb": 3.334902429000067,5889 "ee/spec/services/requirements_management/export_csv_service_spec.rb": 6.658459909999692,5890 "ee/spec/services/compliance_management/projects/create_ci_config_service_spec.rb": 6.177690084999995,5891 "ee/spec/services/ci/pipeline_creation/drop_not_runnable_builds_service_spec.rb": 4.77850223599944,5892 "ee/spec/policies/identity_provider_policy_spec.rb": 5.255537430999539,5893 "ee/spec/finders/ee/ci/daily_build_group_report_results_finder_spec.rb": 3.902690547999555,5894 "ee/spec/models/project_team_spec.rb": 2.5494511259994397,5895 "ee/spec/lib/audit/external_status_check_changes_auditor_spec.rb": 4.863412269999571,5896 "ee/spec/finders/work_items/widgets/filters/status_spec.rb": 2.8069603080002707,5897 "ee/spec/lib/telesign/transaction_callback_payload_spec.rb": 4.122774202000073,5898 "ee/spec/helpers/trial_registrations_helper_spec.rb": 2.777374160000363,5899 "ee/spec/workers/compliance_management/update_default_framework_worker_spec.rb": 5.883785116000581,5900 "ee/spec/tasks/gitlab/check_rake_spec.rb": 2.478094060999865,5901 "ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb": 3.4941326879998087,5902 "ee/spec/lib/gitlab/geo/log_cursor/events/repository_renamed_event_spec.rb": 6.302495975999591,5903 "ee/spec/helpers/ee/groups/settings_helper_spec.rb": 1.0896584709998933,5904 "ee/spec/workers/compliance_management/chain_of_custody_report_worker_spec.rb": 1.3633707919998415,5905 "ee/spec/views/shared/credentials_inventory/ssh_keys/_ssh_key.html.haml_spec.rb": 1.528942509999979,5906 "ee/spec/serializers/epic_entity_spec.rb": 4.819502882000052,5907 "ee/spec/lib/remote_development/workspaces/reconcile/desired_config_generator_spec.rb": 3.1986694900006114,5908 "ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 3.5115742470006808,5909 "ee/spec/services/vulnerabilities/historical_statistics/adjustment_service_spec.rb": 2.941854808000244,5910 "ee/spec/models/ee/integration_spec.rb": 2.501253970000107,5911 "ee/spec/services/onboarding/create_iterable_trigger_service_spec.rb": 0.883123837000312,5912 "ee/spec/models/dora/time_to_restore_service_metric_spec.rb": 1.8253129280001303,5913 "ee/spec/components/namespaces/combined_storage_users/non_owner_alert_component_spec.rb": 1.8879949940001097,5914 "ee/spec/models/incident_management/issuable_escalation_status_spec.rb": 5.689299749999918,5915 "ee/spec/serializers/vulnerability_entity_spec.rb": 1.4286178769998514,5916 "ee/spec/services/ee/namespace_settings/update_service_spec.rb": 2.2224371299998893,5917 "ee/spec/views/projects/security/dast_scanner_profiles/edit.html.haml_spec.rb": 3.579095301000052,5918 "ee/spec/graphql/resolvers/geo/lfs_object_registries_resolver_spec.rb": 2.562138526000126,5919 "ee/spec/lib/gitlab/web_ide/config/entry/schema_spec.rb": 4.762204335999741,5920 "ee/spec/views/layouts/_page.html.haml_spec.rb": 1.330237293999744,5921 "ee/spec/models/geo/push_user_spec.rb": 1.1194666399997004,5922 "ee/spec/presenters/group_clusterable_presenter_spec.rb": 2.5579817859998,5923 "ee/spec/graphql/resolvers/path_locks_resolver_spec.rb": 2.6998387659996297,5924 "ee/spec/policies/security/scan_policy_spec.rb": 2.678313227000217,5925 "ee/spec/models/merge_request/diff_llm_summary_spec.rb": 2.552127535999716,5926 "ee/spec/graphql/resolvers/ci/runners_jobs_statistics_resolver_spec.rb": 3.254895955000393,5927 "ee/spec/services/projects/setup_ci_cd_spec.rb": 3.395084324999516,5928 "ee/spec/services/elastic/indexing_control_service_spec.rb": 2.1034901190005257,5929 "ee/spec/graphql/mutations/deployments/deployment_approve_spec.rb": 2.051287931999468,5930 "ee/spec/services/llm/git_command_service_spec.rb": 4.2776311519992305,5931 "ee/spec/graphql/types/query_type_spec.rb": 0.5520151700002316,5932 "ee/spec/workers/ldap_group_sync_worker_spec.rb": 1.9151549819998763,5933 "ee/spec/workers/geo/verification_batch_worker_spec.rb": 0.8566029779995006,5934 "ee/spec/services/boards/epic_boards/visits/create_service_spec.rb": 0.8068555319996449,5935 "ee/spec/models/concerns/deprecated_approvals_before_merge_spec.rb": 3.380238816000201,5936 "ee/spec/services/external_status_checks/destroy_service_spec.rb": 3.6199119889997746,5937 "ee/spec/views/shared/credentials_inventory/_expiry_date.html.haml_spec.rb": 1.6962647179998385,5938 "ee/spec/graphql/mutations/dast_scanner_profiles/delete_spec.rb": 2.923472079000021,5939 "ee/spec/views/shared/milestones/_milestone.html.haml_spec.rb": 3.1846769209996637,5940 "ee/spec/views/projects/security/sast_configuration/show.html.haml_spec.rb": 0.84447370900034,5941 "ee/spec/services/security/security_orchestration_policies/fetch_policy_service_spec.rb": 1.7042654369997763,5942 "ee/spec/lib/gitlab/geo/git_push_http_spec.rb": 1.615735653000229,5943 "ee/spec/lib/ee/sidebars/your_work/panel_spec.rb": 4.113840864000849,5944 "ee/spec/models/ee/service_desk_setting_spec.rb": 1.834975038000266,5945 "ee/spec/lib/gitlab/llm/templates/generate_commit_message_spec.rb": 1.660177640999791,5946 "ee/spec/lib/sidebars/admin/menus/geo_menu_spec.rb": 1.4628038340006242,5947 "ee/spec/lib/gitlab/llm/open_ai/completions/summarize_review_spec.rb": 2.8049832380002044,5948 "ee/spec/helpers/routing/pseudonymization_helper_spec.rb": 2.694215116000123,5949 "ee/spec/helpers/compliance_management/compliance_framework/group_settings_helper_spec.rb": 1.4583180350000475,5950 "ee/spec/services/ee/members/groups/creator_service_spec.rb": 1.5298193500002526,5951 "ee/spec/lib/ee/gitlab/issuable/clone/copy_resource_events_service_spec.rb": 1.6758152390002579,5952 "ee/spec/lib/gitlab/llm/chain/parsers/chain_of_thought_parser_spec.rb": 4.2794979719992625,5953 "ee/spec/helpers/ee/feature_flags_helper_spec.rb": 1.2227592019999065,5954 "ee/spec/models/security/remediations_proxy_spec.rb": 1.4985243029996127,5955 "ee/spec/services/ee/members/import_project_team_service_spec.rb": 1.3285932740000135,5956 "ee/spec/models/system_access/microsoft_graph_access_token_spec.rb": 4.157631949999995,5957 "ee/spec/models/concerns/geo/has_replicator_spec.rb": 1.1156068090003828,5958 "ee/spec/helpers/merge_checks_helper_spec.rb": 1.2140447030005816,5959 "ee/spec/services/geo/repository_base_sync_service_spec.rb": 1.3185459650003395,5960 "ee/spec/workers/dependencies/export_worker_spec.rb": 1.333377584000118,5961 "ee/spec/finders/licenses_finder_spec.rb": 2.4354042639997715,5962 "ee/spec/services/vulnerability_scanners/list_service_spec.rb": 2.5226051580002604,5963 "ee/spec/lib/gitlab/email/message/account_validation_spec.rb": 1.063232223000341,5964 "ee/spec/services/ee/labels/promote_service_spec.rb": 1.116171409999879,5965 "ee/spec/graphql/resolvers/admin/cloud_licenses/current_license_resolver_spec.rb": 1.173801996000293,5966 "ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb": 0.9581363910001528,5967 "ee/spec/lib/gitlab/ci/config/required/processor_spec.rb": 0.9926133190001565,5968 "ee/spec/services/security/security_orchestration_policies/sync_scan_result_policies_project_service_spec.rb": 2.3765798579997863,5969 "ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb": 2.072026501000437,5970 "ee/spec/lib/ee/api/entities/member_role_spec.rb": 0.755687855999895,5971 "ee/spec/elastic/migrate/20230615101400_create_epic_index_spec.rb": 1.0793654819999574,5972 "ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb": 0.7428329970007326,5973 "ee/spec/serializers/audit_event_serializer_spec.rb": 0.7211507480005821,5974 "ee/spec/services/projects/open_issues_count_service_spec.rb": 0.8757591670000693,5975 "ee/spec/graphql/types/incident_management/oncall_rotation_type_spec.rb": 2.1857100920005905,5976 "ee/spec/models/elastic/reindexing_subtask_spec.rb": 1.972663678000572,5977 "ee/spec/workers/incident_management/pending_escalations/alert_check_worker_spec.rb": 0.9532313309991878,5978 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_saver_spec.rb": 0.7294650580006419,5979 "ee/spec/finders/auth/group_saml_identity_finder_spec.rb": 0.6395644140002332,5980 "ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb": 0.7547194359995046,5981 "ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb": 0.7147950480002692,5982 "ee/spec/models/concerns/timebox_spec.rb": 0.6804720609998185,5983 "ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb": 2.05595686200013,5984 "ee/spec/services/ci/pipeline_creation/start_pipeline_service_spec.rb": 0.6427047039996978,5985 "ee/spec/workers/incident_management/oncall_rotations/persist_all_rotations_shifts_job_spec.rb": 1.9900574459998097,5986 "ee/spec/serializers/metrics_reports_comparer_entity_spec.rb": 0.7554168460001165,5987 "ee/spec/graphql/types/remote_development/workspace_type_spec.rb": 0.6959067390007476,5988 "ee/spec/services/package_metadata/ingestion/compressed_package/license_ingestion_task_spec.rb": 0.6428306729994802,5989 "ee/spec/lib/gitlab/usage/metrics/instrumentations/epics_deepest_relationship_level_metric_spec.rb": 0.6992031899999347,5990 "ee/spec/graphql/types/work_items/widgets/progress_input_type_spec.rb": 0.5556706499992288,5991 "ee/spec/lib/gitlab/llm/chain/response_modifier_spec.rb": 0.5325946719995045,5992 "ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_chat_spec.rb": 0.552628200000072,5993 "ee/spec/lib/gitlab/llm/chain/requests/vertex_ai_spec.rb": 1.8644668259994432,5994 "ee/spec/graphql/types/vulnerability_sort_enum_spec.rb": 1.860675306000303,5995 "ee/spec/graphql/types/burnup_chart_daily_totals_type_spec.rb": 0.5534870600004069,5996 "ee/spec/graphql/types/merge_requests/diff_llm_summary_type_spec.rb": 0.6295148440003686,5997 "ee/spec/views/admin/push_rules/_merge_request_approvals.html.haml_spec.rb": 0.4953093140002238,5998 "ee/spec/graphql/types/vulnerability_details/list_type_spec.rb": 0.40453453099962644,5999 "ee/spec/graphql/types/dora_metric_type_enum_spec.rb": 0.4051020309998421,6000 "ee/spec/graphql/types/security/finding_reports_comparer/report_type_spec.rb": 0.475760616000116,6001 "ee/spec/helpers/ee/export_helper_spec.rb": 0.4542976769998859,6002 "ee/spec/lib/ee/gitlab/usage/service_ping/payload_keys_processor_spec.rb": 0.45605467699988367,6003 "ee/spec/graphql/ee/types/todoable_interface_spec.rb": 0.4265057889997479,6004 "ee/spec/elastic/docs_spec.rb": 0.4879238749999786,6005 "ee/spec/graphql/ee/types/projects/branch_rule_type_spec.rb": 0.4164432800007489,6006 "ee/spec/graphql/types/vulnerability_location/dependency_scanning_type_spec.rb": 0.41918873000031454,6007 "ee/spec/graphql/types/root_storage_statistics_type_spec.rb": 0.41130348000024246008}6009Knapsack global time execution for tests: 36m 54s6010Pending: (Failures listed here are expected and do not affect your suite's status)6011 1) Resolvers::Geo::LfsObjectRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError6012 # Skipping because verification is enabled for LfsObject6013 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776014Finished in 37 minutes 3 seconds (files took 1 minute 18.54 seconds to load)60152682 examples, 0 failures, 1 pending6016Randomized with seed 143056017[TEST PROF INFO] Time spent in factories: 14:06.612 (37.51% of total time)6018RSpec exited with 0.6019No examples to retry, congrats!6021Running after script...6022$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"6032Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy6034Uploading artifacts...6035WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6036coverage/: found 5 matching artifact files and directories 6037crystalball/: found 2 matching artifact files and directories 6038WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6039knapsack/: found 4 matching artifact files and directories 6040rspec/: found 10 matching artifact files and directories 6041WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6042log/*.log: found 20 matching artifact files and directories 6043WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4749214771/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6044WARNING: Retrying... context=artifacts-uploader error=request redirected6045Uploading artifacts as "archive" to coordinator... 201 Created id=4749214771 responseStatus=201 Created token=64_NAPoR6046Uploading artifacts...6047rspec/rspec-*.xml: found 1 matching artifact files and directories 6048WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4749214771/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6049WARNING: Retrying... context=artifacts-uploader error=request redirected6050Uploading artifacts as "junit" to coordinator... 201 Created id=4749214771 responseStatus=201 Created token=64_NAPoR6052Job succeeded