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

🤖 GitLab Bot 🤖
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-5.private.runners-manager.gitlab.com/gitlab.com/gitlab-org Zi_8oswQ, system ID: s_8a4f217c24b63 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.17-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:d0675d033b87382205d08b598a004a99a1f6c4bd377cc86bb6df8957ce7dbb1c for redis:6.2-alpine with digest redis@sha256:740b5c973d1c9eea6e124a3905ba73d32354d0549f98ccc9e67af1af2a9ba478 ...20WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.21WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.22Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...23Authenticating with credentials from job payload (GitLab Registry)24Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...25Using docker image sha256:c635f6eed733b5c5a06d4a28aff99748c4cbefca04af192e08f10d87387c6485 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:b3cc177faa2dc274a32b66866536932c39be8578316b364363735fc0b8e1f9cb ...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.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...32Using docker image sha256:24a9e92645b17c878623efd51b7564f81e480bd281e94d7f33971082e0ca80e0 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-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.17-postgresql-14@sha256:ca349d228348f199cb57f574476584f42aca338747393ed93a9032a0261afc4d ...34Running on runner-zi8oswq-project-278964-concurrent-0 via runner-zi8oswq-private-1691668078-2062f3a3...36Fetching changes with git depth set to 20...37Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/38Created fresh repository.39remote: Enumerating objects: 145438, done. 40remote: Counting objects: 100% (145438/145438), done. 41remote: Compressing objects: 100% (96447/96447), done. 42remote: Total 145438 (delta 63547), reused 98646 (delta 43407), pack-reused 0 43Receiving objects: 100% (145438/145438), 119.87 MiB | 22.09 MiB/s, done.44Resolving deltas: 100% (63547/63547), done.46 * [new ref] refs/pipelines/962009091 -> refs/pipelines/96200909147Checking out 2a9b6857 as detached HEAD (ref is refs/merge-requests/128972/merge)...48Skipping Git submodules setup49$ git remote set-url origin "${CI_REPOSITORY_URL}"51Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...52cache.zip is up to date 53Successfully extracted cache55Downloading artifacts for compile-test-assets (4841630955)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630955 responseStatus=200 OK token=64_qd-sr57Downloading artifacts for detect-tests (4841630974)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630974 responseStatus=200 OK token=64_qd-sr59Downloading artifacts for retrieve-tests-metadata (4841630985)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630985 responseStatus=200 OK token=64_qd-sr61Downloading artifacts for setup-test-env (4841630964)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4841630964 responseStatus=200 OK token=64_qd-sr64Using docker image sha256:24a9e92645b17c878623efd51b7564f81e480bd281e94d7f33971082e0ca80e0 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-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.17-postgresql-14@sha256:ca349d228348f199cb57f574476584f42aca338747393ed93a9032a0261afc4d ...65$ echo $FOSS_ONLY66$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb67$ export GOPATH=$CI_PROJECT_DIR/.go68$ mkdir -p $GOPATH69$ source scripts/utils.sh70$ source scripts/prepare_build.sh102Using decomposed database config (config/database.yml.decomposed-postgresql)103Geo DB will be set up.104Embedding DB will be set up.120$ source ./scripts/rspec_helpers.sh121$ run_timed_command "gem install knapsack --no-document"122$ gem install knapsack --no-document123Successfully installed knapsack-4.0.01241 gem installed125==> 'gem install knapsack --no-document' succeeded in 1 seconds.126$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"131$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"132$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"133$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"134SKIP_FLAKY_TESTS_AUTOMATICALLY: 135RETRY_FAILED_TESTS_IN_NEW_PROCESS: true136KNAPSACK_GENERATE_REPORT: true137FLAKY_RSPEC_GENERATE_REPORT: true138KNAPSACK_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.rb139KNAPSACK_LOG_LEVEL: debug140KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg14_13_18_report.json141FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json142FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg14_13_18_report.json143NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg14_13_18_report.json144RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-4841631402.txt145CRYSTALBALL: 146RSPEC_TESTS_MAPPING_ENABLED: 147RSPEC_TESTS_FILTER_FILE: 148Shell set options (set -o) enabled:149braceexpand on150hashall on151interactive-comments on152pipefail on153Running 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-4841631402.json --format RspecJunitFormatter --out rspec/rspec-4841631402.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house -- ee/spec/policies/project_policy_spec.rb ee/spec/models/ee/group_spec.rb ee/spec/models/epic_issue_spec.rb ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb ee/spec/lib/ee/gitlab/usage_data_spec.rb ee/spec/replicators/geo/pipeline_artifact_replicator_spec.rb ee/spec/replicators/geo/pages_deployment_replicator_spec.rb ee/spec/replicators/geo/terraform_state_version_replicator_spec.rb ee/spec/services/epic_issues/create_service_spec.rb ee/spec/models/member_spec.rb ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb ee/spec/models/geo/pipeline_artifact_registry_spec.rb ee/spec/services/geo/file_registry_removal_service_spec.rb ee/spec/models/dast_site_profile_spec.rb ee/spec/services/ci/process_build_service_spec.rb ee/spec/models/namespace_setting_spec.rb ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb ee/spec/lib/elastic/latest/user_class_proxy_spec.rb ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb ee/spec/serializers/member_entity_spec.rb ee/spec/models/elastic/migration_record_spec.rb ee/spec/services/app_sec/dast/profiles/update_service_spec.rb ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities_spec.rb ee/spec/models/ee/project_group_link_spec.rb ee/spec/graphql/ee/resolvers/project_issues_resolver_spec.rb ee/spec/elastic/migrate/20230628094700_backfill_archived_on_issues_spec.rb ee/spec/services/security/ingestion/tasks/ingest_findings_spec.rb ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb ee/spec/finders/security/scan_execution_policies_finder_spec.rb ee/spec/lib/elastic/latest/note_class_proxy_spec.rb ee/spec/graphql/resolvers/compliance_management/merge_requests/compliance_violation_resolver_spec.rb ee/spec/models/sbom/occurrence_spec.rb ee/spec/services/ee/boards/lists/create_service_spec.rb ee/spec/serializers/status_page/incident_entity_spec.rb ee/spec/services/vulnerabilities/update_service_spec.rb ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb ee/spec/elastic/migrate/20230202100000_add_hashed_root_namespace_id_to_notes_spec.rb ee/spec/graphql/mutations/issues/set_epic_spec.rb ee/spec/finders/security/vulnerability_reads_finder_spec.rb ee/spec/services/projects/mark_for_deletion_service_spec.rb ee/spec/elastic/migrate/20230208100000_reindex_users_spec.rb ee/spec/services/epics/update_dates_service_spec.rb ee/spec/serializers/blocking_merge_request_entity_spec.rb ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb ee/spec/finders/sbom/dependencies_finder_spec.rb ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb ee/spec/services/ci/pipeline_trigger_service_spec.rb ee/spec/lib/arkose/verify_response_spec.rb ee/spec/finders/notes_finder_spec.rb ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb ee/spec/services/ee/users/authorized_build_service_spec.rb ee/spec/models/dora/watchers/issue_watcher_spec.rb ee/spec/models/deployments/approval_spec.rb ee/spec/models/projects/compliance_standards/adherence_spec.rb ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb ee/spec/services/ee/ip_restrictions/update_service_spec.rb ee/spec/services/deployments/auto_rollback_service_spec.rb ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater_spec.rb ee/spec/graphql/types/admin/cloud_licenses/current_license_type_spec.rb ee/spec/graphql/mutations/vulnerabilities/bulk_dismiss_spec.rb ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb ee/spec/models/remote_mirror_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_edited_spec.rb ee/spec/services/projects/group_links/destroy_service_spec.rb ee/spec/lib/gitlab/geo/oauth/session_spec.rb ee/spec/lib/ee/api/entities/geo_node_status_spec.rb ee/spec/models/ee/projects/wiki_repository_spec.rb ee/spec/serializers/ee/environment_serializer_spec.rb ee/spec/graphql/mutations/merge_requests/set_reviewers_spec.rb ee/spec/finders/ee/fork_targets_finder_spec.rb ee/spec/services/licenses/destroy_service_spec.rb ee/spec/workers/abuse/new_abuse_report_worker_spec.rb ee/spec/routing/directs/subscription_portal_spec.rb ee/spec/services/jira/jql_builder_service_spec.rb ee/spec/lib/banzai/filter/references/label_reference_filter_spec.rb ee/spec/services/users/service_accounts/create_service_spec.rb ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb ee/spec/lib/sidebars/projects/menus/trial_widget_menu_spec.rb ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb ee/spec/lib/gitlab/ci/config/entry/azure_key_vault/secret_spec.rb ee/spec/services/groups/mark_for_deletion_service_spec.rb ee/spec/services/package_metadata/affected_package_data_object_spec.rb ee/spec/workers/projects/repository_destroy_worker_spec.rb ee/spec/lib/ee/gitlab/etag_caching/router/rails_spec.rb ee/spec/models/concerns/elastic/namespace_update_spec.rb ee/spec/services/protected_environments/search_service_spec.rb ee/spec/lib/system_check/geo/http_connection_check_spec.rb ee/spec/models/merge_request/suggested_reviewers_merge_request_spec.rb ee/spec/graphql/types/vulnerability_request_type_spec.rb ee/spec/services/llm/summarize_submitted_review_service_spec.rb ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb ee/spec/serializers/epics/related_epic_entity_spec.rb ee/spec/models/approver_group_spec.rb ee/spec/services/projects/after_rename_service_spec.rb ee/spec/services/ee/post_receive_service_spec.rb ee/spec/lib/gitlab/ci/parsers/security/validators/default_branch_image_validator_spec.rb ee/spec/services/compliance_management/standards/gitlab/prevent_approval_by_committer_service_spec.rb ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb ee/spec/helpers/license_helper_spec.rb ee/spec/models/board_assignee_spec.rb ee/spec/policies/instance_security_dashboard_policy_spec.rb ee/spec/finders/ee/work_items/work_items_finder_spec.rb ee/spec/models/identity_spec.rb ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb ee/spec/workers/compliance_management/standards/gitlab/prevent_approval_by_author_group_worker_spec.rb ee/spec/lib/gitlab/ci/config/entry/job_spec.rb ee/spec/services/boards/epic_lists/destroy_service_spec.rb ee/spec/graphql/ee/types/merge_request_type_spec.rb ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb ee/spec/graphql/mutations/boards/update_spec.rb ee/spec/services/audit_events/streaming/instance_headers/update_service_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_approval_project_rules_metric_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_assigned_security_policy_project_metric_spec.rb ee/spec/models/approvals/wrapped_rule_set_spec.rb ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb ee/spec/models/plan_spec.rb ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb ee/spec/lib/gitlab/llm/chain/answer_spec.rb ee/spec/services/projects/operations/update_service_spec.rb ee/spec/models/protected_tag/create_access_level_spec.rb ee/spec/views/projects/security/dast_scanner_profiles/new.html.haml_spec.rb ee/spec/helpers/ee/hooks_helper_spec.rb ee/spec/workers/personal_access_tokens/groups/policy_worker_spec.rb ee/spec/lib/api/helpers/ai_helper_spec.rb ee/spec/services/users/update_highest_member_role_service_spec.rb ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb ee/spec/models/concerns/elastic/projects_search_spec.rb ee/spec/services/arkose/record_user_data_service_spec.rb ee/spec/helpers/ee/graph_helper_spec.rb ee/spec/services/ee/members/approve_access_request_service_spec.rb ee/spec/services/ee/users/create_service_spec.rb ee/spec/models/boards/epic_board_spec.rb ee/spec/policies/ci/editor/ai_conversation/message_policy_spec.rb ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_chat_spec.rb ee/spec/services/merge_requests/mergeability/check_external_status_checks_passed_service_spec.rb ee/spec/services/geo/repository_renamed_event_store_spec.rb ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb ee/spec/workers/namespaces/free_user_cap/over_limit_notification_worker_spec.rb ee/spec/lib/elastic/latest/routing_spec.rb ee/spec/workers/merge_request_reset_approvals_worker_spec.rb ee/spec/lib/ee/gitlab/git_access_snippet_spec.rb ee/spec/services/ee/alert_management/http_integrations/update_service_spec.rb ee/spec/views/registrations/welcome/show.html.haml_spec.rb ee/spec/services/geo/repository_deleted_event_store_spec.rb ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb ee/spec/policies/security/scan_policy_spec.rb ee/spec/services/ee/authorized_project_update/project_recalculate_service_spec.rb ee/spec/lib/ee/gitlab/import_export/wiki_repo_saver_spec.rb ee/spec/policies/merge_request_diff_policy_spec.rb ee/spec/models/ldap_group_link_spec.rb ee/spec/serializers/integrations/field_entity_spec.rb ee/spec/graphql/resolvers/boards/epic_boards_resolvers_spec.rb ee/spec/lib/ee/gitlab/namespace_storage_size_error_message_spec.rb ee/spec/lib/gitlab/object_hierarchy_spec.rb ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb ee/spec/services/geo/repository_registry_removal_service_spec.rb ee/spec/lib/gitlab/return_to_location_spec.rb ee/spec/workers/security/scan_result_policies/sync_findings_to_approval_rules_worker_spec.rb ee/spec/models/ee/resource_label_event_spec.rb ee/spec/services/package_metadata/ingestion/tasks/ingest_package_version_licenses_spec.rb ee/spec/models/onboarding/learn_gitlab_spec.rb ee/spec/models/ee/namespace_ci_cd_setting_spec.rb ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb ee/spec/lib/gitlab/llm/chain/utils/text_processing_spec.rb ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb ee/spec/graphql/types/geo/pages_deployment_registry_type_spec.rb ee/spec/presenters/web_hooks/group/hook_presenter_spec.rb ee/spec/services/analytics/devops_adoption/snapshots/calculate_and_save_service_spec.rb ee/spec/elastic/migrate/20210825110300_backfill_namespace_ancestry_for_issues_spec.rb ee/spec/elastic/migrate/20230111142636_add_internal_to_notes_spec.rb ee/spec/lib/ee/api/entities/scim/user_name_spec.rb ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb ee/spec/graphql/types/security/training_url_request_status_enum_spec.rb ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb ee/spec/helpers/groups/analytics_dashboard_helper_spec.rb ee/spec/helpers/ee/work_items_helper_spec.rb ee/spec/models/boards/epic_board_label_spec.rb ee/spec/graphql/types/group_release_stats_type_spec.rb ee/spec/graphql/types/projects/compliance_standards/adherence_check_name_enum_spec.rb ee/spec/graphql/types/audit_events/streaming/header_type_spec.rb ee/spec/graphql/ee/types/member_access_level_enum_spec.rb ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_completion_spec.rb ee/spec/workers/geo/verification_cron_worker_spec.rb ee/spec/lib/gitlab/project_template_spec.rb ee/spec/lib/gitlab/llm/open_ai/response_modifiers/chat_spec.rb ee/spec/graphql/types/vulnerability_confidence_enum_spec.rb ee/spec/lib/audit/base_changes_auditor_spec.rb ee/spec/graphql/types/ci/minutes/project_monthly_usage_type_spec.rb ee/spec/lib/gitlab/llm/chain/tools/issue_identifier/prompts/anthropic_spec.rb ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb ee/spec/graphql/types/forecasting/forecast_type_spec.rb ee/spec/lib/gitlab/llm/vertex_ai/templates/explain_code_spec.rb ee/spec/serializers/status_page/renderer_spec.rb ee/spec/graphql/types/vulnerability_details/file_location_type_spec.rb ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rbKnapsack report generator started!154/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!155/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!156/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/reconcile_service.rb:38: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!157/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!158/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!159/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!160/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!161/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!162/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!163/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!164/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!165/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!166/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!167/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!168/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!169/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!170/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!171/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!172/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!173/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!174/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!175/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!176/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!177/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!178/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!179/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!180/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!181/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!182/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!183/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!184/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!185/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!186/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!187/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!188/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/main.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!189/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!190/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!191/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/agent_infos_observer.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!192/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!193/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!194/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_to_infos_converter.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!195/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_validator.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!196/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/rails_infos_observer.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!197/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/workspaces_to_rails_infos_converter.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!198/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/orphaned_workspaces_observer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!199/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!200/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_finder.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!201/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!202Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}203Test environment set up in 0.633035641 seconds204ProjectPolicy205 basic permissions206 behaves like project policies as anonymous207 abilities for public projects208 when a project has pending invites209 does not grant owner access210 behaves like archived project policies211 when the project is archived212 disables write actions on all relevant project features213 disables some other important write actions214 does not disable other abilities215 abilities for non-public projects216 is expected to be banned217 behaves like project policies as guest218 as a direct project member219 abilities for public projects220 is expected not to be allowed :set_note_created_at221 abilities for non-public projects222 is expected not to be allowed :set_note_created_at223 behaves like deploy token does not get confused with user224 is expected not to be allowed :set_note_created_at225 behaves like archived project policies226 when the project is archived227 disables write actions on all relevant project features228 disables some other important write actions229 does not disable other abilities230 public builds enabled231 is expected to be allowed :read_pipeline232 when public builds disabled233 is expected not to be allowed :read_pipeline234 when builds are disabled235 is expected to be allowed :read_pipeline236 as an inherited member from the group237 abilities for private projects238 is expected not to be allowed :set_note_created_at239 behaves like project policies as reporter240 abilities for non-public projects241 is expected not to be allowed :set_note_created_at242 behaves like deploy token does not get confused with user243 is expected not to be allowed :set_note_created_at244 behaves like archived project policies245 when the project is archived246 disables write actions on all relevant project features247 disables some other important write actions248 does not disable other abilities249 as an inherited member from the group250 abilities for private projects251 is expected not to be allowed :set_note_created_at252 behaves like project policies as developer253 abilities for non-public projects254 is expected not to be allowed :set_note_created_at255 behaves like deploy token does not get confused with user256 is expected not to be allowed :set_note_created_at257 behaves like archived project policies258 when the project is archived259 disables write actions on all relevant project features260 disables some other important write actions261 does not disable other abilities262 as an inherited member from the group263 abilities for private projects264 is expected not to be allowed :set_note_created_at265 behaves like project policies as maintainer266 abilities for non-public projects267 is expected not to be allowed :set_note_created_at268 behaves like deploy token does not get confused with user269 is expected not to be allowed :set_note_created_at270 behaves like archived project policies271 when the project is archived272 disables write actions on all relevant project features273 disables some other important write actions274 does not disable other abilities275 behaves like project policies as owner276 abilities for non-public projects277 is expected to be allowed :set_note_created_at278 behaves like deploy token does not get confused with user279 is expected not to be allowed :set_note_created_at280 behaves like archived project policies281 when the project is archived282 disables write actions on all relevant project features283 disables some other important write actions284 does not disable other abilities285 behaves like project policies as admin with admin mode286 abilities for non-public projects287 is expected to be allowed :set_note_created_at288 deploy token does not get confused with user289 is expected not to be allowed :set_note_created_at290 behaves like archived project policies291 when the project is archived292 disables write actions on all relevant project features293 disables some other important write actions294 does not disable other abilities295 abilities for all project visibility296 behaves like project private features with read_all_resources ability297 for public projects298 allows the download_code ability299 for internal projects300 allows the download_code ability301 for private projects302 allows the download_code ability303 behaves like project policies as admin without admin mode304 abilities for non-public projects305 is expected to be banned306 deploy token does not get confused with user307 is expected to be banned308 auditor309 who is not a team member310 is expected to be allowed :download_code, :download_wiki_code, :read_project, :read_issue_board, :read_issue_board_list, :read_project_for_iids, :read_issue_iid, :read_merge_request_iid, :read_wiki, :read_issue, :read_label, :read_planning_hierarchy, :read_issue_link, :read_milestone, :read_snippet, :read_project_member, :read_note, :read_cycle_analytics, :read_pipeline, :read_build, :read_commit_status, :read_container_image, :read_environment, :read_deployment, :read_merge_request, :read_pages, :create_merge_request_in, :award_emoji, :read_project_security_dashboard, :read_security_resource, :read_vulnerability_scanner, :read_software_license_policy, :read_merge_train, :read_release, :read_project_audit_events, :read_cluster, :read_terraform_state, :read_project_merge_request_analytics, :read_on_demand_dast_scan, and :read_alert_management_alert311 who is a team member312 is expected to be allowed :download_code, :download_wiki_code, :read_project, :read_issue_board, :read_issue_board_list, :read_project_for_iids, :read_issue_iid, :read_merge_request_iid, :read_wiki, :read_issue, :read_label, :read_planning_hierarchy, :read_issue_link, :read_milestone, :read_snippet, :read_project_member, :read_note, :read_cycle_analytics, :read_pipeline, :read_build, :read_commit_status, :read_container_image, :read_environment, :read_deployment, :read_merge_request, :read_pages, :create_merge_request_in, :award_emoji, :read_project_security_dashboard, :read_security_resource, :read_vulnerability_scanner, :read_software_license_policy, :read_merge_train, :read_release, :read_project_audit_events, :read_cluster, :read_terraform_state, :read_project_merge_request_analytics, :read_on_demand_dast_scan, and :read_alert_management_alert313 behaves like project private features with read_all_resources ability314 for public projects315 allows the download_code ability316 for internal projects317 allows the download_code ability318 for private projects319 allows the download_code ability320 with project feature related policies321 with project feature container_registry_access_level322 project_visibility: :public, access_level: 20, allowed: true323 always allows permissions except when feature disabled324 project_visibility: :public, access_level: 10, allowed: true325 always allows permissions except when feature disabled326 project_visibility: :public, access_level: 0, allowed: false327 always allows permissions except when feature disabled328 project_visibility: :internal, access_level: 20, allowed: true329 always allows permissions except when feature disabled330 project_visibility: :internal, access_level: 10, allowed: true331 always allows permissions except when feature disabled332 project_visibility: :internal, access_level: 0, allowed: false333 always allows permissions except when feature disabled334 project_visibility: :private, access_level: 20, allowed: true335 always allows permissions except when feature disabled336 project_visibility: :private, access_level: 10, allowed: true337 always allows permissions except when feature disabled338 project_visibility: :private, access_level: 0, allowed: false339 always allows permissions except when feature disabled340 with project feature merge_requests_access_level341 project_visibility: :public, access_level: 20, allowed: true342 always allows permissions except when feature disabled343 project_visibility: :public, access_level: 10, allowed: true344 always allows permissions except when feature disabled345 project_visibility: :public, access_level: 0, allowed: false346 always allows permissions except when feature disabled347 project_visibility: :internal, access_level: 20, allowed: true348 always allows permissions except when feature disabled349 project_visibility: :internal, access_level: 10, allowed: true350 always allows permissions except when feature disabled351 project_visibility: :internal, access_level: 0, allowed: false352 always allows permissions except when feature disabled353 project_visibility: :private, access_level: 20, allowed: true354 always allows permissions except when feature disabled355 project_visibility: :private, access_level: 10, allowed: true356 always allows permissions except when feature disabled357 project_visibility: :private, access_level: 0, allowed: false358 always allows permissions except when feature disabled359 with project feature monitor_access_level360 project_visibility: :public, access_level: 20, allowed: true361 always allows permissions except when feature disabled362 project_visibility: :public, access_level: 10, allowed: true363 always allows permissions except when feature disabled364 project_visibility: :public, access_level: 0, allowed: false365 always allows permissions except when feature disabled366 project_visibility: :internal, access_level: 20, allowed: true367 always allows permissions except when feature disabled368 project_visibility: :internal, access_level: 10, allowed: true369 always allows permissions except when feature disabled370 project_visibility: :internal, access_level: 0, allowed: false371 always allows permissions except when feature disabled372 project_visibility: :private, access_level: 20, allowed: true373 always allows permissions except when feature disabled374 project_visibility: :private, access_level: 10, allowed: true375 always allows permissions except when feature disabled376 project_visibility: :private, access_level: 0, allowed: false377 always allows permissions except when feature disabled378 iterations379 in a personal project380 when feature is disabled381 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration382 when feature is enabled383 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration384 in a group project385 when feature is disabled386 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration387 when feature is enabled388 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration389 when issues are disabled but merge requests are enabled390 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration391 when issues are enabled but merge requests are enabled392 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration393 when both issues and merge requests are disabled394 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration395 the_user: developer, allowed: [:read_iteration, :create_iteration, :admin_iteration], disallowed: []396 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration397 is expected to be disallowed398 the_user: guest, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]399 is expected to be allowed :read_iteration400 is expected to be disallowed :create_iteration and :admin_iteration401 the_user: non_member, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]402 is expected to be allowed :read_iteration403 is expected to be disallowed :create_iteration and :admin_iteration404 the_user: anonymous, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]405 is expected to be allowed :read_iteration406 is expected to be disallowed :create_iteration and :admin_iteration407 when the project is private408 when user is not a member409 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration410 when user is logged out411 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration412 issues feature413 when the feature is disabled414 disables boards permissions415 disables issues analytics416 merge requests feature417 when the feature is disabled418 disables issues analytics419 admin_mirror420 with remote mirror setting enabled421 with admin422 when admin mode enabled423 is expected to be allowed :admin_mirror424 when admin mode disabled425 is expected to be disallowed :admin_mirror426 with owner427 is expected to be allowed :admin_mirror428 with developer429 is expected to be disallowed :admin_mirror430 with remote mirror setting disabled431 with admin432 when admin mode enabled433 is expected to be allowed :admin_mirror434 when admin mode disabled435 is expected to be disallowed :admin_mirror436 with owner437 is expected to be disallowed :admin_mirror438 with remote mirrors feature disabled439 with admin440 is expected to be disallowed :admin_mirror441 with owner442 is expected to be disallowed :admin_mirror443 with remote mirrors feature enabled444 with admin445 when admin mode enabled446 is expected to be allowed :admin_mirror447 when admin mode disabled448 is expected to be disallowed :admin_mirror449 with owner450 is expected to be allowed :admin_mirror451 reading a project452 with an external authorization service453 allows auditors454 when SAML SSO is enabled for resource455 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"456 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled457 when resource is private458 for user459 does not allow read project460 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: true, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"461 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled462 when resource is private463 for user464 does not allow read project465 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: true, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"466 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled467 when resource is private468 for user469 allows read project470 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"471 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled472 when resource is private473 for user474 does not allow read project475 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"476 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled477 when resource is private478 for user479 allows read project480 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"481 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled482 when resource is private483 for user484 allows read project485 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"486 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled487 when resource is private488 for user489 allows read project490 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow to read project due to its visibility level"491 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled492 when resource is private493 for user494 does not allow to read project due to its visibility level495 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow to read project due to its visibility level"496 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled497 when resource is private498 for user499 does not allow to read project due to its visibility level500 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"501 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled502 when resource is private503 for user504 allows read project505 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"506 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled507 when resource is private508 for user509 allows read project510 resource: project, resource_visibility_level: "private", enforced_sso?: false, user: not_signed_in_user, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow to read project due to its visibility level"511 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled512 when resource is private513 for user514 does not allow to read project due to its visibility level515 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"516 when 'Enforce SSO-only authentication for web activity for this group' option is enabled517 when resource is private518 for user519 does not allow read project520 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: true, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"521 when 'Enforce SSO-only authentication for web activity for this group' option is enabled522 when resource is private523 for user524 does not allow read project525 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: true, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"526 when 'Enforce SSO-only authentication for web activity for this group' option is enabled527 when resource is private528 for user529 allows read project530 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"531 when 'Enforce SSO-only authentication for web activity for this group' option is enabled532 when resource is private533 for user534 does not allow read project535 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"536 when 'Enforce SSO-only authentication for web activity for this group' option is enabled537 when resource is private538 for user539 allows read project540 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"541 when 'Enforce SSO-only authentication for web activity for this group' option is enabled542 when resource is private543 for user544 allows read project545 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"546 when 'Enforce SSO-only authentication for web activity for this group' option is enabled547 when resource is private548 for user549 does not allow read project550 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: true, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"551 when 'Enforce SSO-only authentication for web activity for this group' option is enabled552 when resource is private553 for user554 does not allow read project555 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"556 when 'Enforce SSO-only authentication for web activity for this group' option is enabled557 when resource is private558 for user559 does not allow read project560 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"561 when 'Enforce SSO-only authentication for web activity for this group' option is enabled562 when resource is private563 for user564 allows read project565 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"566 when 'Enforce SSO-only authentication for web activity for this group' option is enabled567 when resource is private568 for user569 allows read project570 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"571 when 'Enforce SSO-only authentication for web activity for this group' option is enabled572 when resource is private573 for user574 does not allow read project575 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"576 when 'Enforce SSO-only authentication for web activity for this group' option is enabled577 when resource is private578 for user579 does not allow read project580 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"581 when 'Enforce SSO-only authentication for web activity for this group' option is enabled582 when resource is private583 for user584 allows read project585 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"586 when 'Enforce SSO-only authentication for web activity for this group' option is enabled587 when resource is private588 for user589 allows read project590 resource: project, resource_visibility_level: "private", enforced_sso?: true, user: not_signed_in_user, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"591 when 'Enforce SSO-only authentication for web activity for this group' option is enabled592 when resource is private593 for user594 does not allow read project595 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"596 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled597 when resource is public598 for user599 does not allow read project600 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: true, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"601 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled602 when resource is public603 for user604 does not allow read project605 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: true, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"606 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled607 when resource is public608 for user609 allows read project610 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"611 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled612 when resource is public613 for user614 does not allow read project615 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"616 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled617 when resource is public618 for user619 allows read project620 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"621 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled622 when resource is public623 for user624 allows read project625 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"626 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled627 when resource is public628 for user629 allows read project630 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"631 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled632 when resource is public633 for user634 allows read project635 resource: project, resource_visibility_level: "public", enforced_sso?: false, user: not_signed_in_user, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"636 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled637 when resource is public638 for user639 allows read project640 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"641 when 'Enforce SSO-only authentication for web activity for this group' option is enabled642 when resource is public643 for user644 does not allow read project645 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: true, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"646 when 'Enforce SSO-only authentication for web activity for this group' option is enabled647 when resource is public648 for user649 does not allow read project650 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: true, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"651 when 'Enforce SSO-only authentication for web activity for this group' option is enabled652 when resource is public653 for user654 allows read project655 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"656 when 'Enforce SSO-only authentication for web activity for this group' option is enabled657 when resource is public658 for user659 does not allow read project660 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"661 when 'Enforce SSO-only authentication for web activity for this group' option is enabled662 when resource is public663 for user664 allows read project665 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_with_identity, user_is_resource_owner?: false, user_with_saml_session?: false, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"666 when 'Enforce SSO-only authentication for web activity for this group' option is enabled667 when resource is public668 for user669 allows read project670 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"671 when 'Enforce SSO-only authentication for web activity for this group' option is enabled672 when resource is public673 for user674 does not allow read project675 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: true, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"676 when 'Enforce SSO-only authentication for web activity for this group' option is enabled677 when resource is public678 for user679 does not allow read project680 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"681 when 'Enforce SSO-only authentication for web activity for this group' option is enabled682 when resource is public683 for user684 does not allow read project685 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"686 when 'Enforce SSO-only authentication for web activity for this group' option is enabled687 when resource is public688 for user689 allows read project690 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: member_without_identity, user_is_resource_owner?: false, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: true, shared_examples: "allows to read project"691 when 'Enforce SSO-only authentication for web activity for this group' option is enabled692 when resource is public693 for user694 allows read project695 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: non_member, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"696 when 'Enforce SSO-only authentication for web activity for this group' option is enabled697 when resource is public698 for user699 allows read project700 resource: project, resource_visibility_level: "public", enforced_sso?: true, user: not_signed_in_user, user_is_resource_owner?: nil, user_with_saml_session?: nil, user_is_admin?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "allows to read project"701 when 'Enforce SSO-only authentication for web activity for this group' option is enabled702 when resource is public703 for user704 allows read project705 with ip restriction706 group without restriction707 is expected to be allowed :read_project708 is expected to be allowed :read_issue709 is expected to be allowed :read_merge_request710 is expected to be allowed :read_milestone711 is expected to be allowed :read_container_image712 is expected to be allowed :read_package713 is expected to be allowed :create_package714 is expected to be allowed :destroy_package715 is expected to be allowed :admin_package716 group with restriction717 address is within the range718 is expected to be allowed :read_project719 is expected to be allowed :read_issue720 is expected to be allowed :read_merge_request721 is expected to be allowed :read_milestone722 is expected to be allowed :read_container_image723 is expected to be allowed :create_container_image724 is expected to be allowed :read_package725 is expected to be allowed :create_package726 is expected to be allowed :destroy_package727 is expected to be allowed :admin_package728 address is outside the range729 is expected to be disallowed :read_project730 is expected to be disallowed :read_issue731 is expected to be disallowed :read_merge_request732 is expected to be disallowed :read_milestone733 is expected to be disallowed :read_container_image734 is expected to be disallowed :create_container_image735 is expected to be disallowed :read_package736 is expected to be disallowed :create_package737 is expected to be disallowed :destroy_package738 is expected to be disallowed :admin_package739 with admin enabled740 is expected to be allowed :read_project741 is expected to be allowed :read_issue742 is expected to be allowed :read_merge_request743 is expected to be allowed :read_milestone744 is expected to be allowed :read_container_image745 is expected to be allowed :create_container_image746 is expected to be allowed :read_package747 is expected to be allowed :create_package748 is expected to be allowed :destroy_package749 is expected to be allowed :admin_package750 with admin disabled751 is expected to be disallowed :read_project752 is expected to be disallowed :read_issue753 is expected to be disallowed :read_merge_request754 is expected to be disallowed :read_milestone755 is expected to be disallowed :read_container_image756 is expected to be disallowed :create_container_image757 is expected to be disallowed :read_package758 is expected to be disallowed :create_package759 is expected to be disallowed :destroy_package760 is expected to be disallowed :admin_package761 with auditor762 is expected to be allowed :read_project763 is expected to be allowed :read_issue764 is expected to be allowed :read_merge_request765 is expected to be allowed :read_milestone766 is expected to be allowed :read_container_image767 is expected to be allowed :create_container_image768 is expected to be allowed :read_package769 is expected to be allowed :create_package770 is expected to be allowed :destroy_package771 is expected to be allowed :admin_package772 without group773 is expected to be allowed :read_project774 access_security_and_compliance775 when the user is auditor776 when the "Security and Compliance" is not enabled777 is expected to be disallowed :access_security_and_compliance778 when the "Security and Compliance" is enabled779 is expected to be allowed :access_security_and_compliance780 vulnerability feedback permissions781 permission: :read_vulnerability_feedback782 with admin783 when admin mode enabled784 is expected to be allowed :read_vulnerability_feedback785 when admin mode disabled786 is expected to be disallowed :read_vulnerability_feedback787 with owner788 is expected to be allowed :read_vulnerability_feedback789 with maintainer790 is expected to be allowed :read_vulnerability_feedback791 with developer792 is expected to be allowed :read_vulnerability_feedback793 with reporter794 is expected to be disallowed :read_vulnerability_feedback795 with guest796 is expected to be disallowed :read_vulnerability_feedback797 with non member798 is expected to be disallowed :read_vulnerability_feedback799 with anonymous800 is expected to be disallowed :read_vulnerability_feedback801 permission: :create_vulnerability_feedback802 with admin803 when admin mode enabled804 is expected to be allowed :create_vulnerability_feedback805 when admin mode disabled806 is expected to be disallowed :create_vulnerability_feedback807 with owner808 is expected to be allowed :create_vulnerability_feedback809 with maintainer810 is expected to be allowed :create_vulnerability_feedback811 with developer812 is expected to be allowed :create_vulnerability_feedback813 with reporter814 is expected to be disallowed :create_vulnerability_feedback815 with guest816 is expected to be disallowed :create_vulnerability_feedback817 with non member818 is expected to be disallowed :create_vulnerability_feedback819 with anonymous820 is expected to be disallowed :create_vulnerability_feedback821 permission: :update_vulnerability_feedback822 with admin823 when admin mode enabled824 is expected to be allowed :update_vulnerability_feedback825 when admin mode disabled826 is expected to be disallowed :update_vulnerability_feedback827 with owner828 is expected to be allowed :update_vulnerability_feedback829 with maintainer830 is expected to be allowed :update_vulnerability_feedback831 with developer832 is expected to be allowed :update_vulnerability_feedback833 with reporter834 is expected to be disallowed :update_vulnerability_feedback835 with guest836 is expected to be disallowed :update_vulnerability_feedback837 with non member838 is expected to be disallowed :update_vulnerability_feedback839 with anonymous840 is expected to be disallowed :update_vulnerability_feedback841 permission: :destroy_vulnerability_feedback842 with admin843 when admin mode enabled844 is expected to be allowed :destroy_vulnerability_feedback845 when admin mode disabled846 is expected to be disallowed :destroy_vulnerability_feedback847 with owner848 is expected to be allowed :destroy_vulnerability_feedback849 with maintainer850 is expected to be allowed :destroy_vulnerability_feedback851 with developer852 is expected to be allowed :destroy_vulnerability_feedback853 with reporter854 is expected to be disallowed :destroy_vulnerability_feedback855 with guest856 is expected to be disallowed :destroy_vulnerability_feedback857 with non member858 is expected to be disallowed :destroy_vulnerability_feedback859 with anonymous860 is expected to be disallowed :destroy_vulnerability_feedback861 read_project_security_dashboard862 with developer863 is expected to be disallowed :read_project_security_dashboard864 vulnerability permissions865 dismiss_vulnerability866 with developer867 is expected to be disallowed :admin_vulnerability868 is expected to be disallowed :read_vulnerability869 is expected to be disallowed :create_vulnerability_export870 permissions for security bot871 when auto_fix feature is enabled872 when licensed feature is enabled873 is expected to be allowed :reporter_access, :push_code, :create_merge_request_from, :create_merge_request_in, :create_vulnerability_feedback, :read_project, and :admin_merge_request874 when feature flag is disabled875 is expected to be disallowed :reporter_access, :push_code, :create_merge_request_from, :create_merge_request_in, :create_vulnerability_feedback, :read_project, and :admin_merge_request876 when licensed feature is disabled877 is expected to be disallowed :reporter_access, :push_code, :create_merge_request_from, :create_merge_request_in, :create_vulnerability_feedback, :read_project, and :admin_merge_request878 when auto_fix feature is disabled879 is expected to be disallowed :reporter_access, :push_code, :create_merge_request_from, :create_merge_request_in, :create_vulnerability_feedback, :read_project, and :admin_merge_request880 when project does not have a security_setting881 is expected to be disallowed :reporter_access, :push_code, :create_merge_request_from, :create_merge_request_in, :create_vulnerability_feedback, :read_project, and :admin_merge_request882 security orchestration policies883 with developer or maintainer role884 role: "maintainer"885 is expected to be allowed :read_security_orchestration_policies886 is expected to be disallowed :update_security_orchestration_policy_project887 role: "developer"888 is expected to be allowed :read_security_orchestration_policies889 is expected to be disallowed :update_security_orchestration_policy_project890 with owner role891 role: "owner"892 is expected to be allowed :read_security_orchestration_policies893 is expected to be allowed :update_security_orchestration_policy_project894 is expected to be allowed :modify_security_policy895 when security_orchestration_policy_configuration is present896 is expected to be disallowed :modify_security_policy897 when security_orchestration_policy_configuration is present898 when current_user is developer of security_policy_management_project899 is expected to be allowed :modify_security_policy900 when current_user is not developer of security_policy_management_project901 is expected to be disallowed :modify_security_policy902 coverage_fuzzing903 when coverage_fuzzing feature is available904 with developer or higher role905 role: "owner"906 is expected to be allowed :read_coverage_fuzzing907 role: "maintainer"908 is expected to be allowed :read_coverage_fuzzing909 role: "developer"910 is expected to be allowed :read_coverage_fuzzing911 with admin912 when admin mode enabled913 is expected to be allowed :read_coverage_fuzzing914 when admin mode disabled915 is expected to be disallowed :read_coverage_fuzzing916 with less than developer role917 role: "reporter"918 is expected to be disallowed :read_coverage_fuzzing919 role: "guest"920 is expected to be disallowed :read_coverage_fuzzing921 with non member922 is expected to be disallowed :read_coverage_fuzzing923 with anonymous924 is expected to be disallowed :read_coverage_fuzzing925 when coverage fuzzing feature is not available926 is expected to be disallowed :read_coverage_fuzzing927 remove_project when default_project_deletion_protection is set to true928 with admin929 when admin mode enabled930 is expected to be allowed :remove_project931 when admin mode disabled932 is expected to be disallowed :remove_project933 who owns the project934 is expected to be disallowed :remove_project935 with owner936 is expected to be disallowed :remove_project937 admin_feature_flags_issue_links938 with maintainer939 is expected to be allowed :admin_feature_flags_issue_links940 when repository is disabled941 is expected to be disallowed :admin_feature_flags_issue_links942 with developer943 is expected to be allowed :admin_feature_flags_issue_links944 when feature is unlicensed945 is expected to be disallowed :admin_feature_flags_issue_links946 with reporter947 is expected to be disallowed :admin_feature_flags_issue_links948 admin_software_license_policy949 without license scanning feature available950 is expected to be disallowed :admin_software_license_policy951 with admin952 when admin mode enabled953 is expected to be allowed :admin_software_license_policy954 when admin mode disabled955 is expected to be disallowed :admin_software_license_policy956 with owner957 is expected to be allowed :admin_software_license_policy958 with maintainer959 is expected to be allowed :admin_software_license_policy960 with developer961 is expected to be disallowed :admin_software_license_policy962 with reporter963 is expected to be disallowed :admin_software_license_policy964 with guest965 is expected to be disallowed :admin_software_license_policy966 with non member967 is expected to be disallowed :admin_software_license_policy968 with anonymous969 is expected to be disallowed :admin_software_license_policy970 read_software_license_policy971 without license scanning feature available972 is expected to be disallowed :read_software_license_policy973 read_dependencies974 when dependency scanning feature available975 with public project976 with public access to repository977 is expected to be allowed :read_dependencies978 with limited access to repository979 is expected not to be allowed :read_dependencies980 with private project981 with admin982 when admin mode enabled983 is expected to be allowed :read_dependencies984 when admin mode disabled985 is expected to be disallowed :read_dependencies986 with owner987 is expected to be allowed :read_dependencies988 with maintainer989 is expected to be allowed :read_dependencies990 with developer991 is expected to be allowed :read_dependencies992 with reporter993 is expected to be allowed :read_dependencies994 with guest995 is expected to be disallowed :read_dependencies996 with non member997 is expected to be disallowed :read_dependencies998 with anonymous999 is expected to be disallowed :read_dependencies1000 when dependency list feature not available1001 is expected not to be allowed :read_dependencies1002 read_licenses1003 when license management feature available1004 with public project1005 with public access to repository1006 is expected to be allowed :read_licenses1007 with private project1008 role: "owner"1009 is expected to be allowed :read_licenses1010 role: "maintainer"1011 is expected to be allowed :read_licenses1012 role: "developer"1013 is expected to be allowed :read_licenses1014 role: "reporter"1015 is expected to be allowed :read_licenses1016 with admin1017 when admin mode enabled1018 is expected to be allowed :read_licenses1019 when admin mode disabled1020 is expected to be disallowed :read_licenses1021 with guest1022 is expected to be disallowed :read_licenses1023 with non member1024 is expected to be disallowed :read_licenses1025 with anonymous1026 is expected to be disallowed :read_licenses1027 when license management feature in not available1028 is expected to be disallowed :read_licenses1029 publish_status_page1030 when feature is available1031 role: :anonymous, admin_mode: nil, allowed: false1032 is expected to be disallowed :publish_status_page1033 when feature is not available1034 is expected to be disallowed :publish_status_page1035 role: :guest, admin_mode: nil, allowed: false1036 is expected to be disallowed :publish_status_page1037 when feature is not available1038 is expected to be disallowed :publish_status_page1039 role: :reporter, admin_mode: nil, allowed: false1040 is expected to be disallowed :publish_status_page1041 when feature is not available1042 is expected to be disallowed :publish_status_page1043 role: :developer, admin_mode: nil, allowed: true1044 is expected to be allowed :publish_status_page1045 when feature is not available1046 is expected to be disallowed :publish_status_page1047 role: :maintainer, admin_mode: nil, allowed: true1048 is expected to be allowed :publish_status_page1049 when feature is not available1050 is expected to be disallowed :publish_status_page1051 role: :owner, admin_mode: nil, allowed: true1052 is expected to be allowed :publish_status_page1053 when feature is not available1054 is expected to be disallowed :publish_status_page1055 role: :admin, admin_mode: false, allowed: false1056 is expected to be disallowed :publish_status_page1057 when feature is not available1058 is expected to be disallowed :publish_status_page1059 role: :admin, admin_mode: true, allowed: true1060 is expected to be allowed :publish_status_page1061 when feature is not available1062 is expected to be disallowed :publish_status_page1063 add_project_to_instance_security_dashboard1064 when user is auditor1065 is expected to be allowed :add_project_to_instance_security_dashboard1066 when user is not auditor1067 with developer access1068 is expected to be allowed :add_project_to_instance_security_dashboard1069 without developer access1070 is expected to be disallowed :add_project_to_instance_security_dashboard1071 visual review bot1072 is expected to be allowed :create_note1073 is expected not to be allowed :read_note1074 is expected not to be allowed :resolve_note1075 commit_committer_check is not enabled by the current license1076 is expected not to be allowed :change_commit_committer_check1077 is expected not to be allowed :read_commit_committer_check1078 commit_committer_check is enabled by the current license1079 when the user is an admin1080 is expected to be allowed :change_commit_committer_check1081 is expected to be allowed :read_commit_committer_check1082 the user is a maintainer1083 is expected to be allowed :change_commit_committer_check1084 is expected to be allowed :read_commit_committer_check1085 the user is a developer1086 is expected not to be allowed :change_commit_committer_check1087 is expected to be allowed :read_commit_committer_check1088 reject_unsigned_commits is not enabled by the current license1089 is expected not to be allowed :change_reject_unsigned_commits1090 is expected not to be allowed :read_reject_unsigned_commits1091 reject_unsigned_commits is enabled by the current license1092 when the user is an admin1093 is expected to be allowed :change_reject_unsigned_commits1094 is expected to be allowed :read_reject_unsigned_commits1095 when the user is a maintainer1096 is expected to be allowed :change_reject_unsigned_commits1097 is expected to be allowed :read_reject_unsigned_commits1098 when the user is a developer1099 is expected not to be allowed :change_reject_unsigned_commits1100 is expected to be allowed :read_reject_unsigned_commits1101 when dora4 analytics is available1102 when the user is a developer1103 is expected to be allowed :read_dora4_analytics1104 when the user is an admin1105 is expected to be allowed :read_dora4_analytics1106 when dora4 analytics is not available1107 is expected not to be allowed :read_dora4_analytics1108 :read_code_review_analytics1109 role: :guest, admin_mode: nil, allowed: false1110 is expected to be disallowed :read_code_review_analytics1111 role: :reporter, admin_mode: nil, allowed: true1112 is expected to be allowed :read_code_review_analytics1113 role: :developer, admin_mode: nil, allowed: true1114 is expected to be allowed :read_code_review_analytics1115 role: :maintainer, admin_mode: nil, allowed: true1116 is expected to be allowed :read_code_review_analytics1117 role: :owner, admin_mode: nil, allowed: true1118 is expected to be allowed :read_code_review_analytics1119 role: :admin, admin_mode: false, allowed: false1120 is expected to be disallowed :read_code_review_analytics1121 role: :admin, admin_mode: true, allowed: true1122 is expected to be allowed :read_code_review_analytics1123 with code review analytics is not available in license1124 is expected to be disallowed :read_code_review_analytics1125 :admin_merge_request_approval_settings1126 role: :guest, licensed: true, allowed: false1127 is expected to be disallowed :admin_merge_request_approval_settings1128 role: :reporter, licensed: true, allowed: false1129 is expected to be disallowed :admin_merge_request_approval_settings1130 role: :developer, licensed: true, allowed: false1131 is expected to be disallowed :admin_merge_request_approval_settings1132 role: :maintainer, licensed: false, allowed: false1133 is expected to be disallowed :admin_merge_request_approval_settings1134 role: :maintainer, licensed: true, allowed: true1135 is expected to be allowed :admin_merge_request_approval_settings1136 role: :owner, licensed: false, allowed: false1137 is expected to be disallowed :admin_merge_request_approval_settings1138 role: :owner, licensed: true, allowed: true1139 is expected to be allowed :admin_merge_request_approval_settings1140 role: :admin, licensed: true, allowed: true1141 is expected to be allowed :admin_merge_request_approval_settings1142 role: :admin, licensed: false, allowed: false1143 is expected to be disallowed :admin_merge_request_approval_settings1144 :modify_approvers_rules1145 behaves like merge request approval settings1146 with merge request approvers rules available in license1147 role: :guest, setting: true, admin_mode: nil, allowed: false1148 is expected to be disallowed :modify_approvers_rules1149 role: :reporter, setting: true, admin_mode: nil, allowed: false1150 is expected to be disallowed :modify_approvers_rules1151 role: :developer, setting: true, admin_mode: nil, allowed: false1152 is expected to be disallowed :modify_approvers_rules1153 role: :maintainer, setting: false, admin_mode: nil, allowed: true1154 is expected to be allowed :modify_approvers_rules1155 role: :maintainer, setting: true, admin_mode: nil, allowed: false1156 is expected to be disallowed :modify_approvers_rules1157 role: :owner, setting: false, admin_mode: nil, allowed: true1158 is expected to be allowed :modify_approvers_rules1159 role: :owner, setting: true, admin_mode: nil, allowed: false1160 is expected to be disallowed :modify_approvers_rules1161 role: :admin, setting: false, admin_mode: false, allowed: false1162 is expected to be disallowed :modify_approvers_rules1163 role: :admin, setting: false, admin_mode: true, allowed: true1164 is expected to be allowed :modify_approvers_rules1165 role: :admin, setting: true, admin_mode: false, allowed: false1166 is expected to be disallowed :modify_approvers_rules1167 role: :admin, setting: true, admin_mode: true, allowed: true1168 is expected to be allowed :modify_approvers_rules1169 with merge request approvers rules not available in license1170 role: :guest, setting: true, admin_mode: nil, allowed: false1171 is expected to be disallowed :modify_approvers_rules1172 role: :reporter, setting: true, admin_mode: nil, allowed: false1173 is expected to be disallowed :modify_approvers_rules1174 role: :developer, setting: true, admin_mode: nil, allowed: false1175 is expected to be disallowed :modify_approvers_rules1176 role: :maintainer, setting: false, admin_mode: nil, allowed: true1177 is expected to be allowed :modify_approvers_rules1178 role: :maintainer, setting: true, admin_mode: nil, allowed: true1179 is expected to be allowed :modify_approvers_rules1180 role: :owner, setting: false, admin_mode: nil, allowed: true1181 is expected to be allowed :modify_approvers_rules1182 role: :owner, setting: true, admin_mode: nil, allowed: true1183 is expected to be allowed :modify_approvers_rules1184 role: :admin, setting: false, admin_mode: false, allowed: false1185 is expected to be disallowed :modify_approvers_rules1186 role: :admin, setting: false, admin_mode: true, allowed: true1187 is expected to be allowed :modify_approvers_rules1188 role: :admin, setting: true, admin_mode: false, allowed: false1189 is expected to be disallowed :modify_approvers_rules1190 role: :admin, setting: true, admin_mode: true, allowed: true1191 is expected to be allowed :modify_approvers_rules1192 :modify_merge_request_author_setting1193 behaves like merge request approval settings1194 with merge request approvers rules available in license1195 role: :guest, setting: true, admin_mode: nil, allowed: false1196 is expected to be disallowed :modify_merge_request_author_setting1197 role: :reporter, setting: true, admin_mode: nil, allowed: false1198 is expected to be disallowed :modify_merge_request_author_setting1199 role: :developer, setting: true, admin_mode: nil, allowed: false1200 is expected to be disallowed :modify_merge_request_author_setting1201 role: :maintainer, setting: false, admin_mode: nil, allowed: true1202 is expected to be allowed :modify_merge_request_author_setting1203 role: :maintainer, setting: true, admin_mode: nil, allowed: false1204 is expected to be disallowed :modify_merge_request_author_setting1205 role: :owner, setting: false, admin_mode: nil, allowed: true1206 is expected to be allowed :modify_merge_request_author_setting1207 role: :owner, setting: true, admin_mode: nil, allowed: false1208 is expected to be disallowed :modify_merge_request_author_setting1209 role: :admin, setting: false, admin_mode: false, allowed: false1210 is expected to be disallowed :modify_merge_request_author_setting1211 role: :admin, setting: false, admin_mode: true, allowed: true1212 is expected to be allowed :modify_merge_request_author_setting1213 role: :admin, setting: true, admin_mode: false, allowed: false1214 is expected to be disallowed :modify_merge_request_author_setting1215 role: :admin, setting: true, admin_mode: true, allowed: false1216 is expected to be disallowed :modify_merge_request_author_setting1217 with merge request approvers rules not available in license1218 role: :guest, setting: true, admin_mode: nil, allowed: false1219 is expected to be disallowed :modify_merge_request_author_setting1220 role: :reporter, setting: true, admin_mode: nil, allowed: false1221 is expected to be disallowed :modify_merge_request_author_setting1222 role: :developer, setting: true, admin_mode: nil, allowed: false1223 is expected to be disallowed :modify_merge_request_author_setting1224 role: :maintainer, setting: false, admin_mode: nil, allowed: true1225 is expected to be allowed :modify_merge_request_author_setting1226 role: :maintainer, setting: true, admin_mode: nil, allowed: true1227 is expected to be allowed :modify_merge_request_author_setting1228 role: :owner, setting: false, admin_mode: nil, allowed: true1229 is expected to be allowed :modify_merge_request_author_setting1230 role: :owner, setting: true, admin_mode: nil, allowed: true1231 is expected to be allowed :modify_merge_request_author_setting1232 role: :admin, setting: false, admin_mode: false, allowed: false1233 is expected to be disallowed :modify_merge_request_author_setting1234 role: :admin, setting: false, admin_mode: true, allowed: true1235 is expected to be allowed :modify_merge_request_author_setting1236 role: :admin, setting: true, admin_mode: false, allowed: false1237 is expected to be disallowed :modify_merge_request_author_setting1238 role: :admin, setting: true, admin_mode: true, allowed: true1239 is expected to be allowed :modify_merge_request_author_setting1240 :modify_merge_request_committer_setting1241 behaves like merge request approval settings1242 with merge request approvers rules available in license1243 role: :guest, setting: true, admin_mode: nil, allowed: false1244 is expected to be disallowed :modify_merge_request_committer_setting1245 role: :reporter, setting: true, admin_mode: nil, allowed: false1246 is expected to be disallowed :modify_merge_request_committer_setting1247 role: :developer, setting: true, admin_mode: nil, allowed: false1248 is expected to be disallowed :modify_merge_request_committer_setting1249 role: :maintainer, setting: false, admin_mode: nil, allowed: true1250 is expected to be allowed :modify_merge_request_committer_setting1251 role: :maintainer, setting: true, admin_mode: nil, allowed: false1252 is expected to be disallowed :modify_merge_request_committer_setting1253 role: :owner, setting: false, admin_mode: nil, allowed: true1254 is expected to be allowed :modify_merge_request_committer_setting1255 role: :owner, setting: true, admin_mode: nil, allowed: false1256 is expected to be disallowed :modify_merge_request_committer_setting1257 role: :admin, setting: false, admin_mode: false, allowed: false1258 is expected to be disallowed :modify_merge_request_committer_setting1259 role: :admin, setting: false, admin_mode: true, allowed: true1260 is expected to be allowed :modify_merge_request_committer_setting1261 role: :admin, setting: true, admin_mode: false, allowed: false1262 is expected to be disallowed :modify_merge_request_committer_setting1263 role: :admin, setting: true, admin_mode: true, allowed: false1264 is expected to be disallowed :modify_merge_request_committer_setting1265 with merge request approvers rules not available in license1266 role: :guest, setting: true, admin_mode: nil, allowed: false1267 is expected to be disallowed :modify_merge_request_committer_setting1268 role: :reporter, setting: true, admin_mode: nil, allowed: false1269 is expected to be disallowed :modify_merge_request_committer_setting1270 role: :developer, setting: true, admin_mode: nil, allowed: false1271 is expected to be disallowed :modify_merge_request_committer_setting1272 role: :maintainer, setting: false, admin_mode: nil, allowed: true1273 is expected to be allowed :modify_merge_request_committer_setting1274 role: :maintainer, setting: true, admin_mode: nil, allowed: true1275 is expected to be allowed :modify_merge_request_committer_setting1276 role: :owner, setting: false, admin_mode: nil, allowed: true1277 is expected to be allowed :modify_merge_request_committer_setting1278 role: :owner, setting: true, admin_mode: nil, allowed: true1279 is expected to be allowed :modify_merge_request_committer_setting1280 role: :admin, setting: false, admin_mode: false, allowed: false1281 is expected to be disallowed :modify_merge_request_committer_setting1282 role: :admin, setting: false, admin_mode: true, allowed: true1283 is expected to be allowed :modify_merge_request_committer_setting1284 role: :admin, setting: true, admin_mode: false, allowed: false1285 is expected to be disallowed :modify_merge_request_committer_setting1286 role: :admin, setting: true, admin_mode: true, allowed: true1287 is expected to be allowed :modify_merge_request_committer_setting1288 behaves like resource with requirement permissions1289 when requirements feature is enabled1290 with admin1291 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1292 with owner1293 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1294 with maintainer1295 behaves like user with manage permissions1296 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1297 is expected to be disallowed :destroy_requirement1298 with developer1299 behaves like user with manage permissions1300 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1301 is expected to be disallowed :destroy_requirement1302 with reporter1303 behaves like user with manage permissions1304 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1305 is expected to be disallowed :destroy_requirement1306 with guest1307 behaves like user with read-only permissions1308 is expected to be allowed :read_requirement1309 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1310 with non member1311 behaves like user with read-only permissions1312 is expected to be allowed :read_requirement1313 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1314 with private resource parent1315 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1316 when access level is disabled1317 with owner1318 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1319 with admin1320 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1321 when access level is private1322 with admin user1323 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1324 with admin mode enabled1325 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1326 with owner1327 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1328 with maintainer1329 behaves like user with manage permissions1330 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1331 is expected to be disallowed :destroy_requirement1332 with developer1333 behaves like user with manage permissions1334 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1335 is expected to be disallowed :destroy_requirement1336 with reporter1337 behaves like user with manage permissions1338 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1339 is expected to be disallowed :destroy_requirement1340 with guest1341 behaves like user with read-only permissions1342 is expected to be allowed :read_requirement1343 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1344 with non member1345 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1346 when requirements feature is disabled1347 with owner1348 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1349 with admin1350 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1351 Quality Management test case1352 role: :guest, admin_mode: nil, allowed: false1353 is expected to be disallowed :create_test_case1354 with unavailable license1355 is expected to be disallowed :create_test_case1356 role: :reporter, admin_mode: nil, allowed: true1357 is expected to be allowed :create_test_case1358 with unavailable license1359 is expected to be disallowed :create_test_case1360 role: :developer, admin_mode: nil, allowed: true1361 is expected to be allowed :create_test_case1362 with unavailable license1363 is expected to be disallowed :create_test_case1364 role: :maintainer, admin_mode: nil, allowed: true1365 is expected to be allowed :create_test_case1366 with unavailable license1367 is expected to be disallowed :create_test_case1368 role: :owner, admin_mode: nil, allowed: true1369 is expected to be allowed :create_test_case1370 with unavailable license1371 is expected to be disallowed :create_test_case1372 role: :admin, admin_mode: false, allowed: false1373 is expected to be disallowed :create_test_case1374 with unavailable license1375 is expected to be disallowed :create_test_case1376 role: :admin, admin_mode: true, allowed: true1377 is expected to be allowed :create_test_case1378 with unavailable license1379 is expected to be disallowed :create_test_case1380 :compliance_framework_available1381 role: :guest, feature_enabled: false, admin_mode: nil, allowed: false1382 is expected to be disallowed :admin_compliance_framework1383 role: :guest, feature_enabled: true, admin_mode: nil, allowed: false1384 is expected to be disallowed :admin_compliance_framework1385 role: :reporter, feature_enabled: false, admin_mode: nil, allowed: false1386 is expected to be disallowed :admin_compliance_framework1387 role: :reporter, feature_enabled: true, admin_mode: nil, allowed: false1388 is expected to be disallowed :admin_compliance_framework1389 role: :developer, feature_enabled: false, admin_mode: nil, allowed: false1390 is expected to be disallowed :admin_compliance_framework1391 role: :maintainer, feature_enabled: false, admin_mode: nil, allowed: false1392 is expected to be disallowed :admin_compliance_framework1393 role: :maintainer, feature_enabled: true, admin_mode: nil, allowed: false1394 is expected to be disallowed :admin_compliance_framework1395 role: :owner, feature_enabled: false, admin_mode: nil, allowed: false1396 is expected to be disallowed :admin_compliance_framework1397 role: :owner, feature_enabled: true, admin_mode: nil, allowed: true1398 is expected to be allowed :admin_compliance_framework1399 role: :admin, feature_enabled: false, admin_mode: false, allowed: false1400 is expected to be disallowed :admin_compliance_framework1401 role: :admin, feature_enabled: false, admin_mode: true, allowed: false1402 is expected to be disallowed :admin_compliance_framework1403 role: :admin, feature_enabled: true, admin_mode: false, allowed: false1404 is expected to be disallowed :admin_compliance_framework1405 role: :admin, feature_enabled: true, admin_mode: true, allowed: true1406 is expected to be allowed :admin_compliance_framework1407 Incident Management on-call schedules1408 :read_incident_management_oncall_schedule1409 role: :guest, admin_mode: nil, allowed: false1410 is expected to be disallowed :read_incident_management_oncall_schedule1411 with unavailable license1412 is expected to be disallowed :read_incident_management_oncall_schedule1413 role: :reporter, admin_mode: nil, allowed: true1414 is expected to be allowed :read_incident_management_oncall_schedule1415 with unavailable license1416 is expected to be disallowed :read_incident_management_oncall_schedule1417 role: :developer, admin_mode: nil, allowed: true1418 is expected to be allowed :read_incident_management_oncall_schedule1419 with unavailable license1420 is expected to be disallowed :read_incident_management_oncall_schedule1421 role: :maintainer, admin_mode: nil, allowed: true1422 is expected to be allowed :read_incident_management_oncall_schedule1423 with unavailable license1424 is expected to be disallowed :read_incident_management_oncall_schedule1425 role: :owner, admin_mode: nil, allowed: true1426 is expected to be allowed :read_incident_management_oncall_schedule1427 with unavailable license1428 is expected to be disallowed :read_incident_management_oncall_schedule1429 role: :admin, admin_mode: false, allowed: false1430 is expected to be disallowed :read_incident_management_oncall_schedule1431 with unavailable license1432 is expected to be disallowed :read_incident_management_oncall_schedule1433 role: :admin, admin_mode: true, allowed: true1434 is expected to be allowed :read_incident_management_oncall_schedule1435 with unavailable license1436 is expected to be disallowed :read_incident_management_oncall_schedule1437 role: :auditor, admin_mode: false, allowed: true1438 is expected to be allowed :read_incident_management_oncall_schedule1439 with unavailable license1440 is expected to be disallowed :read_incident_management_oncall_schedule1441 behaves like monitor feature visibility1442 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true1443 is expected to be allowed :read_incident_management_oncall_schedule1444 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false1445 is expected to be disallowed :read_incident_management_oncall_schedule1446 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true1447 is expected to be allowed :read_incident_management_oncall_schedule1448 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false1449 is expected to be disallowed :read_incident_management_oncall_schedule1450 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false1451 is expected to be disallowed :read_incident_management_oncall_schedule1452 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false1453 is expected to be disallowed :read_incident_management_oncall_schedule1454 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true1455 is expected to be allowed :read_incident_management_oncall_schedule1456 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false1457 is expected to be disallowed :read_incident_management_oncall_schedule1458 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true1459 is expected to be allowed :read_incident_management_oncall_schedule1460 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false1461 is expected to be disallowed :read_incident_management_oncall_schedule1462 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false1463 is expected to be disallowed :read_incident_management_oncall_schedule1464 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false1465 is expected to be disallowed :read_incident_management_oncall_schedule1466 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true1467 is expected to be allowed :read_incident_management_oncall_schedule1468 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false1469 is expected to be disallowed :read_incident_management_oncall_schedule1470 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true1471 is expected to be allowed :read_incident_management_oncall_schedule1472 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false1473 is expected to be disallowed :read_incident_management_oncall_schedule1474 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false1475 is expected to be disallowed :read_incident_management_oncall_schedule1476 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false1477 is expected to be disallowed :read_incident_management_oncall_schedule1478 :admin_incident_management_oncall_schedule1479 role: :guest, admin_mode: nil, allowed: false1480 is expected to be disallowed :admin_incident_management_oncall_schedule1481 with unavailable license1482 is expected to be disallowed :admin_incident_management_oncall_schedule1483 role: :reporter, admin_mode: nil, allowed: false1484 is expected to be disallowed :admin_incident_management_oncall_schedule1485 with unavailable license1486 is expected to be disallowed :admin_incident_management_oncall_schedule1487 role: :developer, admin_mode: nil, allowed: false1488 is expected to be disallowed :admin_incident_management_oncall_schedule1489 with unavailable license1490 is expected to be disallowed :admin_incident_management_oncall_schedule1491 role: :maintainer, admin_mode: nil, allowed: true1492 is expected to be allowed :admin_incident_management_oncall_schedule1493 with unavailable license1494 is expected to be disallowed :admin_incident_management_oncall_schedule1495 role: :owner, admin_mode: nil, allowed: true1496 is expected to be allowed :admin_incident_management_oncall_schedule1497 with unavailable license1498 is expected to be disallowed :admin_incident_management_oncall_schedule1499 role: :admin, admin_mode: false, allowed: false1500 is expected to be disallowed :admin_incident_management_oncall_schedule1501 with unavailable license1502 is expected to be disallowed :admin_incident_management_oncall_schedule1503 role: :admin, admin_mode: true, allowed: true1504 is expected to be allowed :admin_incident_management_oncall_schedule1505 with unavailable license1506 is expected to be disallowed :admin_incident_management_oncall_schedule1507 role: :auditor, admin_mode: false, allowed: false1508 is expected to be disallowed :admin_incident_management_oncall_schedule1509 with unavailable license1510 is expected to be disallowed :admin_incident_management_oncall_schedule1511 behaves like monitor feature visibility1512 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true1513 is expected to be allowed :admin_incident_management_oncall_schedule1514 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false1515 is expected to be disallowed :admin_incident_management_oncall_schedule1516 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true1517 is expected to be allowed :admin_incident_management_oncall_schedule1518 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false1519 is expected to be disallowed :admin_incident_management_oncall_schedule1520 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false1521 is expected to be disallowed :admin_incident_management_oncall_schedule1522 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false1523 is expected to be disallowed :admin_incident_management_oncall_schedule1524 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true1525 is expected to be allowed :admin_incident_management_oncall_schedule1526 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false1527 is expected to be disallowed :admin_incident_management_oncall_schedule1528 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true1529 is expected to be allowed :admin_incident_management_oncall_schedule1530 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false1531 is expected to be disallowed :admin_incident_management_oncall_schedule1532 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false1533 is expected to be disallowed :admin_incident_management_oncall_schedule1534 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false1535 is expected to be disallowed :admin_incident_management_oncall_schedule1536 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true1537 is expected to be allowed :admin_incident_management_oncall_schedule1538 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false1539 is expected to be disallowed :admin_incident_management_oncall_schedule1540 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true1541 is expected to be allowed :admin_incident_management_oncall_schedule1542 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false1543 is expected to be disallowed :admin_incident_management_oncall_schedule1544 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false1545 is expected to be disallowed :admin_incident_management_oncall_schedule1546 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false1547 is expected to be disallowed :admin_incident_management_oncall_schedule1548 Escalation Policies1549 :read_incident_management_escalation_policy1550 role: :guest, admin_mode: nil, allowed: false1551 is expected to be disallowed :read_incident_management_escalation_policy1552 with unavailable escalation policies1553 is expected to be disallowed :read_incident_management_escalation_policy1554 role: :reporter, admin_mode: nil, allowed: true1555 is expected to be allowed :read_incident_management_escalation_policy1556 with unavailable escalation policies1557 is expected to be disallowed :read_incident_management_escalation_policy1558 role: :developer, admin_mode: nil, allowed: true1559 is expected to be allowed :read_incident_management_escalation_policy1560 with unavailable escalation policies1561 is expected to be disallowed :read_incident_management_escalation_policy1562 role: :maintainer, admin_mode: nil, allowed: true1563 is expected to be allowed :read_incident_management_escalation_policy1564 with unavailable escalation policies1565 is expected to be disallowed :read_incident_management_escalation_policy1566 role: :owner, admin_mode: nil, allowed: true1567 is expected to be allowed :read_incident_management_escalation_policy1568 with unavailable escalation policies1569 is expected to be disallowed :read_incident_management_escalation_policy1570 role: :admin, admin_mode: false, allowed: false1571 is expected to be disallowed :read_incident_management_escalation_policy1572 with unavailable escalation policies1573 is expected to be disallowed :read_incident_management_escalation_policy1574 role: :admin, admin_mode: true, allowed: true1575 is expected to be allowed :read_incident_management_escalation_policy1576 with unavailable escalation policies1577 is expected to be disallowed :read_incident_management_escalation_policy1578 role: :auditor, admin_mode: false, allowed: true1579 is expected to be allowed :read_incident_management_escalation_policy1580 with unavailable escalation policies1581 is expected to be disallowed :read_incident_management_escalation_policy1582 behaves like monitor feature visibility1583 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true1584 is expected to be allowed :read_incident_management_escalation_policy1585 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false1586 is expected to be disallowed :read_incident_management_escalation_policy1587 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true1588 is expected to be allowed :read_incident_management_escalation_policy1589 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false1590 is expected to be disallowed :read_incident_management_escalation_policy1591 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false1592 is expected to be disallowed :read_incident_management_escalation_policy1593 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false1594 is expected to be disallowed :read_incident_management_escalation_policy1595 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true1596 is expected to be allowed :read_incident_management_escalation_policy1597 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false1598 is expected to be disallowed :read_incident_management_escalation_policy1599 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true1600 is expected to be allowed :read_incident_management_escalation_policy1601 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false1602 is expected to be disallowed :read_incident_management_escalation_policy1603 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false1604 is expected to be disallowed :read_incident_management_escalation_policy1605 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false1606 is expected to be disallowed :read_incident_management_escalation_policy1607 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true1608 is expected to be allowed :read_incident_management_escalation_policy1609 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false1610 is expected to be disallowed :read_incident_management_escalation_policy1611 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true1612 is expected to be allowed :read_incident_management_escalation_policy1613 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false1614 is expected to be disallowed :read_incident_management_escalation_policy1615 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false1616 is expected to be disallowed :read_incident_management_escalation_policy1617 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false1618 is expected to be disallowed :read_incident_management_escalation_policy1619 :admin_incident_management_escalation_policy1620 role: :guest, admin_mode: nil, allowed: false1621 is expected to be disallowed :admin_incident_management_escalation_policy1622 with unavailable escalation policies1623 is expected to be disallowed :admin_incident_management_escalation_policy1624 role: :reporter, admin_mode: nil, allowed: false1625 is expected to be disallowed :admin_incident_management_escalation_policy1626 with unavailable escalation policies1627 is expected to be disallowed :admin_incident_management_escalation_policy1628 role: :developer, admin_mode: nil, allowed: false1629 is expected to be disallowed :admin_incident_management_escalation_policy1630 with unavailable escalation policies1631 is expected to be disallowed :admin_incident_management_escalation_policy1632 role: :maintainer, admin_mode: nil, allowed: true1633 is expected to be allowed :admin_incident_management_escalation_policy1634 with unavailable escalation policies1635 is expected to be disallowed :admin_incident_management_escalation_policy1636 role: :owner, admin_mode: nil, allowed: true1637 is expected to be allowed :admin_incident_management_escalation_policy1638 with unavailable escalation policies1639 is expected to be disallowed :admin_incident_management_escalation_policy1640 role: :admin, admin_mode: false, allowed: false1641 is expected to be disallowed :admin_incident_management_escalation_policy1642 with unavailable escalation policies1643 is expected to be disallowed :admin_incident_management_escalation_policy1644 role: :admin, admin_mode: true, allowed: true1645 is expected to be allowed :admin_incident_management_escalation_policy1646 with unavailable escalation policies1647 is expected to be disallowed :admin_incident_management_escalation_policy1648 role: :auditor, admin_mode: false, allowed: false1649 is expected to be disallowed :admin_incident_management_escalation_policy1650 with unavailable escalation policies1651 is expected to be disallowed :admin_incident_management_escalation_policy1652 behaves like monitor feature visibility1653 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true1654 is expected to be allowed :admin_incident_management_escalation_policy1655 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false1656 is expected to be disallowed :admin_incident_management_escalation_policy1657 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true1658 is expected to be allowed :admin_incident_management_escalation_policy1659 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false1660 is expected to be disallowed :admin_incident_management_escalation_policy1661 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false1662 is expected to be disallowed :admin_incident_management_escalation_policy1663 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false1664 is expected to be disallowed :admin_incident_management_escalation_policy1665 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true1666 is expected to be allowed :admin_incident_management_escalation_policy1667 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false1668 is expected to be disallowed :admin_incident_management_escalation_policy1669 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true1670 is expected to be allowed :admin_incident_management_escalation_policy1671 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false1672 is expected to be disallowed :admin_incident_management_escalation_policy1673 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false1674 is expected to be disallowed :admin_incident_management_escalation_policy1675 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false1676 is expected to be disallowed :admin_incident_management_escalation_policy1677 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true1678 is expected to be allowed :admin_incident_management_escalation_policy1679 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false1680 is expected to be disallowed :admin_incident_management_escalation_policy1681 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true1682 is expected to be allowed :admin_incident_management_escalation_policy1683 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false1684 is expected to be disallowed :admin_incident_management_escalation_policy1685 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false1686 is expected to be disallowed :admin_incident_management_escalation_policy1687 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false1688 is expected to be disallowed :admin_incident_management_escalation_policy1689 when project is read only on the namespace1690 when the group is read only1691 is expected to be disallowed :create_merge_request, :update_merge_request, :admin_merge_request, :create_snippet, :update_snippet, :admin_snippet, :create_wiki, :update_wiki, :admin_wiki, :create_pipeline, :update_pipeline, :admin_pipeline, :create_pipeline_schedule, :update_pipeline_schedule, :admin_pipeline_schedule, :create_build, :update_build, :admin_build, :create_trigger, :update_trigger, :admin_trigger, :create_environment, :update_environment, :admin_environment, :create_deployment, :update_deployment, :admin_deployment, :create_commit_status, :update_commit_status, :admin_commit_status, :create_container_image, :update_container_image, :admin_container_image, :create_cluster, :update_cluster, :admin_cluster, :create_release, :update_release, :admin_release, :create_approvers, :update_approvers, :admin_approvers, :create_vulnerability_feedback, :update_vulnerability_feedback, :admin_vulnerability_feedback, :create_vulnerability, :update_vulnerability, :admin_vulnerability, :create_feature_flag, :update_feature_flag, :admin_feature_flag, :create_feature_flags_client, :update_feature_flags_client, :admin_feature_flags_client, :create_iteration, :update_iteration, :admin_iteration, :admin_tag, :push_to_delete_protected_branch, :create_merge_request_from, :create_merge_request_in, :admin_software_license_policy, :modify_auto_fix_setting, :create_test_case, and :create_package1692 when the group is not read only1693 is expected to be allowed :update_merge_request, :admin_merge_request, :create_snippet, :update_snippet, :admin_snippet, :create_wiki, :admin_wiki, :create_pipeline, :update_pipeline, :admin_pipeline, :create_pipeline_schedule, :create_build, :update_build, :admin_build, :create_environment, :update_environment, :admin_environment, :create_deployment, :update_deployment, :admin_deployment, :create_commit_status, :update_commit_status, :admin_commit_status, :create_container_image, :update_container_image, :admin_container_image, :create_cluster, :update_cluster, :admin_cluster, :create_release, :update_release, :update_approvers, :create_vulnerability_feedback, :update_vulnerability_feedback, :admin_vulnerability, :create_feature_flag, :update_feature_flag, :admin_feature_flag, :admin_feature_flags_client, :create_iteration, :admin_iteration, :admin_tag, :push_to_delete_protected_branch, :create_merge_request_from, :create_merge_request_in, :admin_software_license_policy, :modify_auto_fix_setting, :create_test_case, and :create_package1694 project access tokens1695 GitLab.com Core resource access tokens1696 with admin access1697 when project belongs to a group1698 is expected not to be allowed :create_resource_access_tokens1699 is expected to be allowed :read_resource_access_tokens1700 is expected to be allowed :destroy_resource_access_tokens1701 when project belongs to personal namespace1702 is expected to be allowed :create_resource_access_tokens1703 is expected to be allowed :read_resource_access_tokens1704 is expected to be allowed :destroy_resource_access_tokens1705 with non admin access1706 when project belongs to a group1707 is expected not to be allowed :create_resource_access_tokens1708 is expected not to be allowed :read_resource_access_tokens1709 is expected not to be allowed :destroy_resource_access_tokens1710 when project belongs to personal namespace1711 is expected not to be allowed :create_resource_access_tokens1712 is expected not to be allowed :read_resource_access_tokens1713 is expected not to be allowed :destroy_resource_access_tokens1714 on GitLab.com paid1715 with maintainer access1716 behaves like GitLab.com Paid plan resource access tokens1717 on SaaS1718 is expected to be allowed :create_resource_access_tokens1719 is expected to be allowed :read_resource_access_tokens1720 is expected to be allowed :destroy_resource_access_tokens1721 when personal access tokens are disabled1722 is expected not to be allowed :create_resource_access_tokens1723 is expected not to be allowed :read_resource_access_tokens1724 is expected not to be allowed :destroy_resource_access_tokens1725 create resource access tokens1726 is expected to be allowed :create_resource_access_tokens1727 with a personal namespace project1728 is expected to be allowed :create_resource_access_tokens1729 when resource access token creation is not allowed1730 is expected not to be allowed :create_resource_access_tokens1731 when parent group has resource access token creation disabled1732 cannot create resource access tokens1733 is expected not to be allowed :create_resource_access_tokens1734 read resource access tokens1735 is expected to be allowed :read_resource_access_tokens1736 destroy resource access tokens1737 is expected to be allowed :destroy_resource_access_tokens1738 with developer access1739 create resource access tokens1740 is expected not to be allowed :create_resource_access_tokens1741 read resource access tokens1742 is expected not to be allowed :read_resource_access_tokens1743 destroy resource access tokens1744 is expected not to be allowed :destroy_resource_access_tokens1745 with auditor access1746 read resource access tokens1747 is expected to be allowed :read_resource_access_tokens1748 cannot create resource access tokens1749 is expected not to be allowed :create_resource_access_tokens1750 cannot destroy resource access tokens1751 is expected not to be allowed :destroy_resource_access_tokens1752 read_analytics1753 with various analytics features1754 when analytics is disabled for the project1755 for guest user1756 is expected to be disallowed :read_project_merge_request_analytics1757 is expected to be disallowed :read_code_review_analytics1758 is expected to be disallowed :read_issue_analytics1759 for developer1760 is expected to be disallowed :read_project_merge_request_analytics1761 is expected to be disallowed :read_code_review_analytics1762 is expected to be disallowed :read_issue_analytics1763 when analytics is private for the project1764 for guest user1765 is expected to be disallowed :read_project_merge_request_analytics1766 is expected to be disallowed :read_code_review_analytics1767 is expected to be disallowed :read_issue_analytics1768 for developer1769 is expected to be allowed :read_project_merge_request_analytics1770 is expected to be allowed :read_code_review_analytics1771 is expected to be allowed :read_issue_analytics1772 for admin1773 is expected to be allowed :read_project_merge_request_analytics1774 is expected to be allowed :read_code_review_analytics1775 is expected to be allowed :read_issue_analytics1776 for auditor1777 is expected to be allowed :read_project_merge_request_analytics1778 is expected to be allowed :read_code_review_analytics1779 is expected to be allowed :read_issue_analytics1780 when analytics is enabled for the project1781 for guest user1782 is expected to be disallowed :read_project_merge_request_analytics1783 is expected to be disallowed :read_code_review_analytics1784 is expected to be allowed :read_issue_analytics1785 for developer1786 is expected to be allowed :read_project_merge_request_analytics1787 is expected to be allowed :read_code_review_analytics1788 is expected to be allowed :read_issue_analytics1789 for admin1790 is expected to be allowed :read_project_merge_request_analytics1791 is expected to be allowed :read_code_review_analytics1792 is expected to be allowed :read_issue_analytics1793 for auditor1794 is expected to be allowed :read_project_merge_request_analytics1795 is expected to be allowed :read_code_review_analytics1796 is expected to be allowed :read_issue_analytics1797 :build_read_project1798 role: :guest, project_visibility: "public", allowed: true1799 is expected to be allowed :build_read_project1800 role: :reporter, project_visibility: "public", allowed: true1801 is expected to be allowed :build_read_project1802 role: :developer, project_visibility: "public", allowed: true1803 is expected to be allowed :build_read_project1804 role: :maintainer, project_visibility: "public", allowed: true1805 is expected to be allowed :build_read_project1806 role: :owner, project_visibility: "public", allowed: true1807 is expected to be allowed :build_read_project1808 role: :admin, project_visibility: "public", allowed: true1809 is expected to be allowed :build_read_project1810 role: :guest, project_visibility: "internal", allowed: true1811 is expected to be allowed :build_read_project1812 role: :reporter, project_visibility: "internal", allowed: true1813 is expected to be allowed :build_read_project1814 role: :developer, project_visibility: "internal", allowed: true1815 is expected to be allowed :build_read_project1816 role: :maintainer, project_visibility: "internal", allowed: true1817 is expected to be allowed :build_read_project1818 role: :owner, project_visibility: "internal", allowed: true1819 is expected to be allowed :build_read_project1820 role: :admin, project_visibility: "internal", allowed: true1821 is expected to be allowed :build_read_project1822 role: :guest, project_visibility: "private", allowed: false1823 is expected to be disallowed :build_read_project1824 role: :reporter, project_visibility: "private", allowed: true1825 is expected to be allowed :build_read_project1826 role: :developer, project_visibility: "private", allowed: true1827 is expected to be allowed :build_read_project1828 role: :maintainer, project_visibility: "private", allowed: true1829 is expected to be allowed :build_read_project1830 role: :owner, project_visibility: "private", allowed: true1831 is expected to be allowed :build_read_project1832 role: :admin, project_visibility: "private", allowed: false1833 is expected to be disallowed :build_read_project1834 pending member permissions1835 with a pending membership in a private project1836 role: :guest1837 a pending member has permissions to the project as if the user is not a member1838 role: :reporter1839 a pending member has permissions to the project as if the user is not a member1840 role: :developer1841 a pending member has permissions to the project as if the user is not a member1842 role: :maintainer1843 a pending member has permissions to the project as if the user is not a member1844 with a group invited to a project1845 role: :guest1846 a pending member in the group has permissions to the project as if the user is not a member1847 role: :reporter1848 a pending member in the group has permissions to the project as if the user is not a member1849 role: :developer1850 a pending member in the group has permissions to the project as if the user is not a member1851 role: :maintainer1852 a pending member in the group has permissions to the project as if the user is not a member1853 role: :owner1854 a pending member in the group has permissions to the project as if the user is not a member1855 with a group invited to another group1856 role: :guest1857 a pending member in the group has permissions to the other group's project as if the user is not a member1858 role: :reporter1859 a pending member in the group has permissions to the other group's project as if the user is not a member1860 role: :developer1861 a pending member in the group has permissions to the other group's project as if the user is not a member1862 role: :maintainer1863 a pending member in the group has permissions to the other group's project as if the user is not a member1864 role: :owner1865 a pending member in the group has permissions to the other group's project as if the user is not a member1866 with a subgroup1867 role: :guest1868 a pending member in the group has permissions to the subgroup project as if the user is not a member1869 role: :reporter1870 a pending member in the group has permissions to the subgroup project as if the user is not a member1871 role: :developer1872 a pending member in the group has permissions to the subgroup project as if the user is not a member1873 role: :maintainer1874 a pending member in the group has permissions to the subgroup project as if the user is not a member1875 role: :owner1876 a pending member in the group has permissions to the subgroup project as if the user is not a member1877 :read_approvers1878 role: :guest, allowed: false1879 is expected to be disallowed :read_approvers1880 role: :reporter, allowed: false1881 is expected to be disallowed :read_approvers1882 role: :developer, allowed: false1883 is expected to be disallowed :read_approvers1884 role: :maintainer, allowed: true1885 is expected to be allowed :read_approvers1886 role: :auditor, allowed: true1887 is expected to be allowed :read_approvers1888 role: :owner, allowed: true1889 is expected to be allowed :read_approvers1890 role: :admin, allowed: true1891 is expected to be allowed :read_approvers1892 importing members from another project1893 for a personal project1894 is expected to be allowed :import_project_members_from_another_project1895 for a project in a group1896 when the project has locked their membership1897 via the parent group1898 is expected to be disallowed :import_project_members_from_another_project1899 via LDAP1900 is expected to be disallowed :import_project_members_from_another_project1901 via SAML1902 is expected to be disallowed :import_project_members_from_another_project1903 user banned from namespace1904 when user is not banned1905 is expected to be allowed :read_project1906 when user is banned1907 is expected to be disallowed :read_project1908 as an owner of the project1909 is expected to be disallowed :read_project1910 when project is inside subgroup1911 is expected to be disallowed :read_project1912 as an admin1913 when admin mode is enabled1914 is expected to be allowed :read_project1915 when project is public1916 is expected to be disallowed :read_project1917 when the limit_unique_project_downloads_per_namespace_user feature flag is disabled1918 is expected to be allowed :read_project1919 when licensed feature unique_project_download_limit is not available1920 is expected to be allowed :read_project1921 create_objective1922 role: :guest, allowed: true1923 when okrs_mvc feature flag is enabled1924 is expected to be allowed :create_objective and :create_key_result1925 when okrs_mvc feature flag is disabled1926 is expected to be disallowed :create_objective and :create_key_result1927 when okrs license feature is not available1928 is expected to be disallowed :create_objective and :create_key_result1929 role: :reporter, allowed: true1930 when okrs_mvc feature flag is enabled1931 is expected to be allowed :create_objective and :create_key_result1932 when okrs_mvc feature flag is disabled1933 is expected to be disallowed :create_objective and :create_key_result1934 when okrs license feature is not available1935 is expected to be disallowed :create_objective and :create_key_result1936 role: :developer, allowed: true1937 when okrs_mvc feature flag is enabled1938 is expected to be allowed :create_objective and :create_key_result1939 when okrs_mvc feature flag is disabled1940 is expected to be disallowed :create_objective and :create_key_result1941 when okrs license feature is not available1942 is expected to be disallowed :create_objective and :create_key_result1943 role: :maintainer, allowed: true1944 when okrs_mvc feature flag is enabled1945 is expected to be allowed :create_objective and :create_key_result1946 when okrs_mvc feature flag is disabled1947 is expected to be disallowed :create_objective and :create_key_result1948 when okrs license feature is not available1949 is expected to be disallowed :create_objective and :create_key_result1950 role: :auditor, allowed: false1951 when okrs_mvc feature flag is enabled1952 is expected to be disallowed :create_objective and :create_key_result1953 when okrs_mvc feature flag is disabled1954 is expected to be disallowed :create_objective and :create_key_result1955 when okrs license feature is not available1956 is expected to be disallowed :create_objective and :create_key_result1957 role: :owner, allowed: true1958 when okrs_mvc feature flag is enabled1959 is expected to be allowed :create_objective and :create_key_result1960 when okrs_mvc feature flag is disabled1961 is expected to be disallowed :create_objective and :create_key_result1962 when okrs license feature is not available1963 is expected to be disallowed :create_objective and :create_key_result1964 role: :admin, allowed: true1965 when okrs_mvc feature flag is enabled1966 is expected to be allowed :create_objective and :create_key_result1967 when okrs_mvc feature flag is disabled1968 is expected to be disallowed :create_objective and :create_key_result1969 when okrs license feature is not available1970 is expected to be disallowed :create_objective and :create_key_result1971 hidden projects1972 is expected to be disallowed :download_code1973 is expected to be disallowed :build_download_code1974 custom role1975 for a member role with read_code true1976 behaves like custom roles abilities1977 without custom_roles license enabled1978 is expected to be disallowed :read_code1979 with custom_roles license enabled1980 custom role for parent group1981 when a role enables the abilities1982 is expected to be allowed :read_code1983 when a role does not enable the abilities1984 is expected to be disallowed :read_code1985 custom role on project membership1986 when a role enables the abilities1987 is expected to be allowed :read_code1988 when a role does not enable the abilities1989 is expected to be disallowed :read_code1990 multiple custom roles in hierarchy with different read_code values1991 is expected to be allowed :read_code1992 for a member role with read_vulnerability true1993 does not enable to admin_vulnerability1994 behaves like custom roles abilities1995 without custom_roles license enabled1996 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export1997 with custom_roles license enabled1998 custom role for parent group1999 when a role enables the abilities2000 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2001 when a role does not enable the abilities2002 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2003 custom role on project membership2004 when a role enables the abilities2005 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2006 when a role does not enable the abilities2007 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2008 multiple custom roles in hierarchy with different read_code values2009 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2010 for a member role with admin_vulnerability true2011 behaves like custom roles abilities2012 without custom_roles license enabled2013 is expected to be disallowed :read_vulnerability and :admin_vulnerability2014 with custom_roles license enabled2015 custom role for parent group2016 when a role enables the abilities2017 is expected to be allowed :read_vulnerability and :admin_vulnerability2018 when a role does not enable the abilities2019 is expected to be disallowed :read_vulnerability and :admin_vulnerability2020 custom role on project membership2021 when a role enables the abilities2022 is expected to be allowed :read_vulnerability and :admin_vulnerability2023 when a role does not enable the abilities2024 is expected to be disallowed :read_vulnerability and :admin_vulnerability2025 multiple custom roles in hierarchy with different read_code values2026 is expected to be allowed :read_vulnerability and :admin_vulnerability2027 for a member role with read_dependency true2028 behaves like custom roles abilities2029 without custom_roles license enabled2030 is expected to be disallowed :read_dependencies2031 with custom_roles license enabled2032 custom role for parent group2033 when a role enables the abilities2034 is expected to be allowed :read_dependencies2035 when a role does not enable the abilities2036 is expected to be disallowed :read_dependencies2037 custom role on project membership2038 when a role enables the abilities2039 is expected to be allowed :read_dependencies2040 when a role does not enable the abilities2041 is expected to be disallowed :read_dependencies2042 multiple custom roles in hierarchy with different read_code values2043 is expected to be allowed :read_dependencies2044 for a member role with read_dependency false2045 behaves like custom roles abilities2046 without custom_roles license enabled2047 is expected to be disallowed2048 with custom_roles license enabled2049 custom role for parent group2050 when a role enables the abilities2051 is expected to be allowed2052 when a role does not enable the abilities2053 is expected to be disallowed2054 custom role on project membership2055 when a role enables the abilities2056 is expected to be allowed2057 when a role does not enable the abilities2058 is expected to be disallowed2059 multiple custom roles in hierarchy with different read_code values2060 is expected to be allowed2061 permissions for suggested reviewers bot2062 when user is suggested_reviewers_bot2063 suggested_reviewers_available: false, token_creation_allowed: false, allowed: false2064 always allows permissions except when feature disabled2065 suggested_reviewers_available: false, token_creation_allowed: true, allowed: false2066 always allows permissions except when feature disabled2067 suggested_reviewers_available: true, token_creation_allowed: false, allowed: false2068 always allows permissions except when feature disabled2069 suggested_reviewers_available: true, token_creation_allowed: true, allowed: true2070 always allows permissions except when feature disabled2071 when user is not suggested_reviewers_bot2072 does not allow permissions2073 read_namespace_catalog2074 when the ci_namespace_catalog licensed feature is unavailable2075 is expected to be disallowed :read_namespace_catalog2076 when the ci_namespace_catalog_experimental feature flag is disabled2077 is expected to be disallowed :read_namespace_catalog2078 when ci_namespace_catalog and ci_namespace_catalog_experimental are available2079 role: :owner, allowed: true2080 is expected to equal true2081 role: :maintainer, allowed: true2082 is expected to equal true2083 role: :developer, allowed: true2084 is expected to equal true2085 role: :reporter, allowed: false2086 is expected to equal false2087 role: :guest, allowed: false2088 is expected to equal false2089 add_catalog_resource2090 when the ci_namespace_catalog licensed feature is unavailable2091 is expected to be disallowed :add_catalog_resource2092 when the ci_namespace_catalog_experimental feature flag is disabled2093 is expected to be disallowed :add_catalog_resource2094 when ci_namespace_catalog and ci_namespace_catalog_experimental are available2095 role: :owner, allowed: true2096 is expected to equal true2097 role: :maintainer, allowed: false2098 is expected to equal false2099 role: :developer, allowed: false2100 is expected to equal false2101 role: :reporter, allowed: false2102 is expected to equal false2103 role: :guest, allowed: false2104 is expected to equal false2105 read_project_runners2106 with auditor2107 is expected to be allowed :read_project_runners2108 workspace creation2109 with no user2110 is expected to be disallowed :create_workspace2111 with an authorized user2112 is expected to be allowed :create_workspace2113 create_pipeline policy2114 as a guest member2115 is expected not to be allowed :create_pipeline2116 and user is a security_policy_bot2117 is expected not to be allowed :create_pipeline2118 and user is a member of the project2119 is expected to be allowed :create_pipeline2120 build_download_code policy2121 as a guest member2122 is expected not to be allowed :build_download_code2123 and user is a security_policy_bot2124 is expected not to be allowed :build_download_code2125 and user is a member of the project2126 is expected to be allowed :build_download_code2127 create_bot_pipeline policy2128 as a guest member2129 is expected not to be allowed :create_bot_pipeline2130 and user is a security_policy_bot2131 is expected not to be allowed :create_bot_pipeline2132 and user is a member of the project2133 is expected to be allowed :create_bot_pipeline2134 fill_in_merge_request_template policy2135 is expected to be allowed :fill_in_merge_request_template2136 when global AI feature flag is disabled2137 is expected to be disallowed :fill_in_merge_request_template2138 when fill_in_mr_template feature flag is disabled2139 is expected to be disallowed :fill_in_merge_request_template2140 when license is not set2141 is expected to be disallowed :fill_in_merge_request_template2142 when experiment features are disabled2143 is expected to be disallowed :fill_in_merge_request_template2144 when third party ai features are disabled2145 is expected to be disallowed :fill_in_merge_request_template2146 when user cannot create_merge_request_in2147 is expected to be disallowed :fill_in_merge_request_template2148Group2149 is expected to includes the EE::Group module2150 is expected to be a kind of ReactiveCaching2151 associations2152 is expected to have many audit_events dependent => false2153 is expected to belong to file_template_project class_name => Project2154 is expected to have many ip_restrictions2155 is expected to have many allowed_email_domains2156 is expected to have many compliance_management_frameworks2157 is expected to have one deletion_schedule2158 is expected to have one group_wiki_repository2159 is expected to belong to push_rule required: false inverse_of => group2160 is expected to have many saml_group_links2161 is expected to have many epics2162 is expected to have many epic_boards inverse_of => group2163 is expected to have many provisioned_user_details inverse_of => provisioned_by_group2164 is expected to have many provisioned_users2165 is expected to have one group_merge_request_approval_setting2166 is expected to have many repository_storage_moves2167 is expected to have many iterations2168 is expected to have many iterations_cadences2169 is expected to have many epic_board_recent_visits inverse_of => group2170 is expected to have many external_audit_event_destinations2171 is expected to have many google_cloud_logging_configurations2172 is expected to have one analytics_dashboards_pointer2173 is expected to have one analytics_dashboards_configuration_project2174 is expected to have one value_stream_dashboard_aggregation2175 is expected to have one index_status class_name => Elastic::GroupIndexStatus dependent => destroy2176 behaves like model with wiki2177 #create_wiki2178 returns true if the wiki repository already exists2179 returns true if the wiki repository was created2180 when the repository cannot be created2181 returns false and adds a validation error2182 #wiki_repository_exists?2183 returns true when the wiki repository exists2184 returns false when the wiki repository does not exist2185 wiki path conflict2186 when the new path has been used by the wiki of other Project2187 has an error on the name attribute2188 when the new wiki path has been used by the path of other Project2189 has an error on the name attribute2190 when the new path has been used by the wiki of other Group2191 has an error on the name attribute2192 when the new wiki path has been used by the path of other Group2193 has an error on the name attribute2194 scopes2195 .with_custom_file_templates2196 is expected to contain exactly #<Group id:789 @group157>2197 preloads everything needed to show a valid checked_file_template_project2198 .with_saml_provider2199 preloads saml_providers2200 .aimed_for_deletion2201 only includes groups that are marked for deletion on or before the specified date2202 .for_epics2203 returns groups only for selected epics2204 .with_managed_accounts_enabled2205 includes the groups that has managed accounts enabled2206 .with_no_pat_expiry_policy2207 includes the groups that has no PAT expiry policy set2208 .user_is_member2209 returns only groups where user is direct or indirect member ignoring inheritance and minimal access level2210 .invited_groups_in_groups_for_hierarchy2211 with guests2212 includes all groups from group invites2213 without guests2214 includes all groups from group invites2215 .invited_groups_in_projects_for_hierarchy2216 with guests2217 includes all groups from group invites2218 without guests2219 includes all groups from group invites2220 .with_trial_started_on2221 returns correct group2222 .by_repository_storage2223 filters group by repository storage name2224 validations2225 max_personal_access_token_lifetime2226 is expected to allow :max_personal_access_token_lifetime to be ‹1›2227 is expected to allow :max_personal_access_token_lifetime to be ‹nil›2228 is expected to allow :max_personal_access_token_lifetime to be ‹10›2229 is expected to allow :max_personal_access_token_lifetime to be ‹365›2230 is expected not to allow :max_personal_access_token_lifetime to be ‹"value"›2231 is expected not to allow :max_personal_access_token_lifetime to be ‹2.5›2232 is expected not to allow :max_personal_access_token_lifetime to be ‹-5›2233 is expected not to allow :max_personal_access_token_lifetime to be ‹366›2234 validates if custom_project_templates_group_id is allowed2235 rejects change if the assigned group is not a subgroup2236 allows value if the assigned value is from a subgroup2237 rejects change if the assigned value is from a subgroup's descendant group2238 allows value when it is blank2239 delegations2240 is expected to delegate #code_suggestions to the #namespace_settings object, allowing #namespace_settings to return nil2241 is expected to delegate #code_suggestions= to the #namespace_settings object passing arguments [true], allowing #namespace_settings to return nil2242 is expected to delegate #wiki_access_level to the #group_feature object2243 is expected to delegate #wiki_access_level= to the #group_feature object passing arguments [:args]2244 states2245 is expected to be ldap sync ready2246 after the start transition2247 sets the last sync timestamp2248 after the finish transition2249 sets the state to started2250 sets last update and last successful update to the same timestamp2251 clears previous error message on success2252 after the fail transition2253 sets the state to failed2254 sets last update timestamp but not last successful update timestamp2255 .groups_user_can2256 for :read_epic permission2257 when user has minimal access to group2258 behaves like a filter for permissioned groups2259 with epics enabled2260 uses filter optmization to return groups with access2261 when groups array is empty2262 does not use filter optimization2263 when use_traversal_ids is disabled2264 does not use filter optimization2265 when same_root is false2266 does not use filter optimization2267 with epics disabled2268 returns an empty list2269 when user is a group member2270 behaves like a filter for permissioned groups2271 with epics enabled2272 uses filter optmization to return groups with access2273 when groups array is empty2274 does not use filter optimization2275 when use_traversal_ids is disabled2276 does not use filter optimization2277 when same_root is false2278 does not use filter optimization2279 with epics disabled2280 returns an empty list2281 when user is not member of any group2282 behaves like a filter for permissioned groups2283 with epics enabled2284 uses filter optmization to return groups with access2285 when groups array is empty2286 does not use filter optimization2287 when use_traversal_ids is disabled2288 does not use filter optimization2289 when same_root is false2290 does not use filter optimization2291 with epics disabled2292 returns an empty list2293 when user has membership from a group share2294 behaves like a filter for permissioned groups2295 with epics enabled2296 uses filter optmization to return groups with access2297 when groups array is empty2298 does not use filter optimization2299 when use_traversal_ids is disabled2300 does not use filter optimization2301 when same_root is false2302 does not use filter optimization2303 with epics disabled2304 returns an empty list2305 when user is member of a project in the hierarchy2306 behaves like a filter for permissioned groups2307 with epics enabled2308 uses filter optmization to return groups with access2309 when groups array is empty2310 does not use filter optimization2311 when use_traversal_ids is disabled2312 does not use filter optimization2313 when same_root is false2314 does not use filter optimization2315 with epics disabled2316 returns an empty list2317 when user is member of a child group that has a project2318 behaves like a filter for permissioned groups2319 with epics enabled2320 uses filter optmization to return groups with access2321 when groups array is empty2322 does not use filter optimization2323 when use_traversal_ids is disabled2324 does not use filter optimization2325 when same_root is false2326 does not use filter optimization2327 with epics disabled2328 returns an empty list2329 for :read_confidential_epic permission2330 when user is guest2331 behaves like a filter for permissioned groups2332 with epics enabled2333 uses filter optmization to return groups with access2334 when groups array is empty2335 does not use filter optimization2336 when use_traversal_ids is disabled2337 does not use filter optimization2338 when same_root is false2339 does not use filter optimization2340 with epics disabled2341 returns an empty list2342 when user is reporter2343 behaves like a filter for permissioned groups2344 with epics enabled2345 uses filter optmization to return groups with access2346 when groups array is empty2347 does not use filter optimization2348 when use_traversal_ids is disabled2349 does not use filter optimization2350 when same_root is false2351 does not use filter optimization2352 with epics disabled2353 returns an empty list2354 when user is reporter via shared group2355 behaves like a filter for permissioned groups2356 with epics enabled2357 uses filter optmization to return groups with access2358 when groups array is empty2359 does not use filter optimization2360 when use_traversal_ids is disabled2361 does not use filter optimization2362 when same_root is false2363 does not use filter optimization2364 with epics disabled2365 returns an empty list2366 when user is member of a project in the hierarchy2367 behaves like a filter for permissioned groups2368 with epics enabled2369 uses filter optmization to return groups with access2370 when groups array is empty2371 does not use filter optimization2372 when use_traversal_ids is disabled2373 does not use filter optimization2374 when same_root is false2375 does not use filter optimization2376 with epics disabled2377 returns an empty list2378 when action is not allowed to use filtering optmization2379 returns an empty list2380 getting group root ancestor2381 when same_root is false2382 behaves like group root ancestor2383 does not exceed SQL queries count2384 when same_root is true2385 behaves like group root ancestor2386 does not exceed SQL queries count2387 .preload_root_saml_providers2388 sets root_saml_provider for given groups2389 #vulnerabilities2390 returns vulnerabilities for all non-archived, non-deleted projects in the group and its subgroups2391 #vulnerability_reads2392 returns vulnerabilities for projects in the group and its subgroups2393 #vulnerability_scanners2394 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups2395 #vulnerability_historical_statistics2396 returns vulnerability scanners for all non-archived, non-deleted projects in the group and its subgroups2397 #mark_ldap_sync_as_failed2398 sets the state to failed2399 sets the error message2400 is graceful when current state is not valid for the fail transition2401 #repository_size_limit column2402 support values up to 8 exabytes2403 #file_template_project2404 is expected to include :file_template_project2405 validation2406 is cleared if invalid2407 is permitted if valid2408 #ip_restriction_ranges2409 group with no associated ip_restriction records2410 returns nil2411 group with associated ip_restriction records2412 returns a comma separated string of ranges of its ip_restriction records2413 #root_ancestor_ip_restrictions2414 returns the ip restrictions configured for the root group2415 #allowed_email_domains_list2416 group with no associated allowed_email_domains records2417 returns nil2418 group with associated allowed_email_domains records2419 returns a comma separated string of domains of its allowed_email_domains records2420 #root_ancestor_allowed_email_domains2421 returns the email domain restrictions configured for the root group2422 #owner_of_email?2423 when domain_verification feature is licensed2424 returns true for email with verified domain2425 returns false for email with unverified domain2426 returns false for email with unverified subdomain of verified domain2427 ignores case sensitivity2428 returns false when the receiver is subgroup2429 when domain_verification feature is not licensed2430 returns false for email with verified domain2431 #predefined_push_rule2432 group with no associated push_rules record2433 returns instance push rule2434 group with associated push_rules record2435 with its own push rule2436 returns its own push rule2437 with push rule from ancestor2438 returns push rule from closest ancestor2439 there are no push rules2440 returns nil2441 #checked_file_template_project2442 licensed2443 returns nil for an invalid project2444 returns a valid project2445 unlicensed2446 returns nil for a valid project2447 #checked_file_template_project_id2448 licensed2449 returns nil for an invalid project2450 returns the ID for a valid project2451 unlicensed2452 returns nil for a valid project2453 #group_project_template_available?2454 licensed2455 returns true for licensed instance2456 when in need of checking plan2457 returns true for groups in proper plan2458 returns false for groups with group template already set but not in proper plan2459 unlicensed2460 returns false for unlicensed instance2461 #scoped_variables_available?2462 licensed feature is available2463 is expected to equal true2464 licensed feature is not available2465 is expected to equal false2466 #minimal_access_role_allowed?2467 licensed2468 returns true for licensed instance2469 returns false for subgroup in licensed instance2470 unlicensed2471 returns false unlicensed instance2472 #member?2473 with `minimal_access_role` not licensed2474 is expected to be falsey2475 with `minimal_access_role` licensed2476 when group is a subgroup2477 is expected to be falsey2478 when group is a top-level group2479 is expected to be truthy2480 accepts higher level as argument2481 with anonymous user2482 is expected to be falsey2483 #billed_user_ids2484 with guests2485 includes distinct active users2486 excludes banned members2487 without guests2488 includes distinct active users2489 #billable_members_count2490 with guests2491 provides count of users2492 without guests2493 provides count of users2494 #billed_group_users2495 with guests2496 includes active users2497 without guests2498 includes active users2499 with member roles2500 includes guests with elevating role assigned2501 with banned members2502 excludes banned members2503 when member is banned in one namespace but not another2504 excludes banned member in the namespace it is banned in2505 includes member in the namespace it isn't banned in2506 #billed_project_users2507 with guests2508 includes active users2509 without guests2510 includes active users2511 with member roles2512 includes guests with elevating role assigned2513 with banned members2514 excludes banned members2515 #billed_shared_group_users2516 with guests2517 includes active users from the other group2518 without guests2519 includes active users from the other group2520 with banned members2521 includes members that are banned in invited group2522 excludes members that are banned in group2523 #billed_invited_group_to_project_users2524 with guests2525 includes active users from the other group2526 without guests2527 includes active users from the other group2528 with banned members2529 includes members that are banned in invited group2530 excludes members that are banned in group2531 #billed_group_user?2532 user: developer, exclude_guests: false, result: true2533 is expected to eq true2534 user: sub_developer, exclude_guests: false, result: true2535 is expected to eq true2536 user: guest, exclude_guests: false, result: true2537 is expected to eq true2538 user: developer, exclude_guests: true, result: true2539 is expected to eq true2540 user: sub_developer, exclude_guests: true, result: true2541 is expected to eq true2542 user: guest, exclude_guests: true, result: false2543 is expected to eq false2544 #billed_project_user?2545 user: developer, exclude_guests: false, result: true2546 is expected to eq true2547 user: sub_developer, exclude_guests: false, result: true2548 is expected to eq true2549 user: guest, exclude_guests: false, result: true2550 is expected to eq true2551 user: developer, exclude_guests: true, result: true2552 is expected to eq true2553 user: sub_developer, exclude_guests: true, result: true2554 is expected to eq true2555 user: guest, exclude_guests: true, result: false2556 is expected to eq false2557 #billed_shared_group_user?2558 user: ancestor_invited_developer, exclude_guests: false, result: true2559 is expected to eq true2560 user: invited_developer, exclude_guests: false, result: true2561 is expected to eq true2562 user: invited_guest, exclude_guests: false, result: true2563 is expected to eq true2564 user: ancestor_invited_developer, exclude_guests: true, result: true2565 is expected to eq true2566 user: invited_developer, exclude_guests: true, result: true2567 is expected to eq true2568 user: invited_guest, exclude_guests: true, result: false2569 is expected to eq false2570 #billed_shared_project_user?2571 user: ancestor_invited_developer, exclude_guests: false, result: true2572 is expected to eq true2573 user: invited_developer, exclude_guests: false, result: true2574 is expected to eq true2575 user: invited_guest, exclude_guests: false, result: true2576 is expected to eq true2577 user: ancestor_invited_developer, exclude_guests: true, result: true2578 is expected to eq true2579 user: invited_developer, exclude_guests: true, result: true2580 is expected to eq true2581 user: invited_guest, exclude_guests: true, result: false2582 is expected to eq false2583 #capacity_left_for_user?2584 user_cap_available: false, user_cap_reached: false, existing_membership: false, result: true2585 is expected to eq true2586 user_cap_available: false, user_cap_reached: false, existing_membership: true, result: true2587 is expected to eq true2588 user_cap_available: false, user_cap_reached: true, existing_membership: true, result: true2589 is expected to eq true2590 user_cap_available: true, user_cap_reached: false, existing_membership: false, result: true2591 is expected to eq true2592 user_cap_available: true, user_cap_reached: false, existing_membership: true, result: true2593 is expected to eq true2594 user_cap_available: true, user_cap_reached: true, existing_membership: true, result: true2595 is expected to eq true2596 user_cap_available: true, user_cap_reached: true, existing_membership: false, result: false2597 is expected to eq false2598 #has_free_or_no_subscription?2599 returns true with a free plan2600 returns false when the plan is not free2601 returns true when there is no plan2602 returns true when there is a subscription with no plan2603 when it is a subgroup2604 with a free plan2605 returns true2606 with a plan that is not free2607 returns false2608 when there is no plan2609 returns true2610 when there is a subscription with no plan2611 returns true2612 #enforce_free_user_cap?2613 enforce_free_cap: false, result: false2614 is expected to eq false2615 enforce_free_cap: true, result: true2616 is expected to eq true2617 #exclude_guests?2618 actual_plan_name: :free, requested_plan_name: nil, result: false2619 returns the expected result2620 actual_plan_name: :premium, requested_plan_name: nil, result: false2621 returns the expected result2622 actual_plan_name: :ultimate, requested_plan_name: nil, result: true2623 returns the expected result2624 actual_plan_name: :ultimate_trial, requested_plan_name: nil, result: true2625 returns the expected result2626 actual_plan_name: :gold, requested_plan_name: nil, result: true2627 returns the expected result2628 actual_plan_name: :free, requested_plan_name: "premium", result: false2629 returns the expected result2630 actual_plan_name: :free, requested_plan_name: "ultimate", result: true2631 returns the expected result2632 actual_plan_name: :premium, requested_plan_name: "ultimate", result: true2633 returns the expected result2634 actual_plan_name: :ultimate, requested_plan_name: "ultimate", result: true2635 returns the expected result2636 #actual_plan_name2637 when parent group has a subscription associated2638 returns an associated plan name2639 when parent group does not have subscription associated2640 returns a free plan name2641 #users_count2642 with `minimal_access_role` not licensed2643 does not count the minimal access user2644 with `minimal_access_role` licensed2645 counts the minimal access user2646 #saml_discovery_token2647 returns existing tokens2648 when missing on read2649 generates a token2650 saves the generated token2651 in read-only mode2652 doesn't raise an error as that could expose group existance2653 returns a random value to prevent access2654 #saml_enabled?2655 when a SAML provider does not exist2656 is expected to eq false2657 when a SAML provider exists and is persisted2658 is expected to eq true2659 when a SAML provider is not persisted2660 is expected to eq false2661 when global SAML is enabled2662 is expected to eq true2663 #saml_group_sync_available?2664 is expected to eq false2665 with group_saml_group_sync feature licensed2666 is expected to eq false2667 with saml enabled2668 is expected to eq true2669 when the group is a subgroup2670 is expected to eq true2671 #saml_group_links_enabled?2672 with group saml disabled2673 is expected to eq false2674 with group saml enabled2675 without saml group links2676 is expected to eq false2677 with saml group links2678 is expected to eq true2679 #insights_config2680 when group has no Insights project configured2681 returns the default config2682 when group has an Insights project configured without a config file2683 returns the default config2684 when group has an Insights project configured2685 with a valid config file2686 returns the insights config data2687 with an invalid config file2688 returns nil2689 when group has an Insights project configured which is in a nested group2690 returns the insights config data2691 #any_hook_failed?2692 is expected to eq false2693 #execute_hooks2694 group_webhooks2695 when group_webhooks feature is enabled2696 execution2697 executes the hook for self and ancestor groups by default2698 when group_webhooks feature is disabled2699 does not execute the hook2700 subgroup hooks2701 when a subgroup is added to the parent group2702 executes the webhook2703 when a subgroup is removed from the parent group2704 executes the webhook2705 when the subgroup has subgroup webhooks enabled2706 does not execute the webhook on itself2707 ancestor groups2708 fires webhook twice when both parent & grandparent group has subgroup_events enabled2709 when parent group does not have subgroup_events enabled2710 fires webhook once for the grandparent group when it has subgroup_events enabled2711 when the group is not a subgroup2712 does not proceed to firing any webhooks2713 when group webhooks are unlicensed2714 does not execute the webhook2715 #self_or_ancestor_marked_for_deletion2716 delayed deletion feature is not available2717 returns nil2718 delayed deletion feature is available2719 the group has been marked for deletion2720 returns the group2721 the parent group has been marked for deletion2722 returns the parent group2723 no group has been marked for deletion2724 returns nil2725 ordering2726 returns the first group that is marked for deletion, up its ancestry chain2727 #marked_for_deletion?2728 delayed deletion feature is available2729 when the group is marked for delayed deletion2730 is expected to be truthy2731 when the group is not marked for delayed deletion2732 is expected to be falsey2733 delayed deletion feature is not available2734 when the group is marked for delayed deletion2735 is expected to be falsey2736 when the group is not marked for delayed deletion2737 is expected to be falsey2738 #adjourned_deletion?2739 delayed deletion feature is available2740 adjourned_period: 0, delayed_group_deletion: true, expected: false2741 is expected to be falsey2742 adjourned_period: 0, delayed_group_deletion: false, expected: false2743 is expected to be falsey2744 adjourned_period: 1, delayed_group_deletion: true, expected: true2745 is expected to be truthy2746 adjourned_period: 1, delayed_group_deletion: false, expected: true2747 is expected to be truthy2748 delayed deletion feature is not available2749 when delayed deletion period is set to more than 02750 behaves like returns false2751 is expected to be falsey2752 #personal_access_token_expiration_policy_available?2753 when the group does not enforce managed accounts2754 is expected to be falsey2755 when the group enforces managed accounts2756 with `personal_access_token_expiration_policy` licensed2757 is expected to be truthy2758 with `personal_access_token_expiration_policy` not licensed2759 is expected to be falsey2760 #update_personal_access_tokens_lifetime2761 when the group does not enforce managed accounts2762 behaves like it does not call the update lifetime service2763 doesn not call the update lifetime service2764 when the group enforces managed accounts2765 with `personal_access_token_expiration_policy` not licensed2766 behaves like it does not call the update lifetime service2767 doesn not call the update lifetime service2768 with `personal_access_token_expiration_policy` licensed2769 when the group does not enforce a PAT expiry policy2770 behaves like it does not call the update lifetime service2771 doesn not call the update lifetime service2772 when the group enforces a PAT expiry policy2773 executes the update lifetime service2774 #max_personal_access_token_lifetime_from_now2775 when max_personal_access_token_lifetime is defined2776 is a date2777 is in the future2778 is in days_from_now2779 when max_personal_access_token_lifetime is nil2780 is nil2781 #owners_emails2782 is expected to match ["bob@example.com"]2783 #access_level_roles2784 returns the correct roles2785 Releases Stats2786 when there are no releases2787 #releases_count2788 returns 02789 #releases_percentage2790 returns 0 and does not attempt to divide by 02791 when there are some releases2792 #releases_count2793 counts all releases for group and descendants2794 #releases_percentage2795 calculates projects with releases percentage for group and descendants2796 #repository_storage2797 when wiki does not have a tracked repository storage2798 returns the default shard2799 when wiki has a tracked repository storage2800 returns the persisted shard2801 #user_cap_reached?2802 when user cap feature is not available2803 is expected to be falsey2804 when user cap feature is available2805 when the :saas_user_caps feature flag is not enabled2806 is expected to be falsey2807 when the :saas_user_caps feature flag is enabled2808 when this group has no root ancestor2809 behaves like returning the right value for user_cap_reached?2810 when no user cap has been set to that root ancestor2811 is expected to be falsey2812 when a user cap has been set to that root ancestor2813 when this cap is higher than the number of billable members2814 is expected to be falsey2815 when this cap is the same as the number of billable members2816 is expected to be truthy2817 when this cap is lower than the number of billable members2818 is expected to be truthy2819 when this group has a root ancestor2820 behaves like returning the right value for user_cap_reached?2821 when no user cap has been set to that root ancestor2822 is expected to be falsey2823 when a user cap has been set to that root ancestor2824 when this cap is higher than the number of billable members2825 is expected to be falsey2826 when this cap is the same as the number of billable members2827 is expected to be truthy2828 when this cap is lower than the number of billable members2829 is expected to be truthy2830 #calculate_reactive_cache2831 returns cache data for the free plan members count2832 #shared_externally?2833 returns false when the group is not shared outside of the namespace hierarchy2834 returns true when the group is shared outside of the namespace hierarchy2835 returns false when the group is shared internally within the namespace hierarchy2836 returns true when a subgroup is shared outside of the namespace hierarchy2837 returns false when the only shared groups are outside of the namespace hierarchy2838 returns true when the group project is shared outside of the namespace hierarchy2839 returns false when the group project is only shared internally within the namespace hierarchy2840 behaves like can move repository storage2841 #set_repository_read_only!2842 makes the repository read-only2843 raises an error if the project is already read-only2844 raises an error when there is an existing git transfer in progress2845 skip_git_transfer_check is true2846 makes the project read-only when git transfers are in progress2847 #set_repository_writable!2848 sets repository_read_only to false2849 #reference_counter2850 returns a Gitlab::ReferenceCounter object2851 #cluster_agents2852 is expected to contain exactly #<Clusters::Agent id: 2, created_at: "2023-08-10 12:26:35.167122325 +0000", updated_at: "2023-08-10 1...22325 +0000", project_id: 250, name: "agent-2", created_by_user_id: 793, has_vulnerabilities: false> and #<Clusters::Agent id: 3, created_at: "2023-08-10 12:26:35.227454459 +0000", updated_at: "2023-08-10 1...54459 +0000", project_id: 251, name: "agent-3", created_by_user_id: 794, has_vulnerabilities: false>2853 #unique_project_download_limit_enabled?2854 is expected to eq true2855 when feature flag is disabled2856 is expected to eq false2857 when licensed feature is not available2858 is expected to eq false2859 when sub-group2860 is expected to eq false2861 #parent_epic_ids_in_ancestor_groups2862 returns parent ids of epics of the given group that belongs to ancestor groups2863 #usage_quotas_enabled?2864 feature_available: false, feature_enabled: true, root_group: true, result: true2865 returns the expected result2866 feature_available: true, feature_enabled: true, root_group: true, result: true2867 returns the expected result2868 feature_available: true, feature_enabled: false, root_group: true, result: true2869 returns the expected result2870 feature_available: false, feature_enabled: false, root_group: true, result: false2871 returns the expected result2872 feature_available: false, feature_enabled: false, root_group: false, result: false2873 returns the expected result2874 feature_available: false, feature_enabled: true, root_group: false, result: false2875 returns the expected result2876 feature_available: true, feature_enabled: false, root_group: false, result: false2877 returns the expected result2878 feature_available: true, feature_enabled: true, root_group: false, result: false2879 returns the expected result2880 #sbom_occurrences2881 is expected to be empty2882 with project2883 is expected to be empty2884 with occurrences2885 returns occurrences with aggregated ids2886 #reached_project_access_token_limit?2887 when not in a saas environment2888 returns false when group project has a token2889 when in a saas environment2890 returns false when the limit has not been reached2891 returns true when the limit has been reached2892 returns true for a subgroup when a root group project has a token2893 returns true for the root group when a subgroup project has a token2894 returns true for a subgroup when another subgroup project has a token2895 does not count group tokens2896 does not count personal tokens2897 does not count expired tokens2898 .pending_delete?2899 when deletion_schedule is not present2900 returns false2901 when deletion_schedule is present2902 when marked_for_deletion_on is from past2903 returns false2904 when marked_for_deletion_on is in future2905 returns true2906EpicIssue2907 validations2908 is valid to add non-confidential issue to non-confidential epic2909 is valid to add confidential issue to confidential epic2910 is valid to add confidential issue to non-confidential epic2911 is not valid to add non-confidential issue to confidential epic2912 group hierarchy2913 when epic and issue are from different group hierarchies2914 is valid2915 when epic and issue belong to the same group2916 is expected to be valid2917 when epic is in an ancestor group2918 is expected to be valid2919 when epic is in a descendant group2920 is expected to be valid2921 relative positioning2922 behaves like a class that supports relative positioning2923 #scoped_items2924 includes all items with the same scope2925 #relative_siblings2926 includes all items with the same scope, except self2927 .move_nulls_to_end2928 moves items with null relative_position to the end2929 preserves relative position2930 moves the item near the start position when there are no existing positions2931 does not perform any moves if all items have their relative_position set2932 manages to move nulls to the end even if there is a sequence at the end2933 manages to move nulls to the end even if there is not enough space2934 manages to move nulls to the end, stacking if we cannot create enough space2935 manages to move nulls found in the relative scope2936 can move many nulls2937 does not have an N+1 issue2938 .move_nulls_to_start2939 moves items with null relative_position to the start2940 moves the item near the start position when there are no existing positions2941 preserves relative position2942 does not perform any moves if all items have their relative_position set2943 manages to move nulls to the start even if there is not enough space2944 manages to move nulls to the end, stacking if we cannot create enough space2945 #move_before2946 moves item before2947 can move the item before an item at the start2948 can move the item before an item at MIN_POSITION2949 can move the item before an item bunched up at MIN_POSITION2950 when there is no space2951 moves items correctly2952 leap-frogging to the left2953 can leap-frog STEPS times before needing to rebalance2954 there is no space to the left after moving STEPS times2955 rebalances to the right2956 #move_after2957 moves item after2958 can move the item after an item bunched up at MAX_POSITION2959 when there is no space2960 can move the item after an item at MAX_POSITION2961 moves items correctly2962 leap-frogging2963 rebalances after STEPS jumps2964 #move_to_start2965 places items at most IDEAL_DISTANCE from the start when the range is open2966 moves item to the end2967 positions the item at MIN_POSITION when there is only one space left2968 rebalances when there is already an item at the MIN_POSITION2969 deals with a run of elements at the start2970 #move_to_end2971 places items at most IDEAL_DISTANCE from the start when the range is open2972 moves item to the end2973 positions the item at MAX_POSITION when there is only one space left2974 rebalances when there is already an item at the MAX_POSITION2975 deals with a run of elements at the end2976 #move_between2977 positions item between two other2978 positions item between on top2979 positions item between to end2980 positions items even when after and before positions are the same2981 positions item in the middle of other two if distance is big enough2982 positions item closer to the middle if we are at the very top2983 positions item closer to the middle if we are at the very bottom2984 positions item in the middle of other two2985 positions item right if we pass non-sequential parameters2986 avoids N+1 queries when rebalancing other items2987 the two items are next to each other2988 behaves like moves item between2989 moves the middle item to between left and right2990 there is no space2991 behaves like moves item between2992 moves the middle item to between left and right2993 there is a bunch of items2994 handles bunches correctly2995 behaves like moves item between2996 moves the middle item to between left and right2997 with a mixed tree level2998 can create space to the right2999 can create space to the left3000 moves nulls to the end3001 #update_cached_metadata3002 schedules cache update for epic when new issue is added3003 when epic issue already exists3004 schedules cache update for epic when epic issue is updated3005 schedules cache update for epic when epic issue is destroyed3006 #exportable_record?3007 when user is nil3008 is expected to be falsey3009 when user cannot read epic3010 is expected to be falsey3011 when user can read epic3012 is expected to be truthy3013Gitlab::Geo::LogCursor::Daemon3014 #run!3015 traps signals3016 delegates to #run_once! in a loop3017 #run_once!3018 skips execution if cannot achieve a lease3019 skips execution if not a Geo node3020 skips execution if the current node is a primary3021 when the lease block rescues an error3022 when this error is the final straw3023 calls `#exit!`3024 when this error is not the final straw3025 does not call `#exit!`3026 #find_and_handle_events!3027 with some event logs3028 handles events3029 calls #handle_gap_event for each gap the gap tracking finds3030 exits when told to stop3031 when node has namespace restrictions3032 replays events for projects that belong to selected namespaces to replicate3033 does not replay events for projects that do not belong to selected namespaces to replicate3034 detects when an event was skipped3035 detects when an event was skipped between batches3036 logs a message if an associated event can't be found3037 logs a message for skipped events3038 does not replay events for projects that do not belong to selected shards to replicate3039 #handle_events3040 passes the previous batch id on to gap tracking3041 checks for gaps for each id in batch3042 handles every single event3043 #handle_single_event3044 skips execution when no event data is found3045 checks if it can replay the event3046 processes event when it is replayable3047Gitlab::UsageData3048 clears memoized values3049 .data3050 gathers usage data3051 gathers usage counts3052 gathers security products usage data3053 gathers group overview preferences usage data3054 includes a recording_ee_finished_at timestamp3055 .features_usage_data_ee3056 gathers feature usage data of EE3057 .components_usage_data3058 gathers components usage data3059 .requirements_counts3060 when requirements are disabled3061 returns empty hash3062 when requirements are enabled3063 returns created requirements count3064 merge requests merged using approval rules3065 counts the approval rules for merged merge requests3066 .operations_dashboard_usage3067 gathers data on operations dashboard3068 bases counts on active users3069 usage_activity_by_stage_create3070 includes accurate usage_activity_by_stage data3071 usage_data_by_stage_enablement3072 returns empty hash if geo is not enabled3073 geo enabled3074 excludes data outside of the date range3075 node status fields3076 only includes active secondary nodes3077 includes all resource status fields3078 usage_activity_by_stage_manage3079 includes accurate usage_activity_by_stage data3080 usage_activity_by_stage_monitor3081 includes accurate usage_activity_by_stage data3082 usage_activity_by_stage_plan3083 includes accurate usage_activity_by_stage data3084 usage_activity_by_stage_release3085 includes accurate usage_activity_by_stage data3086 usage_activity_by_stage_verify3087 includes accurate usage_activity_by_stage data3088Geo::PipelineArtifactReplicator3089 invokes replicator.handle_after_create_commit on create3090 behaves like a replicator3091 Geo node status3092 on a primary site3093 .primary_total_count3094 when batch count feature flag is enabled3095 returns the number of available replicables on primary3096 when batch count feature flag is disabled3097 returns the number of available replicables on primary3098 on a secondary site3099 .registry_count3100 when batch count feature flag is enabled3101 returns the number of registries on secondary3102 when batch count feature flag is disabled3103 returns the number of registries on secondary3104 .synced_count3105 when batch count feature flag is enabled3106 returns the number of synced items on secondary3107 when batch count feature flag is disabled3108 returns the number of synced items on secondary3109 .failed_count3110 when batch count feature flag is enabled3111 returns the number of failed items on secondary3112 when batch count feature flag is disabled3113 returns the number of failed items on secondary3114 when replicator is Geo::RegistrySyncWorker compatible3115 has "created" and "deleted" events3116 when replicator enqueues a sync event3117 is expected to receive perform_async("pipeline_artifact", "created", {"model_record_id"=>nil}) 1 time3118 behaves like a verifiable replicator3119 events3120 has checksum_succeeded event3121 .verification_enabled?3122 when replication is enabled3123 when verification_feature_flag_enabled? returns true3124 returns true3125 when verification_feature_flag_enabled? returns false3126 returns false3127 when replication is disabled3128 returns false3129 .checksummed_count3130 when verification is enabled3131 when batch count feature flag is enabled3132 behaves like a counter of succeeded available verifiables3133 is expected to eq 13134 excludes other verification states3135 when batch count feature flag is disabled3136 behaves like a counter of succeeded available verifiables3137 is expected to eq 13138 excludes other verification states3139 when verification is disabled3140 returns nil3141 .verified_count3142 when verification is enabled3143 when batch count feature flag is enabled3144 behaves like a counter of succeeded available verifiables3145 is expected to eq 13146 excludes other verification states3147 when batch count feature flag is disabled3148 behaves like a counter of succeeded available verifiables3149 is expected to eq 13150 excludes other verification states3151 when verification is disabled3152 returns nil3153 .checksum_failed_count3154 when verification is enabled3155 when batch count feature flag is enabled3156 behaves like a counter of failed available verifiables3157 is expected to eq 13158 excludes other verification states3159 when batch count feature flag is disabled3160 behaves like a counter of failed available verifiables3161 is expected to eq 13162 excludes other verification states3163 when verification is disabled3164 returns nil3165 .verification_failed_count3166 when verification is enabled3167 when batch count feature flag is enabled3168 behaves like a counter of failed available verifiables3169 is expected to eq 13170 excludes other verification states3171 when batch count feature flag is disabled3172 behaves like a counter of failed available verifiables3173 is expected to eq 13174 excludes other verification states3175 when verification is disabled3176 returns nil3177 .verification_total_count3178 when verification is enabled3179 when batch count feature flag is enabled3180 when the verification_state is disabled3181 is expected to eq 03182 when the verification_state is not disabled3183 is expected to eq 13184 when batch count feature flag is disabled3185 when the verification_state is disabled3186 is expected to eq 03187 when the verification_state is not disabled3188 is expected to eq 13189 when verification is disabled3190 returns nil3191 .trigger_background_verification3192 when verification is enabled3193 for a Geo secondary3194 does not enqueue ReverificationBatchWorker3195 enqueues VerificationBatchWorker3196 enqueues VerificationTimeoutWorker3197 for a Geo primary3198 enqueues ReverificationBatchWorker3199 enqueues VerificationStateBackfillWorker3200 enqueues VerificationBatchWorker3201 enqueues VerificationTimeoutWorker3202 when verification is disabled3203 does not enqueue VerificationBatchWorker3204 does not enqueue VerificationTimeoutWorker3205 .backfill_verification_state_table3206 calls VerificationStateBackfillService3207 when on secondary3208 returns false3209 .verify_batch3210 when there are records needing verification3211 calls #verify on each replicator3212 .remaining_verification_batch_count3213 converts needs_verification_count to number of batches3214 .remaining_reverification_batch_count3215 converts needs_reverification_count to number of batches3216 .reverify_batch!3217 calls #reverify_batch3218 .replicator_batch_to_verify3219 returns usable Replicator instances3220 .model_record_id_batch_to_verify3221 when the batch is filled by pending rows3222 returns IDs of pending rows3223 does not call .verification_failed_batch3224 when that batch is not filled by pending rows3225 includes IDs of failed rows3226 .verification_pending_batch3227 when current node is a primary3228 delegates to the model class of the replicator3229 when current node is a secondary3230 delegates to the registry class of the replicator3231 .verification_failed_batch3232 when current node is a primary3233 delegates to the model class of the replicator3234 when current node is a secondary3235 delegates to the registry class of the replicator3236 .fail_verification_timeouts3237 when current node is a primary3238 delegates to the model class of the replicator3239 when current node is a secondary3240 delegates to the registry class of the replicator3241 #after_verifiable_update3242 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3243 calls verify_async only if needed3244 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3245 calls verify_async only if needed3246 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3247 calls verify_async only if needed3248 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3249 calls verify_async only if needed3250 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3251 calls verify_async only if needed3252 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3253 calls verify_async only if needed3254 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3255 calls verify_async only if needed3256 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3257 calls verify_async only if needed3258 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3259 calls verify_async only if needed3260 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3261 calls verify_async only if needed3262 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3263 calls verify_async only if needed3264 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3265 calls verify_async only if needed3266 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false3267 calls verify_async only if needed3268 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3269 calls verify_async only if needed3270 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false3271 calls verify_async only if needed3272 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3273 calls verify_async only if needed3274 #verify_async3275 on a Geo primary3276 calls verification_started! and enqueues VerificationWorker3277 #verify3278 wraps the checksum calculation in track_checksum_attempt!3279 #verification_state_tracker3280 on a Geo primary3281 returns model_record3282 on a Geo secondary3283 returns registry3284 #handle_after_checksum_succeeded3285 on a Geo primary3286 creates checksum_succeeded event3287 is called on verification success3288 on a Geo secondary3289 does not create an event3290 #consume_event_checksum_succeeded3291 with a persisted model_record3292 on a Geo primary3293 does nothing3294 on a Geo secondary3295 with a persisted registry3296 with a registry which is verified3297 sets state to verification_pending3298 with a registry which is pending verification3299 does not change state from verification_pending3300 with an unpersisted registry3301 does not persist the registry3302 #primary_verification_succeeded?3303 when the model record is verification_succeeded3304 returns true3305 when the model record is verification_succeeded3306 returns false3307 integration tests3308 on a primary3309 background backfill3310 verifies model records3311 triggered by events3312 verifies model records3313 on a secondary3314 background backfill3315 verifies registries3316 triggered by events3317 verifies registries3318 #replicator3319 is defined and does not raise error3320 .replicables_for_current_secondary3321 when syncing object storage is enabled3322 behaves like is implemented and returns a valid relation3323 is implemented3324 when syncing object storage is disabled3325 behaves like is implemented and returns a valid relation3326 is implemented3327 with selective sync disabled3328 behaves like is implemented and returns a valid relation3329 is implemented3330 with selective sync enabled for namespaces3331 behaves like is implemented and returns a valid relation3332 is implemented3333 with selective sync enabled for shards3334 behaves like is implemented and returns a valid relation3335 is implemented3336 #handle_after_create_commit3337 creates a Geo::Event3338 calls #after_verifiable_update3339 when replication feature flag is disabled3340 does not call #after_verifiable_update3341 does not publish3342 #geo_handle_after_destroy3343 creates a Geo::Event3344 when replication feature flag is disabled3345 does not publish3346 created event consumption3347 when the blob's project is in replicables for this geo node3348 invokes Geo::BlobDownloadService3349 when the blob's project is not in replicables for this geo node3350 does not invoke Geo::BlobDownloadService3351 deleted event consumption3352 when model_record was deleted from the DB and the replicator only has its ID3353 invokes Geo::FileRegistryRemovalService3354 backward compatibility3355 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3356 when object storage is enabled3357 when GitLab managed replication is enabled3358 deletes the file from object storage3359 when GitLab managed replication is disabled3360 does not delete the file from object storage3361 #carrierwave_uploader3362 is implemented3363 #model3364 is implemented3365 is a Class3366 responds to primary_key3367 #blob_path3368 when the file is locally stored3369 returns a valid path to a file3370 #calculate_checksum3371 when the file is locally stored3372 when the file exists3373 returns hexdigest of the file3374 when the file does not exist3375 raises an error3376 when the file is remotely stored3377 raises an error3378 #file_exists?3379 is expected to be truthy3380 when the file does not exist3381 is expected to be falsey3382 when the file is nil3383 is expected to be falsey3384 .bulk_create_delete_events_async3385 creates events3386 raises error when model_record_id is nil3387Geo::PagesDeploymentReplicator3388 invokes replicator.handle_after_create_commit on create3389 behaves like a replicator3390 Geo node status3391 on a primary site3392 .primary_total_count3393 when batch count feature flag is enabled3394 returns the number of available replicables on primary3395 when batch count feature flag is disabled3396 returns the number of available replicables on primary3397 on a secondary site3398 .registry_count3399 when batch count feature flag is enabled3400 returns the number of registries on secondary3401 when batch count feature flag is disabled3402 returns the number of registries on secondary3403 .synced_count3404 when batch count feature flag is enabled3405 returns the number of synced items on secondary3406 when batch count feature flag is disabled3407 returns the number of synced items on secondary3408 .failed_count3409 when batch count feature flag is enabled3410 returns the number of failed items on secondary3411 when batch count feature flag is disabled3412 returns the number of failed items on secondary3413 when replicator is Geo::RegistrySyncWorker compatible3414 has "created" and "deleted" events3415 when replicator enqueues a sync event3416 is expected to receive perform_async("pages_deployment", "created", {"model_record_id"=>22}) 1 time3417 behaves like a verifiable replicator3418 events3419 has checksum_succeeded event3420 .verification_enabled?3421 when replication is enabled3422 when verification_feature_flag_enabled? returns true3423 returns true3424 when verification_feature_flag_enabled? returns false3425 returns false3426 when replication is disabled3427 returns false3428 .checksummed_count3429 when verification is enabled3430 when batch count feature flag is enabled3431 behaves like a counter of succeeded available verifiables3432 is expected to eq 13433 excludes other verification states3434 when batch count feature flag is disabled3435 behaves like a counter of succeeded available verifiables3436 is expected to eq 13437 excludes other verification states3438 when verification is disabled3439 returns nil3440 .verified_count3441 when verification is enabled3442 when batch count feature flag is enabled3443 behaves like a counter of succeeded available verifiables3444 is expected to eq 13445 excludes other verification states3446 when batch count feature flag is disabled3447 behaves like a counter of succeeded available verifiables3448 is expected to eq 13449 excludes other verification states3450 when verification is disabled3451 returns nil3452 .checksum_failed_count3453 when verification is enabled3454 when batch count feature flag is enabled3455 behaves like a counter of failed available verifiables3456 is expected to eq 13457 excludes other verification states3458 when batch count feature flag is disabled3459 behaves like a counter of failed available verifiables3460 is expected to eq 13461 excludes other verification states3462 when verification is disabled3463 returns nil3464 .verification_failed_count3465 when verification is enabled3466 when batch count feature flag is enabled3467 behaves like a counter of failed available verifiables3468 is expected to eq 13469 excludes other verification states3470 when batch count feature flag is disabled3471 behaves like a counter of failed available verifiables3472 is expected to eq 13473 excludes other verification states3474 when verification is disabled3475 returns nil3476 .verification_total_count3477 when verification is enabled3478 when batch count feature flag is enabled3479 when the verification_state is disabled3480 is expected to eq 03481 when the verification_state is not disabled3482 is expected to eq 13483 when batch count feature flag is disabled3484 when the verification_state is disabled3485 is expected to eq 03486 when the verification_state is not disabled3487 is expected to eq 13488 when verification is disabled3489 returns nil3490 .trigger_background_verification3491 when verification is enabled3492 for a Geo secondary3493 does not enqueue ReverificationBatchWorker3494 enqueues VerificationBatchWorker3495 enqueues VerificationTimeoutWorker3496 for a Geo primary3497 enqueues ReverificationBatchWorker3498 enqueues VerificationStateBackfillWorker3499 enqueues VerificationBatchWorker3500 enqueues VerificationTimeoutWorker3501 when verification is disabled3502 does not enqueue VerificationBatchWorker3503 does not enqueue VerificationTimeoutWorker3504 .backfill_verification_state_table3505 calls VerificationStateBackfillService3506 when on secondary3507 returns false3508 .verify_batch3509 when there are records needing verification3510 calls #verify on each replicator3511 .remaining_verification_batch_count3512 converts needs_verification_count to number of batches3513 .remaining_reverification_batch_count3514 converts needs_reverification_count to number of batches3515 .reverify_batch!3516 calls #reverify_batch3517 .replicator_batch_to_verify3518 returns usable Replicator instances3519 .model_record_id_batch_to_verify3520 when the batch is filled by pending rows3521 returns IDs of pending rows3522 does not call .verification_failed_batch3523 when that batch is not filled by pending rows3524 includes IDs of failed rows3525 .verification_pending_batch3526 when current node is a primary3527 delegates to the model class of the replicator3528 when current node is a secondary3529 delegates to the registry class of the replicator3530 .verification_failed_batch3531 when current node is a primary3532 delegates to the model class of the replicator3533 when current node is a secondary3534 delegates to the registry class of the replicator3535 .fail_verification_timeouts3536 when current node is a primary3537 delegates to the model class of the replicator3538 when current node is a secondary3539 delegates to the registry class of the replicator3540 #after_verifiable_update3541 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3542 calls verify_async only if needed3543 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3544 calls verify_async only if needed3545 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3546 calls verify_async only if needed3547 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3548 calls verify_async only if needed3549 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3550 calls verify_async only if needed3551 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3552 calls verify_async only if needed3553 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3554 calls verify_async only if needed3555 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3556 calls verify_async only if needed3557 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3558 calls verify_async only if needed3559 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3560 calls verify_async only if needed3561 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3562 calls verify_async only if needed3563 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3564 calls verify_async only if needed3565 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false3566 calls verify_async only if needed3567 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3568 calls verify_async only if needed3569 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false3570 calls verify_async only if needed3571 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3572 calls verify_async only if needed3573 #verify_async3574 on a Geo primary3575 calls verification_started! and enqueues VerificationWorker3576 #verify3577 wraps the checksum calculation in track_checksum_attempt!3578 #verification_state_tracker3579 on a Geo primary3580 returns model_record3581 on a Geo secondary3582 returns registry3583 #handle_after_checksum_succeeded3584 on a Geo primary3585 creates checksum_succeeded event3586 is called on verification success3587 on a Geo secondary3588 does not create an event3589 #consume_event_checksum_succeeded3590 with a persisted model_record3591 on a Geo primary3592 does nothing3593 on a Geo secondary3594 with a persisted registry3595 with a registry which is verified3596 sets state to verification_pending3597 with a registry which is pending verification3598 does not change state from verification_pending3599 with an unpersisted registry3600 does not persist the registry3601 #primary_verification_succeeded?3602 when the model record is verification_succeeded3603 returns true3604 when the model record is verification_succeeded3605 returns false3606 integration tests3607 on a primary3608 background backfill3609 verifies model records3610 triggered by events3611 verifies model records3612 on a secondary3613 background backfill3614 verifies registries3615 triggered by events3616 verifies registries3617 #replicator3618 is defined and does not raise error3619 .replicables_for_current_secondary3620 when syncing object storage is enabled3621 behaves like is implemented and returns a valid relation3622 is implemented3623 when syncing object storage is disabled3624 behaves like is implemented and returns a valid relation3625 is implemented3626 with selective sync disabled3627 behaves like is implemented and returns a valid relation3628 is implemented3629 with selective sync enabled for namespaces3630 behaves like is implemented and returns a valid relation3631 is implemented3632 with selective sync enabled for shards3633 behaves like is implemented and returns a valid relation3634 is implemented3635 #handle_after_create_commit3636 creates a Geo::Event3637 calls #after_verifiable_update3638 when replication feature flag is disabled3639 does not call #after_verifiable_update3640 does not publish3641 #geo_handle_after_destroy3642 creates a Geo::Event3643 when replication feature flag is disabled3644 does not publish3645 created event consumption3646 when the blob's project is in replicables for this geo node3647 invokes Geo::BlobDownloadService3648 when the blob's project is not in replicables for this geo node3649 does not invoke Geo::BlobDownloadService3650 deleted event consumption3651 when model_record was deleted from the DB and the replicator only has its ID3652 invokes Geo::FileRegistryRemovalService3653 backward compatibility3654 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3655 when object storage is enabled3656 when GitLab managed replication is enabled3657 deletes the file from object storage3658 when GitLab managed replication is disabled3659 does not delete the file from object storage3660 #carrierwave_uploader3661 is implemented3662 #model3663 is implemented3664 is a Class3665 responds to primary_key3666 #blob_path3667 when the file is locally stored3668 returns a valid path to a file3669 #calculate_checksum3670 when the file is locally stored3671 when the file exists3672 returns hexdigest of the file3673 when the file does not exist3674 raises an error3675 when the file is remotely stored3676 raises an error3677 #file_exists?3678 is expected to be truthy3679 when the file does not exist3680 is expected to be falsey3681 when the file is nil3682 is expected to be falsey3683 .bulk_create_delete_events_async3684 creates events3685 raises error when model_record_id is nil3686Geo::TerraformStateVersionReplicator3687 invokes replicator.handle_after_create_commit on create3688 behaves like a replicator3689 Geo node status3690 on a primary site3691 .primary_total_count3692 when batch count feature flag is enabled3693 returns the number of available replicables on primary3694 when batch count feature flag is disabled3695 returns the number of available replicables on primary3696 on a secondary site3697 .registry_count3698 when batch count feature flag is enabled3699 returns the number of registries on secondary3700 when batch count feature flag is disabled3701 returns the number of registries on secondary3702 .synced_count3703 when batch count feature flag is enabled3704 returns the number of synced items on secondary3705 when batch count feature flag is disabled3706 returns the number of synced items on secondary3707 .failed_count3708 when batch count feature flag is enabled3709 returns the number of failed items on secondary3710 when batch count feature flag is disabled3711 returns the number of failed items on secondary3712 when replicator is Geo::RegistrySyncWorker compatible3713 has "created" and "deleted" events3714 when replicator enqueues a sync event3715 is expected to receive perform_async("terraform_state_version", "created", {"model_record_id"=>nil}) 1 time3716 behaves like a verifiable replicator3717 events3718 has checksum_succeeded event3719 .verification_enabled?3720 when replication is enabled3721 when verification_feature_flag_enabled? returns true3722 returns true3723 when verification_feature_flag_enabled? returns false3724 returns false3725 when replication is disabled3726 returns false3727 .checksummed_count3728 when verification is enabled3729 when batch count feature flag is enabled3730 behaves like a counter of succeeded available verifiables3731 is expected to eq 13732 excludes other verification states3733 when batch count feature flag is disabled3734 behaves like a counter of succeeded available verifiables3735 is expected to eq 13736 excludes other verification states3737 when verification is disabled3738 returns nil3739 .verified_count3740 when verification is enabled3741 when batch count feature flag is enabled3742 behaves like a counter of succeeded available verifiables3743 is expected to eq 13744 excludes other verification states3745 when batch count feature flag is disabled3746 behaves like a counter of succeeded available verifiables3747 is expected to eq 13748 excludes other verification states3749 when verification is disabled3750 returns nil3751 .checksum_failed_count3752 when verification is enabled3753 when batch count feature flag is enabled3754 behaves like a counter of failed available verifiables3755 is expected to eq 13756 excludes other verification states3757 when batch count feature flag is disabled3758 behaves like a counter of failed available verifiables3759 is expected to eq 13760 excludes other verification states3761 when verification is disabled3762 returns nil3763 .verification_failed_count3764 when verification is enabled3765 when batch count feature flag is enabled3766 behaves like a counter of failed available verifiables3767 is expected to eq 13768 excludes other verification states3769 when batch count feature flag is disabled3770 behaves like a counter of failed available verifiables3771 is expected to eq 13772 excludes other verification states3773 when verification is disabled3774 returns nil3775 .verification_total_count3776 when verification is enabled3777 when batch count feature flag is enabled3778 when the verification_state is disabled3779 is expected to eq 03780 when the verification_state is not disabled3781 is expected to eq 13782 when batch count feature flag is disabled3783 when the verification_state is disabled3784 is expected to eq 03785 when the verification_state is not disabled3786 is expected to eq 13787 when verification is disabled3788 returns nil3789 .trigger_background_verification3790 when verification is enabled3791 for a Geo secondary3792 does not enqueue ReverificationBatchWorker3793 enqueues VerificationBatchWorker3794 enqueues VerificationTimeoutWorker3795 for a Geo primary3796 enqueues ReverificationBatchWorker3797 enqueues VerificationStateBackfillWorker3798 enqueues VerificationBatchWorker3799 enqueues VerificationTimeoutWorker3800 when verification is disabled3801 does not enqueue VerificationBatchWorker3802 does not enqueue VerificationTimeoutWorker3803 .backfill_verification_state_table3804 calls VerificationStateBackfillService3805 when on secondary3806 returns false3807 .verify_batch3808 when there are records needing verification3809 calls #verify on each replicator3810 .remaining_verification_batch_count3811 converts needs_verification_count to number of batches3812 .remaining_reverification_batch_count3813 converts needs_reverification_count to number of batches3814 .reverify_batch!3815 calls #reverify_batch3816 .replicator_batch_to_verify3817 returns usable Replicator instances3818 .model_record_id_batch_to_verify3819 when the batch is filled by pending rows3820 returns IDs of pending rows3821 does not call .verification_failed_batch3822 when that batch is not filled by pending rows3823 includes IDs of failed rows3824 .verification_pending_batch3825 when current node is a primary3826 delegates to the model class of the replicator3827 when current node is a secondary3828 delegates to the registry class of the replicator3829 .verification_failed_batch3830 when current node is a primary3831 delegates to the model class of the replicator3832 when current node is a secondary3833 delegates to the registry class of the replicator3834 .fail_verification_timeouts3835 when current node is a primary3836 delegates to the model class of the replicator3837 when current node is a secondary3838 delegates to the registry class of the replicator3839 #after_verifiable_update3840 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3841 calls verify_async only if needed3842 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3843 calls verify_async only if needed3844 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3845 calls verify_async only if needed3846 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3847 calls verify_async only if needed3848 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3849 calls verify_async only if needed3850 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3851 calls verify_async only if needed3852 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3853 calls verify_async only if needed3854 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3855 calls verify_async only if needed3856 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3857 calls verify_async only if needed3858 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3859 calls verify_async only if needed3860 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3861 calls verify_async only if needed3862 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3863 calls verify_async only if needed3864 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false3865 calls verify_async only if needed3866 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3867 calls verify_async only if needed3868 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false3869 calls verify_async only if needed3870 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3871 calls verify_async only if needed3872 #verify_async3873 on a Geo primary3874 calls verification_started! and enqueues VerificationWorker3875 #verify3876 wraps the checksum calculation in track_checksum_attempt!3877 #verification_state_tracker3878 on a Geo primary3879 returns model_record3880 on a Geo secondary3881 returns registry3882 #handle_after_checksum_succeeded3883 on a Geo primary3884 creates checksum_succeeded event3885 is called on verification success3886 on a Geo secondary3887 does not create an event3888 #consume_event_checksum_succeeded3889 with a persisted model_record3890 on a Geo primary3891 does nothing3892 on a Geo secondary3893 with a persisted registry3894 with a registry which is verified3895 sets state to verification_pending3896 with a registry which is pending verification3897 does not change state from verification_pending3898 with an unpersisted registry3899 does not persist the registry3900 #primary_verification_succeeded?3901 when the model record is verification_succeeded3902 returns true3903 when the model record is verification_succeeded3904 returns false3905 integration tests3906 on a primary3907 background backfill3908 verifies model records3909 triggered by events3910 verifies model records3911 on a secondary3912 background backfill3913 verifies registries3914 triggered by events3915 verifies registries3916 #replicator3917 is defined and does not raise error3918 .replicables_for_current_secondary3919 when syncing object storage is enabled3920 behaves like is implemented and returns a valid relation3921 is implemented3922 when syncing object storage is disabled3923 behaves like is implemented and returns a valid relation3924 is implemented3925 with selective sync disabled3926 behaves like is implemented and returns a valid relation3927 is implemented3928 with selective sync enabled for namespaces3929 behaves like is implemented and returns a valid relation3930 is implemented3931 with selective sync enabled for shards3932 behaves like is implemented and returns a valid relation3933 is implemented3934 #handle_after_create_commit3935 creates a Geo::Event3936 calls #after_verifiable_update3937 when replication feature flag is disabled3938 does not call #after_verifiable_update3939 does not publish3940 #geo_handle_after_destroy3941 creates a Geo::Event3942 when replication feature flag is disabled3943 does not publish3944 created event consumption3945 when the blob's project is in replicables for this geo node3946 invokes Geo::BlobDownloadService3947 when the blob's project is not in replicables for this geo node3948 does not invoke Geo::BlobDownloadService3949 deleted event consumption3950 when model_record was deleted from the DB and the replicator only has its ID3951 invokes Geo::FileRegistryRemovalService3952 backward compatibility3953 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3954 when object storage is enabled3955 when GitLab managed replication is enabled3956 deletes the file from object storage3957 when GitLab managed replication is disabled3958 does not delete the file from object storage3959 #carrierwave_uploader3960 is implemented3961 #model3962 is implemented3963 is a Class3964 responds to primary_key3965 #blob_path3966 when the file is locally stored3967 returns a valid path to a file3968 #calculate_checksum3969 when the file is locally stored3970 when the file exists3971 returns hexdigest of the file3972 when the file does not exist3973 raises an error3974 when the file is remotely stored3975 raises an error3976 #file_exists?3977 is expected to be truthy3978 when the file does not exist3979 is expected to be falsey3980 when the file is nil3981 is expected to be falsey3982 .bulk_create_delete_events_async3983 creates events3984 raises error when model_record_id is nil3985EpicIssues::CreateService3986 #execute3987 when epics feature is disabled3988 returns an error3989 no relationship is created3990 does not trigger issuableEpicUpdated3991 when epics feature is enabled3992 when user has permissions to link the issue3993 when the reference list is empty3994 returns an error3995 no relationship is created3996 does not trigger issuableEpicUpdated3997 does not create a system note3998 when there is an issue to relate3999 when shortcut for Issue is given4000 returns an error4001 no relationship is created4002 does not trigger issuableEpicUpdated4003 when a full reference is given4004 creates a new relationship and updates epic4005 orders the epic issue to the first place and moves the existing ones down4006 returns success status and created links4007 triggers issuableEpicUpdated4008 does not perform N + 1 queries4009 async actions4010 creates 1 system note for epic and 1 system note for issue4011 creates a note for epic correctly4012 creates a note for issue correctly4013 records action on usage ping4014 when an issue link is given4015 creates a new relationship and updates epic4016 orders the epic issue to the first place and moves the existing ones down4017 returns success status and created links4018 triggers issuableEpicUpdated4019 async actions4020 creates 1 system note for epic and 1 system note for issue4021 creates a note for epic correctly4022 creates a note for issue correctly4023 records action on usage ping4024 when a link of an issue in a subgroup is given4025 creates a new relationship and updates epic4026 orders the epic issue to the first place and moves the existing ones down4027 returns success status and created links4028 triggers issuableEpicUpdated4029 async actions4030 creates 1 system note for epic and 1 system note for issue4031 creates a note for epic correctly4032 creates a note for issue correctly4033 records action on usage ping4034 when multiple valid issues are given4035 creates new relationships4036 places each issue at the start4037 orders the epic issues to the first place and moves the existing ones down4038 returns success status and created links4039 creates 2 system notes for each issue4040 when there are invalid references4041 creates links only for valid references4042 returns error status4043 when assigning issuable which don't support epics4044 returns an error4045 no relationship is created4046 does not trigger issuableEpicUpdated4047 when user does not have permissions to link the issue4048 returns an error4049 no relationship is created4050 does not trigger issuableEpicUpdated4051 when assigning issue(s) to the same epic4052 no relationship is created4053 does not create notes4054 returns an error4055 when at least one of the issues is still not assigned to the epic4056 creates a new relationship and updates epic4057 orders the epic issue to the first place and moves the existing ones down4058 returns success status and created links4059 triggers issuableEpicUpdated4060 async actions4061 creates 1 system note for epic and 1 system note for issue4062 creates a note for epic correctly4063 creates a note for issue correctly4064 records action on usage ping4065 when an issue is already assigned to another epic4066 does not create a new association4067 updates the existing association4068 returns success status and created links4069 creates 3 system notes4070 updates both old and new epic milestone dates4071 creates a note correctly for the original epic4072 creates a note correctly for the new epic4073 creates a note correctly for the issue4074 when issue from non group project is given4075 returns an error4076 no relationship is created4077 does not trigger issuableEpicUpdated4078Member4079 Associations4080 is expected to belong to member_role required: false4081 Validation4082 with seat availability concerns4083 when creating4084 when seat is available4085 with existing user that is a member in our hierarchy4086 is valid4087 when under the dashboard limit4088 is valid4089 when seat is not available4090 is invalid4091 when updating with no seats left4092 allows updating existing non-invited member4093 allows updating existing invited member4094 member role namespace4095 when no member role is associated4096 is valid4097 when member role is associated4098 when member#member_namespace is a group within hierarchy of member_role#namespace4099 is valid4100 when member#member_namespace is a project within hierarchy of member_role#namespace4101 is valid4102 when member#member_namespace is outside hierarchy of member_role#namespace4103 is invalid4104 member role access level4105 when no member role is associated4106 is valid4107 when member role is associated4108 when member role matches access level4109 is valid4110 when member role does not match access level4111 is invalid4112 when access_level is changed4113 is invalid4114 #notification_service4115 returns a NullNotificationService instance for LDAP users4116 #is_using_seat4117 when hosted on GL.com4118 calls users check for using the gitlab_com seat method4119 when not hosted on GL.com4120 calls users check for using the License seat method4121 #source_kind4122 when source is of Group kind4123 is expected to eq "Group"4124 when source is of Sub group kind4125 is expected to eq "Sub group"4126 when source is of Project kind4127 is expected to eq "Project"4128 #group_saml_identity4129 for group members4130 when member is in a top-level group4131 behaves like member with group saml identity4132 without saml_provider4133 is expected to eq nil4134 with saml_provider enabled4135 when member has no connected identity4136 is expected to eq nil4137 when member has connected identity4138 returns related identity4139 when member has connected identity of different group4140 is expected to eq nil4141 when member is in a subgroup4142 behaves like member with group saml identity on the top level4143 returns related identity4144 for project members4145 when project is nested in a group4146 behaves like member with group saml identity4147 without saml_provider4148 is expected to eq nil4149 with saml_provider enabled4150 when member has no connected identity4151 is expected to eq nil4152 when member has connected identity4153 returns related identity4154 when member has connected identity of different group4155 is expected to eq nil4156 when project is nested in a subgroup4157 behaves like member with group saml identity on the top level4158 returns related identity4159 when project is nested in a personal namespace4160 returns nothing4161 check if user cap has been reached4162 when the :saas_user_caps feature flag is disabled4163 sets the group member state to active4164 sets the project member state to active4165 when the :saas_user_caps feature flag is enabled for the root group4166 when the user cap has not been reached4167 sets the group member to active4168 sets the project member to active4169 when the user cap has been reached4170 sets the group member to awaiting4171 sets the group member to awaiting when added to a subgroup4172 sets the project member to awaiting4173 when the user is already an active root group member4174 sets the group member to active4175 when the user is already an active subgroup member4176 sets the group member to active4177 when the user is already an active project member4178 sets the group member to active4179 when user is added to a group-less project4180 adds project member and leaves the state to active4181 when activating a member4182 when limit has been reached and user cap does not apply4183 activates user4184 when user cap is reached4185 keeps user awaiting4186 when user already has another active membership4187 with project membership4188 activates member for the same user4189 with sub-group membership4190 activates member for the same user4191 when user has another awaiting membership4192 keeps the member awaiting4193 when setting the member to awaiting4194 when user is the last owner4195 does not allow the member to be awaiting4196 when user is not the last owner4197 sets the member to awaiting4198 when invite4199 sets the member to awaiting4200 #maintaining_elasticsearch?4201 when elasticsearch_indexing is enabled4202 is expected to eq true4203 when elasticsearch_indexing is disabled4204 is expected to eq false4205 .maintain_elasticsearch_create4206 when user exists4207 calls track!4208 when user does not exist4209 does not call track!4210 .maintain_elasticsearch_destroy4211 when user exists4212 calls track!4213 when user does not exist4214 does not call track!4215 .distinct_awaiting_or_invited_for_group4216 returns the correct members4217 does not return additional results for duplicates4218 .banned_from scope4219 returns only banned members from the given namespace4220 .not_banned_in scope4221 is expected to exclude #<GroupMember id: 1007, access_level: 30, source_id: 3341, source_type: "Namespace", user_id: 1997, n...invite_email_success: true, member_namespace_id: 3341, member_role_id: nil, expiry_notified_at: nil>4222 is expected to exclude #<ProjectMember id: 1008, access_level: 30, source_id: 816, source_type: "Project", user_id: 1998, no...invite_email_success: true, member_namespace_id: 3344, member_role_id: nil, expiry_notified_at: nil>4223 is expected to include #<GroupMember id: 1009, access_level: 30, source_id: 3341, source_type: "Namespace", user_id: 1999, n...invite_email_success: true, member_namespace_id: 3341, member_role_id: nil, expiry_notified_at: nil>4224 is expected to include #<ProjectMember id: 1010, access_level: 30, source_id: 816, source_type: "Project", user_id: 2000, no...invite_email_success: true, member_namespace_id: 3344, member_role_id: nil, expiry_notified_at: nil>4225 .elevated_guests scope4226 returns only guests with elevated role4227 .with_elevated_guests scope4228 with elevated_guests FF disabled4229 returns only members above guest4230 with elevated_guests FF enabled4231 returns only members above guest or guests with elevated role4232admin/application_settings/_elasticsearch_form4233 es indexing4234 indexing is enabled4235 hides index button when indexing is disabled4236 renders an enabled pause checkbox4237 pending migrations4238 running: false, pause_indexing: false, disabled: false4239 renders pause checkbox with disabled set appropriately4240 running: false, pause_indexing: true, disabled: false4241 renders pause checkbox with disabled set appropriately4242 running: true, pause_indexing: false, disabled: false4243 renders pause checkbox with disabled set appropriately4244 running: true, pause_indexing: true, disabled: true4245 renders pause checkbox with disabled set appropriately4246 indexing is disabled4247 shows index button when indexing is enabled4248 renders a disabled pause checkbox4249 when elasticsearch_aws_secret_access_key is not set4250 has field with "AWS Secret Access Key" label and no value4251 when number of shards is set4252 has field with "Number of shards for non-code indexing" label and correct value4253 when elasticsearch_aws_secret_access_key is set4254 has field with "Enter new AWS Secret Access Key" label and a masked value4255 zero-downtime elasticsearch reindexing4256 when task is in progress4257 renders a disabled pause checkbox4258 renders a disabled trigger cluster reindexing link4259 without extended details4260 renders the task4261 with extended details4262 renders the task information4263 with extended details, but without documents_count_target4264 renders the task information4265 when there are 0 documents expected4266 renders 100% completed progress4267 when there are elasticsearch indexed namespaces4268 shows the input4269 when there are too many elasticsearch indexed namespaces4270 hides the input4271 when there are elasticsearch indexed projects4272 shows the input4273 when there are too many elasticsearch indexed projects4274 hides the input4275 elasticsearch migrations4276 does not show the retry migration card4277 when Elasticsearch migration halted4278 when there is no reindexing4279 shows the retry migration card4280 when there is a reindexing task in progress4281 shows the retry migration card with retry button disabled4282 when elasticsearch is unreachable4283 does not show the retry migration card4284Geo::PipelineArtifactRegistry4285 factory is valid4286 behaves like a Geo verifiable registry4287 state machine4288 when transitioning to synced4289 marks verification as pending4290 when the model_record cannot be verified4291 when the registry is already verification_disabled4292 changes verification to disabled4293 when the registry is verification_pending4294 changes verification to disabled4295 verification_state machine4296 when transitioning to verification_failed4297 changes state from synced to failed4298 .verification_pending_batch4299 returns IDs of rows which are synced and pending verification4300 excludes rows which are not synced or are not pending verification4301 marks verification as started4302 .verification_failed_batch4303 with a failed record with retry due4304 returns IDs of rows which are synced and have failed verification4305 excludes rows which are not synced or have not failed verification4306 marks verification as started4307 when verification_retry_at is in the future4308 does not return the row which failed verification4309 .needs_verification_count4310 returns the number of rows which are synced and pending verification4311 includes rows which are synced and failed verification and are due for retry4312 excludes rows which are synced and failed verification and have a future retry time4313 excludes rows which are not synced or are not (pending or failed) verification4314 #verification_succeeded!4315 clears checksum mismatch fields4316 #track_checksum_attempt!4317 yields to the checksum calculation4318 when verification was not yet started4319 starts verification4320 when the model record cannot be verified4321 when the registry is already verification_disabled4322 leaves verification as disabled4323 when the registry is verification_pending4324 changes verification to disabled4325 when the primary site is expected to checksum the model record4326 comparison with primary checksum4327 when the calculated checksum matches the primary checksum4328 transitions to verification_succeeded and updates the checksum4329 when the calculated checksum does not match the primary checksum4330 transitions to verification_failed and updates mismatch fields4331 when verification was started4332 does not update verification_started_at4333 when an error occurs while yielding4334 sets verification_failed4335 obligatory fields check4336 has expected fields or methods4337 scopes4338 sync_timed_out4339 return correct records4340 not_pending4341 returns registries that are not pending4342 finders4343 .find_registries_never_attempted_sync4344 returns unsynced items4345 returns items that never have an attempt to sync except some specific item ID4346 .find_registries_needs_sync_again4347 returns failed items4348 returns failed items except some specific item ID4349 orders records according to retry_at4350 .fail_sync_timeouts4351 marks started records as failed if they are expired4352 #failed!4353 sets last_sync_failure with message4354 truncates a long last_sync_failure4355 increments retry_count4356 sets retry_at to a time in the future4357 when an error is given4358 includes error.message in last_sync_failure4359 when missing_on_primary is not given4360 caps retry_at to default 1 hour4361 when missing_on_primary is falsey4362 caps retry_at to default 1 hour4363 when missing_on_primary is truthy4364 caps retry_at to 4 hours4365 #synced!4366 mark as synced4367 when a sync was scheduled after the last sync finishes4368 does not reset state4369 resets the other sync state fields4370 #pending!4371 when a sync is currently running4372 successfully moves state to pending4373 when the registry has recorded a failure4374 clears failure retry fields4375 .with_search4376 when query is empty4377 returns all registries4378 when query is not empty4379 calls model_class search method4380Geo::FileRegistryRemovalService4381 #execute4382 when upload registry record exists4383 with file on local storage4384 when file exists on disk4385 removes the file4386 removes upload registry record4387 when something went wrong removing the file4388 logs an error message4389 does not remove the upload registry record4390 when file does not exist on disk4391 does not remove the file4392 removes upload registry record4393 with file on remote storage4394 when object storage is enabled4395 when file exists on object storage4396 when Gitlab managed replication is enabled4397 removes the file4398 removes upload registry record4399 when Gitlab managed replication is disabled4400 does not remove the file4401 removes upload registry record4402 when file does not exist on object storage4403 when GitLab managed replication is enabled4404 does not remove the file4405 removes upload registry record4406 when Gitlab managed replication is disabled4407 skips file removal4408 removes upload registry record4409 when object storage is disabled4410 when Gitlab managed replication is enabled4411 does not remove the file4412 removes upload registry record4413 when Gitlab managed replication is disabled4414 does not remove the file4415 removes upload registry record4416 when upload registry record does not exist4417 with file on local storage4418 when file exists on disk4419 removes the file4420 does not remove an upload registry record4421 when something went wrong removing the file4422 logs an error message4423 does not remove an upload registry record4424 when file does not exist on disk4425 does not remove the file4426 does not remove an upload registry record4427 with file on remote storage4428 when object storage is enabled4429 when file exists on object storage4430 when GitLab managed replication is enabled4431 removes the file4432 does not remove an upload registry record4433 when Gitlab managed replication is disabled4434 skips file removal4435 does not remove an upload registry record4436 when file does not exist on object storage4437 when GitLab managed replicaiton is enabled4438 does not remove the file4439 does not remove an upload registry record4440 when Gitlab managed replication is disabled4441 skips file removal4442 does not remove an upload registry record4443 when object storage is disabled4444 when GitLab managed replication is enabled4445 does not remove the file4446 does not remove an upload registry record4447 when GitLab managed replication is disabled4448 does not remove the file4449 does not remove an upload registry record4450 when upload record does not exist4451 with file on local storage4452 when the file_path is passed4453 when file exists on disk4454 removes the file4455 removes upload registry record4456 when something went wrong removing the file4457 logs an error message4458 does not remove the upload registry record4459 when file does not exist on disk4460 does not remove the file4461 removes upload registry record4462 when the file_path is not passed4463 when file exists on disk4464 logs an error message4465 removes upload registry record4466 when file does not exist on disk4467 logs an error message4468 removes upload registry record4469 with file on remote storage4470 when the file_path is passed4471 when object storage is enabled4472 when GitLab managed replication is enabled4473 logs an error message4474 removes upload registry record4475 when Gitlab managed replication is disabled4476 logs an error message4477 removes upload registry record4478 when object storage is disabled4479 when Gitlab managed replication is enabled4480 logs an error message4481 removes upload registry record4482 when Gitlab managed replication is disabled4483 logs an error message4484 removes upload registry record4485 when the file_path is not passed4486 when object storage is enabled4487 when GitLab managed replication is enabled4488 logs an error message4489 removes upload registry record4490 when Gitlab managed replication is disabled4491 logs an error message4492 removes upload registry record4493 when object storage is disabled4494 when GitLab managed replication is enabled4495 logs an error message4496 removes upload registry record4497 when GitLab managed replication is disabled4498 logs an error message4499 removes upload registry record4500 with an unrecognized replicable type4501 with file on local storage4502 raises an error4503 with file on remote storage4504 when the file_path is passed4505 when object storage is enabled4506 when GitLab managed replication is enabled4507 raises an error4508 when GitLab managed replication is disabled4509 raises an error4510 when object storage is disabled4511 when GitLab managed replication is enabled4512 raises an error4513 when GitLab managed replication is disabled4514 raises an error4515DastSiteProfile4516 behaves like sanitizable4517 includes Sanitizable4518 #name4519 when input includes javascript tags4520 gets sanitized4521 #name validation4522 when input contains pre-escaped html entities4523 is not valid4524 when it contains a path component4525 is not valid4526 #scan_file_path4527 when input includes javascript tags4528 gets sanitized4529 #scan_file_path validation4530 when input contains pre-escaped html entities4531 is not valid4532 when it contains a path component4533 is not valid4534 associations4535 is expected to belong to project required: false4536 is expected to belong to dast_site required: false4537 is expected to have many secret_variables class_name => Dast::SiteProfileSecretVariable4538 validations4539 is expected to be valid4540 is expected to validate that the length of :auth_password_field is at most 2554541 is expected to validate that the length of :auth_url is at most 10244542 is expected to validate that the length of :auth_username is at most 2554543 is expected to validate that the length of :auth_username_field is at most 2554544 is expected to validate that the length of :auth_submit_field is at most 2554545 is expected to validate that the length of :name is at most 2554546 is expected to validate that :dast_site_id cannot be empty/falsy4547 is expected to validate that :name cannot be empty/falsy4548 is expected to validate that :project_id cannot be empty/falsy4549 is expected to validate that :name is case-sensitively unique within the scope of :project_id4550 is expected to validate that the length of :scan_file_path is at most 10244551 #auth_url4552 when the auth_uri is nil4553 is valid4554 when the auth_url is not a valid uri4555 is not valid4556 when the auth_url is not public4557 is valid4558 #excluded_urls4559 is expected to allow :excluded_urls to be ‹["http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test", "http://example48.test",...›4560 is expected not to allow :excluded_urls to be ‹["http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test", "http://example49.test",...›4561 when there are some urls that are invalid4562 is not valid4563 #project4564 when the project_id and dast_site.project_id do not match4565 is not valid4566 #scan_file_path4567 when the scan_file_path is nil4568 when the target_type is website4569 is valid4570 when the target_type is api4571 returns the dast_site.url4572 when the scan_file_path is not nil4573 when the target_type is api4574 when the scan_method is openapi4575 behaves like invalid url4576 is not valid4577 when the scan_method is har4578 behaves like invalid url4579 is not valid4580 when the scan_method is postman4581 behaves like invalid url4582 is not valid4583 when the scan_method is graphql4584 when the scan_file_path is an file_path4585 is valid4586 scopes4587 .with_dast_site_and_validation4588 eager loads the association4589 .with_name4590 returns the dast_site_profiles with given name4591 enums4592 is expected to define :target_type as an enum backed by an integer with values ‹{website: 0, api: 1}›4593 is expected to define :scan_method as an enum backed by an integer with values ‹{site: 0, openapi: 1, har: 2, postman: 3, graphql: 4}›, prefix: true4594 .names4595 returns the names for the DAST site profiles with the given IDs4596 when a profile is not found4597 rescues the error and returns an empty array4598 instance methods4599 #destroy!4600 when the associated dast_site has no dast_site_profiles4601 is also destroyed4602 when the associated dast_site has dast_site_profiles4603 is not destroyed4604 #status4605 when dast_site_validation association does not exist4606 is none4607 when dast_site_validation association does exist4608 is dast_site_validation#state4609 #validation_started_at4610 when dast_site_validation association does not exist4611 is none4612 when dast_site_validation association does exist4613 is dast_site_validation#validation_started_at4614 #referenced_in_security_policies4615 there is no security_orchestration_policy_configuration assigned to project4616 returns empty array4617 there is security_orchestration_policy_configuration assigned to project4618 calls security_orchestration_policy_configuration.active_policy_names_with_dast_site_profile with profile name4619 returns the referenced policy name4620 #ci_variables4621 without_dast_submit_field4622 returns a collection of variables4623 with_dast_submit_field4624 returns a collection of variables4625 when target_type=api4626 when scan_method is openapi4627 behaves like an api target4628 has the correct collection of variables4629 when scan_file_path is blank4630 behaves like an api target4631 has the correct collection of variables4632 when scan_method is har4633 behaves like an api target4634 has the correct collection of variables4635 when scan_file_path is blank4636 behaves like an api target4637 has the correct collection of variables4638 when scan_method is postman4639 behaves like an api target4640 has the correct collection of variables4641 when scan_file_path is blank4642 behaves like an api target4643 has the correct collection of variables4644 when scan_method is graphql4645 behaves like an api target4646 has the correct collection of variables4647 when scan_file_path is blank4648 behaves like an api target4649 has the correct collection of variables4650 when auth is disabled4651 returns a collection of variables excluding any auth variables4652 when excluded_urls is empty4653 is removed from the collection4654 when a variable is set to nil4655 is removed from the collection4656 #secret_ci_variables4657 when user can read secrets4658 works with policy4659 checks the policy4660 when there are no secret_variables4661 returns an empty collection4662 when there are secret_variables4663 returns a collection containing that variable4664 when password is configured4665 returns a collection containing api password4666 when request headers are configured4667 returns a collection containing the api request headers4668 when user cannot read secrets4669 returns an empty collection4670 #ensure_scan_file_path4671 when the target_type is website4672 when the scan_file_path is nil4673 does not set the scan_file_path4674 when the scan_file_path is not nil4675 does set the scan_file_path to nil4676 when the target type is api4677 when the scan_file_path is nil4678 does set the scan_file_path to dast_site.url4679 when the scan_file_path is not nil4680 does not set the scan_file_path4681Ci::ProcessBuildService#execute4682 when related to a protected environment4683 when Protected Environments feature is not available on project4684 enqueues the build4685 when Protected Environments feature is available on project4686 when user does not have access to the environment4687 fails the build4688 and the build is manual4689 actionizes the build4690 when user has access to the environment4691 enqueues the build4692 with unified access level4693 behaves like blocking deployment job4694 makes the build a manual action4695 and the build has a deployment4696 blocks the deployment4697 makes the build a manual action4698 sets manual to build.when4699 and the build is schedulable4700 blocks the deployment4701 makes the build a manual action4702 and the build is actionable4703 blocks the deployment4704 makes the build a manual action4705 with multi access levels4706 behaves like blocking deployment job4707 makes the build a manual action4708 and the build has a deployment4709 blocks the deployment4710 makes the build a manual action4711 sets manual to build.when4712 and the build is schedulable4713 blocks the deployment4714 makes the build a manual action4715 and the build is actionable4716 blocks the deployment4717 makes the build a manual action4718NamespaceSetting4719 validations4720 is expected to validate that :unique_project_download_limit cannot be empty/falsy4721 is expected to validate that :unique_project_download_limit_interval_in_seconds cannot be empty/falsy4722 is expected to validate that :unique_project_download_limit looks like an integer greater than or equal to 0 and less than or equal to 100004723 is expected to validate that :unique_project_download_limit_interval_in_seconds looks like an integer greater than or equal to 0 and less than or equal to 8640004724 unique_project_download_limit_allowlist4725 is expected to allow :unique_project_download_limit_allowlist to be ‹[]›4726 is expected to allow :unique_project_download_limit_allowlist to be ‹["user1396"]›4727 is expected not to allow :unique_project_download_limit_allowlist to be ‹nil›4728 is expected not to allow :unique_project_download_limit_allowlist to be ‹["unknown_user"]›4729 when maximum length is exceeded4730 is not valid4731 AI related settings4732 behaves like AI related settings validations4733 is expected to allow :third_party_ai_features_enabled to be ‹true› or ‹false›4734 is expected not to allow :third_party_ai_features_enabled to be ‹nil›4735 when AI settings are not allowed4736 third_party_ai_features_enabled is not valid4737 behaves like AI related settings validations4738 is expected to allow :experiment_features_enabled to be ‹true› or ‹false›4739 is expected not to allow :experiment_features_enabled to be ‹nil›4740 when AI settings are not allowed4741 experiment_features_enabled is not valid4742 when AI settings are not allowed but ai_assist are4743 is expected to allow :third_party_ai_features_enabled to be ‹true› or ‹false›4744 is expected not to allow :third_party_ai_features_enabled to be ‹nil›4745 unique_project_download_limit_alertlist4746 is expected to allow :unique_project_download_limit_alertlist to be ‹[]›4747 is expected to allow :unique_project_download_limit_alertlist to be ‹[2372]›4748 is expected to allow :unique_project_download_limit_alertlist to be ‹nil›4749 is expected not to allow :unique_project_download_limit_alertlist to be ‹[2147483647]›4750 when maximum length is exceeded4751 is not valid4752 when empty4753 returns the user ids of the active group owners4754 when not empty4755 returns the set user ids4756 #prevent_forking_outside_group?4757 with feature available4758 group with no associated saml provider4759 returns namespace setting4760 group with associated saml provider4761 when it is configured to true on saml level4762 returns true4763 when it is configured to false on saml level4764 returns false4765 when setting is configured on namespace level4766 returns namespace setting4767 without feature available4768 returns false4769 when saml setting is available4770 when it is configured to true on saml level4771 returns true4772 when it is configured to false on saml level4773 returns false4774 validating new_user_signup_cap4775 feature_available: true, old_value: nil, new_value: 10, expectation: true4776 returns the expected response4777 feature_available: true, old_value: 0, new_value: 10, expectation: true4778 returns the expected response4779 feature_available: true, old_value: 0, new_value: 0, expectation: true4780 returns the expected response4781 feature_available: false, old_value: nil, new_value: 10, expectation: false4782 returns the expected response4783 feature_available: false, old_value: 10, new_value: 10, expectation: true4784 returns the expected response4785 when enabling the setting4786 when the group is a subgroup4787 behaves like user cap is not available4788 is invalid4789 when the group is shared externally4790 behaves like user cap is not available4791 is invalid4792 when the namespace is a user4793 behaves like user cap is not available4794 is invalid4795 hooks related to group user cap update4796 when updating a group with a user cap4797 also sets share_with_group_lock and prevent_sharing_groups_outside_hierarchy to true4798 has share_with_group_lock and prevent_sharing_groups_outside_hierarchy returning true for descendent groups4799 when removing a user cap from namespace settings4800 leaves share_with_group_lock and prevent_sharing_groups_outside_hierarchy set to true to the related group4801 .allowed_namespace_settings_params4802 includes attributes used for limiting unique project downloads4803 .cascading_with_parent_namespace4804 when calling .cascading_with_parent_namespace4805 create three instance methods for attribute4806 three configurations of MR checks4807 behaves like [configuration](inherit_group_setting: bool) and [configuration]_locked?4808 group_attr: true, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4809 returns correct value4810 group_attr: true, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4811 returns correct value4812 group_attr: true, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: false, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4813 returns correct value4814 group_attr: false, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4815 returns correct value4816 group_attr: false, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4817 returns correct value4818 group_attr: false, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: false, subgroup_without_inherit_attr?: false, subgroup_locked?: false, subsubgroup_with_inherit_attr?: false, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: false4819 returns correct value4820 behaves like [configuration](inherit_group_setting: bool) and [configuration]_locked?4821 group_attr: true, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4822 returns correct value4823 group_attr: true, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4824 returns correct value4825 group_attr: true, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: false, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4826 returns correct value4827 group_attr: false, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4828 returns correct value4829 group_attr: false, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4830 returns correct value4831 group_attr: false, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: false, subgroup_without_inherit_attr?: false, subgroup_locked?: false, subsubgroup_with_inherit_attr?: false, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: false4832 returns correct value4833 behaves like [configuration](inherit_group_setting: bool) and [configuration]_locked?4834 group_attr: true, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4835 returns correct value4836 group_attr: true, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4837 returns correct value4838 group_attr: true, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: true, group_without_inherit_attr?: true, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: false, subgroup_locked?: true, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4839 returns correct value4840 group_attr: false, subgroup_attr: true, subsubgroup_attr: true, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: true, subsubgroup_locked?: true4841 returns correct value4842 group_attr: false, subgroup_attr: true, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: true, subgroup_without_inherit_attr?: true, subgroup_locked?: false, subsubgroup_with_inherit_attr?: true, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: true4843 returns correct value4844 group_attr: false, subgroup_attr: false, subsubgroup_attr: false, group_with_inherit_attr?: false, group_without_inherit_attr?: false, group_locked?: false, subgroup_with_inherit_attr?: false, subgroup_without_inherit_attr?: false, subgroup_locked?: false, subsubgroup_with_inherit_attr?: false, subsubgroup_without_inherit_attr?: false, subsubgroup_locked?: false4845 returns correct value4846 .ai_settings_allowed?4847 check_namespace_plan: true, main_feature_flag: true, secondary_feature_flag: true, licensed_feature: true, is_root: true, result: true4848 is expected to eq true4849 check_namespace_plan: false, main_feature_flag: true, secondary_feature_flag: true, licensed_feature: true, is_root: true, result: false4850 is expected to eq false4851 check_namespace_plan: true, main_feature_flag: false, secondary_feature_flag: true, licensed_feature: true, is_root: true, result: false4852 is expected to eq false4853 check_namespace_plan: true, main_feature_flag: true, secondary_feature_flag: false, licensed_feature: true, is_root: true, result: false4854 is expected to eq false4855 check_namespace_plan: true, main_feature_flag: true, secondary_feature_flag: true, licensed_feature: false, is_root: true, result: false4856 is expected to eq false4857 check_namespace_plan: true, main_feature_flag: true, secondary_feature_flag: true, licensed_feature: true, is_root: false, result: false4858 is expected to eq false4859 #ai_assist_ui_enabled?4860 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: group, check_namespace_plan: false, result: false4861 is expected to eq false4862 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: subgroup, check_namespace_plan: false, result: false4863 is expected to eq false4864 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: user_namespace, check_namespace_plan: false, result: false4865 is expected to eq false4866 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: group, check_namespace_plan: true, result: false4867 is expected to eq false4868 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: subgroup, check_namespace_plan: true, result: false4869 is expected to eq false4870 feature_ai_assist_ui: false, ai_assist_flag: false, namespace: user_namespace, check_namespace_plan: true, result: false4871 is expected to eq false4872 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: group, check_namespace_plan: false, result: false4873 is expected to eq false4874 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: subgroup, check_namespace_plan: false, result: false4875 is expected to eq false4876 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: user_namespace, check_namespace_plan: false, result: false4877 is expected to eq false4878 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: group, check_namespace_plan: true, result: false4879 is expected to eq false4880 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: subgroup, check_namespace_plan: true, result: false4881 is expected to eq false4882 feature_ai_assist_ui: false, ai_assist_flag: true, namespace: user_namespace, check_namespace_plan: true, result: false4883 is expected to eq false4884 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: group, check_namespace_plan: false, result: false4885 is expected to eq false4886 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: subgroup, check_namespace_plan: false, result: false4887 is expected to eq false4888 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: user_namespace, check_namespace_plan: false, result: false4889 is expected to eq false4890 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: group, check_namespace_plan: true, result: false4891 is expected to eq false4892 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: subgroup, check_namespace_plan: true, result: false4893 is expected to eq false4894 feature_ai_assist_ui: true, ai_assist_flag: false, namespace: user_namespace, check_namespace_plan: true, result: false4895 is expected to eq false4896 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: group, check_namespace_plan: false, result: false4897 is expected to eq false4898 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: subgroup, check_namespace_plan: false, result: false4899 is expected to eq false4900 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: user_namespace, check_namespace_plan: false, result: false4901 is expected to eq false4902 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: group, check_namespace_plan: true, result: true4903 is expected to eq true4904 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: subgroup, check_namespace_plan: true, result: false4905 is expected to eq false4906 feature_ai_assist_ui: true, ai_assist_flag: true, namespace: user_namespace, check_namespace_plan: true, result: true4907 is expected to eq true4908Types::PipelineSecurityReportFindingType4909 is expected to eq "PipelineSecurityReportFinding"4910 is expected to require graphql authorizations :read_security_resource4911 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_html4912 false_positive4913 when the security finding has a false-positive flag4914 returns false-positive value4915 when the security finding does not have any false-positive flag4916 returns false for false-positive field4917 when there exists no license4918 returns nil for false-positive field4919 vulnerability4920 returns no vulnerabilities for the security findings when none exists4921 when the security finding has a related vulnerability4922 returns vulnerabilities for the security findings4923 avoids N+1 queries4924 issue_links4925 returns no issues for the security findings when no vulnerability exists4926 when there is a vulnerabillty with no issues4927 returns no issues4928 when the security finding has a related vulnerability4929 returns issues for the security findings4930 avoids N+1 queries4931 merge_request4932 returns no merge requests for the security findings when no vulnerability finding exists4933 when a merge request link exists4934 returns the linked merged requests4935 prevents N+14936 when a merge request link does not exist4937 does not return a merge request4938 when there is a security finding with no merge request4939 returns no merge requests4940 remediations4941 returns remediations for security findings which have one4942 responds with an empty array for security findings which have none4943 when a remediation does not exist for a single finding query4944 when a vulnerability finding exists for the report finding4945 responds with an empty array4946 when a vulnerability finding does not exist for the report finding4947 responds with an empty array4948 dismissal data4949 when there is a security finding with no dismissal feedback4950 returns no dismissal data4951 when the security finding has a related dismissal feedback4952 returns the dismissal data for the security findings4953 avoids N+1 queries4954 when the number of requested dismissal fields changes4955 does not increase the number of queries4956Elastic::Latest::UserClassProxy4957 # order random4958 #elastic_search4959 calls ApplicationClassProxy.search once4960 methods being called4961 calls fuzzy_query_hash, namespace_query and forbidden_states_filter4962 when the query contains simple query string syntax characters4963 calls basic_query_hash, namespace_query and forbidden_states_filter4964 when the query does not contain simple query string syntax characters4965 query4966 has fuzzy queries and filters for forbidden state4967 with admin passed in arguments4968 does not have the forbidden state filter and includes email for the query search4969 with count_only passed in arguments4970 only has filters4971 when the query contains simple query string syntax characters4972 query4973 has a simple query string and filters for forbidden state4974 #namespace_query4975 returns musts if no groups or projects are passed in4976 with a project4977 has a terms query with the full ancestry and its namespace4978 when the project belongs to a group with an ancestor4979 has a terms query with the full ancestry and individual parts of the ancestry4980 with a group4981 has a prefix query with the group ancestry4982 when the group has a parent group4983 has a prefix query with the group ancestry and a terms query with the parent group ancestry4984 #forbidden_states_filter4985 has a term with forbidden_state eq false4986 when the user is an admin4987 returns filters so that users are returned regardless of state4988Analytics::DevopsAdoption::SnapshotCalculator4989 end_time4990 equals to range_end4991 issue_opened4992 is expected to eq false4993 with an issue opened within month4994 is expected to eq true4995 merge_request_opened4996 is expected to eq false4997 with a merge request opened within month4998 is expected to eq true4999 merge_request_approved5000 is expected to eq false5001 with a merge request approved within month5002 is expected to eq true5003 runner_configured5004 is expected to eq false5005 with active runner present5006 is expected to eq true5007 pipeline_succeeded5008 is expected to eq false5009 with successful pipeline within month5010 is expected to eq true5011 deploy_succeeded5012 is expected to eq false5013 with successful deployment within month5014 is expected to eq true5015 total_projects_count5016 is expected to eq 25017 code_owners_used_count5018 is expected to eq 15019 when there is no default branch5020 uses HEAD as default value5021 sast_enabled_count5022 returns number of projects with at least 1 sast CI artifact created in given period5023 dast_enabled_count5024 returns number of projects with at least 1 dast CI artifact created in given period5025 dependency_scanning_enabled_count5026 returns number of projects with at least 1 dependency_scanning CI artifact created in given period5027 coverage_fuzzing_enabled_count5028 returns number of projects with at least 1 coverage_fuzzing CI artifact created in given period5029 vulnerability_management_used_count5030 returns number of projects with at least 1 vulnerability acted upon5031 when snapshot already exists5032 for boolean metrics5033 calculates metrics which are not true yet5034 doesn't change metrics which are true already5035 for numeric metrics5036 always recalculates metric5037MemberEntity5038 group member5039 behaves like member.json5040 matches json schema5041 correctly exposes `using_license`5042 correctly exposes `group_sso`5043 correctly exposes `group_managed_account`5044 correctly exposes `can_override`5045 correctly exposes `provisioned_by_this_group`5046 correctly exposes `banned`5047 correctly exposes `can_ban`5048 correctly exposes `can_unban`5049 correctly exposes `can_disable_two_factor`5050 always returns boolean value for `can_disable_two_factor`5051 project member5052 behaves like member.json5053 matches json schema5054 correctly exposes `using_license`5055 correctly exposes `group_sso`5056 correctly exposes `group_managed_account`5057 correctly exposes `can_override`5058 correctly exposes `provisioned_by_this_group`5059 correctly exposes `banned`5060 correctly exposes `can_ban`5061 correctly exposes `can_unban`5062 correctly exposes `can_disable_two_factor`5063 always returns boolean value for `can_disable_two_factor`5064Elastic::MigrationRecord5065 #save!5066 raises an error if the migrations index is not found5067 sets the migration name5068 sets the started_at5069 does not update started_at on subsequent saves5070 sets completed_at when completed5071 does not set completed_at when not completed5072 #load_from_index5073 does not raise an exception when connection refused5074 does not raise an exception when record does not exist5075 #halt5076 sets state for halted and halted_indexing_unpaused5077 sets state with additional options if passed5078 #fail5079 calls halt with failed: true5080 #started?5081 changes on first save to the index5082 .load_versions5083 loads all records5084 raises an exception if no index present5085 raises an exception when exception is raised5086 has a size constant bigger than the number of migrations5087 #current_migration5088 when there is an unexecuted migration5089 returns the correct migration5090 when there are no uncompleted migrations5091 returns nil5092 #running?5093 started: false, halted: false, completed: false, expected: false5094 returns the expected result5095 started: true, halted: false, completed: false, expected: true5096 returns the expected result5097 started: true, halted: true, completed: false, expected: false5098 returns the expected result5099 started: true, halted: true, completed: true, expected: false5100 returns the expected result5101 started: true, halted: false, completed: true, expected: false5102 returns the expected result5103 #stopped?5104 halted: false, completed: false, expected: false5105 returns the expected result5106 halted: false, completed: true, expected: true5107 returns the expected result5108 halted: true, completed: false, expected: true5109 returns the expected result5110 halted: true, completed: true, expected: true5111 returns the expected result5112 #completed_at5113 when completed_at is stored in the indexed document5114 is expected to eq 2023-08-10 12:40:41.000000000 +00005115 when completed_at is missing from the indexed document5116 is expected to be nil5117 when document is missing from index5118 is expected to be nil5119 #started_at5120 when started_at is stored in the indexed document5121 is expected to eq 2023-08-10 12:40:41.000000000 +00005122 when started_at is missing from the indexed document5123 is expected to be nil5124 when document is missing from index5125 is expected to be nil5126 #load_completed_from_index5127 when completed is missing from the indexed document5128 is expected to be nil5129 when completed exists in the indexed document5130 is expected to eq true5131 #save_state!5132 only modifies the state field5133 only overwrites the state fields provided to the method5134AppSec::Dast::Profiles::UpdateService5135 execute5136 when on demand scan licensed feature is not available5137 communicates failure5138 when the feature is enabled5139 when the user cannot run a DAST scan5140 communicates failure5141 when the user can run a DAST scan5142 audits the update5143 without dast_profile_schedule param5144 communicates success5145 updates the dast_profile5146 does not try to create or update the dast_profile_schedule5147 ignores the dast_profile_schedule5148 with dast_profile_schedule param5149 when associated schedule is not present5150 creates a new schedule5151 returns the success status5152 audits the creation5153 when associated schedule is present5154 updates the dast profile schedule5155 creates the audit event5156 when the owner is valid5157 does not updates the schedule owner5158 when the owner was deleted5159 updates the schedule owner5160 audits the owner change5161 when the owner permission was downgraded5162 updates the schedule owner5163 audits the owner change5164 when the owner was removed from the project5165 updates the schedule owner5166 audits the owner change5167 when param run_after_update: true5168 creates a ci_pipeline5169 behaves like it delegates scan creation to another service5170 calls AppSec::Dast::Scans::CreateService5171 when dast_profile param is missing5172 communicates failure5173 with tag_list param5174 updates the tags5175 when there is a invalid tag5176 returns an error status5177 populates message5178 when feature flag on_demand_scans_runner_tags is disabled5179 returns a success status5180 does not update the tags5181Security::Ingestion::Tasks::IngestVulnerabilities5182 #execute5183 creates new vulnerabilities5184 marks the existing vulnerability as not resolved on default branch5185 creates new vulnerabilities with present_on_default_branch set to true5186 updates present_on_default_branch to true for existing vulnerabilities5187 when a resolved Vulnerability shows up in a subsequent scan5188 changes the state to detected5189ProjectGroupLink5190 scopes5191 .in_project5192 provides correct link records5193 .not_in_group5194 provides correct link records5195 #destroy5196 protected tags5197 behaves like deleted related access levels5198 removes related ProtectedTag::CreateAccessLevel5199 protected environments5200 behaves like deleted related access levels5201 removes related ProtectedEnvironments::DeployAccessLevel5202 with approval rules5203 behaves like deleted related access levels5204 removes related ProtectedEnvironments::ApprovalRule5205 #group_with_allowed_email_domains5206 shared project group is the root ancestor5207 behaves like restricted membership by email domain5208 shared project group has membership restricted by allowed email domains5209 shared with group with a subset of allowed email domains5210 is expected to be valid5211 shared with group containing domains outside the shared group allowed email domains5212 is expected to be invalid5213 shared with group does not have membership restricted by allowed domains5214 is expected to be invalid5215 shared project group does not have membership restricted by allowed domains5216 shared with group has membership restricted by allowed email domains5217 is expected to be valid5218 shared with group does not have membership restricted by allowed domains5219 is expected to be valid5220 shared project group is a subgroup5221 behaves like restricted membership by email domain5222 shared project group has membership restricted by allowed email domains5223 shared with group with a subset of allowed email domains5224 is expected to be valid5225 shared with group containing domains outside the shared group allowed email domains5226 is expected to be invalid5227 shared with group does not have membership restricted by allowed domains5228 is expected to be invalid5229 shared project group does not have membership restricted by allowed domains5230 shared with group has membership restricted by allowed email domains5231 is expected to be valid5232 shared with group does not have membership restricted by allowed domains5233 is expected to be valid5234 shared with group is a subgroup5235 behaves like restricted membership by email domain5236 shared project group has membership restricted by allowed email domains5237 shared with group with a subset of allowed email domains5238 is expected to be valid5239 shared with group containing domains outside the shared group allowed email domains5240 is expected to be invalid5241 shared with group does not have membership restricted by allowed domains5242 is expected to be invalid5243 shared project group does not have membership restricted by allowed domains5244 shared with group has membership restricted by allowed email domains5245 is expected to be valid5246 shared with group does not have membership restricted by allowed domains5247 is expected to be valid5248 shared project group and shared with group are subgroups5249 behaves like restricted membership by email domain5250 shared project group has membership restricted by allowed email domains5251 shared with group with a subset of allowed email domains5252 is expected to be valid5253 shared with group containing domains outside the shared group allowed email domains5254 is expected to be invalid5255 shared with group does not have membership restricted by allowed domains5256 is expected to be invalid5257 shared project group does not have membership restricted by allowed domains5258 shared with group has membership restricted by allowed email domains5259 is expected to be valid5260 shared with group does not have membership restricted by allowed domains5261 is expected to be valid5262Resolvers::ProjectIssuesResolver5263 # order random5264 with a project5265 #resolve5266 sorting5267 when sorting by weight5268 sorts issues ascending5269 sorts issues descending5270 when sorting by published5271 sorts issues ascending5272 sorts issues descending5273 when sorting by sla due at5274 sorts issues ascending5275 sorts issues descending5276 when sorting by blocking issues count (ties broken by id in desc order)5277 sorts issues ascending5278 sorts issues descending5279 when sorting by health status5280 sorts issues ascending5281 sorts issues descending5282 filtering by iteration5283 returns issues with iteration using raw id5284 returns issues with iteration using global id5285 returns issues with list iterations using global id5286 returns issues with list iterations using a mix5287 filtering by iteration wildcard5288 returns issues with current iteration5289 returns issues with any iteration5290 returns issues with no iteration5291 generates mutually exclusive filter error when wildcard and list are provided5292 filter by epic5293 returns issues without epic when epic_id is "none"5294 returns issues with any epic when epic_id is "any"5295 returns issues with any epic when epic_id is specific5296 includes issues associated with subepics when specified5297 filter by weight5298 when filtering by any weight5299 only returns issues that have a weight assigned5300 when filtering by no weight5301 only returns issues that have no weight assigned5302 when filtering by specific weight5303 only returns issues that have the specified weight assigned5304 filter by health status5305 when filtering by specific health status5306 only returns issues that have the specified health status assigned5307 when filtering by any health status5308 is expected to contain exactly #<Issue id:238 group654/project-1254#1>, #<Issue id:240 group654/project-1254#3>, and #<Issue id:241 group654/project-1254#4>5309 when filtering by no health status5310 is expected to contain exactly #<Issue id:239 group654/project-1254#2>5311 when health_status and health_status_filter arguments are both given5312 overwrites health_status with value of health_status_filter5313 filtering by negated params5314 filter by negated epic5315 returns issues without the specified epic_id5316 filtering by negated weight5317 only returns issues that do not have the specified weight assigned5318 filtering by negated iteration5319 returns issues without iteration using RAW id5320 works with global IDs5321 generates a mutually exclusive filter error when wildcard and list are provided5322 filtering by negated iteration wildcard5323 returns issues not in the current iteration5324 filtering by negated health_status5325 only returns issues that do not have the specified health_status assigned5326BackfillArchivedOnIssues5327 # order random5328 .migrate5329 when migration is already completed5330 does not modify data5331 migration process5332 updates all documents5333 only updates documents missing a field5334 processes in batches5335 .completed?5336 when documents are missing field5337 is expected not to be completed5338 when no documents are missing field5339 is expected to be completed5340 migration_options5341 has migration options set5342Security::Ingestion::Tasks::IngestFindings5343 #execute5344 ingests findings5345 sets the finding and vulnerability ids5346 behaves like bulk insertable task5347 when the validation fails5348 can generate error messages correctly5349Analytics::CycleAnalytics::ConsistencyCheckService5350 for issue based stage5351 behaves like consistency check examples5352 when some records are deleted5353 cleans up the stage event records5354 when running out of allotted time5355 stops early, returns a cursor, and restarts next run from the given cursor5356 validation5357 when license is missing5358 fails5359 when sub-group is given5360 fails5361 for merge request based stage5362 behaves like consistency check examples5363 when some records are deleted5364 cleans up the stage event records5365 when running out of allotted time5366 stops early, returns a cursor, and restarts next run from the given cursor5367 validation5368 when license is missing5369 fails5370 when sub-group is given5371 fails5372Security::ScanExecutionPoliciesFinder5373 when actor is Clusters::Agent5374 when agent project has security_orchestration_policy project5375 returns policy matching the given scan type5376 when the security policy project is linked to the group5377 returns policy matching the given scan type5378 and object is not a Project5379 returns empty response5380 when action_scan_types is given5381 when there are multiple policies5382 returns policy matching the given scan type5383 when there are no matching policies5384 returns empty response5385 behaves like scan policies finder5386 #execute5387 when execute is not implemented in the subclass5388 raises NotImplementedError5389 when feature is not licensed5390 returns empty collection5391 when feature is licensed5392 when configuration is associated to project5393 returns policies with project5394 when configuration is associated to namespace5395 when relationship argument is not provided5396 returns no policies5397 when relationship argument is provided as INHERITED5398 returns scan policies for groups only5399 when configuration is associated to project and namespace5400 when relationship argument is not provided5401 returns scan policies for project only5402 when relationship argument is provided as INHERITED5403 returns policies defined for both project and namespace5404 when relationship argument is provided as INHERITED_ONLY5405 returns policies defined for namespace only5406 when user is unauthorized5407 returns empty collection5408Elastic::Latest::NoteClassProxy5409 # order random5410 #elastic_search5411 when performing a global search5412 adds archived filter query and does not includes the archived notes in the search results5413 when migration backfill_archived_on_notes is not finished5414 does not add archived filter query and includes the archived notes with results from all projects5415 when feature_flag search_notes_hide_archived_projects is disabled5416 does not add archived filter query and includes the archived notes with results from all projects5417 when options contains include_archived as true5418 does not add archived filter query and includes the archived notes with results from all projects5419 #es_type5420 returns notes5421Resolvers::ComplianceManagement::MergeRequests::ComplianceViolationResolver5422 #resolve5423 user is unauthorized5424 returns nil5425 user is authorized5426 without any filters or sorting5427 finds all the compliance violations5428 filtering the results5429 when given an array of project IDs5430 finds the filtered compliance violations5431 when given merged at dates5432 merged_params: {:merged_before=>Tue, 08 Aug 2023}, result: lazy { compliance_violation }5433 finds the filtered compliance violations5434 merged_params: {:merged_after=>Tue, 08 Aug 2023}, result: lazy { compliance_violation2 }5435 finds the filtered compliance violations5436 merged_params: {:merged_before=>Thu, 10 Aug 2023, :merged_after=>Tue, 08 Aug 2023}, result: lazy { compliance_violation2 }5437 finds the filtered compliance violations5438 sorting the results5439 direction: "SEVERITY_LEVEL_ASC", result: lazy { [compliance_violation, compliance_violation2] }5440 finds the filtered compliance violations5441 uses offset pagination5442 direction: "SEVERITY_LEVEL_DESC", result: lazy { [compliance_violation2, compliance_violation] }5443 finds the filtered compliance violations5444 uses offset pagination5445 direction: "VIOLATION_REASON_ASC", result: lazy { [compliance_violation, compliance_violation2] }5446 finds the filtered compliance violations5447 uses offset pagination5448 direction: "VIOLATION_REASON_DESC", result: lazy { [compliance_violation2, compliance_violation] }5449 finds the filtered compliance violations5450 uses offset pagination5451 direction: "MERGE_REQUEST_TITLE_ASC", result: lazy { [compliance_violation, compliance_violation2] }5452 finds the filtered compliance violations5453 uses offset pagination5454 direction: "MERGE_REQUEST_TITLE_DESC", result: lazy { [compliance_violation2, compliance_violation] }5455 finds the filtered compliance violations5456 uses offset pagination5457 direction: "MERGED_AT_ASC", result: lazy { [compliance_violation, compliance_violation2] }5458 finds the filtered compliance violations5459 uses offset pagination5460 direction: "MERGED_AT_DESC", result: lazy { [compliance_violation2, compliance_violation] }5461 finds the filtered compliance violations5462 uses offset pagination5463 direction: "UNKNOWN_SORT", result: lazy { [compliance_violation, compliance_violation2] }5464 finds the filtered compliance violations5465 uses offset pagination5466Sbom::Occurrence5467 associations5468 is expected to belong to component required: true5469 is expected to belong to component_version required: false5470 is expected to belong to project required: true5471 is expected to belong to pipeline required: false5472 is expected to belong to source required: false5473 loose foreign key on sbom_occurrences.pipeline_id5474 behaves like cleanup by a loose foreign key5475 cleans up (delete or nullify) the model5476 validations5477 is expected to validate that :commit_sha cannot be empty/falsy5478 is expected to validate that :uuid cannot be empty/falsy5479 is expected to validate that :uuid is case-insensitively unique5480 is expected to validate that the length of :package_manager is at most 2555481 is expected to validate that the length of :component_name is at most 2555482 is expected to validate that the length of :input_file_path is at most 2555483 .order_by_id5484 returns records sorted by id5485 .order_by_component_name5486 returns records sorted by component name asc5487 returns records sorted by component name desc5488 .order_by_package_name5489 when the sort order is ascending5490 returns records sorted by package name asc5491 when the sort order is descending5492 returns records sorted by package name desc5493 .filter_by_component_names5494 returns records filtered by component name5495 .filter_by_package_managers5496 returns records filtered by package name5497 with empty array5498 returns no records5499 .filter_by_search_with_component_and_group5500 with different search keywords5501 keyword: "file", occurrences: [occurrence_bundler]5502 returns records filtered by search5503 keyword: "pack", occurrences: [occurrence_npm]5504 returns records filtered by search5505 keyword: "lock", occurrences: [occurrence_npm, occurrence_bundler]5506 returns records filtered by search5507 with unrelated group5508 returns empty array5509 with unrelated component5510 returns empty array5511 #name5512 delegates name to component5513 #version5514 delegates version to component_version5515 when component_version is nil5516 returns nil5517 source delegation5518 #packager5519 delegates packager to source5520 when source is nil5521 is expected to be nil5522 #location5523 returns expected location data5524 when source is nil5525 returns nil values5526Boards::Lists::CreateService5527 #execute5528 when assignee_id param is sent5529 creates a new assignee list5530 when milestone_id param is sent5531 creates a milestone list when param is valid5532 when iteration_id param is sent5533 creates an iteration list when param is valid5534 returns an error when license is unavailable5535 when iteration is from another group5536 returns an error5537 max limits5538 #create_list_attributes5539 behaves like attribute provider for list creation5540 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5541 contains the expected max limits5542 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5543 contains the expected max limits5544 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5545 contains the expected max limits5546 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5547 contains the expected max limits5548 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5549 contains the expected max limits5550 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5551 contains the expected max limits5552 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5553 contains the expected max limits5554 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5555 contains the expected max limits5556 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil5557 contains the expected max limits5558 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5559 contains the expected max limits5560 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5561 contains the expected max limits5562 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5563 contains the expected max limits5564 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"5565 contains the expected max limits5566 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"5567 contains the expected max limits5568 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"5569 contains the expected max limits5570 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""5571 contains the expected max limits5572 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5573 contains the expected max limits5574 behaves like attribute provider for list creation5575 params: {:max_issue_count=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5576 contains the expected max limits5577 params: {:max_issue_count=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5578 contains the expected max limits5579 params: {:max_issue_count=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5580 contains the expected max limits5581 params: {:max_issue_weight=>0}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5582 contains the expected max limits5583 params: {:max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5584 contains the expected max limits5585 params: {:max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5586 contains the expected max limits5587 params: {:max_issue_count=>1, :max_issue_weight=>0}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5588 contains the expected max limits5589 params: {:max_issue_count=>0, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5590 contains the expected max limits5591 params: {:max_issue_count=>1, :max_issue_weight=>1}, expected_max_issue_count: 1, expected_max_issue_weight: 1, expected_limit_metric: nil5592 contains the expected max limits5593 params: {:max_issue_count=>nil, :max_issue_weight=>1}, expected_max_issue_count: 0, expected_max_issue_weight: 1, expected_limit_metric: nil5594 contains the expected max limits5595 params: {:max_issue_count=>1, :max_issue_weight=>nil}, expected_max_issue_count: 1, expected_max_issue_weight: 0, expected_limit_metric: nil5596 contains the expected max limits5597 params: {:max_issue_count=>nil, :max_issue_weight=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5598 contains the expected max limits5599 params: {:limit_metric=>"all_metrics"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "all_metrics"5600 contains the expected max limits5601 params: {:limit_metric=>"issue_count"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_count"5602 contains the expected max limits5603 params: {:limit_metric=>"issue_weights"}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: "issue_weights"5604 contains the expected max limits5605 params: {:limit_metric=>""}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: ""5606 contains the expected max limits5607 params: {:limit_metric=>nil}, expected_max_issue_count: 0, expected_max_issue_weight: 0, expected_limit_metric: nil5608 contains the expected max limits5609StatusPage::IncidentEntity5610 # order random5611 exposes JSON fields5612 exposes correct data types5613 field #description5614 behaves like reference links for status page5615 with public project5616 with public issue5617 shows link anchor with HTML data attributes5618 with confidential issue5619 redacts link anchor and HTML data attributes5620 with private project5621 with public issue5622 redacts link anchor and HTML data attributes5623 mentions5624 with username5625 anonymizes mention5626 with arbitrary username5627 shows the mention5628 with @all5629 when `disable_all_mention` FF is disabled5630 anonymizes mention5631 when `disable_all_mention` FF is enabled5632 shows the mention text5633 with groups5634 group_visibility: :public5635 anonymizes mention5636 group_visibility: :internal5637 anonymizes mention5638 group_visibility: :private5639 anonymizes mention5640 behaves like img upload tags for status page5641 converts to html5642 with user notes5643 exposes comments5644 field #title5645 behaves like reference links for status page5646 with public project5647 with public issue5648 shows link anchor with HTML data attributes5649 with confidential issue5650 redacts link anchor and HTML data attributes5651 with private project5652 with public issue5653 redacts link anchor and HTML data attributes5654 mentions5655 with username5656 anonymizes mention5657 with arbitrary username5658 shows the mention5659 with @all5660 when `disable_all_mention` FF is disabled5661 anonymizes mention5662 when `disable_all_mention` FF is enabled5663 shows the mention text5664 with groups5665 group_visibility: :public5666 anonymizes mention5667 group_visibility: :internal5668 anonymizes mention5669 group_visibility: :private5670 anonymizes mention5671Vulnerabilities::UpdateService5672 with an authorized user with proper permissions5673 behaves like calls Vulnerabilities::Statistics::UpdateService5674 calls the service class5675 when finding name is longer than 255 characters5676 truncates vulnerability title to have 255 characters5677 when neither severity nor confidence are overridden5678 updates the vulnerability from updated finding (title, severity and confidence only)5679 when severity is overridden5680 updates the vulnerability from updated finding (title and confidence only)5681 when confidence is overridden5682 updates the vulnerability from updated finding (title and severity only)5683 when the `resolved_on_default_branch` kwarg is provided5684 updates the resolved_on_default_branch attribute of vulnerability5685 when the `resolved_on_default_branch` kwarg is not provided5686 does not update the resolved_on_default_branch attribute of vulnerability5687 when security dashboard feature is disabled5688 raises an "access denied" error5689 when user does not have rights to update a vulnerability5690 raises an "access denied" error5691AppSec::Dast::SiteProfiles::CreateService5692 #execute5693 when a user does not have access to the project5694 returns an error status5695 populates message5696 when the user can run a dast scan5697 returns a success status5698 creates a dast_site_profile5699 creates a dast_site5700 sets attributes correctly5701 returns a dast_site_profile payload5702 audits the creation5703 when the dast_site already exists5704 returns a success status5705 does not create a new dast_site5706 when excluded_urls is nil5707 defaults to an empty array5708 when excluded_urls is not supplied5709 defaults to an empty array5710 when auth values are not supplied5711 uses sensible defaults5712 when request_headers are supplied5713 behaves like it handles secret variable creation5714 correctly sets the value5715 behaves like it handles secret variable creation failure5716 returns an error response5717 when auth_password is supplied5718 behaves like it handles secret variable creation5719 correctly sets the value5720 behaves like it handles secret variable creation failure5721 returns an error response5722 when the auth_password size is smaller than 8 characters5723 returns an error response5724 when the request headers size is smaller than 8 characters5725 returns an error response5726 when an existing dast_site_validation does not exist5727 does not create a dast_site_validation association5728 when an existing dast_site_validation exists5729 gets associated with the dast_site5730 when on demand scan licensed feature is not available5731 returns an error status5732 populates message5733AddHashedRootNamespaceIdToNotes5734 # order random5735 behaves like a deprecated Advanced Search migration5736 #migrate5737 logs a message and halts the migration5738 #completed?5739 returns false5740 #obsolete?5741 returns true5742Mutations::Issues::SetEpic5743 #resolve5744 behaves like permission level for issue mutation is correctly verified5745 when the user is not a project member5746 behaves like when the user does not have access to the resource5747 raises an error5748 even if assigned to the issue5749 does not modify issue5750 even if author of the issue5751 does not modify issue5752 when the user is a project member5753 with guest role5754 behaves like when the user does not have access to the resource5755 raises an error5756 even if assigned to the issue5757 does not modify issue5758 even if author of the issue5759 does not modify issue5760 when the user can update the issue5761 when user can read epic5762 returns the issue with the epic5763 returns errors if issue could not be updated5764 when passing epic_id as nil5765 removes the epic5766 does not do anything if the issue already does not have a epic5767 when epic is confidential but issue is public5768 returns an error with appropriate message5769 with assigning epic error5770 returns an error with appropriate message5771 when user can not read epic5772 raises an error5773Security::VulnerabilityReadsFinder5774 when not given a second argument5775 does not filter the vulnerability list5776 when filtered by report type5777 only returns vulnerabilities matching the given report types5778 when filtered by severity5779 only returns vulnerabilities matching the given severities5780 when filtered by state5781 only returns vulnerabilities matching the given states5782 when filtered by dismissal reason and other states5783 returns dismissed vulnerabilities and those matching other states5784 when filtered by scanner external ID5785 only returns vulnerabilities matching the given scanner IDs5786 when filtered by scanner_id5787 only returns vulnerabilities matching the given scanner IDs5788 when filtered by project5789 only returns vulnerabilities matching the given projects5790 when sorted5791 when sort method is not given5792 is expected to eq [#<Vulnerabilities::Read id: 51, vulnerability_id: 54, project_id: 1369, scanner_id: 93, report_type:... casted_cluster_agent_id: nil, namespace_id: 4840, dismissal_reason: nil, has_merge_request: false>]5793 ascending by severity5794 is expected to eq [#<Vulnerabilities::Read id: nil, vulnerability_id: 56, project_id: 1369, scanner_id: 95, report_type... casted_cluster_agent_id: nil, namespace_id: 4840, dismissal_reason: nil, has_merge_request: false>]5795 descending by severity5796 is expected to eq [#<Vulnerabilities::Read id: 51, vulnerability_id: 54, project_id: 1369, scanner_id: 93, report_type:... casted_cluster_agent_id: nil, namespace_id: 4840, dismissal_reason: nil, has_merge_request: false>]5797 ascending by detected_at5798 is expected to eq [#<Vulnerabilities::Read id: 50, vulnerability_id: 53, project_id: 1369, scanner_id: 92, report_type:...ster_agent_id: nil, namespace_id: nil, dismissal_reason: "used_in_tests", has_merge_request: false>]5799 descending by detected_at5800 is expected to eq [#<Vulnerabilities::Read id: nil, vulnerability_id: 56, project_id: 1369, scanner_id: 95, report_type... casted_cluster_agent_id: nil, namespace_id: 4840, dismissal_reason: nil, has_merge_request: false>]5801 when filtered by has_issues argument5802 when has_issues is set to true5803 only returns vulnerabilities that have issues5804 when has_issues is set to false5805 only returns vulnerabilities that does not have issues5806 when filtered by has_resolution argument5807 when has_resolution is set to true5808 only returns vulnerabilities that have resolution5809 when has_resolution is set to false5810 only returns vulnerabilities that do not have resolution5811 when filtered by more than one property5812 only returns vulnerabilities matching all of the given filters5813 when filtered by image5814 only returns vulnerabilities matching the given image5815 when different report_type is passed5816 returns an empty relation5817 when vulnerable is InstanceSecurityDashboard5818 does not include cluster vulnerability5819 when filtered by cluster_agent_id5820 only returns vulnerabilities matching the given agent_id5821 when different report_type is passed5822 returns empty list5823 use of unnested filters5824 when the given vulnerable is a project5825 calls `use_unnested_filters` on relation5826 when the given vulnerable is a group5827 calls `use_unnested_filters` on relation5828 when the given vulnerable is an instance security dashboard5829 does not call `use_unnested_filters` on relation5830Projects::MarkForDeletionService5831 with delayed delete feature turned on5832 marking project for deletion5833 marks project as archived and marked for deletion5834 renames project name5835 renames project path5836 marking project for deletion once again5837 does not change original date5838 audit events5839 saves audit event5840 with delayed delete feature turned off5841 marking project for deletion5842 does not change project attributes5843 #project_update_service_params5844 when delayed deletion feature is not available5845 creates the params for project update service5846 when delayed deletion feature is available5847 creates the params for project update service5848ReindexUsers5849 # order random5850 behaves like a deprecated Advanced Search migration5851 #migrate5852 logs a message and halts the migration5853 #completed?5854 returns false5855 #obsolete?5856 returns true5857Epics::UpdateDatesService5858 #execute5859 fixed date is set5860 updates to fixed date5861 fixed date is not set5862 multiple milestones5863 complete start and due dates5864 updates to milestone dates5865 without due date5866 updates to milestone dates5867 without any dates5868 updates to milestone dates5869 without milestone5870 updates to milestone dates5871 single milestone5872 complete start and due dates5873 updates to milestone dates5874 without due date5875 updates to milestone dates5876 without any dates5877 updates to milestone dates5878 #when updating multiple epics5879 updates in bulk5880 query count check5881 does not increase query count when adding epics without milestones5882 does not increase query count when adding epics belongs to same milestones5883 when epic dates are inherited5884 when epic has no issues5885 epic dates are nil5886 when epic has issues assigned to milestones5887 returns inherited milestone dates5888 when epic has child epics5889 returns inherited dates from child epics and milestones5890 when epic dates are propagated upwards5891 propagates date changes to parent epics5892BlockingMergeRequestEntity5893 exposes simple attributes5894 serializes a blocking MR that lacks metrics5895 #head_pipeline5896 visible pipeline5897 is expected to include {:id => 274}5898 hidden pipeline5899 is expected to be nil5900 #reference5901 is expected to eq "!1"5902 from another project5903 includes the fully-qualified reference when needed5904Mutations::IncidentManagement::OncallRotation::Update5905 # order random5906 #resolve5907 user has access to project5908 when OncallRotation::UpdateService responds with success5909 returns the on-call rotation with no errors5910 adds the participant to the rotation5911 removing participants5912 returns the on-call rotation with no errors5913 with endsAt arg5914 returns the on-call rotation with no errors5915 when endsAt is nil5916 returns the on-call rotation with no errors5917 when OncallRotations::UpdateService responds with an error5918 returns errors5919 with active period times given5920 returns the on-call rotation with no errors5921 saves the on-call rotation with active period times5922 hours rotation length unit5923 returns errors5924 end time is before start time5925 saves the on-call rotation with active period times5926 invalid time given5927 raises an error5928 removing active period5929 removes the active period5930 error cases5931 user cannot be found5932 raises an error5933 duplicate participants5934 raises an error5935 too many users5936 raises an error5937 when resource is not accessible to the user5938 raises an error5939Sbom::DependenciesFinder5940 # order random5941 with group5942 without params5943 returns the dependencies associated with the project ordered by id5944 with params5945 when sorted asc by names5946 returns array of data properly sorted5947 when sorted desc by names5948 returns array of data properly sorted5949 when sorted asc by packager5950 returns array of data properly sorted5951 when sorted desc by packager5952 returns array of data properly sorted5953 when filtered by package name npm5954 returns only records with packagers related to npm5955 when filtered by component name5956 returns only records corresponding to the filter5957 when params is invalid5958 returns the dependencies associated with the project ordered by id5959 with subgroup5960 without params5961 returns the dependencies associated with the project ordered by id5962 with params5963 when sorted asc by names5964 returns array of data properly sorted5965 when sorted desc by names5966 returns array of data properly sorted5967 when sorted asc by packager5968 returns array of data properly sorted5969 when sorted desc by packager5970 returns array of data properly sorted5971 when filtered by package name npm5972 returns only records with packagers related to npm5973 when filtered by component name5974 returns only records corresponding to the filter5975 when params is invalid5976 returns the dependencies associated with the project ordered by id5977 with project5978 without params5979 returns the dependencies associated with the project ordered by id5980 with params5981 when sorted asc by names5982 returns array of data properly sorted5983 when sorted desc by names5984 returns array of data properly sorted5985 when sorted asc by packager5986 returns array of data properly sorted5987 when sorted desc by packager5988 returns array of data properly sorted5989 when filtered by package name npm5990 returns only records with packagers related to npm5991 when filtered by component name5992 returns only records corresponding to the filter5993 when params is invalid5994 returns the dependencies associated with the project ordered by id5995Gitlab::Auth::GroupSaml::IdentityLinker5996 linked identity exists5997 when the extern_uid matches5998 doesn't create new identity5999 sets #changed? to false6000 adds user to group6001 when the extern_uid does not match6002 updates the identity when the email address matches6003 does not update the identity when the email address does not match6004 when the extern_uid is already taken6005 fails and does not update the identity6006 identity needs to be created6007 with identity provider initiated request6008 attempting to link accounts raises an exception6009 with valid gitlab initiated request6010 creates linked identity6011 sets identity provider6012 sets saml provider6013 sets identity extern_uid6014 sets #changed? to true6015 adds user to group6016Ci::PipelineTriggerService6017 #execute6018 with a trigger token6019 group with restriction6020 address is within the range6021 triggers a pipeline6022 address is outside the range6023 does nothing6024 group without restriction6025 triggers a pipeline6026 with a job token6027 group with restriction6028 address is within the range6029 triggers a pipeline6030 address is outside the range6031 does nothing6032 group without restriction6033 triggers a pipeline6034Arkose::VerifyResponse6035 .new6036 when response is not a Hash6037 raises an InvalidResponseFormatError error6038 when response is a Hash6039 does not raise an InvalidResponseFormatError error6040 #invalid_token?6041 when token is invalid6042 is expected to eq true6043 when token is valid6044 is expected to eq false6045 #error6046 is expected to eq "DENIED ACCESS"6047 #challenge_solved?6048 when response does not contain solved data6049 is expected to eq true6050 when response contains solved data6051 is expected to eq false6052 #low_risk?6053 when arkose_labs_prevent_login feature flag is disabled6054 is expected to eq true6055 when response does not contain session_risk.risk_band data6056 is expected to eq true6057 when response contains session_risk.risk_band != "High"6058 is expected to eq true6059 when response contains session_risk.risk_band == "High"6060 is expected to eq false6061 #allowlisted?6062 when session_details.telltale_list data includes ALLOWLIST_TELLTALE6063 is expected to eq true6064 when session_details.telltale_list data does not include ALLOWLIST_TELLTALE6065 is expected to eq false6066 when response does not include session_details.telltale_list data6067 is expected to eq false6068 other methods6069 when response has the correct data6070 method: :custom_score, expected_value: "100"6071 succeeds6072 method: :global_score, expected_value: "15"6073 succeeds6074 method: :risk_band, expected_value: "High"6075 succeeds6076 method: :session_id, expected_value: "22612c147bb418c8.2570749403"6077 succeeds6078 method: :risk_category, expected_value: "BOT-STD"6079 succeeds6080 method: :global_telltale_list, expected_value: lazy { global_telltale_list }6081 succeeds6082 method: :custom_telltale_list, expected_value: lazy { custom_telltale_list }6083 succeeds6084 method: :device_id, expected_value: "gaFCZkxoGZYW6"6085 succeeds6086 when response does not have the correct data6087 method: :custom_score, expected_value: 06088 succeeds6089 method: :global_score, expected_value: 06090 succeeds6091 method: :risk_band, expected_value: "Unavailable"6092 succeeds6093 method: :session_id, expected_value: "Unavailable"6094 succeeds6095 method: :risk_category, expected_value: "Unavailable"6096 succeeds6097 method: :global_telltale_list, expected_value: "Unavailable"6098 succeeds6099 method: :custom_telltale_list, expected_value: "Unavailable"6100 succeeds6101 method: :device_id, expected_value: nil6102 succeeds6103NotesFinder6104 #target6105 returns an epic6106 fails if group id is missing6107 #execute6108 when using target id and type of epics6109 returns the expected notes6110 fails if group id is missing6111 when using an explicit epic target6112 returns the expected notes6113 when notes on public epic in a public group6114 shows all notes when the current_user has reporter access6115 shows only public notes when the current_user has guest access6116Analytics::MergeRequestMetricsRefresh6117 #execute6118 updates metric via update_metric! method6119 when MR was deleted right before metrics refresh does not raise an error6120 when metric is already present6121 does not update metric6122 updates metric when forced6123 #execute_async6124 schedules CodeReviewMetricsWorker with params6125Users::AuthorizedBuildService6126 #execute6127 with non admin user6128 when user signup cap is set6129 does not set the user state to blocked_pending_approval for non human users6130 when setting provisioned_by_group_id6131 creates the user and sets provisioned_by_group_id6132 with a nil user6133 when email confirmation setting is set to `hard`6134 behaves like unsuccessful user domain matching6135 creates an unconfirmed user6136 with a group_id param6137 behaves like unsuccessful user domain matching6138 creates an unconfirmed user6139 when domain verification is available6140 when a matching verified domain is present in the group hierarchy6141 provider: "group_saml", expect_confirmed?: true6142 creates a user with proper confirmation6143 provider: "group_scim", expect_confirmed?: true6144 creates a user with proper confirmation6145 provider: "google_oauth2", expect_confirmed?: false6146 creates a user with proper confirmation6147 with various email address formats6148 when email domain case varies6149 behaves like successful user domain matching6150 creates a confirmed user6151 when the email address is invalid6152 behaves like unsuccessful user domain matching6153 creates an unconfirmed user6154 when no verified domains exist6155 behaves like unsuccessful user domain matching6156 creates an unconfirmed user6157Dora::Watchers::IssueWatcher6158 # order random6159 .mount6160 on issue close6161 calls for processing closed event6162 on issue reopen6163 calls for processing reopen event6164 on issue create6165 calls for processing created event6166 #process6167 when the issue is not an incident6168 does not schedule refresh worker6169 when there is not production environment6170 does not schedule refresh worker6171 when event is :closed6172 schedules metric refresh for closed_at date6173 when event is :reopened6174 schedules metric refresh for closed_at date6175 when event is :created6176 schedules metric refresh for created_at date6177Deployments::Approval6178 associations6179 is expected to belong to user required: false6180 is expected to belong to deployment required: false6181 is expected to belong to approval_rule class_name => ProtectedEnvironments::ApprovalRule required: false inverse_of => deployment_approvals6182 validations6183 is expected to validate that :user cannot be empty/falsy6184 is expected to validate that :user is case-sensitively unique within the scope of :deployment_id6185 is expected to validate that :deployment cannot be empty/falsy6186 is expected to validate that :status cannot be empty/falsy6187 is expected to validate that the length of :comment is at most 2556188Projects::ComplianceStandards::Adherence6189 # order random6190 enums6191 is expected to define :status as an enum backed by an integer with values ‹{success: 0, fail: 1}›6192 is expected to define :check_name as an enum backed by an integer with values ‹{prevent_approval_by_merge_request_author: 0, prevent_approval_by_merge_request_committers: 1, at_least_two_approvals: 2}›6193 is expected to define :standard as an enum backed by an integer with values ‹{gitlab: 0}›6194 associations6195 is expected to belong to project required: false6196 is expected to belong to namespace required: false6197 scopes6198 .for_projects6199 returns the adherence records for the specified projects6200 .for_check_name6201 returns the adherence records for the specified check_name6202 .for_standard6203 returns the adherence records for the specified standard6204 .for_group6205 returns the adherence records for the specified group6206 .for_group_and_its_subgroups6207 returns the adherence records for the specified group and its subgroups6208 validations6209 is expected to validate that :project is case-sensitively unique within the scope of :check_name and :standard, producing a custom validation error on failure6210 is expected to validate that :namespace cannot be empty/falsy6211 is expected to validate that :check_name cannot be empty/falsy6212 is expected to validate that :standard cannot be empty/falsy6213 is expected to validate that :status cannot be empty/falsy6214 namespace_is_group6215 when project belongs to a group6216 is valid6217 when project belongs to a user namespace6218 is invalid6219 when namespace is a subgroup6220 is valid6221Analytics::CycleAnalytics::DataLoaderService6222 validations6223 when wrong model is passed6224 returns service error response6225 when license is missing6226 returns service error response6227 when sub-group is given6228 returns service error response6229 data loading into stage tables6230 loads nothing for Issue model6231 loads nothing for MergeRequest model6232 when MergeRequest data is present6233 inserts stage records6234 inserts nothing for group outside of the hierarchy6235 when all records are processed6236 finishes with model_processed reason6237 when MAX_UPSERT_COUNT is reached6238 finishes with limit_reached reason6239 when runtime limit is reached6240 finishes with limit_reached reason6241 when cursor is given6242 continues processing the records from the cursor6243 when Issue data is present6244 inserts stage records6245EE::Gitlab::Scim::ProvisioningService6246 #execute6247 creates the SCIM identity6248 does not creates the SAML identity6249 when valid params6250 creates the user6251 creates the correct user attributes6252 user record requires confirmation6253 behaves like success response6254 contains a success status6255 contains an identity in the response6256 when the current minimum password length is different from the default minimum password length6257 creates the user6258 when invalid params6259 fails with error6260 fails with missing params6261 when invalid user params6262 does not return nil result6263 returns error response6264 for an existing user6265 does not create a new user6266 creates the SCIM identity6267 does not create the SAML identity6268 behaves like success response6269 contains a success status6270 contains an identity in the response6271 when invalid identity6272 does not return nil result6273 returns error response6274EE::IpRestrictions::UpdateService6275 #execute6276 for a group that has no ip restriction6277 with valid IP subnets6278 builds new ip_restriction records6279 builds new ip_restriction records with the provided ranges6280 for a group that already has ip restriction6281 with empty range6282 marks all existing ip_restriction records for destruction6283 with valid IP subnets6284 with an entirely new set of ranges6285 each range in the list is unique6286 builds new ip_restriction records with all of the specified ranges6287 behaves like removes all existing ip_restriction records6288 marks all the existing ip_restriction records for destruction6289 ranges in the list repeats6290 builds new ip_restriction records with only the unique ranges in the specified ranges6291 behaves like removes all existing ip_restriction records6292 marks all the existing ip_restriction records for destruction6293 replacing one of the existing range with another6294 marks the ip_restriction record of the replaced range for destruction6295 retains the ip_restriction record of the other existing range6296 builds a new ip_restriction record with the newly specified range6297 #log_audit_event6298 when new ranges are different from old ranges6299 logs ip_restrictions_changed event6300 when license doesn't allow auditing6301 doesn't log any events6302 when new ranges are the same as old ranges6303 doesn't log any events6304 when log is called without prior execute6305 raises an error6306Deployments::AutoRollbackService6307 #execute6308 successfully rolls back a deployment6309 when RetryJobService fails to retry the deployable6310 behaves like rollback failure6311 returns an error6312 when auto_rollback checkbox is disabled on the project6313 behaves like rollback failure6314 returns an error6315 when project does not have an sufficient license6316 behaves like rollback failure6317 returns an error6318 when there are running deployments6319 behaves like rollback failure6320 returns an error6321 when auto rollback was triggered recently6322 behaves like rollback failure6323 returns an error6324 when there are no deployments on the environment6325 behaves like rollback failure6326 returns an error6327 when there are no deployed commits in the repository6328 behaves like rollback failure6329 returns an error6330 when rollback target's deployable is not available6331 behaves like rollback failure6332 returns an error6333 when rollback target's deployable is not retryable6334 behaves like rollback failure6335 returns an error6336 when the user who performed deployments is no longer a project member6337 raises an error6338RemoteDevelopment::Workspaces::Reconcile::Persistence::WorkspacesFromAgentInfosUpdater6339 # order random6340 returns persisted workspaces6341 when persisted workspace desired_state is RESTART_REQUESTED and actual_state is STOPPED6342 sets persisted workspace desired state to RUNNING6343 when persisted workspace created_at + max_hours_before_termination.hours < Time.current6344 sets persisted workspace desired state to TERMINATED6345Types::Admin::CloudLicenses::CurrentLicenseType6346 is expected to eq "CurrentLicense"6347 is expected to include graphql fields "last_sync", "billable_users_count", "maximum_user_count", and "users_over_license_count"6348 with license type fields6349 is expected to include graphql fields "id", "type", "plan", "name", "email", "company", "starts_at", "expires_at", "block_changes_at", "activated_at", and "users_in_license_count"6350 field values6351 id6352 is expected to include "5"6353 type6354 is expected to eq "online_cloud"6355 plan6356 is expected to eq "ultimate"6357 name6358 is expected to eq "User Example"6359 email6360 is expected to eq "user@example.com"6361 company6362 is expected to eq "Example Inc."6363 starts_at6364 is expected to eq Wed, 10 May 20236365 expires_at6366 is expected to eq Fri, 10 May 20246367 block_changes_at6368 is expected to eq Mon, 10 Jun 20246369 activated_at6370 is expected to eq Sat, 10 Jun 2023 12:45:22.000000000 +00006371 users_in_license_count6372 is expected to eq 256373 created_at6374 is expected to eq 2023-08-10 12:45:22.946392799 +00006375 #users_over_license_count6376 returns the number of users over the paid users in the license6377 when license is for a trial6378 returns 06379 field values6380 last_sync6381 is expected to eq 2023-08-10 12:45:22.811659542 +00006382 billable_users_count6383 is expected to eq 106384 maximum_user_count6385 is expected to eq 206386Mutations::Vulnerabilities::BulkDismiss6387 # order random6388 #resolve6389 does not introduce N+1 errors6390Gitlab::Insights::Executors::DoraExecutor6391 when Dora::AggregateMetricsService fails6392 raises an error6393 when executing for a group6394 behaves like serialized_data examples6395 returns correctly aggregated data6396 when requesting the lead_time_for_changes metric6397 behaves like serialized_data examples6398 returns correctly aggregated data6399 when requesting the change_failure_rate metric6400 behaves like serialized_data examples6401 returns correctly aggregated data6402 when filtering environment tiers6403 behaves like serialized_data examples6404 returns correctly aggregated data6405 when filtering projects6406 when filtering by id6407 behaves like serialized_data examples6408 returns correctly aggregated data6409 when filtering by full path6410 behaves like serialized_data examples6411 returns correctly aggregated data6412 when unknown group_by is given6413 raises error6414 when unknown chart type is given6415 raises error6416 when executing for a project6417 behaves like serialized_data examples6418 returns correctly aggregated data6419 when filtering projects6420 when filtering by id6421 behaves like serialized_data examples6422 returns correctly aggregated data6423 when filtering out the current project6424 behaves like serialized_data examples6425 returns correctly aggregated data6426 when period_limit is a string6427 returns correctly aggregated data6428 when is a invalid string6429 uses default of 156430RemoteMirror6431 validations6432 when enabling only_protected_branches and mirror_branch_regex6433 is invalid6434 when disable only_protected_branches and enable mirror_branch_regex6435 is valid6436 is invalid with invalid regex6437 #sync6438 as a Geo secondary6439 returns nil6440 #only_mirror_protected_branches_column6441 returns true as only_protected_branches enabled6442 returns false as only_protected_branches return6443 #options_for_update6444 when mirror_branch_regex is set6445 only sync matched and recently updated branch6446Gitlab::Analytics::CycleAnalytics::StageEvents::MergeRequestLastEdited6447 behaves like value stream analytics event6448 is expected to be a kind of String6449 is expected to be a kind of Symbol6450 is expected to include ApplicationRecord(abstract)6451 is expected to respond to #timestamp_projection6452 is expected to respond to #html_description6453 is expected to be a kind of Array6454 #apply_query_customization6455 expects an ActiveRecord::Relation object as argument and returns a modified version of it6456 #hash_code6457 returns a hash that uniquely identifies an event6458 does not differ when the same object is built with the same params6459 behaves like LEFT JOIN-able value stream analytics event6460 can use the event as LEFT JOIN6461 when looking at the record with data6462 contains the timestamp expression6463 when looking at the record without data6464 returns nil for the timestamp expression6465Projects::GroupLinks::DestroyService6466 audit events6467 sends the audit streaming event6468 when licensed6469 does not log audit event if operation fails6470 does not log audit event if operation results in no change6471 when operation succeeds6472 logs an audit event6473 logs the audit event info6474 calls the audit method with the event type6475 when not licensed6476 does not log audit event6477Gitlab::Geo::Oauth::Session6478 #authorized_url6479 returns a valid url to the primary node6480 secondary is configured with relative URL6481 does not include secondary relative URL path6482 primary is configured with a different internal URL6483 uses the external URL for the authorize redirect6484 #authenticate6485 on success6486 returns hashed user data6487 on invalid token6488 raises exception6489 primary is configured with relative URL6490 includes primary relative URL path6491 #get_token6492 primary is configured with relative URL6493 makes the request to a primary's relative URL6494EE::API::Entities::GeoNodeStatus6495 #healthy6496 when node is healthy6497 returns true6498 when node is unhealthy6499 returns false6500 #health6501 when node is healthy6502 exposes the health message6503 when node is unhealthy6504 exposes the error message6505 #job_artifacts_synced_in_percentage6506 formats as percentage6507 #container_repositories_synced_in_percentage6508 formats as percentage6509 #design_repositories_synced_in_percentage6510 formats as percentage6511 #repositories_synced_in_percentage6512 formats as percentage6513 #replication_slots_used_in_percentage6514 formats as percentage6515 #namespaces6516 returns empty array when full sync is active6517 returns array of namespace ids and paths for selective sync6518 #storage_shards6519 returns the config6520 secondary Geo node6521 is expected to have key :storage_shards6522 is expected to have key :storage_shards_match6523Projects::WikiRepository6524 # order random6525 associations6526 is expected to have one wiki_repository_state class_name => Geo::WikiRepositoryState inverse_of => project_wiki_repository6527 when Geo is disabled6528 #save_verification_details6529 when model_record is part of verifiables scope6530 doesn't create verification details6531 on a primary node6532 .with_verification_state6533 returns records with given scope6534 .checksummed6535 returns records with given scope6536 .not_checksummed6537 returns records with given scope6538 #save_verification_details6539 when model record is not part of verifiables scope6540 does not create verification details (PENDING: Skipping because all Project Wiki Repositories are records that can be checksummed)6541 when model_record is part of verifiables scope6542 creates verification details6543 behaves like a project has a custom repo6544 .replicables_for_current_secondary6545 without selective sync6546 returns all replicables6547 with selective sync by namespace6548 returns replicables that belong to the namespaces6549 excludes replicables outside the primary key ID range6550 with selective sync by shard6551 returns replicables that belong to the shards6552 excludes replicables outside the primary key ID range6553EE::EnvironmentSerializer6554 behaves like avoid N+1 on environments serialization6555 avoids N+1 database queries with grouping6556 avoids N+1 database queries without grouping6557 does not preload for environments that does not exist in the page6558Mutations::MergeRequests::SetReviewers6559 #resolve6560 when the user can update the merge_request6561 sets the reviewers6562 removes reviewers not in the list6563 when passing "append" as true6564 does not remove reviewers not in the list6565ForkTargetsFinder6566 #execute6567 when project root group prohibits outer forks6568 when it is configured on saml level6569 returns namespaces with the same root group as project one only6570 when project root does not prohibit outer forks6571 returns outer namespaces as well as inner6572 when it is configured on group level6573 when project root prohibits outer forks6574 returns namespaces with the same root group as project one only6575 when project root does not prohibit outer forks6576 returns outer namespaces as well as inner6577Licenses::DestroyService6578 raises an error if license is nil6579 raises an error if the user is not an admin6580 when admin mode is enabled6581 behaves like license destroy6582 destroys a license6583 behaves like clear future subscriptions application setting6584 clears the future_subscriptions application setting6585 with cloud license6586 behaves like license destroy6587 destroys a license6588 behaves like clear future subscriptions application setting6589 clears the future_subscriptions application setting6590 with an active license that is not the current one6591 does not clear the future_subscriptions application setting6592 behaves like license destroy6593 destroys a license6594 when admin mode is disabled6595 raises not allowed error6596Abuse::NewAbuseReportWorker6597 # order random6598 behaves like an idempotent worker6599 is labeled as idempotent6600 performs multiple times sequentially without raising an exception6601 when reporter is a gitlab employee6602 when the user is a member of a namespace with a paid plan trial subscription6603 behaves like bans user6604 bans the user6605 when the user is a member of a namespace with a paid plan subscription6606 behaves like does not ban user6607 does not ban the user6608 when the user is on a free plan6609 when the user is human6610 behaves like bans user6611 bans the user6612 when the user is not human6613 behaves like does not ban user6614 does not ban the user6615 when the user is not active6616 behaves like does not ban user6617 does not ban the user6618 when the user is not found6619 does not start a transaction6620 when the user is a gitlab employee6621 behaves like does not ban user6622 does not ban the user6623 when the user age is greater than 7 days6624 behaves like does not ban user6625 does not ban the user6626 when user owns namespaces with more than five members6627 behaves like does not ban user6628 does not ban the user6629 when reporter is not a gitlab employee6630 behaves like does not ban user6631 does not ban the user6632 when the abuse report is not found6633 returns early6634 when there is an error executing ban6635 does not emit an application log6636Custom URLs Subscription Portal6637 # order random6638 subscription_portal_payment_form_url6639 is expected to eq "https://customers.staging.gitlab.com/payment_forms/cc_validation"6640 subscription_portal_graphql_url6641 is expected to eq "https://customers.staging.gitlab.com/graphql"6642 subscription_portal_more_storage_url6643 is expected to eq "https://customers.staging.gitlab.com/buy_storage"6644 subscription_portal_manage_url6645 is expected to eq "https://customers.staging.gitlab.com/subscriptions"6646 subscription_portal_more_minutes_url6647 is expected to eq "https://customers.staging.gitlab.com/buy_pipeline_minutes"6648 subscription_portal_add_extra_seats_url6649 is expected to eq "https://customers.staging.gitlab.com/gitlab/namespaces/153/extra_seats"6650 subscription_portal_edit_account_url6651 is expected to eq "https://customers.staging.gitlab.com/customers/edit"6652 subscription_portal_gitlab_plans_url6653 is expected to eq "https://customers.staging.gitlab.com/gitlab_plans"6654 subscriptions_comparison_url6655 is expected to match /\Ahttps:\/\/about\.gitlab\.((cn\/pricing\/saas)|(com\/pricing\/gitlab-com))\/feature-comparison\z/6656 subscription_portal_registration_validation_form_url6657 is expected to eq "https://customers.staging.gitlab.com/payment_forms/cc_registration_validation"6658 subscription_portal_renew_subscription_url6659 is expected to eq "https://customers.staging.gitlab.com/gitlab/namespaces/153/renew"6660 subscription_portal_upgrade_subscription_url6661 is expected to eq "https://customers.staging.gitlab.com/gitlab/namespaces/153/upgrade/5"6662 subscription_portal_legacy_sign_in_url6663 is expected to eq "https://customers.staging.gitlab.com/customers/sign_in?legacy=true"6664Jira::JqlBuilderService6665 #execute6666 when no params6667 builds jql with default ordering6668 with special characters in project key6669 escapes quotes and backslashes6670 with search param6671 builds jql6672 search param with single qoutes6673 builds jql6674 search param with single double qoutes6675 builds jql6676 search param with special characters6677 builds jql6678 with labels param6679 builds jql6680 with status param6681 builds jql6682 with author_username param6683 builds jql6684 with assignee_username param6685 builds jql6686 with sort params6687 builds jql6688 with opened state param6689 builds jql6690 with closed state param6691 builds jql6692 with any other state param6693 builds jql6694 with vulnerability_ids params6695 builds jql6696 with issue_ids params6697 builds jql6698Banzai::Filter::References::LabelReferenceFilter6699 with scoped labels enabled6700 with a scoped label6701 renders scoped label6702 renders HTML tooltips6703 escapes HTML in the label's title6704 with a common label6705 renders common label6706 renders non-HTML tooltips6707 with scoped labels disabled6708 renders scoped label as a common label6709Users::ServiceAccounts::CreateService6710 # order random6711 when the current user is not an admin6712 behaves like service account creation failure6713 produces an error6714 when current user is an admin6715 behaves like service account creation failure6716 produces an error6717 when the feature is available6718 correctly returns active model errors6719 behaves like service account creation success6720 creates a service account successfully6721 check email domain6722 contains SecureRandom part6723 email name is the same as username6724 when conflicts6725 when username is reserved6726 when username is reserved by user6727 uniquifies username and email6728 when it conflicts with top-level group namespace6729 uniquifies username and email6730 when it conflicts with top-level group namespace that includes upcased characters6731 uniquifies username and email6732 when email is reserved6733 when it conflicts with confirmed primary email6734 uniquifies username and email6735 when it conflicts with unconfirmed primary email6736 uniquifies username and email6737 when it conflicts with confirmed secondary email6738 uniquifies username and email6739 when email and username is reserved6740 uniquifies username and email6741Gitlab::Auth::Smartcard::Certificate6742 #find_or_create_user6743 user and smartcard identity already exist6744 behaves like an existing user6745 finds existing user6746 does not create new user6747 user exists but smartcard identity does not6748 associates the new smartcard identity with the user6749 behaves like an existing user6750 finds existing user6751 does not create new user6752 behaves like a new smartcard identity6753 creates smartcard identity6754 user exists but it is using a new smartcard6755 keeps both identities for the user6756 behaves like an existing user6757 finds existing user6758 does not create new user6759 behaves like a new smartcard identity6760 creates smartcard identity6761 user and smartcard identity do not exist6762 calls Users::BuildService with correct params6763 behaves like creates user6764 is expected to eql "gitlab-user@random-corp.org"6765 when the current minimum password length is different from the default minimum password length6766 behaves like creates user6767 is expected to eql "gitlab-user@random-corp.org"6768 behaves like a new smartcard identity6769 creates smartcard identity6770 username generation6771 uses CN from certificate6772 creates user with correct username6773 avoids conflicting namespaces6774 creates user with correct usnername6775 san email defined6776 creates user6777 behaves like a valid certificate is required6778 invalid certificate6779 returns nil6780 incorrect certificate6781 returns nil6782 behaves like a certificate store6783 .store6784 loads CA bundle6785 uses correct method6786 without valid CA file6787 raises error6788Sidebars::Projects::Menus::TrialWidgetMenu6789 # order random6790 behaves like trial widget menu items6791 #render?6792 trials_available: true, trial_active: true, user_can_admin_group: true6793 is expected to eq true6794 trials_available: true, trial_active: true, user_can_admin_group: false6795 is expected to eq false6796 trials_available: true, trial_active: false, user_can_admin_group: true6797 is expected to eq false6798 trials_available: true, trial_active: false, user_can_admin_group: false6799 is expected to eq false6800 trials_available: false, trial_active: true, user_can_admin_group: true6801 is expected to eq false6802 trials_available: false, trial_active: true, user_can_admin_group: false6803 is expected to eq false6804 trials_available: false, trial_active: false, user_can_admin_group: true6805 is expected to eq false6806 trials_available: false, trial_active: false, user_can_admin_group: false6807 is expected to eq false6808 #menu_partial_options6809 provides expected options6810Gitlab::Geo::JwtRequestDecoder6811 #decode6812 decodes correct data6813 fails to decode when node is disabled6814 decodes when node is disabled if `include_disabled!` is called first6815 fails to decode with wrong key6816 successfully decodes when clocks are off6817 raises InvalidSignatureTimeError after expiring6818 raises InvalidSignatureTimeError to decode when clocks are not in sync6819 surfaces raised errors6820 raised_error: Gitlab::Geo::InvalidDecryptionKeyError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError6821 raises expected error6822 raised_error: OpenSSL::Cipher::CipherError, expected_error: Gitlab::Geo::InvalidDecryptionKeyError6823 raises expected error6824 #valid_attributes?6825 returns true when all given attributes and decoded data are all the same6826 returns true when given attributes is a slice of decoded data6827 returns false when one given data doesnt match its corresponding decoded one6828Gitlab::Ci::Config::Entry::AzureKeyVault::Secret6829 # order random6830 when entry value is not correct6831 #errors6832 when there is an unknown key present6833 reports error6834 when name is not present6835 reports error6836 when config is not a hash6837 reports error6838 validation6839 when entry config value is correct6840 when version is not nil6841 behaves like config is a hash and valid6842 when config is a hash6843 #value6844 returns Vault secret configuration6845 #valid?6846 is valid6847 when version is nil6848 behaves like config is a hash and valid6849 when config is a hash6850 #value6851 returns Vault secret configuration6852 #valid?6853 is valid6854 when version is not defined6855 #value6856 returns Vault secret configuration6857 #valid?6858 is valid6859Groups::MarkForDeletionService6860 marking the group for deletion6861 with user that can admin the group6862 for a group that has not been marked for deletion6863 marks the group for deletion6864 returns success6865 marking for deletion fails6866 returns error6867 for a group that has been marked for deletion6868 does not change the attributes associated with delayed deletion6869 returns error6870 audit events6871 logs audit event6872 with a user that cannot admin the group6873 does not mark the group for deletion6874 returns error6875 audit events6876 does not log audit event6877PackageMetadata::AffectedPackageDataObject6878 # order random6879 .create6880 is expected to be a kind of PackageMetadata::AffectedPackageDataObject6881 is expected to match (have attributes {:affected_range => "(,0.7.0]", :fixed_versions => ["0.8"], :package_name => "org.jenkins-ci.plugins/google-kubernetes-engine", :purl_type => "npm", :solution => "Upgrade to version 0.8 or above."})6882 when an attribute is missing6883 attribute: :distro_version, required: false6884 is expected not to raise Exception6885 attribute: :solution, required: false6886 is expected not to raise Exception6887 attribute: :fixed_versions, required: false6888 is expected not to raise Exception6889 attribute: :name, required: true6890 is expected to raise ArgumentError6891 attribute: :affected_range, required: true6892 is expected to raise ArgumentError6893Projects::RepositoryDestroyWorker6894 # order random6895 #perform6896 destroy repository6897 behaves like an idempotent worker6898 is labeled as idempotent6899 performs multiple times sequentially without raising an exception6900 when project does not exist6901 does not destroy repository6902Gitlab::EtagCaching::Router::Rails6903 matches epic notes endpoint6904 does not match invalid epic notes endpoint6905 matches epic realtime_changes endpoint6906 does not match invalid epic notes endpoint6907 has a valid feature category for every route6908 .cache_key6909 returns a cache key6910Elastic::NamespaceUpdate6911 # order random6912 when changing parent_id6913 does not enqueue Elastic::NamespaceUpdateWorker6914 when elastic indexing is enabled6915 enqueues Elastic::NamespaceUpdateWorker6916 when transfering a group6917 enqueues Elastic::NamespaceUpdateWorker when changing parent from nil6918 enqueues Elastic::NamespaceUpdateWorker when changing parent to nil6919 when transfering a project6920 enqueues Elastic::NamespaceUpdateWorker when changing parent6921ProtectedEnvironments::SearchService#execute6922 with empty search6923 returns unfiltered unprotected environments6924 with specific search6925 returns specific unprotected environments and matches case insensitively6926 when no match6927 returns an empty array6928SystemCheck::Geo::HttpConnectionCheck6929 skip?6930 skips when Geo is disabled6931 skips when Geo is enabled but its a primary node6932 multi_check6933 connection success6934 puts yes if check works6935 redirects6936 connection succeeds after 9 redirects6937 puts yes6938 connection would succeed after 10 redirects6939 puts no6940 connection errored6941 puts no if check errored6942 connection exceptions6943 calls try_fixing_it for econnrefused6944 calls try_fixing_it for econnrefused6945 calls try_fixing_it for openssl errors6946MergeRequest6947 # order random6948 #can_suggest_reviewers?6949 when open6950 is expected to equal true6951 when modified_paths is empty6952 is expected to equal false6953 when not open6954 is expected to equal false6955 #suggested_reviewer_users6956 when predictions is nil6957 behaves like blank suggestions6958 returns an empty relation6959 when predictions is not nil6960 when predictions is a non hash6961 behaves like blank suggestions6962 returns an empty relation6963 when predictions is an empty hash6964 behaves like blank suggestions6965 returns an empty relation6966 when suggests a user who is not a member6967 behaves like blank suggestions6968 returns an empty relation6969 when suggests users who are members6970 when a user is inactive6971 returns only active human users6972 when all users are active6973 returns human users in correct suggested order6974Types::VulnerabilityRequestType6975 is expected to eq "VulnerabilityRequest"6976 is expected to have graphql fields :body, :method, :url, and :headers6977 checking field contents6978 evidence.request fields6979 checks the contents of the fields6980 evidence.supportingMessages[].request fields6981 checks the contents of the fields6982Llm::SummarizeSubmittedReviewService6983 # order random6984 #perform6985 behaves like completion worker sync and async6986 when running synchronously6987DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and6988from Rails 7.1 will use the default Ruby implementation.6989You can set `config.active_support.remove_deprecated_time_with_zone_name = true`6990to enable the new behavior now.6991 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)6992DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and6993from Rails 7.1 will use the default Ruby implementation.6994You can set `config.active_support.remove_deprecated_time_with_zone_name = true`6995to enable the new behavior now.6996 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)6997 worker runs synchronously6998 when running asynchronously6999DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and7000from Rails 7.1 will use the default Ruby implementation.7001You can set `config.active_support.remove_deprecated_time_with_zone_name = true`7002to enable the new behavior now.7003 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)7004DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and7005from Rails 7.1 will use the default Ruby implementation.7006You can set `config.active_support.remove_deprecated_time_with_zone_name = true`7007to enable the new behavior now.7008 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)7009 worker runs asynchronously with correct params7010 triggers graphql subscription message7011 behaves like llm service does not cache user request7012DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and7013from Rails 7.1 will use the default Ruby implementation.7014You can set `config.active_support.remove_deprecated_time_with_zone_name = true`7015to enable the new behavior now.7016 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)7017DEPRECATION WARNING: ActiveSupport::TimeWithZone.name has been deprecated and7018from Rails 7.1 will use the default Ruby implementation.7019You can set `config.active_support.remove_deprecated_time_with_zone_name = true`7020to enable the new behavior now.7021 (called from execute_all at /builds/gitlab-org/gitlab/lib/gitlab/graphql/subscriptions/action_cable_with_load_balancing.rb:16)7022 does not cache the request7023 when user is not member of project group7024 is expected to be error and have attributes {:message => (eq "AI features are not enabled or resource is not permitted to be sent.")}7025 when general feature flag is disabled7026 is expected to be error and have attributes {:message => (eq "AI features are not enabled or resource is not permitted to be sent.")}7027 when resource is not a merge_request7028 is expected to be error and have attributes {:message => (eq "AI features are not enabled or resource is not permitted to be sent.")}7029 when user has no ability to summarize_submitted_review7030 is expected to be error and have attributes {:message => (eq "AI features are not enabled or resource is not permitted to be sent.")}7031Container-Scanning.latest.gitlab-ci.yml7032 # order random7033 the created pipeline7034 when project has no license7035 when branch pipeline7036 includes job7037 when MR pipeline7038 creates a pipeline with the expected jobs7039 with CS_MAJOR_VERSION greater than 37040 includes job7041 when CONTAINER_SCANNING_DISABLED=17042 includes no jobs7043 when CONTAINER_SCANNING_DISABLED="true"7044 includes no jobs7045 when CONTAINER_SCANNING_DISABLED="false"7046 includes job7047Epics::RelatedEpicEntity7048 #to_json7049 when user can admin_epic_relation on target epic7050 matches json schema7051 returns relation_path7052 when user cannot admin_epic_relation on target epic7053 matches json schema7054 returns null relation_path7055ApproverGroup7056 is expected to be valid7057 .filtered_approver_groups7058 is expected to contain exactly #<ApproverGroup id: 2, target_id: 1513, target_type: "Project", group_id: 5509, created_at: "2023-08-10 12:46:36.553176272 +0000", updated_at: "2023-08-10 12:46:36.553176272 +0000">7059 when user has access to private group7060 is expected to contain exactly #<ApproverGroup id: 4, target_id: 1514, target_type: "Project", group_id: 5513, created_at: "2023-08-10 12:46:37.075885054 +0000", updated_at: "2023-08-10 12:46:37.075885054 +0000"> and #<ApproverGroup id: 5, target_id: 1514, target_type: "Project", group_id: 5512, created_at: "2023-08-10 12:46:37.104605951 +0000", updated_at: "2023-08-10 12:46:37.104605951 +0000">7061Projects::AfterRenameService7062 #execute7063 when running on a primary node7064 logs the Geo::RepositoryRenamedEvent for project backed by hashed storage7065 logs the Geo::RepositoryRenamedEvent for project backed by legacy storage7066PostReceiveService7067 Geo7068 when the push was redirected from a Geo secondary to the primary7069 includes a message advising a redirection occurred7070 when the secondary has a GeoNodeStatus7071 when the GeoNodeStatus db_replication_lag_seconds is greater than 07072 includes current Geo secondary lag in the output7073 when the GeoNodeStatus db_replication_lag_seconds is 07074 does not include current Geo secondary lag in the output7075 when the GeoNodeStatus db_replication_lag_seconds is nil7076 does not include current Geo secondary lag in the output7077 when the secondary does not have a GeoNodeStatus7078 does not include current Geo secondary lag in the output7079 when the push was not redirected from a Geo secondary to the primary7080 does not include current Geo secondary lag in the output7081 storage size limit alerts7082 when there is no alert7083 returns no messages7084 when there is an alert7085 when repository size limit enforcement7086 returns warning message when under storage limit7087 when a project in the namespace is over the limit7088 returns error message7089 when namespace size limit enforcement7090 with a personal namespace7091 returns warning message7092 with a group namespace7093 returns warning message7094Gitlab::Ci::Parsers::Security::Validators::DefaultBranchImageValidator7095 #valid?7096 when image name is blank7097 is expected to equal false7098 when image name is present7099 when there is no vulnerability with given location for project7100 is expected to equal false7101 queries database only once per image name7102 when there is at least one vulnerability with given location for project7103 is expected to equal true7104 queries database only once per image name7105ComplianceManagement::Standards::Gitlab::PreventApprovalByCommitterService7106 # order random7107 #execute7108 when project belongs to user namespace7109 returns unavailable for user namespace error7110 when group_level_compliance_dashboard feature is not available7111 returns feature not available error7112 when group_level_compliance_dashboard feature is available7113 when merge request committers approval is enabled for the project7114 sets prevent approval by merge request committers check as fail7115 when merge request committers approval is disabled for the project7116 sets prevent approval by merge request author check as success7117 when ActiveRecord::RecordInvalid is raised7118 retries in case of race conditions7119 does not retry for other scenarios7120Security::SecurityOrchestrationPolicies::ScanPipelineService7121 #execute7122 when there is an invalid action7123 does not create scan job7124 when there is only one action7125 behaves like creates scan jobs7126 returns created jobs7127 when action contains variables7128 parses variables from the action and applies them in configuration service7129 when action contains variables that are not allowed7130 ignores variables from the action and does not apply them in configuration service7131 when base variables are provided when initializing the service7132 ignores variables from the action and does not apply them in configuration service7133 when there are multiple actions7134 behaves like creates scan jobs7135 returns created jobs7136 when there are valid and invalid actions7137 behaves like creates scan jobs7138 returns created jobs7139LicenseHelper7140 #current_license_title7141 when there is a current license7142 returns the plan titleized if it has a plan associated to it7143 returns the default title if it does not have a plan associated to it7144 when there is NOT a current license7145 returns the default title7146 #seats_calculation_message7147 and guest are excluded from the active count7148 returns the message7149 and guest are NOT excluded from the active count7150 returns nil7151 #licensed_users7152 with a restricted license count7153 returns a number as string7154 without a restricted license count7155 returns Unlimited7156 #cloud_license_view_data7157 when there is a current license7158 returns the data for the view7159 when there is no current license7160 returns the data for the view7161 #show_promotions?7162 without a user7163 is expected to eq false7164 with a user7165 on saas7166 is expected to eq true7167 when gitlabdotcom returns false7168 is expected to eq false7169 on EE7170 with hide on self managed true7171 is expected to eq false7172 without a valid license7173 is expected to eq true7174 with a valid license7175 expired license7176 is expected to eq true7177 non expired license7178 is expected to eq false7179BoardAssignee7180 relationships7181 is expected to belong to board required: false7182 is expected to belong to assignee class_name => User required: false7183 validations7184 is expected to validate that :board cannot be empty/falsy7185 is expected to validate that :assignee cannot be empty/falsy7186InstanceSecurityDashboardPolicy7187 read_instance_security_dashboard7188 when the user is not logged in7189 is expected not to be allowed :read_instance_security_dashboard and :read_security_resource7190 when the user is logged in7191 is expected to be allowed :read_instance_security_dashboard and :read_security_resource7192 create_vulnerability_export7193 when the user is not logged in7194 is expected not to be allowed :create_vulnerability_export7195 when the user is logged in7196 is expected to be allowed :create_vulnerability_export7197 read_cluster7198 when the user is not logged in7199 is expected not to be allowed :read_cluster7200 when the user is logged in7201 is expected to be allowed :read_cluster7202WorkItems::WorkItemsFinder7203 # order random7204 when filtering work items7205 with status widget7206 returns correct results7207 with legacy requirement widget7208 returns correct results7209Identity7210 relations7211 is expected to belong to saml_provider required: false7212 with saml_provider7213 allows user to have records with different groups7214 doesn't allow NameID/extern_uid to be blank7215 with enforced_group_managed_accounts7216 when managing_group matches saml_provider group7217 is expected to be valid7218 when managing_group does not match provider group7219 is not valid7220AppSec::Dast::SiteProfiles::Audit::UpdateService7221 #execute7222 audits the changes in the given properties7223 omits the values for secret properties7224 omits the values for properties too long to be displayed7225 sorts properties that are arrays before comparing them7226ComplianceManagement::Standards::Gitlab::PreventApprovalByAuthorGroupWorker7227 # order random7228 #perform7229 for non existent group7230 does not enqueue PreventApprovalByAuthorWorker7231 for non existent user7232 enqueues PreventApprovalByAuthorWorker7233 behaves like an idempotent worker7234 is labeled as idempotent7235 performs multiple times sequentially without raising an exception7236Gitlab::Ci::Config::Entry::Job7237 .nodes7238 when filtering all the entry/node names7239 is expected to include :dast_configuration and :secrets7240 validations7241 when entry value is correct7242 when has secrets7243 behaves like a valid entry7244 #valid?7245 is valid7246 when has dast_configuration7247 behaves like a valid entry7248 #valid?7249 is valid7250 when entry value is not correct7251 when has needs7252 when needs is bridge type7253 behaves like an invalid entry7254 reports error7255 when has invalid dast_configuration7256 behaves like an invalid entry7257 reports error7258 when has invalid secrets7259 behaves like an invalid entry7260 reports error7261 dast_configuration7262 includes dast_profile value7263 secrets7264 includes secrets value7265Boards::EpicLists::DestroyService7266 when user does not have permission7267 returns an error7268 when user has permission7269 behaves like lists destroy service7270 does not remove list from board when list type is closed7271 when list type is label7272 removes list from board7273 decrements position of higher lists7274 when epic feature is unavailable7275 returns an error7276Types::MergeRequestType7277 is expected to have graphql fields :approvals_required, :merge_trains_count, :approval_state, and :finding_reports_comparer7278 is expected to have graphql field :approved and {:calls_gitaly?=>true, :complexity=>2}7279 is expected to have graphql field :approvals_left and {:calls_gitaly?=>true, :complexity=>2}7280 is expected to have graphql field :has_security_reports and {:calls_gitaly?=>true}7281 is expected to have graphql field :security_reports_up_to_date_on_target_branch and {:calls_gitaly?=>true}7282 is expected to have graphql field :suggested_reviewers7283 is expected to have graphql field :diff_llm_summaries7284 is expected to have graphql field :merge_request_diffs7285 #merge_trains_count7286 when merge trains are disabled7287 the count is null7288 when merge trains are enabled7289 gets the count7290Projects::HashedStorage::MigrateAttachmentsService7291 #execute7292 on success7293 returns true7294 creates a Geo::HashedStorageAttachmentsEvent7295 on failure7296 does not create a Geo event when skipped7297 does not create a Geo event on failure7298Mutations::Boards::Update7299 is expected to require graphql authorizations :admin_issue_board7300 #resolve7301 when the user cannot admin the board7302 raises an error7303 when user can update board7304 updates board with correct values7305 when passing current iteration7306 updates board with current iteration7307 when updating only iteration_cadence7308 updates iteration cadence7309 when passing labels param7310 updates board with correct labels7311 #ready7312 when passing both labels & label_ids param7313 raises exception when mutually exclusive params are given7314AuditEvents::Streaming::InstanceHeaders::UpdateService7315 # order random7316 #execute7317 behaves like header updation7318 when header updation is successful7319 has the header in the response payload7320 updates the header7321 with audit events7322 sends the audit streaming event7323 with license feature external_audit_events7324 when both key and value are updated7325 creates audit event7326 when only the header value is updated7327 has a audit message reflecting just the value was changed7328 when neither key nor value is updated7329 behaves like does not create audit event7330 is expected to not change `AuditEvent.count`7331 when header updation is unsuccessful7332 does not update the header7333 has an error response7334 behaves like does not create audit event7335 is expected to not change `AuditEvent.count`7336Gitlab::Usage::Metrics::Instrumentations::CountApprovalProjectRulesMetric7337 # order random7338 with all time frame7339 behaves like a correct instrumented metric value and query7340 behaves like a correct instrumented metric value7341 has correct value7342 behaves like a correct instrumented metric query7343 has correct generate query7344Gitlab::Usage::Metrics::Instrumentations::CountGroupsWithAssignedSecurityPolicyProjectMetric7345 # order random7346 behaves like a correct instrumented metric value and query7347 behaves like a correct instrumented metric value7348 has correct value7349 behaves like a correct instrumented metric query7350 has correct generate query7351 behaves like a correct instrumented metric value and query7352 behaves like a correct instrumented metric value7353 has correct value7354 behaves like a correct instrumented metric query7355 has correct generate query7356Approvals::WrappedRuleSet7357 .wrap7358 with report_type set to scan_finding7359 is expected to be an instance of Approvals::ScanFindingWrappedRuleSet7360 with any other report_type7361 is expected to be an instance of Approvals::WrappedRuleSet7362 #wrapped_rules7363 returns an array of ApprovalWrappedRule7364 returns ApprovalWrappedRule with attributes as provided to Approvals::WrappedRuleSet7365Analytics::CycleAnalytics::ConsistencyWorker7366 invokes the consistency check service for merge requests7367 when no pending aggregation records present7368 does nothing7369 when pending aggregation records present7370 invokes the consistency services7371 when worker is over time7372 breaks at the second iteration due to overtime, saving cursor information7373 when the service runs out of time7374 stops while processing a batch, saving cursor information, and restart from where it left on the next run7375 when the end_event_timestamp is nil7376 does not raise missing cursor value error7377Plan7378 #paid?7379 when 'default'7380 is expected to be falsey7381 when 'free'7382 is expected to be falsey7383 when 'bronze'7384 is expected to be truthy7385 when 'silver'7386 is expected to be truthy7387 when 'premium'7388 is expected to be truthy7389 when 'gold'7390 is expected to be truthy7391 when 'ultimate'7392 is expected to be truthy7393 when 'ultimate_trial'7394 is expected to be truthy7395 when 'premium_trial'7396 is expected to be truthy7397 when 'opensource'7398 is expected to be truthy7399 ::PLANS_ELIGIBLE_FOR_TRIAL7400 is expected to eq ["default", "free"]7401 #open_source?7402 when is opensource7403 is expected to be truthy7404 when is not opensource7405 is expected to be falsey7406BulkImports::Common::Pipelines::BoardsPipeline7407 #run7408 imports group boards into destination group and removes tmpdir7409Gitlab::Llm::Chain::Answer7410 # order random7411 .from_response7412 returns intermediate answer with parsed values and a tool7413 when parsed response is final7414 returns final answer7415 when tool is nil7416 returns final answer with default response7417 when response is empty7418 returns final answer with default response7419 when tool does not contain any of expected keyword7420 returns final answer with default response7421Projects::Operations::UpdateService7422 #execute7423 status page setting7424 with valid params7425 with an existing setting7426 updates the setting7427 with aws key and secret blank7428 destroys the status_page_setting entry in DB7429 with not all keys blank7430 returns a validation error7431 without an existing setting7432 creates a setting7433ProtectedTag::CreateAccessLevel7434 # order random7435 #check_access7436 when user is assigned7437 when current_user is the user7438 is expected to eq true7439 when current_user is another user7440 is expected to eq false7441 when group is assigned7442 when current_user is in the group7443 is expected to eq true7444 when current_user is not in the group7445 is expected to eq false7446projects/security/dast_scanner_profiles/new7447 renders Vue app root7448 passes project's full path7449 passes DAST profiles library URL7450HooksHelper7451 #test_hook_path7452 returns group namespaced link7453 #hook_log_path7454 with a group hook7455 returns group-namespaced link7456PersonalAccessTokens::Groups::PolicyWorker7457 #perform7458 behaves like an idempotent worker7459 is labeled as idempotent7460 performs multiple times sequentially without raising an exception7461 when the group has set a PAT expiry policy7462 valid PATs7463 does not revoke valid PATs7464 invalid PATs7465 revokes invalid PATs7466 when the group has not set a PAT expiry policy7467 does not revoke any tokens7468API::Helpers::AiHelper7469 # order random7470 #check_feature_enabled!7471 returns nil7472 when openai_experimentation feature is disabled7473 raises not found7474 when ai_experimentation_api feature is disabled7475 raises not found7476Users::UpdateHighestMemberRoleService7477 #execute7478 with an EE-only access level7479 updates the highest access level7480BackfillUsers7481 # order random7482 behaves like a deprecated Advanced Search migration7483 #migrate7484 logs a message and halts the migration7485 #completed?7486 returns false7487 #obsolete?7488 returns true7489Gitlab::IssuableMetadata7490 issues7491 aggregates stats on issues7492Elastic::ProjectsSearch7493 #maintain_elasticsearch_create7494 calls track!7495 #maintain_elasticsearch_update7496 initiates repository reindexing when permissions change7497 #maintain_elasticsearch_destroy7498 calls delete worker7499Arkose::RecordUserDataService7500 # order random7501 #execute7502 adds new custom attributes to the user7503 adds arkose data to custom attributes7504 stores risk scores in abuse trust scores7505 returns a success response7506 when response is from failed verification7507 does not add any custom attributes7508 does not store the arkose risk scores in abuse trust scores7509 returns an error response7510 when user is nil7511 returns an error response7512EE::GraphHelper7513 #should_render_dora_charts7514 when serving the project-level DORA page7515 behaves like #should_render_dora_charts for a specific type of container7516 behaves like returns true7517 is expected to equal true7518 when the feature is not available7519 behaves like returns false7520 is expected to equal false7521 when the user does not have permission7522 behaves like returns false7523 is expected to equal false7524 when serving the group-level DORA page7525 behaves like #should_render_dora_charts for a specific type of container7526 behaves like returns true7527 is expected to equal true7528 when the feature is not available7529 behaves like returns false7530 is expected to equal false7531 when the user does not have permission7532 behaves like returns false7533 is expected to equal false7534 #should_render_quality_summary7535 when licensed feature is available7536 when feature flag is enabled7537 is expected to eq true7538 when feature flag is disabled7539 is expected to eq false7540 when licensed feature is not available7541 is expected to eq false7542Members::ApproveAccessRequestService7543 # order random7544 with auditing7545 for project access7546 behaves like auditor with context7547 creates audit event with name7548 for group access7549 behaves like auditor with context7550 creates audit event with name7551Users::CreateService7552 #execute7553 audit events7554 when licensed7555 does not log audit event if operation fails7556 does not log audit event if operation results in no change7557 when operation succeeds7558 logs an audit event7559 logs the audit event info7560 calls the audit method with the event type7561 when not licensed7562 does not log audit event7563 when audit is not required7564 does not log any audit event7565Boards::EpicBoard7566 associations7567 is expected to belong to group required: true inverse_of => epic_boards7568 is expected to have many epic_board_labels inverse_of => epic_board7569 is expected to have many epic_board_positions inverse_of => epic_board7570 is expected to have many epic_board_recent_visits inverse_of => epic_board7571 is expected to have many epic_lists order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board7572 is expected to have many destroyable_lists class_name => EpicList order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board7573 validations7574 is expected to validate that the length of :name is at most 2557575 scopes7576 .order_by_name_asc7577 returns in case-insensitive alphabetical order and then by ascending ID7578 .for_groups7579 returns boards only in selected groups7580Ci::Editor::AiConversation::MessagePolicy7581 # order random7582 when the user did not create the message7583 when the user is not a project member7584 dis-allows reading the message7585 when the user is a member who can't create a pipeline7586 dis-allows reading the message7587 when the user is a member who can create a pipeline7588 dis-allows reading the message7589 when the user created the message7590 when the user is not a project member7591 dis-allows reading the message7592 when the user is a member who can't create a pipeline7593 dis-allows reading the message7594 when the user is a member who can create a pipeline7595 allows reading the message7596AuditEvents::UserImpersonationGroupAuditEventService7597 when user belongs to a single group7598 creates audit events for both the instance and group level7599 when user belongs to multiple groups7600 creates audit events for both the instance and group level7601 when user does not belong to any group7602 creates audit events at the instance level7603Gitlab::Llm::VertexAi::ModelConfigurations::CodeChat7604 # order random7605 #payload7606 returns default payload7607 #url7608 returns default codechat url from application settings7609MergeRequests::Mergeability::CheckExternalStatusChecksPassedService7610 # order random7611 #cacheable?7612 returns false7613 #execute7614 only_allow_merge_if_all_status_checks_passed_enabled?: true, any_external_status_checks_not_passed?: false, prevent?: false7615 returns correct status7616 only_allow_merge_if_all_status_checks_passed_enabled?: false, any_external_status_checks_not_passed?: true, prevent?: false7617 returns correct status7618 only_allow_merge_if_all_status_checks_passed_enabled?: false, any_external_status_checks_not_passed?: false, prevent?: false7619 returns correct status7620 only_allow_merge_if_all_status_checks_passed_enabled?: true, any_external_status_checks_not_passed?: true, prevent?: true7621 returns correct status7622 #skip?7623 returns false7624 #only_allow_merge_if_all_status_checks_passed_enabled?7625 license: false, column_value: false, return_value: false7626 returns correct value7627 license: true, column_value: false, return_value: false7628 returns correct value7629 license: false, column_value: true, return_value: false7630 returns correct value7631 license: true, column_value: true, return_value: true7632 returns correct value7633Geo::RepositoryRenamedEventStore7634 #create!7635 behaves like a Geo event store7636 when running on a secondary node7637 does not create an event7638 when running on a primary node7639 does not create an event if there are no secondary nodes7640 creates an event7641 when file subject is not on local store7642 creates an event (PENDING: No file subject defined, skipping)7643 when running on a primary node7644 tracks old and new paths for project repositories7645EE::IncidentManagement::ProjectIncidentManagementSetting7646 # order random7647 Validations7648 validate SLA settings7649 #sla_timer_minutes7650 sla_timer is disabled7651 is expected not to validate that :sla_timer_minutes cannot be empty/falsy7652 sla_timer is enabled7653 is expected to validate that :sla_timer_minutes looks like a number greater than or equal to 157654 is expected to validate that :sla_timer_minutes looks like a number less than or equal to 5259497655Namespaces::FreeUserCap::OverLimitNotificationWorker7656 # order random7657 #perform7658 when dashboard_limit_enabled is true7659 runs notify service and marks next check for the namespace7660 when there are no results for next batch7661 gracefully handles and does not make any updates7662 with feature flags enabled/disabled7663 limit_enabled: true, free_user_cap_over_user_limit_mails: true, call_service: 1, job_count: 17664 triggers the namespace owners mail7665 limit_enabled: true, free_user_cap_over_user_limit_mails: false, call_service: 0, job_count: 07666 triggers the namespace owners mail7667 limit_enabled: false, free_user_cap_over_user_limit_mails: true, call_service: 0, job_count: 07668 triggers the namespace owners mail7669 limit_enabled: false, free_user_cap_over_user_limit_mails: false, call_service: 0, job_count: 07670 triggers the namespace owners mail7671Elastic::Latest::Routing7672 #routing_options7673 returns correct options for project_id7674 returns correct options for repository_id7675 returns correct options for project_ids7676 returns empty hash when provided an empty array7677 returns empty hash when provided :any to project_ids7678 returns empty hash when public projects flag is passed7679 returns empty hash when routing_disabled flag is passed7680 uses project_ids rather than repository_id when both are supplied7681 returns empty hash when there are too many project_ids7682MergeRequestResetApprovalsWorker7683 #perform7684 executes MergeRequests::RefreshService with expected values7685 project is missing7686 doesn't execute the service7687 user is missing7688 doesn't execute the service7689Gitlab::GitAccessSnippet7690 #check7691 protocol_name: "ssh"7692 is expected to be a kind of Gitlab::GitAccessResult::Success7693 protocol_name: "web"7694 is expected to be a kind of Gitlab::GitAccessResult::Success7695 protocol_name: "http"7696 is expected to be a kind of Gitlab::GitAccessResult::Success7697 protocol_name: "https"7698 is expected to be a kind of Gitlab::GitAccessResult::Success7699AlertManagement::HttpIntegrations::UpdateService7700 #execute7701 with multiple HTTP integrations feature available7702 successfully updates the integration with the custom mappings7703 when switching integration type7704 updates the integration type7705 with multiple HTTP integrations feature unavailable7706 does not allow multiple integrations of the same type7707registrations/welcome/show7708 # order random7709 with basic form items7710 the text for the :setup_for_company label7711 shows the correct text for the submit button7712 is expected to have visible css "#joining_project_true"7713 renders a select and text field for additional information7714 for rendering the hidden email opt in checkbox7715 is expected to have visible css "input[name=\"user[email_opted_in]\"]"7716 is expected to have visible css ".js-email-opt-in.hidden"7717Geo::RepositoryDeletedEventStore7718 #create!7719 behaves like a Geo event store7720 when running on a secondary node7721 does not create an event7722 when running on a primary node7723 does not create an event if there are no secondary nodes7724 creates an event7725 when file subject is not on local store7726 creates an event (PENDING: No file subject defined, skipping)7727 when running on a primary node7728 tracks information for the deleted project7729groups/settings/reporting/show7730 renders the settings app root with the correct data attributes7731 when group has no settings record7732 renders the settings app root with the correct data attributes containing default values7733 when feature is not enabled for the group7734 does not render the settings app root7735Security::ScanPolicy7736 read_scan7737 when the security_dashboard feature is enabled7738 when the current user has developer access to the scan's project7739 is expected to be allowed :read_scan7740 when the current user does not have developer access to the scan's project7741 is expected to be disallowed :read_scan7742 when the security_dashboard feature is disabled7743 is expected to be disallowed :read_scan7744AuthorizedProjectUpdate::ProjectRecalculateService7745 # order random7746 when project has user with higher authorization levels7747 invokes SyncProjectsWorker7748 when project does not have security_orchestration_policies enabled7749 does not invoke SyncProjectsWorker7750 when user has lower authorization levels7751 does not invoke SyncProjectsWorker7752Gitlab::ImportExport::WikiRepoSaver7753 bundles a group wiki Git repo7754 bundles the repo successfully7755 when the repo is empty7756 bundles the repo successfully7757 #bundle_filename7758 when exportable is a group7759 returns the right filename for group wikis7760 when exportable is a project7761 returns the right filename for project wikis7762MergeRequestDiffPolicy7763 # order random7764 when user is not permitted to read merge request7765 is expected to be disallowed :read_merge_request7766 when user is permitted to read merge request7767 is expected to be allowed :read_merge_request7768LdapGroupLink7769 validation7770 cn7771 validates uniqueness based on group_id and provider7772 is invalid when a filter is also present7773 filter7774 validates uniqueness based on group_id and provider7775 validates the LDAP filter7776 provider7777 shows the set value7778 defaults to the first ldap server if empty7779Integrations::FieldEntity7780 #as_json7781 with GitHub integration7782 with field with type checkbox7783 exposes correct attributes and casts value to Boolean7784Resolvers::Boards::EpicBoardsResolver7785 is expected to have nullable GraphQL type EpicBoardConnection7786 #resolve7787 when epics are not available7788 returns nil7789 when epics are available7790 generates an error if user cannot read epic boards7791 when user is member of the group7792 returns epic boards in the group ordered by name7793EE::Gitlab::NamespaceStorageSizeErrorMessage7794 #commit_error7795 returns the expected message7796 #merge_error7797 returns the expected message7798 #push_error7799 returns the expected message7800 #new_changes_error7801 returns the expected message7802 #above_size_limit_message7803 returns the expected message7804Gitlab::ObjectHierarchy7805 #root7806 includes only the roots7807 when quering parent it includes parent7808Gitlab::UsageDataCounters::LicensesList7809 behaves like a redis usage counter7810 .count(views)7811 increments the LicensesList views counter by 17812 .read(views)7813 returns the total number of views events7814 behaves like a redis usage counter with totals7815 totals7816 can report all totals7817 unknown events7818 cannot increment7819 cannot read7820Geo::RepositoryRegistryRemovalService7821 #execute7822 removes registry record7823 removes repository7824Gitlab::ReturnToLocation7825 #full_path7826 returns nil when location nil7827 returns an empty string when location is empty7828 removes the domain from location7829 keeps the query string from location7830 keeps the fragments from location7831Security::ScanResultPolicies::SyncFindingsToApprovalRulesWorker7832 # order random7833 #perform7834 when security reports cannot be stored for the pipeline7835 does not call SyncFindingsToApprovalRulesService7836 when security reports can be stored for the pipeline7837 calls SyncFindingsToApprovalRulesService7838ResourceLabelEvent7839 validations7840 Issuable validation7841 is valid if only epic_id is set7842PackageMetadata::Ingestion::Tasks::IngestPackageVersionLicenses7843 # order random7844 #execute7845 when import data is new7846 adds the new records7847 when import data exists7848 does not add records7849Onboarding::LearnGitlab7850 # order random7851 #available?7852 user: nil, onboarding: false, expected_result: false7853 is expected to equal false7854 user: true, onboarding: false, expected_result: false7855 is expected to equal false7856 user: nil, onboarding: true, expected_result: false7857 is expected to equal false7858 user: true, onboarding: true, expected_result: true7859 is expected to equal true7860NamespaceCiCdSetting7861 .allowing_stale_runner_pruning7862 when there are no runner settings7863 is expected to be empty7864 when there are CI/CD settings7865 allowing stale runner pruning7866 is expected to contain exactly #<NamespaceCiCdSetting namespace_id: 5768, allow_stale_runner_pruning: true>7867 not allowing stale runner pruning7868 is expected to be empty7869AuditEvents::ReleaseUpdatedAuditEventService7870 #security_event7871 logs the event to file7872Gitlab::Ci::Reports::Metrics::ReportsComparer7873 #new_metrics7874 reports new metrics7875 #existing_metrics7876 reports existing metrics7877 when existing metric changes7878 sets previous value7879 #removed_metrics7880 reports removed metrics7881Gitlab::Llm::Chain::Utils::TextProcessing7882 # order random7883 .cleanup_text7884 when stop word is present7885 returns test upto the default stop word7886 when default stop word is missing7887 returns text unchanged7888 when custom stop word is passed7889 returns text upto the default stop word7890 when custom stop word is missing from text7891 returns text unchanged7892Vulnerabilities::IdentifierEntity7893 #as_json7894 contains required fields7895Types::Geo::PagesDeploymentRegistryType7896 has the expected fields (other than those included in RegistryType)7897 behaves like a Geo registry type7898 is expected to require graphql authorizations :read_geo_registry7899 has the expected fields7900WebHooks::Group::HookPresenter7901 #logs_details_path7902 is expected to eq "/groups/group862/-/hooks/9/hook_logs/8"7903 #logs_retry_path7904 is expected to eq "/groups/group862/-/hooks/9/hook_logs/8/retry"7905Analytics::DevopsAdoption::Snapshots::CalculateAndSaveService7906 creates a snapshot with whatever snapshot calculator returns7907 when a snapshot for given range already exists7908 updates the snapshot with whatever snapshot calculator returns7909BackfillNamespaceAncestryForIssues7910 behaves like a deprecated Advanced Search migration7911 #migrate7912 logs a message and halts the migration7913 #completed?7914 returns false7915 #obsolete?7916 returns true7917AddInternalToNotes7918 # order random7919 behaves like a deprecated Advanced Search migration7920 #migrate7921 logs a message and halts the migration7922 #completed?7923 returns false7924 #obsolete?7925 returns true7926EE::API::Entities::Scim::UserName7927 contains the name7928 contains the first name7929 contains the last name7930Projects::Settings::BranchRulesHelper7931 # order random7932 #branch_rules_data7933 returns branch rules data7934 when licensed features are disabled7935 returns the correct data7936Types::Security::TrainingUrlRequestStatusEnum7937 is expected to eq "TrainingUrlRequestStatus"7938 statuses7939 status_name: "PENDING", status_value: "pending"7940 exposes a status with the correct value7941 status_name: "COMPLETED", status_value: "completed"7942 exposes a status with the correct value7943Geo::Scheduler::SchedulerWorker7944 includes ::Gitlab::Geo::LogHelpers7945 needs many other specs (PENDING: Not yet implemented)7946 #take_batch7947 without batch_size7948 returns a batch of jobs7949 with batch_size7950 returns a batch of jobs7951Groups::AnalyticsDashboardHelper7952 # order random7953 #group_analytics_dashboard_available?7954 is true for the group7955 when the current user does not have permission7956 is false for the group7957EE::WorkItemsHelper7958 # order random7959 #work_items_index_data7960 when features are available7961 returns true for the features7962 when feature not available7963 returns false for the features7964Boards::EpicBoardLabel7965 associations7966 is expected to belong to epic_board required: true inverse_of => epic_board_labels7967 is expected to belong to label required: true inverse_of => epic_board_labels7968Types::GroupReleaseStatsType7969 is expected to require graphql authorizations :read_group_release_stats7970 has the expected fields7971Types::Projects::ComplianceStandards::AdherenceCheckNameEnum7972 # order random7973 is expected to contain exactly "PREVENT_APPROVAL_BY_MERGE_REQUEST_AUTHOR", "PREVENT_APPROVAL_BY_MERGE_REQUEST_COMMITTERS", and "AT_LEAST_TWO_APPROVALS"7974 is expected to eq "ComplianceStandardsAdherenceCheckName"7975Types::AuditEvents::Streaming::HeaderType7976 is expected to eq "AuditEventStreamingHeader"7977 is expected to have graphql fields :id, :key, and :value7978Types::MemberAccessLevelEnum7979 # order random7980 is expected to eq "MemberAccessLevel"7981 exposes all the existing EE access level values7982Gitlab::Llm::VertexAi::ModelConfigurations::CodeCompletion7983 # order random7984 #url7985 returns correct url replacing default value7986 #payload7987 returns default payload7988Geo::VerificationCronWorker7989 uses a cronjob queue7990 #perform7991 calls trigger_background_verification on enabled Replicators7992Gitlab::ProjectTemplate7993 .all7994 when `enterprise_templates` feature is not licensed7995 does not contain enterprise project templates7996 when `enterprise_templates` feature is licensed7997 contains enterprise project templates7998Gitlab::Llm::OpenAi::ResponseModifiers::Chat7999 # order random8000 parses content from the ai response8001Types::VulnerabilityConfidenceEnum8002 exposes all vulnerability confidence values8003Audit::BaseChangesAuditor8004 # order random8005 #attributes_from_auditable_model8006 is expected to raise NotImplementedError8007Types::Ci::Minutes::ProjectMonthlyUsageType8008 is expected to have graphql fields :minutes, :shared_runners_duration, :project, and :name8009Gitlab::Llm::Chain::Tools::IssueIdentifier::Prompts::Anthropic8010 # order random8011 .prompt8012 returns prompt8013Types::RequirementsManagement::TestReportStateEnum8014 exposes all the possible test report states8015Types::Forecasting::ForecastType8016 # order random8017 has expected fields8018Gitlab::Llm::VertexAi::Templates::ExplainCode8019 # order random8020 .get_options8021 returns correct parameters8022StatusPage::Renderer8023 # order random8024 .markdown8025 delegates to MarkupHelper.markdown_field8026Types::VulnerabilityDetails::FileLocationType8027 is expected to have graphql fields :name, :description, :fieldName, :fileName, :lineStart, and :lineEnd8028Types::VulnerableKubernetesResourceType8029 is expected to have graphql fields :namespace, :kind, :name, :container_name, :agent, and :cluster_id8030Knapsack report was generated. Preview:8031{8032 "ee/spec/policies/project_policy_spec.rb": 173.01624278699978,8033 "ee/spec/models/ee/group_spec.rb": 115.63515863099974,8034 "ee/spec/models/epic_issue_spec.rb": 119.07042421100005,8035 "ee/spec/lib/gitlab/geo/log_cursor/daemon_spec.rb": 135.80701116399996,8036 "ee/spec/lib/ee/gitlab/usage_data_spec.rb": 114.16098874199997,8037 "ee/spec/replicators/geo/pipeline_artifact_replicator_spec.rb": 42.69731848299989,8038 "ee/spec/replicators/geo/pages_deployment_replicator_spec.rb": 49.43476284899998,8039 "ee/spec/replicators/geo/terraform_state_version_replicator_spec.rb": 35.5581225789997,8040 "ee/spec/services/epic_issues/create_service_spec.rb": 42.51157860700005,8041 "ee/spec/models/member_spec.rb": 40.45967153499987,8042 "ee/spec/views/admin/application_settings/_elasticsearch_form.html.haml_spec.rb": 51.15735395999991,8043 "ee/spec/models/geo/pipeline_artifact_registry_spec.rb": 35.977799140000116,8044 "ee/spec/services/geo/file_registry_removal_service_spec.rb": 24.506667348000065,8045 "ee/spec/models/dast_site_profile_spec.rb": 17.278962054999738,8046 "ee/spec/services/ci/process_build_service_spec.rb": 26.896839004999947,8047 "ee/spec/models/namespace_setting_spec.rb": 10.716478341000311,8048 "ee/spec/graphql/types/pipeline_security_report_finding_type_spec.rb": 21.398448133999864,8049 "ee/spec/lib/elastic/latest/user_class_proxy_spec.rb": 22.346990328000174,8050 "ee/spec/lib/analytics/devops_adoption/snapshot_calculator_spec.rb": 17.1029082619998,8051 "ee/spec/serializers/member_entity_spec.rb": 14.430759098999715,8052 "ee/spec/models/elastic/migration_record_spec.rb": 18.32570450000003,8053 "ee/spec/services/app_sec/dast/profiles/update_service_spec.rb": 11.03337895300001,8054 "ee/spec/services/security/ingestion/tasks/ingest_vulnerabilities_spec.rb": 20.497380769999836,8055 "ee/spec/models/ee/project_group_link_spec.rb": 10.057634012000108,8056 "ee/spec/graphql/ee/resolvers/project_issues_resolver_spec.rb": 8.626742224000282,8057 "ee/spec/elastic/migrate/20230628094700_backfill_archived_on_issues_spec.rb": 14.909150684999986,8058 "ee/spec/services/security/ingestion/tasks/ingest_findings_spec.rb": 11.45906190300002,8059 "ee/spec/services/analytics/cycle_analytics/consistency_check_service_spec.rb": 13.147100376999788,8060 "ee/spec/finders/security/scan_execution_policies_finder_spec.rb": 12.152692958999978,8061 "ee/spec/lib/elastic/latest/note_class_proxy_spec.rb": 12.23165544199992,8062 "ee/spec/graphql/resolvers/compliance_management/merge_requests/compliance_violation_resolver_spec.rb": 7.823144708999735,8063 "ee/spec/models/sbom/occurrence_spec.rb": 8.540780912000173,8064 "ee/spec/services/ee/boards/lists/create_service_spec.rb": 2.6705369740002425,8065 "ee/spec/serializers/status_page/incident_entity_spec.rb": 8.238740379999854,8066 "ee/spec/services/vulnerabilities/update_service_spec.rb": 12.04826624999987,8067 "ee/spec/services/app_sec/dast/site_profiles/create_service_spec.rb": 7.308006185999602,8068 "ee/spec/elastic/migrate/20230202100000_add_hashed_root_namespace_id_to_notes_spec.rb": 11.732084466999822,8069 "ee/spec/graphql/mutations/issues/set_epic_spec.rb": 6.705650960999719,8070 "ee/spec/finders/security/vulnerability_reads_finder_spec.rb": 8.622952145,8071 "ee/spec/services/projects/mark_for_deletion_service_spec.rb": 7.365733941000144,8072 "ee/spec/elastic/migrate/20230208100000_reindex_users_spec.rb": 9.624020812000253,8073 "ee/spec/services/epics/update_dates_service_spec.rb": 6.716889630999958,8074 "ee/spec/serializers/blocking_merge_request_entity_spec.rb": 8.164673227000094,8075 "ee/spec/graphql/mutations/incident_management/oncall_rotation/update_spec.rb": 5.284203582999908,8076 "ee/spec/finders/sbom/dependencies_finder_spec.rb": 2.567488804000277,8077 "ee/spec/lib/gitlab/auth/group_saml/identity_linker_spec.rb": 5.088174100999822,8078 "ee/spec/services/ci/pipeline_trigger_service_spec.rb": 5.205289040000025,8079 "ee/spec/lib/arkose/verify_response_spec.rb": 1.1899500810000063,8080 "ee/spec/finders/notes_finder_spec.rb": 3.6996385389998068,8081 "ee/spec/lib/analytics/merge_request_metrics_refresh_spec.rb": 5.342062826999609,8082 "ee/spec/services/ee/users/authorized_build_service_spec.rb": 3.3524218809998274,8083 "ee/spec/models/dora/watchers/issue_watcher_spec.rb": 2.8024288120000165,8084 "ee/spec/models/deployments/approval_spec.rb": 4.994331519999832,8085 "ee/spec/models/projects/compliance_standards/adherence_spec.rb": 2.5913372410000193,8086 "ee/spec/services/analytics/cycle_analytics/data_loader_service_spec.rb": 4.595093335999991,8087 "ee/spec/lib/ee/gitlab/scim/provisioning_service_spec.rb": 2.5274267869999676,8088 "ee/spec/services/ee/ip_restrictions/update_service_spec.rb": 2.714152810000087,8089 "ee/spec/services/deployments/auto_rollback_service_spec.rb": 4.583787186999871,8090 "ee/spec/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater_spec.rb": 2.6044156299999486,8091 "ee/spec/graphql/types/admin/cloud_licenses/current_license_type_spec.rb": 1.081509990000086,8092 "ee/spec/graphql/mutations/vulnerabilities/bulk_dismiss_spec.rb": 4.851848141999653,8093 "ee/spec/lib/gitlab/insights/executors/dora_executor_spec.rb": 1.6079133029998047,8094 "ee/spec/models/remote_mirror_spec.rb": 2.2114069970002674,8095 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/merge_request_last_edited_spec.rb": 2.243524662999789,8096 "ee/spec/services/projects/group_links/destroy_service_spec.rb": 3.963600334000148,8097 "ee/spec/lib/gitlab/geo/oauth/session_spec.rb": 2.4466534050002338,8098 "ee/spec/lib/ee/api/entities/geo_node_status_spec.rb": 1.1361955449997367,8099 "ee/spec/models/ee/projects/wiki_repository_spec.rb": 4.207914751999851,8100 "ee/spec/serializers/ee/environment_serializer_spec.rb": 4.0731461539999145,8101 "ee/spec/graphql/mutations/merge_requests/set_reviewers_spec.rb": 4.647066090999942,8102 "ee/spec/finders/ee/fork_targets_finder_spec.rb": 4.306846312999824,8103 "ee/spec/services/licenses/destroy_service_spec.rb": 1.40312066100023,8104 "ee/spec/workers/abuse/new_abuse_report_worker_spec.rb": 3.0446470189999673,8105 "ee/spec/routing/directs/subscription_portal_spec.rb": 0.6429833309998685,8106 "ee/spec/services/jira/jql_builder_service_spec.rb": 0.7095905940000193,8107 "ee/spec/lib/banzai/filter/references/label_reference_filter_spec.rb": 2.182801159000064,8108 "ee/spec/services/users/service_accounts/create_service_spec.rb": 2.336418074999983,8109 "ee/spec/lib/gitlab/auth/smartcard/certificate_spec.rb": 2.501275640000131,8110 "ee/spec/lib/sidebars/projects/menus/trial_widget_menu_spec.rb": 0.5541420489998927,8111 "ee/spec/lib/gitlab/geo/jwt_request_decoder_spec.rb": 1.993664016999901,8112 "ee/spec/lib/gitlab/ci/config/entry/azure_key_vault/secret_spec.rb": 0.4923973249997289,8113 "ee/spec/services/groups/mark_for_deletion_service_spec.rb": 2.9149556409997786,8114 "ee/spec/services/package_metadata/affected_package_data_object_spec.rb": 0.4317106110001987,8115 "ee/spec/workers/projects/repository_destroy_worker_spec.rb": 0.553385667999919,8116 "ee/spec/lib/ee/gitlab/etag_caching/router/rails_spec.rb": 0.3752647850001267,8117 "ee/spec/models/concerns/elastic/namespace_update_spec.rb": 2.6915619820001666,8118 "ee/spec/services/protected_environments/search_service_spec.rb": 1.978891246999865,8119 "ee/spec/lib/system_check/geo/http_connection_check_spec.rb": 1.2197667170003115,8120 "ee/spec/models/merge_request/suggested_reviewers_merge_request_spec.rb": 1.3610411139998178,8121 "ee/spec/graphql/types/vulnerability_request_type_spec.rb": 1.8655670880002617,8122 "ee/spec/services/llm/summarize_submitted_review_service_spec.rb": 1.4343473479998465,8123 "ee/spec/lib/gitlab/ci/templates/container_scanning_latest_gitlab_ci_yaml_spec.rb": 2.968254246000015,8124 "ee/spec/serializers/epics/related_epic_entity_spec.rb": 1.5740636149998863,8125 "ee/spec/models/approver_group_spec.rb": 2.611147288999746,8126 "ee/spec/services/projects/after_rename_service_spec.rb": 2.750651385999845,8127 "ee/spec/services/ee/post_receive_service_spec.rb": 2.3353684650001014,8128 "ee/spec/lib/gitlab/ci/parsers/security/validators/default_branch_image_validator_spec.rb": 1.3341131870001846,8129 "ee/spec/services/compliance_management/standards/gitlab/prevent_approval_by_committer_service_spec.rb": 1.4473386770000616,8130 "ee/spec/services/security/security_orchestration_policies/scan_pipeline_service_spec.rb": 0.9941186289997859,8131 "ee/spec/helpers/license_helper_spec.rb": 0.895445276999908,8132 "ee/spec/models/board_assignee_spec.rb": 0.2853869340001438,8133 "ee/spec/policies/instance_security_dashboard_policy_spec.rb": 1.037471383999673,8134 "ee/spec/finders/ee/work_items/work_items_finder_spec.rb": 1.4982092820000616,8135 "ee/spec/models/identity_spec.rb": 0.7243169230000603,8136 "ee/spec/services/app_sec/dast/site_profiles/audit/update_service_spec.rb": 0.9021877770001083,8137 "ee/spec/workers/compliance_management/standards/gitlab/prevent_approval_by_author_group_worker_spec.rb": 0.6923376459999417,8138 "ee/spec/lib/gitlab/ci/config/entry/job_spec.rb": 0.4816700849996778,8139 "ee/spec/services/boards/epic_lists/destroy_service_spec.rb": 1.885862735000046,8140 "ee/spec/graphql/ee/types/merge_request_type_spec.rb": 1.2645646940000006,8141 "ee/spec/services/projects/hashed_storage/migrate_attachments_service_spec.rb": 1.689873463999902,8142 "ee/spec/graphql/mutations/boards/update_spec.rb": 1.68873717400038,8143 "ee/spec/services/audit_events/streaming/instance_headers/update_service_spec.rb": 1.4903642920003222,8144 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_approval_project_rules_metric_spec.rb": 1.0542985829997633,8145 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_assigned_security_policy_project_metric_spec.rb": 1.760875108000164,8146 "ee/spec/models/approvals/wrapped_rule_set_spec.rb": 0.3735234760001731,8147 "ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb": 1.2824146809998638,8148 "ee/spec/models/plan_spec.rb": 0.7590946899999835,8149 "ee/spec/lib/bulk_imports/common/pipelines/boards_pipeline_spec.rb": 0.8552546609998899,8150 "ee/spec/lib/gitlab/llm/chain/answer_spec.rb": 0.3497392280000895,8151 "ee/spec/services/projects/operations/update_service_spec.rb": 1.3611028940003962,8152 "ee/spec/models/protected_tag/create_access_level_spec.rb": 1.0479549339997902,8153 "ee/spec/views/projects/security/dast_scanner_profiles/new.html.haml_spec.rb": 1.273349952999979,8154 "ee/spec/helpers/ee/hooks_helper_spec.rb": 0.5904957749999085,8155 "ee/spec/workers/personal_access_tokens/groups/policy_worker_spec.rb": 1.5748212650000823,8156 "ee/spec/lib/api/helpers/ai_helper_spec.rb": 0.30174743199995646,8157 "ee/spec/services/users/update_highest_member_role_service_spec.rb": 0.23784020799985228,8158 "ee/spec/elastic/migrate/20221026082700_backfill_users_spec.rb": 0.24728439699993032,8159 "ee/spec/lib/ee/gitlab/issuable_metadata_spec.rb": 1.8084384530002353,8160 "ee/spec/models/concerns/elastic/projects_search_spec.rb": 0.303372452000076,8161 "ee/spec/services/arkose/record_user_data_service_spec.rb": 1.1772439719998147,8162 "ee/spec/helpers/ee/graph_helper_spec.rb": 0.890603019000082,8163 "ee/spec/services/ee/members/approve_access_request_service_spec.rb": 1.4356824880001113,8164 "ee/spec/services/ee/users/create_service_spec.rb": 0.9639446410001256,8165 "ee/spec/models/boards/epic_board_spec.rb": 0.7227339830001256,8166 "ee/spec/policies/ci/editor/ai_conversation/message_policy_spec.rb": 1.1721716320002997,8167 "ee/spec/services/audit_events/user_impersonation_group_audit_event_service_spec.rb": 1.3456271659997583,8168 "ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_chat_spec.rb": 0.277187744999992,8169 "ee/spec/services/merge_requests/mergeability/check_external_status_checks_passed_service_spec.rb": 0.8053101450000213,8170 "ee/spec/services/geo/repository_renamed_event_store_spec.rb": 0.7190782439997747,8171 "ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb": 1.0968526689998725,8172 "ee/spec/workers/namespaces/free_user_cap/over_limit_notification_worker_spec.rb": 0.8206877749998966,8173 "ee/spec/lib/elastic/latest/routing_spec.rb": 0.5536449890000767,8174 "ee/spec/workers/merge_request_reset_approvals_worker_spec.rb": 0.9633414919999268,8175 "ee/spec/lib/ee/gitlab/git_access_snippet_spec.rb": 1.0665221710000878,8176 "ee/spec/services/ee/alert_management/http_integrations/update_service_spec.rb": 0.9327194450002025,8177 "ee/spec/views/registrations/welcome/show.html.haml_spec.rb": 0.8879873480000242,8178 "ee/spec/services/geo/repository_deleted_event_store_spec.rb": 0.7368826219999391,8179 "ee/spec/views/groups/settings/reporting/show.html.haml_spec.rb": 0.9004185869998764,8180 "ee/spec/policies/security/scan_policy_spec.rb": 0.839572792999661,8181 "ee/spec/services/ee/authorized_project_update/project_recalculate_service_spec.rb": 0.8336815429997841,8182 "ee/spec/lib/ee/gitlab/import_export/wiki_repo_saver_spec.rb": 0.6975125149997439,8183 "ee/spec/policies/merge_request_diff_policy_spec.rb": 0.7407628820001264,8184 "ee/spec/models/ldap_group_link_spec.rb": 0.4218773410002541,8185 "ee/spec/serializers/integrations/field_entity_spec.rb": 0.4457491090001895,8186 "ee/spec/graphql/resolvers/boards/epic_boards_resolvers_spec.rb": 0.6174899130000995,8187 "ee/spec/lib/ee/gitlab/namespace_storage_size_error_message_spec.rb": 0.46150352699987707,8188 "ee/spec/lib/gitlab/object_hierarchy_spec.rb": 0.6788795180000307,8189 "ee/spec/lib/gitlab/usage_data_counters/licenses_list_spec.rb": 0.27801002399974095,8190 "ee/spec/services/geo/repository_registry_removal_service_spec.rb": 0.40188960299974497,8191 "ee/spec/lib/gitlab/return_to_location_spec.rb": 0.24774505699997462,8192 "ee/spec/workers/security/scan_result_policies/sync_findings_to_approval_rules_worker_spec.rb": 0.5000320540002576,8193 "ee/spec/models/ee/resource_label_event_spec.rb": 0.652123169999868,8194 "ee/spec/services/package_metadata/ingestion/tasks/ingest_package_version_licenses_spec.rb": 0.5360138799997003,8195 "ee/spec/models/onboarding/learn_gitlab_spec.rb": 0.22766784900022685,8196 "ee/spec/models/ee/namespace_ci_cd_setting_spec.rb": 0.40634815299972615,8197 "ee/spec/services/audit_events/release_updated_audit_event_service_spec.rb": 0.5588104779999412,8198 "ee/spec/lib/gitlab/ci/reports/metrics/reports_comparer_spec.rb": 0.22820731899992097,8199 "ee/spec/lib/gitlab/llm/chain/utils/text_processing_spec.rb": 0.22364704999972673,8200 "ee/spec/serializers/vulnerabilities/identifier_entity_spec.rb": 0.44134494999980234,8201 "ee/spec/graphql/types/geo/pages_deployment_registry_type_spec.rb": 0.18937615200002256,8202 "ee/spec/presenters/web_hooks/group/hook_presenter_spec.rb": 0.35883414700037974,8203 "ee/spec/services/analytics/devops_adoption/snapshots/calculate_and_save_service_spec.rb": 0.3003698030001942,8204 "ee/spec/elastic/migrate/20210825110300_backfill_namespace_ancestry_for_issues_spec.rb": 0.20505938099995547,8205 "ee/spec/elastic/migrate/20230111142636_add_internal_to_notes_spec.rb": 0.1977753109999867,8206 "ee/spec/lib/ee/api/entities/scim/user_name_spec.rb": 0.21517185999982757,8207 "ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb": 0.229023868999775,8208 "ee/spec/graphql/types/security/training_url_request_status_enum_spec.rb": 0.24673222699993858,8209 "ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb": 0.21011991000023045,8210 "ee/spec/helpers/groups/analytics_dashboard_helper_spec.rb": 0.20836521100000027,8211 "ee/spec/helpers/ee/work_items_helper_spec.rb": 0.2210135690002062,8212 "ee/spec/models/boards/epic_board_label_spec.rb": 0.18162854299998799,8213 "ee/spec/graphql/types/group_release_stats_type_spec.rb": 0.16662418399982926,8214 "ee/spec/graphql/types/projects/compliance_standards/adherence_check_name_enum_spec.rb": 0.16628722499990545,8215 "ee/spec/graphql/types/audit_events/streaming/header_type_spec.rb": 0.15831025500028773,8216 "ee/spec/graphql/ee/types/member_access_level_enum_spec.rb": 0.17443318400000862,8217 "ee/spec/lib/gitlab/llm/vertex_ai/model_configurations/code_completion_spec.rb": 0.19669380200002706,8218 "ee/spec/workers/geo/verification_cron_worker_spec.rb": 0.16556139499971323,8219 "ee/spec/lib/gitlab/project_template_spec.rb": 0.16873534400019707,8220 "ee/spec/lib/gitlab/llm/open_ai/response_modifiers/chat_spec.rb": 0.1402879369998118,8221 "ee/spec/graphql/types/vulnerability_confidence_enum_spec.rb": 0.13276491800024814,8222 "ee/spec/lib/audit/base_changes_auditor_spec.rb": 0.15659120500004065,8223 "ee/spec/graphql/types/ci/minutes/project_monthly_usage_type_spec.rb": 0.12809459899972353,8224 "ee/spec/lib/gitlab/llm/chain/tools/issue_identifier/prompts/anthropic_spec.rb": 0.13073064800028078,8225 "ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb": 0.1319533469995804,8226 "ee/spec/graphql/types/forecasting/forecast_type_spec.rb": 0.14039766700034306,8227 "ee/spec/lib/gitlab/llm/vertex_ai/templates/explain_code_spec.rb": 0.137737388000005,8228 "ee/spec/serializers/status_page/renderer_spec.rb": 0.1344448579998243,8229 "ee/spec/graphql/types/vulnerability_details/file_location_type_spec.rb": 0.13325083800009452,8230 "ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb": 0.134017747000143578231}8232Knapsack global time execution for tests: 25m 53s8233Pending: (Failures listed here are expected and do not affect your suite's status)8234 1) Projects::WikiRepository on a primary node #save_verification_details when model record is not part of verifiables scope does not create verification details8235 # Skipping because all Project Wiki Repositories are records that can be checksummed8236 # ./ee/spec/support/shared_examples/models/concerns/replicable_model_with_separate_table_shared_examples.rb:768237 2) Geo::RepositoryRenamedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event8238 # No file subject defined, skipping8239 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:368240 3) Geo::RepositoryDeletedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event8241 # No file subject defined, skipping8242 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:368243 4) Geo::Scheduler::SchedulerWorker needs many other specs8244 # Not yet implemented8245 # ./ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb:128246Finished in 25 minutes 56 seconds (files took 1 minute 25.06 seconds to load)82473580 examples, 0 failures, 4 pending8248Randomized with seed 522578249[TEST PROF INFO] Time spent in factories: 13:05.458 (49.25% of total time)8250RSpec exited with 0.8251No examples to retry, congrats!8253Running after script...8254$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"8259Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8261Uploading artifacts...8262WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8263coverage/: found 5 matching artifact files and directories 8264crystalball/: found 2 matching artifact files and directories 8265deprecations/: found 11 matching artifact files and directories 8266knapsack/: found 4 matching artifact files and directories 8267rspec/: found 16 matching artifact files and directories 8268WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8269log/*.log: found 19 matching artifact files and directories 8270WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4841631402/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8271WARNING: Retrying... context=artifacts-uploader error=request redirected8272Uploading artifacts as "archive" to coordinator... 201 Created id=4841631402 responseStatus=201 Created token=64_qd-sr8273Uploading artifacts...8274rspec/rspec-*.xml: found 1 matching artifact files and directories 8275WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4841631402/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8276WARNING: Retrying... context=artifacts-uploader error=request redirected8277Uploading artifacts as "junit" to coordinator... 201 Created id=4841631402 responseStatus=201 Created token=64_qd-sr8279Job succeeded