rspec-ee unit pg13 16/18
Passed Started
by
@ohoral
Olena Horal-Koretska
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM, system ID: s_9d15f3e4e7ae3 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.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:b643610fd4d2fbdd55447ceb5a6cba0c3d1a26945817741d73e1b51a1ec07d01 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:dfccb5b5ddadf4f1a3b9cb72cf21f5b99a28a55c217de34d9fa6b7a45a910031 ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...14Starting service elasticsearch:7.17.6 ...15Pulling docker image elasticsearch:7.17.6 ...16Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...17WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.18WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.19Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...20Authenticating with credentials from job payload (GitLab Registry)21Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...22Using docker image sha256:4777ec1fa89def7d692d4979d05cb05234df25da1c6a3f67a564a433ec5ba1c8 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:80c0cee4566aefe4f1f287e1091263e08b0ebc41ed3dc4e76930df3634ccb9aa ...23Waiting for services to be up and running (timeout 30 seconds)...24Authenticating with credentials from job payload (GitLab Registry)25Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...26Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-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.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...28Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1682493399-093bc5e8...30$ eval "$CI_PRE_CLONE_SCRIPT"31Fetching changes with git depth set to 20...32Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34remote: Enumerating objects: 165305, done. 35remote: Counting objects: 100% (165305/165305), done. 36remote: Compressing objects: 100% (99237/99237), done. 37remote: Total 165305 (delta 81746), reused 118333 (delta 59964), pack-reused 0 38Receiving objects: 100% (165305/165305), 131.94 MiB | 21.51 MiB/s, done.39Resolving deltas: 100% (81746/81746), done.41 * [new ref] refs/pipelines/849373675 -> refs/pipelines/84937367542 * [new branch] master -> origin/master43Checking out f463609d as detached HEAD (ref is master)...44Skipping Git submodules setup45$ git remote set-url origin "${CI_REPOSITORY_URL}"47Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...48Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 49Successfully extracted cache51Downloading artifacts for compile-test-assets (4181384009)...52Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384009 responseStatus=200 OK token=64_mxVzZ53Downloading artifacts for retrieve-tests-metadata (4181384016)...54Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384016 responseStatus=200 OK token=64_mxVzZ55Downloading artifacts for setup-test-env (4181384014)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384014 responseStatus=200 OK token=64_mxVzZ58Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-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.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...59$ echo $FOSS_ONLY60$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb61$ export GOPATH=$CI_PROJECT_DIR/.go62$ mkdir -p $GOPATH63$ source scripts/utils.sh64$ source scripts/prepare_build.sh720Using decomposed database config (config/database.yml.decomposed-postgresql)721Geo DB will be set up.722Embedding DB will be set up.746$ source ./scripts/rspec_helpers.sh747$ run_timed_command "gem install knapsack --no-document"748$ gem install knapsack --no-document749Successfully installed knapsack-4.0.07501 gem installed751==> 'gem install knapsack --no-document' succeeded in 1 seconds.752$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"754$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"759$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"760$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"761SKIP_FLAKY_TESTS_AUTOMATICALLY: false762RETRY_FAILED_TESTS_IN_NEW_PROCESS: true763KNAPSACK_GENERATE_REPORT: true764FLAKY_RSPEC_GENERATE_REPORT: true765KNAPSACK_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.rb766KNAPSACK_LOG_LEVEL: debug767KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg13_16_18_report.json768FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json769FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_16_18_report.json770NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_16_18_report.json771SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_unit_pg13_16_18_report.txt772CRYSTALBALL: 773RSPEC_TESTS_MAPPING_ENABLED: 774RSPEC_TESTS_FILTER_FILE: 775Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration -- ee/spec/policies/project_policy_spec.rb ee/spec/models/epic_spec.rb ee/spec/lib/gitlab/elastic/project_search_results_spec.rb ee/spec/models/concerns/elastic/note_spec.rb ee/spec/models/elastic/migration_record_spec.rb ee/spec/replicators/geo/ci_secure_file_replicator_spec.rb ee/spec/models/ci/build_spec.rb ee/spec/models/geo/container_repository_registry_spec.rb ee/spec/lib/ee/gitlab/elastic/helper_spec.rb ee/spec/services/ee/issues/create_service_spec.rb ee/spec/models/geo/job_artifact_registry_spec.rb ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb ee/spec/workers/geo/repository_shard_sync_worker_spec.rb ee/spec/services/dashboard/projects/list_service_spec.rb ee/spec/finders/iterations_finder_spec.rb ee/spec/services/security/security_orchestration_policies/fetch_policy_approvers_service_spec.rb ee/spec/lib/gitlab/usage_data_counters/epic_activity_unique_counter_spec.rb ee/spec/graphql/resolvers/epics_resolver_spec.rb ee/spec/workers/geo/verification_state_backfill_worker_spec.rb ee/spec/finders/geo/repository_verification_finder_spec.rb ee/spec/services/vulnerabilities/resolve_service_spec.rb ee/spec/services/timebox_report_service_spec.rb ee/spec/models/work_item_spec.rb ee/spec/policies/packages/policies/project_policy_spec.rb ee/spec/workers/search/namespace_index_integrity_worker_spec.rb ee/spec/services/issuable/discussions_list_service_spec.rb ee/spec/services/resource_access_tokens/revoke_service_spec.rb ee/spec/models/ee/namespace/storage/notification_spec.rb ee/spec/services/ee/members/create_service_spec.rb ee/spec/lib/gitlab/expiring_subscription_message_spec.rb ee/spec/workers/geo/repository_sync_worker_spec.rb ee/spec/services/ci/subscribe_bridge_service_spec.rb ee/spec/helpers/ee/welcome_helper_spec.rb ee/spec/models/vulnerabilities/issue_link_spec.rb ee/spec/models/epic/related_epic_link_spec.rb ee/spec/graphql/mutations/issues/set_epic_spec.rb ee/spec/presenters/ci/minutes/usage_presenter_spec.rb ee/spec/models/concerns/ee/mentionable_spec.rb ee/spec/services/ee/groups/autocomplete_service_spec.rb ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb ee/spec/workers/scan_security_report_secrets_worker_spec.rb ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb ee/spec/services/security/merge_request_security_report_generation_service_spec.rb ee/spec/lib/gitlab/ci/minutes/runners_availability_spec.rb ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb ee/spec/lib/gitlab/applied_ml/suggested_reviewers/client_spec.rb ee/spec/services/geo/node_update_service_spec.rb ee/spec/workers/sync_seat_link_request_worker_spec.rb ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb ee/spec/helpers/ee/gitlab_routing_helper_spec.rb ee/spec/services/ci/pipeline_trigger_service_spec.rb ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb ee/spec/services/ee/issuable/destroy_service_spec.rb ee/spec/lib/analytics/refresh_reassign_data_spec.rb ee/spec/services/security/ingestion/tasks/ingest_finding_links_spec.rb ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb ee/spec/models/dast/scanner_profiles_build_spec.rb ee/spec/helpers/timeboxes_helper_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_with_applied_scan_result_policies_metric_spec.rb ee/spec/services/ee/merge_requests/execute_approval_hooks_service_spec.rb ee/spec/workers/emails/abandoned_trial_emails_cron_worker_spec.rb ee/spec/services/boards/epic_boards/update_service_spec.rb ee/spec/services/namespaces/service_accounts/create_service_spec.rb ee/spec/serializers/merge_request_poll_widget_entity_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb ee/spec/services/notes/create_visual_review_service_spec.rb ee/spec/services/security/scan_result_policies/vulnerabilities_count_service_spec.rb ee/spec/finders/group_saml_identity_finder_spec.rb ee/spec/lib/ee/api/entities/geo_node_status_spec.rb ee/spec/models/label_note_spec.rb ee/spec/workers/search/index_curation_worker_spec.rb ee/spec/services/ee/members/invite_service_spec.rb ee/spec/services/epic_issues/update_service_spec.rb ee/spec/services/software_license_policies/update_service_spec.rb ee/spec/services/ee/notes/update_service_spec.rb ee/spec/services/ee/releases/create_evidence_service_spec.rb ee/spec/models/allowed_email_domain_spec.rb ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb ee/spec/workers/merge_request_reset_approvals_worker_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_last_edited_spec.rb ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb ee/spec/services/award_emojis/add_service_spec.rb ee/spec/graphql/types/vulnerability_response_type_spec.rb ee/spec/views/shared/credentials_inventory/gpg_keys/_gpg_key.html.haml_spec.rb ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb ee/spec/lib/gitlab/contribution_analytics/data_collector_spec.rb ee/spec/services/security/ingestion/ingest_reports_service_spec.rb ee/spec/services/ee/commits/create_service_spec.rb ee/spec/views/projects/settings/subscriptions/_index.html.haml_spec.rb ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb ee/spec/policies/vulnerabilities/scanner_policy_spec.rb ee/spec/lib/elastic/latest/config_spec.rb ee/spec/services/security/scan_result_policies/sync_findings_to_approval_rules_service_spec.rb ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb ee/spec/workers/vulnerability_exports/export_worker_spec.rb ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb ee/spec/lib/ee/gitlab/background_migration/fix_security_scan_statuses_spec.rb ee/spec/lib/sidebars/groups/menus/trial_widget_menu_spec.rb ee/spec/services/software_license_policies/delete_service_spec.rb ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb ee/spec/workers/ldap_group_sync_worker_spec.rb ee/spec/finders/work_items/widgets/filters/status_spec.rb ee/spec/services/ee/projects/autocomplete_service_spec.rb ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb ee/spec/services/audit_events/runners_token_audit_event_service_spec.rb ee/spec/policies/identity_provider_policy_spec.rb ee/spec/lib/sidebars/admin/menus/geo_menu_spec.rb ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb ee/spec/models/vulnerabilities/finding_remediation_spec.rb ee/spec/workers/projects/register_suggested_reviewers_project_worker_spec.rb ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb ee/spec/models/namespaces/free_user_cap/root_size_spec.rb ee/spec/serializers/epic_entity_spec.rb ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb ee/spec/models/boards/epic_board_spec.rb ee/spec/graphql/ee/types/mutation_type_spec.rb ee/spec/views/admin/users/show.html.haml_spec.rb ee/spec/lib/gitlab/ci/config/entry/vault/secret_spec.rb ee/spec/services/geo/replication_toggle_request_service_spec.rb ee/spec/models/vulnerabilities/finding_link_spec.rb ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb ee/spec/services/app_sec/dast/pipelines/find_latest_service_spec.rb ee/spec/models/concerns/elastic/application_versioned_search_spec.rb ee/spec/lib/gitlab/authority_analyzer_spec.rb ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_external_status_checks_metric_spec.rb ee/spec/models/merge_requests/status_check_response_spec.rb ee/spec/models/search/index_registry_spec.rb ee/spec/serializers/issue_serializer_spec.rb ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb ee/spec/views/layouts/project.html.haml_spec.rb ee/spec/models/integrations/github/remote_project_spec.rb ee/spec/services/gitlab_subscriptions/notify_seats_exceeded_batch_service_spec.rb ee/spec/lib/gitlab/incident_management_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb ee/spec/finders/namespaces/free_user_cap/enforceable_groups_finder_spec.rb ee/spec/lib/ee/event_filter_spec.rb ee/spec/presenters/dast/site_profile_presenter_spec.rb ee/spec/presenters/ee/blob_presenter_spec.rb ee/spec/services/ee/groups/group_links/update_service_spec.rb ee/spec/lib/gitlab/audit/events/preloader_spec.rb ee/spec/views/projects/security/discover/show.html.haml_spec.rb ee/spec/views/projects/_merge_request_status_checks_settings.html.haml_spec.rb ee/spec/lib/ee/api/entities/scim/conflict_spec.rb ee/spec/lib/gitlab/auth/group_saml/response_store_spec.rb ee/spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb ee/spec/views/groups/security/discover/show.html.haml_spec.rb ee/spec/helpers/ee/registrations_helper_spec.rb ee/spec/services/group_saml/saml_group_links/destroy_service_spec.rb ee/spec/initializers/database_config_spec.rb ee/spec/graphql/ee/types/namespace_type_spec.rb ee/spec/workers/groups/create_event_worker_spec.rb ee/spec/lib/gitlab/geo/json_request_spec.rb ee/spec/helpers/incident_management/escalation_policy_helper_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_event_streaming_destinations_metric_spec.rb ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb ee/spec/elastic/migrate/20210128163600_add_permissions_data_to_notes_documents_spec.rb ee/spec/graphql/types/boards/epic_board_type_spec.rb ee/spec/graphql/types/global_id_type_spec.rb ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb ee/spec/graphql/types/vulnerability_scanner_input_type_spec.rb ee/spec/services/sbom/ingestion/ingest_reports_service_spec.rb ee/spec/graphql/types/vulnerability_scanner_vendor_input_type_spec.rb ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb ee/spec/graphql/types/vulnerability_details/diff_type_spec.rb ee/spec/helpers/epics_helper_spec.rb ee/spec/graphql/types/protected_environments/approval_rule_type_spec.rb ee/spec/graphql/types/vulnerability_state_enum_spec.rb ee/spec/services/sbom/ingestion/tasks/base_spec.rb ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb ee/spec/models/embedding/schema_migration_spec.rb ee/spec/graphql/types/vulnerability_details/module_location_type_spec.rbKnapsack report generator started!776warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.778Run options: exclude {:quarantine=>true, :level=>"background_migration"}779Test environment set up in 1.042910764 seconds780ProjectPolicy781 basic permissions782 behaves like project policies as anonymous783 abilities for public projects784 when a project has pending invites785 does not grant owner access786 behaves like archived project policies787 when the project is archived788 disables write actions on all relevant project features789 disables some other important write actions790 does not disable other abilities791 abilities for non-public projects792 is expected to be banned793 behaves like project policies as guest794 as a direct project member795 abilities for public projects796 is expected not to be allowed :set_note_created_at797 abilities for non-public projects798 is expected not to be allowed :set_note_created_at799 behaves like deploy token does not get confused with user800 is expected not to be allowed :set_note_created_at801 behaves like archived project policies802 when the project is archived803 disables write actions on all relevant project features804 disables some other important write actions805 does not disable other abilities806 public builds enabled807 is expected to be allowed :read_pipeline808 when public builds disabled809 is expected not to be allowed :read_pipeline810 when builds are disabled811 is expected to be allowed :read_pipeline812 as an inherited member from the group813 abilities for private projects814 is expected not to be allowed :set_note_created_at815 behaves like project policies as reporter816 abilities for non-public projects817 is expected not to be allowed :set_note_created_at818 behaves like deploy token does not get confused with user819 is expected not to be allowed :set_note_created_at820 behaves like archived project policies821 when the project is archived822 disables write actions on all relevant project features823 disables some other important write actions824 does not disable other abilities825 as an inherited member from the group826 abilities for private projects827 is expected not to be allowed :set_note_created_at828 behaves like project policies as developer829 abilities for non-public projects830 is expected not to be allowed :set_note_created_at831 behaves like deploy token does not get confused with user832 is expected not to be allowed :set_note_created_at833 behaves like archived project policies834 when the project is archived835 disables write actions on all relevant project features836 disables some other important write actions837 does not disable other abilities838 as an inherited member from the group839 abilities for private projects840 is expected not to be allowed :set_note_created_at841 behaves like project policies as maintainer842 abilities for non-public projects843 is expected not to be allowed :set_note_created_at844 behaves like deploy token does not get confused with user845 is expected not to be allowed :set_note_created_at846 behaves like archived project policies847 when the project is archived848 disables write actions on all relevant project features849 disables some other important write actions850 does not disable other abilities851 behaves like project policies as owner852 abilities for non-public projects853 is expected to be allowed :set_note_created_at854 behaves like deploy token does not get confused with user855 is expected not to be allowed :set_note_created_at856 behaves like archived project policies857 when the project is archived858 disables write actions on all relevant project features859 disables some other important write actions860 does not disable other abilities861 behaves like project policies as admin with admin mode862 abilities for non-public projects863 is expected to be allowed :set_note_created_at864 deploy token does not get confused with user865 is expected not to be allowed :set_note_created_at866 behaves like archived project policies867 when the project is archived868 disables write actions on all relevant project features869 disables some other important write actions870 does not disable other abilities871 abilities for all project visibility872 behaves like project private features with read_all_resources ability873 for public projects874 allows the download_code ability875 for internal projects876 allows the download_code ability877 for private projects878 allows the download_code ability879 behaves like project policies as admin without admin mode880 abilities for non-public projects881 is expected to be banned882 deploy token does not get confused with user883 is expected to be banned884 auditor885 who is not a team member886 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_alert887 who is a team member888 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_alert889 behaves like project private features with read_all_resources ability890 for public projects891 allows the download_code ability892 for internal projects893 allows the download_code ability894 for private projects895 allows the download_code ability896 with project feature related policies897 with project feature container_registry_access_level898 project_visibility: :public, access_level: 20, allowed: true899 always allows permissions except when feature disabled900 project_visibility: :public, access_level: 10, allowed: true901 always allows permissions except when feature disabled902 project_visibility: :public, access_level: 0, allowed: false903 always allows permissions except when feature disabled904 project_visibility: :internal, access_level: 20, allowed: true905 always allows permissions except when feature disabled906 project_visibility: :internal, access_level: 10, allowed: true907 always allows permissions except when feature disabled908 project_visibility: :internal, access_level: 0, allowed: false909 always allows permissions except when feature disabled910 project_visibility: :private, access_level: 20, allowed: true911 always allows permissions except when feature disabled912 project_visibility: :private, access_level: 10, allowed: true913 always allows permissions except when feature disabled914 project_visibility: :private, access_level: 0, allowed: false915 always allows permissions except when feature disabled916 with project feature merge_requests_access_level917 project_visibility: :public, access_level: 20, allowed: true918 always allows permissions except when feature disabled919 project_visibility: :public, access_level: 10, allowed: true920 always allows permissions except when feature disabled921 project_visibility: :public, access_level: 0, allowed: false922 always allows permissions except when feature disabled923 project_visibility: :internal, access_level: 20, allowed: true924 always allows permissions except when feature disabled925 project_visibility: :internal, access_level: 10, allowed: true926 always allows permissions except when feature disabled927 project_visibility: :internal, access_level: 0, allowed: false928 always allows permissions except when feature disabled929 project_visibility: :private, access_level: 20, allowed: true930 always allows permissions except when feature disabled931 project_visibility: :private, access_level: 10, allowed: true932 always allows permissions except when feature disabled933 project_visibility: :private, access_level: 0, allowed: false934 always allows permissions except when feature disabled935 with project feature monitor_access_level936 project_visibility: :public, access_level: 20, allowed: true937 always allows permissions except when feature disabled938 project_visibility: :public, access_level: 10, allowed: true939 always allows permissions except when feature disabled940 project_visibility: :public, access_level: 0, allowed: false941 always allows permissions except when feature disabled942 project_visibility: :internal, access_level: 20, allowed: true943 always allows permissions except when feature disabled944 project_visibility: :internal, access_level: 10, allowed: true945 always allows permissions except when feature disabled946 project_visibility: :internal, access_level: 0, allowed: false947 always allows permissions except when feature disabled948 project_visibility: :private, access_level: 20, allowed: true949 always allows permissions except when feature disabled950 project_visibility: :private, access_level: 10, allowed: true951 always allows permissions except when feature disabled952 project_visibility: :private, access_level: 0, allowed: false953 always allows permissions except when feature disabled954 iterations955 in a personal project956 when feature is disabled957 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration958 when feature is enabled959 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration960 in a group project961 when feature is disabled962 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration963 when feature is enabled964 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration965 when issues are disabled but merge requests are enabled966 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration967 when issues are enabled but merge requests are enabled968 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration969 when both issues and merge requests are disabled970 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration971 the_user: developer, allowed: [:read_iteration, :create_iteration, :admin_iteration], disallowed: []972 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration973 is expected to be disallowed974 the_user: guest, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]975 is expected to be allowed :read_iteration976 is expected to be disallowed :create_iteration and :admin_iteration977 the_user: non_member, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]978 is expected to be allowed :read_iteration979 is expected to be disallowed :create_iteration and :admin_iteration980 the_user: anonymous, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]981 is expected to be allowed :read_iteration982 is expected to be disallowed :create_iteration and :admin_iteration983 when the project is private984 when user is not a member985 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration986 when user is logged out987 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration988 issues feature989 when the feature is disabled990 disables boards permissions991 disables issues analytics992 merge requests feature993 when the feature is disabled994 disables issues analytics995 admin_mirror996 with remote mirror setting enabled997 with admin998 when admin mode enabled999 is expected to be allowed :admin_mirror1000 when admin mode disabled1001 is expected to be disallowed :admin_mirror1002 with owner1003 is expected to be allowed :admin_mirror1004 with developer1005 is expected to be disallowed :admin_mirror1006 with remote mirror setting disabled1007 with admin1008 when admin mode enabled1009 is expected to be allowed :admin_mirror1010 when admin mode disabled1011 is expected to be disallowed :admin_mirror1012 with owner1013 is expected to be disallowed :admin_mirror1014 with remote mirrors feature disabled1015 with admin1016 is expected to be disallowed :admin_mirror1017 with owner1018 is expected to be disallowed :admin_mirror1019 with remote mirrors feature enabled1020 with admin1021 when admin mode enabled1022 is expected to be allowed :admin_mirror1023 when admin mode disabled1024 is expected to be disallowed :admin_mirror1025 with owner1026 is expected to be allowed :admin_mirror1027 reading a project1028 with an external authorization service1029 allows auditors1030 when SAML SSO is enabled for resource1031 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"1032 when SSO for web activity is not enabled1033 when resource is private1034 for user1035 does not allow read project1036 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"1037 when SSO for web activity is not enabled1038 when resource is private1039 for user1040 does not allow read project1041 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"1042 when SSO for web activity is not enabled1043 when resource is private1044 for user1045 allows read project1046 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"1047 when SSO for web activity is not enabled1048 when resource is private1049 for user1050 does not allow read project1051 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"1052 when SSO for web activity is not enabled1053 when resource is private1054 for user1055 allows read project1056 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"1057 when SSO for web activity is not enabled1058 when resource is private1059 for user1060 allows read project1061 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"1062 when SSO for web activity is not enabled1063 when resource is private1064 for user1065 allows read project1066 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"1067 when SSO for web activity is not enabled1068 when resource is private1069 for user1070 does not allow to read project due to its visibility level1071 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"1072 when SSO for web activity is not enabled1073 when resource is private1074 for user1075 does not allow to read project due to its visibility level1076 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"1077 when SSO for web activity is not enabled1078 when resource is private1079 for user1080 allows read project1081 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"1082 when SSO for web activity is not enabled1083 when resource is private1084 for user1085 allows read project1086 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"1087 when SSO for web activity is not enabled1088 when resource is private1089 for user1090 does not allow to read project due to its visibility level1091 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"1092 when SSO for web activity is enabled1093 when resource is private1094 for user1095 does not allow read project1096 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"1097 when SSO for web activity is enabled1098 when resource is private1099 for user1100 does not allow read project1101 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"1102 when SSO for web activity is enabled1103 when resource is private1104 for user1105 allows read project1106 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"1107 when SSO for web activity is enabled1108 when resource is private1109 for user1110 does not allow read project1111 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"1112 when SSO for web activity is enabled1113 when resource is private1114 for user1115 allows read project1116 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"1117 when SSO for web activity is enabled1118 when resource is private1119 for user1120 allows read project1121 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"1122 when SSO for web activity is enabled1123 when resource is private1124 for user1125 does not allow read project1126 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"1127 when SSO for web activity is enabled1128 when resource is private1129 for user1130 does not allow read project1131 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"1132 when SSO for web activity is enabled1133 when resource is private1134 for user1135 does not allow read project1136 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"1137 when SSO for web activity is enabled1138 when resource is private1139 for user1140 allows read project1141 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"1142 when SSO for web activity is enabled1143 when resource is private1144 for user1145 allows read project1146 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"1147 when SSO for web activity is enabled1148 when resource is private1149 for user1150 does not allow read project1151 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"1152 when SSO for web activity is enabled1153 when resource is private1154 for user1155 does not allow read project1156 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"1157 when SSO for web activity is enabled1158 when resource is private1159 for user1160 allows read project1161 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"1162 when SSO for web activity is enabled1163 when resource is private1164 for user1165 allows read project1166 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"1167 when SSO for web activity is enabled1168 when resource is private1169 for user1170 does not allow read project1171 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"1172 when SSO for web activity is not enabled1173 when resource is public1174 for user1175 does not allow read project1176 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"1177 when SSO for web activity is not enabled1178 when resource is public1179 for user1180 does not allow read project1181 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"1182 when SSO for web activity is not enabled1183 when resource is public1184 for user1185 allows read project1186 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"1187 when SSO for web activity is not enabled1188 when resource is public1189 for user1190 does not allow read project1191 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"1192 when SSO for web activity is not enabled1193 when resource is public1194 for user1195 allows read project1196 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"1197 when SSO for web activity is not enabled1198 when resource is public1199 for user1200 allows read project1201 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"1202 when SSO for web activity is not enabled1203 when resource is public1204 for user1205 allows read project1206 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"1207 when SSO for web activity is not enabled1208 when resource is public1209 for user1210 allows read project1211 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"1212 when SSO for web activity is not enabled1213 when resource is public1214 for user1215 allows read project1216 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"1217 when SSO for web activity is enabled1218 when resource is public1219 for user1220 does not allow read project1221 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"1222 when SSO for web activity is enabled1223 when resource is public1224 for user1225 does not allow read project1226 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"1227 when SSO for web activity is enabled1228 when resource is public1229 for user1230 allows read project1231 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"1232 when SSO for web activity is enabled1233 when resource is public1234 for user1235 does not allow read project1236 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"1237 when SSO for web activity is enabled1238 when resource is public1239 for user1240 allows read project1241 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"1242 when SSO for web activity is enabled1243 when resource is public1244 for user1245 allows read project1246 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"1247 when SSO for web activity is enabled1248 when resource is public1249 for user1250 does not allow read project1251 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"1252 when SSO for web activity is enabled1253 when resource is public1254 for user1255 does not allow read project1256 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"1257 when SSO for web activity is enabled1258 when resource is public1259 for user1260 does not allow read project1261 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"1262 when SSO for web activity is enabled1263 when resource is public1264 for user1265 allows read project1266 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"1267 when SSO for web activity is enabled1268 when resource is public1269 for user1270 allows read project1271 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"1272 when SSO for web activity is enabled1273 when resource is public1274 for user1275 allows read project1276 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"1277 when SSO for web activity is enabled1278 when resource is public1279 for user1280 allows read project1281 with ip restriction1282 group without restriction1283 is expected to be allowed :read_project1284 is expected to be allowed :read_issue1285 is expected to be allowed :read_merge_request1286 is expected to be allowed :read_milestone1287 is expected to be allowed :read_container_image1288 is expected to be allowed :read_package1289 is expected to be allowed :create_package1290 is expected to be allowed :destroy_package1291 is expected to be allowed :admin_package1292 group with restriction1293 address is within the range1294 is expected to be allowed :read_project1295 is expected to be allowed :read_issue1296 is expected to be allowed :read_merge_request1297 is expected to be allowed :read_milestone1298 is expected to be allowed :read_container_image1299 is expected to be allowed :create_container_image1300 is expected to be allowed :read_package1301 is expected to be allowed :create_package1302 is expected to be allowed :destroy_package1303 is expected to be allowed :admin_package1304 address is outside the range1305 is expected to be disallowed :read_project1306 is expected to be disallowed :read_issue1307 is expected to be disallowed :read_merge_request1308 is expected to be disallowed :read_milestone1309 is expected to be disallowed :read_container_image1310 is expected to be disallowed :create_container_image1311 is expected to be disallowed :read_package1312 is expected to be disallowed :create_package1313 is expected to be disallowed :destroy_package1314 is expected to be disallowed :admin_package1315 with admin enabled1316 is expected to be allowed :read_project1317 is expected to be allowed :read_issue1318 is expected to be allowed :read_merge_request1319 is expected to be allowed :read_milestone1320 is expected to be allowed :read_container_image1321 is expected to be allowed :create_container_image1322 is expected to be allowed :read_package1323 is expected to be allowed :create_package1324 is expected to be allowed :destroy_package1325 is expected to be allowed :admin_package1326 with admin disabled1327 is expected to be disallowed :read_project1328 is expected to be disallowed :read_issue1329 is expected to be disallowed :read_merge_request1330 is expected to be disallowed :read_milestone1331 is expected to be disallowed :read_container_image1332 is expected to be disallowed :create_container_image1333 is expected to be disallowed :read_package1334 is expected to be disallowed :create_package1335 is expected to be disallowed :destroy_package1336 is expected to be disallowed :admin_package1337 with auditor1338 is expected to be allowed :read_project1339 is expected to be allowed :read_issue1340 is expected to be allowed :read_merge_request1341 is expected to be allowed :read_milestone1342 is expected to be allowed :read_container_image1343 is expected to be allowed :create_container_image1344 is expected to be allowed :read_package1345 is expected to be allowed :create_package1346 is expected to be allowed :destroy_package1347 is expected to be allowed :admin_package1348 without group1349 is expected to be allowed :read_project1350 access_security_and_compliance1351 when the user is auditor1352 when the "Security and Compliance" is not enabled1353 is expected to be disallowed :access_security_and_compliance1354 when the "Security and Compliance" is enabled1355 is expected to be allowed :access_security_and_compliance1356 vulnerability feedback permissions1357 permission: :read_vulnerability_feedback1358 with admin1359 when admin mode enabled1360 is expected to be allowed :read_vulnerability_feedback1361 when admin mode disabled1362 is expected to be disallowed :read_vulnerability_feedback1363 with owner1364 is expected to be allowed :read_vulnerability_feedback1365 with maintainer1366 is expected to be allowed :read_vulnerability_feedback1367 with developer1368 is expected to be allowed :read_vulnerability_feedback1369 with reporter1370 is expected to be disallowed :read_vulnerability_feedback1371 with guest1372 is expected to be disallowed :read_vulnerability_feedback1373 with non member1374 is expected to be disallowed :read_vulnerability_feedback1375 with anonymous1376 is expected to be disallowed :read_vulnerability_feedback1377 permission: :create_vulnerability_feedback1378 with admin1379 when admin mode enabled1380 is expected to be allowed :create_vulnerability_feedback1381 when admin mode disabled1382 is expected to be disallowed :create_vulnerability_feedback1383 with owner1384 is expected to be allowed :create_vulnerability_feedback1385 with maintainer1386 is expected to be allowed :create_vulnerability_feedback1387 with developer1388 is expected to be allowed :create_vulnerability_feedback1389 with reporter1390 is expected to be disallowed :create_vulnerability_feedback1391 with guest1392 is expected to be disallowed :create_vulnerability_feedback1393 with non member1394 is expected to be disallowed :create_vulnerability_feedback1395 with anonymous1396 is expected to be disallowed :create_vulnerability_feedback1397 permission: :update_vulnerability_feedback1398 with admin1399 when admin mode enabled1400 is expected to be allowed :update_vulnerability_feedback1401 when admin mode disabled1402 is expected to be disallowed :update_vulnerability_feedback1403 with owner1404 is expected to be allowed :update_vulnerability_feedback1405 with maintainer1406 is expected to be allowed :update_vulnerability_feedback1407 with developer1408 is expected to be allowed :update_vulnerability_feedback1409 with reporter1410 is expected to be disallowed :update_vulnerability_feedback1411 with guest1412 is expected to be disallowed :update_vulnerability_feedback1413 with non member1414 is expected to be disallowed :update_vulnerability_feedback1415 with anonymous1416 is expected to be disallowed :update_vulnerability_feedback1417 permission: :destroy_vulnerability_feedback1418 with admin1419 when admin mode enabled1420 is expected to be allowed :destroy_vulnerability_feedback1421 when admin mode disabled1422 is expected to be disallowed :destroy_vulnerability_feedback1423 with owner1424 is expected to be allowed :destroy_vulnerability_feedback1425 with maintainer1426 is expected to be allowed :destroy_vulnerability_feedback1427 with developer1428 is expected to be allowed :destroy_vulnerability_feedback1429 with reporter1430 is expected to be disallowed :destroy_vulnerability_feedback1431 with guest1432 is expected to be disallowed :destroy_vulnerability_feedback1433 with non member1434 is expected to be disallowed :destroy_vulnerability_feedback1435 with anonymous1436 is expected to be disallowed :destroy_vulnerability_feedback1437 read_project_security_dashboard1438 with developer1439 is expected to be disallowed :read_project_security_dashboard1440 vulnerability permissions1441 dismiss_vulnerability1442 with developer1443 is expected to be disallowed :admin_vulnerability1444 is expected to be disallowed :read_vulnerability1445 is expected to be disallowed :create_vulnerability_export1446 permissions for security bot1447 when auto_fix feature is enabled1448 when licensed feature is enabled1449 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_request1450 when feature flag is disabled1451 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_request1452 when licensed feature is disabled1453 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_request1454 when auto_fix feature is disabled1455 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_request1456 when project does not have a security_setting1457 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_request1458 security orchestration policies1459 with developer or maintainer role1460 role: "maintainer"1461 is expected to be allowed :read_security_orchestration_policies1462 is expected to be disallowed :update_security_orchestration_policy_project1463 role: "developer"1464 is expected to be allowed :read_security_orchestration_policies1465 is expected to be disallowed :update_security_orchestration_policy_project1466 with owner role1467 role: "owner"1468 is expected to be allowed :read_security_orchestration_policies1469 is expected to be allowed :update_security_orchestration_policy_project1470 is expected to be allowed :modify_security_policy1471 when security_orchestration_policy_configuration is present1472 when current_user is developer of security_policy_management_project1473 is expected to be allowed :modify_security_policy1474 when current_user is not developer of security_policy_management_project1475 is expected to be disallowed :modify_security_policy1476 coverage_fuzzing1477 when coverage_fuzzing feature is available1478 with developer or higher role1479 role: "owner"1480 is expected to be allowed :read_coverage_fuzzing1481 role: "maintainer"1482 is expected to be allowed :read_coverage_fuzzing1483 role: "developer"1484 is expected to be allowed :read_coverage_fuzzing1485 with admin1486 when admin mode enabled1487 is expected to be allowed :read_coverage_fuzzing1488 when admin mode disabled1489 is expected to be disallowed :read_coverage_fuzzing1490 with less than developer role1491 role: "reporter"1492 is expected to be disallowed :read_coverage_fuzzing1493 role: "guest"1494 is expected to be disallowed :read_coverage_fuzzing1495 with non member1496 is expected to be disallowed :read_coverage_fuzzing1497 with anonymous1498 is expected to be disallowed :read_coverage_fuzzing1499 when coverage fuzzing feature is not available1500 is expected to be disallowed :read_coverage_fuzzing1501 remove_project when default_project_deletion_protection is set to true1502 with admin1503 when admin mode enabled1504 is expected to be allowed :remove_project1505 when admin mode disabled1506 is expected to be disallowed :remove_project1507 who owns the project1508 is expected to be disallowed :remove_project1509 with owner1510 is expected to be disallowed :remove_project1511 admin_feature_flags_issue_links1512 with maintainer1513 is expected to be allowed :admin_feature_flags_issue_links1514 when repository is disabled1515 is expected to be disallowed :admin_feature_flags_issue_links1516 with developer1517 is expected to be allowed :admin_feature_flags_issue_links1518 when feature is unlicensed1519 is expected to be disallowed :admin_feature_flags_issue_links1520 with reporter1521 is expected to be disallowed :admin_feature_flags_issue_links1522 admin_software_license_policy1523 without license scanning feature available1524 is expected to be disallowed :admin_software_license_policy1525 with admin1526 when admin mode enabled1527 is expected to be allowed :admin_software_license_policy1528 when admin mode disabled1529 is expected to be disallowed :admin_software_license_policy1530 with owner1531 is expected to be allowed :admin_software_license_policy1532 with maintainer1533 is expected to be allowed :admin_software_license_policy1534 with developer1535 is expected to be disallowed :admin_software_license_policy1536 with reporter1537 is expected to be disallowed :admin_software_license_policy1538 with guest1539 is expected to be disallowed :admin_software_license_policy1540 with non member1541 is expected to be disallowed :admin_software_license_policy1542 with anonymous1543 is expected to be disallowed :admin_software_license_policy1544 read_software_license_policy1545 without license scanning feature available1546 is expected to be disallowed :read_software_license_policy1547 read_dependencies1548 when dependency scanning feature available1549 with public project1550 with public access to repository1551 is expected to be allowed :read_dependencies1552 with limited access to repository1553 is expected not to be allowed :read_dependencies1554 with private project1555 with admin1556 when admin mode enabled1557 is expected to be allowed :read_dependencies1558 when admin mode disabled1559 is expected to be disallowed :read_dependencies1560 with owner1561 is expected to be allowed :read_dependencies1562 with maintainer1563 is expected to be allowed :read_dependencies1564 with developer1565 is expected to be allowed :read_dependencies1566 with reporter1567 is expected to be allowed :read_dependencies1568 with guest1569 is expected to be disallowed :read_dependencies1570 with non member1571 is expected to be disallowed :read_dependencies1572 with anonymous1573 is expected to be disallowed :read_dependencies1574 when dependency list feature not available1575 is expected not to be allowed :read_dependencies1576 read_licenses1577 when license management feature available1578 with public project1579 with public access to repository1580 is expected to be allowed :read_licenses1581 with private project1582 role: "owner"1583 is expected to be allowed :read_licenses1584 role: "maintainer"1585 is expected to be allowed :read_licenses1586 role: "developer"1587 is expected to be allowed :read_licenses1588 role: "reporter"1589 is expected to be allowed :read_licenses1590 with admin1591 when admin mode enabled1592 is expected to be allowed :read_licenses1593 when admin mode disabled1594 is expected to be disallowed :read_licenses1595 with guest1596 is expected to be disallowed :read_licenses1597 with non member1598 is expected to be disallowed :read_licenses1599 with anonymous1600 is expected to be disallowed :read_licenses1601 when license management feature in not available1602 is expected to be disallowed :read_licenses1603 publish_status_page1604 when feature is available1605 role: :anonymous, admin_mode: nil, allowed: false1606 is expected to be disallowed :publish_status_page1607 when feature is not available1608 is expected to be disallowed :publish_status_page1609 role: :guest, admin_mode: nil, allowed: false1610 is expected to be disallowed :publish_status_page1611 when feature is not available1612 is expected to be disallowed :publish_status_page1613 role: :reporter, admin_mode: nil, allowed: false1614 is expected to be disallowed :publish_status_page1615 when feature is not available1616 is expected to be disallowed :publish_status_page1617 role: :developer, admin_mode: nil, allowed: true1618 is expected to be allowed :publish_status_page1619 when feature is not available1620 is expected to be disallowed :publish_status_page1621 role: :maintainer, admin_mode: nil, allowed: true1622 is expected to be allowed :publish_status_page1623 when feature is not available1624 is expected to be disallowed :publish_status_page1625 role: :owner, admin_mode: nil, allowed: true1626 is expected to be allowed :publish_status_page1627 when feature is not available1628 is expected to be disallowed :publish_status_page1629 role: :admin, admin_mode: false, allowed: false1630 is expected to be disallowed :publish_status_page1631 when feature is not available1632 is expected to be disallowed :publish_status_page1633 role: :admin, admin_mode: true, allowed: true1634 is expected to be allowed :publish_status_page1635 when feature is not available1636 is expected to be disallowed :publish_status_page1637 add_project_to_instance_security_dashboard1638 when user is auditor1639 is expected to be allowed :add_project_to_instance_security_dashboard1640 when user is not auditor1641 with developer access1642 is expected to be allowed :add_project_to_instance_security_dashboard1643 without developer access1644 is expected to be disallowed :add_project_to_instance_security_dashboard1645 visual review bot1646 is expected to be allowed :create_note1647 is expected not to be allowed :read_note1648 is expected not to be allowed :resolve_note1649 commit_committer_check is not enabled by the current license1650 is expected not to be allowed :change_commit_committer_check1651 is expected not to be allowed :read_commit_committer_check1652 commit_committer_check is enabled by the current license1653 when the user is an admin1654 is expected to be allowed :change_commit_committer_check1655 is expected to be allowed :read_commit_committer_check1656 the user is a maintainer1657 is expected to be allowed :change_commit_committer_check1658 is expected to be allowed :read_commit_committer_check1659 the user is a developer1660 is expected not to be allowed :change_commit_committer_check1661 is expected to be allowed :read_commit_committer_check1662 reject_unsigned_commits is not enabled by the current license1663 is expected not to be allowed :change_reject_unsigned_commits1664 is expected not to be allowed :read_reject_unsigned_commits1665 reject_unsigned_commits is enabled by the current license1666 when the user is an admin1667 is expected to be allowed :change_reject_unsigned_commits1668 is expected to be allowed :read_reject_unsigned_commits1669 when the user is a maintainer1670 is expected to be allowed :change_reject_unsigned_commits1671 is expected to be allowed :read_reject_unsigned_commits1672 when the user is a developer1673 is expected not to be allowed :change_reject_unsigned_commits1674 is expected to be allowed :read_reject_unsigned_commits1675 when dora4 analytics is available1676 when the user is a developer1677 is expected to be allowed :read_dora4_analytics1678 when the user is an admin1679 is expected to be allowed :read_dora4_analytics1680 when dora4 analytics is not available1681 is expected not to be allowed :read_dora4_analytics1682 :read_code_review_analytics1683 role: :guest, admin_mode: nil, allowed: false1684 is expected to be disallowed :read_code_review_analytics1685 role: :reporter, admin_mode: nil, allowed: true1686 is expected to be allowed :read_code_review_analytics1687 role: :developer, admin_mode: nil, allowed: true1688 is expected to be allowed :read_code_review_analytics1689 role: :maintainer, admin_mode: nil, allowed: true1690 is expected to be allowed :read_code_review_analytics1691 role: :owner, admin_mode: nil, allowed: true1692 is expected to be allowed :read_code_review_analytics1693 role: :admin, admin_mode: false, allowed: false1694 is expected to be disallowed :read_code_review_analytics1695 role: :admin, admin_mode: true, allowed: true1696 is expected to be allowed :read_code_review_analytics1697 with code review analytics is not available in license1698 is expected to be disallowed :read_code_review_analytics1699 :admin_merge_request_approval_settings1700 role: :guest, licensed: true, allowed: false1701 is expected to be disallowed :admin_merge_request_approval_settings1702 role: :reporter, licensed: true, allowed: false1703 is expected to be disallowed :admin_merge_request_approval_settings1704 role: :developer, licensed: true, allowed: false1705 is expected to be disallowed :admin_merge_request_approval_settings1706 role: :maintainer, licensed: false, allowed: false1707 is expected to be disallowed :admin_merge_request_approval_settings1708 role: :maintainer, licensed: true, allowed: true1709 is expected to be allowed :admin_merge_request_approval_settings1710 role: :owner, licensed: false, allowed: false1711 is expected to be disallowed :admin_merge_request_approval_settings1712 role: :owner, licensed: true, allowed: true1713 is expected to be allowed :admin_merge_request_approval_settings1714 role: :admin, licensed: true, allowed: true1715 is expected to be allowed :admin_merge_request_approval_settings1716 role: :admin, licensed: false, allowed: false1717 is expected to be disallowed :admin_merge_request_approval_settings1718 :modify_approvers_rules1719 behaves like merge request approval settings1720 with merge request approvers rules available in license1721 role: :guest, setting: true, admin_mode: nil, allowed: false1722 is expected to be disallowed :modify_approvers_rules1723 role: :reporter, setting: true, admin_mode: nil, allowed: false1724 is expected to be disallowed :modify_approvers_rules1725 role: :developer, setting: true, admin_mode: nil, allowed: false1726 is expected to be disallowed :modify_approvers_rules1727 role: :maintainer, setting: false, admin_mode: nil, allowed: true1728 is expected to be allowed :modify_approvers_rules1729 role: :maintainer, setting: true, admin_mode: nil, allowed: false1730 is expected to be disallowed :modify_approvers_rules1731 role: :owner, setting: false, admin_mode: nil, allowed: true1732 is expected to be allowed :modify_approvers_rules1733 role: :owner, setting: true, admin_mode: nil, allowed: false1734 is expected to be disallowed :modify_approvers_rules1735 role: :admin, setting: false, admin_mode: false, allowed: false1736 is expected to be disallowed :modify_approvers_rules1737 role: :admin, setting: false, admin_mode: true, allowed: true1738 is expected to be allowed :modify_approvers_rules1739 role: :admin, setting: true, admin_mode: false, allowed: false1740 is expected to be disallowed :modify_approvers_rules1741 role: :admin, setting: true, admin_mode: true, allowed: true1742 is expected to be allowed :modify_approvers_rules1743 with merge request approvers rules not available in license1744 role: :guest, setting: true, admin_mode: nil, allowed: false1745 is expected to be disallowed :modify_approvers_rules1746 role: :reporter, setting: true, admin_mode: nil, allowed: false1747 is expected to be disallowed :modify_approvers_rules1748 role: :developer, setting: true, admin_mode: nil, allowed: false1749 is expected to be disallowed :modify_approvers_rules1750 role: :maintainer, setting: false, admin_mode: nil, allowed: true1751 is expected to be allowed :modify_approvers_rules1752 role: :maintainer, setting: true, admin_mode: nil, allowed: true1753 is expected to be allowed :modify_approvers_rules1754 role: :owner, setting: false, admin_mode: nil, allowed: true1755 is expected to be allowed :modify_approvers_rules1756 role: :owner, setting: true, admin_mode: nil, allowed: true1757 is expected to be allowed :modify_approvers_rules1758 role: :admin, setting: false, admin_mode: false, allowed: false1759 is expected to be disallowed :modify_approvers_rules1760 role: :admin, setting: false, admin_mode: true, allowed: true1761 is expected to be allowed :modify_approvers_rules1762 role: :admin, setting: true, admin_mode: false, allowed: false1763 is expected to be disallowed :modify_approvers_rules1764 role: :admin, setting: true, admin_mode: true, allowed: true1765 is expected to be allowed :modify_approvers_rules1766 :modify_merge_request_author_setting1767 behaves like merge request approval settings1768 with merge request approvers rules available in license1769 role: :guest, setting: true, admin_mode: nil, allowed: false1770 is expected to be disallowed :modify_merge_request_author_setting1771 role: :reporter, setting: true, admin_mode: nil, allowed: false1772 is expected to be disallowed :modify_merge_request_author_setting1773 role: :developer, setting: true, admin_mode: nil, allowed: false1774 is expected to be disallowed :modify_merge_request_author_setting1775 role: :maintainer, setting: false, admin_mode: nil, allowed: true1776 is expected to be allowed :modify_merge_request_author_setting1777 role: :maintainer, setting: true, admin_mode: nil, allowed: false1778 is expected to be disallowed :modify_merge_request_author_setting1779 role: :owner, setting: false, admin_mode: nil, allowed: true1780 is expected to be allowed :modify_merge_request_author_setting1781 role: :owner, setting: true, admin_mode: nil, allowed: false1782 is expected to be disallowed :modify_merge_request_author_setting1783 role: :admin, setting: false, admin_mode: false, allowed: false1784 is expected to be disallowed :modify_merge_request_author_setting1785 role: :admin, setting: false, admin_mode: true, allowed: true1786 is expected to be allowed :modify_merge_request_author_setting1787 role: :admin, setting: true, admin_mode: false, allowed: false1788 is expected to be disallowed :modify_merge_request_author_setting1789 role: :admin, setting: true, admin_mode: true, allowed: false1790 is expected to be disallowed :modify_merge_request_author_setting1791 with merge request approvers rules not available in license1792 role: :guest, setting: true, admin_mode: nil, allowed: false1793 is expected to be disallowed :modify_merge_request_author_setting1794 role: :reporter, setting: true, admin_mode: nil, allowed: false1795 is expected to be disallowed :modify_merge_request_author_setting1796 role: :developer, setting: true, admin_mode: nil, allowed: false1797 is expected to be disallowed :modify_merge_request_author_setting1798 role: :maintainer, setting: false, admin_mode: nil, allowed: true1799 is expected to be allowed :modify_merge_request_author_setting1800 role: :maintainer, setting: true, admin_mode: nil, allowed: true1801 is expected to be allowed :modify_merge_request_author_setting1802 role: :owner, setting: false, admin_mode: nil, allowed: true1803 is expected to be allowed :modify_merge_request_author_setting1804 role: :owner, setting: true, admin_mode: nil, allowed: true1805 is expected to be allowed :modify_merge_request_author_setting1806 role: :admin, setting: false, admin_mode: false, allowed: false1807 is expected to be disallowed :modify_merge_request_author_setting1808 role: :admin, setting: false, admin_mode: true, allowed: true1809 is expected to be allowed :modify_merge_request_author_setting1810 role: :admin, setting: true, admin_mode: false, allowed: false1811 is expected to be disallowed :modify_merge_request_author_setting1812 role: :admin, setting: true, admin_mode: true, allowed: true1813 is expected to be allowed :modify_merge_request_author_setting1814 :modify_merge_request_committer_setting1815 behaves like merge request approval settings1816 with merge request approvers rules available in license1817 role: :guest, setting: true, admin_mode: nil, allowed: false1818 is expected to be disallowed :modify_merge_request_committer_setting1819 role: :reporter, setting: true, admin_mode: nil, allowed: false1820 is expected to be disallowed :modify_merge_request_committer_setting1821 role: :developer, setting: true, admin_mode: nil, allowed: false1822 is expected to be disallowed :modify_merge_request_committer_setting1823 role: :maintainer, setting: false, admin_mode: nil, allowed: true1824 is expected to be allowed :modify_merge_request_committer_setting1825 role: :maintainer, setting: true, admin_mode: nil, allowed: false1826 is expected to be disallowed :modify_merge_request_committer_setting1827 role: :owner, setting: false, admin_mode: nil, allowed: true1828 is expected to be allowed :modify_merge_request_committer_setting1829 role: :owner, setting: true, admin_mode: nil, allowed: false1830 is expected to be disallowed :modify_merge_request_committer_setting1831 role: :admin, setting: false, admin_mode: false, allowed: false1832 is expected to be disallowed :modify_merge_request_committer_setting1833 role: :admin, setting: false, admin_mode: true, allowed: true1834 is expected to be allowed :modify_merge_request_committer_setting1835 role: :admin, setting: true, admin_mode: false, allowed: false1836 is expected to be disallowed :modify_merge_request_committer_setting1837 role: :admin, setting: true, admin_mode: true, allowed: false1838 is expected to be disallowed :modify_merge_request_committer_setting1839 with merge request approvers rules not available in license1840 role: :guest, setting: true, admin_mode: nil, allowed: false1841 is expected to be disallowed :modify_merge_request_committer_setting1842 role: :reporter, setting: true, admin_mode: nil, allowed: false1843 is expected to be disallowed :modify_merge_request_committer_setting1844 role: :developer, setting: true, admin_mode: nil, allowed: false1845 is expected to be disallowed :modify_merge_request_committer_setting1846 role: :maintainer, setting: false, admin_mode: nil, allowed: true1847 is expected to be allowed :modify_merge_request_committer_setting1848 role: :maintainer, setting: true, admin_mode: nil, allowed: true1849 is expected to be allowed :modify_merge_request_committer_setting1850 role: :owner, setting: false, admin_mode: nil, allowed: true1851 is expected to be allowed :modify_merge_request_committer_setting1852 role: :owner, setting: true, admin_mode: nil, allowed: true1853 is expected to be allowed :modify_merge_request_committer_setting1854 role: :admin, setting: false, admin_mode: false, allowed: false1855 is expected to be disallowed :modify_merge_request_committer_setting1856 role: :admin, setting: false, admin_mode: true, allowed: true1857 is expected to be allowed :modify_merge_request_committer_setting1858 role: :admin, setting: true, admin_mode: false, allowed: false1859 is expected to be disallowed :modify_merge_request_committer_setting1860 role: :admin, setting: true, admin_mode: true, allowed: true1861 is expected to be allowed :modify_merge_request_committer_setting1862 behaves like resource with requirement permissions1863 when requirements feature is enabled1864 with admin1865 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1866 with owner1867 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1868 with maintainer1869 behaves like user with manage permissions1870 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1871 is expected to be disallowed :destroy_requirement1872 with developer1873 behaves like user with manage permissions1874 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1875 is expected to be disallowed :destroy_requirement1876 with reporter1877 behaves like user with manage permissions1878 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1879 is expected to be disallowed :destroy_requirement1880 with guest1881 behaves like user with read-only permissions1882 is expected to be allowed :read_requirement1883 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1884 with non member1885 behaves like user with read-only permissions1886 is expected to be allowed :read_requirement1887 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1888 with private resource parent1889 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1890 when access level is disabled1891 with owner1892 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1893 with admin1894 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1895 when access level is private1896 with admin user1897 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1898 with admin mode enabled1899 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1900 with owner1901 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1902 with maintainer1903 behaves like user with manage permissions1904 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1905 is expected to be disallowed :destroy_requirement1906 with developer1907 behaves like user with manage permissions1908 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1909 is expected to be disallowed :destroy_requirement1910 with reporter1911 behaves like user with manage permissions1912 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1913 is expected to be disallowed :destroy_requirement1914 with guest1915 behaves like user with read-only permissions1916 is expected to be allowed :read_requirement1917 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1918 with non member1919 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1920 when requirements feature is disabled1921 with owner1922 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1923 with admin1924 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1925 Quality Management test case1926 role: :guest, admin_mode: nil, allowed: false1927 is expected to be disallowed :create_test_case1928 with unavailable license1929 is expected to be disallowed :create_test_case1930 role: :reporter, admin_mode: nil, allowed: true1931 is expected to be allowed :create_test_case1932 with unavailable license1933 is expected to be disallowed :create_test_case1934 role: :developer, admin_mode: nil, allowed: true1935 is expected to be allowed :create_test_case1936 with unavailable license1937 is expected to be disallowed :create_test_case1938 role: :maintainer, admin_mode: nil, allowed: true1939 is expected to be allowed :create_test_case1940 with unavailable license1941 is expected to be disallowed :create_test_case1942 role: :owner, admin_mode: nil, allowed: true1943 is expected to be allowed :create_test_case1944 with unavailable license1945 is expected to be disallowed :create_test_case1946 role: :admin, admin_mode: false, allowed: false1947 is expected to be disallowed :create_test_case1948 with unavailable license1949 is expected to be disallowed :create_test_case1950 role: :admin, admin_mode: true, allowed: true1951 is expected to be allowed :create_test_case1952 with unavailable license1953 is expected to be disallowed :create_test_case1954 :compliance_framework_available1955 role: :guest, feature_enabled: false, admin_mode: nil, allowed: false1956 is expected to be disallowed :admin_compliance_framework1957 role: :guest, feature_enabled: true, admin_mode: nil, allowed: false1958 is expected to be disallowed :admin_compliance_framework1959 role: :reporter, feature_enabled: false, admin_mode: nil, allowed: false1960 is expected to be disallowed :admin_compliance_framework1961 role: :reporter, feature_enabled: true, admin_mode: nil, allowed: false1962 is expected to be disallowed :admin_compliance_framework1963 role: :developer, feature_enabled: false, admin_mode: nil, allowed: false1964 is expected to be disallowed :admin_compliance_framework1965 role: :maintainer, feature_enabled: false, admin_mode: nil, allowed: false1966 is expected to be disallowed :admin_compliance_framework1967 role: :maintainer, feature_enabled: true, admin_mode: nil, allowed: false1968 is expected to be disallowed :admin_compliance_framework1969 role: :owner, feature_enabled: false, admin_mode: nil, allowed: false1970 is expected to be disallowed :admin_compliance_framework1971 role: :owner, feature_enabled: true, admin_mode: nil, allowed: true1972 is expected to be allowed :admin_compliance_framework1973 role: :admin, feature_enabled: false, admin_mode: false, allowed: false1974 is expected to be disallowed :admin_compliance_framework1975 role: :admin, feature_enabled: false, admin_mode: true, allowed: false1976 is expected to be disallowed :admin_compliance_framework1977 role: :admin, feature_enabled: true, admin_mode: false, allowed: false1978 is expected to be disallowed :admin_compliance_framework1979 role: :admin, feature_enabled: true, admin_mode: true, allowed: true1980 is expected to be allowed :admin_compliance_framework1981 Incident Management on-call schedules1982 :read_incident_management_oncall_schedule1983 role: :guest, admin_mode: nil, allowed: false1984 is expected to be disallowed :read_incident_management_oncall_schedule1985 with unavailable license1986 is expected to be disallowed :read_incident_management_oncall_schedule1987 role: :reporter, admin_mode: nil, allowed: true1988 is expected to be allowed :read_incident_management_oncall_schedule1989 with unavailable license1990 is expected to be disallowed :read_incident_management_oncall_schedule1991 role: :developer, admin_mode: nil, allowed: true1992 is expected to be allowed :read_incident_management_oncall_schedule1993 with unavailable license1994 is expected to be disallowed :read_incident_management_oncall_schedule1995 role: :maintainer, admin_mode: nil, allowed: true1996 is expected to be allowed :read_incident_management_oncall_schedule1997 with unavailable license1998 is expected to be disallowed :read_incident_management_oncall_schedule1999 role: :owner, admin_mode: nil, allowed: true2000 is expected to be allowed :read_incident_management_oncall_schedule2001 with unavailable license2002 is expected to be disallowed :read_incident_management_oncall_schedule2003 role: :admin, admin_mode: false, allowed: false2004 is expected to be disallowed :read_incident_management_oncall_schedule2005 with unavailable license2006 is expected to be disallowed :read_incident_management_oncall_schedule2007 role: :admin, admin_mode: true, allowed: true2008 is expected to be allowed :read_incident_management_oncall_schedule2009 with unavailable license2010 is expected to be disallowed :read_incident_management_oncall_schedule2011 role: :auditor, admin_mode: false, allowed: true2012 is expected to be allowed :read_incident_management_oncall_schedule2013 with unavailable license2014 is expected to be disallowed :read_incident_management_oncall_schedule2015 behaves like monitor feature visibility2016 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2017 is expected to be allowed :read_incident_management_oncall_schedule2018 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2019 is expected to be disallowed :read_incident_management_oncall_schedule2020 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2021 is expected to be allowed :read_incident_management_oncall_schedule2022 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2023 is expected to be disallowed :read_incident_management_oncall_schedule2024 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2025 is expected to be disallowed :read_incident_management_oncall_schedule2026 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2027 is expected to be disallowed :read_incident_management_oncall_schedule2028 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2029 is expected to be allowed :read_incident_management_oncall_schedule2030 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2031 is expected to be disallowed :read_incident_management_oncall_schedule2032 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2033 is expected to be allowed :read_incident_management_oncall_schedule2034 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2035 is expected to be disallowed :read_incident_management_oncall_schedule2036 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2037 is expected to be disallowed :read_incident_management_oncall_schedule2038 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2039 is expected to be disallowed :read_incident_management_oncall_schedule2040 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2041 is expected to be allowed :read_incident_management_oncall_schedule2042 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2043 is expected to be disallowed :read_incident_management_oncall_schedule2044 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2045 is expected to be allowed :read_incident_management_oncall_schedule2046 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2047 is expected to be disallowed :read_incident_management_oncall_schedule2048 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2049 is expected to be disallowed :read_incident_management_oncall_schedule2050 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2051 is expected to be disallowed :read_incident_management_oncall_schedule2052 :admin_incident_management_oncall_schedule2053 role: :guest, admin_mode: nil, allowed: false2054 is expected to be disallowed :admin_incident_management_oncall_schedule2055 with unavailable license2056 is expected to be disallowed :admin_incident_management_oncall_schedule2057 role: :reporter, admin_mode: nil, allowed: false2058 is expected to be disallowed :admin_incident_management_oncall_schedule2059 with unavailable license2060 is expected to be disallowed :admin_incident_management_oncall_schedule2061 role: :developer, admin_mode: nil, allowed: false2062 is expected to be disallowed :admin_incident_management_oncall_schedule2063 with unavailable license2064 is expected to be disallowed :admin_incident_management_oncall_schedule2065 role: :maintainer, admin_mode: nil, allowed: true2066 is expected to be allowed :admin_incident_management_oncall_schedule2067 with unavailable license2068 is expected to be disallowed :admin_incident_management_oncall_schedule2069 role: :owner, admin_mode: nil, allowed: true2070 is expected to be allowed :admin_incident_management_oncall_schedule2071 with unavailable license2072 is expected to be disallowed :admin_incident_management_oncall_schedule2073 role: :admin, admin_mode: false, allowed: false2074 is expected to be disallowed :admin_incident_management_oncall_schedule2075 with unavailable license2076 is expected to be disallowed :admin_incident_management_oncall_schedule2077 role: :admin, admin_mode: true, allowed: true2078 is expected to be allowed :admin_incident_management_oncall_schedule2079 with unavailable license2080 is expected to be disallowed :admin_incident_management_oncall_schedule2081 role: :auditor, admin_mode: false, allowed: false2082 is expected to be disallowed :admin_incident_management_oncall_schedule2083 with unavailable license2084 is expected to be disallowed :admin_incident_management_oncall_schedule2085 behaves like monitor feature visibility2086 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2087 is expected to be allowed :admin_incident_management_oncall_schedule2088 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2089 is expected to be disallowed :admin_incident_management_oncall_schedule2090 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2091 is expected to be allowed :admin_incident_management_oncall_schedule2092 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2093 is expected to be disallowed :admin_incident_management_oncall_schedule2094 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2095 is expected to be disallowed :admin_incident_management_oncall_schedule2096 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2097 is expected to be disallowed :admin_incident_management_oncall_schedule2098 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2099 is expected to be allowed :admin_incident_management_oncall_schedule2100 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2101 is expected to be disallowed :admin_incident_management_oncall_schedule2102 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2103 is expected to be allowed :admin_incident_management_oncall_schedule2104 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2105 is expected to be disallowed :admin_incident_management_oncall_schedule2106 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2107 is expected to be disallowed :admin_incident_management_oncall_schedule2108 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2109 is expected to be disallowed :admin_incident_management_oncall_schedule2110 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2111 is expected to be allowed :admin_incident_management_oncall_schedule2112 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2113 is expected to be disallowed :admin_incident_management_oncall_schedule2114 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2115 is expected to be allowed :admin_incident_management_oncall_schedule2116 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2117 is expected to be disallowed :admin_incident_management_oncall_schedule2118 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2119 is expected to be disallowed :admin_incident_management_oncall_schedule2120 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2121 is expected to be disallowed :admin_incident_management_oncall_schedule2122 Escalation Policies2123 :read_incident_management_escalation_policy2124 role: :guest, admin_mode: nil, allowed: false2125 is expected to be disallowed :read_incident_management_escalation_policy2126 with unavailable escalation policies2127 is expected to be disallowed :read_incident_management_escalation_policy2128 role: :reporter, admin_mode: nil, allowed: true2129 is expected to be allowed :read_incident_management_escalation_policy2130 with unavailable escalation policies2131 is expected to be disallowed :read_incident_management_escalation_policy2132 role: :developer, admin_mode: nil, allowed: true2133 is expected to be allowed :read_incident_management_escalation_policy2134 with unavailable escalation policies2135 is expected to be disallowed :read_incident_management_escalation_policy2136 role: :maintainer, admin_mode: nil, allowed: true2137 is expected to be allowed :read_incident_management_escalation_policy2138 with unavailable escalation policies2139 is expected to be disallowed :read_incident_management_escalation_policy2140 role: :owner, admin_mode: nil, allowed: true2141 is expected to be allowed :read_incident_management_escalation_policy2142 with unavailable escalation policies2143 is expected to be disallowed :read_incident_management_escalation_policy2144 role: :admin, admin_mode: false, allowed: false2145 is expected to be disallowed :read_incident_management_escalation_policy2146 with unavailable escalation policies2147 is expected to be disallowed :read_incident_management_escalation_policy2148 role: :admin, admin_mode: true, allowed: true2149 is expected to be allowed :read_incident_management_escalation_policy2150 with unavailable escalation policies2151 is expected to be disallowed :read_incident_management_escalation_policy2152 role: :auditor, admin_mode: false, allowed: true2153 is expected to be allowed :read_incident_management_escalation_policy2154 with unavailable escalation policies2155 is expected to be disallowed :read_incident_management_escalation_policy2156 behaves like monitor feature visibility2157 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2158 is expected to be allowed :read_incident_management_escalation_policy2159 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2160 is expected to be disallowed :read_incident_management_escalation_policy2161 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2162 is expected to be allowed :read_incident_management_escalation_policy2163 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2164 is expected to be disallowed :read_incident_management_escalation_policy2165 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2166 is expected to be disallowed :read_incident_management_escalation_policy2167 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2168 is expected to be disallowed :read_incident_management_escalation_policy2169 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2170 is expected to be allowed :read_incident_management_escalation_policy2171 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2172 is expected to be disallowed :read_incident_management_escalation_policy2173 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2174 is expected to be allowed :read_incident_management_escalation_policy2175 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2176 is expected to be disallowed :read_incident_management_escalation_policy2177 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2178 is expected to be disallowed :read_incident_management_escalation_policy2179 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2180 is expected to be disallowed :read_incident_management_escalation_policy2181 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2182 is expected to be allowed :read_incident_management_escalation_policy2183 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2184 is expected to be disallowed :read_incident_management_escalation_policy2185 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2186 is expected to be allowed :read_incident_management_escalation_policy2187 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2188 is expected to be disallowed :read_incident_management_escalation_policy2189 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2190 is expected to be disallowed :read_incident_management_escalation_policy2191 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2192 is expected to be disallowed :read_incident_management_escalation_policy2193 :admin_incident_management_escalation_policy2194 role: :guest, admin_mode: nil, allowed: false2195 is expected to be disallowed :admin_incident_management_escalation_policy2196 with unavailable escalation policies2197 is expected to be disallowed :admin_incident_management_escalation_policy2198 role: :reporter, admin_mode: nil, allowed: false2199 is expected to be disallowed :admin_incident_management_escalation_policy2200 with unavailable escalation policies2201 is expected to be disallowed :admin_incident_management_escalation_policy2202 role: :developer, admin_mode: nil, allowed: false2203 is expected to be disallowed :admin_incident_management_escalation_policy2204 with unavailable escalation policies2205 is expected to be disallowed :admin_incident_management_escalation_policy2206 role: :maintainer, admin_mode: nil, allowed: true2207 is expected to be allowed :admin_incident_management_escalation_policy2208 with unavailable escalation policies2209 is expected to be disallowed :admin_incident_management_escalation_policy2210 role: :owner, admin_mode: nil, allowed: true2211 is expected to be allowed :admin_incident_management_escalation_policy2212 with unavailable escalation policies2213 is expected to be disallowed :admin_incident_management_escalation_policy2214 role: :admin, admin_mode: false, allowed: false2215 is expected to be disallowed :admin_incident_management_escalation_policy2216 with unavailable escalation policies2217 is expected to be disallowed :admin_incident_management_escalation_policy2218 role: :admin, admin_mode: true, allowed: true2219 is expected to be allowed :admin_incident_management_escalation_policy2220 with unavailable escalation policies2221 is expected to be disallowed :admin_incident_management_escalation_policy2222 role: :auditor, admin_mode: false, allowed: false2223 is expected to be disallowed :admin_incident_management_escalation_policy2224 with unavailable escalation policies2225 is expected to be disallowed :admin_incident_management_escalation_policy2226 behaves like monitor feature visibility2227 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2228 is expected to be allowed :admin_incident_management_escalation_policy2229 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2230 is expected to be disallowed :admin_incident_management_escalation_policy2231 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2232 is expected to be allowed :admin_incident_management_escalation_policy2233 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2234 is expected to be disallowed :admin_incident_management_escalation_policy2235 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2236 is expected to be disallowed :admin_incident_management_escalation_policy2237 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2238 is expected to be disallowed :admin_incident_management_escalation_policy2239 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2240 is expected to be allowed :admin_incident_management_escalation_policy2241 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2242 is expected to be disallowed :admin_incident_management_escalation_policy2243 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2244 is expected to be allowed :admin_incident_management_escalation_policy2245 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2246 is expected to be disallowed :admin_incident_management_escalation_policy2247 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2248 is expected to be disallowed :admin_incident_management_escalation_policy2249 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2250 is expected to be disallowed :admin_incident_management_escalation_policy2251 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2252 is expected to be allowed :admin_incident_management_escalation_policy2253 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2254 is expected to be disallowed :admin_incident_management_escalation_policy2255 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2256 is expected to be allowed :admin_incident_management_escalation_policy2257 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2258 is expected to be disallowed :admin_incident_management_escalation_policy2259 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2260 is expected to be disallowed :admin_incident_management_escalation_policy2261 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2262 is expected to be disallowed :admin_incident_management_escalation_policy2263 when project is read only on the namespace2264 when the group is read only2265 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_package2266 when the group is not read only2267 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_package2268 project access tokens2269 GitLab.com Core resource access tokens2270 with admin access2271 when project belongs to a group2272 is expected not to be allowed :create_resource_access_tokens2273 is expected to be allowed :read_resource_access_tokens2274 is expected to be allowed :destroy_resource_access_tokens2275 when project belongs to personal namespace2276 is expected to be allowed :create_resource_access_tokens2277 is expected to be allowed :read_resource_access_tokens2278 is expected to be allowed :destroy_resource_access_tokens2279 with non admin access2280 when project belongs to a group2281 is expected not to be allowed :create_resource_access_tokens2282 is expected not to be allowed :read_resource_access_tokens2283 is expected not to be allowed :destroy_resource_access_tokens2284 when project belongs to personal namespace2285 is expected not to be allowed :create_resource_access_tokens2286 is expected not to be allowed :read_resource_access_tokens2287 is expected not to be allowed :destroy_resource_access_tokens2288 on GitLab.com paid2289 with maintainer access2290 behaves like GitLab.com Paid plan resource access tokens2291 on SaaS2292 is expected to be allowed :create_resource_access_tokens2293 is expected to be allowed :read_resource_access_tokens2294 is expected to be allowed :destroy_resource_access_tokens2295 when personal access tokens are disabled2296 is expected not to be allowed :create_resource_access_tokens2297 is expected not to be allowed :read_resource_access_tokens2298 is expected not to be allowed :destroy_resource_access_tokens2299 create resource access tokens2300 is expected to be allowed :create_resource_access_tokens2301 with a personal namespace project2302 is expected to be allowed :create_resource_access_tokens2303 when resource access token creation is not allowed2304 is expected not to be allowed :create_resource_access_tokens2305 when parent group has resource access token creation disabled2306 cannot create resource access tokens2307 is expected not to be allowed :create_resource_access_tokens2308 read resource access tokens2309 is expected to be allowed :read_resource_access_tokens2310 destroy resource access tokens2311 is expected to be allowed :destroy_resource_access_tokens2312 with developer access2313 create resource access tokens2314 is expected not to be allowed :create_resource_access_tokens2315 read resource access tokens2316 is expected not to be allowed :read_resource_access_tokens2317 destroy resource access tokens2318 is expected not to be allowed :destroy_resource_access_tokens2319 with auditor access2320 read resource access tokens2321 is expected to be allowed :read_resource_access_tokens2322 cannot create resource access tokens2323 is expected not to be allowed :create_resource_access_tokens2324 cannot destroy resource access tokens2325 is expected not to be allowed :destroy_resource_access_tokens2326 read_analytics2327 with various analytics features2328 when analytics is disabled for the project2329 for guest user2330 is expected to be disallowed :read_project_merge_request_analytics2331 is expected to be disallowed :read_code_review_analytics2332 is expected to be disallowed :read_issue_analytics2333 for developer2334 is expected to be disallowed :read_project_merge_request_analytics2335 is expected to be disallowed :read_code_review_analytics2336 is expected to be disallowed :read_issue_analytics2337 when analytics is private for the project2338 for guest user2339 is expected to be disallowed :read_project_merge_request_analytics2340 is expected to be disallowed :read_code_review_analytics2341 is expected to be disallowed :read_issue_analytics2342 for developer2343 is expected to be allowed :read_project_merge_request_analytics2344 is expected to be allowed :read_code_review_analytics2345 is expected to be allowed :read_issue_analytics2346 for admin2347 is expected to be allowed :read_project_merge_request_analytics2348 is expected to be allowed :read_code_review_analytics2349 is expected to be allowed :read_issue_analytics2350 for auditor2351 is expected to be allowed :read_project_merge_request_analytics2352 is expected to be allowed :read_code_review_analytics2353 is expected to be allowed :read_issue_analytics2354 when analytics is enabled for the project2355 for guest user2356 is expected to be disallowed :read_project_merge_request_analytics2357 is expected to be disallowed :read_code_review_analytics2358 is expected to be allowed :read_issue_analytics2359 for developer2360 is expected to be allowed :read_project_merge_request_analytics2361 is expected to be allowed :read_code_review_analytics2362 is expected to be allowed :read_issue_analytics2363 for admin2364 is expected to be allowed :read_project_merge_request_analytics2365 is expected to be allowed :read_code_review_analytics2366 is expected to be allowed :read_issue_analytics2367 for auditor2368 is expected to be allowed :read_project_merge_request_analytics2369 is expected to be allowed :read_code_review_analytics2370 is expected to be allowed :read_issue_analytics2371 :build_read_project2372 role: :guest, project_visibility: "public", allowed: true2373 is expected to be allowed :build_read_project2374 role: :reporter, project_visibility: "public", allowed: true2375 is expected to be allowed :build_read_project2376 role: :developer, project_visibility: "public", allowed: true2377 is expected to be allowed :build_read_project2378 role: :maintainer, project_visibility: "public", allowed: true2379 is expected to be allowed :build_read_project2380 role: :owner, project_visibility: "public", allowed: true2381 is expected to be allowed :build_read_project2382 role: :admin, project_visibility: "public", allowed: true2383 is expected to be allowed :build_read_project2384 role: :guest, project_visibility: "internal", allowed: true2385 is expected to be allowed :build_read_project2386 role: :reporter, project_visibility: "internal", allowed: true2387 is expected to be allowed :build_read_project2388 role: :developer, project_visibility: "internal", allowed: true2389 is expected to be allowed :build_read_project2390 role: :maintainer, project_visibility: "internal", allowed: true2391 is expected to be allowed :build_read_project2392 role: :owner, project_visibility: "internal", allowed: true2393 is expected to be allowed :build_read_project2394 role: :admin, project_visibility: "internal", allowed: true2395 is expected to be allowed :build_read_project2396 role: :guest, project_visibility: "private", allowed: false2397 is expected to be disallowed :build_read_project2398 role: :reporter, project_visibility: "private", allowed: true2399 is expected to be allowed :build_read_project2400 role: :developer, project_visibility: "private", allowed: true2401 is expected to be allowed :build_read_project2402 role: :maintainer, project_visibility: "private", allowed: true2403 is expected to be allowed :build_read_project2404 role: :owner, project_visibility: "private", allowed: true2405 is expected to be allowed :build_read_project2406 role: :admin, project_visibility: "private", allowed: false2407 is expected to be disallowed :build_read_project2408 pending member permissions2409 with a pending membership in a private project2410 role: :guest2411 a pending member has permissions to the project as if the user is not a member2412 role: :reporter2413 a pending member has permissions to the project as if the user is not a member2414 role: :developer2415 a pending member has permissions to the project as if the user is not a member2416 role: :maintainer2417 a pending member has permissions to the project as if the user is not a member2418 with a group invited to a project2419 role: :guest2420 a pending member in the group has permissions to the project as if the user is not a member2421 role: :reporter2422 a pending member in the group has permissions to the project as if the user is not a member2423 role: :developer2424 a pending member in the group has permissions to the project as if the user is not a member2425 role: :maintainer2426 a pending member in the group has permissions to the project as if the user is not a member2427 role: :owner2428 a pending member in the group has permissions to the project as if the user is not a member2429 with a group invited to another group2430 role: :guest2431 a pending member in the group has permissions to the other group's project as if the user is not a member2432 role: :reporter2433 a pending member in the group has permissions to the other group's project as if the user is not a member2434 role: :developer2435 a pending member in the group has permissions to the other group's project as if the user is not a member2436 role: :maintainer2437 a pending member in the group has permissions to the other group's project as if the user is not a member2438 role: :owner2439 a pending member in the group has permissions to the other group's project as if the user is not a member2440 with a subgroup2441 role: :guest2442 a pending member in the group has permissions to the subgroup project as if the user is not a member2443 role: :reporter2444 a pending member in the group has permissions to the subgroup project as if the user is not a member2445 role: :developer2446 a pending member in the group has permissions to the subgroup project as if the user is not a member2447 role: :maintainer2448 a pending member in the group has permissions to the subgroup project as if the user is not a member2449 role: :owner2450 a pending member in the group has permissions to the subgroup project as if the user is not a member2451 :read_approvers2452 role: :guest, allowed: false2453 is expected to be disallowed :read_approvers2454 role: :reporter, allowed: false2455 is expected to be disallowed :read_approvers2456 role: :developer, allowed: false2457 is expected to be disallowed :read_approvers2458 role: :maintainer, allowed: true2459 is expected to be allowed :read_approvers2460 role: :auditor, allowed: true2461 is expected to be allowed :read_approvers2462 role: :owner, allowed: true2463 is expected to be allowed :read_approvers2464 role: :admin, allowed: true2465 is expected to be allowed :read_approvers2466 importing members from another project2467 for a personal project2468 is expected to be allowed :import_project_members_from_another_project2469 for a project in a group2470 when the project has locked their membership2471 via the parent group2472 is expected to be disallowed :import_project_members_from_another_project2473 via LDAP2474 is expected to be disallowed :import_project_members_from_another_project2475 via SAML2476 is expected to be disallowed :import_project_members_from_another_project2477 users banned from projects2478 when user is not banned2479 is expected to be allowed :read_project2480 when user is banned2481 is expected to be disallowed :read_project2482 when group is a subgroup2483 is expected to be disallowed :read_project2484 when feature flag is disabled2485 is expected to be allowed :read_project2486 when project is public2487 is expected to be allowed :read_project2488 when group is a subgroup2489 is expected to be allowed :read_project2490 when user is a project owner2491 is expected to be disallowed :read_project2492 when user is an admin2493 is expected to be allowed :read_project2494 create_objective2495 role: :guest, allowed: true2496 when okrs_mvc feature flag is enabled2497 is expected to be allowed :create_objective and :create_key_result2498 when okrs_mvc feature flag is disabled2499 is expected to be disallowed :create_objective and :create_key_result2500 when okrs license feature is not available2501 is expected to be disallowed :create_objective and :create_key_result2502 role: :reporter, allowed: true2503 when okrs_mvc feature flag is enabled2504 is expected to be allowed :create_objective and :create_key_result2505 when okrs_mvc feature flag is disabled2506 is expected to be disallowed :create_objective and :create_key_result2507 when okrs license feature is not available2508 is expected to be disallowed :create_objective and :create_key_result2509 role: :developer, allowed: true2510 when okrs_mvc feature flag is enabled2511 is expected to be allowed :create_objective and :create_key_result2512 when okrs_mvc feature flag is disabled2513 is expected to be disallowed :create_objective and :create_key_result2514 when okrs license feature is not available2515 is expected to be disallowed :create_objective and :create_key_result2516 role: :maintainer, allowed: true2517 when okrs_mvc feature flag is enabled2518 is expected to be allowed :create_objective and :create_key_result2519 when okrs_mvc feature flag is disabled2520 is expected to be disallowed :create_objective and :create_key_result2521 when okrs license feature is not available2522 is expected to be disallowed :create_objective and :create_key_result2523 role: :auditor, allowed: false2524 when okrs_mvc feature flag is enabled2525 is expected to be disallowed :create_objective and :create_key_result2526 when okrs_mvc feature flag is disabled2527 is expected to be disallowed :create_objective and :create_key_result2528 when okrs license feature is not available2529 is expected to be disallowed :create_objective and :create_key_result2530 role: :owner, allowed: true2531 when okrs_mvc feature flag is enabled2532 is expected to be allowed :create_objective and :create_key_result2533 when okrs_mvc feature flag is disabled2534 is expected to be disallowed :create_objective and :create_key_result2535 when okrs license feature is not available2536 is expected to be disallowed :create_objective and :create_key_result2537 role: :admin, allowed: true2538 when okrs_mvc feature flag is enabled2539 is expected to be allowed :create_objective and :create_key_result2540 when okrs_mvc feature flag is disabled2541 is expected to be disallowed :create_objective and :create_key_result2542 when okrs license feature is not available2543 is expected to be disallowed :create_objective and :create_key_result2544 hidden projects2545 is expected to be disallowed :download_code2546 is expected to be disallowed :build_download_code2547 custom role2548 custom_roles license enabled2549 custom role for parent group2550 custom role allows read code2551 is expected to be allowed :read_code2552 custom role disallows read code2553 is expected to be disallowed :read_code2554 custom role on project membership2555 custom role allows read code2556 is expected to be allowed :read_code2557 custom role disallows read code2558 is expected to be disallowed :read_code2559 multiple custom roles in hierarchy with different read_code values2560 is expected to be allowed :read_code2561 without custom_roles license enabled2562 is expected to be disallowed :read_code2563 permissions for suggested reviewers bot2564 when user is suggested_reviewers_bot2565 suggested_reviewers_available: false, token_creation_allowed: false, allowed: false2566 always allows permissions except when feature disabled2567 suggested_reviewers_available: false, token_creation_allowed: true, allowed: false2568 always allows permissions except when feature disabled2569 suggested_reviewers_available: true, token_creation_allowed: false, allowed: false2570 always allows permissions except when feature disabled2571 suggested_reviewers_available: true, token_creation_allowed: true, allowed: true2572 always allows permissions except when feature disabled2573 when user is not suggested_reviewers_bot2574 does not allow permissions2575 read_namespace_catalog2576 when the ci_namespace_catalog licensed feature is unavailable2577 is expected to be disallowed :read_namespace_catalog2578 when the ci_private_catalog_beta feature flag is disabled2579 is expected to be disallowed :read_namespace_catalog2580 when ci_namespace_catalog and ci_private_catalog_beta are available2581 role: :owner, allowed: true2582 is expected to equal true2583 role: :maintainer, allowed: true2584 is expected to equal true2585 role: :developer, allowed: true2586 is expected to equal true2587 role: :reporter, allowed: false2588 is expected to equal false2589 role: :guest, allowed: false2590 is expected to equal false2591 add_catalog_resource2592 when the ci_namespace_catalog licensed feature is unavailable2593 is expected to be disallowed :add_catalog_resource2594 when the ci_private_catalog_beta feature flag is disabled2595 is expected to be disallowed :add_catalog_resource2596 when ci_namespace_catalog and ci_private_catalog_beta are available2597 role: :owner, allowed: true2598 is expected to equal true2599 role: :maintainer, allowed: false2600 is expected to equal false2601 role: :developer, allowed: false2602 is expected to equal false2603 role: :reporter, allowed: false2604 is expected to equal false2605 role: :guest, allowed: false2606 is expected to equal false2607 read_project_runners2608 with auditor2609 is expected to be allowed :read_project_runners2610Epic2611 associations2612 is expected to belong to author class_name => User required: false2613 is expected to belong to assignee class_name => User required: false2614 is expected to belong to group required: false2615 is expected to belong to parent required: false2616 is expected to have many epic_issues2617 is expected to have many children2618 is expected to have many user_mentions class_name => EpicUserMention2619 is expected to have many boards_epic_user_preferences class_name => Boards::EpicUserPreference inverse_of => epic2620 is expected to have many epic_board_positions class_name => Boards::EpicBoardPosition inverse_of => epic_board2621 default values2622 is expected to eq #<Gitlab::Color:0x00007f3bf42ad7d0 @value="#1068bf">2623 scopes2624 .public_only2625 only returns public epics2626 .confidential2627 only returns confidential epics2628 .not_confidential_or_in_groups2629 returns only epics which are either not confidential or in the group2630 relative position scopes2631 .order_relative_position_on_board2632 returns epics ordered by position on the board, null last2633 without_board_position2634 returns only epics which do not have position set for the board2635 .join_board_position2636 returns epics with joined position for the board2637 title sort scopes2638 .order_title_asc2639 returns epics ordered by title, ascending2640 .order_title_desc2641 returns epics ordered by title, decending2642 .in_milestone2643 returns epics which have an issue in the milestone2644 from_id2645 returns records with id bigger or equal to the provided param2646 validations2647 is expected to validate that :group cannot be empty/falsy2648 is expected to validate that :author cannot be empty/falsy2649 is expected to validate that :title cannot be empty/falsy2650 is expected to validate that :total_opened_issue_weight cannot be empty/falsy2651 is expected to validate that :total_closed_issue_weight cannot be empty/falsy2652 is expected to validate that :total_opened_issue_count cannot be empty/falsy2653 is expected to validate that :total_closed_issue_count cannot be empty/falsy2654 is expected to validate that :total_opened_issue_weight looks like an integer2655 is expected to validate that :total_closed_issue_weight looks like an integer2656 is expected to validate that :total_opened_issue_count looks like an integer2657 is expected to validate that :total_closed_issue_count looks like an integer2658 is valid with a valid parent2659 is valid if epic is confidential and has only confidential issues2660 is not valid if epic is confidential and has non-confidential issues2661 is valid if epic is confidential and has only confidential subepics2662 is not valid if epic is confidential and has non-confidential subepics2663 children count2664 is expected to be valid2665 when child count limit was reached2666 is not valid2667 already assigned epics are still valid2668 is valid when removing parent2669 is not valid when changing parents2670 maximum hierarchy depth2671 for a new epic2672 when it below maximum depth2673 is expected to be valid2674 when goes above maximum depth2675 is invalid2676 modules2677 behaves like AtomicInternalId2678 .has_internal_id2679 Module inclusion2680 is expected to includes the AtomicInternalId module2681 Validation2682 when presence validation is required2683 when creating an object2684 raises an error if the internal id is blank2685 when updating an object2686 raises an error if the internal id is blank2687 when presence validation is not required2688 when creating an object2689 does not raise an error if the internal id is blank (PENDING: No reason given)2690 when updating an object2691 does not raise an error if the internal id is blank (PENDING: No reason given)2692 Creating an instance2693 saves a new instance properly2694 internal id generation2695 calls InternalId.generate_next and sets internal id attribute2696 does not overwrite an existing internal id2697 when the instance has an internal ID set2698 calls InternalId.update_last_value and sets the `last_value` to that of the instance2699 unsetting the instance internal id on rollback2700 when the internal id has been changed2701 when the internal id is automatically set2702 clears it on the instance2703 when the internal id is manually set2704 does not clear it on the instance2705 when the internal id has not been changed2706 preserves the value on the instance2707 supply of internal ids2708 provides a persistent supply of IID values, sensitive to the current state2709 #reset_scope_internal_id_attribute2710 rewinds the allocated IID2711 allocates the same IID2712 ordering2713 orders by start_or_end_date2714 orders by start_date ASC2715 orders by start_date DESC2716 orders by end_date ASC2717 orders by end_date DESC2718 orders by updated_at ASC2719 orders by updated_at DESC2720 orders by created_at ASC2721 orders by created_at DESC2722 orders by relative_position ASC2723 orders by title ASC2724 orders by title DESC2725 #valid_parent?2726 basic checks2727 returns true without parent2728 returns true with a valid parent2729 returns false when level is too deep2730 with parent in a descendant group2731 returns true2732 with parent from a different group hierarchy2733 returns true2734 when adding an Epic that has existing children2735 returns true when total depth after adding will not exceed limit2736 returns false when total depth after adding would exceed limit2737 when parent has ancestors and epic has children2738 returns true when total depth after adding will not exceed limit2739 returns false when total depth after adding would exceed limit2740 when hierarchy is cyclic2741 returns false when parent is same as the epic2742 returns false when child epic is parent of the given parent2743 returns false when child epic is an ancestor of the given parent2744 hierarchy2745 #ancestors2746 returns all ancestors for an epic ordered correctly2747 returns all ancestors for an epic ordered correctly with the hierarchy_order param2748 returns an empty array if an epic does not have any parent2749 #descendants2750 returns all descendants for an epic2751 returns an empty array if an epic does not have any descendants2752 #upcoming?2753 returns true when start_date is in the future2754 returns false when start_date is in the past2755 #expired?2756 returns true when due_date is in the past2757 returns false when due_date is in the future2758 #elapsed_days2759 returns 0 if there is no start_date2760 returns elapsed_days when start_date is present2761 #start_date2762 is set2763 returns as is2764 behaves like within_timeframe scope2765 .within_timeframe2766 returns resources with start_date and/or end_date between timeframe2767 returns resources which starts before the timeframe2768 returns resources which ends after the timeframe2769 #start_date_from_milestones2770 fixed date2771 returns start date from start date sourcing milestone2772 keeps start date sourcing milestone when switching to fixed dates2773 keeps start date sourcing epic when switching to fixed dates2774 milestone date2775 returns start_date2776 #due_date_from_milestones2777 fixed date2778 returns due date from due date sourcing milestone2779 keeps due date sourcing milestone when switching to fixed dates2780 keeps due date sourcing epic when switching to fixed dates2781 milestone date2782 returns due_date2783 .deepest_relationship_level2784 returns the deepest relationship level between epics2785 when there are no epics2786 returns nil2787 #issues_readable_by2788 returns all issues if a user has access to them2789 does not return issues user can not see2790 #close2791 sets closed_at to Time.current when an epic is closed2792 changes the state to closed2793 #reopen2794 sets closed_at to nil when an epic is reopend2795 sets closed_by to nil when an epic is reopend2796 changes the state to opened2797 #to_reference2798 avoids additional SQL queries2799 when nil argument2800 returns epic id2801 when from argument equals epic group2802 returns epic id2803 when from argument is a group different from epic group2804 returns complete path to the epic2805 when from argument is a project under the epic group2806 returns epic id2807 when from argument is a project under the epic subgroup2808 returns complete path to the epic2809 when from argument is a project in another group2810 returns complete path to the epic2811 when full is true2812 returns complete path to the epic2813 #has_children?2814 has no children2815 has child epics2816 #has_issues?2817 has no issues2818 has child issues2819 #has_parent?2820 has no parent2821 has parent2822 mentioning other objects2823 creates new system notes for cross references2824 relative positioning2825 there is no parent2826 behaves like no-op relative positioning2827 .scoped_items2828 is empty2829 .relative_siblings2830 is empty2831 .move_nulls_to_end2832 does not move any items2833 behaves like a no-op method2834 does not raise errors2835 does not perform any DB queries2836 does not change any relative_position2837 .move_nulls_to_start2838 does not move any items2839 behaves like a no-op method2840 does not raise errors2841 does not perform any DB queries2842 does not change any relative_position2843 instance methods2844 #move_to_start2845 behaves like a no-op method2846 does not raise errors2847 does not perform any DB queries2848 does not change any relative_position2849 #move_to_end2850 behaves like a no-op method2851 does not raise errors2852 does not perform any DB queries2853 does not change any relative_position2854 #move_between2855 behaves like a no-op method2856 does not raise errors2857 does not perform any DB queries2858 does not change any relative_position2859 #move_before2860 behaves like a no-op method2861 does not raise errors2862 does not perform any DB queries2863 does not change any relative_position2864 #move_after2865 behaves like a no-op method2866 does not raise errors2867 does not perform any DB queries2868 does not change any relative_position2869 there is a parent2870 behaves like a class that supports relative positioning2871 #scoped_items2872 includes all items with the same scope2873 #relative_siblings2874 includes all items with the same scope, except self2875 .move_nulls_to_end2876 moves items with null relative_position to the end2877 preserves relative position2878 moves the item near the start position when there are no existing positions2879 does not perform any moves if all items have their relative_position set2880 manages to move nulls to the end even if there is a sequence at the end2881 manages to move nulls to the end even if there is not enough space2882 manages to move nulls to the end, stacking if we cannot create enough space2883 manages to move nulls found in the relative scope2884 can move many nulls2885 does not have an N+1 issue2886 .move_nulls_to_start2887 moves items with null relative_position to the start2888 moves the item near the start position when there are no existing positions2889 preserves relative position2890 does not perform any moves if all items have their relative_position set2891 manages to move nulls to the start even if there is not enough space2892 manages to move nulls to the end, stacking if we cannot create enough space2893 #move_before2894 moves item before2895 can move the item before an item at the start2896 can move the item before an item at MIN_POSITION2897 can move the item before an item bunched up at MIN_POSITION2898 when there is no space2899 moves items correctly2900 leap-frogging to the left2901 can leap-frog STEPS times before needing to rebalance2902 there is no space to the left after moving STEPS times2903 rebalances to the right2904 #move_after2905 moves item after2906 can move the item after an item bunched up at MAX_POSITION2907 when there is no space2908 can move the item after an item at MAX_POSITION2909 moves items correctly2910 leap-frogging2911 rebalances after STEPS jumps2912 #move_to_start2913 places items at most IDEAL_DISTANCE from the start when the range is open2914 moves item to the end2915 positions the item at MIN_POSITION when there is only one space left2916 rebalances when there is already an item at the MIN_POSITION2917 deals with a run of elements at the start2918 #move_to_end2919 places items at most IDEAL_DISTANCE from the start when the range is open2920 moves item to the end2921 positions the item at MAX_POSITION when there is only one space left2922 rebalances when there is already an item at the MAX_POSITION2923 deals with a run of elements at the end2924 #move_between2925 positions item between two other2926 positions item between on top2927 positions item between to end2928 positions items even when after and before positions are the same2929 positions item in the middle of other two if distance is big enough2930 positions item closer to the middle if we are at the very top2931 positions item closer to the middle if we are at the very bottom2932 positions item in the middle of other two2933 positions item right if we pass non-sequential parameters2934 avoids N+1 queries when rebalancing other items2935 the two items are next to each other2936 behaves like moves item between2937 moves the middle item to between left and right2938 there is no space2939 behaves like moves item between2940 moves the middle item to between left and right2941 there is a bunch of items2942 handles bunches correctly2943 behaves like moves item between2944 moves the middle item to between left and right2945 with existing epics and related issues2946 .related_issues2947 returns epic issues ordered by relative position2948 .ids_for_base_and_decendants2949 returns epic ids only for selected epics or its descendant epics2950 .issue_metadata_for_epics2951 returns hash containing epic issues count and weight and epic status2952 with multiple health statuses2953 returns hash containing epic issues count, weight, epic status and epic issues health statuses2954 behaves like versioned description2955 associations2956 is expected to have many description_versions2957 save_description_version2958 when description was changed2959 saves the old and new description for the first update2960 only saves the new description for subsequent updates2961 sets the new description version to `saved_description_version`2962 clears `saved_description_version` after another save that does not change description2963 when description was not changed2964 does not save any description version2965 #usage_ping_record_epic_creation2966 records epic creation after saving2967 with coloured epics2968 epic_color: #<Gitlab::Color:0x00007f3bf42ad7d0 @value="#1068bf">, expected_text_color: #<Gitlab::Color:0x00007f3bd83a0a00 @value="#FFFFFF">2969 returns correct text color2970 epic_color: #<Gitlab::Color:0x00007f3bd839a6c8 @value="#FFFFFF">, expected_text_color: #<Gitlab::Color:0x00007f3bd839a600 @value="#333333">2971 returns correct text color2972 epic_color: #<Gitlab::Color:0x00007f3bd83981c0 @value="#000000">, expected_text_color: #<Gitlab::Color:0x00007f3bd83980f8 @value="#FFFFFF">2973 returns correct text color2974 .epics_readable_by_user2975 avoids N+1 queries when authorizing a list of epics2976 with an admin when admin mode is enabled2977 is expected to contain exactly #<Epic id:384 group283&1>2978 with an admin when admin mode is disabled2979 returns the epics readable by the admin2980 returns no epics when not given access2981 with a regular user2982 returns the epics readable by the user2983 returns an empty array when no epics are readable2984 without a regular user2985 returns epics that are publicly visible2986 with group hierarchy2987 when user is not a member2988 returns no epic2989 when user is a reporter in the ancestor group2990 returns epics from all groups2991 when user is a reporter in the base group2992 returns epics in main group and its descendants2993 when user is a reporter in the subgroup2994 returns epics in subgroup2995 #related_epics2996 when epics feature is enabled2997 returns readable related epics of the epic2998 when epics feature is disabled2999 returns empty result3000 #epic_link_type3001 returns nil if link_type attributes are not available3002 returns link type value for sources3003 returns inverse link type value for targets3004 #blocked_by_epics_for3005 when user can read epics3006 returns blocked epics3007 when user cannot read epic3008 returns empty array3009 when user cannot read some spics3010 returns only epics that user can read3011 order by closed_at3012 .order_closed_at_asc3013 orders on closed at3014 .order_closed_at_desc3015 orders on closed at3016 #participants3017 behaves like issuable participants3018 when resource parent is public3019 and users are referenced on notes3020 includes the issue author3021 includes the authors of the notes3022 and note is confidential3023 and mentions users3024 only includes users that can read the note as participants3025 #total_issue_weight_and_count3026 returns hash of total issue weight and count including its subepics3027 #update_cached_metadata3028 schedules cache update for parent epic when new subepic is created3029 skips cache update if there is no epic parent3030 when adding existing subepic3031 schedules cache update for parent epic3032 when epic is already assigned to other epic3033 schedules cache update for old parent and new parent epics3034 schedules cache update for parent epic when removing subepic parent3035 schedules cache update for parent epic when subepic is destroyed3036 #confidentiality_errors3037 returns correct message if epic has non-confidential issues3038 returns correct message if epic has non-confidential subepics3039 is empty if epic has only confidential subepics3040 is empty if epic has only confidential issues3041 #expire_etag_cache3042 expires etag cache when epic is changed3043 behaves like resource with exportable associations3044 #exportable_association?3045 is expected to be falsey3046 when user can read resource3047 is expected to be falsey3048 when user can read resource's association3049 is expected to be truthy3050 for an unknown association3051 is expected to be falsey3052 for an unauthenticated user3053 is expected to be falsey3054 #readable_records3055 when association not supported3056 is expected to be nil3057 when association is `:notes`3058 is expected to contain exactly #<Note id: 6, note: [FILTERED], noteable_type: "Epic", author_id: 1358, created_at: "2023-04-26 10:34...nil, resolved_by_push: nil, review_id: nil, confidential: nil, last_edited_at: nil, internal: false>3059 when user have access3060 returns all records3061Gitlab::Elastic::ProjectSearchResults3062 initialize with empty ref3063 is expected to eq #<Project id:376 namespace363/project-381>>3064 is expected to eq "master"3065 is expected to eq "hello world"3066 initialize with ref3067 is expected to eq #<Project id:376 namespace363/project-381>>3068 is expected to eq "refs/heads/test"3069 is expected to eq "hello world"3070 search3071 returns correct amounts3072 visibility checks3073 shows wiki for guests3074 filtering3075 issues3076 state not provided3077 returns opened and closed results3078 all state3079 returns opened and closed results3080 closed state3081 returns only closed results3082 opened state3083 returns only opened results3084 unsupported state3085 returns only opened results3086 filter not provided (all behavior)3087 returns confidential and not confidential results3088 confidential filter3089 returns only confidential results3090 not confidential filter3091 returns not confidential results3092 merge_requests3093 state not provided3094 returns opened and closed results3095 all state3096 returns opened and closed results3097 closed state3098 returns only closed results3099 opened state3100 returns only opened results3101 unsupported state3102 returns only opened results3103 blobs3104 behaves like search results filtered by language3105 filters by language3106 confidential issues3107 when the user is non-member3108 does not list project confidential issues for non project members3109 when the member is guest3110 does not list project confidential issues for project members with guest role3111 when the user is the author3112 lists project confidential issues3113 when the user is the assignee3114 lists project confidential issues for assignee3115 when the user is a developer3116 lists project confidential issues3117 when the user is admin3118 when admin mode is enabled3119 lists all project issues3120 when admin mode is disabled3121 does not list project confidential issues3122 users3123 returns an empty list3124 with project members3125 returns matching users who have access to the project3126 query performance3127 for scope notes3128 makes 1 Elasticsearch query3129 for scope blobs3130 makes 1 Elasticsearch query3131 for scope wiki_blobs3132 makes 1 Elasticsearch query3133 for scope commits3134 makes 1 Elasticsearch query3135 for scope issues3136 makes 1 Elasticsearch query3137 for scope merge_requests3138 makes 1 Elasticsearch query3139 for scope milestones3140 makes 1 Elasticsearch query3141 for scope users3142 makes 1 Elasticsearch query3143 for scope notes3144 makes count query3145 for scope blobs3146 makes count query3147 for scope wiki_blobs3148 makes count query3149 for scope commits3150 makes count query3151 for scope issues3152 makes count query3153 for scope merge_requests3154 makes count query3155 for scope milestones3156 makes count query3157 for scope users3158 makes count query3159 #aggregations3160 scope: "milestones", expected_aggregation_name: nil, feature_flag: false3161 when feature flag is enabled for user3162 behaves like loads expected aggregations3163 returns the expected aggregations3164 when feature flag is disabled for user3165 behaves like loads expected aggregations3166 returns the expected aggregations3167 scope: "notes", expected_aggregation_name: nil, feature_flag: false3168 when feature flag is enabled for user3169 behaves like loads expected aggregations3170 returns the expected aggregations3171 when feature flag is disabled for user3172 behaves like loads expected aggregations3173 returns the expected aggregations3174 scope: "issues", expected_aggregation_name: "labels", feature_flag: :search_issue_label_aggregation3175 when feature flag is enabled for user3176 behaves like loads expected aggregations3177 returns the expected aggregations3178 when feature flag is disabled for user3179 behaves like loads expected aggregations3180 returns the expected aggregations3181 scope: "merge_requests", expected_aggregation_name: nil, feature_flag: false3182 when feature flag is enabled for user3183 behaves like loads expected aggregations3184 returns the expected aggregations3185 when feature flag is disabled for user3186 behaves like loads expected aggregations3187 returns the expected aggregations3188 scope: "wiki_blobs", expected_aggregation_name: nil, feature_flag: false3189 when feature flag is enabled for user3190 behaves like loads expected aggregations3191 returns the expected aggregations3192 when feature flag is disabled for user3193 behaves like loads expected aggregations3194 returns the expected aggregations3195 scope: "commits", expected_aggregation_name: nil, feature_flag: false3196 when feature flag is enabled for user3197 behaves like loads expected aggregations3198 returns the expected aggregations3199 when feature flag is disabled for user3200 behaves like loads expected aggregations3201 returns the expected aggregations3202 scope: "users", expected_aggregation_name: nil, feature_flag: false3203 when feature flag is enabled for user3204 behaves like loads expected aggregations3205 returns the expected aggregations3206 when feature flag is disabled for user3207 behaves like loads expected aggregations3208 returns the expected aggregations3209 scope: "unknown", expected_aggregation_name: nil, feature_flag: false3210 when feature flag is enabled for user3211 behaves like loads expected aggregations3212 returns the expected aggregations3213 when feature flag is disabled for user3214 behaves like loads expected aggregations3215 returns the expected aggregations3216 scope: "blobs", expected_aggregation_name: "language", feature_flag: false3217 when feature flag is enabled for user3218 behaves like loads expected aggregations3219 returns the expected aggregations3220 when feature flag is disabled for user3221 behaves like loads expected aggregations3222 returns the expected aggregations3223 project search specific gates for blob scope3224 when query is blank3225 returns the an empty array3226 when project has an empty repository3227 returns an empty array3228 when user does not have download_code permission on project3229 returns an empty array3230Note3231 searches notes3232 names elasticsearch queries3233 indexes && searches diff notes3234 does not track system note updates3235 uses same index for Note subclasses3236 behaves like limited indexing is enabled3237 when the project is not enabled specifically3238 #searchable?3239 returns false3240 when a project is enabled specifically3241 #searchable?3242 returns true3243 when a group is enabled3244 #searchable?3245 returns true3246 #searchable?3247 also works on diff notes3248 json serialization3249 returns json with all needed elements3250 raises Elastic::Latest::DocumentShouldBeDeletedFromIndexError when noteable is nil3251 when internal note migration has not been finished3252 does not include the internal3253 when hashed root namespace id note migration has not been finished3254 does not include the search.hashed_root_namespace_id3255 note_type: :note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"3256 contains the correct permissions3257 when the project does not exist3258 has DISABLED access_level3259 note_type: :note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"3260 contains the correct permissions3261 when the project does not exist3262 has DISABLED access_level3263 note_type: :note_on_personal_snippet, project_feature_permission: nil, access_level: nil3264 contains the correct permissions3265 when the project does not exist3266 has DISABLED access_level3267 note_type: :note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3268 contains the correct permissions3269 when the project does not exist3270 has DISABLED access_level3271 note_type: :note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3272 contains the correct permissions3273 when the project does not exist3274 has DISABLED access_level3275 note_type: :diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3276 contains the correct permissions3277 when the project does not exist3278 has DISABLED access_level3279 note_type: :diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3280 contains the correct permissions3281 when the project does not exist3282 has DISABLED access_level3283 note_type: :diff_note_on_design, project_feature_permission: 20, access_level: nil3284 contains the correct permissions3285 when the project does not exist3286 has DISABLED access_level3287 note_type: :legacy_diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3288 contains the correct permissions3289 when the project does not exist3290 has DISABLED access_level3291 note_type: :legacy_diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3292 contains the correct permissions3293 when the project does not exist3294 has DISABLED access_level3295 note_type: :note_on_alert, project_feature_permission: 10, access_level: nil3296 contains the correct permissions3297 when the project does not exist3298 has DISABLED access_level3299 note_type: :note_on_design, project_feature_permission: 20, access_level: nil3300 contains the correct permissions3301 when the project does not exist3302 has DISABLED access_level3303 note_type: :note_on_epic, project_feature_permission: nil, access_level: nil3304 contains the correct permissions3305 when the project does not exist3306 has DISABLED access_level3307 note_type: :note_on_vulnerability, project_feature_permission: 10, access_level: nil3308 contains the correct permissions3309 when the project does not exist3310 has DISABLED access_level3311 note_type: :discussion_note_on_vulnerability, project_feature_permission: 10, access_level: nil3312 contains the correct permissions3313 when the project does not exist3314 has DISABLED access_level3315 note_type: :discussion_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3316 contains the correct permissions3317 when the project does not exist3318 has DISABLED access_level3319 note_type: :discussion_note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"3320 contains the correct permissions3321 when the project does not exist3322 has DISABLED access_level3323 note_type: :discussion_note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"3324 contains the correct permissions3325 when the project does not exist3326 has DISABLED access_level3327 note_type: :discussion_note_on_personal_snippet, project_feature_permission: nil, access_level: nil3328 contains the correct permissions3329 when the project does not exist3330 has DISABLED access_level3331 note_type: :discussion_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3332 contains the correct permissions3333 when the project does not exist3334 has DISABLED access_level3335 note_type: :track_mr_picking_note, project_feature_permission: nil, access_level: nil3336 contains the correct permissions3337 when the project does not exist3338 has DISABLED access_level3339 notes to confidential issues3340 does not find note3341 finds note when user is authorized to see it3342 return notes with matching content for project members3343 does not return notes with matching content for project members with guest role3344 when admin mode is enabled3345 behaves like notes finder3346 finds 1 notes for admin3347 behaves like notes finder3348 finds 0 notes for admin3349 behaves like notes finder3350 finds 1 notes for auditor3351 behaves like no results when the user cannot read cross project3352 returns the record if a single project was passed3353 does not return anything when trying to search cross project3354Elastic::MigrationRecord3355 #save!3356 creates an index if it is not found3357 sets the migration name3358 sets the started_at3359 does not update started_at on subsequent saves3360 sets completed_at when completed3361 does not set completed_at when not completed3362 #load_from_index3363 does not raise an exception when connection refused3364 does not raise an exception when record does not exist3365 #halt3366 sets state for halted and halted_indexing_unpaused3367 sets state with additional options if passed3368 #fail3369 calls halt with failed: true3370 #started?3371 changes on object save3372 .load_versions3373 loads all records3374 raises an exception if no index present3375 raises an exception when exception is raised3376 has a size constant bigger than the number of migrations3377 #current_migration3378 when there is an unexecuted migration3379 returns the correct migration3380 when there are no uncompleted migrations3381 returns nil3382 #running?3383 started: false, halted: false, completed: false, expected: false3384 returns the expected result3385 started: true, halted: false, completed: false, expected: true3386 returns the expected result3387 started: true, halted: true, completed: false, expected: false3388 returns the expected result3389 started: true, halted: true, completed: true, expected: false3390 returns the expected result3391 started: true, halted: false, completed: true, expected: false3392 returns the expected result3393 #stopped?3394 halted: false, completed: false, expected: false3395 returns the expected result3396 halted: false, completed: true, expected: true3397 returns the expected result3398 halted: true, completed: false, expected: true3399 returns the expected result3400 halted: true, completed: true, expected: true3401 returns the expected result3402Geo::CiSecureFileReplicator3403 invokes replicator.handle_after_create_commit on create3404 behaves like a replicator3405 Geo node status3406 on a primary site3407 .primary_total_count3408 when batch count feature flag is enabled3409 returns the number of available replicables on primary3410 when batch count feature flag is disabled3411 returns the number of available replicables on primary3412 on a secondary site3413 .registry_count3414 when batch count feature flag is enabled3415 returns the number of registries on secondary3416 when batch count feature flag is disabled3417 returns the number of registries on secondary3418 .synced_count3419 when batch count feature flag is enabled3420 returns the number of synced items on secondary3421 when batch count feature flag is disabled3422 returns the number of synced items on secondary3423 .failed_count3424 when batch count feature flag is enabled3425 returns the number of failed items on secondary3426 when batch count feature flag is disabled3427 returns the number of failed items on secondary3428 when replicator is Geo::RegistrySyncWorker compatible3429 has "created" and "deleted" events3430 #replicator3431 is defined and does not raise error3432 .replicables_for_current_secondary3433 when syncing object storage is enabled3434 behaves like is implemented and returns a valid relation3435 is implemented3436 when syncing object storage is disabled3437 behaves like is implemented and returns a valid relation3438 is implemented3439 with selective sync disabled3440 behaves like is implemented and returns a valid relation3441 is implemented3442 with selective sync enabled for namespaces3443 behaves like is implemented and returns a valid relation3444 is implemented3445 with selective sync enabled for shards3446 behaves like is implemented and returns a valid relation3447 is implemented3448 #handle_after_create_commit3449 creates a Geo::Event3450 calls #after_verifiable_update3451 when replication feature flag is disabled3452 does not call #after_verifiable_update3453 does not publish3454 #handle_after_destroy3455 creates a Geo::Event3456 when replication feature flag is disabled3457 does not publish3458 created event consumption3459 when the blob's project is in replicables for this geo node3460 invokes Geo::BlobDownloadService3461 when the blob's project is not in replicables for this geo node3462 does not invoke Geo::BlobDownloadService3463 deleted event consumption3464 when model_record was deleted from the DB and the replicator only has its ID3465 invokes Geo::FileRegistryRemovalService3466 backward compatibility3467 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format3468 when object storage is enabled3469 when GitLab managed replication is enabled3470 deletes the file from object storage3471 when GitLab managed replication is disabled3472 does not delete the file from object storage3473 #carrierwave_uploader3474 is implemented3475 #model3476 is implemented3477 is a Class3478 responds to primary_key3479 #blob_path3480 when the file is locally stored3481 returns a valid path to a file3482 #calculate_checksum3483 when the file is locally stored3484 when the file exists3485 returns hexdigest of the file3486 when the file does not exist3487 raises an error3488 when the file is remotely stored3489 raises an error3490 #file_exists?3491 is expected to be truthy3492 when the file does not exist3493 is expected to be falsey3494 when the file is nil3495 is expected to be falsey3496 .bulk_create_delete_events_async3497 creates events3498 raises error when model_record_id is nil3499 events3500 has checksum_succeeded event3501 .verification_enabled?3502 when replication is enabled3503 when verification_feature_flag_enabled? returns true3504 returns true3505 when verification_feature_flag_enabled? returns false3506 returns false3507 when replication is disabled3508 returns false3509 .checksummed_count3510 when verification is enabled3511 when batch count feature flag is enabled3512 behaves like a counter of succeeded available verifiables3513 is expected to eq 13514 excludes other verification states3515 when batch count feature flag is disabled3516 behaves like a counter of succeeded available verifiables3517 is expected to eq 13518 excludes other verification states3519 when verification is disabled3520 returns nil3521 .verified_count3522 when verification is enabled3523 when batch count feature flag is enabled3524 behaves like a counter of succeeded available verifiables3525 is expected to eq 13526 excludes other verification states3527 when batch count feature flag is disabled3528 behaves like a counter of succeeded available verifiables3529 is expected to eq 13530 excludes other verification states3531 when verification is disabled3532 returns nil3533 .checksum_failed_count3534 when verification is enabled3535 when batch count feature flag is enabled3536 behaves like a counter of failed available verifiables3537 is expected to eq 13538 excludes other verification states3539 when batch count feature flag is disabled3540 behaves like a counter of failed available verifiables3541 is expected to eq 13542 excludes other verification states3543 when verification is disabled3544 returns nil3545 .verification_failed_count3546 when verification is enabled3547 when batch count feature flag is enabled3548 behaves like a counter of failed available verifiables3549 is expected to eq 13550 excludes other verification states3551 when batch count feature flag is disabled3552 behaves like a counter of failed available verifiables3553 is expected to eq 13554 excludes other verification states3555 when verification is disabled3556 returns nil3557 .verification_total_count3558 when verification is enabled3559 when batch count feature flag is enabled3560 when the verification_state is disabled3561 is expected to eq 03562 when the verification_state is not disabled3563 is expected to eq 13564 when batch count feature flag is disabled3565 when the verification_state is disabled3566 is expected to eq 03567 when the verification_state is not disabled3568 is expected to eq 13569 when verification is disabled3570 returns nil3571 .trigger_background_verification3572 when verification is enabled3573 for a Geo secondary3574 does not enqueue ReverificationBatchWorker3575 enqueues VerificationBatchWorker3576 enqueues VerificationTimeoutWorker3577 for a Geo primary3578 enqueues ReverificationBatchWorker3579 enqueues VerificationStateBackfillWorker3580 enqueues VerificationBatchWorker3581 enqueues VerificationTimeoutWorker3582 when verification is disabled3583 does not enqueue VerificationBatchWorker3584 does not enqueue VerificationTimeoutWorker3585 .backfill_verification_state_table3586 calls VerificationStateBackfillService3587 when on secondary3588 returns false3589 .verify_batch3590 when there are records needing verification3591 calls #verify on each replicator3592 .remaining_verification_batch_count3593 converts needs_verification_count to number of batches3594 .remaining_reverification_batch_count3595 converts needs_reverification_count to number of batches3596 .reverify_batch!3597 calls #reverify_batch3598 .replicator_batch_to_verify3599 returns usable Replicator instances3600 .model_record_id_batch_to_verify3601 when the batch is filled by pending rows3602 returns IDs of pending rows3603 does not call .verification_failed_batch3604 when that batch is not filled by pending rows3605 includes IDs of failed rows3606 .verification_pending_batch3607 when current node is a primary3608 delegates to the model class of the replicator3609 when current node is a secondary3610 delegates to the registry class of the replicator3611 .verification_failed_batch3612 when current node is a primary3613 delegates to the model class of the replicator3614 when current node is a secondary3615 delegates to the registry class of the replicator3616 .fail_verification_timeouts3617 when current node is a primary3618 delegates to the model class of the replicator3619 when current node is a secondary3620 delegates to the registry class of the replicator3621 #after_verifiable_update3622 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true3623 calls verify_async only if needed3624 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3625 calls verify_async only if needed3626 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3627 calls verify_async only if needed3628 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3629 calls verify_async only if needed3630 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true3631 calls verify_async only if needed3632 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3633 calls verify_async only if needed3634 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true3635 calls verify_async only if needed3636 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3637 calls verify_async only if needed3638 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false3639 calls verify_async only if needed3640 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false3641 calls verify_async only if needed3642 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false3643 calls verify_async only if needed3644 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false3645 calls verify_async only if needed3646 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false3647 calls verify_async only if needed3648 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false3649 calls verify_async only if needed3650 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false3651 calls verify_async only if needed3652 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false3653 calls verify_async only if needed3654 #verify_async3655 on a Geo primary3656 calls verification_started! and enqueues VerificationWorker3657 #verify3658 wraps the checksum calculation in track_checksum_attempt!3659 #verification_state_tracker3660 on a Geo primary3661 returns model_record3662 on a Geo secondary3663 returns registry3664 #handle_after_checksum_succeeded3665 on a Geo primary3666 creates checksum_succeeded event3667 is called on verification success3668 on a Geo secondary3669 does not create an event3670 #consume_event_checksum_succeeded3671 with a persisted model_record3672 on a Geo primary3673 does nothing3674 on a Geo secondary3675 with a persisted registry3676 with a registry which is verified3677 sets state to verification_pending3678 with a registry which is pending verification3679 does not change state from verification_pending3680 with an unpersisted registry3681 does not persist the registry3682 #primary_verification_succeeded?3683 when the model record is verification_succeeded3684 returns true3685 when the model record is verification_succeeded3686 returns false3687 integration tests3688 on a primary3689 background backfill3690 verifies model records3691 triggered by events3692 verifies model records3693 on a secondary3694 background backfill3695 verifies registries3696 triggered by events3697 verifies registries3698Ci::Build3699 # order random3700 #collect_sbom_reports!3701 when there is an sbom report3702 adds each report to the reports list and parses it3703 #runner_required_feature_names3704 when secrets management feature is available3705 when there are secrets defined3706 is expected to include :vault_secrets3707 when there are no secrets defined3708 is expected not to include :vault_secrets3709 when secrets management feature is not available3710 when there are secrets defined3711 is expected not to include :vault_secrets3712 when there are no secrets defined3713 is expected not to include :vault_secrets3714 .license_scan3715 with new license_scanning artifact3716 is expected to eq "license_scanning"3717 #collect_dependency_list_reports!3718 with available licensed feature3719 parses blobs and add the results to the report3720 with different report format3721 parses blobs and add the results to the report3722 with disabled licensed feature3723 does NOT parse dependency list report3724 clone_accessors3725 includes the cloneable extra accessors3726 .sbom_generation3727 returns only cyclonedx sbom artifacts3728 #retryable?3729 with pipeline for merged results3730 is expected to equal true3731 #collect_metrics_reports!3732 when there is a metrics report3733 when license has metrics_reports3734 parses blobs and add the results to the report3735 when license does not have metrics_reports3736 does not parse metrics report3737 updates pipeline minutes3738 for event success3739 for event drop3740 for event cancel3741 #collect_license_scanning_reports!3742 is expected to eq 03743 when the build has a license scanning report3744 when there is a report3745 parses blobs and add the results to the report3746 when there is a corrupted report3747 returns an empty report3748 when the license scanning feature is disabled3749 does NOT parse license scanning report3750 associations3751 is expected to have many security_scans class_name => Security::Scan3752 is expected to have one dast_site_profiles_build class_name => Dast::SiteProfilesBuild3753 is expected to have one dast_site_profile class_name => DastSiteProfile through dast_site_profiles_build3754 is expected to have one dast_scanner_profiles_build class_name => Dast::ScannerProfilesBuild3755 is expected to have one dast_scanner_profile class_name => DastScannerProfile through dast_scanner_profiles_build3756 #collect_requirements_reports!3757 when there is a requirements report3758 when requirements are available3759 parses blobs and adds the results to the report3760 when requirements are not available3761 does not parse requirements report3762 when using legacy format3763 when there is a requirements report3764 when requirements are available3765 parses blobs and adds the results to the report3766 when requirements are not available3767 does not parse requirements report3768 #has_security_reports?3769 when build has a security report3770 is expected to equal true3771 when build does not have a security report3772 is expected to equal false3773 behaves like has secrets3774 delegations3775 is expected to delegate #secrets to the #metadata object, allowing #metadata to return nil3776 #secrets?3777 without metadata3778 is expected to equal false3779 with metadata3780 when secrets exist3781 is expected to equal true3782 when secrets do not exit3783 is expected to equal false3784 .license_scan3785 returns only license artifacts3786 #variables3787 when environment specific variable is defined3788 when there is a plan for the group3789 GITLAB_FEATURES should include the features for that plan3790 dast3791 when there is a dast_site_profile associated with the job3792 behaves like it includes variables3793 includes variables from the profile3794 when user has permission3795 behaves like it includes variables3796 includes variables from the profile3797 when there is a dast_scanner_profile associated with the job3798 behaves like it includes variables3799 includes variables from the profile3800 when there are profiles associated with the job3801 when dast_configuration is absent from the options3802 does not attempt look up any dast profiles to avoid unnecessary queries3803 when site_profile is absent from the dast_configuration3804 does not attempt look up the site profile to avoid unnecessary queries3805 when scanner_profile is absent from the dast_configuration3806 does not attempt look up the scanner profile to avoid unnecessary queries3807 when both profiles are present in the dast_configuration3808 attempts look up dast profiles3809 when dast_site_profile target_type is website3810 behaves like it includes variables3811 includes variables from the profile3812 when dast_site_profile target_type is api3813 behaves like it includes variables3814 includes variables from the profile3815 variable CI_HAS_OPEN_REQUIREMENTS3816 is included with value 'true' if there are open requirements3817 is not included if there are no open requirements3818 #collect_security_reports!3819 when report types are given3820 parses blobs and add the results for given report types3821 when report types are not given3822 when build has a security report3823 when there is a sast report3824 parses blobs and add the results to the report3825 adds the created date to the report3826 when there are multiple reports3827 parses blobs and adds the results to the reports3828 when there is a corrupted sast report3829 stores an error3830 vulnerability_finding_signatures3831 signatures_enabled: true3832 parses the report3833 signatures_enabled: false3834 parses the report3835 when there is unsupported file type3836 stores an error3837 ci_secrets_management_available?3838 when build has no project3839 is expected to equal false3840 when secrets management feature is available3841 is expected to equal true3842 when secrets management feature is not available3843 is expected to equal false3844 #unmerged_security_reports3845 when build has a security report3846 when there is a sast report3847 parses blobs and add the results to the report3848 when there are multiple reports3849 parses blobs and adds unmerged results to the reports3850 when build has no security reports3851 has no parsed reports3852 secrets management usage data3853 when secrets management feature is not available3854 does not track RedisHLL event3855 does not track Snowplow event3856 when secrets management feature is available3857 when there are secrets defined3858 on create3859 tracks RedisHLL event with user_id3860 tracks Snowplow event with RedisHLL context3861 with usage_data_i_ci_secrets_management_vault_build_created FF disabled3862 does not track RedisHLL event3863 does not track Snowplow event3864 on update3865 does not track RedisHLL event3866 does not track Snowplow event3867 when there are no secrets defined3868 on create3869 does not track RedisHLL event3870 does not track Snowplow event3871 #cost_factor_enabled?3872 with shared runner3873 is expected to be truthy3874 with project runner3875 is expected to be falsey3876 without runner3877 is expected to be falsey3878Geo::ContainerRepositoryRegistry3879 behaves like a BulkInsertSafe model3880 when calling class methods directly3881 raises an error when method is not bulk-insert safe3882 does not raise an error when method is bulk-insert safe3883 .bulk_insert!3884 when all items are valid3885 inserts them all3886 returns an empty array3887 when some items are invalid3888 does not insert any of them and raises an error3889 inserts them anyway when bypassing validations3890 relationships3891 is expected to belong to container_repository required: false3892 #state3893 state: "0", state_method: "pending?"3894 is expected to be truthy3895 state: "1", state_method: "started?"3896 is expected to be truthy3897 state: "2", state_method: "synced?"3898 is expected to be truthy3899 state: "3", state_method: "failed?"3900 is expected to be truthy3901 state: "pending", state_method: "pending?"3902 is expected to be truthy3903 state: "started", state_method: "started?"3904 is expected to be truthy3905 state: "synced", state_method: "synced?"3906 is expected to be truthy3907 state: "failed", state_method: "failed?"3908 is expected to be truthy3909 .find_registry_differences3910 untracked IDs3911 includes container registries IDs without an entry on the tracking database3912 excludes container registries outside the ID range3913 with selective sync by namespace3914 excludes container_registry IDs that projects are not in the selected namespaces3915 with selective sync by shard3916 excludes container_registry IDs that projects are not in the selected shards3917 unused tracked IDs3918 with an orphaned registry3919 includes tracked IDs that do not exist in the model table3920 excludes IDs outside the ID range3921 with selective sync by namespace3922 with a tracked container_registry3923 excluded from selective sync3924 includes tracked container_registry IDs that exist but are not in a selectively synced project3925 included in selective sync3926 excludes tracked container_registry IDs that are in selectively synced projects3927 with selective sync by shard3928 with a tracked container_registry3929 excluded from selective sync3930 includes tracked container_registry IDs that exist but are not in a selectively synced project3931 included in selective sync3932 excludes tracked container_registry IDs that are in selectively synced projects3933 .replication_enabled?3934 returns true when registry replication is enabled3935 returns false when registry replication is disabled3936 .fail_sync_timeouts3937 marks started records as failed if they are expired3938Geo::ContainerRepositoryRegistry3939 factory is valid3940 obligatory fields check3941 has expected fields or methods3942 scopes3943 sync_timed_out3944 return correct records3945 finders3946 .find_registries_never_attempted_sync3947 returns unsynced items3948 returns items that never have an attempt to sync except some specific item ID3949 .find_registries_needs_sync_again3950 returns failed items3951 returns failed items except some specific item ID3952 orders records according to retry_at3953 .fail_sync_timeouts3954 marks started records as failed if they are expired3955 #failed!3956 sets last_sync_failure with message3957 truncates a long last_sync_failure3958 increments retry_count3959 sets retry_at to a time in the future3960 when an error is given3961 includes error.message in last_sync_failure3962 when missing_on_primary is not given3963 caps retry_at to default 1 hour3964 when missing_on_primary is falsey3965 caps retry_at to default 1 hour3966 when missing_on_primary is truthy3967 caps retry_at to 4 hours3968 #synced!3969 mark as synced3970 when a sync was scheduled after the last sync finishes3971 does not reset state3972 resets the other sync state fields3973 #pending!3974 when a sync is currently running3975 successfully moves state to pending3976 when the registry has recorded a failure3977 clears failure retry fields3978 .with_search3979 when query is empty3980 returns all registries3981 when query is not empty3982 calls model_class search method3983 state machine3984 when transitioning to synced3985 marks verification as pending3986 when the model_record cannot be verified3987 when the registry is already verification_disabled3988 changes verification to disabled3989 when the registry is verification_pending3990 changes verification to disabled3991 verification_state machine3992 when transitioning to verification_failed3993 changes state from synced to failed3994 .verification_pending_batch3995 returns IDs of rows which are synced and pending verification3996 excludes rows which are not synced or are not pending verification3997 marks verification as started3998 .verification_failed_batch3999 with a failed record with retry due4000 returns IDs of rows which are synced and have failed verification4001 excludes rows which are not synced or have not failed verification4002 marks verification as started4003 when verification_retry_at is in the future4004 does not return the row which failed verification4005 .needs_verification_count4006 returns the number of rows which are synced and pending verification4007 includes rows which are synced and failed verification and are due for retry4008 excludes rows which are synced and failed verification and have a future retry time4009 excludes rows which are not synced or are not (pending or failed) verification4010 #verification_succeeded!4011 clears checksum mismatch fields4012 #track_checksum_attempt!4013 yields to the checksum calculation4014 when verification was not yet started4015 starts verification4016 when the model record cannot be verified4017 when the registry is already verification_disabled4018 leaves verification as disabled4019 when the registry is verification_pending4020 changes verification to disabled4021 when the primary site is expected to checksum the model record4022 comparison with primary checksum4023 when the calculated checksum matches the primary checksum4024 transitions to verification_succeeded and updates the checksum4025 when the calculated checksum does not match the primary checksum4026 transitions to verification_failed and updates mismatch fields4027 when verification was started4028 does not update verification_started_at4029 when an error occurs while yielding4030 sets verification_failed4031Gitlab::Elastic::Helper4032 .new4033 has the proper default values4034 with a custom `index_name`4035 has the proper `index_name`4036 .default4037 does not cache the value4038 .connection_settings4039 returns a hash compatible with elasticsearcht-transport client settings4040 works when given a URI4041 parses credentials out of the uri4042 prioritizes creds in arguments over those in url4043 sets password to empty string when only username is provided4044 .`url_string`4045 returns a percent encoded url string4046 #default_mappings4047 custom analyzers4048 merges custom language analyzers mappings4049 #index_name_with_timestamp4050 returns correct index name4051 supports name_suffix4052 #create_migrations_index4053 creates the index4054 #delete_migrations_index4055 deletes the migrations index4056 #create_empty_index4057 with an empty cluster4058 creates an index with a custom name (FAILED - 1)40601st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:244:4061expected: false4062 got: true4063(compared using ==)4064Diff:4065@@ -1 +1 @@4066-false4067+true4069RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2444070 with alias and index4071 creates index and alias (FAILED - 2)40731st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:229:4074Index or alias under 'gitlab-test' already exists.4076RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2294077 when there is a legacy index4078 creates the index only (FAILED - 3)40801st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:238:4081Index under 'gitlab-test' already exists.4083RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2384084 when there is an alias4085 raises an error (FAILED - 4)40871st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:257:4088Index or alias under 'gitlab-test' already exists.4090RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2574091 does not raise error with skip_if_exists option (FAILED - 5)40931st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:261:4094Index or alias under 'gitlab-test' already exists.4096RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2614097 when there is a legacy index4098 raises an error (FAILED - 6)41001st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:269:4101Index under 'gitlab-test' already exists.4103RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2694104 #delete_index4105 without an existing index4106 fails gracefully41081st Try error in ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:279:4109expected: falsey value4110 got: true4112RSpec::Retry: 2nd try ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:2794113 when there is an alias4114 is expected to be truthy4115 when there is a legacy index4116 is expected to be truthy4117 #index_exists?4118 without an existing index4119 is expected to be falsy4120 when there is a legacy index4121 is expected to be truthy4122 when there is an alias4123 is expected to be truthy4124 #migrations_index_exists?4125 without an existing migrations index4126 is expected to be falsy4127 when it exists4128 is expected to be truthy4129 #alias_exists?4130 without an existing index4131 is expected to be falsy4132 when there is a legacy index4133 is expected to be falsy4134 when there is an alias4135 is expected to be truthy4136 #alias_missing?4137 is the opposite of #alias_exists?4138 #cluster_free_size_bytes4139 returns valid cluster size4140 #switch_alias4141 switches the alias4142 #index_size4143 when there is a legacy index4144 is expected to have key "docs"4145 is expected to have key "store"4146 when there is an alias4147 is expected to have key "docs"4148 is expected to have key "store"4149 supports providing the alias name4150 #documents_count4151 when there is a legacy index4152 is expected to eq 04153 when there is an alias4154 is expected to eq 04155 supports providing the alias name4156 #delete_migration_record4157 when record exists4158 is expected to be truthy4159 when record does not exist4160 is expected to be falsey4161 #standalone_indices_proxies4162 when target_classes is not provided4163 creates proxies for each separate class4164 when target_classes is provided4165 creates proxies for only the target classes4166 #ping?4167 does not raise any exception4168 #get_meta4169 returns version in meta field4170 #server_info4171 server is accessible4172 using elasticsearch4173 returns server info4174 using opensearch4175 returns server info4176 server is inaccessible4177 returns empty hash4178 #get_mapping4179 reads mappings from client4180 #supported_version?4181 when Elasticsearch is not enabled4182 is expected to be truthy4183 when Elasticsearch is enabled4184 when version is compatible4185 is expected to be truthy4186 when version is incompatible4187 is expected to be falsey4188 when Elasticsearch is unreachable4189 is expected to be truthy4190 #unsupported_version?4191 distribution: "elasticsearch", version: "6.8.23", result: true4192 is expected to eq true4193 distribution: "elasticsearch", version: "7.17.0", result: false4194 is expected to eq false4195 distribution: "elasticsearch", version: "8.0.0", result: false4196 is expected to eq false4197 distribution: "opensearch", version: "1.3.3", result: false4198 is expected to eq false4199 distribution: "opensearch", version: "2.1.0", result: false4200 is expected to eq false4201 #klass_to_alias_name4202 returns results for every listed class4203 returns results for repository4204 #pending_migrations?4205 returns true when there are pending migrations4206 returns false when there are no pending migrations4207 #indexing_paused?4208 delegates to Gitlab::CurrentSettings.elasticsearch_pause_indexing?4209 #refresh_index4210 when index_name is not provided4211 refreshes all indexes4212 when index_name is provided4213 refreshes a single index4214 when an index does not exist4215 does not refresh the index4216 #reindex4217 passes correct arguments to Search::ReindexingService4218 .build_es_id4219 returns a calculated es_id4220Issues::CreateService4221 #execute4222 when current user cannot admin issues in the project4223 filters out params that cannot be set without the :admin_issue permission4224 when current user can admin issues in the project4225 sets permitted params correctly4226 when epics are enabled4227 behaves like issue with epic_id parameter4228 when epic_id does not exist4229 raises an exception4230 when epic_id is 04231 does not assign any epic4232 when user can not add issues to the epic4233 raises an exception4234 does not send usage data for added epic action4235 when user can add issues to the epic4236 when a project is a direct child of the epic group4237 creates epic issue link4238 calls EpicIssues::CreateService4239 events tracking4240 tracks usage data for added to epic action4241 behaves like issue_edit snowplow tracking4242 behaves like Snowplow event tracking with RedisHLL context4243 behaves like Snowplow event tracking4244 is emitted4245 when epic param is also present4246 when epic_id belongs to another valid epic4247 creates epic issue link based on the epic param4248 when epic_id is empty4249 creates epic issue link based on the epic param4250 when a project is from a subgroup of the epic group4251 creates epic issue link4252 events tracking4253 tracks usage data for added to epic action4254 behaves like issue_edit snowplow tracking4255 behaves like Snowplow event tracking with RedisHLL context4256 behaves like Snowplow event tracking4257 is emitted4258 when using quick actions4259 /epic action4260 adds an issue to the passed epic4261 with epic and milestone in commands only4262 sets epic and milestone to issuable and update epic start and due date4263 generates system notes for adding an epic and milestone4264 when assigning epic raises an exception4265 assigns the issue passed to the provided epic4266 when adding a public issue to confidential epic4267 creates confidential child issue4268 when adding a confidential issue to public epic4269 creates a confidential child issue4270 when iterations are available4271 when sprint_id is provided4272 behaves like create with specify column4273 when user can read the given iteration4274 is successful, and assigns the specified iteration to the issue4275 when user can't read the given iteration4276 is successful but does not assign the iteration4277 when iteration_wildcard_id is provided4278 raises a mutually exclusive argument error4279 when iteration_id is provided4280 behaves like create with specify column4281 when user can read the given iteration4282 is successful, and assigns the specified iteration to the issue4283 when user can't read the given iteration4284 is successful but does not assign the iteration4285 when iteration_wildcard_id is provided4286 raises a mutually exclusive argument error4287 when both sprint_id and iteration_id is provided4288 raises a mutually exclusive argument error4289 when iteration_wildcard_id is provided4290 when iteration_wildcard_id is CURRENT4291 when iteration_cadence_id is provided4292 is successful, and assigns the current iteration to the issue4293 when iteration_cadence_id is not provided4294 always requires iteration cadence id when wildcard is provided4295 when iteration_wildcard_id is invalid4296 is successful, and does not assign an iteration to the issue4297 when no iteration params are provided4298 is successful, and does not assign an iteration to the issue4299 when issue is of requirement_type4300 creates one requirement and one requirement issue4301 creates a requirement object with same parameters4302 when creation of requirement fails4303 does not create issue4304 when creation of issue fails4305 does not create requirement4306 when requirements feature is not available4307 creates a issue work item4308 behaves like new issuable with scoped labels4309 when scoped labels are available4310 when using label_ids parameter4311 adds only last selected exclusive scoped label4312 when using labels parameter4313 adds only last selected exclusive scoped label4314 when scoped labels are not available4315 adds all scoped labels4316Geo::JobArtifactRegistry4317 factory is valid4318 obligatory fields check4319 has expected fields or methods4320 scopes4321 sync_timed_out4322 return correct records4323 finders4324 .find_registries_never_attempted_sync4325 returns unsynced items4326 returns items that never have an attempt to sync except some specific item ID4327 .find_registries_needs_sync_again4328 returns failed items4329 returns failed items except some specific item ID4330 orders records according to retry_at4331 .fail_sync_timeouts4332 marks started records as failed if they are expired4333 #failed!4334 sets last_sync_failure with message4335 truncates a long last_sync_failure4336 increments retry_count4337 sets retry_at to a time in the future4338 when an error is given4339 includes error.message in last_sync_failure4340 when missing_on_primary is not given4341 caps retry_at to default 1 hour4342 when missing_on_primary is falsey4343 caps retry_at to default 1 hour4344 when missing_on_primary is truthy4345 caps retry_at to 4 hours4346 #synced!4347 mark as synced4348 when a sync was scheduled after the last sync finishes4349 does not reset state4350 resets the other sync state fields4351 #pending!4352 when a sync is currently running4353 successfully moves state to pending4354 when the registry has recorded a failure4355 clears failure retry fields4356 state machine4357 when transitioning to synced4358 marks verification as pending4359 when the model_record cannot be verified4360 when the registry is already verification_disabled4361 changes verification to disabled4362 when the registry is verification_pending4363 changes verification to disabled4364 verification_state machine4365 when transitioning to verification_failed4366 changes state from synced to failed4367 .verification_pending_batch4368 returns IDs of rows which are synced and pending verification4369 excludes rows which are not synced or are not pending verification4370 marks verification as started4371 .verification_failed_batch4372 with a failed record with retry due4373 returns IDs of rows which are synced and have failed verification4374 excludes rows which are not synced or have not failed verification4375 marks verification as started4376 when verification_retry_at is in the future4377 does not return the row which failed verification4378 .needs_verification_count4379 returns the number of rows which are synced and pending verification4380 includes rows which are synced and failed verification and are due for retry4381 excludes rows which are synced and failed verification and have a future retry time4382 excludes rows which are not synced or are not (pending or failed) verification4383 #verification_succeeded!4384 clears checksum mismatch fields4385 #track_checksum_attempt!4386 yields to the checksum calculation4387 when verification was not yet started4388 starts verification4389 when the model record cannot be verified4390 when the registry is already verification_disabled4391 leaves verification as disabled4392 when the registry is verification_pending4393 changes verification to disabled4394 when the primary site is expected to checksum the model record4395 comparison with primary checksum4396 when the calculated checksum matches the primary checksum4397 transitions to verification_succeeded and updates the checksum4398 when the calculated checksum does not match the primary checksum4399 transitions to verification_failed and updates mismatch fields4400 when verification was started4401 does not update verification_started_at4402 when an error occurs while yielding4403 sets verification_failed4404 .with_search4405 when query is empty4406 returns all registries4407 when query is not empty4408 calls model_class search method4409SAST.gitlab-ci.yml4410 the created pipeline4411 when project has no license4412 when SAST_DISABLED=14413 includes no jobs4414 when SAST_EXPERIMENTAL_FEATURES is disabled for iOS projects4415 includes no jobs4416 by default4417 language detection4418 Android4419 creates a pipeline with the expected jobs4420 Android4421 creates a pipeline with the expected jobs4422 Android4423 creates a pipeline with the expected jobs4424 Android4425 creates a pipeline with the expected jobs4426 Android4427 creates a pipeline with the expected jobs4428 Apex4429 creates a pipeline with the expected jobs4430 C4431 creates a pipeline with the expected jobs4432 C++4433 creates a pipeline with the expected jobs4434 C#4435 creates a pipeline with the expected jobs4436 C#4437 creates a pipeline with the expected jobs4438 Elixir4439 creates a pipeline with the expected jobs4440 Elixir, nested4441 creates a pipeline with the expected jobs4442 Golang4443 creates a pipeline with the expected jobs4444 Groovy4445 creates a pipeline with the expected jobs4446 iOS4447 creates a pipeline with the expected jobs4448 iOS4449 creates a pipeline with the expected jobs4450 Java4451 creates a pipeline with the expected jobs4452 Java with MobSF4453 creates a pipeline with the expected jobs4454 Java without MobSF4455 creates a pipeline with the expected jobs4456 Javascript4457 creates a pipeline with the expected jobs4458 JSX4459 creates a pipeline with the expected jobs4460 Javascript Node4461 creates a pipeline with the expected jobs4462 HTML4463 creates a pipeline with the expected jobs4464 Kubernetes Manifests4465 creates a pipeline with the expected jobs4466 Multiple languages4467 creates a pipeline with the expected jobs4468 PHP4469 creates a pipeline with the expected jobs4470 Python4471 creates a pipeline with the expected jobs4472 Ruby4473 creates a pipeline with the expected jobs4474 Scala4475 creates a pipeline with the expected jobs4476 Scala4477 creates a pipeline with the expected jobs4478 Scala4479 creates a pipeline with the expected jobs4480 Typescript4481 creates a pipeline with the expected jobs4482 Typescript JSX4483 creates a pipeline with the expected jobs4484 Visual Basic4485 creates a pipeline with the expected jobs4486 when setting image tag dynamically4487 security-code-scan-sast4488 creates a build with the expected tag4489 security-code-scan-sast4490 creates a build with the expected tag4491Geo::RepositoryShardSyncWorker4492 #perform4493 does not perform Geo::ProjectSyncWorker when shard becomes unhealthy4494 does not perform Geo::ProjectSyncWorker when no geo database is configured4495 does not perform Geo::ProjectSyncWorker when not running on a secondary4496 does not perform Geo::ProjectSyncWorker when node is disabled4497 performs Geo::ProjectSyncWorker for each registry4498 performs Geo::ProjectSyncWorker for projects where last attempt to sync failed4499 does not schedule a job twice for the same project4500 number of scheduled jobs exceeds capacity4501 schedules 0 jobs4502 backoff time4503 sets the back off time when there are no pending items4504 does not perform Geo::ProjectSyncWorker when the backoff time is set4505 repositories that have never been updated4506 tries to sync project where last attempt to sync failed4507 when all repositories fail4508 tries to sync every project4509 projects that require resync4510 when project repository is dirty4511 does not sync repositories4512 when project wiki is dirty4513 does not syn wikis4514 with geo_project_wiki_repository_replication feature flag disabled4515 performs Geo::ProjectSyncWorker for synced projects/wikis updated recently4516 with multiple shards4517 uses two loops to schedule jobs4518 skips backfill for projects on unhealthy shards4519 with geo_project_wiki_repository_replication feature flag enabled4520 performs Geo::ProjectSyncWorker for synced projects updated recently4521Dashboard::Projects::ListService4522 #execute4523 when passing a project id4524 behaves like project found4525 returns the project4526 when passing a project record4527 behaves like project found4528 returns the project4529 when passing invalid project id4530 behaves like project not found4531 returns an empty list4532 with insufficient access4533 behaves like project not found4534 returns an empty list4535 checking license4536 plan: "ultimate", trial: false, expired: false, available: true4537 behaves like project found4538 returns the project4539 plan: "ultimate", trial: false, expired: true, available: true4540 behaves like project found4541 returns the project4542 plan: "ultimate", trial: true, expired: false, available: false4543 behaves like project not found4544 returns an empty list4545 plan: "ultimate", trial: true, expired: true, available: false4546 behaves like project not found4547 returns an empty list4548 plan: "premium", trial: false, expired: false, available: true4549 behaves like project found4550 returns the project4551 plan: nil, trial: false, expired: false, available: false4552 behaves like project not found4553 returns an empty list4554 checking plans4555 check_namespace_plan: true, plan: :gold, available: true4556 behaves like project found4557 returns the project4558 if :include_unavailable option is provided4559 behaves like project found4560 returns the project4561 check_namespace_plan: true, plan: :premium, available: true4562 behaves like project found4563 returns the project4564 if :include_unavailable option is provided4565 behaves like project found4566 returns the project4567 check_namespace_plan: true, plan: :ultimate, available: true4568 behaves like project found4569 returns the project4570 if :include_unavailable option is provided4571 behaves like project found4572 returns the project4573 check_namespace_plan: true, plan: nil, available: false4574 behaves like project not found4575 returns an empty list4576 if :include_unavailable option is provided4577 behaves like project found4578 returns the project4579 check_namespace_plan: false, plan: :gold, available: true4580 behaves like project found4581 returns the project4582 if :include_unavailable option is provided4583 behaves like project found4584 returns the project4585 check_namespace_plan: false, plan: :premium, available: true4586 behaves like project found4587 returns the project4588 if :include_unavailable option is provided4589 behaves like project found4590 returns the project4591 check_namespace_plan: false, plan: :ultimate, available: true4592 behaves like project found4593 returns the project4594 if :include_unavailable option is provided4595 behaves like project found4596 returns the project4597 check_namespace_plan: false, plan: nil, available: true4598 behaves like project found4599 returns the project4600 if :include_unavailable option is provided4601 behaves like project found4602 returns the project4603 checking availability of public projects on GitLab.com4604 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 20, available: true4605 behaves like project found4606 returns the project4607 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 20, available: false4608 behaves like project not found4609 returns an empty list4610 check_namespace_plan: true, project_visibility: 20, namespace_visibility: 0, available: false4611 behaves like project not found4612 returns an empty list4613 check_namespace_plan: true, project_visibility: 0, namespace_visibility: 0, available: false4614 behaves like project not found4615 returns an empty list4616 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 20, available: true4617 behaves like project found4618 returns the project4619 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 20, available: true4620 behaves like project found4621 returns the project4622 check_namespace_plan: false, project_visibility: 20, namespace_visibility: 0, available: true4623 behaves like project found4624 returns the project4625 check_namespace_plan: false, project_visibility: 0, namespace_visibility: 0, available: true4626 behaves like project found4627 returns the project4628 when the user is an auditor4629 behaves like project found4630 returns the project4631IterationsFinder4632 without permissions4633 with project as parent4634 returns none4635 with group as parent4636 returns none4637 when skipping authorization4638 returns iterations4639 with permissions4640 iterations fetched from project4641 returns iterations for projects4642 iterations fetched from group4643 returns iterations for groups4644 with filters4645 by iteration_wildcard_id4646 returns CURRENT iterations without ancestors4647 when iteration_cadence_id is provided4648 returns CURRENT iteration for the given cadence4649 iterations for project with ancestors4650 returns iterations for project and ancestor groups4651 orders iterations by due date and title4652 with filters4653 filters by all states4654 filters by started state4655 filters by opened state4656 filters by closed state4657 filters by title4658 filters by ID4659 filters by cadence4660 filters by multiple cadences4661 with search params4662 filters by title4663 search: "", fields_to_search: [], expected_iterations: lazy { all_iterations }4664 behaves like search returns correct items4665 is expected to contain exactly #<Iteration id:7 *iteration:7>, #<Iteration id:8 *iteration:"one test">, #<Iteration id:9 *iteration:"Iteration 1">, #<Iteration id:10 *iteration:10>, and #<Iteration id:11 *iteration:11>4666 search: "iteration", fields_to_search: [], expected_iterations: lazy { all_iterations }4667 behaves like search returns correct items4668 is expected to contain exactly #<Iteration id:7 *iteration:7>, #<Iteration id:8 *iteration:"one test">, #<Iteration id:9 *iteration:"Iteration 1">, #<Iteration id:10 *iteration:10>, and #<Iteration id:11 *iteration:11>4669 search: "iteration", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }4670 behaves like search returns correct items4671 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4672 search: "iteration", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }4673 behaves like search returns correct items4674 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4675 search: "iter 1", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }4676 behaves like search returns correct items4677 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4678 search: "iteration 1", fields_to_search: [:title], expected_iterations: lazy { [upcoming_group_iteration] }4679 behaves like search returns correct items4680 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4681 search: "iteration test", fields_to_search: [:title], expected_iterations: lazy { [] }4682 behaves like search returns correct items4683 is expected to contain exactly4684 search: "one week iter", fields_to_search: [:cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }4685 behaves like search returns correct items4686 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4687 search: "iteration", fields_to_search: [:cadence_title], expected_iterations: lazy { all_iterations }4688 behaves like search returns correct items4689 is expected to contain exactly #<Iteration id:7 *iteration:7>, #<Iteration id:8 *iteration:"one test">, #<Iteration id:9 *iteration:"Iteration 1">, #<Iteration id:10 *iteration:10>, and #<Iteration id:11 *iteration:11>4690 search: "two week", fields_to_search: [:cadence_title], expected_iterations: lazy { [closed_iteration, started_group_iteration] }4691 behaves like search returns correct items4692 is expected to contain exactly #<Iteration id:7 *iteration:7> and #<Iteration id:8 *iteration:"one test">4693 search: "iteration test", fields_to_search: [:cadence_title], expected_iterations: lazy { [] }4694 behaves like search returns correct items4695 is expected to contain exactly4696 search: "one week", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }4697 behaves like search returns correct items4698 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4699 search: "iteration", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { all_iterations }4700 behaves like search returns correct items4701 is expected to contain exactly #<Iteration id:7 *iteration:7>, #<Iteration id:8 *iteration:"one test">, #<Iteration id:9 *iteration:"Iteration 1">, #<Iteration id:10 *iteration:10>, and #<Iteration id:11 *iteration:11>4702 search: "iteration 1", fields_to_search: [:title, :cadence_title], expected_iterations: lazy { [upcoming_group_iteration] }4703 behaves like search returns correct items4704 is expected to contain exactly #<Iteration id:9 *iteration:"Iteration 1">4705 by updated_at4706 returns iterations filtered only by updated_before4707 returns iterations filtered only by updated_after4708 returns iterations filtered by updated_after and updated_before4709 by iteration_wildcard_id4710 returns CURRENT iterations4711 returns CURRENT iteration for the specified cadence4712 by timeframe4713 returns iterations with start_date and due_date between timeframe4714 returns iterations which start before the timeframe4715 returns iterations which end after the timeframe4716 when one of the timeframe params are missing4717 does not filter by timeframe if start_date is missing4718 does not filter by timeframe if end_date is missing4719 sorting4720 sorts correctly by cadence_and_due_date_asc4721 sorts correctly by cadence_and_due_date_desc4722 behaves like sorted by the default order4723 sorts by the default order (due_date, title, id asc)4724 when an unsupported sorting param is provided4725 behaves like sorted by the default order4726 sorts by the default order (due_date, title, id asc)4727 #find_by4728 finds a single iteration4729Security::SecurityOrchestrationPolicies::FetchPolicyApproversService4730 #execute4731 with group outside of the scope4732 does not return the unrelated group4733 with user approver4734 returns user approvers4735 with container of a group type4736 returns user approvers4737 with user approvers inherited from parent group4738 returns user approvers4739 with container of any other type4740 does returns any user approvers4741 with group approver4742 returns group approvers4743 when groups with same name exist in and outside of container4744 with security_policy_global_group_approvers_enabled setting disabled4745 excludes groups outside the container4746 with security_policy_global_group_approvers_enabled setting enabled4747 includes groups outside the container4748 with role approver4749 when role_approvers in policy is empty4750 returns empty roles4751 when role_approvers in policy is not empty4752 returns role approvers4753 with both user and group approvers4754 returns all approvers4755 with policy equals to nil4756 returns no approver4757 with action equals to nil4758 returns no approver4759 with action of an unknown type4760 returns no approver4761 with more users than the limit4762 ids_multiplier: 150, names_multiplier: 150, ids_expected: 150, names_expected: 1504763 considers only the first within the limit4764 ids_multiplier: 300, names_multiplier: 300, ids_expected: 0, names_expected: 3004765 considers only the first within the limit4766 ids_multiplier: 300, names_multiplier: 200, ids_expected: 100, names_expected: 2004767 considers only the first within the limit4768 ids_multiplier: 600, names_multiplier: 600, ids_expected: 0, names_expected: 3004769 considers only the first within the limit4770 with more groups than the limit4771 considers only the first within the limit4772Gitlab::UsageDataCounters::EpicActivityUniqueCounter4773 for epic created event4774 behaves like a daily tracked issuable snowplow and service ping events with namespace4775 behaves like a daily tracked issuable snowplow and service ping events for given event params4776 is expected to eq 24777 does not track edit actions if author is not present4778 emits snowplow event4779 behaves like does not track with namespace when feature flag is disabled4780 when feature flag track_epics_activity is disabled4781 does not track action4782 for epic title changed event4783 behaves like a daily tracked issuable snowplow and service ping events with namespace4784 behaves like a daily tracked issuable snowplow and service ping events for given event params4785 is expected to eq 24786 does not track edit actions if author is not present4787 emits snowplow event4788 behaves like does not track with namespace when feature flag is disabled4789 when feature flag track_epics_activity is disabled4790 does not track action4791 for epic description changed event4792 behaves like a daily tracked issuable snowplow and service ping events with namespace4793 behaves like a daily tracked issuable snowplow and service ping events for given event params4794 is expected to eq 24795 does not track edit actions if author is not present4796 emits snowplow event4797 behaves like does not track with namespace when feature flag is disabled4798 when feature flag track_epics_activity is disabled4799 does not track action4800 for epic note created event4801 behaves like a daily tracked issuable snowplow and service ping events with namespace4802 behaves like a daily tracked issuable snowplow and service ping events for given event params4803 is expected to eq 24804 does not track edit actions if author is not present4805 emits snowplow event4806 behaves like does not track with namespace when feature flag is disabled4807 when feature flag track_epics_activity is disabled4808 does not track action4809 for epic note updated event4810 behaves like a daily tracked issuable snowplow and service ping events with namespace4811 behaves like a daily tracked issuable snowplow and service ping events for given event params4812 is expected to eq 24813 does not track edit actions if author is not present4814 emits snowplow event4815 behaves like does not track with namespace when feature flag is disabled4816 when feature flag track_epics_activity is disabled4817 does not track action4818 for epic note destroyed event4819 behaves like a daily tracked issuable snowplow and service ping events with namespace4820 behaves like a daily tracked issuable snowplow and service ping events for given event params4821 is expected to eq 24822 does not track edit actions if author is not present4823 emits snowplow event4824 behaves like does not track with namespace when feature flag is disabled4825 when feature flag track_epics_activity is disabled4826 does not track action4827 for epic emoji award event4828 behaves like a daily tracked issuable snowplow and service ping events with namespace4829 behaves like a daily tracked issuable snowplow and service ping events for given event params4830 is expected to eq 24831 does not track edit actions if author is not present4832 emits snowplow event4833 behaves like does not track with namespace when feature flag is disabled4834 when feature flag track_epics_activity is disabled4835 does not track action4836 for epic emoji remove event4837 behaves like a daily tracked issuable snowplow and service ping events with namespace4838 behaves like a daily tracked issuable snowplow and service ping events for given event params4839 is expected to eq 24840 does not track edit actions if author is not present4841 emits snowplow event4842 behaves like does not track with namespace when feature flag is disabled4843 when feature flag track_epics_activity is disabled4844 does not track action4845 for epic closing event4846 behaves like a daily tracked issuable snowplow and service ping events with namespace4847 behaves like a daily tracked issuable snowplow and service ping events for given event params4848 is expected to eq 24849 does not track edit actions if author is not present4850 emits snowplow event4851 behaves like does not track with namespace when feature flag is disabled4852 when feature flag track_epics_activity is disabled4853 does not track action4854 for epic reopening event4855 behaves like a daily tracked issuable snowplow and service ping events with namespace4856 behaves like a daily tracked issuable snowplow and service ping events for given event params4857 is expected to eq 24858 does not track edit actions if author is not present4859 emits snowplow event4860 behaves like does not track with namespace when feature flag is disabled4861 when feature flag track_epics_activity is disabled4862 does not track action4863 for making epic visible4864 behaves like a daily tracked issuable snowplow and service ping events with namespace4865 behaves like a daily tracked issuable snowplow and service ping events for given event params4866 is expected to eq 24867 does not track edit actions if author is not present4868 emits snowplow event4869 behaves like does not track with namespace when feature flag is disabled4870 when feature flag track_epics_activity is disabled4871 does not track action4872 for making epic confidential4873 behaves like a daily tracked issuable snowplow and service ping events with namespace4874 behaves like a daily tracked issuable snowplow and service ping events for given event params4875 is expected to eq 24876 does not track edit actions if author is not present4877 emits snowplow event4878 behaves like does not track with namespace when feature flag is disabled4879 when feature flag track_epics_activity is disabled4880 does not track action4881 for epic date modification events4882 start date4883 setting as fixed event4884 behaves like a daily tracked issuable snowplow and service ping events with namespace4885 behaves like a daily tracked issuable snowplow and service ping events for given event params4886 is expected to eq 24887 does not track edit actions if author is not present4888 emits snowplow event4889 behaves like does not track with namespace when feature flag is disabled4890 when feature flag track_epics_activity is disabled4891 does not track action4892 setting as fixed start date event4893 behaves like a daily tracked issuable snowplow and service ping events with namespace4894 behaves like a daily tracked issuable snowplow and service ping events for given event params4895 is expected to eq 24896 does not track edit actions if author is not present4897 emits snowplow event4898 behaves like does not track with namespace when feature flag is disabled4899 when feature flag track_epics_activity is disabled4900 does not track action4901 setting as inherited event4902 behaves like a daily tracked issuable snowplow and service ping events with namespace4903 behaves like a daily tracked issuable snowplow and service ping events for given event params4904 is expected to eq 24905 does not track edit actions if author is not present4906 emits snowplow event4907 behaves like does not track with namespace when feature flag is disabled4908 when feature flag track_epics_activity is disabled4909 does not track action4910 due date4911 setting as fixed event4912 behaves like a daily tracked issuable snowplow and service ping events with namespace4913 behaves like a daily tracked issuable snowplow and service ping events for given event params4914 is expected to eq 24915 does not track edit actions if author is not present4916 emits snowplow event4917 behaves like does not track with namespace when feature flag is disabled4918 when feature flag track_epics_activity is disabled4919 does not track action4920 setting as fixed due date event4921 behaves like a daily tracked issuable snowplow and service ping events with namespace4922 behaves like a daily tracked issuable snowplow and service ping events for given event params4923 is expected to eq 24924 does not track edit actions if author is not present4925 emits snowplow event4926 behaves like does not track with namespace when feature flag is disabled4927 when feature flag track_epics_activity is disabled4928 does not track action4929 setting as inherited event4930 behaves like a daily tracked issuable snowplow and service ping events with namespace4931 behaves like a daily tracked issuable snowplow and service ping events for given event params4932 is expected to eq 24933 does not track edit actions if author is not present4934 emits snowplow event4935 behaves like does not track with namespace when feature flag is disabled4936 when feature flag track_epics_activity is disabled4937 does not track action4938 for adding issue to epic event4939 behaves like a daily tracked issuable snowplow and service ping events with namespace4940 behaves like a daily tracked issuable snowplow and service ping events for given event params4941 is expected to eq 24942 does not track edit actions if author is not present4943 emits snowplow event4944 behaves like does not track with namespace when feature flag is disabled4945 when feature flag track_epics_activity is disabled4946 does not track action4947 for changing labels epic event4948 behaves like a daily tracked issuable snowplow and service ping events with namespace4949 behaves like a daily tracked issuable snowplow and service ping events for given event params4950 is expected to eq 24951 does not track edit actions if author is not present4952 emits snowplow event4953 behaves like does not track with namespace when feature flag is disabled4954 when feature flag track_epics_activity is disabled4955 does not track action4956 for removing issue from epic event4957 behaves like a daily tracked issuable snowplow and service ping events with namespace4958 behaves like a daily tracked issuable snowplow and service ping events for given event params4959 is expected to eq 24960 does not track edit actions if author is not present4961 emits snowplow event4962 behaves like does not track with namespace when feature flag is disabled4963 when feature flag track_epics_activity is disabled4964 does not track action4965 for moving an issue that belongs to epic4966 behaves like a daily tracked issuable snowplow and service ping events with namespace4967 behaves like a daily tracked issuable snowplow and service ping events for given event params4968 is expected to eq 24969 does not track edit actions if author is not present4970 emits snowplow event4971 behaves like does not track with namespace when feature flag is disabled4972 when feature flag track_epics_activity is disabled4973 does not track action4974 updating epic parent4975 behaves like a daily tracked issuable snowplow and service ping events with namespace4976 behaves like a daily tracked issuable snowplow and service ping events for given event params4977 is expected to eq 24978 does not track edit actions if author is not present4979 emits snowplow event4980 behaves like does not track with namespace when feature flag is disabled4981 when feature flag track_epics_activity is disabled4982 does not track action4983 for promoting issue to epic4984 behaves like a daily tracked issuable snowplow and service ping events with namespace4985 behaves like a daily tracked issuable snowplow and service ping events for given event params4986 is expected to eq 24987 does not track edit actions if author is not present4988 emits snowplow event4989 behaves like does not track with namespace when feature flag is disabled4990 when feature flag track_epics_activity is disabled4991 does not track action4992 for destroying epic4993 behaves like a daily tracked issuable snowplow and service ping events with namespace4994 behaves like a daily tracked issuable snowplow and service ping events for given event params4995 is expected to eq 24996 does not track edit actions if author is not present4997 emits snowplow event4998 behaves like does not track with namespace when feature flag is disabled4999 when feature flag track_epics_activity is disabled5000 does not track action5001 for margin epic task as checked5002 behaves like a daily tracked issuable snowplow and service ping events with namespace5003 behaves like a daily tracked issuable snowplow and service ping events for given event params5004 is expected to eq 25005 does not track edit actions if author is not present5006 emits snowplow event5007 behaves like does not track with namespace when feature flag is disabled5008 when feature flag track_epics_activity is disabled5009 does not track action5010 for margin epic task as unchecked5011 behaves like a daily tracked issuable snowplow and service ping events with namespace5012 behaves like a daily tracked issuable snowplow and service ping events for given event params5013 is expected to eq 25014 does not track edit actions if author is not present5015 emits snowplow event5016 behaves like does not track with namespace when feature flag is disabled5017 when feature flag track_epics_activity is disabled5018 does not track action5019 for epic cross reference5020 behaves like a daily tracked issuable snowplow and service ping events with namespace5021 behaves like a daily tracked issuable snowplow and service ping events for given event params5022 is expected to eq 25023 does not track edit actions if author is not present5024 emits snowplow event5025 behaves like does not track with namespace when feature flag is disabled5026 when feature flag track_epics_activity is disabled5027 does not track action5028 for related epic added5029 behaves like a daily tracked issuable snowplow and service ping events with namespace5030 behaves like a daily tracked issuable snowplow and service ping events for given event params5031 is expected to eq 25032 does not track edit actions if author is not present5033 emits snowplow event5034 behaves like does not track with namespace when feature flag is disabled5035 when feature flag track_epics_activity is disabled5036 does not track action5037 for related epic removed5038 behaves like a daily tracked issuable snowplow and service ping events with namespace5039 behaves like a daily tracked issuable snowplow and service ping events for given event params5040 is expected to eq 25041 does not track edit actions if author is not present5042 emits snowplow event5043 behaves like does not track with namespace when feature flag is disabled5044 when feature flag track_epics_activity is disabled5045 does not track action5046 for blocking epic added5047 behaves like a daily tracked issuable snowplow and service ping events with namespace5048 behaves like a daily tracked issuable snowplow and service ping events for given event params5049 is expected to eq 25050 does not track edit actions if author is not present5051 emits snowplow event5052 behaves like does not track with namespace when feature flag is disabled5053 when feature flag track_epics_activity is disabled5054 does not track action5055 for blocking epic removed5056 behaves like a daily tracked issuable snowplow and service ping events with namespace5057 behaves like a daily tracked issuable snowplow and service ping events for given event params5058 is expected to eq 25059 does not track edit actions if author is not present5060 emits snowplow event5061 behaves like does not track with namespace when feature flag is disabled5062 when feature flag track_epics_activity is disabled5063 does not track action5064 for blocked epic added5065 behaves like a daily tracked issuable snowplow and service ping events with namespace5066 behaves like a daily tracked issuable snowplow and service ping events for given event params5067 is expected to eq 25068 does not track edit actions if author is not present5069 emits snowplow event5070 behaves like does not track with namespace when feature flag is disabled5071 when feature flag track_epics_activity is disabled5072 does not track action5073 for blocked epic removed5074 behaves like a daily tracked issuable snowplow and service ping events with namespace5075 behaves like a daily tracked issuable snowplow and service ping events for given event params5076 is expected to eq 25077 does not track edit actions if author is not present5078 emits snowplow event5079 behaves like does not track with namespace when feature flag is disabled5080 when feature flag track_epics_activity is disabled5081 does not track action5082Resolvers::EpicsResolver5083 with a group5084 #resolve5085 returns nothing when feature disabled5086 finds all epics5087 with iid5088 finds a specific epic with iid5089 does not inflate the complexity5090 with iids5091 finds a specific epic with iids5092 finds multiple epics with iids5093 increases the complexity based on child_complexity and number of iids5094 within timeframe5095 when start_date and end_date are present5096 returns epics within timeframe5097 when timeframe start and end are present5098 returns epics within timeframe5099 with milestone5100 filters epics by timeframe and issues milestone5101 with state5102 lists epics with opened state5103 lists epics with closed state5104 behaves like graphql query for searching issuables5105 uses search optimization5106 filters issuables by title5107 filters issuables by description5108 with in param5109 generates an error if param search is missing5110 filters issuables by title and description5111 filters issuables by description only5112 filters issuables by title only5113 with author_username5114 filters epics by author5115 with label_name5116 filters epics by labels5117 with my_reaction_emoji5118 filters epics by reaction emoji5119 with milestone_title5120 filters epics by issues milestone5121 returns empty result if milestone is not assigned to any epic issues5122 with sort5123 orders epics by start date in descending order5124 orders epics by start date in ascending order5125 orders epics by end date in descending order5126 orders epics by end date in ascending order5127 orders epics by title in descending order5128 orders epics by title in ascending order5129 with subgroups5130 finds only the epics within the group we are looking at5131 returns all epics5132 does not return subgroup epics when include_descendant_groups is false5133 filters by milestones in subgroups5134 when the resolved group is a subgroup5135 returns only the epics belonging to the subgroup by default5136 returns the epics belonging to the ancestor groups when include_ancestor_groups is true5137 with partial iids5138 returns the expected epics if just the first number of iid is requested5139 returns the expected epics if first two numbers of iid are requested5140 returns the expected epics if last two numbers of iid are given5141 returns the expected epics if exact number of iid is given5142 with `top_level_hierarchy_only` param set as `true`5143 is expected to contain exactly #<Epic id:441 group648&1> and #<Epic id:442 group648&2>5144 when a parent epic is present5145 ignores `top_level_hierarchy_only` param and return all children of the given epic5146 with negated filters5147 for label5148 is expected to contain exactly #<Epic id:499 group659&2> and #<Epic id:500 group659&3>5149 for author5150 is expected to contain exactly #<Epic id:498 group659&1> and #<Epic id:500 group659&3>5151 for emoji5152 is expected to contain exactly #<Epic id:498 group659&1> and #<Epic id:499 group659&2>5153 when passing a non existent, batch loaded group5154 returns nil without breaking5155Geo::VerificationStateBackfillWorker5156 uses a geo queue5157 #perform5158 behaves like reenqueuer5159 implements lease_timeout5160 uses the :none deduplication strategy5161 #perform5162 tries to obtain a lease5163 behaves like #perform is rate limited to 1 call per5164 when the work finishes in 0 seconds5165 sleeps exactly the minimum duration5166 when the work finishes in 10% of minimum duration5167 sleeps 90% of minimum duration5168 when the work finishes in 90% of minimum duration5169 sleeps 10% of minimum duration5170 when the work finishes exactly at minimum duration5171 does not sleep5172 when the work takes 10% longer than minimum duration5173 does not sleep5174 when the work takes twice as long as minimum duration5175 does not sleep5176 when service is executed5177 when Geo::VerificationStateBackfillService#execute returns true5178 returns true5179 worker gets reenqueued5180 when VerificationStateBackfillService#execute returns false5181 returns false5182 worker does not get reenqueued (we will wait until next cronjob)5183Geo::RepositoryVerificationFinder5184 #find_failed_repositories5185 returns projects where next retry attempt is in the past5186 does not return projects where next retry attempt is in the future5187 does not return projects where repository was recently updated5188 does not return projects where repository verification is pending5189 returns projects ordered by next retry time5190 with shard restriction5191 does not return projects on other shards5192 #find_failed_wikis5193 returns projects where next retry attempt is in the past5194 does not return projects where next retry attempt is in the future5195 does not return projects where wiki was recently updated5196 does not return projects where wiki verification is pending5197 returns projects ordered by next retry time5198 with shard restriction5199 does not return projects on other shards5200 #find_recently_updated_projects5201 returns projects where repository was recently updated5202 returns projects where repository verification is pending5203 does not return projects where repository verification failed5204 returns projects where wiki was recently updated5205 returns less active projects first5206 with geo_project_wiki_repository_replication feature flag disabled5207 returns projects where wiki verification is pending5208 does not return projects where wiki verification failed5209 with geo_project_wiki_repository_replication feature flag enabled5210 does not return projects where wiki verification is pending5211 does not return projects where wiki verification failed5212 with shard restriction5213 does not return projects on other shards5214 #find_never_verified_projects5215 returns projects that never have been verified5216 with shard restriction5217 does not return projects on other shards5218 #find_reverifiable_repositories5219 behaves like find reverifiable projects5220 returns projects where repository was verified before the minimum re-verification interval5221 does not return projects where repository was recently updated5222 does not return projects where repository verification failed5223 returns less active projects first5224 with shard restriction5225 does not return projects on other shards5226 #find_reverifiable_wikis5227 behaves like find reverifiable projects5228 returns projects where wiki was verified before the minimum re-verification interval5229 does not return projects where wiki was recently updated5230 does not return projects where wiki verification failed5231 returns less active projects first5232 with shard restriction5233 does not return projects on other shards5234 #count_verified_repositories5235 when a repository is verified5236 includes the repository5237 when a repository failed verification5238 excludes the repository5239 when a repository has outdated verification5240 excludes the repository5241 #count_verified_wikis5242 when a wiki is verified5243 includes the wiki5244 when a wiki failed verification5245 excludes the wiki5246 when a wiki has outdated verification5247 excludes the wiki5248Vulnerabilities::ResolveService5249 when vulnerability state is different from the requested state5250 with an authorized user with proper permissions5251 resolves a vulnerability5252 creates note5253 creates state transition entry to `resolved`5254 behaves like calls vulnerability statistics utility services in order5255 when updating the vulnerability fails5256 does not call the service classes5257 when updating the vulnerability succeeds5258 calls the service classes in order5259 behaves like removes dismissal feedback from associated findings5260 when there is no error5261 removes dismissal feedback from associated findings5262 when there is an error5263 does not remove any feedback5264 responds with error5265 when security dashboard feature is disabled5266 raises an "access denied" error5267 when vulnerability state is not different from the requested state5268 behaves like does not create state transition for same state5269 when vulnerability state is not different from the requested state5270 with an authorized user with proper permissions5271 does not create a state transition entry5272 permissions5273 is expected to be allowed for :owner5274 is expected to be allowed for :maintainer5275 is expected to be allowed for :developer5276 is expected to be denied for :auditor5277 is expected to be denied for :reporter5278 is expected to be denied for :guest5279 is expected to be denied for :anonymous5280 when admin mode is enabled5281 is expected to be allowed for :admin5282 when admin mode is disabled5283 is expected to be denied for :admin5284TimeboxReportService5285 milestone charts5286 behaves like timebox chart5287 when license is not available5288 returns an error message5289 when license is available5290 returns an error when the number of events exceeds the limit5291 aggregates events before the start date to the start date5292 updates counts and weight when the milestone is added or removed5293 updates the completed counts when issue state is changed5294 updates the weight totals when issue weight is changed5295 when milestone does not have a start and due date5296 returns an error message5297 when events have the same timestamp for created_at5298 fetches events ordered by created_at and id5299 handles events for the same issue with exactly the same timestamp5300 when timebox is removed and then added back5301 event_types: [:add, :add], scope_count: 15302 updates the counts correspondingly5303 event_types: [:remove, :remove], scope_count: 05304 updates the counts correspondingly5305 event_types: [:add, :add, :remove], scope_count: 05306 updates the counts correspondingly5307 event_types: [:add, :remove, :remove], scope_count: 05308 updates the counts correspondingly5309 event_types: [:add, :remove, :add], scope_count: 15310 updates the counts correspondingly5311 event_types: [:add, :remove, :remove, :add], scope_count: 15312 updates the counts correspondingly5313 event_types: [:add, :add, :remove, :add, :add], scope_count: 15314 updates the counts correspondingly5315 with scoped_projects5316 scoped_projects is blank5317 scoped_projects: []5318 returns an empty response5319 scoped_projects: #<ActiveRecord::Relation []>5320 returns an empty response5321 scoped_projects: lazy { [project] }, expected_count: 2, expected_weight: 25322 aggregates events scoped to the given projects5323 scoped_projects: lazy { [other_project] }, expected_count: 1, expected_weight: 25324 aggregates events scoped to the given projects5325 scoped_projects: lazy { [subgroup_project] }, expected_count: 1, expected_weight: 35326 aggregates events scoped to the given projects5327 scoped_projects: lazy { [project, other_project, subgroup_project] }, expected_count: 4, expected_weight: 75328 aggregates events scoped to the given projects5329 iteration charts5330 behaves like timebox chart5331 when license is not available5332 returns an error message5333 when license is available5334 returns an error when the number of events exceeds the limit5335 aggregates events before the start date to the start date5336 updates counts and weight when the milestone is added or removed5337 updates the completed counts when issue state is changed5338 updates the weight totals when issue weight is changed5339 when milestone does not have a start and due date5340 returns an error message5341 when events have the same timestamp for created_at5342 fetches events ordered by created_at and id5343 handles events for the same issue with exactly the same timestamp5344 when timebox is removed and then added back5345 event_types: [:add, :add], scope_count: 15346 updates the counts correspondingly5347 event_types: [:remove, :remove], scope_count: 05348 updates the counts correspondingly5349 event_types: [:add, :add, :remove], scope_count: 05350 updates the counts correspondingly5351 event_types: [:add, :remove, :remove], scope_count: 05352 updates the counts correspondingly5353 event_types: [:add, :remove, :add], scope_count: 15354 updates the counts correspondingly5355 event_types: [:add, :remove, :remove, :add], scope_count: 15356 updates the counts correspondingly5357 event_types: [:add, :add, :remove, :add, :add], scope_count: 15358 updates the counts correspondingly5359 with scoped_projects5360 scoped_projects is blank5361 scoped_projects: []5362 returns an empty response5363 scoped_projects: #<ActiveRecord::Relation []>5364 returns an empty response5365 scoped_projects: lazy { [project] }, expected_count: 2, expected_weight: 25366 aggregates events scoped to the given projects5367 scoped_projects: lazy { [other_project] }, expected_count: 1, expected_weight: 25368 aggregates events scoped to the given projects5369 scoped_projects: lazy { [subgroup_project] }, expected_count: 1, expected_weight: 35370 aggregates events scoped to the given projects5371 scoped_projects: lazy { [project, other_project, subgroup_project] }, expected_count: 4, expected_weight: 75372 aggregates events scoped to the given projects5373WorkItem5374 #supported_quick_action_commands5375 when work item supports the health status widget5376 returns health status related quick action commands5377 when work item does not the health status widget5378 omits assignee related quick action commands5379 when work item supports the weight widget5380 returns labels related quick action commands5381 when work item does not support the weight widget5382 omits labels related quick action commands5383 #widgets5384 for weight widget5385 when issuable weights is licensed5386 returns an instance of the weight widget5387 when issuable weights is unlicensed5388 omits an instance of the weight widget5389 for status widget5390 when requirements is licensed5391 returns an instance of the status widget5392 when status is unlicensed5393 omits an instance of the status widget5394 for iteration widget5395 when iterations is licensed5396 when work item supports iteration5397 work_item_type: :task5398 returns an instance of the iteration widget5399 work_item_type: :issue5400 returns an instance of the iteration widget5401 when work item does not support iteration5402 omits an instance of the iteration widget5403 when iterations is unlicensed5404 omits an instance of the iteration widget5405 for progress widget5406 when okrs is licensed5407 when work item supports progress5408 returns an instance of the progress widget5409 when work item does not support progress5410 omits an instance of the progress widget5411 when okrs is unlicensed5412 omits an instance of the progress widget5413 for health status widget5414 when issuable_health_status is licensed5415 when work item supports health_status5416 work_item_type: :issue5417 returns an instance of the health status widget5418 work_item_type: :objective5419 returns an instance of the health status widget5420 work_item_type: :key_result5421 returns an instance of the health status widget5422 when work item does not support health status5423 work_item_type: :test_case5424 omits an instance of the health status widget5425 work_item_type: :requirement5426 omits an instance of the health status widget5427 when issuable_health_status is unlicensed5428 omits an instance of the health status widget5429 for legacy requirement widget5430 when requirements feature is licensed5431 when work item supports legacy requirement5432 returns an instance of the legacy requirement widget5433 when work item does not support legacy requirement5434 work_item_type: :test_case5435 omits an instance of the legacy requirement widget5436 work_item_type: :issue5437 omits an instance of the legacy requirement widget5438 work_item_type: :objective5439 omits an instance of the legacy requirement widget5440 work_item_type: :key_result5441 omits an instance of the legacy requirement widget5442 when requirements feature is unlicensed5443 omits an instance of the legacy requirement widget5444 #average_progress_of_children5445 when workitem has zero children5446 returns 0 as average5447 when work item has children5448 returns the average of children progress5449 rounds the average to lower number5450 behaves like a collection filtered by test reports state5451 .with_last_test_report_state5452 for passed state5453 is expected to contain exactly #<WorkItem id:393 namespace1096/project-1119#1> and #<WorkItem id:394 namespace1097/project-1120#1>5454 for failed state5455 is expected to contain exactly #<WorkItem id:392 namespace1095/project-1118#1>5456 .without_test_reports5457 returns requirements without test reports5458Packages::Policies::ProjectPolicy5459 # order random5460 with ip restriction5461 with group without restriction5462 is expected to be allowed :read_package5463 is expected to be allowed :create_package5464 is expected to be allowed :destroy_package5465 is expected to be allowed :admin_package5466 with group with restriction5467 with address is within the range5468 is expected to be allowed :read_package5469 is expected to be allowed :create_package5470 is expected to be allowed :destroy_package5471 is expected to be allowed :admin_package5472 with address is outside the range5473 is expected to be disallowed :read_package5474 is expected to be disallowed :create_package5475 is expected to be disallowed :destroy_package5476 is expected to be disallowed :admin_package5477 is expected to be disallowed :update_package5478 with admin enabled5479 is expected to be allowed :read_package5480 is expected to be allowed :create_package5481 is expected to be allowed :destroy_package5482 is expected to be allowed :admin_package5483 with admin disabled5484 is expected to be disallowed :read_package5485 is expected to be disallowed :create_package5486 is expected to be disallowed :destroy_package5487 is expected to be disallowed :admin_package5488 with auditor5489 is expected to be allowed :read_package5490 is expected to be allowed :create_package5491 is expected to be allowed :destroy_package5492 is expected to be allowed :admin_package5493Search::NamespaceIndexIntegrityWorker5494 # order random5495 #perform5496 when search_index_integrity feature flag is disabled5497 does nothing5498 when namespace_id is not provided5499 does nothing5500 when namespace_id is provided5501 executes under an exclusive lease5502 behaves like an idempotent worker5503 is labeled as idempotent5504 performs multiple times sequentially without raising an exception5505 schedules ProjectIndexIntegrityWorker for each project with a delay5506 when project.should_check_index_integrity? is false5507 does not schedule ProjectIndexIntegrityWorker for that project5508 when a namespace has sub-groups5509 recursively schedules itself for each child namespace with a delay5510 when namespace is not found5511 does nothing5512 when namespace.use_elasticsearch? is false5513 does nothing5514Issuable::DiscussionsListService5515 # order random5516 fetching notes for incidents5517 behaves like listing issuable discussions5518 when user cannot read issue5519 returns no notes5520 when user can read issuable5521 with paginated results5522 returns next page notes5523 and cannot read confidential notes5524 returns non confidential notes5525 and can read confidential notes5526 returns all notes5527 and system notes only5528 returns system notes5529 and user comments only5530 returns user comments5531 fetching notes for vulnerabilities5532 returns all notes5533 with paginated results5534 returns next page notes5535 and system notes only5536 returns system notes5537 and user comments only5538 returns user comments5539 fetching notes for epics5540 behaves like listing issuable discussions5541 when user cannot read issue5542 returns no notes5543 when user can read issuable5544 with paginated results5545 returns next page notes5546 and cannot read confidential notes5547 returns non confidential notes5548 and can read confidential notes5549 returns all notes5550 and system notes only5551 returns system notes5552 and user comments only5553 returns user comments5554ResourceAccessTokens::RevokeService5555 project access token audit events5556 when project access token is successfully revoked5557 logs project access token details5558 behaves like audit event details5559 creates an audit event5560 logs author and resource info5561 behaves like sends correct event type in audit event stream5562 sends correct event type in audit event stream5563 when project access token is unsuccessfully revoked5564 when access token does not belong to this project5565 logs the find error message5566 behaves like audit event details5567 creates an audit event5568 logs author and resource info5569 behaves like sends correct event type in audit event stream5570 sends correct event type in audit event stream5571 with inadequate permissions5572 logs the permission error message5573 behaves like audit event details5574 creates an audit event5575 logs author and resource info5576 behaves like sends correct event type in audit event stream5577 sends correct event type in audit event stream5578EE::Namespace::Storage::Notification5579 #show?5580 for a group5581 returns true if all conditions are met5582 when the user is not provided5583 is expected to equal false5584 when alert level is none5585 is expected to equal false5586 when not SaaS5587 is expected to equal false5588 when the user does not have at least maintainer access to the group5589 is expected to equal false5590 for repository limits5591 returns true if all conditions are met5592 when the user does not have at least owner access to the group5593 is expected to equal false5594 for personal namespace5595 when not SaaS5596 is expected to equal false5597 when the user is the owner of the context5598 is expected to equal true5599 when the user is not the owner of the context5600 is expected to equal false5601 for repository limits5602 when the user is the owner of the context5603 when the user does not have at least owner access to the context5604 is expected to equal false5605 for project5606 when the user have at least maintainer access to the project5607 is expected to equal true5608 when the user does not have at least maintainer access to the project5609 is expected to equal false5610 #payload5611 with repository usage5612 includes a usage_quotas help link5613 when additional_purchased_storage_size is 05614 returns proper usage_message5615 returns proper explanation_message5616 when additional_purchased_storage_size exists5617 returns usage_message when there is additional_purchased_storage_size5618 returns usage_message with singular version if its just 1 locked project5619 returns explanation_message when there is additional_purchased_storage_size5620 when under size limit5621 returns explanation_message with a warning5622 when namespace does not have locked projects5623 behaves like namespace usage_message5624 returns correct usage_message5625 with namespace usage5626 when above the limit5627 returns above the limit messages5628 behaves like namespace usage_message5629 returns correct usage_message5630 when below the limit5631 returns below the limit messages5632Members::CreateService5633 with group plan observing quota limits5634 already exceeded invite quota limit5635 behaves like quota limit exceeded5636 is expected to include {:status => :error, :message => "Invite limit of 2 per day exceeded"}5637 is expected not to change `Member.count`5638 will exceed invite quota limit5639 behaves like quota limit exceeded5640 is expected to include {:status => :error, :message => "Invite limit of 3 per day exceeded"}5641 is expected not to change `Member.count`5642 within invite quota limit5643 is expected to eq {:status=>:success}5644 is expected to include #<User id:2422 @user1438> and #<User id:2423 @user1439>5645 infinite invite quota limit5646 is expected to eq {:status=>:success}5647 is expected to include #<User id:2422 @user1438> and #<User id:2423 @user1439>5648 without a plan5649 is expected to eq {:status=>:success}5650 is expected to include #<User id:2422 @user1438> and #<User id:2423 @user1439>5651 when assigning tasks to be done5652 when passing many user ids5653 creates 2 task issues5654 streaming audit event5655 audits event with name5656 sends the audit streaming event5657 with seat availability concerns5658 when creating5659 when seat is available5660 with existing user that is a member in our hierarchy5661 adds the member5662 when under the dashboard limit5663 adds the members5664 when seat is not available5665 does not add members5666 when updating with no seats left5667 allows updating existing invited member5668Gitlab::ExpiringSubscriptionMessage5669 message5670 plan_name: "gold"5671 subscribable installed5672 subscribable should not notify admins5673 returns nil5674 subscribable should notify admins5675 admin signed in5676 subscribable expired5677 when it blocks changes5678 when it is currently blocking changes5679 has a nice subject5680 when the subscription hasn't been properly downgraded yet5681 shows the expiring message5682 no namespace5683 has an expiration blocking message5684 with namespace5685 has an expiration blocking message5686 is auto_renew5687 has a nice subject5688 has an expiration blocking message5689 when there is a future renewal5690 is expected to be nil5691 without gitlab_subscription5692 does not check for a future renewal5693 when it is not currently blocking changes5694 has a nice subject5695 has an expiration blocking message5696 subscribable is expiring soon5697 has a nice subject5698 without namespace5699 has an expiration blocking message5700 when a future dated license is applied5701 returns nil5702 when self-managed subscription is already renewed5703 does not return a message5704 with namespace5705 has bronze plan specific messaging5706 plan: "gold"5707 has plan specific messaging5708 plan: "ultimate"5709 has plan specific messaging5710 plan: "silver"5711 has plan specific messaging5712 plan: "premium"5713 has plan specific messaging5714 is auto_renew nil5715 returns nil5716 is auto_renew5717 returns nil5718 when there is a future renewal5719 is expected to be nil5720 without gitlab_subscription5721 does not check for a future renewal5722 with a sub-group5723 checks for a future renewal5724 when parent namespace has a future renewal5725 is expected to be nil5726 no subscribable installed5727 is expected to be blank5728 plan_name: "ultimate"5729 subscribable installed5730 subscribable should not notify admins5731 returns nil5732 subscribable should notify admins5733 admin signed in5734 subscribable expired5735 when it blocks changes5736 when it is currently blocking changes5737 has a nice subject5738 when the subscription hasn't been properly downgraded yet5739 shows the expiring message5740 no namespace5741 has an expiration blocking message5742 with namespace5743 has an expiration blocking message5744 is auto_renew5745 has a nice subject5746 has an expiration blocking message5747 when there is a future renewal5748 is expected to be nil5749 without gitlab_subscription5750 does not check for a future renewal5751 when it is not currently blocking changes5752 has a nice subject5753 has an expiration blocking message5754 subscribable is expiring soon5755 has a nice subject5756 without namespace5757 has an expiration blocking message5758 when a future dated license is applied5759 returns nil5760 when self-managed subscription is already renewed5761 does not return a message5762 with namespace5763 has bronze plan specific messaging5764 plan: "gold"5765 has plan specific messaging5766 plan: "ultimate"5767 has plan specific messaging5768 plan: "silver"5769 has plan specific messaging5770 plan: "premium"5771 has plan specific messaging5772 is auto_renew nil5773 returns nil5774 is auto_renew5775 returns nil5776 when there is a future renewal5777 is expected to be nil5778 without gitlab_subscription5779 does not check for a future renewal5780 with a sub-group5781 checks for a future renewal5782 when parent namespace has a future renewal5783 is expected to be nil5784 no subscribable installed5785 is expected to be blank5786Geo::RepositorySyncWorker5787 additional shards5788 skips backfill for repositories on other shards5789 skips backfill for projects on shards excluded by selective sync5790 skips backfill for projects on missing shards5791 skips backfill for projects with downed Gitaly server5792Ci::SubscribeBridgeService5793 #execute5794 when the upstream project exists5795 when the upstream project has a pipeline5796 when the user has permissions5797 populates the pipeline project source5798 persists the bridge5799 when the pipeline already finished5800 mirrors the pipeline status to the bridge job instantly5801 when the user does not have permissions5802 drops the bridge5803 when the upstream project does not have a pipeline5804 skips the bridge5805 when the upstream project does not exist5806 drops the bridge5807EE::WelcomeHelper5808 # order random5809 #in_oauth_flow?5810 user_return_to_path: "/oauth/authorize?client_id=x&redirect_uri=y&response_type=code&state=z", expected_result: true5811 returns the expected_result5812 user_return_to_path: "/foo", expected_result: false5813 returns the expected_result5814 user_return_to_path: nil, expected_result: nil5815 returns the expected_result5816 #welcome_submit_button_text5817 when in the subscription flow and signup onboarding is toggled5818 in_subscription_flow: true, signup_onboarding_enabled: true, button_text: "Continue"5819 is expected to eq "Continue"5820 in_subscription_flow: true, signup_onboarding_enabled: false, button_text: "Continue"5821 is expected to eq "Continue"5822 in_subscription_flow: false, signup_onboarding_enabled: true, button_text: "Continue"5823 is expected to eq "Continue"5824 in_subscription_flow: false, signup_onboarding_enabled: false, button_text: "Get started!"5825 is expected to eq "Get started!"5826 when not in the subscription flow5827 and in the invitation or oauth flow5828 user_has_memberships: true, in_oauth_flow: false5829 and regardless of signup onboarding5830 signup_onboarding_enabled: true5831 is expected to eq "Get started!"5832 signup_onboarding_enabled: false5833 is expected to eq "Get started!"5834 user_has_memberships: false, in_oauth_flow: true5835 and regardless of signup onboarding5836 signup_onboarding_enabled: true5837 is expected to eq "Get started!"5838 signup_onboarding_enabled: false5839 is expected to eq "Get started!"5840 and not in the invitation or oauth flow5841 signup_onboarding_enabled: true, result: "Continue"5842 depends on whether or not signup onboarding is enabled5843 signup_onboarding_enabled: false, result: "Get started!"5844 depends on whether or not signup onboarding is enabled5845 #in_subscription_flow?5846 user_return_to_path: "/-/subscriptions/new?plan_id=bronze_plan", expected_result: true5847 returns the expected_result5848 user_return_to_path: "/foo", expected_result: false5849 returns the expected_result5850 user_return_to_path: nil, expected_result: false5851 returns the expected_result5852 #show_signup_flow_progress_bar?5853 when in the subscription flow, regardless of all other flows5854 user_has_memberships: true, in_oauth_flow: false, trial_selected: false5855 and regardless of signup onboarding5856 signup_onboarding_enabled: true5857 is expected to be truthy5858 signup_onboarding_enabled: false5859 is expected to be truthy5860 user_has_memberships: false, in_oauth_flow: true, trial_selected: false5861 and regardless of signup onboarding5862 signup_onboarding_enabled: true5863 is expected to be truthy5864 signup_onboarding_enabled: false5865 is expected to be truthy5866 user_has_memberships: false, in_oauth_flow: false, trial_selected: true5867 and regardless of signup onboarding5868 signup_onboarding_enabled: true5869 is expected to be truthy5870 signup_onboarding_enabled: false5871 is expected to be truthy5872 when not in the subscription flow5873 and in the invitation, oauth, or trial flow5874 user_has_memberships: true, in_oauth_flow: false, trial_selected: false5875 and regardless of signup onboarding5876 signup_onboarding_enabled: true5877 is expected to be falsey5878 signup_onboarding_enabled: false5879 is expected to be falsey5880 user_has_memberships: false, in_oauth_flow: true, trial_selected: false5881 and regardless of signup onboarding5882 signup_onboarding_enabled: true5883 is expected to be falsey5884 signup_onboarding_enabled: false5885 is expected to be falsey5886 user_has_memberships: false, in_oauth_flow: false, trial_selected: true5887 and regardless of signup onboarding5888 signup_onboarding_enabled: true5889 is expected to be falsey5890 signup_onboarding_enabled: false5891 is expected to be falsey5892 and not in the invitation, oauth, or trial flow5893 signup_onboarding_enabled: true, result: true5894 depends on whether or not signup onboarding is enabled5895 signup_onboarding_enabled: false, result: false5896 depends on whether or not signup onboarding is enabled5897 #setup_for_company_label_text5898 in_subscription_flow: true, trial_selected: true, text: "Who will be using this GitLab subscription?"5899 is expected to eq "Who will be using this GitLab subscription?"5900 in_subscription_flow: true, trial_selected: false, text: "Who will be using this GitLab subscription?"5901 is expected to eq "Who will be using this GitLab subscription?"5902 in_subscription_flow: false, trial_selected: true, text: "Who will be using this GitLab trial?"5903 is expected to eq "Who will be using this GitLab trial?"5904 in_subscription_flow: false, trial_selected: false, text: "Who will be using GitLab?"5905 is expected to eq "Who will be using GitLab?"5906 #data_attributes_for_progress_bar_js_component5907 options_enabled: true, attr_values: "true"5908 always includes both attributes with stringified boolean values5909 options_enabled: false, attr_values: "false"5910 always includes both attributes with stringified boolean values5911 #signup_onboarding_enabled?5912 is_com: true, result: true5913 is expected to eq true5914 is_com: false, result: false5915 is expected to eq false5916 #in_trial_onboarding_flow?5917 returns true if query param trial_flow is set to true5918 returns true if query param trial_flow is not set5919 #user_has_memberships?5920 is true when the current_user has memberships5921 is false when the current_user has no memberships5922Vulnerabilities::IssueLink5923 associations and fields5924 is expected to belong to vulnerability required: false5925 is expected to belong to issue required: false5926 is expected to have one author class_name => User through issue5927 is expected to define :link_type as an enum backed by an integer with values ‹{related: 1, created: 2}›5928 provides the "related" as default link_type5929 validations5930 is expected to validate that :vulnerability cannot be empty/falsy5931 is expected to validate that :issue cannot be empty/falsy5932 uniqueness5933 is expected to validate that :issue_id is case-sensitively unique within the scope of :vulnerability_id, producing a custom validation error on failure5934 only one "created" link allowed per vulnerability5935 is expected to validate that :vulnerability_id is case-sensitively unique, producing a custom validation error on failure5936 data consistency constraints5937 when a link between the same vulnerability and issue already exists5938 raises the uniqueness violation error5939 when there is an existing "created" issue link for vulnerability5940 prevents the creation of a new "created" issue link5941 allows the creation of a new "related" issue link5942 .by_link_type5943 when the given argument is `nil`5944 is expected to contain exactly #<Vulnerabilities::IssueLink id: 10, vulnerability_id: 31, issue_id: 407, link_type: "created", created_at: "2023-04-26 10:48:22.333300734 +0000", updated_at: "2023-04-26 10:48:22.333300734 +0000"> and #<Vulnerabilities::IssueLink id: 11, vulnerability_id: 32, issue_id: 408, link_type: "related", created_at: "2023-04-26 10:48:22.881616498 +0000", updated_at: "2023-04-26 10:48:22.881616498 +0000">5945 when the given argument is an uppercase string enum value5946 is expected to contain exactly #<Vulnerabilities::IssueLink id: 10, vulnerability_id: 31, issue_id: 407, link_type: "created", created_at: "2023-04-26 10:48:22.333300734 +0000", updated_at: "2023-04-26 10:48:22.333300734 +0000">5947 when the given argument is an uppercase symbol enum value5948 is expected to contain exactly #<Vulnerabilities::IssueLink id: 11, vulnerability_id: 32, issue_id: 408, link_type: "related", created_at: "2023-04-26 10:48:22.881616498 +0000", updated_at: "2023-04-26 10:48:22.881616498 +0000">5949 .for_issue5950 is expected to contain exactly #<Vulnerabilities::IssueLink id: 12, vulnerability_id: 33, issue_id: 409, link_type: "created", created_at: "2023-04-26 10:48:23.585575364 +0000", updated_at: "2023-04-26 10:48:23.585575364 +0000"> and #<Vulnerabilities::IssueLink id: 13, vulnerability_id: 34, issue_id: 409, link_type: "related", created_at: "2023-04-26 10:48:23.884984848 +0000", updated_at: "2023-04-26 10:48:23.884984848 +0000">5951Epic::RelatedEpicLink5952 validations5953 #validate_max_epic_relations5954 is valid5955 when existing related epics reached limit5956 is not valid5957 behaves like issuable link5958 Associations5959 is expected to belong to source class_name => Epic required: false5960 is expected to belong to target class_name => Epic required: false5961 Validation5962 is expected to validate that :source cannot be empty/falsy5963 is expected to validate that :target cannot be empty/falsy5964 is expected to validate that :source is case-sensitively unique within the scope of :target_id, producing a custom validation error on failure5965 is not valid if an opposite link already exists5966 when it relates to itself5967 when target is nil5968 does not invalidate object with self relation error5969 when source and target are present5970 invalidates object5971 scopes5972 .for_source_or_target5973 returns only links where id is either source or target id5974 .link_type5975 is expected to define :link_type as an enum backed by an integer with values ‹{relates_to: 0, blocks: 1}›5976 provides the "related" as default link_type5977 behaves like issuables that can block or be blocked5978 .issuable_type5979 is expected to eq :epic5980 .inverse_link_type5981 returns the inverse type of link5982 .blocked_issuable_ids5983 returns only ids of issues which are blocked5984 .blocking_issuables_ids_for5985 returns blocking issuables ids5986 blocking issuables count5987 .blocking_issuables_for_collection5988 returns blocking issues count grouped by issue id5989 .blocked_issuables_for_collection5990 returns blocked issues count grouped by issue id5991 .blocking_issuables_count_for5992 returns blocked issues count for single issue5993Mutations::Issues::SetEpic5994 #resolve5995 behaves like permission level for issue mutation is correctly verified5996 when the user is not a project member5997 behaves like when the user does not have access to the resource5998 raises an error5999 even if assigned to the issue6000 does not modify issue6001 even if author of the issue6002 does not modify issue6003 when the user is a project member6004 with guest role6005 behaves like when the user does not have access to the resource6006 raises an error6007 even if assigned to the issue6008 does not modify issue6009 even if author of the issue6010 does not modify issue6011 when the user can update the issue6012 when user can read epic6013 returns the issue with the epic6014 returns errors if issue could not be updated6015 when passing epic_id as nil6016 removes the epic6017 does not do anything if the issue already does not have a epic6018 when epic is confidential but issue is public6019 returns an error with appropriate message6020 with assigning epic error6021 returns an error with appropriate message6022 when user can not read epic6023 raises an error6024Ci::Minutes::UsagePresenter6025 #monthly_minutes_report6026 when the usage is not enabled6027 when the namespace is not eligible6028 returns not supported report with no usage6029 when the namespace is eligible6030 when minutes are not used6031 returns unlimited report with no usage6032 when minutes are used6033 returns unlimited report with usage6034 when limited6035 when minutes are not all used6036 returns report with under usage6037 when minutes are all used6038 returns report with over quota6039 #purchased_minutes_report6040 when limit enabled6041 when extra minutes have been purchased6042 when all monthly minutes are used and some puarchased minutes are used6043 returns report with under quota6044 when all monthly and all puarchased minutes have been used6045 returns report with over quota6046 when not all monthly minutes have been used6047 returns report with no usage6048 when no extra minutes have been purchased6049 when all monthly minutes have been used6050 returns report without usage6051 when not all monthly minutes have been used6052 returns report with no usage6053 #monthly_percent_used6054 limit not enabled6055 returns the percentage6056 monthly limit set and no usage6057 returns the percentage6058 monthly limit set and usage lower than 100%6059 returns the percentage6060 monthly limit set and usage at 100%6061 returns the percentage6062 monthly limit set and usage above 100%6063 returns the percentage6064 monthly limit not set and no usage6065 returns the percentage6066 monthly limit not set and some usage6067 returns the percentage6068 monthly and purchased limits set and no usage6069 returns the percentage6070 monthly and purchased limits set and low usage6071 returns the percentage6072 usage capped to 100% and overflows into purchased minutes6073 returns the percentage6074 #purchased_percent_used6075 limit not enabled6076 returns the percentage6077 monthly limit not set and purchased limit set and low usage6078 returns the percentage6079 monthly limit set and purchased limit not set and usage below monthly6080 returns the percentage6081 monthly limit set and purchased limit not set and usage above monthly6082 returns the percentage6083 monthly and purchased limits set and no usage6084 returns the percentage6085 monthly and purchased limits set and usage below monthly6086 returns the percentage6087 monthly and purchased limits set and monthly minutes maxed out6088 returns the percentage6089 monthly and purchased limits set and some purchased minutes used6090 returns the percentage6091 monthly and purchased limits set and all minutes used6092 returns the percentage6093 monthly and purchased limits set and usage beyond all limits6094 returns the percentage6095 #any_project_enabled?6096 does not trigger additional queries when called multiple times6097 when namespace has any project with shared runners enabled6098 returns true6099 when namespace has no projects with shared runners enabled6100 returns false6101 #display_shared_runners_data?6102 when the namespace is root and it has a project with shared runners enabled6103 is expected to be truthy6104 when the namespace is not root6105 is expected to be falsey6106 when the namespaces has no project with shared runners enabled6107 is expected to be falsey6108EE::Mentionable6109 Epic6110 #store_mentions!6111 behaves like mentions in description6112 when storing user mentions6113 when mentionable description has no mentions6114 stores no mentions6115 when mentionable description contains mentions6116 stores mentions6117 behaves like mentions in notes6118 when mentionable notes contain mentions6119 returns all mentionable mentions6120 and note is confidential6121 returns only mentioned users that has permissions6122 load mentions6123 behaves like load mentions from DB6124 load stored mentions6125 when stored user mention contains ids of inexistent records6126 filters out inexistent mentions6127 and note is confidential6128 stores only mentioned users that has permissions6129 when private projects and groups are mentioned6130 when user has no access to some mentions6131 filters out inaccessible mentions6132 when user has access to all mentions6133 returns all mentions6134Groups::AutocompleteService6135 #labels_as_hash6136 some labels are already assigned6137 marks already assigned as set6138 #epics6139 returns nothing if not allowed6140 returns epics from group6141 returns only confidential epics if confidential_only is true6142 #iterations6143 when the iterations feature is unavailable6144 is expected to be empty6145 when the iterations feature is available6146 is expected to contain exactly #<Iteration id:16 *iteration:16>6147 #vulnerability6148 when the feature is not available6149 when the user is not allowed6150 is expected to be empty6151 when the user is allowed6152 is expected to be empty6153 when the feature is available6154 when the user is not allowed6155 is expected to be empty6156 when the user is allowed6157 is expected to contain exactly 356158 #commands6159 when target is an epic6160 with subepics feature enabled6161 returns available commands6162 with subepics feature disabled6163 returns available commands6164Gitlab::PackageMetadata::Connector::Offline6165 # order random6166 #data_after6167 when no checkpoint is given6168 behaves like full offline license-db sync6169 processes all sequences and chunks6170 extracts package metadata correctly6171 purl_type: :composer, registry_id: "packagist"6172 correctly lists the archive directory contents6173 purl_type: :conan, registry_id: "conan"6174 correctly lists the archive directory contents6175 purl_type: :gem, registry_id: "rubygem"6176 correctly lists the archive directory contents6177 purl_type: :golang, registry_id: "go"6178 correctly lists the archive directory contents6179 purl_type: :maven, registry_id: "maven"6180 correctly lists the archive directory contents6181 purl_type: :npm, registry_id: "npm"6182 correctly lists the archive directory contents6183 purl_type: :nuget, registry_id: "nuget"6184 correctly lists the archive directory contents6185 purl_type: :pypi, registry_id: "pypi"6186 correctly lists the archive directory contents6187 purl_type: :apk, registry_id: "apk"6188 correctly lists the archive directory contents6189 purl_type: :rpm, registry_id: "rpm"6190 correctly lists the archive directory contents6191 purl_type: :deb, registry_id: "deb"6192 correctly lists the archive directory contents6193 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6194 correctly lists the archive directory contents6195 when a checkpoint is given6196 when sequence exists and chunk do not6197 behaves like full offline license-db sync6198 processes all sequences and chunks6199 extracts package metadata correctly6200 purl_type: :composer, registry_id: "packagist"6201 correctly lists the archive directory contents6202 purl_type: :conan, registry_id: "conan"6203 correctly lists the archive directory contents6204 purl_type: :gem, registry_id: "rubygem"6205 correctly lists the archive directory contents6206 purl_type: :golang, registry_id: "go"6207 correctly lists the archive directory contents6208 purl_type: :maven, registry_id: "maven"6209 correctly lists the archive directory contents6210 purl_type: :npm, registry_id: "npm"6211 correctly lists the archive directory contents6212 purl_type: :nuget, registry_id: "nuget"6213 correctly lists the archive directory contents6214 purl_type: :pypi, registry_id: "pypi"6215 correctly lists the archive directory contents6216 purl_type: :apk, registry_id: "apk"6217 correctly lists the archive directory contents6218 purl_type: :rpm, registry_id: "rpm"6219 correctly lists the archive directory contents6220 purl_type: :deb, registry_id: "deb"6221 correctly lists the archive directory contents6222 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6223 correctly lists the archive directory contents6224 when sequence and chunk do not exist6225 behaves like full offline license-db sync6226 processes all sequences and chunks6227 extracts package metadata correctly6228 purl_type: :composer, registry_id: "packagist"6229 correctly lists the archive directory contents6230 purl_type: :conan, registry_id: "conan"6231 correctly lists the archive directory contents6232 purl_type: :gem, registry_id: "rubygem"6233 correctly lists the archive directory contents6234 purl_type: :golang, registry_id: "go"6235 correctly lists the archive directory contents6236 purl_type: :maven, registry_id: "maven"6237 correctly lists the archive directory contents6238 purl_type: :npm, registry_id: "npm"6239 correctly lists the archive directory contents6240 purl_type: :nuget, registry_id: "nuget"6241 correctly lists the archive directory contents6242 purl_type: :pypi, registry_id: "pypi"6243 correctly lists the archive directory contents6244 purl_type: :apk, registry_id: "apk"6245 correctly lists the archive directory contents6246 purl_type: :rpm, registry_id: "rpm"6247 correctly lists the archive directory contents6248 purl_type: :deb, registry_id: "deb"6249 correctly lists the archive directory contents6250 purl_type: :cbl_mariner, registry_id: "cbl-mariner"6251 correctly lists the archive directory contents6252 when sequence and chunk both exist6253 processes only newer sequences and chunks6254 extracts package metadata correctly6255ScanSecurityReportSecretsWorker6256 #perform6257 behaves like an idempotent worker6258 is labeled as idempotent6259 performs multiple times sequentially without raising an exception6260 for database queries6261 avoids N+1 queries6262 when revocable keys exist for the pipeline6263 executes the service6264 when no revocable keys exist for the pipeline6265 does not execute the service6266 with a failure in TokenRevocationService call6267 raises an error6268Gitlab::Geo::Replication::BlobDownloader6269 #execute6270 precondition failures6271 not a Geo secondary6272 returns failure6273 no Geo primary exists6274 returns failure6275 when the file is locally stored6276 ensures the file destination directory exists (PENDING: Temporarily skipped with xit)6277 when the file destination is already taken by a directory6278 returns failure6279 when the file is on Object Storage6280 with object storage sync enabled6281 when the primary proxies remote storage6282 returns success6283 when the primary redirects to remote storage6284 returns success6285 with object storage disabled6286 returns failure6287 with object storage sync disabled6288 returns failure6289 when an error occurs while getting a Tempfile6290 returns failure6291 when the HTTP response is unsuccessful6292 when the HTTP response indicates a missing file on the primary6293 returns a failed result indicating primary_missing_file6294 when the HTTP response does not indicate a missing file on the primary6295 returns a failed result6296 when the HTTP response is successful6297 returns success6298 when the checksum of the downloaded file does not match6299 returns a failed result6300 when the primary has not stored a checksum for the file6301 returns a successful result6302Security::MergeRequestSecurityReportGenerationService6303 # order random6304 #execute6305 when the given report type is invalid6306 raises InvalidReportTypeError6307 when the given report type is valid6308 report_type: "sast", mr_report_method: :compare_sast_reports6309 when the report status is `parsing`6310 returns the report6311 when the report status is `parsed`6312 returns all the fields along with the calculated state of the findings6313 report_type: "secret_detection", mr_report_method: :compare_secret_detection_reports6314 when the report status is `parsing`6315 returns the report6316 when the report status is `parsed`6317 returns all the fields along with the calculated state of the findings6318 report_type: "container_scanning", mr_report_method: :compare_container_scanning_reports6319 when the report status is `parsing`6320 returns the report6321 when the report status is `parsed`6322 returns all the fields along with the calculated state of the findings6323 report_type: "dependency_scanning", mr_report_method: :compare_dependency_scanning_reports6324 when the report status is `parsing`6325 returns the report6326 when the report status is `parsed`6327 returns all the fields along with the calculated state of the findings6328 report_type: "dast", mr_report_method: :compare_dast_reports6329 when the report status is `parsing`6330 returns the report6331 when the report status is `parsed`6332 returns all the fields along with the calculated state of the findings6333 report_type: "coverage_fuzzing", mr_report_method: :compare_coverage_fuzzing_reports6334 when the report status is `parsing`6335 returns the report6336 when the report status is `parsed`6337 returns all the fields along with the calculated state of the findings6338 report_type: "api_fuzzing", mr_report_method: :compare_api_fuzzing_reports6339 when the report status is `parsing`6340 returns the report6341 when the report status is `parsed`6342 returns all the fields along with the calculated state of the findings6343Gitlab::Ci::Minutes::RunnersAvailability6344 #available?6345 shared_runners_enabled: true, minutes_usage: :with_not_used_build_minutes_limit, private_runner_available: false, result: true6346 is expected to eq true6347 shared_runners_enabled: true, minutes_usage: :with_not_used_build_minutes_limit, private_runner_available: true, result: true6348 is expected to eq true6349 shared_runners_enabled: true, minutes_usage: :with_used_build_minutes_limit, private_runner_available: false, result: false6350 is expected to eq false6351 shared_runners_enabled: true, minutes_usage: :with_used_build_minutes_limit, private_runner_available: true, result: true6352 is expected to eq true6353 shared_runners_enabled: false, minutes_usage: :with_used_build_minutes_limit, private_runner_available: false, result: true6354 is expected to eq true6355 shared_runners_enabled: false, minutes_usage: :with_used_build_minutes_limit, private_runner_available: true, result: true6356 is expected to eq true6357 shared_runners_enabled: false, minutes_usage: :with_not_used_build_minutes_limit, private_runner_available: true, result: true6358 is expected to eq true6359 shared_runners_enabled: false, minutes_usage: :with_not_used_build_minutes_limit, private_runner_available: false, result: true6360 is expected to eq true6361 database queries6362 caches records loaded from database6363 does not join across databases6364Elastic::Latest::GitInstanceProxy6365 .methods_for_all_write_targets6366 contains extra method6367 #es_parent6368 contains project id6369 #elastic_search6370 provides repository_id if not provided6371 uses provided repository_id6372 #elastic_search_as_found_blob6373 provides repository_id if not provided6374 uses provided repository_id6375 #blob_aggregations6376 provides repository_id if not provided6377 uses provided repository_id6378 #delete_index_for_commits_and_blobs6379 is forwarded to all write targets6380Gitlab::AppliedMl::SuggestedReviewers::Client6381 # order random6382 #deregister_project6383 when configuration and input is healthy6384 is expected to eq {:deregistered_at=>"2022-01-01 20:22", :project_id=>42}6385 behaves like respecting channel credentials6386 uses a ChannelCredentials object6387 uses a CallCredentials object6388 creates a JWT HMAC token6389 when a grpc not found is received6390 raises a new error6391 when a grpc bad status is received6392 raises a new error6393 with gRPC configuration6394 behaves like respecting environment configuration6395 uses a development URL6396 uses a production URL6397 with an invalid gRPC URL configured6398 raises a configuration error6399 with no secret configured6400 raises a configuration error6401 with an invalid secret configured6402 raises a configuration error6403 #register_project6404 when configuration and input is healthy6405 is expected to eq {:project_id=>42, :registered_at=>"2022-01-01 20:22"}6406 behaves like respecting channel credentials6407 uses a ChannelCredentials object6408 uses a CallCredentials object6409 creates a JWT HMAC token6410 when a grpc already exists is received6411 raises a new error6412 when a grpc bad status is received6413 raises a new error6414 with gRPC configuration6415 behaves like respecting environment configuration6416 uses a development URL6417 uses a production URL6418 with an invalid gRPC URL configured6419 raises a configuration error6420 with no secret configured6421 raises a configuration error6422 with an invalid secret configured6423 raises a configuration error6424 #suggested_reviewers6425 when configuration and input is healthy6426 is expected to eq {:reviewers=>["john", "jane"], :top_n=>4, :version=>"0.7.1"}6427 behaves like respecting channel credentials6428 uses a ChannelCredentials object6429 uses a CallCredentials object6430 creates a JWT HMAC token6431 when a grpc connection error is received6432 raises a new error6433 when a grpc bad status is received6434 raises a new error6435 with no changes6436 raises a new error6437 gRPC configuration6438 behaves like respecting environment configuration6439 uses a development URL6440 uses a production URL6441 with an invalid gRPC URL configured6442 raises a configuration error6443 with no secret configured6444 raises a configuration error6445 with an invalid secret configured6446 raises a configuration error6447Geo::NodeUpdateService6448 #execute6449 updates the node6450 returns true when update succeeds6451 returns false when update fails6452 selective sync disabled6453 does not log an event to the Geo event log when adding restrictions6454 selective sync by namespaces6455 logs an event to the Geo event log when adding namespace restrictions6456 does not log an event to the Geo event log when removing namespace restrictions6457 does not log an event to the Geo event log when node is a primary node6458 selective sync by shards6459 logs an event to the Geo event log when adding shard restrictions6460 does not log an event to the Geo event log when removing shard restrictions6461 does not log an event to the Geo event log when node is a primary node6462SyncSeatLinkRequestWorker6463 #perform6464 makes an HTTP POST request with passed params6465 when response contains a license6466 when there is no previous license6467 behaves like successful license creation6468 persists the new license6469 when there is a previous license6470 when it is a cloud license6471 when the current license key does not match the one returned from sync6472 creates a new license6473 when the current license key matches the one returned from sync6474 reuses the current license and updates the last_synced_at6475 when persisting fails6476 does not delete the current license and logs error6477 when it is not a cloud license6478 behaves like successful license creation6479 persists the new license6480 when response contains reconciliation dates6481 saves the reconciliation dates6482 when an upcoming_reconciliation already exists6483 updates the upcoming_reconciliation6484 when response contains future subscription information6485 when future subscription information is present in the response6486 and no future subscriptions are saved in the current settings6487 persists future subscription information6488 and future subscriptions are saved in the current settings6489 replaces future subscription information6490 when future subscription information is not present in the response6491 and no future subscriptions are saved in the current settings6492 does not change the settings6493 and future subscription are saved in the current settings6494 clears future subscription information6495 when saving fails6496 logs error6497 when the response does not contain reconciliation dates6498 destroys the existing upcoming reconciliation record for the instance6499 does not change anything when there is no existing record6500 behaves like unsuccessful request6501 when the request is not successful6502 raises an error with the expected message6503 sidekiq_retry_in_block6504 is at least 30 minutes in the first retry6505DAST-API.gitlab-ci.yml6506 is expected not to be nil6507 the template file6508 uses the production repository6509 doesn't use the staging repository6510 the created pipeline6511 when no stages6512 when project has no stages6513 includes no jobs6514 when stages includes dast6515 when project has no license6516 includes job to display error6517 when project has Ultimate license6518 by default6519 includes a job6520 when DAST_API_DISABLED=16521 includes no jobs6522 when CI_GITLAB_FIPS_MODE=false6523 sets DAST_API_IMAGE_SUFFIX to ""6524 when CI_GITLAB_FIPS_MODE=true6525 sets DAST_API_IMAGE_SUFFIX to "-fips"6526EE::GitlabRoutingHelper6527 #geo_primary_web_url6528 public / default URL6529 generates a path to the project6530 generates a path to the wiki6531 internal URL6532 generates a path to the project6533 generates a path to the wiki6534 #geo_proxied_http_url_to_repo6535 is expected to eq "http://localhost:123/relative/foo/bar.git"6536 #geo_proxied_ssh_url_to_repo6537 when ssh_port is customized6538 is expected to eq "git@primary:bar.git"6539 when ssh_port is the same as host6540 is expected to eq "ssh://git@proxied-host:123/bar.git"6541 #geo_primary_default_url_to_repo6542 HTTP6543 project6544 is expected to eq "http://localhost:123/relative/foo/bar.git"6545 wiki6546 is expected to eq "http://localhost:123/relative/foo/bar.wiki.git"6547 HTTPS6548 project6549 is expected to eq "https://localhost:123/relative/foo/bar.git"6550 wiki6551 is expected to eq "https://localhost:123/relative/foo/bar.wiki.git"6552 SSH6553 project6554 is expected to eq "git@localhost:foo/bar.git"6555 wiki6556 is expected to eq "git@localhost:foo/bar.wiki.git"6557 #license_management_settings_path6558 generates a path to the license compliance page6559 #user_group_saml_omniauth_metadata_path6560 uses metadata path6561 appends group path and token6562 #user_group_saml_omniauth_metadata_url6563 creates full metadata URL6564 #upgrade_plan_path6565 when the group is present6566 returns the group billing path6567 when the group is blank6568 returns the profile billing path6569 #vulnerability_url6570 returns the full url of the vulnerability6571 #usage_quotas_path6572 returns the group usage quota path for a group namespace6573 returns the profile usage quotas path for any other namespace6574 returns the path with any args supplied6575 #usage_quotas_url6576 returns the group usage quota url for a group namespace6577 returns the profile usage quotas url for any other namespace6578 returns the url with any args supplied6579Ci::PipelineTriggerService6580 #execute6581 with a trigger token6582 group with restriction6583 address is within the range6584 triggers a pipeline6585 address is outside the range6586 does nothing6587 group without restriction6588 triggers a pipeline6589 with a job token6590 group with restriction6591 address is within the range6592 triggers a pipeline6593 address is outside the range6594 does nothing6595 group without restriction6596 triggers a pipeline6597Gitlab::Geo::Oauth::LogoutToken6598 #valid?6599 returns false when current user is nil6600 returns false when state is nil6601 returns false when state is empty6602 returns false when token has an incorrect encoding6603 returns false when token could not be found6604 returns false when token has an invalid status6605 returns false when token does not belong to the user6606 returns true when token is valid6607 #return_to6608 returns nil when token is invalid6609 returns nil when there is no Geo node associated with the OAuth application6610 when state return_to param is nil6611 returns the Geo node URL associated with the OAuth application6612 when state return_to param is empty6613 returns the Geo node URL associated with the OAuth application6614 when state return_to param is set6615 returns the full path to the Geo node URL associated with the OAuth application6616 replaces the host with the Geo node associated with the OAuth application6617 handles leading and trailing slashes correctly6618Issuable::DestroyService6619 #execute6620 when destroying an epic6621 records usage ping epic destroy event6622 behaves like service deleting todos6623 behaves like service scheduling async deletes6624 destroys associated todos asynchronously6625 works inside a transaction6626 behaves like service deleting label links6627 behaves like service scheduling async deletes6628 destroys associated todos asynchronously6629 works inside a transaction6630 when destroying other issuable type6631 does not track usage ping epic destroy event6632 when issuable is an issue6633 behaves like logs delete issuable audit event6634 logs audit event6635 when issuable is an epic6636 behaves like logs delete issuable audit event6637 logs audit event6638 when issuable is a task6639 behaves like logs delete issuable audit event6640 logs audit event6641 when issuable is a merge_request6642 behaves like logs delete issuable audit event6643 logs audit event6644Analytics::RefreshReassignData6645 #execute6646 updates first_reassigned_at6647 when first_reassigned_at is already present6648 does not change first_reassigned_at6649 updates first_reassigned_at if forced6650 when no merge request metric is present6651 creates one6652Security::Ingestion::Tasks::IngestFindingLinks6653 #execute6654 creates finding links for the new records6655 behaves like bulk insertable task6656 when the validation fails6657 can generate error messages correctly6658Integrations::JiraSerializers::IssueDetailEntity6659 returns the Jira issues attributes6660 when the description needs redaction6661 when the user is anonymous6662 redacts the first issue6663 when the user is logged in6664 when the user does not have access to the first issue6665 redacts the first issue6666 when the user does have access to the first issue6667 renders the first issue6668 with Jira Server configuration6669 returns the Jira Server profile URL6670 with only url6671 returns URLs with the web url6672 with Jira Cloud configuration6673 returns the Jira Cloud profile URL6674 without assignee6675 returns an empty array6676 without labels6677 returns an empty array6678 without resolution date6679 returns 'Open' state6680Dast::ScannerProfilesBuild6681 associations6682 is expected to belong to ci_build class_name => Ci::Build required: true6683 is expected to belong to dast_scanner_profile class_name => DastScannerProfile required: true6684 validations6685 is expected to be valid6686 is expected to validate that :ci_build_id cannot be empty/falsy6687 is expected to validate that :dast_scanner_profile_id cannot be empty/falsy6688 when the ci_build.project_id and dast_scanner_profile.project_id do not match6689 is not valid6690 behaves like cleanup by a loose foreign key6691 cleans up (delete or nullify) the model6692TimeboxesHelper6693 #can_generate_chart?6694 supports_milestone_charts: false, start_date: nil, due_date: nil, can_generate_chart: false6695 is expected to eq false6696 supports_milestone_charts: true, start_date: Wed, 26 Apr 2023, due_date: Wed, 26 Apr 2023, can_generate_chart: true6697 is expected to eq true6698 supports_milestone_charts: true, start_date: Wed, 26 Apr 2023, due_date: nil, can_generate_chart: false6699 is expected to eq false6700 supports_milestone_charts: true, start_date: nil, due_date: Wed, 26 Apr 2023, can_generate_chart: false6701 is expected to eq false6702 supports_milestone_charts: true, start_date: nil, due_date: nil, can_generate_chart: false6703 is expected to eq false6704 #timebox_date_range6705 iteration6706 formats properly6707 #show_burndown_placeholder?6708 milestone does not support burndown charts6709 is expected to equal false6710 user without permission6711 is expected to equal false6712 user with permission6713 is expected to equal true6714 #legacy_milestone?6715 without any ResourceStateEvents6716 is expected to be nil6717 with ResourceStateEvent created before milestone6718 is expected to eq false6719 with ResourceStateEvent created same day as milestone6720 is expected to eq false6721 with ResourceStateEvent created after milestone6722 is expected to eq true6723 #recent_releases_with_counts6724 hides private release6725 when user is nil6726 hides private release6727 when user has access to the project6728 returns both releases6729Gitlab::Usage::Metrics::Instrumentations::CountUserMergeRequestsWithAppliedScanResultPoliciesMetric6730 # order random6731 behaves like a correct instrumented metric value and query6732 behaves like a correct instrumented metric value6733 has correct value6734 behaves like a correct instrumented metric query6735 has correct generate query6736 behaves like a correct instrumented metric value and query6737 behaves like a correct instrumented metric value6738 has correct value6739 behaves like a correct instrumented metric query6740 has correct generate query6741MergeRequests::ExecuteApprovalHooksService6742 #execute6743 with remaining approvals6744 fires an approval webhook6745 does not send an email6746 with required approvals6747 fires an approved webhook6748 sends an email6749Emails::AbandonedTrialEmailsCronWorker6750 # order random6751 #perform6752 when there is activity in the project6753 when recent activity6754 does not deliver abandoned trial notification6755 when 10 days activity6756 does not deliver abandoned trial notification6757 when 11 days activity6758 delivers abandoned trial notification6759 when there is activity in the subproject6760 does not deliver abandoned trial notification6761 when there is activity in another project6762 delivers abandoned trial notification6763Boards::EpicBoards::UpdateService6764 tracks epic board name updates6765 behaves like board update service6766 updates the board with valid params6767 does not update the board with invalid params6768 with scoped_issue_board available6769 user is member of the board parent6770 updates the configuration params when scoped issue board is enabled6771 when labels param is used6772 when user can create new labels6773 adds labels to the board6774 when user can not create new labels6775 adds only existing labels to the board6776 without scoped_issue_board available6777 filters unpermitted params when scoped issue board is not enabled6778Namespaces::ServiceAccounts::CreateService6779 # order random6780 when current user is an owner6781 behaves like service account creation failure6782 produces an error6783 when the feature is available6784 sets provisioned by group6785 behaves like service account creation success6786 creates a service account successfully6787 check email domain6788 contains SecureRandom part6789 email name is the same as username6790 when conflicts6791 when username is reserved6792 when username is reserved by user6793 uniquifies username and email6794 when it conflicts with top-level group namespace6795 uniquifies username and email6796 when it conflicts with top-level group namespace that includes upcased characters6797 uniquifies username and email6798 when email is reserved6799 when it conflicts with confirmed primary email6800 uniquifies username and email6801 when it conflicts with unconfirmed primary email6802 uniquifies username and email6803 when it conflicts with confirmed secondary email6804 uniquifies username and email6805 when email and username is reserved6806 uniquifies username and email6807 when the group is invalid6808 behaves like service account creation failure6809 produces an error6810 when the current user is not an owner6811 behaves like service account creation failure6812 produces an error6813MergeRequestPollWidgetEntity6814 Merge Trains6815 has merge train entity6816 when the merge train feature is disabled6817 does not have merge trains count6818 when the merge request is not on a merge train6819 does not have merge train index6820Gitlab::Analytics::CycleAnalytics::StageEvents::IssueLabelAdded6821 behaves like value stream analytics event6822 is expected to be a kind of String6823 is expected to be a kind of Symbol6824 is expected to include ApplicationRecord(abstract)6825 is expected to respond to #timestamp_projection6826 is expected to respond to #html_description6827 is expected to be a kind of Array6828 #apply_query_customization6829 expects an ActiveRecord::Relation object as argument and returns a modified version of it6830 #hash_code6831 returns a hash that uniquely identifies an event6832 does not differ when the same object is built with the same params6833 behaves like LEFT JOIN-able value stream analytics event6834 can use the event as LEFT JOIN6835 when looking at the record with data6836 contains the timestamp expression6837 when looking at the record without data6838 returns nil for the timestamp expression6839Notes::CreateVisualReviewService6840 # order random6841 when merge request discussion is locked6842 does not create a note6843 when merge request discussion is unlocked6844 creates a note6845 when project is archived6846 does not create a note6847Security::ScanResultPolicies::VulnerabilitiesCountService6848 # order random6849 #execute6850 when result_count is less than allowed count6851 returns count and does not exceed allowed count6852 when result_count is greater than allowed count6853 returns count and exceeds allowed count6854 when batch iteration is not complete6855 returns count and exceeds allowed count6856GroupSamlIdentityFinder6857 .find_by_group_and_uid6858 finds identity matching user and group6859 returns nil when no saml_provider exists6860 .not_managed_identities6861 returns all identities of users not managed by given group6862 #find_linked6863 finds identity matching user and group6864 returns nil when no saml_provider exists6865 returns nil when group is nil6866 #all6867 finds Group SAML identities for a user6868 avoids N+1 on access to provider and group path6869EE::API::Entities::GeoNodeStatus6870 #healthy6871 when node is healthy6872 returns true6873 when node is unhealthy6874 returns false6875 #health6876 when node is healthy6877 exposes the health message6878 when node is unhealthy6879 exposes the error message6880 #job_artifacts_synced_in_percentage6881 formats as percentage6882 #container_repositories_synced_in_percentage6883 formats as percentage6884 #design_repositories_synced_in_percentage6885 formats as percentage6886 #repositories_synced_in_percentage6887 formats as percentage6888 #replication_slots_used_in_percentage6889 formats as percentage6890 #namespaces6891 returns empty array when full sync is active6892 returns array of namespace ids and paths for selective sync6893 #storage_shards6894 returns the config6895 secondary Geo node6896 is expected to have key :storage_shards6897 is expected to have key :storage_shards_match6898LabelNote6899 when resource is epic6900 includes a link to the list of epics filtered by the label6901 behaves like label note created from events6902 .from_events6903 returns system note with expected attributes6904 updates markdown cache if reference is not set yet6905 updates markdown cache if label was deleted6906 returns html note6907 returns text note for added labels6908 returns text note for removed labels6909 returns text note for added and removed labels6910 returns text note for cross-project label6911 returns text note for cross-group label6912 when a label is removed6913 returns note correctly6914Search::IndexCurationWorker6915 # order random6916 #curator_settings6917 includes a pattern for all index types with enabled feature flags6918 does not include patterns for disabled index types6919 has correct value for max_shard_size_gb6920 has correct value for max_docs_denominator6921 has correct value for min_docs_before_rollover6922 #perform6923 calls on the curator6924 logs rolled over indices6925 logs errors when something blows up6926 does not log anything when Gitlab::ExclusiveLeaseHelpers::FailedToObtainLockError is raised6927 when feature flag `search_index_curation` is disabled6928 does not curate anything6929 #logger6930 logs with Gitlab::Elasticsearch::Logger6931Members::InviteService6932 #execute6933 with group plan observing quota limits6934 already exceeded invite quota limit6935 behaves like quota limit exceeded6936 limits the number of daily invites allowed6937 will exceed invite quota limit6938 behaves like quota limit exceeded6939 limits the number of daily invites allowed6940 within invite quota limit6941 successfully creates members6942 infinite invite quota limit6943 successfully creates members6944 without a plan6945 successfully creates members6946 with Audit Event logging6947 when there are valid members created6948 creates Audit Events6949 when there are some invalid members6950 only creates Audit Events for valid members6951EpicIssues::UpdateService6952 #execute6953 when moving issues between different epics6954 returns an error6955 does not change the relative_position values6956 moving issue to the first position6957 when some positions are close to each other6958 orders issues correctly6959 when there is enough place between positions6960 orders issues correctly6961 moving issue to the third position6962 when some positions are close to each other6963 orders issues correctly6964 when all positions are same6965 orders affected 2 issues correctly6966 when there is enough place between positions6967 orders issues correctly6968 moving issues to the last position6969 when index of the last possition is correct6970 orders issues correctly6971SoftwareLicensePolicies::UpdateService6972 #execute6973 approval status update6974 with license management unavailable6975 does not update the software license policy6976 with a user allowed to admin6977 updates the software license policy correctly6978 with a user not allowed to admin6979 does not updates the software license policy6980 name update6981 does not updates the software license policy6982Notes::UpdateService6983 #execute6984 publish to status page6985 for text-only update6986 triggers status page publish6987 without recognized emoji6988 does not trigger status page publish service6989 for quick action only update6990 triggers status page publish6991 when update fails6992 does not trigger status page publish service6993 for epics6994 tracks epic note creation6995Releases::CreateEvidenceService6996 when pipeline with artifacts is passed6997 includes test reports in evidence if feature is licenced6998 includes test reports in evidence if feature is unlincenced6999 keeps build report artifacts if feature is licenced7000 does not keep artifacts if feature is unlicenced7001AllowedEmailDomain7002 relations7003 is expected to belong to group required: false7004 .domain_names7005 returns the array of domain names7006 validations7007 is expected to validate that :domain cannot be empty/falsy7008 is expected to validate that :group_id cannot be empty/falsy7009 #valid domain7010 valid domain7011 succeeds7012 invalid domain7013 fails7014 domain from excluded list7015 fails7016 #allow_root_group_only7017 top-level group7018 succeeds7019 subgroup7020 fails7021 #email_matches_domain?7022 with matching domain7023 returns true7024 with not matching domain7025 returns false7026 #email_domain7027 returns formatted domain7028License-Scanning.gitlab-ci.yml7029 # order random7030 the created pipeline7031 when project has no license7032 includes no jobs7033 when project has Ultimate license7034 when branch pipeline7035 includes job7036 when MR pipeline7037 includes job7038 when LICENSE_MANAGEMENT_DISABLED=17039 includes no jobs7040 when LICENSE_MANAGEMENT_DISABLED="true"7041 includes no jobs7042 when LICENSE_MANAGEMENT_DISABLED="false"7043 includes job7044MergeRequestResetApprovalsWorker7045 #perform7046 executes MergeRequests::RefreshService with expected values7047 project is missing7048 doesn't execute the service7049 user is missing7050 doesn't execute the service7051Gitlab::Analytics::CycleAnalytics::StageEvents::IssueLastEdited7052 behaves like value stream analytics event7053 is expected to be a kind of String7054 is expected to be a kind of Symbol7055 is expected to include ApplicationRecord(abstract)7056 is expected to respond to #timestamp_projection7057 is expected to respond to #html_description7058 is expected to be a kind of Array7059 #apply_query_customization7060 expects an ActiveRecord::Relation object as argument and returns a modified version of it7061 #hash_code7062 returns a hash that uniquely identifies an event7063 does not differ when the same object is built with the same params7064Types::Dast::SiteProfileAuthType7065 is expected to eq "DastSiteProfileAuth"7066 is expected to require graphql authorizations :read_on_demand_dast_scan7067 is expected to have graphql fields :enabled, :url, :usernameField, :passwordField, :username, :password, and :submitField7068 enabled field7069 is auth_enabled7070 url field7071 is auth_url7072 usernameField field7073 is auth_username_field7074 passwordField field7075 is auth_password_field7076 submitField field7077 is auth_submit_field7078 username field7079 is auth_username7080 password field7081 when there is no associated secret variable7082 is nil7083 when there an associated secret variable7084 is redacted7085AwardEmojis::AddService7086 #execute7087 publish to status page7088 when adding succeeds7089 with recognized emoji7090 triggers status page publish7091 with unrecognized emoji7092 does not trigger status page publish service7093 when adding fails7094 does not trigger status page publish service7095 tracking emoji adding7096 for epics7097 tracks usage7098 for awardables that are not epics7099 does not track epic emoji awarding7100Types::VulnerabilityResponseType7101 is expected to eq "VulnerabilityResponse"7102 is expected to have graphql fields :body, :status_code, :reason_phrase, and :headers7103 checking field contents7104 evidence.response fields7105 checks the contents of the fields7106 evidence.supportingMessages[].response fields7107 checks the contents of the fields7108shared/credentials_inventory/gpg_keys/_gpg_key.html.haml7109 shows the users name7110 shows the ID7111 shows the status7112 when the key is verified it shows the verified badge7113 when the key is not verified7114 shows the unverified badge7115Gitlab::Ci::Reports::Security::Locations::DependencyScanning7116 behaves like vulnerability location7117 #initialize7118 when all params are given7119 initializes an instance7120 param: :file_path7121 when param file_path is missing7122 raises an error7123 param: :package_name7124 when param package_name is missing7125 raises an error7126 #fingerprint7127 generates expected fingerprint7128 #fingerprint_path7129 generates expected fingerprint7130 #==7131 returns true when fingerprints are equal7132 returns false when fingerprints are different7133Gitlab::ContributionAnalytics::DataCollector7134 date range filters7135 filters the date range7136 #totals7137 collects event counts grouped by users by calling #base_query7138 #push_by_author_count7139 calculates the correct count7140 handles empty result7141Security::Ingestion::IngestReportsService7142 #execute7143 calls IngestReportService for each succeeded security scan7144 sets the resolved vulnerabilities, latest pipeline ID and has_vulnerabilities flag7145 calls ScheduleMarkDroppedAsResolvedService with primary identifier IDs7146 marks vulnerabilities as resolved7147 when ingesting vulnerabilities for multiple scanners7148 resolves the missing vulnerabilities7149 scheduling the AutoFix background job7150 when the auto_fix is not enabled for the project7151 when the pipeline does not have any auto fix enabled report type7152 does not schedule the background job7153 when the pipeline has an auto fix enabled report type7154 does not schedule the background job7155 when the auto_fix is enabled for the project7156 when the pipeline does not have any auto fix enabled report type7157 does not schedule the background job7158 when the pipeline has an auto fix enabled report type7159 does not schedule the background job7160Commits::CreateService7161 #execute7162 when the repository size limit has been exceeded7163 raises an error7164 when the namespace storage limit has been exceeded7165 raises an error7166 with a subgroup project7167 raises an error7168 when the namespace is over the free user cap limit7169 raises an error7170projects/settings/subscriptions/_index.html.haml7171 has a help link7172 when project has upstream subscription7173 has delete button7174 when project has downstream subscription7175 has no delete button7176Resolvers::AppSec::Dast::ProfileResolver7177 is expected to have nullable GraphQL type DastProfileConnection7178 when resolving a single DAST profile7179 when the DAST profile exists7180 is expected to eq #<Dast::Profile id: 1, project_id: 1340, dast_site_profile_id: 4, dast_scanner_profile_id: 8, created...594206 +0000", name: "Portable Air Bracket e5a08635 - 1", description: [FILTERED], branch_name: nil>7181 when the DAST profile does not exist7182 is expected to be nil7183 when resolving multiple DAST profiles7184 is expected to contain exactly #<Dast::Profile id: 1, project_id: 1340, dast_site_profile_id: 4, dast_scanner_profile_id: 8, created...594206 +0000", name: "Portable Air Bracket e5a08635 - 1", description: [FILTERED], branch_name: nil> and #<Dast::Profile id: 2, project_id: 1340, dast_site_profile_id: 5, dast_scanner_profile_id: 9, created...785191011 +0000", name: "Tag GPS Component 088b0eac - 2", description: [FILTERED], branch_name: nil>7185 when the feature is disabled7186 is expected to be empty7187 when the user does not have access7188 is expected to be empty7189Vulnerabilities::ScannerPolicy7190 read_vulnerability_scanner7191 when the security_dashboard feature is enabled7192 when the current user has developer access to the vulnerability's project7193 is expected to be allowed :read_vulnerability_scanner7194 when the current user does not have developer access to the vulnerability's project7195 is expected to be disallowed :read_vulnerability_scanner7196 when the security_dashboard feature is disabled7197 is expected to be disallowed :read_vulnerability_scanner7198Elastic::Latest::Config7199 .settings7200 behaves like config settings return correct values7201 returns config7202 sets correct shard/replica settings7203 .mappings7204 returns config7205Security::ScanResultPolicies::SyncFindingsToApprovalRulesService7206 # order random7207 #execute7208 when pipeline_findings is empty and pipeline is complete7209 does not call UpdateApprovalsService7210 when pipeline_findings is not empty or pipeline is not complete7211 calls UpdateApprovalsService for merge request7212Types::VulnerabilityEvidenceSupportingMessageType7213 is expected to eq "VulnerabilityEvidenceSupportingMessage"7214 is expected to have graphql fields :name, :request, and :response7215 checking field contents7216 checks the contents of the evidence.suportingMessages array7217VulnerabilityExports::ExportWorker7218 #perform7219 when vulnerability export does not exist7220 does not raise any error7221 does not call VulnerabilityExports::ExportService::export7222 when vulnerability export exists7223 calls VulnerabilityExports::ExportService::export with the vulnerability_export object7224 sidekiq_retries_exhausted callback7225 when the max retry count is not reached7226 does not mark the vulnerability export object as failed7227 when the max retry count is reached7228 marks the vulnerability export object as failed7229Elastic::MultiVersionInstanceProxy7230 #version7231 returns instance proxy in specified version7232 repository7233 returns instance proxy in specified version7234 method forwarding7235 forwards methods which should touch all write targets7236 forwards read methods to only reading target7237 does not forward write methods which should touch specific version7238Sidebars::Groups::Menus::TrialWidgetMenu7239 # order random7240 behaves like trial widget menu items7241 #render?7242 trials_available: true, trial_active: true, user_can_admin_group: true7243 is expected to eq true7244 trials_available: true, trial_active: true, user_can_admin_group: false7245 is expected to eq false7246 trials_available: true, trial_active: false, user_can_admin_group: true7247 is expected to eq false7248 trials_available: true, trial_active: false, user_can_admin_group: false7249 is expected to eq false7250 trials_available: false, trial_active: true, user_can_admin_group: true7251 is expected to eq false7252 trials_available: false, trial_active: true, user_can_admin_group: false7253 is expected to eq false7254 trials_available: false, trial_active: false, user_can_admin_group: true7255 is expected to eq false7256 trials_available: false, trial_active: false, user_can_admin_group: false7257 is expected to eq false7258 #menu_partial_options7259 provides expected options7260SoftwareLicensePolicies::DeleteService7261 # order random7262 #execute7263 when software_license has one software_license_policy7264 deletes software_license_policy and software_license7265 when software_license has spdx_identifier7266 deletes software_license_policy only7267 when software_license has multiple software_license_policies7268 deletes software_license_policy only7269Gitlab::Cleanup::OrphanJobArtifactFiles7270 not a Geo secondary7271 does not print cleaning Geo registries message7272 Geo secondary7273 prints cleaning Geo registries message7274 accumulates the number of cleaned Geo registries7275LdapGroupSyncWorker7276 #perform7277 with the default license key7278 syncs a single group when group_id is present7279 creates a proxy for syncing a single provider7280 without a license key7281 does not sync groups7282 #sync_groups7283 syncs a group when it was found without a proxy7284 syncs with an existing proxy when one was given7285 #sync_group7286 syncs a single provider when a provider was given7287 syncs all providers when no proxy was given7288WorkItems::Widgets::Filters::Status7289 # order random7290 .filter7291 for passing status7292 is expected to contain exactly #<WorkItem id:427 namespace1405/project-1428#1>7293 for failed status7294 is expected to contain exactly #<WorkItem id:428 namespace1407/project-1430#1>7295 for missing status7296 is expected to contain exactly #<WorkItem id:429 namespace1409/project-1432#1> and #<WorkItem id:426 namespace1404/project-1427#1>7297 when status parameter is nil7298 is expected to contain exactly #<WorkItem id:426 namespace1404/project-1427#1>, #<WorkItem id:427 namespace1405/project-1428#1>, #<WorkItem id:428 namespace1407/project-1430#1>, and #<WorkItem id:429 namespace1409/project-1432#1>7299Projects::AutocompleteService7300 #epics7301 returns nothing if not allowed7302 returns epics from group7303 #iterations7304 when the iterations feature is unavailable7305 is expected to be empty7306 when the iterations feature is available7307 is expected to contain exactly #<Iteration id:19 *iteration:19>7308ManualQuarterlyCoTermBannerHelper7309 #manual_quarterly_co_term_banner7310 when current user is empty7311 does not return a banner payload7312 when current user cannot admin all resources7313 does not return a banner payload7314 when current user can admin all resources7315 returns a banner payload7316AuditEvents::RunnersTokenAuditEventService7317 #security_event7318 for instance7319 behaves like logs the event to file7320 logs the event to file7321 for group7322 behaves like logs the event to file7323 logs the event to file7324 for project7325 behaves like logs the event to file7326 logs the event to file7327 with runners_token_prefix set to RUNNERS_TOKEN_PREFIX7328 behaves like logs the event to file7329 logs the event to file7330IdentityProviderPolicy7331 #rules7332 when user is group managed7333 is expected not to be allowed :link7334 is expected not to be allowed :unlink7335 owner is not yet group managed7336 no other owners exist7337 is expected not to be allowed :unlink7338 another group owner exists7339 without sso linked7340 is expected not to be allowed :unlink7341 with sso linked7342 is expected to be allowed :unlink7343 managed by the group7344 is expected to be allowed :unlink7345Sidebars::Admin::Menus::GeoMenu7346 # order random7347 behaves like Admin menu with sub menus7348 contains submemus7349 behaves like Admin menu7350 renders the correct link7351 renders the correct title7352 renders the correct icon7353 #render?7354 when user is admin7355 renders7356 when user is not admin7357 does not render7358 when user is not logged in7359 does not render7360IssueSidebarExtrasEntity7361 exposing epic7362 when epic is confidential7363 returns nil for a user who is a project member7364 exposes the epic for a user who is a group member7365 when epic is not confidential7366 exposes the epic for a project member7367 exposes the epic for a user who is a group member7368Projects::Security::ConfigurationPresenter7369 #to_h7370 includes settings for auto_fix feature7371 reports auto_fix permissions7372 reports security_training_enabled7373 #to_html_data_attribute7374 includes feature meta information for dast scanner7375 does not include feature meta information for other scanner7376IncidentManagement::IssuableEscalationStatuses::CreateService7377 # order random7378 creates an escalation status for the incident with no policy set7379Vulnerabilities::FindingRemediation7380 is expected to belong to finding class_name => Vulnerabilities::Finding required: true7381 is expected to belong to remediation class_name => Vulnerabilities::Remediation required: true7382 .by_finding_id7383 is expected to eq #<ActiveRecord::Associations::CollectionProxy [#<Vulnerabilities::FindingRemediation id: 1, vulnerabi...ated_at: "2023-04-26 10:52:19.217049000 +0000", updated_at: "2023-04-26 10:52:19.217049000 +0000">]>7384Projects::RegisterSuggestedReviewersProjectWorker7385 # order random7386 #perform7387 when project is not found7388 returns without calling the fetch suggested reviewer service7389 when project is found7390 when user is not found7391 returns without calling the fetch suggested reviewer service7392 when user is found7393 when suggested reviews is not available for the project7394 returns without calling the fetch suggested reviewer service7395 when suggested reviews is available for the project7396 when suggested reviews is not enabled for the project7397 returns without calling the fetch suggested reviewer service7398 when suggested reviews is enabled for the project7399 when service returns success7400 calls project register service and logs an info with payload7401 when service returns error7402 when error is trackable7403 tracks the error7404 when error is swallowable7405 swallows the error7406 when error is trackable and raisable7407 tracks and raises the error7408shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml7409 shows the users name7410 shows the created on date7411 shows the expiry date7412 revoked date7413 when revoked is set7414 shows the revoked on date7415 does not show the revoke button7416 when revoked is not set7417 does not show the revoked on date7418 shows the revoke button7419 scopes7420 when set7421 shows the scopes7422 when not set7423 shows "No Scopes"7424Namespaces::FreeUserCap::RootSize7425 # order random7426 #above_size_limit?7427 when below limit7428 is expected to eq false7429 when above limit7430 is expected to eq true7431EpicEntity7432 has Issuable attributes7433 has epic specific attributes7434 behaves like issuable entity current_user properties7435 can_create_confidential_note7436 when user can create confidential notes7437 is expected to equal true7438 when user cannot create confidential notes7439 is expected to eq false7440Namespaces::FreeUserCap::UsageQuotaTrialAlertComponent7441 when on trial7442 renders the banner7443 when group is public7444 does not have banner content7445 when the free_user_cap feature flag is not enabled7446 does not have banner content7447 when not on trial7448 does not have banner content7449Boards::EpicBoard7450 associations7451 is expected to belong to group required: true inverse_of => epic_boards7452 is expected to have many epic_board_labels inverse_of => epic_board7453 is expected to have many epic_board_positions inverse_of => epic_board7454 is expected to have many epic_board_recent_visits inverse_of => epic_board7455 is expected to have many epic_lists order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board7456 is expected to have many destroyable_lists class_name => EpicList order => {:list_type=>:asc, :position=>:asc} inverse_of => epic_board7457 validations7458 is expected to validate that the length of :name is at most 2557459 scopes7460 .order_by_name_asc7461 returns in case-insensitive alphabetical order and then by ascending ID7462 .for_groups7463 returns boards only in selected groups7464Types::MutationType7465 deprecated mutations7466 field_name: "ApiFuzzingCiConfigurationCreate", reason: "The configuration snippet is now generated client-side", milestone: "15.1"7467 is expected to be present7468 is expected to eq "The configuration snippet is now generated client-side. Deprecated in 15.1."7469admin/users/show.html.haml7470 does not include credit card validation status7471 does not show primary email as secondary email - lists primary email only once7472 Gitlab.com7473 includes credit card validation status7474 when user is validated7475 includes credit card validation status7476Gitlab::Ci::Config::Entry::Vault::Secret7477 validation7478 when entry config value is correct7479 when config is a hash7480 #value7481 returns Vault secret configuration7482 #valid?7483 is valid7484 when config is a string with engine path7485 #value7486 returns Vault secret configuration7487 #valid?7488 is valid7489 when config is a string without engine path7490 #value7491 returns Vault secret configuration7492 #valid?7493 is valid7494 when entry value is not correct7495 #errors7496 when there is an unknown key present7497 reports error7498 when path is not present7499 reports error7500 when field is not present7501 reports error7502 when engine is not a hash7503 reports error7504Geo::ReplicationToggleRequestService7505 expires the geo cache on success7506 does not expire the geo cache on failure7507 behaves like a geo RequestService7508 #execute7509 parses a 401 response7510 alerts on bad SSL certficate7511 handles connection refused7512 returns meaningful error message when primary uses incorrect db key7513 gracefully handles case when primary is deleted7514Vulnerabilities::FindingLink7515 associations7516 is expected to belong to finding class_name => Vulnerabilities::Finding required: false inverse_of => finding_links7517 validations7518 is expected to validate that :url cannot be empty/falsy7519 is expected to validate that the length of :url is at most 20487520 is expected to validate that the length of :name is at most 2557521 is expected to validate that :finding cannot be empty/falsy7522Projects::Settings::BranchRulesHelper7523 # order random7524 #branch_rules_data7525 returns branch rules data7526 when licensed features are disabled7527 returns the correct data7528AppSec::Dast::Pipelines::FindLatestService7529 when a pipeline exists7530 when scanner is enabled7531 with a successful pipeline7532 returns the latest pipeline7533 with a failed pipeline7534 returns the latest pipeline7535 when scanner is disabled7536 does not return pipeline info7537 when on demand scan licensed feature is not available7538 behaves like an error occurred7539 communicates failure7540Elastic::ApplicationVersionedSearch7541 .elastic_index_dependant_association7542 adds the associations to elastic_index_dependants7543 when the association does not exist7544 raises an error7545 when the class is not an ApplicationRecord7546 raises an error7547 .associations_needing_elasticsearch_update7548 when elastic_index_dependents is empty7549 returns an empty array7550 when updated_attributes does not contains on_change attribute7551 returns an empty array7552 when updated_attributes contains on_change attribute7553 returns an array with widgets7554 when depends_on_finished_migration migration is not finished7555 returns an empty array7556 when depends_on_finished_migration migration is finished7557 returns an array with widgets7558Gitlab::AuthorityAnalyzer7559 #calculate7560 returns contributors in order, without skip_user7561AuditEvents::Streaming::Headers::DestroyService7562 #execute7563 when no header is provided7564 does not destroy the header7565 has an error response7566 when the header is destroyed successfully7567 destroys the header7568 sends the audit streaming event7569 with license feature external_audit_events7570 sends correct event type in audit event stream7571Gitlab::Usage::Metrics::Instrumentations::CountProjectsWithExternalStatusChecksMetric7572 behaves like a correct instrumented metric value and query7573 behaves like a correct instrumented metric value7574 has correct value7575 behaves like a correct instrumented metric query7576 has correct generate query7577MergeRequests::StatusCheckResponse7578 is expected to belong to merge_request required: false7579 is expected to belong to external_status_check class_name => MergeRequests::ExternalStatusCheck required: false7580 is expected to define :status as an enum backed by an integer7581 is expected to validate that :merge_request cannot be empty/falsy7582 is expected to validate that :external_status_check cannot be empty/falsy7583 is expected to validate that :sha cannot be empty/falsy7584Search::IndexRegistry7585 # order random7586 .index_for_namespace7587 uses cache correctly7588 assigns the index when there is a cache miss7589 when an index is already assigned to a namespace7590 returns the index in the index assignment7591 when there is not an index assignment7592 makes a new assignment and returns routed index for a namespace7593IssueSerializer7594 sidebar issue serialization7595 matches issue_sidebar json schema7596 sidebar extras issue serialization7597 matches issue_sidebar_extras json schema7598Vulnerabilities::HistoricalStatistics::DeletionService7599 .execute7600 instantiates the service object and calls `execute`7601 #execute7602 when there is no historical statistics older than 365 days7603 does not delete historical statistics7604 when there is a historical statistic entry that was created 364 days ago7605 does not delete historical statistics7606 and there are more than one entries that are older than 365 days7607 deletes historical statistics older than 365 days7608layouts/project7609 # order random7610 when free plan limit alert is present7611 renders the alert partial7612Integrations::Github::RemoteProject7613 #api_url7614 uses github.com API endpoint7615 when git repo mirror URL is used7616 excludes auth token set as username7617 for a custom host7618 is extracted from the url7619 #owner7620 is extracted from the url7621 #repository_name7622 is extracted from the url7623 when https git URL is used7624 doesn't include '.git' at the end7625 when project sub-route accidentally used7626 ignores the sub-route7627GitlabSubscriptions::NotifySeatsExceededBatchService7628 # order random7629 .execute7630 when subscriptions are present7631 sends notifications7632 with no subscriptions7633 does not send notifications7634 returns success7635Gitlab::IncidentManagement7636 # order random7637 .oncall_schedules_available?7638 is expected to be truthy7639 when there is no license7640 is expected to be falsey7641 .escalation_policies_available?7642 is expected to be truthy7643 when escalation policies not avaialble7644 is expected to be falsey7645 when on-call schedules not available7646 is expected to be falsey7647 .issuable_resource_links_available?7648 is expected to be truthy7649 when feature is not avaiable7650 is expected to be falsey7651Gitlab::Analytics::CycleAnalytics::Aggregated::DataForDurationChart7652 calculates the daily average stage duration7653Namespaces::FreeUserCap::EnforceableGroupsFinder7654 # order random7655 #execute7656 with out being previously notified7657 finds private free groups7658 when applicable namespace is not a root namespace7659 finds nothing7660EventFilter7661 #apply_filter7662 with the "epic" filter7663 filters issue events only7664Dast::SiteProfilePresenter7665 #password7666 behaves like a DAST on-demand secret variable7667 when there is no associated secret variable7668 is expected to be nil7669 when there an associated secret variable7670 is redacted7671 #request_headers7672 behaves like a DAST on-demand secret variable7673 when there is no associated secret variable7674 is expected to be nil7675 when there an associated secret variable7676 is redacted7677BlobPresenter7678 #code_owners7679 is expected to contain exactly #<User id:3032 @namespace1456>7680Groups::GroupLinks::UpdateService#execute7681 # order random7682 sends an audit event7683Gitlab::Audit::Events::Preloader7684 .preload!7685 returns an ActiveRecord::Relation7686 preloads associated records7687 #find_each7688 yields a list audit events7689 loads audit events in batches with preloaded associated records7690projects/security/discover/show7691 renders vue app root with correct link7692 candidate for pql_three_cta_test7693 renders vue app root with candidate url7694 candidate for showcase_free_security_features7695 renders showcase and not security discover element7696projects/_merge_request_status_checks_settings7697 renders the settings title7698 renders the settings description7699 renders the settings app element7700 renders the loading spinner7701EE::API::Entities::Scim::Conflict7702 contains the schemas7703 contains the detail7704 contains the status7705Gitlab::Auth::GroupSaml::ResponseStore7706 #set_raw7707 stores values in Redis7708 sets a redis expiry time7709 #get_raw7710 retrives a value set by set_response7711 prevents memory bloat by deleting the value7712BulkImports::Projects::Pipelines::ProtectedBranchesPipeline7713 #run7714 imports protected branch information with unprotect access levels7715groups/security/discover/show7716 renders vue app root with correct link7717 candidate for pql_three_cta_test7718 renders vue app root with candidate url7719 candidate for showcase_free_security_features7720 renders showcase and not security discover element7721EE::RegistrationsHelper7722 #shuffled_registration_objective_options7723 has values that match all UserDetail registration objective keys7724 "other" is always the last option7725 #arkose_labs_data7726 is expected to eq {:api_key=>"api-key", :domain=>"domain"}7727GroupSaml::SamlGroupLinks::DestroyService7728 #execute7729 when authorized user7730 when licensed feature is available7731 create a new saml_group_link entry against the group7732 when user is not allowed to create saml_group_links7733 throws unauthorized error7734Database config initializer for GitLab EE7735 and the runtime is Sidekiq7736 when no custom headroom is specified7737 sets the pool size based on the number of worker threads7738 when specifying headroom through an ENV variable7739 adds headroom on top of the calculated size7740Types::NamespaceType7741 has specific fields7742 Customized fields7743 returns the expected values for customized fields defined in NamespaceType7744Groups::CreateEventWorker7745 creats an event7746 passes the correct arguments7747Gitlab::Geo::JsonRequest7748 #headers7749 contains the JSON request headers7750IncidentManagement::EscalationPolicyHelper7751 # order random7752 #escalation_policy_data7753 returns escalation policies data7754Gitlab::Usage::Metrics::Instrumentations::CountGroupsWithEventStreamingDestinationsMetric7755 behaves like a correct instrumented metric value and query7756 behaves like a correct instrumented metric value7757 has correct value7758 behaves like a correct instrumented metric query7759 has correct generate query7760Sidebars::Projects::Menus::CiCdMenu7761 Test cases7762 when licensed feature quality_management is not enabled7763 does not include test cases menu item7764 when licensed feature quality_management is enabled7765 when user can read issues7766 includes test cases menu item7767 when user cannot read issues7768 does not include test cases menu item7769AddPermissionsDataToNotesDocuments7770 behaves like a deprecated Advanced Search migration7771 #migrate7772 logs a message and halts the migration7773 #completed?7774 returns false7775 #obsolete?7776 returns true7777Types::Boards::EpicBoardType7778 is expected to eq "EpicBoard"7779 is expected to require graphql authorizations :read_epic_board7780 has specific fields7781Types::GlobalIDType7782 where we declare an argument as GlobalIDType[a] where a is prepended in EE7783 when the argument is declared by the client as IterationID7784 behaves like a working query7785 returns a successful response7786 when the argument is declared by the client as EEIterationID7787 behaves like a working query7788 returns a successful response7789Types::Ci::Minutes::NamespaceMonthlyUsageType7790 is expected to have graphql fields :minutes, :month, :month_iso8601, :projects, and :shared_runners_duration7791Types::AuditEvents::ExternalAuditEventDestinationType7792 is expected to eq "ExternalAuditEventDestination"7793 is expected to have graphql fields :id, :destination_url, :group, :verification_token, :headers, and :event_type_filters7794 is expected to require graphql authorizations :admin_external_audit_events7795Gitlab::Ci::Reports::CoverageFuzzing::Report7796 #add_crash7797 stores given crash params in the map7798Types::VulnerabilityScannerInputType7799 is expected to eq "VulnerabilityScannerInput"7800 has the correct arguments7801Sbom::Ingestion::IngestReportsService7802 # order random7803 #execute7804 executes IngestReportService for each report7805 when a report is invalid7806 does not process the invalid report7807Types::VulnerabilityScannerVendorInputType7808 is expected to eq "VulnerabilityScannerVendorInput"7809 has the correct arguments7810Mutations::Ci::Runner::Update7811 #resolve7812 when user can update runner7813 when mutation includes cost factor arguments7814 updates cost factors to specified values7815Types::VulnerabilityDetails::DiffType7816 is expected to have graphql fields :name, :description, :fieldName, :before, and :after7817EpicsHelper7818 #epic_new_app_data7819 returns the correct data for a new epic7820Types::ProtectedEnvironments::ApprovalRuleType7821 # order random7822 includes the expected fields7823 is expected to eq "ProtectedEnvironmentApprovalRule"7824Types::VulnerabilityStateEnum7825 exposes all vulnerability states7826Sbom::Ingestion::Tasks::Base7827 # order random7828 raises error when execute is not implemented7829GemExtensions::Elasticsearch::Model::Indexing::InstanceMethods7830 #index_document7831 overrides _id7832Embedding::SchemaMigration7833 # order random7834 .all_versions7835 returns all versions7836Types::VulnerabilityDetails::ModuleLocationType7837 is expected to have graphql fields :name, :description, :fieldName, :moduleName, and :offset7838Knapsack report was generated. Preview:7839{7840 "ee/spec/policies/project_policy_spec.rb": 191.58989776700037,7841 "ee/spec/models/epic_spec.rb": 204.63573974000064,7842 "ee/spec/lib/gitlab/elastic/project_search_results_spec.rb": 158.32268028199906,7843 "ee/spec/models/concerns/elastic/note_spec.rb": 74.9508997009998,7844 "ee/spec/models/elastic/migration_record_spec.rb": 106.5961084419996,7845 "ee/spec/replicators/geo/ci_secure_file_replicator_spec.rb": 48.64915267300057,7846 "ee/spec/models/ci/build_spec.rb": 54.76629268599936,7847 "ee/spec/models/geo/container_repository_registry_spec.rb": 37.858582753999144,7848 "ee/spec/lib/ee/gitlab/elastic/helper_spec.rb": 35.81400364699948,7849 "ee/spec/services/ee/issues/create_service_spec.rb": 24.110090854999726,7850 "ee/spec/models/geo/job_artifact_registry_spec.rb": 36.161613262000174,7851 "ee/spec/lib/gitlab/ci/templates/sast_gitlab_ci_yaml_spec.rb": 37.70013201300026,7852 "ee/spec/workers/geo/repository_shard_sync_worker_spec.rb": 22.98271429899978,7853 "ee/spec/services/dashboard/projects/list_service_spec.rb": 20.827775917001418,7854 "ee/spec/finders/iterations_finder_spec.rb": 13.44463524800085,7855 "ee/spec/services/security/security_orchestration_policies/fetch_policy_approvers_service_spec.rb": 19.021328650000214,7856 "ee/spec/lib/gitlab/usage_data_counters/epic_activity_unique_counter_spec.rb": 7.08864926699971,7857 "ee/spec/graphql/resolvers/epics_resolver_spec.rb": 14.186223103000884,7858 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 21.082990292999966,7859 "ee/spec/finders/geo/repository_verification_finder_spec.rb": 8.689359010999397,7860 "ee/spec/services/vulnerabilities/resolve_service_spec.rb": 15.01634989500053,7861 "ee/spec/services/timebox_report_service_spec.rb": 7.161303467000835,7862 "ee/spec/models/work_item_spec.rb": 9.804288768998958,7863 "ee/spec/policies/packages/policies/project_policy_spec.rb": 9.36136525099937,7864 "ee/spec/workers/search/namespace_index_integrity_worker_spec.rb": 10.192164191999836,7865 "ee/spec/services/issuable/discussions_list_service_spec.rb": 8.493651775001126,7866 "ee/spec/services/resource_access_tokens/revoke_service_spec.rb": 10.538746230999095,7867 "ee/spec/models/ee/namespace/storage/notification_spec.rb": 5.112731079001605,7868 "ee/spec/services/ee/members/create_service_spec.rb": 10.192526081998949,7869 "ee/spec/lib/gitlab/expiring_subscription_message_spec.rb": 2.7865284370000154,7870 "ee/spec/workers/geo/repository_sync_worker_spec.rb": 7.476147676999972,7871 "ee/spec/services/ci/subscribe_bridge_service_spec.rb": 8.674567083000511,7872 "ee/spec/helpers/ee/welcome_helper_spec.rb": 2.697759287999361,7873 "ee/spec/models/vulnerabilities/issue_link_spec.rb": 8.410158365000825,7874 "ee/spec/models/epic/related_epic_link_spec.rb": 5.073397853999268,7875 "ee/spec/graphql/mutations/issues/set_epic_spec.rb": 5.8786353769992274,7876 "ee/spec/presenters/ci/minutes/usage_presenter_spec.rb": 3.2940928759999224,7877 "ee/spec/models/concerns/ee/mentionable_spec.rb": 7.191600651000044,7878 "ee/spec/services/ee/groups/autocomplete_service_spec.rb": 5.994540833000428,7879 "ee/spec/lib/gitlab/package_metadata/connector/offline_spec.rb": 2.1724654010013182,7880 "ee/spec/workers/scan_security_report_secrets_worker_spec.rb": 7.1165148290001525,7881 "ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb": 5.819924434999848,7882 "ee/spec/services/security/merge_request_security_report_generation_service_spec.rb": 3.7062589270008175,7883 "ee/spec/lib/gitlab/ci/minutes/runners_availability_spec.rb": 4.931913660999271,7884 "ee/spec/lib/elastic/latest/git_instance_proxy_spec.rb": 6.420943752998937,7885 "ee/spec/lib/gitlab/applied_ml/suggested_reviewers/client_spec.rb": 1.898777162999977,7886 "ee/spec/services/geo/node_update_service_spec.rb": 3.9613166060007643,7887 "ee/spec/workers/sync_seat_link_request_worker_spec.rb": 7.124396987999717,7888 "ee/spec/lib/gitlab/ci/templates/dast_api_gitlab_ci_yaml_spec.rb": 3.489464472999316,7889 "ee/spec/helpers/ee/gitlab_routing_helper_spec.rb": 4.897916784999325,7890 "ee/spec/services/ci/pipeline_trigger_service_spec.rb": 5.876945807000084,7891 "ee/spec/lib/gitlab/geo/oauth/logout_token_spec.rb": 4.551770875001239,7892 "ee/spec/services/ee/issuable/destroy_service_spec.rb": 4.623549558999002,7893 "ee/spec/lib/analytics/refresh_reassign_data_spec.rb": 4.725581246000729,7894 "ee/spec/services/security/ingestion/tasks/ingest_finding_links_spec.rb": 4.93903789900105,7895 "ee/spec/serializers/integrations/jira_serializers/issue_detail_entity_spec.rb": 2.2085791659992537,7896 "ee/spec/models/dast/scanner_profiles_build_spec.rb": 5.234070554000937,7897 "ee/spec/helpers/timeboxes_helper_spec.rb": 3.157613291999951,7898 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_user_merge_requests_with_applied_scan_result_policies_metric_spec.rb": 3.770222899998771,7899 "ee/spec/services/ee/merge_requests/execute_approval_hooks_service_spec.rb": 4.838828111998737,7900 "ee/spec/workers/emails/abandoned_trial_emails_cron_worker_spec.rb": 4.707589577001272,7901 "ee/spec/services/boards/epic_boards/update_service_spec.rb": 2.275856398000542,7902 "ee/spec/services/namespaces/service_accounts/create_service_spec.rb": 3.6849677700010943,7903 "ee/spec/serializers/merge_request_poll_widget_entity_spec.rb": 3.902569363999646,7904 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_label_added_spec.rb": 1.9815019239995308,7905 "ee/spec/services/notes/create_visual_review_service_spec.rb": 3.3824526160005917,7906 "ee/spec/services/security/scan_result_policies/vulnerabilities_count_service_spec.rb": 3.3136991240007774,7907 "ee/spec/finders/group_saml_identity_finder_spec.rb": 2.8405152800005453,7908 "ee/spec/lib/ee/api/entities/geo_node_status_spec.rb": 1.60766331800005,7909 "ee/spec/models/label_note_spec.rb": 2.3713635470012377,7910 "ee/spec/workers/search/index_curation_worker_spec.rb": 0.867012276999958,7911 "ee/spec/services/ee/members/invite_service_spec.rb": 3.2994375960006437,7912 "ee/spec/services/epic_issues/update_service_spec.rb": 3.0793500719992153,7913 "ee/spec/services/software_license_policies/update_service_spec.rb": 3.653672563999862,7914 "ee/spec/services/ee/notes/update_service_spec.rb": 2.7685646490008367,7915 "ee/spec/services/ee/releases/create_evidence_service_spec.rb": 4.467344896000213,7916 "ee/spec/models/allowed_email_domain_spec.rb": 1.8291423010014114,7917 "ee/spec/lib/gitlab/ci/templates/license_scanning_latest_gitlab_ci_yaml_spec.rb": 3.0456317059997673,7918 "ee/spec/workers/merge_request_reset_approvals_worker_spec.rb": 1.3337835509992146,7919 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_last_edited_spec.rb": 0.8186339120002231,7920 "ee/spec/graphql/types/dast/site_profile_auth_type_spec.rb": 1.576502182000695,7921 "ee/spec/services/award_emojis/add_service_spec.rb": 1.7118669849987782,7922 "ee/spec/graphql/types/vulnerability_response_type_spec.rb": 2.272785318999013,7923 "ee/spec/views/shared/credentials_inventory/gpg_keys/_gpg_key.html.haml_spec.rb": 3.896646765000696,7924 "ee/spec/lib/gitlab/ci/reports/security/locations/dependency_scanning_spec.rb": 0.8186939320003148,7925 "ee/spec/lib/gitlab/contribution_analytics/data_collector_spec.rb": 1.7468584309990547,7926 "ee/spec/services/security/ingestion/ingest_reports_service_spec.rb": 2.5191284789998463,7927 "ee/spec/services/ee/commits/create_service_spec.rb": 2.3889609050002036,7928 "ee/spec/views/projects/settings/subscriptions/_index.html.haml_spec.rb": 2.829635952000899,7929 "ee/spec/graphql/resolvers/app_sec/dast/profile_resolver_spec.rb": 1.5489962749998085,7930 "ee/spec/policies/vulnerabilities/scanner_policy_spec.rb": 1.8869345740004064,7931 "ee/spec/lib/elastic/latest/config_spec.rb": 1.013033748999078,7932 "ee/spec/services/security/scan_result_policies/sync_findings_to_approval_rules_service_spec.rb": 1.6332533549993968,7933 "ee/spec/graphql/types/vulnerability_evidence_supporting_message_type_spec.rb": 1.7754482580003241,7934 "ee/spec/workers/vulnerability_exports/export_worker_spec.rb": 1.8208452919989213,7935 "ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb": 3.9623692969998956,7936 "ee/spec/lib/sidebars/groups/menus/trial_widget_menu_spec.rb": 0.9412326669989852,7937 "ee/spec/services/software_license_policies/delete_service_spec.rb": 2.4264469600002485,7938 "ee/spec/lib/ee/gitlab/cleanup/orphan_job_artifact_files_spec.rb": 2.5717027629998483,7939 "ee/spec/workers/ldap_group_sync_worker_spec.rb": 1.3095153739996022,7940 "ee/spec/finders/work_items/widgets/filters/status_spec.rb": 2.5114443490001577,7941 "ee/spec/services/ee/projects/autocomplete_service_spec.rb": 2.4396218190013315,7942 "ee/spec/helpers/manual_quarterly_co_term_banner_helper_spec.rb": 1.0016040000009525,7943 "ee/spec/services/audit_events/runners_token_audit_event_service_spec.rb": 1.81045885399908,7944 "ee/spec/policies/identity_provider_policy_spec.rb": 2.1442367429990554,7945 "ee/spec/lib/sidebars/admin/menus/geo_menu_spec.rb": 0.8434804589996929,7946 "ee/spec/serializers/ee/issue_sidebar_extras_entity_spec.rb": 1.767777817998649,7947 "ee/spec/presenters/ee/projects/security/configuration_presenter_spec.rb": 1.4937321610013896,7948 "ee/spec/services/ee/incident_management/issuable_escalation_statuses/create_service_spec.rb": 0.5943389479998586,7949 "ee/spec/models/vulnerabilities/finding_remediation_spec.rb": 1.9076335320005455,7950 "ee/spec/workers/projects/register_suggested_reviewers_project_worker_spec.rb": 1.1183906060014124,7951 "ee/spec/views/shared/credentials_inventory/personal_access_tokens/_personal_access_token.html.haml_spec.rb": 1.4595057160004217,7952 "ee/spec/models/namespaces/free_user_cap/root_size_spec.rb": 0.49346604099991964,7953 "ee/spec/serializers/epic_entity_spec.rb": 1.8546594590006862,7954 "ee/spec/components/namespaces/free_user_cap/usage_quota_trial_alert_component_spec.rb": 1.7972627649996866,7955 "ee/spec/models/boards/epic_board_spec.rb": 1.2517786400003388,7956 "ee/spec/graphql/ee/types/mutation_type_spec.rb": 0.48777493099987623,7957 "ee/spec/views/admin/users/show.html.haml_spec.rb": 1.0929777390010713,7958 "ee/spec/lib/gitlab/ci/config/entry/vault/secret_spec.rb": 0.9059535619999224,7959 "ee/spec/services/geo/replication_toggle_request_service_spec.rb": 0.9226703700005601,7960 "ee/spec/models/vulnerabilities/finding_link_spec.rb": 1.250661019999825,7961 "ee/spec/helpers/projects/settings/branch_rules_helper_spec.rb": 0.37542966599903593,7962 "ee/spec/services/app_sec/dast/pipelines/find_latest_service_spec.rb": 1.7015938770000503,7963 "ee/spec/models/concerns/elastic/application_versioned_search_spec.rb": 0.9289110390000133,7964 "ee/spec/lib/gitlab/authority_analyzer_spec.rb": 1.7376086530002794,7965 "ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb": 0.7953308050000487,7966 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_projects_with_external_status_checks_metric_spec.rb": 1.8522681689992169,7967 "ee/spec/models/merge_requests/status_check_response_spec.rb": 1.0583162040002208,7968 "ee/spec/models/search/index_registry_spec.rb": 2.6119354879992898,7969 "ee/spec/serializers/issue_serializer_spec.rb": 1.2767418470011762,7970 "ee/spec/services/vulnerabilities/historical_statistics/deletion_service_spec.rb": 1.1705206300011923,7971 "ee/spec/views/layouts/project.html.haml_spec.rb": 1.8232560230007948,7972 "ee/spec/models/integrations/github/remote_project_spec.rb": 0.6319201240003167,7973 "ee/spec/services/gitlab_subscriptions/notify_seats_exceeded_batch_service_spec.rb": 0.8962504030005221,7974 "ee/spec/lib/gitlab/incident_management_spec.rb": 1.0174813990015537,7975 "ee/spec/lib/gitlab/analytics/cycle_analytics/aggregated/data_for_duration_chart_spec.rb": 1.3800777060005203,7976 "ee/spec/finders/namespaces/free_user_cap/enforceable_groups_finder_spec.rb": 0.9692944339985843,7977 "ee/spec/lib/ee/event_filter_spec.rb": 1.3306830609999452,7978 "ee/spec/presenters/dast/site_profile_presenter_spec.rb": 0.9270411690013134,7979 "ee/spec/presenters/ee/blob_presenter_spec.rb": 1.2726862380004604,7980 "ee/spec/services/ee/groups/group_links/update_service_spec.rb": 0.683765437999682,7981 "ee/spec/lib/gitlab/audit/events/preloader_spec.rb": 0.8392523999991681,7982 "ee/spec/views/projects/security/discover/show.html.haml_spec.rb": 0.9528066860002582,7983 "ee/spec/views/projects/_merge_request_status_checks_settings.html.haml_spec.rb": 0.6249950759993226,7984 "ee/spec/lib/ee/api/entities/scim/conflict_spec.rb": 0.5745587709989195,7985 "ee/spec/lib/gitlab/auth/group_saml/response_store_spec.rb": 0.4989911709999433,7986 "ee/spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb": 1.2086052960003144,7987 "ee/spec/views/groups/security/discover/show.html.haml_spec.rb": 0.7530940199994802,7988 "ee/spec/helpers/ee/registrations_helper_spec.rb": 0.7168909950014495,7989 "ee/spec/services/group_saml/saml_group_links/destroy_service_spec.rb": 0.8710084750000533,7990 "ee/spec/initializers/database_config_spec.rb": 0.7872706359994481,7991 "ee/spec/graphql/ee/types/namespace_type_spec.rb": 0.7831333470003301,7992 "ee/spec/workers/groups/create_event_worker_spec.rb": 0.5306436770006258,7993 "ee/spec/lib/gitlab/geo/json_request_spec.rb": 0.5367772259996855,7994 "ee/spec/helpers/incident_management/escalation_policy_helper_spec.rb": 0.6203090560011333,7995 "ee/spec/lib/gitlab/usage/metrics/instrumentations/count_groups_with_event_streaming_destinations_metric_spec.rb": 0.9404932280012872,7996 "ee/spec/lib/ee/sidebars/projects/menus/ci_cd_menu_spec.rb": 0.5607123329991737,7997 "ee/spec/elastic/migrate/20210128163600_add_permissions_data_to_notes_documents_spec.rb": 0.455263936000847,7998 "ee/spec/graphql/types/boards/epic_board_type_spec.rb": 0.7542611789995135,7999 "ee/spec/graphql/types/global_id_type_spec.rb": 0.9545198359992355,8000 "ee/spec/graphql/types/ci/minutes/namespace_monthly_usage_type_spec.rb": 0.3877393740003754,8001 "ee/spec/graphql/types/audit_events/exterrnal_audit_event_destination_type_spec.rb": 0.44264677700084576,8002 "ee/spec/lib/gitlab/ci/reports/coverage_fuzzing/report_spec.rb": 0.7200672639992263,8003 "ee/spec/graphql/types/vulnerability_scanner_input_type_spec.rb": 0.5693277720001788,8004 "ee/spec/services/sbom/ingestion/ingest_reports_service_spec.rb": 0.6168584560000454,8005 "ee/spec/graphql/types/vulnerability_scanner_vendor_input_type_spec.rb": 0.5834776100000454,8006 "ee/spec/graphql/ee/mutations/ci/runner/update_spec.rb": 0.6266600359995209,8007 "ee/spec/graphql/types/vulnerability_details/diff_type_spec.rb": 0.3301348709992453,8008 "ee/spec/helpers/epics_helper_spec.rb": 0.398514531998444,8009 "ee/spec/graphql/types/protected_environments/approval_rule_type_spec.rb": 0.739642611999443,8010 "ee/spec/graphql/types/vulnerability_state_enum_spec.rb": 0.3462880180013599,8011 "ee/spec/services/sbom/ingestion/tasks/base_spec.rb": 0.5154635790004249,8012 "ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb": 0.5729021210008796,8013 "ee/spec/models/embedding/schema_migration_spec.rb": 0.6898739479984215,8014 "ee/spec/graphql/types/vulnerability_details/module_location_type_spec.rb": 0.31317511199995358015}8016Knapsack global time execution for tests: 25m 48s8017Pending: (Failures listed here are expected and do not affect your suite's status)8018 1) Epic modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when creating an object does not raise an error if the internal id is blank8019 # No reason given8020 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:498021 2) Epic modules behaves like AtomicInternalId .has_internal_id Validation when presence validation is not required when updating an object does not raise an error if the internal id is blank8022 # No reason given8023 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:578024 3) Gitlab::Geo::Replication::BlobDownloader#execute precondition failures when the file is locally stored ensures the file destination directory exists8025 # Temporarily skipped with xit8026 # ./ee/spec/lib/gitlab/geo/replication/blob_downloader_spec.rb:548027Failures:8028 1) Gitlab::Elastic::Helper#create_empty_index with an empty cluster creates an index with a custom name8029 Failure/Error: expect(helper.index_exists?).to eq(false)8030 expected: false8031 got: true8032 (compared using ==)8033 Diff:8034 @@ -1 +1 @@8035 -false8036 +true8037 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:250:in `block (4 levels) in <top (required)>'8038 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8039 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8040 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8041 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8042 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8043 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8044 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8045 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8046 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8047 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8048 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8049 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8050 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8051 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8052 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8053 2) Gitlab::Elastic::Helper#create_empty_index with an empty cluster with alias and index creates index and alias8054 Failure/Error: @index_name = helper.create_empty_index(with_alias: true).each_key.first8055 RuntimeError:8056 Index or alias under 'gitlab-test' already exists.8057 # ./ee/lib/gitlab/elastic/helper.rb:406:in `create_index'8058 # ./ee/lib/gitlab/elastic/helper.rb:198:in `create_empty_index'8059 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:16:in `block (3 levels) in <top (required)>'8060 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8061 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8062 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8063 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8064 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8065 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8066 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8067 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8068 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8069 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8070 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8071 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8072 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8073 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8074 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8075 3) Gitlab::Elastic::Helper#create_empty_index with an empty cluster when there is a legacy index creates the index only8076 Failure/Error: @index_name = helper.create_empty_index(with_alias: false, options: { index_name: helper.target_name }).each_key.first8077 RuntimeError:8078 Index under 'gitlab-test' already exists.8079 # ./ee/lib/gitlab/elastic/helper.rb:400:in `create_index'8080 # ./ee/lib/gitlab/elastic/helper.rb:198:in `create_empty_index'8081 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:10:in `block (3 levels) in <top (required)>'8082 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8083 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8084 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8085 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8086 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8087 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8088 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8089 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8090 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8091 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8092 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8093 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8094 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8095 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8096 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8097 4) Gitlab::Elastic::Helper#create_empty_index when there is an alias raises an error8098 Failure/Error: @index_name = helper.create_empty_index(with_alias: true).each_key.first8099 RuntimeError:8100 Index or alias under 'gitlab-test' already exists.8101 # ./ee/lib/gitlab/elastic/helper.rb:406:in `create_index'8102 # ./ee/lib/gitlab/elastic/helper.rb:198:in `create_empty_index'8103 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:16:in `block (3 levels) in <top (required)>'8104 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8105 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8106 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8107 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8108 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8109 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8110 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8111 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8112 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8113 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8114 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8115 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8116 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8117 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8118 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8119 5) Gitlab::Elastic::Helper#create_empty_index when there is an alias does not raise error with skip_if_exists option8120 Failure/Error: @index_name = helper.create_empty_index(with_alias: true).each_key.first8121 RuntimeError:8122 Index or alias under 'gitlab-test' already exists.8123 # ./ee/lib/gitlab/elastic/helper.rb:406:in `create_index'8124 # ./ee/lib/gitlab/elastic/helper.rb:198:in `create_empty_index'8125 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:16:in `block (3 levels) in <top (required)>'8126 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8127 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8128 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8129 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8130 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8131 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8132 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8133 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8134 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8135 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8136 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8137 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8138 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8139 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8140 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8141 6) Gitlab::Elastic::Helper#create_empty_index when there is a legacy index raises an error8142 Failure/Error: @index_name = helper.create_empty_index(with_alias: false, options: { index_name: helper.target_name }).each_key.first8143 RuntimeError:8144 Index under 'gitlab-test' already exists.8145 # ./ee/lib/gitlab/elastic/helper.rb:400:in `create_index'8146 # ./ee/lib/gitlab/elastic/helper.rb:198:in `create_empty_index'8147 # ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:10:in `block (3 levels) in <top (required)>'8148 # ./spec/spec_helper.rb:423:in `block (3 levels) in <top (required)>'8149 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'8150 # ./spec/spec_helper.rb:415:in `block (2 levels) in <top (required)>'8151 # ./spec/spec_helper.rb:411:in `block (3 levels) in <top (required)>'8152 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'8153 # ./spec/spec_helper.rb:411:in `block (2 levels) in <top (required)>'8154 # ./spec/spec_helper.rb:378:in `block (3 levels) in <top (required)>'8155 # ./lib/gitlab/with_request_store.rb:17:in `enabling_request_store'8156 # ./lib/gitlab/with_request_store.rb:10:in `with_request_store'8157 # ./spec/spec_helper.rb:378:in `block (2 levels) in <top (required)>'8158 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'8159 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'8160 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'8161 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'8162 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'8163Finished in 25 minutes 54 seconds (files took 1 minute 38.43 seconds to load)81643244 examples, 6 failures, 3 pending8165Failed examples:8166rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:244 # Gitlab::Elastic::Helper#create_empty_index with an empty cluster creates an index with a custom name8167rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:229 # Gitlab::Elastic::Helper#create_empty_index with an empty cluster with alias and index creates index and alias8168rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:238 # Gitlab::Elastic::Helper#create_empty_index with an empty cluster when there is a legacy index creates the index only8169rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:257 # Gitlab::Elastic::Helper#create_empty_index when there is an alias raises an error8170rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:261 # Gitlab::Elastic::Helper#create_empty_index when there is an alias does not raise error with skip_if_exists option8171rspec ./ee/spec/lib/ee/gitlab/elastic/helper_spec.rb:269 # Gitlab::Elastic::Helper#create_empty_index when there is a legacy index raises an error8172Randomized with seed 66458173[TEST PROF INFO] Time spent in factories: 13:45.148 (51.73% of total time)8174Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected8175RSpec exited with 1.8176RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg13_16_18_report.txt8177Retrying the failing examples in a new RSpec process...8178$ gem install junit_merge --no-document --version 0.1.28179Successfully installed nokogiri-1.14.3-x86_64-linux8180Successfully installed junit_merge-0.1.281812 gems installed8182==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 2 seconds.8183Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec-retry.xml --only-failures --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.rb"8184warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.8186Run options: include {:last_run_status=>"failed"}8187Test environment set up in 0.551616383 seconds8188Gitlab::Elastic::Helper8189 #create_empty_index8190 with an empty cluster8191 creates an index with a custom name8192 with alias and index8193 creates index and alias8194 when there is a legacy index8195 creates the index only8196 when there is an alias8197 raises an error8198 does not raise error with skip_if_exists option8199 when there is a legacy index8200 raises an error8201Finished in 5.37 seconds (files took 41.71 seconds to load)82026 examples, 0 failures8203[TEST PROF INFO] Time spent in factories: 00:00.025 (0.35% of total time)8204A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...8205Flaky test was not part of this MR.8207Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy8209Uploading artifacts...8210coverage/: found 4 matching artifact files and directories 8211WARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8212WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8213knapsack/: found 4 matching artifact files and directories 8214query_recorder/: found 2 matching artifact files and directories 8215rspec/: found 10 matching artifact files and directories 8216WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 8217log/*.log: found 17 matching artifact files and directories 8218WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4181384273/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com8219WARNING: Retrying... context=artifacts-uploader error=request redirected8220Uploading artifacts as "archive" to coordinator... 201 Created id=4181384273 responseStatus=201 Created token=64_mxVzZ8221Uploading artifacts...8222rspec/junit_rspec.xml: found 1 matching artifact files and directories 8223WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4181384273/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com8224WARNING: Retrying... context=artifacts-uploader error=request redirected8225Uploading artifacts as "junit" to coordinator... 201 Created id=4181384273 responseStatus=201 Created token=64_mxVzZ8227Job succeeded