rspec-ee unit pg13 13/18
Passed Started
by
@fabiopitino
Fabio Pitino
1Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)2 on blue-1.shared-gitlab-org.runners-manager.gitlab.com/default KzYhZxBv, system ID: s_e6befde69e263 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-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-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:73740c557807c4bc5d692f263c0e35454270600da4b22bbe952331411426c8b5 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:3174001f839c42e299ac06a42f8ded446edfcb33b0eb820874749a3f53eb799c ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:85fd7bd884b6493c8eb6f4dffbe5406d97cce56aff84f1580a5eb5b9d841f158 for redis:6.2-alpine with digest redis@sha256:87c44d5d9f472e767c8737f4130c765d77bdc95c7472d6427cfc9d4632f12da6 ...20Starting service elasticsearch:7.17.6 ...21Pulling docker image elasticsearch:7.17.6 ...22Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...23WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.24WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.25Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...26Authenticating with credentials from job payload (GitLab Registry)27Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...28Using 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 ...29Waiting for services to be up and running (timeout 30 seconds)...30Authenticating with credentials from job payload (GitLab Registry)31Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...32Using docker image sha256:61b59025d0d646cd177f654d8f81df859675be528f37dcc2ce6f39a49c7a5dd9 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13@sha256:25367d41b1034f1ecacfc9cb8eebc70cb30c6fdade3781cf295488255bf61614 ...34Running on runner-kzyhzxbv-project-278964-concurrent-0 via runner-kzyhzxbv-shared-gitlab-org-1685686951-02e91e31...36Fetching changes with git depth set to 20...37Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/38Created fresh repository.39remote: Enumerating objects: 139970, done. 40remote: Counting objects: 100% (139970/139970), done. 41remote: Compressing objects: 100% (94736/94736), done. 42remote: Total 139970 (delta 61223), reused 92035 (delta 39894), pack-reused 0 43Receiving objects: 100% (139970/139970), 123.36 MiB | 29.52 MiB/s, done.44Resolving deltas: 100% (61223/61223), done.46 * [new ref] refs/pipelines/887306308 -> refs/pipelines/88730630847Checking out 95754c79 as detached HEAD (ref is refs/merge-requests/122015/merge)...48Skipping Git submodules setup49$ git remote set-url origin "${CI_REPOSITORY_URL}"51Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...52Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 53Successfully extracted cache55Downloading artifacts for compile-test-assets (4400964016)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964016 responseStatus=200 OK token=64_6xxE-57Downloading artifacts for detect-tests (4400964025)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964025 responseStatus=200 OK token=64_6xxE-59Downloading artifacts for retrieve-tests-metadata (4400964028)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964028 responseStatus=200 OK token=64_6xxE-61Downloading artifacts for setup-test-env (4400964019)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964019 responseStatus=200 OK token=64_6xxE-64Using docker image sha256:61b59025d0d646cd177f654d8f81df859675be528f37dcc2ce6f39a49c7a5dd9 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-13@sha256:25367d41b1034f1ecacfc9cb8eebc70cb30c6fdade3781cf295488255bf61614 ...65$ echo $FOSS_ONLY66$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb67$ export GOPATH=$CI_PROJECT_DIR/.go68$ mkdir -p $GOPATH69$ source scripts/utils.sh70$ source scripts/prepare_build.sh725Using decomposed database config (config/database.yml.decomposed-postgresql)726Geo DB will be set up.727Embedding DB will be set up.751$ source ./scripts/rspec_helpers.sh752$ run_timed_command "gem install knapsack --no-document"753$ gem install knapsack --no-document754Successfully installed knapsack-4.0.07551 gem installed756==> 'gem install knapsack --no-document' succeeded in 1 seconds.757$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"759$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"764$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"765$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"766SKIP_FLAKY_TESTS_AUTOMATICALLY: 767RETRY_FAILED_TESTS_IN_NEW_PROCESS: true768KNAPSACK_GENERATE_REPORT: true769FLAKY_RSPEC_GENERATE_REPORT: true770KNAPSACK_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.rb771KNAPSACK_LOG_LEVEL: debug772KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg13_13_18_report.json773FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json774FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_13_18_report.json775NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_13_18_report.json776SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec-ee_unit_pg13_13_18.txt777CRYSTALBALL: 778RSPEC_TESTS_MAPPING_ENABLED: 779RSPEC_TESTS_FILTER_FILE: 780Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-4400964829.json --format RspecJunitFormatter --out rspec/rspec-4400964829.xml --tag ~quarantine --tag ~level:background_migration -- ee/spec/policies/project_policy_spec.rb ee/spec/lib/gitlab/insights/finders/issuable_finder_spec.rb ee/spec/elastic/migrate/20230503064300_backfill_project_permissions_in_blobs_using_permutations_spec.rb ee/spec/services/ee/merge_requests/refresh_service_spec.rb ee/spec/serializers/environment_entity_spec.rb ee/spec/elastic_integration/global_search_spec.rb ee/spec/models/concerns/elastic/note_spec.rb ee/spec/config/metrics/every_metric_definition_spec.rb ee/spec/models/ci/minutes/notification_spec.rb ee/spec/models/ee/ci/job_artifact_spec.rb ee/spec/models/gitlab_subscription_spec.rb ee/spec/lib/ee/gitlab/background_migration/purge_stale_security_scans_spec.rb ee/spec/services/ci/minutes/email_notification_service_spec.rb ee/spec/lib/ee/gitlab/git_access_project_spec.rb ee/spec/policies/ci/build_policy_spec.rb ee/spec/services/approval_rules/update_service_spec.rb ee/spec/models/environment_spec.rb ee/spec/helpers/projects_helper_spec.rb ee/spec/models/integrations/github_spec.rb ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb ee/spec/lib/elastic/latest/user_class_proxy_spec.rb ee/spec/workers/update_all_mirrors_worker_spec.rb ee/spec/services/geo/wiki_sync_service_spec.rb ee/spec/services/ci/sync_reports_to_approval_rules_service_spec.rb ee/spec/models/concerns/geo/verification_state_spec.rb ee/spec/helpers/vulnerabilities_helper_spec.rb ee/spec/services/ci/compare_license_scanning_reports_service_spec.rb ee/spec/models/project_ci_cd_setting_spec.rb ee/spec/services/epics/related_epic_links/create_service_spec.rb ee/spec/services/merge_requests/merge_service_spec.rb ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb ee/spec/services/app_sec/dast/site_profiles/update_service_spec.rb ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb ee/spec/services/ci/create_pipeline_service_spec.rb ee/spec/lib/ee/gitlab/background_migration/populate_namespace_statistics_spec.rb ee/spec/services/geo/rename_repository_service_spec.rb ee/spec/elastic/migrate/20230316150000_add_hashed_root_namespace_id_to_merge_requests_spec.rb ee/spec/models/ee/dependency_proxy/blob_spec.rb ee/spec/models/incident_management/oncall_schedule_spec.rb ee/spec/models/concerns/ee/mentionable_spec.rb ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb ee/spec/models/approval_wrapped_any_approver_rule_spec.rb ee/spec/services/ee/users/update_service_spec.rb ee/spec/models/package_metadata/package_spec.rb ee/spec/policies/dast/profile_policy_spec.rb ee/spec/elastic/migrate/20230426195404_add_hidden_to_merge_requests_spec.rb ee/spec/services/product_analytics/initialize_stack_service_spec.rb ee/spec/lib/gitlab/import_export/project/custom_template_restorer_spec.rb ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb ee/spec/services/deployments/auto_rollback_service_spec.rb ee/spec/helpers/ee/issuables_helper_spec.rb ee/spec/helpers/ee/ci/runners_helper_spec.rb ee/spec/graphql/types/dast/profile_schedule_type_spec.rb ee/spec/models/incident_management/escalation_rule_spec.rb ee/spec/finders/geo/design_registry_finder_spec.rb ee/spec/services/groups/restore_service_spec.rb ee/spec/lib/gitlab/geo/signed_data_spec.rb ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb ee/spec/services/historical_user_data/csv_service_spec.rb ee/spec/services/security/merge_request_security_report_generation_service_spec.rb ee/spec/models/allowed_email_domain_spec.rb ee/spec/services/package_metadata/ingestion/tasks/ingest_package_versions_spec.rb ee/spec/models/app_sec/fuzzing/api/ci_configuration_spec.rb ee/spec/finders/concerns/epics/with_access_check_spec.rb ee/spec/lib/gitlab/code_owners/validator_spec.rb ee/spec/workers/llm/tanuki_bot/update_worker_spec.rb ee/spec/services/ci/process_pipeline_service_spec.rb ee/spec/services/gitlab_subscriptions/trials/apply_trial_service_spec.rb ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb ee/spec/services/llm/explain_code_service_spec.rb ee/spec/serializers/geo_project_registry_entity_spec.rb ee/spec/serializers/dependency_entity_spec.rb ee/spec/lib/ee/backup/repositories_spec.rb ee/spec/policies/event_policy_spec.rb ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb ee/spec/lib/audit/group_changes_auditor_spec.rb ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb ee/spec/models/ci/minutes/additional_pack_spec.rb ee/spec/finders/security/training_providers/base_url_finder_spec.rb ee/spec/services/geo/blob_upload_service_spec.rb ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_latest_gitlab_ci_yaml_spec.rb ee/spec/helpers/ee/graph_helper_spec.rb ee/spec/services/external_status_checks/destroy_service_spec.rb ee/spec/lib/ee/gitlab/ci/config/entry/bridge_spec.rb ee/spec/services/epic_issues/update_service_spec.rb ee/spec/policies/dast/pre_scan_verification_policy_spec.rb ee/spec/workers/iterations_update_status_worker_spec.rb ee/spec/serializers/ee/note_entity_spec.rb ee/spec/finders/incident_management/escalation_policies_finder_spec.rb ee/spec/tasks/gitlab/check_rake_spec.rb ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/after_config_spec.rb ee/spec/lib/audit/group_merge_request_approval_setting_changes_auditor_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/user_cap_setting_enabled_metric_spec.rb ee/spec/graphql/mutations/incident_management/oncall_rotation/destroy_spec.rb ee/spec/models/integrations/github/remote_project_spec.rb ee/spec/services/deploy_keys/create_service_spec.rb ee/spec/lib/gitlab_subscriptions/upcoming_reconciliation_entity_spec.rb ee/spec/services/package_metadata/ingestion/tasks/ingest_packages_spec.rb ee/spec/models/product_analytics/panel_spec.rb ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb ee/spec/models/ee/alert_management/alert_spec.rb ee/spec/models/container_registry/event_spec.rb ee/spec/policies/incident_management/oncall_rotation_policy_spec.rb ee/spec/serializers/member_user_entity_spec.rb ee/spec/models/dora/deployment_frequency_metric_spec.rb ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb ee/spec/lib/world_spec.rb ee/spec/models/elasticsearch_indexed_namespace_spec.rb ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb ee/spec/policies/approval_state_policy_spec.rb ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb ee/spec/finders/incident_management/member_oncall_rotations_finder_spec.rb ee/spec/lib/ee/api/entities/geo_site_spec.rb ee/spec/lib/ee/gitlab/application_rate_limiter_spec.rb ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb ee/spec/finders/namespaces/billed_users_finder_spec.rb ee/spec/lib/gitlab/proxy_spec.rb ee/spec/services/system_notes/escalations_service_spec.rb ee/spec/services/path_locks/lock_service_spec.rb ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb ee/spec/workers/ee/namespaces/root_statistics_worker_spec.rb ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb ee/spec/services/ee/notes/destroy_service_spec.rb ee/spec/lib/ee/gitlab/prometheus/metric_group_spec.rb ee/spec/models/analytics/value_stream_dashboard/aggregation_spec.rb ee/spec/graphql/types/vulnerability/external_issue_link_external_tracker_enum_spec.rb ee/spec/components/namespaces/free_user_cap/notification_alert_component_spec.rb ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb ee/spec/workers/namespaces/free_user_cap/over_limit_notification_worker_spec.rb ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb ee/spec/services/projects/import_export/export_service_spec.rb ee/spec/policies/approval_project_rule_policy_spec.rb ee/spec/lib/gitlab/ci/config/entry/secret_spec.rb ee/spec/workers/geo/batch/project_registry_worker_spec.rb ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb ee/spec/views/shared/issuable/_iterations_dropdown.html.haml_spec.rb ee/spec/services/ee/groups/import_export/export_service_spec.rb ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb ee/spec/graphql/mutations/audit_events/streaming/headers/create_spec.rb ee/spec/services/security/track_scan_service_spec.rb ee/spec/lib/elastic/multi_version_class_proxy_spec.rb ee/spec/lib/gitlab/llm/chain/utils/prompt_spec.rb ee/spec/presenters/project_clusterable_presenter_spec.rb ee/spec/lib/gitlab/ip_address_state_spec.rb ee/spec/models/vulnerability_user_mention_spec.rb ee/spec/policies/geo_node_policy_spec.rb ee/spec/lib/ee/sidebars/projects/panel_spec.rb ee/spec/workers/security/auto_fix_worker_spec.rb ee/spec/services/namespaces/free_user_cap/clear_over_limit_notification_service_spec.rb ee/spec/serializers/fork_namespace_entity_spec.rb ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb ee/spec/helpers/incident_management/oncall_schedule_helper_spec.rb ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb ee/spec/lib/remote_development/workspaces/reconcile/params_parser_spec.rb ee/spec/views/compliance_management/compliance_framework/_compliance_framework_badge.html.haml_spec.rb ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb ee/spec/views/devise/registrations/new.html.haml_spec.rb ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb ee/spec/lib/gitlab/project_template_spec.rb ee/spec/graphql/types/protected_environment_type_spec.rb ee/spec/services/sbom/ingestion/ingest_reports_service_spec.rb ee/spec/views/groups/group_members/index.html.haml_spec.rb ee/spec/lib/gitlab/llm/completions_factory_spec.rb ee/spec/workers/audit_events/user_impersonation_event_create_worker_spec.rb ee/spec/views/operations/environments.html.haml_spec.rb ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb ee/spec/graphql/types/merge_requests/approval_state_type_spec.rb ee/spec/graphql/types/ci/code_coverage_summary_spec.rb ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb ee/spec/uploaders/every_gitlab_uploader_spec.rb ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb ee/spec/views/shared/billings/_billing_plan_actions.html.haml_spec.rb ee/spec/routing/directs/iteration_spec.rb ee/spec/graphql/types/subscription_type_spec.rb ee/spec/graphql/ee/types/mutation_type_spec.rb ee/spec/models/milestone_spec.rb ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb ee/spec/graphql/representation/vulnerability_scanner_entry_spec.rbKnapsack report generator started!781warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.783Run options: exclude {:quarantine=>true, :level=>"background_migration"}784Test environment set up in 0.507806618 seconds785ProjectPolicy786 basic permissions787 behaves like project policies as anonymous788 abilities for public projects789 when a project has pending invites790 does not grant owner access791 behaves like archived project policies792 when the project is archived793 disables write actions on all relevant project features794 disables some other important write actions795 does not disable other abilities796 abilities for non-public projects797 is expected to be banned798 behaves like project policies as guest799 as a direct project member800 abilities for public projects801 is expected not to be allowed :set_note_created_at802 abilities for non-public projects803 is expected not to be allowed :set_note_created_at804 behaves like deploy token does not get confused with user805 is expected not to be allowed :set_note_created_at806 behaves like archived project policies807 when the project is archived808 disables write actions on all relevant project features809 disables some other important write actions810 does not disable other abilities811 public builds enabled812 is expected to be allowed :read_pipeline813 when public builds disabled814 is expected not to be allowed :read_pipeline815 when builds are disabled816 is expected to be allowed :read_pipeline817 as an inherited member from the group818 abilities for private projects819 is expected not to be allowed :set_note_created_at820 behaves like project policies as reporter821 abilities for non-public projects822 is expected not to be allowed :set_note_created_at823 behaves like deploy token does not get confused with user824 is expected not to be allowed :set_note_created_at825 behaves like archived project policies826 when the project is archived827 disables write actions on all relevant project features828 disables some other important write actions829 does not disable other abilities830 as an inherited member from the group831 abilities for private projects832 is expected not to be allowed :set_note_created_at833 behaves like project policies as developer834 abilities for non-public projects835 is expected not to be allowed :set_note_created_at836 behaves like deploy token does not get confused with user837 is expected not to be allowed :set_note_created_at838 behaves like archived project policies839 when the project is archived840 disables write actions on all relevant project features841 disables some other important write actions842 does not disable other abilities843 as an inherited member from the group844 abilities for private projects845 is expected not to be allowed :set_note_created_at846 behaves like project policies as maintainer847 abilities for non-public projects848 is expected not to be allowed :set_note_created_at849 behaves like deploy token does not get confused with user850 is expected not to be allowed :set_note_created_at851 behaves like archived project policies852 when the project is archived853 disables write actions on all relevant project features854 disables some other important write actions855 does not disable other abilities856 behaves like project policies as owner857 abilities for non-public projects858 is expected to be allowed :set_note_created_at859 behaves like deploy token does not get confused with user860 is expected not to be allowed :set_note_created_at861 behaves like archived project policies862 when the project is archived863 disables write actions on all relevant project features864 disables some other important write actions865 does not disable other abilities866 behaves like project policies as admin with admin mode867 abilities for non-public projects868 is expected to be allowed :set_note_created_at869 deploy token does not get confused with user870 is expected not to be allowed :set_note_created_at871 behaves like archived project policies872 when the project is archived873 disables write actions on all relevant project features874 disables some other important write actions875 does not disable other abilities876 abilities for all project visibility877 behaves like project private features with read_all_resources ability878 for public projects879 allows the download_code ability880 for internal projects881 allows the download_code ability882 for private projects883 allows the download_code ability884 behaves like project policies as admin without admin mode885 abilities for non-public projects886 is expected to be banned887 deploy token does not get confused with user888 is expected to be banned889 auditor890 who is not a team member891 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_alert892 who is a team member893 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_alert894 behaves like project private features with read_all_resources ability895 for public projects896 allows the download_code ability897 for internal projects898 allows the download_code ability899 for private projects900 allows the download_code ability901 with project feature related policies902 with project feature container_registry_access_level903 project_visibility: :public, access_level: 20, allowed: true904 always allows permissions except when feature disabled905 project_visibility: :public, access_level: 10, allowed: true906 always allows permissions except when feature disabled907 project_visibility: :public, access_level: 0, allowed: false908 always allows permissions except when feature disabled909 project_visibility: :internal, access_level: 20, allowed: true910 always allows permissions except when feature disabled911 project_visibility: :internal, access_level: 10, allowed: true912 always allows permissions except when feature disabled913 project_visibility: :internal, access_level: 0, allowed: false914 always allows permissions except when feature disabled915 project_visibility: :private, access_level: 20, allowed: true916 always allows permissions except when feature disabled917 project_visibility: :private, access_level: 10, allowed: true918 always allows permissions except when feature disabled919 project_visibility: :private, access_level: 0, allowed: false920 always allows permissions except when feature disabled921 with project feature merge_requests_access_level922 project_visibility: :public, access_level: 20, allowed: true923 always allows permissions except when feature disabled924 project_visibility: :public, access_level: 10, allowed: true925 always allows permissions except when feature disabled926 project_visibility: :public, access_level: 0, allowed: false927 always allows permissions except when feature disabled928 project_visibility: :internal, access_level: 20, allowed: true929 always allows permissions except when feature disabled930 project_visibility: :internal, access_level: 10, allowed: true931 always allows permissions except when feature disabled932 project_visibility: :internal, access_level: 0, allowed: false933 always allows permissions except when feature disabled934 project_visibility: :private, access_level: 20, allowed: true935 always allows permissions except when feature disabled936 project_visibility: :private, access_level: 10, allowed: true937 always allows permissions except when feature disabled938 project_visibility: :private, access_level: 0, allowed: false939 always allows permissions except when feature disabled940 with project feature monitor_access_level941 project_visibility: :public, access_level: 20, allowed: true942 always allows permissions except when feature disabled943 project_visibility: :public, access_level: 10, allowed: true944 always allows permissions except when feature disabled945 project_visibility: :public, access_level: 0, allowed: false946 always allows permissions except when feature disabled947 project_visibility: :internal, access_level: 20, allowed: true948 always allows permissions except when feature disabled949 project_visibility: :internal, access_level: 10, allowed: true950 always allows permissions except when feature disabled951 project_visibility: :internal, access_level: 0, allowed: false952 always allows permissions except when feature disabled953 project_visibility: :private, access_level: 20, allowed: true954 always allows permissions except when feature disabled955 project_visibility: :private, access_level: 10, allowed: true956 always allows permissions except when feature disabled957 project_visibility: :private, access_level: 0, allowed: false958 always allows permissions except when feature disabled959 iterations960 in a personal 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 disallowed :read_iteration, :create_iteration, and :admin_iteration965 in a group project966 when feature is disabled967 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration968 when feature is enabled969 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration970 when issues are disabled but merge requests are enabled971 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration972 when issues are enabled but merge requests are enabled973 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration974 when both issues and merge requests are disabled975 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration976 the_user: developer, allowed: [:read_iteration, :create_iteration, :admin_iteration], disallowed: []977 is expected to be allowed :read_iteration, :create_iteration, and :admin_iteration978 is expected to be disallowed979 the_user: guest, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]980 is expected to be allowed :read_iteration981 is expected to be disallowed :create_iteration and :admin_iteration982 the_user: non_member, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]983 is expected to be allowed :read_iteration984 is expected to be disallowed :create_iteration and :admin_iteration985 the_user: anonymous, allowed: [:read_iteration], disallowed: [:create_iteration, :admin_iteration]986 is expected to be allowed :read_iteration987 is expected to be disallowed :create_iteration and :admin_iteration988 when the project is private989 when user is not a member990 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration991 when user is logged out992 is expected to be disallowed :read_iteration, :create_iteration, and :admin_iteration993 issues feature994 when the feature is disabled995 disables boards permissions996 disables issues analytics997 merge requests feature998 when the feature is disabled999 disables issues analytics1000 admin_mirror1001 with remote mirror setting enabled1002 with admin1003 when admin mode enabled1004 is expected to be allowed :admin_mirror1005 when admin mode disabled1006 is expected to be disallowed :admin_mirror1007 with owner1008 is expected to be allowed :admin_mirror1009 with developer1010 is expected to be disallowed :admin_mirror1011 with remote mirror setting disabled1012 with admin1013 when admin mode enabled1014 is expected to be allowed :admin_mirror1015 when admin mode disabled1016 is expected to be disallowed :admin_mirror1017 with owner1018 is expected to be disallowed :admin_mirror1019 with remote mirrors feature disabled1020 with admin1021 is expected to be disallowed :admin_mirror1022 with owner1023 is expected to be disallowed :admin_mirror1024 with remote mirrors feature enabled1025 with admin1026 when admin mode enabled1027 is expected to be allowed :admin_mirror1028 when admin mode disabled1029 is expected to be disallowed :admin_mirror1030 with owner1031 is expected to be allowed :admin_mirror1032 reading a project1033 with an external authorization service1034 allows auditors1035 when SAML SSO is enabled for resource1036 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"1037 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1042 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1043 when resource is private1044 for user1045 does not allow read project1046 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"1047 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1048 when resource is private1049 for user1050 allows 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1052 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1053 when resource is private1054 for user1055 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1057 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1058 when resource is private1059 for user1060 allows read project1061 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"1062 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1063 when resource is private1064 for user1065 allows read project1066 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"1067 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1068 when resource is private1069 for user1070 allows read project1071 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"1072 when 'Enforce SSO-only authentication for web activity for this group' option 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?: false, user_is_auditor?: nil, shared_examples: "does not allow to read project due to its visibility level"1077 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1078 when resource is private1079 for user1080 does not allow to read project due to its visibility level1081 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"1082 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1083 when resource is private1084 for user1085 allows read project1086 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"1087 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1088 when resource is private1089 for user1090 allows read project1091 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"1092 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1093 when resource is private1094 for user1095 does not allow to read project due to its visibility level1096 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"1097 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1102 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1103 when resource is private1104 for user1105 does not allow read project1106 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"1107 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1108 when resource is private1109 for user1110 allows 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1112 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1113 when resource is private1114 for user1115 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1117 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1118 when resource is private1119 for user1120 allows read project1121 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"1122 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1123 when resource is private1124 for user1125 allows read project1126 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"1127 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1132 when 'Enforce SSO-only authentication for web activity for this group' option 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1137 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1138 when resource is private1139 for user1140 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1142 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1143 when resource is private1144 for user1145 allows read project1146 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"1147 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1148 when resource is private1149 for user1150 allows 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?: nil, enable_admin_mode?: nil, user_is_auditor?: nil, shared_examples: "does not allow read project"1152 when 'Enforce SSO-only authentication for web activity for this group' option 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1157 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1158 when resource is private1159 for user1160 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1162 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1163 when resource is private1164 for user1165 allows read project1166 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"1167 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1168 when resource is private1169 for user1170 allows read project1171 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"1172 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1173 when resource is private1174 for user1175 does not allow read project1176 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"1177 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1182 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1183 when resource is public1184 for user1185 does not allow read project1186 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"1187 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1188 when resource is public1189 for user1190 allows 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1192 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1193 when resource is public1194 for user1195 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1197 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1198 when resource is public1199 for user1200 allows read project1201 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"1202 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1203 when resource is public1204 for user1205 allows read project1206 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"1207 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1208 when resource is public1209 for user1210 allows read project1211 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"1212 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1213 when resource is public1214 for user1215 allows read project1216 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"1217 when 'Enforce SSO-only authentication for web activity for this group' option is not enabled1218 when resource is public1219 for user1220 allows read project1221 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"1222 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1227 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1228 when resource is public1229 for user1230 does not allow read project1231 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"1232 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1233 when resource is public1234 for user1235 allows 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1237 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1238 when resource is public1239 for user1240 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1242 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1243 when resource is public1244 for user1245 allows read project1246 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"1247 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1248 when resource is public1249 for user1250 allows read project1251 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"1252 when 'Enforce SSO-only authentication for web activity for this group' option 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?: 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"1257 when 'Enforce SSO-only authentication for web activity for this group' option 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?: false, user_is_auditor?: nil, shared_examples: "does not allow read project"1262 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1263 when resource is public1264 for user1265 does not allow 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?: true, enable_admin_mode?: true, user_is_auditor?: nil, shared_examples: "allows to read project"1267 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1268 when resource is public1269 for user1270 allows read project1271 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"1272 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1273 when resource is public1274 for user1275 allows read project1276 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"1277 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1278 when resource is public1279 for user1280 allows read project1281 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"1282 when 'Enforce SSO-only authentication for web activity for this group' option is enabled1283 when resource is public1284 for user1285 allows read project1286 with ip restriction1287 group without restriction1288 is expected to be allowed :read_project1289 is expected to be allowed :read_issue1290 is expected to be allowed :read_merge_request1291 is expected to be allowed :read_milestone1292 is expected to be allowed :read_container_image1293 is expected to be allowed :read_package1294 is expected to be allowed :create_package1295 is expected to be allowed :destroy_package1296 is expected to be allowed :admin_package1297 group with restriction1298 address is within the range1299 is expected to be allowed :read_project1300 is expected to be allowed :read_issue1301 is expected to be allowed :read_merge_request1302 is expected to be allowed :read_milestone1303 is expected to be allowed :read_container_image1304 is expected to be allowed :create_container_image1305 is expected to be allowed :read_package1306 is expected to be allowed :create_package1307 is expected to be allowed :destroy_package1308 is expected to be allowed :admin_package1309 address is outside the range1310 is expected to be disallowed :read_project1311 is expected to be disallowed :read_issue1312 is expected to be disallowed :read_merge_request1313 is expected to be disallowed :read_milestone1314 is expected to be disallowed :read_container_image1315 is expected to be disallowed :create_container_image1316 is expected to be disallowed :read_package1317 is expected to be disallowed :create_package1318 is expected to be disallowed :destroy_package1319 is expected to be disallowed :admin_package1320 with admin enabled1321 is expected to be allowed :read_project1322 is expected to be allowed :read_issue1323 is expected to be allowed :read_merge_request1324 is expected to be allowed :read_milestone1325 is expected to be allowed :read_container_image1326 is expected to be allowed :create_container_image1327 is expected to be allowed :read_package1328 is expected to be allowed :create_package1329 is expected to be allowed :destroy_package1330 is expected to be allowed :admin_package1331 with admin disabled1332 is expected to be disallowed :read_project1333 is expected to be disallowed :read_issue1334 is expected to be disallowed :read_merge_request1335 is expected to be disallowed :read_milestone1336 is expected to be disallowed :read_container_image1337 is expected to be disallowed :create_container_image1338 is expected to be disallowed :read_package1339 is expected to be disallowed :create_package1340 is expected to be disallowed :destroy_package1341 is expected to be disallowed :admin_package1342 with auditor1343 is expected to be allowed :read_project1344 is expected to be allowed :read_issue1345 is expected to be allowed :read_merge_request1346 is expected to be allowed :read_milestone1347 is expected to be allowed :read_container_image1348 is expected to be allowed :create_container_image1349 is expected to be allowed :read_package1350 is expected to be allowed :create_package1351 is expected to be allowed :destroy_package1352 is expected to be allowed :admin_package1353 without group1354 is expected to be allowed :read_project1355 access_security_and_compliance1356 when the user is auditor1357 when the "Security and Compliance" is not enabled1358 is expected to be disallowed :access_security_and_compliance1359 when the "Security and Compliance" is enabled1360 is expected to be allowed :access_security_and_compliance1361 vulnerability feedback permissions1362 permission: :read_vulnerability_feedback1363 with admin1364 when admin mode enabled1365 is expected to be allowed :read_vulnerability_feedback1366 when admin mode disabled1367 is expected to be disallowed :read_vulnerability_feedback1368 with owner1369 is expected to be allowed :read_vulnerability_feedback1370 with maintainer1371 is expected to be allowed :read_vulnerability_feedback1372 with developer1373 is expected to be allowed :read_vulnerability_feedback1374 with reporter1375 is expected to be disallowed :read_vulnerability_feedback1376 with guest1377 is expected to be disallowed :read_vulnerability_feedback1378 with non member1379 is expected to be disallowed :read_vulnerability_feedback1380 with anonymous1381 is expected to be disallowed :read_vulnerability_feedback1382 permission: :create_vulnerability_feedback1383 with admin1384 when admin mode enabled1385 is expected to be allowed :create_vulnerability_feedback1386 when admin mode disabled1387 is expected to be disallowed :create_vulnerability_feedback1388 with owner1389 is expected to be allowed :create_vulnerability_feedback1390 with maintainer1391 is expected to be allowed :create_vulnerability_feedback1392 with developer1393 is expected to be allowed :create_vulnerability_feedback1394 with reporter1395 is expected to be disallowed :create_vulnerability_feedback1396 with guest1397 is expected to be disallowed :create_vulnerability_feedback1398 with non member1399 is expected to be disallowed :create_vulnerability_feedback1400 with anonymous1401 is expected to be disallowed :create_vulnerability_feedback1402 permission: :update_vulnerability_feedback1403 with admin1404 when admin mode enabled1405 is expected to be allowed :update_vulnerability_feedback1406 when admin mode disabled1407 is expected to be disallowed :update_vulnerability_feedback1408 with owner1409 is expected to be allowed :update_vulnerability_feedback1410 with maintainer1411 is expected to be allowed :update_vulnerability_feedback1412 with developer1413 is expected to be allowed :update_vulnerability_feedback1414 with reporter1415 is expected to be disallowed :update_vulnerability_feedback1416 with guest1417 is expected to be disallowed :update_vulnerability_feedback1418 with non member1419 is expected to be disallowed :update_vulnerability_feedback1420 with anonymous1421 is expected to be disallowed :update_vulnerability_feedback1422 permission: :destroy_vulnerability_feedback1423 with admin1424 when admin mode enabled1425 is expected to be allowed :destroy_vulnerability_feedback1426 when admin mode disabled1427 is expected to be disallowed :destroy_vulnerability_feedback1428 with owner1429 is expected to be allowed :destroy_vulnerability_feedback1430 with maintainer1431 is expected to be allowed :destroy_vulnerability_feedback1432 with developer1433 is expected to be allowed :destroy_vulnerability_feedback1434 with reporter1435 is expected to be disallowed :destroy_vulnerability_feedback1436 with guest1437 is expected to be disallowed :destroy_vulnerability_feedback1438 with non member1439 is expected to be disallowed :destroy_vulnerability_feedback1440 with anonymous1441 is expected to be disallowed :destroy_vulnerability_feedback1442 read_project_security_dashboard1443 with developer1444 is expected to be disallowed :read_project_security_dashboard1445 vulnerability permissions1446 dismiss_vulnerability1447 with developer1448 is expected to be disallowed :admin_vulnerability1449 is expected to be disallowed :read_vulnerability1450 is expected to be disallowed :create_vulnerability_export1451 permissions for security bot1452 when auto_fix feature is enabled1453 when licensed feature is enabled1454 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_request1455 when feature flag is disabled1456 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_request1457 when licensed feature is disabled1458 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_request1459 when auto_fix feature is disabled1460 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_request1461 when project does not have a security_setting1462 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_request1463 security orchestration policies1464 with developer or maintainer role1465 role: "maintainer"1466 is expected to be allowed :read_security_orchestration_policies1467 is expected to be disallowed :update_security_orchestration_policy_project1468 role: "developer"1469 is expected to be allowed :read_security_orchestration_policies1470 is expected to be disallowed :update_security_orchestration_policy_project1471 with owner role1472 role: "owner"1473 is expected to be allowed :read_security_orchestration_policies1474 is expected to be allowed :update_security_orchestration_policy_project1475 is expected to be allowed :modify_security_policy1476 when security_orchestration_policy_configuration is present1477 is expected to be disallowed :modify_security_policy1478 when security_orchestration_policy_configuration is present1479 when current_user is developer of security_policy_management_project1480 is expected to be allowed :modify_security_policy1481 when current_user is not developer of security_policy_management_project1482 is expected to be disallowed :modify_security_policy1483 coverage_fuzzing1484 when coverage_fuzzing feature is available1485 with developer or higher role1486 role: "owner"1487 is expected to be allowed :read_coverage_fuzzing1488 role: "maintainer"1489 is expected to be allowed :read_coverage_fuzzing1490 role: "developer"1491 is expected to be allowed :read_coverage_fuzzing1492 with admin1493 when admin mode enabled1494 is expected to be allowed :read_coverage_fuzzing1495 when admin mode disabled1496 is expected to be disallowed :read_coverage_fuzzing1497 with less than developer role1498 role: "reporter"1499 is expected to be disallowed :read_coverage_fuzzing1500 role: "guest"1501 is expected to be disallowed :read_coverage_fuzzing1502 with non member1503 is expected to be disallowed :read_coverage_fuzzing1504 with anonymous1505 is expected to be disallowed :read_coverage_fuzzing1506 when coverage fuzzing feature is not available1507 is expected to be disallowed :read_coverage_fuzzing1508 remove_project when default_project_deletion_protection is set to true1509 with admin1510 when admin mode enabled1511 is expected to be allowed :remove_project1512 when admin mode disabled1513 is expected to be disallowed :remove_project1514 who owns the project1515 is expected to be disallowed :remove_project1516 with owner1517 is expected to be disallowed :remove_project1518 admin_feature_flags_issue_links1519 with maintainer1520 is expected to be allowed :admin_feature_flags_issue_links1521 when repository is disabled1522 is expected to be disallowed :admin_feature_flags_issue_links1523 with developer1524 is expected to be allowed :admin_feature_flags_issue_links1525 when feature is unlicensed1526 is expected to be disallowed :admin_feature_flags_issue_links1527 with reporter1528 is expected to be disallowed :admin_feature_flags_issue_links1529 admin_software_license_policy1530 without license scanning feature available1531 is expected to be disallowed :admin_software_license_policy1532 with admin1533 when admin mode enabled1534 is expected to be allowed :admin_software_license_policy1535 when admin mode disabled1536 is expected to be disallowed :admin_software_license_policy1537 with owner1538 is expected to be allowed :admin_software_license_policy1539 with maintainer1540 is expected to be allowed :admin_software_license_policy1541 with developer1542 is expected to be disallowed :admin_software_license_policy1543 with reporter1544 is expected to be disallowed :admin_software_license_policy1545 with guest1546 is expected to be disallowed :admin_software_license_policy1547 with non member1548 is expected to be disallowed :admin_software_license_policy1549 with anonymous1550 is expected to be disallowed :admin_software_license_policy1551 read_software_license_policy1552 without license scanning feature available1553 is expected to be disallowed :read_software_license_policy1554 read_dependencies1555 when dependency scanning feature available1556 with public project1557 with public access to repository1558 is expected to be allowed :read_dependencies1559 with limited access to repository1560 is expected not to be allowed :read_dependencies1561 with private project1562 with admin1563 when admin mode enabled1564 is expected to be allowed :read_dependencies1565 when admin mode disabled1566 is expected to be disallowed :read_dependencies1567 with owner1568 is expected to be allowed :read_dependencies1569 with maintainer1570 is expected to be allowed :read_dependencies1571 with developer1572 is expected to be allowed :read_dependencies1573 with reporter1574 is expected to be allowed :read_dependencies1575 with guest1576 is expected to be disallowed :read_dependencies1577 with non member1578 is expected to be disallowed :read_dependencies1579 with anonymous1580 is expected to be disallowed :read_dependencies1581 when dependency list feature not available1582 is expected not to be allowed :read_dependencies1583 read_licenses1584 when license management feature available1585 with public project1586 with public access to repository1587 is expected to be allowed :read_licenses1588 with private project1589 role: "owner"1590 is expected to be allowed :read_licenses1591 role: "maintainer"1592 is expected to be allowed :read_licenses1593 role: "developer"1594 is expected to be allowed :read_licenses1595 role: "reporter"1596 is expected to be allowed :read_licenses1597 with admin1598 when admin mode enabled1599 is expected to be allowed :read_licenses1600 when admin mode disabled1601 is expected to be disallowed :read_licenses1602 with guest1603 is expected to be disallowed :read_licenses1604 with non member1605 is expected to be disallowed :read_licenses1606 with anonymous1607 is expected to be disallowed :read_licenses1608 when license management feature in not available1609 is expected to be disallowed :read_licenses1610 publish_status_page1611 when feature is available1612 role: :anonymous, admin_mode: nil, allowed: false1613 is expected to be disallowed :publish_status_page1614 when feature is not available1615 is expected to be disallowed :publish_status_page1616 role: :guest, admin_mode: nil, allowed: false1617 is expected to be disallowed :publish_status_page1618 when feature is not available1619 is expected to be disallowed :publish_status_page1620 role: :reporter, admin_mode: nil, allowed: false1621 is expected to be disallowed :publish_status_page1622 when feature is not available1623 is expected to be disallowed :publish_status_page1624 role: :developer, admin_mode: nil, allowed: true1625 is expected to be allowed :publish_status_page1626 when feature is not available1627 is expected to be disallowed :publish_status_page1628 role: :maintainer, admin_mode: nil, allowed: true1629 is expected to be allowed :publish_status_page1630 when feature is not available1631 is expected to be disallowed :publish_status_page1632 role: :owner, admin_mode: nil, allowed: true1633 is expected to be allowed :publish_status_page1634 when feature is not available1635 is expected to be disallowed :publish_status_page1636 role: :admin, admin_mode: false, allowed: false1637 is expected to be disallowed :publish_status_page1638 when feature is not available1639 is expected to be disallowed :publish_status_page1640 role: :admin, admin_mode: true, allowed: true1641 is expected to be allowed :publish_status_page1642 when feature is not available1643 is expected to be disallowed :publish_status_page1644 add_project_to_instance_security_dashboard1645 when user is auditor1646 is expected to be allowed :add_project_to_instance_security_dashboard1647 when user is not auditor1648 with developer access1649 is expected to be allowed :add_project_to_instance_security_dashboard1650 without developer access1651 is expected to be disallowed :add_project_to_instance_security_dashboard1652 visual review bot1653 is expected to be allowed :create_note1654 is expected not to be allowed :read_note1655 is expected not to be allowed :resolve_note1656 commit_committer_check is not enabled by the current license1657 is expected not to be allowed :change_commit_committer_check1658 is expected not to be allowed :read_commit_committer_check1659 commit_committer_check is enabled by the current license1660 when the user is an admin1661 is expected to be allowed :change_commit_committer_check1662 is expected to be allowed :read_commit_committer_check1663 the user is a maintainer1664 is expected to be allowed :change_commit_committer_check1665 is expected to be allowed :read_commit_committer_check1666 the user is a developer1667 is expected not to be allowed :change_commit_committer_check1668 is expected to be allowed :read_commit_committer_check1669 reject_unsigned_commits is not enabled by the current license1670 is expected not to be allowed :change_reject_unsigned_commits1671 is expected not to be allowed :read_reject_unsigned_commits1672 reject_unsigned_commits is enabled by the current license1673 when the user is an admin1674 is expected to be allowed :change_reject_unsigned_commits1675 is expected to be allowed :read_reject_unsigned_commits1676 when the user is a maintainer1677 is expected to be allowed :change_reject_unsigned_commits1678 is expected to be allowed :read_reject_unsigned_commits1679 when the user is a developer1680 is expected not to be allowed :change_reject_unsigned_commits1681 is expected to be allowed :read_reject_unsigned_commits1682 when dora4 analytics is available1683 when the user is a developer1684 is expected to be allowed :read_dora4_analytics1685 when the user is an admin1686 is expected to be allowed :read_dora4_analytics1687 when dora4 analytics is not available1688 is expected not to be allowed :read_dora4_analytics1689 :read_code_review_analytics1690 role: :guest, admin_mode: nil, allowed: false1691 is expected to be disallowed :read_code_review_analytics1692 role: :reporter, admin_mode: nil, allowed: true1693 is expected to be allowed :read_code_review_analytics1694 role: :developer, admin_mode: nil, allowed: true1695 is expected to be allowed :read_code_review_analytics1696 role: :maintainer, admin_mode: nil, allowed: true1697 is expected to be allowed :read_code_review_analytics1698 role: :owner, admin_mode: nil, allowed: true1699 is expected to be allowed :read_code_review_analytics1700 role: :admin, admin_mode: false, allowed: false1701 is expected to be disallowed :read_code_review_analytics1702 role: :admin, admin_mode: true, allowed: true1703 is expected to be allowed :read_code_review_analytics1704 with code review analytics is not available in license1705 is expected to be disallowed :read_code_review_analytics1706 :admin_merge_request_approval_settings1707 role: :guest, licensed: true, allowed: false1708 is expected to be disallowed :admin_merge_request_approval_settings1709 role: :reporter, licensed: true, allowed: false1710 is expected to be disallowed :admin_merge_request_approval_settings1711 role: :developer, licensed: true, allowed: false1712 is expected to be disallowed :admin_merge_request_approval_settings1713 role: :maintainer, licensed: false, allowed: false1714 is expected to be disallowed :admin_merge_request_approval_settings1715 role: :maintainer, licensed: true, allowed: true1716 is expected to be allowed :admin_merge_request_approval_settings1717 role: :owner, licensed: false, allowed: false1718 is expected to be disallowed :admin_merge_request_approval_settings1719 role: :owner, licensed: true, allowed: true1720 is expected to be allowed :admin_merge_request_approval_settings1721 role: :admin, licensed: true, allowed: true1722 is expected to be allowed :admin_merge_request_approval_settings1723 role: :admin, licensed: false, allowed: false1724 is expected to be disallowed :admin_merge_request_approval_settings1725 :modify_approvers_rules1726 behaves like merge request approval settings1727 with merge request approvers rules available in license1728 role: :guest, setting: true, admin_mode: nil, allowed: false1729 is expected to be disallowed :modify_approvers_rules1730 role: :reporter, setting: true, admin_mode: nil, allowed: false1731 is expected to be disallowed :modify_approvers_rules1732 role: :developer, setting: true, admin_mode: nil, allowed: false1733 is expected to be disallowed :modify_approvers_rules1734 role: :maintainer, setting: false, admin_mode: nil, allowed: true1735 is expected to be allowed :modify_approvers_rules1736 role: :maintainer, setting: true, admin_mode: nil, allowed: false1737 is expected to be disallowed :modify_approvers_rules1738 role: :owner, setting: false, admin_mode: nil, allowed: true1739 is expected to be allowed :modify_approvers_rules1740 role: :owner, setting: true, admin_mode: nil, allowed: false1741 is expected to be disallowed :modify_approvers_rules1742 role: :admin, setting: false, admin_mode: false, allowed: false1743 is expected to be disallowed :modify_approvers_rules1744 role: :admin, setting: false, admin_mode: true, allowed: true1745 is expected to be allowed :modify_approvers_rules1746 role: :admin, setting: true, admin_mode: false, allowed: false1747 is expected to be disallowed :modify_approvers_rules1748 role: :admin, setting: true, admin_mode: true, allowed: true1749 is expected to be allowed :modify_approvers_rules1750 with merge request approvers rules not available in license1751 role: :guest, setting: true, admin_mode: nil, allowed: false1752 is expected to be disallowed :modify_approvers_rules1753 role: :reporter, setting: true, admin_mode: nil, allowed: false1754 is expected to be disallowed :modify_approvers_rules1755 role: :developer, setting: true, admin_mode: nil, allowed: false1756 is expected to be disallowed :modify_approvers_rules1757 role: :maintainer, setting: false, admin_mode: nil, allowed: true1758 is expected to be allowed :modify_approvers_rules1759 role: :maintainer, setting: true, admin_mode: nil, allowed: true1760 is expected to be allowed :modify_approvers_rules1761 role: :owner, setting: false, admin_mode: nil, allowed: true1762 is expected to be allowed :modify_approvers_rules1763 role: :owner, setting: true, admin_mode: nil, allowed: true1764 is expected to be allowed :modify_approvers_rules1765 role: :admin, setting: false, admin_mode: false, allowed: false1766 is expected to be disallowed :modify_approvers_rules1767 role: :admin, setting: false, admin_mode: true, allowed: true1768 is expected to be allowed :modify_approvers_rules1769 role: :admin, setting: true, admin_mode: false, allowed: false1770 is expected to be disallowed :modify_approvers_rules1771 role: :admin, setting: true, admin_mode: true, allowed: true1772 is expected to be allowed :modify_approvers_rules1773 :modify_merge_request_author_setting1774 behaves like merge request approval settings1775 with merge request approvers rules available in license1776 role: :guest, setting: true, admin_mode: nil, allowed: false1777 is expected to be disallowed :modify_merge_request_author_setting1778 role: :reporter, setting: true, admin_mode: nil, allowed: false1779 is expected to be disallowed :modify_merge_request_author_setting1780 role: :developer, setting: true, admin_mode: nil, allowed: false1781 is expected to be disallowed :modify_merge_request_author_setting1782 role: :maintainer, setting: false, admin_mode: nil, allowed: true1783 is expected to be allowed :modify_merge_request_author_setting1784 role: :maintainer, setting: true, admin_mode: nil, allowed: false1785 is expected to be disallowed :modify_merge_request_author_setting1786 role: :owner, setting: false, admin_mode: nil, allowed: true1787 is expected to be allowed :modify_merge_request_author_setting1788 role: :owner, setting: true, admin_mode: nil, allowed: false1789 is expected to be disallowed :modify_merge_request_author_setting1790 role: :admin, setting: false, admin_mode: false, allowed: false1791 is expected to be disallowed :modify_merge_request_author_setting1792 role: :admin, setting: false, admin_mode: true, allowed: true1793 is expected to be allowed :modify_merge_request_author_setting1794 role: :admin, setting: true, admin_mode: false, allowed: false1795 is expected to be disallowed :modify_merge_request_author_setting1796 role: :admin, setting: true, admin_mode: true, allowed: false1797 is expected to be disallowed :modify_merge_request_author_setting1798 with merge request approvers rules not available in license1799 role: :guest, setting: true, admin_mode: nil, allowed: false1800 is expected to be disallowed :modify_merge_request_author_setting1801 role: :reporter, setting: true, admin_mode: nil, allowed: false1802 is expected to be disallowed :modify_merge_request_author_setting1803 role: :developer, setting: true, admin_mode: nil, allowed: false1804 is expected to be disallowed :modify_merge_request_author_setting1805 role: :maintainer, setting: false, admin_mode: nil, allowed: true1806 is expected to be allowed :modify_merge_request_author_setting1807 role: :maintainer, setting: true, admin_mode: nil, allowed: true1808 is expected to be allowed :modify_merge_request_author_setting1809 role: :owner, setting: false, admin_mode: nil, allowed: true1810 is expected to be allowed :modify_merge_request_author_setting1811 role: :owner, setting: true, admin_mode: nil, allowed: true1812 is expected to be allowed :modify_merge_request_author_setting1813 role: :admin, setting: false, admin_mode: false, allowed: false1814 is expected to be disallowed :modify_merge_request_author_setting1815 role: :admin, setting: false, admin_mode: true, allowed: true1816 is expected to be allowed :modify_merge_request_author_setting1817 role: :admin, setting: true, admin_mode: false, allowed: false1818 is expected to be disallowed :modify_merge_request_author_setting1819 role: :admin, setting: true, admin_mode: true, allowed: true1820 is expected to be allowed :modify_merge_request_author_setting1821 :modify_merge_request_committer_setting1822 behaves like merge request approval settings1823 with merge request approvers rules available in license1824 role: :guest, setting: true, admin_mode: nil, allowed: false1825 is expected to be disallowed :modify_merge_request_committer_setting1826 role: :reporter, setting: true, admin_mode: nil, allowed: false1827 is expected to be disallowed :modify_merge_request_committer_setting1828 role: :developer, setting: true, admin_mode: nil, allowed: false1829 is expected to be disallowed :modify_merge_request_committer_setting1830 role: :maintainer, setting: false, admin_mode: nil, allowed: true1831 is expected to be allowed :modify_merge_request_committer_setting1832 role: :maintainer, setting: true, admin_mode: nil, allowed: false1833 is expected to be disallowed :modify_merge_request_committer_setting1834 role: :owner, setting: false, admin_mode: nil, allowed: true1835 is expected to be allowed :modify_merge_request_committer_setting1836 role: :owner, setting: true, admin_mode: nil, allowed: false1837 is expected to be disallowed :modify_merge_request_committer_setting1838 role: :admin, setting: false, admin_mode: false, allowed: false1839 is expected to be disallowed :modify_merge_request_committer_setting1840 role: :admin, setting: false, admin_mode: true, allowed: true1841 is expected to be allowed :modify_merge_request_committer_setting1842 role: :admin, setting: true, admin_mode: false, allowed: false1843 is expected to be disallowed :modify_merge_request_committer_setting1844 role: :admin, setting: true, admin_mode: true, allowed: false1845 is expected to be disallowed :modify_merge_request_committer_setting1846 with merge request approvers rules not available in license1847 role: :guest, setting: true, admin_mode: nil, allowed: false1848 is expected to be disallowed :modify_merge_request_committer_setting1849 role: :reporter, setting: true, admin_mode: nil, allowed: false1850 is expected to be disallowed :modify_merge_request_committer_setting1851 role: :developer, setting: true, admin_mode: nil, allowed: false1852 is expected to be disallowed :modify_merge_request_committer_setting1853 role: :maintainer, setting: false, admin_mode: nil, allowed: true1854 is expected to be allowed :modify_merge_request_committer_setting1855 role: :maintainer, setting: true, admin_mode: nil, allowed: true1856 is expected to be allowed :modify_merge_request_committer_setting1857 role: :owner, setting: false, admin_mode: nil, allowed: true1858 is expected to be allowed :modify_merge_request_committer_setting1859 role: :owner, setting: true, admin_mode: nil, allowed: true1860 is expected to be allowed :modify_merge_request_committer_setting1861 role: :admin, setting: false, admin_mode: false, allowed: false1862 is expected to be disallowed :modify_merge_request_committer_setting1863 role: :admin, setting: false, admin_mode: true, allowed: true1864 is expected to be allowed :modify_merge_request_committer_setting1865 role: :admin, setting: true, admin_mode: false, allowed: false1866 is expected to be disallowed :modify_merge_request_committer_setting1867 role: :admin, setting: true, admin_mode: true, allowed: true1868 is expected to be allowed :modify_merge_request_committer_setting1869 behaves like resource with requirement permissions1870 when requirements feature is enabled1871 with admin1872 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1873 with owner1874 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1875 with maintainer1876 behaves like user with manage permissions1877 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1878 is expected to be disallowed :destroy_requirement1879 with developer1880 behaves like user with manage permissions1881 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1882 is expected to be disallowed :destroy_requirement1883 with reporter1884 behaves like user with manage permissions1885 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1886 is expected to be disallowed :destroy_requirement1887 with guest1888 behaves like user with read-only permissions1889 is expected to be allowed :read_requirement1890 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1891 with non member1892 behaves like user with read-only permissions1893 is expected to be allowed :read_requirement1894 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1895 with private resource parent1896 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1897 when access level is disabled1898 with owner1899 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1900 with admin1901 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1902 when access level is private1903 with admin user1904 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1905 with admin mode enabled1906 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1907 with owner1908 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1909 with maintainer1910 behaves like user with manage permissions1911 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1912 is expected to be disallowed :destroy_requirement1913 with developer1914 behaves like user with manage permissions1915 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1916 is expected to be disallowed :destroy_requirement1917 with reporter1918 behaves like user with manage permissions1919 is expected to be allowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :create_requirement_test_report, and :export_requirements1920 is expected to be disallowed :destroy_requirement1921 with guest1922 behaves like user with read-only permissions1923 is expected to be allowed :read_requirement1924 is expected to be disallowed :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1925 with non member1926 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1927 when requirements feature is disabled1928 with owner1929 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1930 with admin1931 is expected to be disallowed :read_requirement, :create_requirement, :admin_requirement, :update_requirement, :destroy_requirement, :create_requirement_test_report, and :export_requirements1932 Quality Management test case1933 role: :guest, admin_mode: nil, allowed: false1934 is expected to be disallowed :create_test_case1935 with unavailable license1936 is expected to be disallowed :create_test_case1937 role: :reporter, admin_mode: nil, allowed: true1938 is expected to be allowed :create_test_case1939 with unavailable license1940 is expected to be disallowed :create_test_case1941 role: :developer, admin_mode: nil, allowed: true1942 is expected to be allowed :create_test_case1943 with unavailable license1944 is expected to be disallowed :create_test_case1945 role: :maintainer, admin_mode: nil, allowed: true1946 is expected to be allowed :create_test_case1947 with unavailable license1948 is expected to be disallowed :create_test_case1949 role: :owner, admin_mode: nil, allowed: true1950 is expected to be allowed :create_test_case1951 with unavailable license1952 is expected to be disallowed :create_test_case1953 role: :admin, admin_mode: false, allowed: false1954 is expected to be disallowed :create_test_case1955 with unavailable license1956 is expected to be disallowed :create_test_case1957 role: :admin, admin_mode: true, allowed: true1958 is expected to be allowed :create_test_case1959 with unavailable license1960 is expected to be disallowed :create_test_case1961 :compliance_framework_available1962 role: :guest, feature_enabled: false, admin_mode: nil, allowed: false1963 is expected to be disallowed :admin_compliance_framework1964 role: :guest, feature_enabled: true, admin_mode: nil, allowed: false1965 is expected to be disallowed :admin_compliance_framework1966 role: :reporter, feature_enabled: false, admin_mode: nil, allowed: false1967 is expected to be disallowed :admin_compliance_framework1968 role: :reporter, feature_enabled: true, admin_mode: nil, allowed: false1969 is expected to be disallowed :admin_compliance_framework1970 role: :developer, feature_enabled: false, admin_mode: nil, allowed: false1971 is expected to be disallowed :admin_compliance_framework1972 role: :maintainer, feature_enabled: false, admin_mode: nil, allowed: false1973 is expected to be disallowed :admin_compliance_framework1974 role: :maintainer, feature_enabled: true, admin_mode: nil, allowed: false1975 is expected to be disallowed :admin_compliance_framework1976 role: :owner, feature_enabled: false, admin_mode: nil, allowed: false1977 is expected to be disallowed :admin_compliance_framework1978 role: :owner, feature_enabled: true, admin_mode: nil, allowed: true1979 is expected to be allowed :admin_compliance_framework1980 role: :admin, feature_enabled: false, admin_mode: false, allowed: false1981 is expected to be disallowed :admin_compliance_framework1982 role: :admin, feature_enabled: false, admin_mode: true, allowed: false1983 is expected to be disallowed :admin_compliance_framework1984 role: :admin, feature_enabled: true, admin_mode: false, allowed: false1985 is expected to be disallowed :admin_compliance_framework1986 role: :admin, feature_enabled: true, admin_mode: true, allowed: true1987 is expected to be allowed :admin_compliance_framework1988 Incident Management on-call schedules1989 :read_incident_management_oncall_schedule1990 role: :guest, admin_mode: nil, allowed: false1991 is expected to be disallowed :read_incident_management_oncall_schedule1992 with unavailable license1993 is expected to be disallowed :read_incident_management_oncall_schedule1994 role: :reporter, admin_mode: nil, allowed: true1995 is expected to be allowed :read_incident_management_oncall_schedule1996 with unavailable license1997 is expected to be disallowed :read_incident_management_oncall_schedule1998 role: :developer, admin_mode: nil, allowed: true1999 is expected to be allowed :read_incident_management_oncall_schedule2000 with unavailable license2001 is expected to be disallowed :read_incident_management_oncall_schedule2002 role: :maintainer, admin_mode: nil, allowed: true2003 is expected to be allowed :read_incident_management_oncall_schedule2004 with unavailable license2005 is expected to be disallowed :read_incident_management_oncall_schedule2006 role: :owner, admin_mode: nil, allowed: true2007 is expected to be allowed :read_incident_management_oncall_schedule2008 with unavailable license2009 is expected to be disallowed :read_incident_management_oncall_schedule2010 role: :admin, admin_mode: false, allowed: false2011 is expected to be disallowed :read_incident_management_oncall_schedule2012 with unavailable license2013 is expected to be disallowed :read_incident_management_oncall_schedule2014 role: :admin, admin_mode: true, allowed: true2015 is expected to be allowed :read_incident_management_oncall_schedule2016 with unavailable license2017 is expected to be disallowed :read_incident_management_oncall_schedule2018 role: :auditor, admin_mode: false, allowed: true2019 is expected to be allowed :read_incident_management_oncall_schedule2020 with unavailable license2021 is expected to be disallowed :read_incident_management_oncall_schedule2022 behaves like monitor feature visibility2023 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2024 is expected to be allowed :read_incident_management_oncall_schedule2025 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2026 is expected to be disallowed :read_incident_management_oncall_schedule2027 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2028 is expected to be allowed :read_incident_management_oncall_schedule2029 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2030 is expected to be disallowed :read_incident_management_oncall_schedule2031 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2032 is expected to be disallowed :read_incident_management_oncall_schedule2033 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2034 is expected to be disallowed :read_incident_management_oncall_schedule2035 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2036 is expected to be allowed :read_incident_management_oncall_schedule2037 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2038 is expected to be disallowed :read_incident_management_oncall_schedule2039 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2040 is expected to be allowed :read_incident_management_oncall_schedule2041 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2042 is expected to be disallowed :read_incident_management_oncall_schedule2043 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2044 is expected to be disallowed :read_incident_management_oncall_schedule2045 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2046 is expected to be disallowed :read_incident_management_oncall_schedule2047 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2048 is expected to be allowed :read_incident_management_oncall_schedule2049 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2050 is expected to be disallowed :read_incident_management_oncall_schedule2051 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2052 is expected to be allowed :read_incident_management_oncall_schedule2053 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2054 is expected to be disallowed :read_incident_management_oncall_schedule2055 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2056 is expected to be disallowed :read_incident_management_oncall_schedule2057 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2058 is expected to be disallowed :read_incident_management_oncall_schedule2059 :admin_incident_management_oncall_schedule2060 role: :guest, admin_mode: nil, allowed: false2061 is expected to be disallowed :admin_incident_management_oncall_schedule2062 with unavailable license2063 is expected to be disallowed :admin_incident_management_oncall_schedule2064 role: :reporter, admin_mode: nil, allowed: false2065 is expected to be disallowed :admin_incident_management_oncall_schedule2066 with unavailable license2067 is expected to be disallowed :admin_incident_management_oncall_schedule2068 role: :developer, admin_mode: nil, allowed: false2069 is expected to be disallowed :admin_incident_management_oncall_schedule2070 with unavailable license2071 is expected to be disallowed :admin_incident_management_oncall_schedule2072 role: :maintainer, admin_mode: nil, allowed: true2073 is expected to be allowed :admin_incident_management_oncall_schedule2074 with unavailable license2075 is expected to be disallowed :admin_incident_management_oncall_schedule2076 role: :owner, admin_mode: nil, allowed: true2077 is expected to be allowed :admin_incident_management_oncall_schedule2078 with unavailable license2079 is expected to be disallowed :admin_incident_management_oncall_schedule2080 role: :admin, admin_mode: false, allowed: false2081 is expected to be disallowed :admin_incident_management_oncall_schedule2082 with unavailable license2083 is expected to be disallowed :admin_incident_management_oncall_schedule2084 role: :admin, admin_mode: true, allowed: true2085 is expected to be allowed :admin_incident_management_oncall_schedule2086 with unavailable license2087 is expected to be disallowed :admin_incident_management_oncall_schedule2088 role: :auditor, admin_mode: false, allowed: false2089 is expected to be disallowed :admin_incident_management_oncall_schedule2090 with unavailable license2091 is expected to be disallowed :admin_incident_management_oncall_schedule2092 behaves like monitor feature visibility2093 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2094 is expected to be allowed :admin_incident_management_oncall_schedule2095 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2096 is expected to be disallowed :admin_incident_management_oncall_schedule2097 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2098 is expected to be allowed :admin_incident_management_oncall_schedule2099 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2100 is expected to be disallowed :admin_incident_management_oncall_schedule2101 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2102 is expected to be disallowed :admin_incident_management_oncall_schedule2103 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2104 is expected to be disallowed :admin_incident_management_oncall_schedule2105 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2106 is expected to be allowed :admin_incident_management_oncall_schedule2107 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2108 is expected to be disallowed :admin_incident_management_oncall_schedule2109 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2110 is expected to be allowed :admin_incident_management_oncall_schedule2111 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2112 is expected to be disallowed :admin_incident_management_oncall_schedule2113 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2114 is expected to be disallowed :admin_incident_management_oncall_schedule2115 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2116 is expected to be disallowed :admin_incident_management_oncall_schedule2117 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2118 is expected to be allowed :admin_incident_management_oncall_schedule2119 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2120 is expected to be disallowed :admin_incident_management_oncall_schedule2121 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2122 is expected to be allowed :admin_incident_management_oncall_schedule2123 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2124 is expected to be disallowed :admin_incident_management_oncall_schedule2125 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2126 is expected to be disallowed :admin_incident_management_oncall_schedule2127 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2128 is expected to be disallowed :admin_incident_management_oncall_schedule2129 Escalation Policies2130 :read_incident_management_escalation_policy2131 role: :guest, admin_mode: nil, allowed: false2132 is expected to be disallowed :read_incident_management_escalation_policy2133 with unavailable escalation policies2134 is expected to be disallowed :read_incident_management_escalation_policy2135 role: :reporter, admin_mode: nil, allowed: true2136 is expected to be allowed :read_incident_management_escalation_policy2137 with unavailable escalation policies2138 is expected to be disallowed :read_incident_management_escalation_policy2139 role: :developer, admin_mode: nil, allowed: true2140 is expected to be allowed :read_incident_management_escalation_policy2141 with unavailable escalation policies2142 is expected to be disallowed :read_incident_management_escalation_policy2143 role: :maintainer, admin_mode: nil, allowed: true2144 is expected to be allowed :read_incident_management_escalation_policy2145 with unavailable escalation policies2146 is expected to be disallowed :read_incident_management_escalation_policy2147 role: :owner, admin_mode: nil, allowed: true2148 is expected to be allowed :read_incident_management_escalation_policy2149 with unavailable escalation policies2150 is expected to be disallowed :read_incident_management_escalation_policy2151 role: :admin, admin_mode: false, allowed: false2152 is expected to be disallowed :read_incident_management_escalation_policy2153 with unavailable escalation policies2154 is expected to be disallowed :read_incident_management_escalation_policy2155 role: :admin, admin_mode: true, allowed: true2156 is expected to be allowed :read_incident_management_escalation_policy2157 with unavailable escalation policies2158 is expected to be disallowed :read_incident_management_escalation_policy2159 role: :auditor, admin_mode: false, allowed: true2160 is expected to be allowed :read_incident_management_escalation_policy2161 with unavailable escalation policies2162 is expected to be disallowed :read_incident_management_escalation_policy2163 behaves like monitor feature visibility2164 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2165 is expected to be allowed :read_incident_management_escalation_policy2166 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2167 is expected to be disallowed :read_incident_management_escalation_policy2168 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2169 is expected to be allowed :read_incident_management_escalation_policy2170 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2171 is expected to be disallowed :read_incident_management_escalation_policy2172 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2173 is expected to be disallowed :read_incident_management_escalation_policy2174 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2175 is expected to be disallowed :read_incident_management_escalation_policy2176 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2177 is expected to be allowed :read_incident_management_escalation_policy2178 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2179 is expected to be disallowed :read_incident_management_escalation_policy2180 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2181 is expected to be allowed :read_incident_management_escalation_policy2182 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2183 is expected to be disallowed :read_incident_management_escalation_policy2184 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2185 is expected to be disallowed :read_incident_management_escalation_policy2186 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2187 is expected to be disallowed :read_incident_management_escalation_policy2188 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2189 is expected to be allowed :read_incident_management_escalation_policy2190 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2191 is expected to be disallowed :read_incident_management_escalation_policy2192 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2193 is expected to be allowed :read_incident_management_escalation_policy2194 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2195 is expected to be disallowed :read_incident_management_escalation_policy2196 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2197 is expected to be disallowed :read_incident_management_escalation_policy2198 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2199 is expected to be disallowed :read_incident_management_escalation_policy2200 :admin_incident_management_escalation_policy2201 role: :guest, admin_mode: nil, allowed: false2202 is expected to be disallowed :admin_incident_management_escalation_policy2203 with unavailable escalation policies2204 is expected to be disallowed :admin_incident_management_escalation_policy2205 role: :reporter, admin_mode: nil, allowed: false2206 is expected to be disallowed :admin_incident_management_escalation_policy2207 with unavailable escalation policies2208 is expected to be disallowed :admin_incident_management_escalation_policy2209 role: :developer, admin_mode: nil, allowed: false2210 is expected to be disallowed :admin_incident_management_escalation_policy2211 with unavailable escalation policies2212 is expected to be disallowed :admin_incident_management_escalation_policy2213 role: :maintainer, admin_mode: nil, allowed: true2214 is expected to be allowed :admin_incident_management_escalation_policy2215 with unavailable escalation policies2216 is expected to be disallowed :admin_incident_management_escalation_policy2217 role: :owner, admin_mode: nil, allowed: true2218 is expected to be allowed :admin_incident_management_escalation_policy2219 with unavailable escalation policies2220 is expected to be disallowed :admin_incident_management_escalation_policy2221 role: :admin, admin_mode: false, allowed: false2222 is expected to be disallowed :admin_incident_management_escalation_policy2223 with unavailable escalation policies2224 is expected to be disallowed :admin_incident_management_escalation_policy2225 role: :admin, admin_mode: true, allowed: true2226 is expected to be allowed :admin_incident_management_escalation_policy2227 with unavailable escalation policies2228 is expected to be disallowed :admin_incident_management_escalation_policy2229 role: :auditor, admin_mode: false, allowed: false2230 is expected to be disallowed :admin_incident_management_escalation_policy2231 with unavailable escalation policies2232 is expected to be disallowed :admin_incident_management_escalation_policy2233 behaves like monitor feature visibility2234 project_visibility: :public, access_level: 20, role: role_allowed, allowed: true2235 is expected to be allowed :admin_incident_management_escalation_policy2236 project_visibility: :public, access_level: 20, role: role_disallowed, allowed: false2237 is expected to be disallowed :admin_incident_management_escalation_policy2238 project_visibility: :public, access_level: 10, role: role_allowed, allowed: true2239 is expected to be allowed :admin_incident_management_escalation_policy2240 project_visibility: :public, access_level: 10, role: role_disallowed, allowed: false2241 is expected to be disallowed :admin_incident_management_escalation_policy2242 project_visibility: :public, access_level: 0, role: role_allowed, allowed: false2243 is expected to be disallowed :admin_incident_management_escalation_policy2244 project_visibility: :public, access_level: 0, role: role_disallowed, allowed: false2245 is expected to be disallowed :admin_incident_management_escalation_policy2246 project_visibility: :internal, access_level: 20, role: role_allowed, allowed: true2247 is expected to be allowed :admin_incident_management_escalation_policy2248 project_visibility: :internal, access_level: 20, role: role_disallowed, allowed: false2249 is expected to be disallowed :admin_incident_management_escalation_policy2250 project_visibility: :internal, access_level: 10, role: role_allowed, allowed: true2251 is expected to be allowed :admin_incident_management_escalation_policy2252 project_visibility: :internal, access_level: 10, role: role_disallowed, allowed: false2253 is expected to be disallowed :admin_incident_management_escalation_policy2254 project_visibility: :internal, access_level: 0, role: role_allowed, allowed: false2255 is expected to be disallowed :admin_incident_management_escalation_policy2256 project_visibility: :internal, access_level: 0, role: role_disallowed, allowed: false2257 is expected to be disallowed :admin_incident_management_escalation_policy2258 project_visibility: :private, access_level: 20, role: role_allowed, allowed: true2259 is expected to be allowed :admin_incident_management_escalation_policy2260 project_visibility: :private, access_level: 20, role: role_disallowed, allowed: false2261 is expected to be disallowed :admin_incident_management_escalation_policy2262 project_visibility: :private, access_level: 10, role: role_allowed, allowed: true2263 is expected to be allowed :admin_incident_management_escalation_policy2264 project_visibility: :private, access_level: 10, role: role_disallowed, allowed: false2265 is expected to be disallowed :admin_incident_management_escalation_policy2266 project_visibility: :private, access_level: 0, role: role_allowed, allowed: false2267 is expected to be disallowed :admin_incident_management_escalation_policy2268 project_visibility: :private, access_level: 0, role: role_disallowed, allowed: false2269 is expected to be disallowed :admin_incident_management_escalation_policy2270 when project is read only on the namespace2271 when the group is read only2272 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_package2273 when the group is not read only2274 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_package2275 project access tokens2276 GitLab.com Core resource access tokens2277 with admin access2278 when project belongs to a group2279 is expected not to be allowed :create_resource_access_tokens2280 is expected to be allowed :read_resource_access_tokens2281 is expected to be allowed :destroy_resource_access_tokens2282 when project belongs to personal namespace2283 is expected to be allowed :create_resource_access_tokens2284 is expected to be allowed :read_resource_access_tokens2285 is expected to be allowed :destroy_resource_access_tokens2286 with non admin access2287 when project belongs to a group2288 is expected not to be allowed :create_resource_access_tokens2289 is expected not to be allowed :read_resource_access_tokens2290 is expected not to be allowed :destroy_resource_access_tokens2291 when project belongs to personal namespace2292 is expected not to be allowed :create_resource_access_tokens2293 is expected not to be allowed :read_resource_access_tokens2294 is expected not to be allowed :destroy_resource_access_tokens2295 on GitLab.com paid2296 with maintainer access2297 behaves like GitLab.com Paid plan resource access tokens2298 on SaaS2299 is expected to be allowed :create_resource_access_tokens2300 is expected to be allowed :read_resource_access_tokens2301 is expected to be allowed :destroy_resource_access_tokens2302 when personal access tokens are disabled2303 is expected not to be allowed :create_resource_access_tokens2304 is expected not to be allowed :read_resource_access_tokens2305 is expected not to be allowed :destroy_resource_access_tokens2306 create resource access tokens2307 is expected to be allowed :create_resource_access_tokens2308 with a personal namespace project2309 is expected to be allowed :create_resource_access_tokens2310 when resource access token creation is not allowed2311 is expected not to be allowed :create_resource_access_tokens2312 when parent group has resource access token creation disabled2313 cannot create resource access tokens2314 is expected not to be allowed :create_resource_access_tokens2315 read resource access tokens2316 is expected to be allowed :read_resource_access_tokens2317 destroy resource access tokens2318 is expected to be allowed :destroy_resource_access_tokens2319 with developer access2320 create resource access tokens2321 is expected not to be allowed :create_resource_access_tokens2322 read resource access tokens2323 is expected not to be allowed :read_resource_access_tokens2324 destroy resource access tokens2325 is expected not to be allowed :destroy_resource_access_tokens2326 with auditor access2327 read resource access tokens2328 is expected to be allowed :read_resource_access_tokens2329 cannot create resource access tokens2330 is expected not to be allowed :create_resource_access_tokens2331 cannot destroy resource access tokens2332 is expected not to be allowed :destroy_resource_access_tokens2333 read_analytics2334 with various analytics features2335 when analytics is disabled for the project2336 for guest user2337 is expected to be disallowed :read_project_merge_request_analytics2338 is expected to be disallowed :read_code_review_analytics2339 is expected to be disallowed :read_issue_analytics2340 for developer2341 is expected to be disallowed :read_project_merge_request_analytics2342 is expected to be disallowed :read_code_review_analytics2343 is expected to be disallowed :read_issue_analytics2344 when analytics is private for the project2345 for guest user2346 is expected to be disallowed :read_project_merge_request_analytics2347 is expected to be disallowed :read_code_review_analytics2348 is expected to be disallowed :read_issue_analytics2349 for developer2350 is expected to be allowed :read_project_merge_request_analytics2351 is expected to be allowed :read_code_review_analytics2352 is expected to be allowed :read_issue_analytics2353 for admin2354 is expected to be allowed :read_project_merge_request_analytics2355 is expected to be allowed :read_code_review_analytics2356 is expected to be allowed :read_issue_analytics2357 for auditor2358 is expected to be allowed :read_project_merge_request_analytics2359 is expected to be allowed :read_code_review_analytics2360 is expected to be allowed :read_issue_analytics2361 when analytics is enabled for the project2362 for guest user2363 is expected to be disallowed :read_project_merge_request_analytics2364 is expected to be disallowed :read_code_review_analytics2365 is expected to be allowed :read_issue_analytics2366 for developer2367 is expected to be allowed :read_project_merge_request_analytics2368 is expected to be allowed :read_code_review_analytics2369 is expected to be allowed :read_issue_analytics2370 for admin2371 is expected to be allowed :read_project_merge_request_analytics2372 is expected to be allowed :read_code_review_analytics2373 is expected to be allowed :read_issue_analytics2374 for auditor2375 is expected to be allowed :read_project_merge_request_analytics2376 is expected to be allowed :read_code_review_analytics2377 is expected to be allowed :read_issue_analytics2378 :build_read_project2379 role: :guest, project_visibility: "public", allowed: true2380 is expected to be allowed :build_read_project2381 role: :reporter, project_visibility: "public", allowed: true2382 is expected to be allowed :build_read_project2383 role: :developer, project_visibility: "public", allowed: true2384 is expected to be allowed :build_read_project2385 role: :maintainer, project_visibility: "public", allowed: true2386 is expected to be allowed :build_read_project2387 role: :owner, project_visibility: "public", allowed: true2388 is expected to be allowed :build_read_project2389 role: :admin, project_visibility: "public", allowed: true2390 is expected to be allowed :build_read_project2391 role: :guest, project_visibility: "internal", allowed: true2392 is expected to be allowed :build_read_project2393 role: :reporter, project_visibility: "internal", allowed: true2394 is expected to be allowed :build_read_project2395 role: :developer, project_visibility: "internal", allowed: true2396 is expected to be allowed :build_read_project2397 role: :maintainer, project_visibility: "internal", allowed: true2398 is expected to be allowed :build_read_project2399 role: :owner, project_visibility: "internal", allowed: true2400 is expected to be allowed :build_read_project2401 role: :admin, project_visibility: "internal", allowed: true2402 is expected to be allowed :build_read_project2403 role: :guest, project_visibility: "private", allowed: false2404 is expected to be disallowed :build_read_project2405 role: :reporter, project_visibility: "private", allowed: true2406 is expected to be allowed :build_read_project2407 role: :developer, project_visibility: "private", allowed: true2408 is expected to be allowed :build_read_project2409 role: :maintainer, project_visibility: "private", allowed: true2410 is expected to be allowed :build_read_project2411 role: :owner, project_visibility: "private", allowed: true2412 is expected to be allowed :build_read_project2413 role: :admin, project_visibility: "private", allowed: false2414 is expected to be disallowed :build_read_project2415 pending member permissions2416 with a pending membership in a private project2417 role: :guest2418 a pending member has permissions to the project as if the user is not a member2419 role: :reporter2420 a pending member has permissions to the project as if the user is not a member2421 role: :developer2422 a pending member has permissions to the project as if the user is not a member2423 role: :maintainer2424 a pending member has permissions to the project as if the user is not a member2425 with a group invited to a project2426 role: :guest2427 a pending member in the group has permissions to the project as if the user is not a member2428 role: :reporter2429 a pending member in the group has permissions to the project as if the user is not a member2430 role: :developer2431 a pending member in the group has permissions to the project as if the user is not a member2432 role: :maintainer2433 a pending member in the group has permissions to the project as if the user is not a member2434 role: :owner2435 a pending member in the group has permissions to the project as if the user is not a member2436 with a group invited to another group2437 role: :guest2438 a pending member in the group has permissions to the other group's project as if the user is not a member2439 role: :reporter2440 a pending member in the group has permissions to the other group's project as if the user is not a member2441 role: :developer2442 a pending member in the group has permissions to the other group's project as if the user is not a member2443 role: :maintainer2444 a pending member in the group has permissions to the other group's project as if the user is not a member2445 role: :owner2446 a pending member in the group has permissions to the other group's project as if the user is not a member2447 with a subgroup2448 role: :guest2449 a pending member in the group has permissions to the subgroup project as if the user is not a member2450 role: :reporter2451 a pending member in the group has permissions to the subgroup project as if the user is not a member2452 role: :developer2453 a pending member in the group has permissions to the subgroup project as if the user is not a member2454 role: :maintainer2455 a pending member in the group has permissions to the subgroup project as if the user is not a member2456 role: :owner2457 a pending member in the group has permissions to the subgroup project as if the user is not a member2458 :read_approvers2459 role: :guest, allowed: false2460 is expected to be disallowed :read_approvers2461 role: :reporter, allowed: false2462 is expected to be disallowed :read_approvers2463 role: :developer, allowed: false2464 is expected to be disallowed :read_approvers2465 role: :maintainer, allowed: true2466 is expected to be allowed :read_approvers2467 role: :auditor, allowed: true2468 is expected to be allowed :read_approvers2469 role: :owner, allowed: true2470 is expected to be allowed :read_approvers2471 role: :admin, allowed: true2472 is expected to be allowed :read_approvers2473 importing members from another project2474 for a personal project2475 is expected to be allowed :import_project_members_from_another_project2476 for a project in a group2477 when the project has locked their membership2478 via the parent group2479 is expected to be disallowed :import_project_members_from_another_project2480 via LDAP2481 is expected to be disallowed :import_project_members_from_another_project2482 via SAML2483 is expected to be disallowed :import_project_members_from_another_project2484 user banned from namespace2485 when user is not banned2486 is expected to be allowed :read_project2487 when user is banned2488 is expected to be disallowed :read_project2489 as an owner of the project2490 is expected to be disallowed :read_project2491 when project is inside subgroup2492 is expected to be disallowed :read_project2493 as an admin2494 when admin mode is enabled2495 is expected to be allowed :read_project2496 when project is public2497 is expected to be disallowed :read_project2498 when the limit_unique_project_downloads_per_namespace_user feature flag is disabled2499 is expected to be allowed :read_project2500 when licensed feature unique_project_download_limit is not available2501 is expected to be allowed :read_project2502 create_objective2503 role: :guest, allowed: true2504 when okrs_mvc feature flag is enabled2505 is expected to be allowed :create_objective and :create_key_result2506 when okrs_mvc feature flag is disabled2507 is expected to be disallowed :create_objective and :create_key_result2508 when okrs license feature is not available2509 is expected to be disallowed :create_objective and :create_key_result2510 role: :reporter, allowed: true2511 when okrs_mvc feature flag is enabled2512 is expected to be allowed :create_objective and :create_key_result2513 when okrs_mvc feature flag is disabled2514 is expected to be disallowed :create_objective and :create_key_result2515 when okrs license feature is not available2516 is expected to be disallowed :create_objective and :create_key_result2517 role: :developer, allowed: true2518 when okrs_mvc feature flag is enabled2519 is expected to be allowed :create_objective and :create_key_result2520 when okrs_mvc feature flag is disabled2521 is expected to be disallowed :create_objective and :create_key_result2522 when okrs license feature is not available2523 is expected to be disallowed :create_objective and :create_key_result2524 role: :maintainer, allowed: true2525 when okrs_mvc feature flag is enabled2526 is expected to be allowed :create_objective and :create_key_result2527 when okrs_mvc feature flag is disabled2528 is expected to be disallowed :create_objective and :create_key_result2529 when okrs license feature is not available2530 is expected to be disallowed :create_objective and :create_key_result2531 role: :auditor, allowed: false2532 when okrs_mvc feature flag is enabled2533 is expected to be disallowed :create_objective and :create_key_result2534 when okrs_mvc feature flag is disabled2535 is expected to be disallowed :create_objective and :create_key_result2536 when okrs license feature is not available2537 is expected to be disallowed :create_objective and :create_key_result2538 role: :owner, allowed: true2539 when okrs_mvc feature flag is enabled2540 is expected to be allowed :create_objective and :create_key_result2541 when okrs_mvc feature flag is disabled2542 is expected to be disallowed :create_objective and :create_key_result2543 when okrs license feature is not available2544 is expected to be disallowed :create_objective and :create_key_result2545 role: :admin, allowed: true2546 when okrs_mvc feature flag is enabled2547 is expected to be allowed :create_objective and :create_key_result2548 when okrs_mvc feature flag is disabled2549 is expected to be disallowed :create_objective and :create_key_result2550 when okrs license feature is not available2551 is expected to be disallowed :create_objective and :create_key_result2552 hidden projects2553 is expected to be disallowed :download_code2554 is expected to be disallowed :build_download_code2555 custom role2556 for a member role with read_code true2557 behaves like custom roles abilities2558 without custom_roles license enabled2559 is expected to be disallowed :read_code2560 with custom_roles license enabled2561 custom role for parent group2562 when a role enables the abilities2563 is expected to be allowed :read_code2564 when a role does not enable the abilities2565 is expected to be disallowed :read_code2566 custom role on project membership2567 when a role enables the abilities2568 is expected to be allowed :read_code2569 when a role does not enable the abilities2570 is expected to be disallowed :read_code2571 multiple custom roles in hierarchy with different read_code values2572 is expected to be allowed :read_code2573 for a member role with read_vulnerability true2574 with custom_roles_vulnerability FF enabled2575 behaves like custom roles abilities2576 without custom_roles license enabled2577 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2578 with custom_roles license enabled2579 custom role for parent group2580 when a role enables the abilities2581 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2582 when a role does not enable the abilities2583 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2584 custom role on project membership2585 when a role enables the abilities2586 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2587 when a role does not enable the abilities2588 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2589 multiple custom roles in hierarchy with different read_code values2590 is expected to be allowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2591 with custom_roles_vulnerability FF disabled2592 is expected to be disallowed :read_vulnerability, :read_security_resource, and :create_vulnerability_export2593 permissions for suggested reviewers bot2594 when user is suggested_reviewers_bot2595 suggested_reviewers_available: false, token_creation_allowed: false, allowed: false2596 always allows permissions except when feature disabled2597 suggested_reviewers_available: false, token_creation_allowed: true, allowed: false2598 always allows permissions except when feature disabled2599 suggested_reviewers_available: true, token_creation_allowed: false, allowed: false2600 always allows permissions except when feature disabled2601 suggested_reviewers_available: true, token_creation_allowed: true, allowed: true2602 always allows permissions except when feature disabled2603 when user is not suggested_reviewers_bot2604 does not allow permissions2605 read_namespace_catalog2606 when the ci_namespace_catalog licensed feature is unavailable2607 is expected to be disallowed :read_namespace_catalog2608 when the ci_namespace_catalog_experimental feature flag is disabled2609 is expected to be disallowed :read_namespace_catalog2610 when ci_namespace_catalog and ci_namespace_catalog_experimental are available2611 role: :owner, allowed: true2612 is expected to equal true2613 role: :maintainer, allowed: true2614 is expected to equal true2615 role: :developer, allowed: true2616 is expected to equal true2617 role: :reporter, allowed: false2618 is expected to equal false2619 role: :guest, allowed: false2620 is expected to equal false2621 add_catalog_resource2622 when the ci_namespace_catalog licensed feature is unavailable2623 is expected to be disallowed :add_catalog_resource2624 when the ci_namespace_catalog_experimental feature flag is disabled2625 is expected to be disallowed :add_catalog_resource2626 when ci_namespace_catalog and ci_namespace_catalog_experimental are available2627 role: :owner, allowed: true2628 is expected to equal true2629 role: :maintainer, allowed: false2630 is expected to equal false2631 role: :developer, allowed: false2632 is expected to equal false2633 role: :reporter, allowed: false2634 is expected to equal false2635 role: :guest, allowed: false2636 is expected to equal false2637 read_project_runners2638 with auditor2639 is expected to be allowed :read_project_runners2640 workspace creation2641 with no user2642 is expected to be disallowed :create_workspace2643 with an authorized user2644 is expected to be allowed :create_workspace2645 create_pipeline policy2646 as a guest member2647 is expected not to be allowed :create_pipeline2648 and user is a security_policy_bot2649 is expected not to be allowed :create_pipeline2650 and user is a member of the project2651 is expected to be allowed :create_pipeline2652 push_code policy2653 as a guest member2654 is expected not to be allowed :push_code2655 and user is a security_policy_bot2656 is expected not to be allowed :create_pipeline2657 and user is a member of the project2658 is expected to be allowed :push_code2659Gitlab::Insights::Finders::IssuableFinder2660 #issuable_type2661 issuable_type_in_query: "issue", expected_issuable_type: :issue2662 is expected to eq :issue2663 issuable_type_in_query: "issues", expected_issuable_type: :issue2664 is expected to eq :issue2665 issuable_type_in_query: "merge_request", expected_issuable_type: :merge_request2666 is expected to eq :merge_request2667 issuable_type_in_query: "merge_requests", expected_issuable_type: :merge_request2668 is expected to eq :merge_request2669 #issuable_state2670 issuable_state_in_query: nil, expected_issuable_state: :opened2671 is expected to eq :opened2672 issuable_state_in_query: "opened", expected_issuable_state: :opened2673 is expected to eq :opened2674 issuable_state_in_query: "closed", expected_issuable_state: :closed2675 is expected to eq :closed2676 issuable_state_in_query: "merged", expected_issuable_state: :merged2677 is expected to eq :merged2678 issuable_state_in_query: "locked", expected_issuable_state: :locked2679 is expected to eq :locked2680 #period_field2681 issuable_type_in_query: "issue", issuable_state_in_query: nil, expected_period_field: :created_at2682 is expected to eq :created_at2683 issuable_type_in_query: "merge_request", issuable_state_in_query: nil, expected_period_field: :created_at2684 is expected to eq :created_at2685 issuable_type_in_query: "issue", issuable_state_in_query: "opened", expected_period_field: :created_at2686 is expected to eq :created_at2687 issuable_type_in_query: "merge_request", issuable_state_in_query: "opened", expected_period_field: :created_at2688 is expected to eq :created_at2689 issuable_type_in_query: "issue", issuable_state_in_query: "closed", expected_period_field: :closed_at2690 is expected to eq :closed_at2691 issuable_type_in_query: "merge_request", issuable_state_in_query: "closed", expected_period_field: :created_at2692 is expected to eq :created_at2693 issuable_type_in_query: "issue", issuable_state_in_query: "merged", expected_period_field: :created_at2694 is expected to eq :created_at2695 issuable_type_in_query: "merge_request", issuable_state_in_query: "merged", expected_period_field: :merged_at2696 is expected to eq :merged_at2697 issuable_type_in_query: "issue", issuable_state_in_query: "locked", expected_period_field: :created_at2698 is expected to eq :created_at2699 issuable_type_in_query: "merge_request", issuable_state_in_query: "locked", expected_period_field: :created_at2700 is expected to eq :created_at2701 #find2702 raises an error for an invalid :issuable_type option2703 raises an error for an invalid entity object2704 raises an error for an invalid :group_by option2705 defaults to the "days" period if no :group_by is given2706 raises an error for an invalid :period_limit option2707 for a group2708 issues2709 avoids N + 1 queries2710 :period_limit query2711 with group_by: "day"2712 returns issuable created after 30 days ago2713 with group_by: "day", period_limit: 12714 returns issuable created after one day ago2715 with group_by: "week"2716 returns issuable created after 12 weeks ago2717 with group_by: "week", period_limit: 12718 returns issuable created after one week ago2719 with group_by: "month"2720 returns issuable created after 12 months ago2721 with group_by: "month", period_limit: 12722 returns issuable created after one month ago2723 :projects option2724 when `projects.only` are specified by one id2725 returns issuables for that project2726 when `projects.only` are specified by two ids2727 returns issuables for all valid projects2728 when `projects.only` are specified by bad id2729 returns nothing2730 when `projects.only` are specified by bad id and good id2731 returns issuables for good project2732 when `projects.only` are specified by one project full path2733 returns issuables for that project2734 when `projects.only` are specified by project full path and id2735 returns issuables for all valid projects2736 when `projects.only` are specified by duplicated projects2737 returns issuables for that project without duplicated issuables2738 when `projects.only` are specified by bad project path2739 returns nothing2740 when `projects.only` are specified by unrelated project2741 returns nothing2742 merge requests2743 avoids N + 1 queries2744 :period_limit query2745 with group_by: "day"2746 returns issuable created after 30 days ago2747 with group_by: "day", period_limit: 12748 returns issuable created after one day ago2749 with group_by: "week"2750 returns issuable created after 12 weeks ago2751 with group_by: "week", period_limit: 12752 returns issuable created after one week ago2753 with group_by: "month"2754 returns issuable created after 12 months ago2755 with group_by: "month", period_limit: 12756 returns issuable created after one month ago2757 :projects option2758 when `projects.only` are specified by one id2759 returns issuables for that project2760 when `projects.only` are specified by two ids2761 returns issuables for all valid projects2762 when `projects.only` are specified by bad id2763 returns nothing2764 when `projects.only` are specified by bad id and good id2765 returns issuables for good project2766 when `projects.only` are specified by one project full path2767 returns issuables for that project2768 when `projects.only` are specified by project full path and id2769 returns issuables for all valid projects2770 when `projects.only` are specified by duplicated projects2771 returns issuables for that project without duplicated issuables2772 when `projects.only` are specified by bad project path2773 returns nothing2774 when `projects.only` are specified by unrelated project2775 returns nothing2776 for a group with subgroups2777 issues2778 avoids N + 1 queries2779 :period_limit query2780 with group_by: "day"2781 returns issuable created after 30 days ago2782 with group_by: "day", period_limit: 12783 returns issuable created after one day ago2784 with group_by: "week"2785 returns issuable created after 12 weeks ago2786 with group_by: "week", period_limit: 12787 returns issuable created after one week ago2788 with group_by: "month"2789 returns issuable created after 12 months ago2790 with group_by: "month", period_limit: 12791 returns issuable created after one month ago2792 :projects option2793 when `projects.only` are specified by one id2794 returns issuables for that project2795 when `projects.only` are specified by two ids2796 returns issuables for all valid projects2797 when `projects.only` are specified by bad id2798 returns nothing2799 when `projects.only` are specified by bad id and good id2800 returns issuables for good project2801 when `projects.only` are specified by one project full path2802 returns issuables for that project2803 when `projects.only` are specified by project full path and id2804 returns issuables for all valid projects2805 when `projects.only` are specified by duplicated projects2806 returns issuables for that project without duplicated issuables2807 when `projects.only` are specified by bad project path2808 returns nothing2809 when `projects.only` are specified by unrelated project2810 returns nothing2811 merge requests2812 avoids N + 1 queries2813 :period_limit query2814 with group_by: "day"2815 returns issuable created after 30 days ago2816 with group_by: "day", period_limit: 12817 returns issuable created after one day ago2818 with group_by: "week"2819 returns issuable created after 12 weeks ago2820 with group_by: "week", period_limit: 12821 returns issuable created after one week ago2822 with group_by: "month"2823 returns issuable created after 12 months ago2824 with group_by: "month", period_limit: 12825 returns issuable created after one month ago2826 :projects option2827 when `projects.only` are specified by one id2828 returns issuables for that project2829 when `projects.only` are specified by two ids2830 returns issuables for all valid projects2831 when `projects.only` are specified by bad id2832 returns nothing2833 when `projects.only` are specified by bad id and good id2834 returns issuables for good project2835 when `projects.only` are specified by one project full path2836 returns issuables for that project2837 when `projects.only` are specified by project full path and id2838 returns issuables for all valid projects2839 when `projects.only` are specified by duplicated projects2840 returns issuables for that project without duplicated issuables2841 when `projects.only` are specified by bad project path2842 returns nothing2843 when `projects.only` are specified by unrelated project2844 returns nothing2845 for a project2846 issues2847 avoids N + 1 queries2848 :period_limit query2849 with group_by: "day"2850 returns issuable created after 30 days ago2851 with group_by: "day", period_limit: 12852 returns issuable created after one day ago2853 with group_by: "week"2854 returns issuable created after 12 weeks ago2855 with group_by: "week", period_limit: 12856 returns issuable created after one week ago2857 with group_by: "month"2858 returns issuable created after 12 months ago2859 with group_by: "month", period_limit: 12860 returns issuable created after one month ago2861 :projects option2862 when `projects.only` are specified by one id2863 returns issuables for that project2864 when `projects.only` are specified by two ids2865 returns issuables for all valid projects2866 when `projects.only` are specified by bad id2867 returns nothing2868 when `projects.only` are specified by bad id and good id2869 returns issuables for good project2870 when `projects.only` are specified by one project full path2871 returns issuables for that project2872 when `projects.only` are specified by project full path and id2873 returns issuables for all valid projects2874 when `projects.only` are specified by duplicated projects2875 returns issuables for that project without duplicated issuables2876 when `projects.only` are specified by bad project path2877 returns nothing2878 when `projects.only` are specified by unrelated project2879 returns nothing2880 merge requests2881 avoids N + 1 queries2882 :period_limit query2883 with group_by: "day"2884 returns issuable created after 30 days ago2885 with group_by: "day", period_limit: 12886 returns issuable created after one day ago2887 with group_by: "week"2888 returns issuable created after 12 weeks ago2889 with group_by: "week", period_limit: 12890 returns issuable created after one week ago2891 with group_by: "month"2892 returns issuable created after 12 months ago2893 with group_by: "month", period_limit: 12894 returns issuable created after one month ago2895 :projects option2896 when `projects.only` are specified by one id2897 returns issuables for that project2898 when `projects.only` are specified by two ids2899 returns issuables for all valid projects2900 when `projects.only` are specified by bad id2901 returns nothing2902 when `projects.only` are specified by bad id and good id2903 returns issuables for good project2904 when `projects.only` are specified by one project full path2905 returns issuables for that project2906 when `projects.only` are specified by project full path and id2907 returns issuables for all valid projects2908 when `projects.only` are specified by duplicated projects2909 returns issuables for that project without duplicated issuables2910 when `projects.only` are specified by bad project path2911 returns nothing2912 when `projects.only` are specified by unrelated project2913 returns nothing2914 merged merge requests2915 avoids N + 1 queries2916 :period_limit query2917 with group_by: "day"2918 returns issuable created after 30 days ago2919 with group_by: "day", period_limit: 12920 returns issuable created after one day ago2921 with group_by: "week"2922 returns issuable created after 12 weeks ago2923 with group_by: "week", period_limit: 12924 returns issuable created after one week ago2925 with group_by: "month"2926 returns issuable created after 12 months ago2927 with group_by: "month", period_limit: 12928 returns issuable created after one month ago2929 :projects option2930 when `projects.only` are specified by one id2931 returns issuables for that project2932 when `projects.only` are specified by two ids2933 returns issuables for all valid projects2934 when `projects.only` are specified by bad id2935 returns nothing2936 when `projects.only` are specified by bad id and good id2937 returns issuables for good project2938 when `projects.only` are specified by one project full path2939 returns issuables for that project2940 when `projects.only` are specified by project full path and id2941 returns issuables for all valid projects2942 when `projects.only` are specified by duplicated projects2943 returns issuables for that project without duplicated issuables2944 when `projects.only` are specified by bad project path2945 returns nothing2946 when `projects.only` are specified by unrelated project2947 returns nothing2948 #period_limit2949 default values2950 with group_by: "day"2951 returns 302952 with group_by: "week"2953 returns 122954 with group_by: "month"2955 returns 122956 custom values2957 with period_limit: 422958 returns 422959 with an invalid period_limit2960 raises an error2961BackfillProjectPermissionsInBlobsUsingPermutations2962 # order random2963 integration test2964 when visibility levels are missing2965 updates blob documents with correct permissions based on permutation index2966 when visibility levels are not missing for a permutation2967 does not change visibility levels but increments permutation index2968 .task_completed?2969 when elastic task is completed with no failures2970 is truthy2971 when elastic task is completed with failures2972 is truthy2973 when elastic task is still running2974 is falsey2975 .permutation_completed?2976 when there are blobs matching current permutation missing permissions2977 is not completed2978 when there are no blobs matching current permutation missing permissions2979 is completed2980 permissions matrix2981 when permutation_idx is in the bounds of permissions matrix2982 uses the correct visibility levels2983 when permutation_idx is out of bounds of permissions matrix2984 migration is a NOOP and is completed2985 migration_options2986 has migration options set2987 .completed?2988 when there are blobs missing permissions2989 is not completed2990 when there are NO blobs missing permissions2991 is completed2992 migration state2993 when no state exists2994 saves retry attempt and permutation index2995 when a Elastic task does NOT exist in state2996 saves the elastic task_id to state2997 when a Elastic task exists in state2998 and the task is completed2999 increments the permutation_idx and resets retry count, task_id3000 when an exception occurs3001 increments retry attempt and re-raises the exception3002 when max retries is reached3003 fails the migration3004MergeRequests::RefreshService3005 #execute3006 checks merge train status3007 when branch is deleted3008 does not check merge train status3009 #update_approvers_for_target_branch_merge_requests3010 when the feature flags are enabled3011 when the branch is protected3012 when code owners file is updated3013 when not on the merge train3014 refreshes the code owner rules for all relevant merge requests3015 when on the merge train3016 behaves like does not refresh the code owner rules3017 is expected not to receive new(*(any args)) 0 times3018 when code owners file is not updated3019 behaves like does not refresh the code owner rules3020 is expected not to receive new(*(any args)) 0 times3021 when the branch is deleted3022 behaves like does not refresh the code owner rules3023 is expected not to receive new(*(any args)) 0 times3024 when the branch is created3025 behaves like does not refresh the code owner rules3026 is expected not to receive new(*(any args)) 0 times3027 when the branch is not protected3028 behaves like does not refresh the code owner rules3029 is expected not to receive new(*(any args)) 0 times3030 when code_owners is disabled3031 behaves like does not refresh the code owner rules3032 is expected not to receive new(*(any args)) 0 times3033 #trigger_suggested_reviewers_fetch3034 project_can_suggest: true, merge_request_can_suggest: true, triggered: true3035 is expected to receive perform_async(335) 1 time3036 project_can_suggest: true, merge_request_can_suggest: false, triggered: false3037 is expected not to receive perform_async(336) 0 times3038 project_can_suggest: false, merge_request_can_suggest: true, triggered: false3039 is expected not to receive perform_async(337) 0 times3040 project_can_suggest: false, merge_request_can_suggest: false, triggered: false3041 is expected not to receive perform_async(338) 0 times3042 #update_approvers_for_source_branch_merge_requests3043 gets called in a specific order3044 creating approval_rules3045 with a non-sectional codeowners file3046 behaves like creates an approval rule based on current diff3047 creates expected approval rules3048 with a sectional codeowners file3049 behaves like creates an approval rule based on current diff3050 creates expected approval rules3051 when code owners disabled3052 does nothing3053 when code owners enabled3054 refreshes the code owner rules for all relevant merge requests3055 when report_approver_rules enabled, with approval_rule enabled3056 refreshes the report_approver rules for all relevant merge requests3057 Pipelines for merge requests3058 creates a merge request pipeline3059 when MergeRequestUpdateWorker is retried by an exception3060 does not re-create a duplicate merge request pipeline3061 when user is approver3062 push to origin repo source branch3063 when no_todo_for_approvers feature flag is enabled3064 resets approvals and does not create approval todos for regular and for merge request3065 when no_todo_for_approvers feature flag is disabled3066 resets approvals and does create approval todos for regular only3067 in the time it takes to reset approvals3068 prevents merging3069 removes the unmergeable flag after the allotted time3070 with a merge request on a merge train3071 does not add an umergeable flag3072 push to origin repo target branch3073 when all MRs to the target branch had diffs3074 does not reset approvals3075 push to fork repo source branch3076 open fork merge request3077 when no_todo_for_approvers feature flag is disabled3078 resets approvals and creates approval todo in fork3079 when no_todo_for_approvers feature flag is enabled3080 resets approvals and does not create approval todo in fork3081 closed fork merge request3082 resets approvals3083 push to fork repo target branch3084 changes to merge requests3085 does not reset approvals3086 push to origin repo target branch after fork project was removed3087 does not reset approvals3088 resetting approvals if they are enabled3089 when approvals_before_merge is disabled3090 when no_todo_for_approvers feature flag is disabled3091 resets approvals and creates approval todo for approver3092 when no_todo_for_approvers feature flag is enabled3093 resets approvals and creates approval todo for approver3094 when reset_approvals_on_push is disabled3095 does not reset approvals3096 when the rebase_commit_sha on the MR matches the pushed SHA3097 does not reset approvals3098 when there are approvals3099 closed merge request3100 resets the approvals3101 opened merge request3102 when no_todo_for_approvers feature flag is disabled3103 resets the approvals3104 when no_todo_for_approvers feature flag is enabled3105 resets the approvals3106 #abort_ff_merge_requests_with_when_pipeline_succeeds3107 with add to merge train when pipeline succeeds strategy3108 behaves like maintained merge requests for MWPS3109 does not cancel auto merge3110 does not change merge_user3111 does not add todos3112 with merge train strategy3113 behaves like maintained merge requests for MWPS3114 does not cancel auto merge3115 does not change merge_user3116 does not add todos3117EnvironmentEntity3118 #as_json3119 with alert3120 exposes active alert flag3121 when user does not have permission to read alert3122 does not expose active alert flag3123 when license is insufficient3124 does not expose active alert flag3125 when environment has a review app3126 #can_stop3127 behaves like protected environments access3128 when Protected Environments feature is not available in the project3129 access_level: :guest, result: false3130 is expected to eq false3131 access_level: :reporter, result: false3132 is expected to eq false3133 access_level: :developer, result: true3134 is expected to eq true3135 access_level: :maintainer, result: true3136 is expected to eq true3137 access_level: :admin, result: true3138 is expected to eq true3139 when Protected Environments feature is available in the project3140 when environment is protected with project-level protection3141 behaves like authorize correctly per access type3142 when user does not have access to the environment3143 access_level: :guest, result: false3144 is expected to eq false3145 access_level: :reporter, result: false3146 is expected to eq false3147 access_level: :developer, result: false3148 is expected to eq false3149 access_level: :maintainer, result: false3150 is expected to eq false3151 access_level: :admin, result: true3152 is expected to eq true3153 when user has access to the environment3154 access_level: :reporter, result: false3155 is expected to eq false3156 access_level: :developer, result: true3157 is expected to eq true3158 access_level: :maintainer, result: true3159 is expected to eq true3160 access_level: :admin, result: true3161 is expected to eq true3162 when the user has access via a group3163 is expected to eq false3164 when environment is protected with group-level protection3165 behaves like authorize correctly per access type3166 when user does not have access to the environment3167 access_level: :guest, result: false3168 is expected to eq false3169 access_level: :reporter, result: false3170 is expected to eq false3171 access_level: :developer, result: false3172 is expected to eq false3173 access_level: :maintainer, result: false3174 is expected to eq false3175 access_level: :admin, result: true3176 is expected to eq true3177 when user has access to the environment3178 access_level: :reporter, result: false3179 is expected to eq false3180 access_level: :developer, result: true3181 is expected to eq true3182 access_level: :maintainer, result: true3183 is expected to eq true3184 access_level: :admin, result: true3185 is expected to eq true3186 when the user has access via a group3187 is expected to eq false3188 when environment is not protected3189 access_level: :guest, result: false3190 is expected to eq false3191 access_level: :reporter, result: false3192 is expected to eq false3193 access_level: :developer, result: true3194 is expected to eq true3195 access_level: :maintainer, result: true3196 is expected to eq true3197 access_level: :admin, result: true3198 is expected to eq true3199 #terminal_path3200 behaves like protected environments access3201 when Protected Environments feature is not available in the project3202 access_level: :guest, result: false3203 is expected to eq false3204 access_level: :reporter, result: false3205 is expected to eq false3206 access_level: :developer, result: false3207 is expected to eq false3208 access_level: :maintainer, result: true3209 is expected to eq true3210 access_level: :admin, result: true3211 is expected to eq true3212 when Protected Environments feature is available in the project3213 when environment is protected with project-level protection3214 behaves like authorize correctly per access type3215 when user does not have access to the environment3216 access_level: :guest, result: false3217 is expected to eq false3218 access_level: :reporter, result: false3219 is expected to eq false3220 access_level: :developer, result: false3221 is expected to eq false3222 access_level: :maintainer, result: false3223 is expected to eq false3224 access_level: :admin, result: true3225 is expected to eq true3226 when user has access to the environment3227 access_level: :reporter, result: false3228 is expected to eq false3229 access_level: :developer, result: false3230 is expected to eq false3231 access_level: :maintainer, result: true3232 is expected to eq true3233 access_level: :admin, result: true3234 is expected to eq true3235 when the user has access via a group3236 is expected to eq false3237 when environment is protected with group-level protection3238 behaves like authorize correctly per access type3239 when user does not have access to the environment3240 access_level: :guest, result: false3241 is expected to eq false3242 access_level: :reporter, result: false3243 is expected to eq false3244 access_level: :developer, result: false3245 is expected to eq false3246 access_level: :maintainer, result: false3247 is expected to eq false3248 access_level: :admin, result: true3249 is expected to eq true3250 when user has access to the environment3251 access_level: :reporter, result: false3252 is expected to eq false3253 access_level: :developer, result: false3254 is expected to eq false3255 access_level: :maintainer, result: true3256 is expected to eq true3257 access_level: :admin, result: true3258 is expected to eq true3259 when the user has access via a group3260 is expected to eq false3261 when environment is not protected3262 access_level: :guest, result: false3263 is expected to eq false3264 access_level: :reporter, result: false3265 is expected to eq false3266 access_level: :developer, result: false3267 is expected to eq false3268 access_level: :maintainer, result: true3269 is expected to eq true3270 access_level: :admin, result: true3271 is expected to eq true3272 required_approval_count3273 exposes required_approval_count3274GlobalSearch3275 Respect feature visibility levels3276 Private projects3277 does not find items if features are disabled3278 shows items to member only if features are enabled3279 Internal projects3280 does not find items if features are disabled3281 shows items to member only if features are enabled3282 shows items to member only if features are private3283 Public projects3284 does not find items if features are disabled3285 finds items if features are enabled3286 shows items to member only if features are private3287Note3288 searches notes3289 names elasticsearch queries3290 indexes && searches diff notes3291 does not track system note updates3292 uses same index for Note subclasses3293 behaves like limited indexing is enabled3294 when the project is not enabled specifically3295 #searchable?3296 returns false3297 when a project is enabled specifically3298 #searchable?3299 returns true3300 when a group is enabled3301 #searchable?3302 returns true3303 #searchable?3304 also works on diff notes3305 json serialization3306 returns json with all needed elements3307 raises Elastic::Latest::DocumentShouldBeDeletedFromIndexError when noteable is nil3308 note_type: :note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"3309 contains the correct permissions3310 when the project does not exist3311 has DISABLED access_level3312 note_type: :note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"3313 contains the correct permissions3314 when the project does not exist3315 has DISABLED access_level3316 note_type: :note_on_personal_snippet, project_feature_permission: nil, access_level: nil3317 contains the correct permissions3318 when the project does not exist3319 has DISABLED access_level3320 note_type: :note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3321 contains the correct permissions3322 when the project does not exist3323 has DISABLED access_level3324 note_type: :note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3325 contains the correct permissions3326 when the project does not exist3327 has DISABLED access_level3328 note_type: :diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3329 contains the correct permissions3330 when the project does not exist3331 has DISABLED access_level3332 note_type: :diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3333 contains the correct permissions3334 when the project does not exist3335 has DISABLED access_level3336 note_type: :diff_note_on_design, project_feature_permission: 20, access_level: nil3337 contains the correct permissions3338 when the project does not exist3339 has DISABLED access_level3340 note_type: :legacy_diff_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3341 contains the correct permissions3342 when the project does not exist3343 has DISABLED access_level3344 note_type: :legacy_diff_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3345 contains the correct permissions3346 when the project does not exist3347 has DISABLED access_level3348 note_type: :note_on_alert, project_feature_permission: 10, access_level: nil3349 contains the correct permissions3350 when the project does not exist3351 has DISABLED access_level3352 note_type: :note_on_design, project_feature_permission: 20, access_level: nil3353 contains the correct permissions3354 when the project does not exist3355 has DISABLED access_level3356 note_type: :note_on_epic, project_feature_permission: nil, access_level: nil3357 contains the correct permissions3358 when the project does not exist3359 has DISABLED access_level3360 note_type: :note_on_vulnerability, project_feature_permission: 10, access_level: nil3361 contains the correct permissions3362 when the project does not exist3363 has DISABLED access_level3364 note_type: :discussion_note_on_vulnerability, project_feature_permission: 10, access_level: nil3365 contains the correct permissions3366 when the project does not exist3367 has DISABLED access_level3368 note_type: :discussion_note_on_merge_request, project_feature_permission: 30, access_level: "merge_requests_access_level"3369 contains the correct permissions3370 when the project does not exist3371 has DISABLED access_level3372 note_type: :discussion_note_on_issue, project_feature_permission: 20, access_level: "issues_access_level"3373 contains the correct permissions3374 when the project does not exist3375 has DISABLED access_level3376 note_type: :discussion_note_on_project_snippet, project_feature_permission: 0, access_level: "snippets_access_level"3377 contains the correct permissions3378 when the project does not exist3379 has DISABLED access_level3380 note_type: :discussion_note_on_personal_snippet, project_feature_permission: nil, access_level: nil3381 contains the correct permissions3382 when the project does not exist3383 has DISABLED access_level3384 note_type: :discussion_note_on_commit, project_feature_permission: 10, access_level: "repository_access_level"3385 contains the correct permissions3386 when the project does not exist3387 has DISABLED access_level3388 note_type: :track_mr_picking_note, project_feature_permission: nil, access_level: nil3389 contains the correct permissions3390 when the project does not exist3391 has DISABLED access_level3392 notes to confidential issues3393 does not find note3394 finds note when user is authorized to see it3395 return notes with matching content for project members3396 does not return notes with matching content for project members with guest role3397 when admin mode is enabled3398 behaves like notes finder3399 finds 1 notes for admin3400 behaves like notes finder3401 finds 0 notes for admin3402 behaves like notes finder3403 finds 1 notes for auditor3404 behaves like no results when the user cannot read cross project3405 returns the record if a single project was passed3406 does not return anything when trying to search cross project3407Every metric definition3408 is included in the Usage Ping hash structure3409 only uses .yml and .json formats form metric related files in (ee/)config/metrics directory3410 metrics classes3411 uses all metrics classes3412 with value json schema3413 has a valid structure3414Ci::Minutes::Notification3415 when at project level3416 when eligible to see notifications3417 #show?3418 behaves like queries for notifications3419 without limit3420 is expected to be falsey3421 when limit is defined3422 when limit not yet exceeded3423 is expected to be falsey3424 when minutes are not yet set3425 is expected to be falsey3426 behaves like has notifications3427 when usage has reached a notification level3428 when at the warning level3429 #show?3430 has warning notification3431 behaves like aware of dismission cookie3432 does not show when cookie is set3433 #running_out?3434 is running out of minutes3435 #no_remaining_minutes?3436 has not ran out of minutes3437 #stage_percentage3438 provides percentage for current alert level3439 when at the danger level3440 #show?3441 has danger notification3442 behaves like aware of dismission cookie3443 does not show when cookie is set3444 #running_out?3445 is running out of minutes3446 #no_remaining_minutes?3447 has not ran out of minutes3448 #stage_percentage3449 provides percentage for current alert level3450 when right at the limit for notification3451 #show?3452 has warning notification3453 behaves like aware of dismission cookie3454 does not show when cookie is set3455 #running_out?3456 is running out of minutes3457 #no_remaining_minutes?3458 has not ran out of minutes3459 #stage_percentage3460 provides percentage for current alert level3461 when usage has exceeded the limit3462 #show?3463 has exceeded notification3464 behaves like aware of dismission cookie3465 does not show when cookie is set3466 #running_out?3467 does not have any minutes left3468 #no_remaining_minutes?3469 has run out of minutes out of minutes3470 #stage_percentage3471 provides percentage for current alert level3472 behaves like not eligible to see notifications3473 when not permitted to see notifications3474 #show?3475 has no notifications set3476 when user is not authenticated3477 behaves like not eligible to see notifications3478 when not permitted to see notifications3479 #show?3480 has no notifications set3481 when user is not in the correct role3482 behaves like not eligible to see notifications3483 when not permitted to see notifications3484 #show?3485 has no notifications set3486 when at namespace level3487 when eligible to see notifications3488 with a project that has runners enabled inside namespace3489 #show?3490 behaves like queries for notifications3491 without limit3492 is expected to be falsey3493 when limit is defined3494 when limit not yet exceeded3495 is expected to be falsey3496 when minutes are not yet set3497 is expected to be falsey3498 behaves like has notifications3499 when usage has reached a notification level3500 when at the warning level3501 #show?3502 has warning notification3503 behaves like aware of dismission cookie3504 does not show when cookie is set3505 #running_out?3506 is running out of minutes3507 #no_remaining_minutes?3508 has not ran out of minutes3509 #stage_percentage3510 provides percentage for current alert level3511 when at the danger level3512 #show?3513 has danger notification3514 behaves like aware of dismission cookie3515 does not show when cookie is set3516 #running_out?3517 is running out of minutes3518 #no_remaining_minutes?3519 has not ran out of minutes3520 #stage_percentage3521 provides percentage for current alert level3522 when right at the limit for notification3523 #show?3524 has warning notification3525 behaves like aware of dismission cookie3526 does not show when cookie is set3527 #running_out?3528 is running out of minutes3529 #no_remaining_minutes?3530 has not ran out of minutes3531 #stage_percentage3532 provides percentage for current alert level3533 when usage has exceeded the limit3534 #show?3535 has exceeded notification3536 behaves like aware of dismission cookie3537 does not show when cookie is set3538 #running_out?3539 does not have any minutes left3540 #no_remaining_minutes?3541 has run out of minutes out of minutes3542 #stage_percentage3543 provides percentage for current alert level3544 with no projects that have runners enabled inside namespace3545 behaves like not eligible to see notifications3546 when not permitted to see notifications3547 #show?3548 has no notifications set3549 behaves like not eligible to see notifications3550 when not permitted to see notifications3551 #show?3552 has no notifications set3553 when user is not authenticated3554 behaves like not eligible to see notifications3555 when not permitted to see notifications3556 #show?3557 has no notifications set3558 when user is not in the correct role3559 behaves like not eligible to see notifications3560 when not permitted to see notifications3561 #show?3562 has no notifications set3563Ci::JobArtifact3564 #save_verification_details3565 when direct upload is enabled for trace artifacts3566 does not create verification details3567 when direct upload is not enabled3568 does not create verification details3569 .with_verification_state3570 returns records with given scope3571 .checksummed3572 returns records with given scope3573 .not_checksummed3574 returns records with given scope3575 #save_verification_details3576 when model record is not part of verifiables scope3577 does not create verification details3578 when model_record is part of verifiables scope3579 creates verification details3580 #destroy3581 when pipeline is destroyed3582 creates a Geo delete event async3583 JobArtifact destroy fails3584 does not create a JobArtifactDeletedEvent3585 .file_types_for_report3586 returns the report file types for the report type3587 when given an unrecognized report type3588 raises error3589 .of_report_type3590 license_scanning_reports3591 is expected to eq [#<Ci::JobArtifact project_id: 556, file_type: "license_scanning", size: 20252, created_at: "2023-06-...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3592 cluster_image_scanning_reports3593 is expected to eq [#<Ci::JobArtifact project_id: 557, file_type: "cluster_image_scanning", size: 5783, created_at: "202...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3594 metrics_reports3595 when there is a metrics report3596 is expected to eq [#<Ci::JobArtifact project_id: 558, file_type: "metrics", size: 65, created_at: "2023-06-02 06:44:49....own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3597 when there is no metrics reports3598 is expected to be empty3599 coverage_fuzzing_reports3600 when there is a metrics report3601 is expected to eq [#<Ci::JobArtifact project_id: 560, file_type: "coverage_fuzzing", size: 1483, created_at: "2023-06-0...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3602 when there is no coverage fuzzing reports3603 is expected to be empty3604 api_fuzzing_reports3605 when there is a metrics report3606 is expected to eq [#<Ci::JobArtifact project_id: 562, file_type: "api_fuzzing", size: 154903, created_at: "2023-06-02 0...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3607 when there is no coverage fuzzing reports3608 is expected to be empty3609 sbom_reports3610 when there is an sbom report3611 is expected to contain exactly #<Ci::JobArtifact project_id: 564, file_type: "cyclonedx", size: 11887, created_at: "2023-06-02 06:44...nown", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>3612 when there is no sbom report3613 is expected to be empty3614 .security_reports3615 when the `file_types` parameter is provided3616 when the provided file_types is array3617 when there is a security report with the given value3618 is expected to eq [#<Ci::JobArtifact project_id: 567, file_type: "secret_detection", size: 1559, created_at: "2023-06-0...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3619 when there are no security reports with the given value3620 is expected to be empty3621 when the provided file_types is string3622 is expected to eq [#<Ci::JobArtifact project_id: 570, file_type: "secret_detection", size: 1559, created_at: "2023-06-0...own", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>]3623 when the file_types parameter is not provided3624 when there is a security report3625 is expected to contain exactly #<Ci::JobArtifact project_id: 571, file_type: "sast", size: 6713, created_at: "2023-06-02 06:44:55.36...nown", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil> and #<Ci::JobArtifact project_id: 572, file_type: "secret_detection", size: 1559, created_at: "2023-06-02...nown", partition_id: 100, accessibility: "public", file_final_path: nil, verification_checksum: nil>3626 when there are no security reports3627 is expected to be empty3628 .associated_file_types_for3629 file_type: "license_scanning", result: ["license_scanning"]3630 is expected to eq ["license_scanning"]3631 file_type: "codequality", result: ["codequality"]3632 is expected to eq ["codequality"]3633 file_type: "browser_performance", result: ["browser_performance", "performance"]3634 is expected to eq ["browser_performance", "performance"]3635 file_type: "load_performance", result: ["load_performance"]3636 is expected to eq ["load_performance"]3637 file_type: "quality", result: nil3638 is expected to eq nil3639 .search3640 when search query is empty3641 returns all records3642 when search query is not empty3643 without matches3644 filters all job artifacts3645 with matches3646 with project association3647 filters by project path3648 filters by project name3649 filters project description3650 #replicables_for_current_secondary3651 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_job_artifact], project_factory: [:project], include_expectation: true3652 when sync object storage is enabled3653 when the job artifact is locally stored3654 is expected to eq true3655 when the job artifact is object stored3656 is expected to eq true3657 when sync object storage is disabled3658 when the job artifact is locally stored3659 is expected to eq true3660 when the job artifact is object stored3661 is expected to be falsey3662 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:ci_job_artifact], project_factory: [:project], include_expectation: true3663 when sync object storage is enabled3664 when the job artifact is locally stored3665 is expected to eq true3666 when the job artifact is object stored3667 is expected to eq true3668 when sync object storage is disabled3669 when the job artifact is locally stored3670 is expected to eq true3671 when the job artifact is object stored3672 is expected to be falsey3673 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:ci_job_artifact], project_factory: [:project], include_expectation: false3674 when sync object storage is enabled3675 when the job artifact is locally stored3676 is expected to eq false3677 when the job artifact is object stored3678 is expected to eq false3679 when sync object storage is disabled3680 when the job artifact is locally stored3681 is expected to eq false3682 when the job artifact is object stored3683 is expected to be falsey3684 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:ci_job_artifact], project_factory: [:project], include_expectation: true3685 when sync object storage is enabled3686 when the job artifact is locally stored3687 is expected to eq true3688 when the job artifact is object stored3689 is expected to eq true3690 when sync object storage is disabled3691 when the job artifact is locally stored3692 is expected to eq true3693 when the job artifact is object stored3694 is expected to be falsey3695 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:ci_job_artifact], project_factory: [:project, :in_subgroup], include_expectation: true3696 when sync object storage is enabled3697 when the job artifact is locally stored3698 is expected to eq true3699 when the job artifact is object stored3700 is expected to eq true3701 when sync object storage is disabled3702 when the job artifact is locally stored3703 is expected to eq true3704 when the job artifact is object stored3705 is expected to be falsey3706 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_job_artifact], project_factory: [:project], include_expectation: false3707 when sync object storage is enabled3708 when the job artifact is locally stored3709 is expected to eq false3710 when the job artifact is object stored3711 is expected to eq false3712 when sync object storage is disabled3713 when the job artifact is locally stored3714 is expected to eq false3715 when the job artifact is object stored3716 is expected to be falsey3717 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_job_artifact], project_factory: [:project, :in_subgroup], include_expectation: false3718 when sync object storage is enabled3719 when the job artifact is locally stored3720 is expected to eq false3721 when the job artifact is object stored3722 is expected to eq false3723 when sync object storage is disabled3724 when the job artifact is locally stored3725 is expected to eq false3726 when the job artifact is object stored3727 is expected to be falsey3728 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_job_artifact, :expired], project_factory: [:project], include_expectation: true3729 when sync object storage is enabled3730 when the job artifact is locally stored3731 is expected to eq true3732 when the job artifact is object stored3733 is expected to eq true3734 when sync object storage is disabled3735 when the job artifact is locally stored3736 is expected to eq true3737 when the job artifact is object stored3738 is expected to be falsey3739 #security_report3740 is expected to equal 53741 for different types3742 file_type: :performance, security_report?: false3743 is expected to equal false3744 file_type: :sast, security_report?: true3745 is expected to equal true3746 file_type: :secret_detection, security_report?: true3747 is expected to equal true3748 file_type: :dependency_scanning, security_report?: true3749 is expected to equal true3750 file_type: :container_scanning, security_report?: true3751 is expected to equal true3752 file_type: :cluster_image_scanning, security_report?: true3753 is expected to equal true3754 file_type: :dast, security_report?: true3755 is expected to equal true3756 file_type: :coverage_fuzzing, security_report?: true3757 is expected to equal true3758 when the parsing fails3759 returns an errored report instance3760 schema validation3761 when validate is false3762 calls the parser with the correct arguments3763 when validate is true3764 calls the parser with the correct arguments3765 #clear_security_report3766 clears the security_report3767GitlabSubscription3768 is expected to delegate #exclude_guests? to the #namespace object3769 default values3770 defaults start_date to the current date3771 validations3772 is expected to validate that :seats cannot be empty/falsy3773 is expected to validate that :start_date cannot be empty/falsy3774 is expected to validate that :namespace_id is case-sensitively unique3775 associations3776 is expected to belong to namespace required: false3777 is expected to belong to hosted_plan required: false3778 scopes3779 .with_hosted_plan3780 scopes to the plan3781 .max_seats_used_changed_between3782 returns relevant subscriptions3783 .requiring_seat_refresh3784 returns relevant subscriptions3785 limits results3786 #calculate_seats_in_use3787 returns count of members3788 also counts users from subgroups3789 does not count duplicated members3790 does not count blocked members3791 with free_user_cap3792 does not count awaiting members3793 with guest members3794 with a ultimate plan3795 excludes these members3796 with other plans3797 excludes these members3798 excludes these members3799 when subscription is for a User3800 always returns 1 seat3801 #calculate_seats_owed3802 with a free plan3803 does not update max_seats_used3804 with a trial plan3805 does not update max_seats_used3806 with a paid plan3807 calculates the number of owed seats3808 #seats_remaining3809 when there are more seats used than available in the subscription3810 returns zero3811 when seats used equals seats in subscription3812 returns zero3813 when there are seats left in the subscription3814 returns the seat count remaining from the max seats used3815 when max seat data has not yet been generated for the subscription3816 returns the seat count of the subscription3817 #refresh_seat_attributes3818 when current seats in use is lower than recorded max_seats_used3819 does not increase max_seats_used3820 when current seats in use is higher than seats and max_seats_used3821 increases seats and max_seats_used3822 when resetting the max seats3823 sets max_seats_used to the current seats in use3824 #seats_in_use3825 with a paid hosted plan3826 returns the previously calculated seats in use3827 when seats in use is 03828 returns 0 too3829 with a trial plan3830 returns the current seats in use3831 behaves like a disabled feature3832 when feature flag is disabled3833 returns the previously calculated seats in use3834 with a free plan3835 returns the current seats in use3836 behaves like a disabled feature3837 when feature flag is disabled3838 returns the previously calculated seats in use3839 #expired?3840 when end_date is expired3841 is expected to equal true3842 when end_date is not expired3843 is expected to equal false3844 when end_date is nil3845 is expected to equal false3846 #has_a_paid_hosted_plan?3847 plan_name: "bronze", seats: 0, result: false3848 returns true if subscription has a paid hosted plan3849 plan_name: "bronze", seats: 1, result: true3850 returns true if subscription has a paid hosted plan3851 plan_name: "premium", seats: 1, result: true3852 returns true if subscription has a paid hosted plan3853 #upgradable?3854 behaves like upgradable lower plan3855 has_a_paid_hosted_plan: false, expired: false, result: false3856 returns true if subscription is upgradable3857 has_a_paid_hosted_plan: true, expired: false, result: true3858 returns true if subscription is upgradable3859 has_a_paid_hosted_plan: true, expired: true, result: false3860 returns true if subscription is upgradable3861 has_a_paid_hosted_plan: false, expired: true, result: false3862 returns true if subscription is upgradable3863 behaves like upgradable lower plan3864 has_a_paid_hosted_plan: false, expired: false, result: false3865 returns true if subscription is upgradable3866 has_a_paid_hosted_plan: true, expired: false, result: true3867 returns true if subscription is upgradable3868 has_a_paid_hosted_plan: true, expired: true, result: false3869 returns true if subscription is upgradable3870 has_a_paid_hosted_plan: false, expired: true, result: false3871 returns true if subscription is upgradable3872 behaves like upgradable lower plan3873 has_a_paid_hosted_plan: false, expired: false, result: false3874 returns true if subscription is upgradable3875 has_a_paid_hosted_plan: true, expired: false, result: true3876 returns true if subscription is upgradable3877 has_a_paid_hosted_plan: true, expired: true, result: false3878 returns true if subscription is upgradable3879 has_a_paid_hosted_plan: false, expired: true, result: false3880 returns true if subscription is upgradable3881 behaves like upgradable lower plan3882 has_a_paid_hosted_plan: false, expired: false, result: false3883 returns true if subscription is upgradable3884 has_a_paid_hosted_plan: true, expired: false, result: true3885 returns true if subscription is upgradable3886 has_a_paid_hosted_plan: true, expired: true, result: false3887 returns true if subscription is upgradable3888 has_a_paid_hosted_plan: false, expired: true, result: false3889 returns true if subscription is upgradable3890 behaves like upgradable lower plan3891 has_a_paid_hosted_plan: false, expired: false, result: false3892 returns true if subscription is upgradable3893 has_a_paid_hosted_plan: true, expired: false, result: true3894 returns true if subscription is upgradable3895 has_a_paid_hosted_plan: true, expired: true, result: false3896 returns true if subscription is upgradable3897 has_a_paid_hosted_plan: false, expired: true, result: false3898 returns true if subscription is upgradable3899 behaves like upgradable lower plan3900 has_a_paid_hosted_plan: false, expired: false, result: false3901 returns true if subscription is upgradable3902 has_a_paid_hosted_plan: true, expired: false, result: true3903 returns true if subscription is upgradable3904 has_a_paid_hosted_plan: true, expired: true, result: false3905 returns true if subscription is upgradable3906 has_a_paid_hosted_plan: false, expired: true, result: false3907 returns true if subscription is upgradable3908 behaves like upgradable lower plan3909 has_a_paid_hosted_plan: false, expired: false, result: false3910 returns true if subscription is upgradable3911 has_a_paid_hosted_plan: true, expired: false, result: true3912 returns true if subscription is upgradable3913 has_a_paid_hosted_plan: true, expired: true, result: false3914 returns true if subscription is upgradable3915 has_a_paid_hosted_plan: false, expired: true, result: false3916 returns true if subscription is upgradable3917 behaves like top plan3918 has_a_paid_hosted_plan: false, expired: false3919 returns false3920 has_a_paid_hosted_plan: true, expired: false3921 returns false3922 has_a_paid_hosted_plan: true, expired: true3923 returns false3924 has_a_paid_hosted_plan: false, expired: true3925 returns false3926 behaves like top plan3927 has_a_paid_hosted_plan: false, expired: false3928 returns false3929 has_a_paid_hosted_plan: true, expired: false3930 returns false3931 has_a_paid_hosted_plan: true, expired: true3932 returns false3933 has_a_paid_hosted_plan: false, expired: true3934 returns false3935 behaves like top plan3936 has_a_paid_hosted_plan: false, expired: false3937 returns false3938 has_a_paid_hosted_plan: true, expired: false3939 returns false3940 has_a_paid_hosted_plan: true, expired: true3941 returns false3942 has_a_paid_hosted_plan: false, expired: true3943 returns false3944 callbacks3945 has all attributes listed in the subscription history table3946 after_commit3947 index_namespace3948 indexes the namespace3949 when seats is 03950 does not index the namespace3951 when it is a trial3952 indexes the namespace3953 when seats is zero3954 indexes the namespace3955 when in free plan3956 does not index the namespace3957 when not ::Gitlab.com?3958 does not index the namespace3959 when the plan has expired3960 does not index the namespace3961 when it is a free plan3962 does not index the namespace3963 before_update3964 when a tracked attribute is updated3965 logs previous state to gitlab subscription history3966 when tracked attributes are not updated3967 does not log previous state to gitlab subscription history3968 when max_seats_used has changed3969 updates the max_seats_used_changed_at3970 when max_seats_used has not changed3971 does not change the max_seats_used_changed_at3972 when starting a new term3973 when start_date is after the old end_date3974 triggers subscription started event3975 behaves like resets seats3976 resets seats attributes3977 when the end_date was nil3978 behaves like resets seats3979 resets seats attributes3980 when the start_date is before the old end_date3981 behaves like resets seats3982 resets seats attributes3983 when max_seats_used_changed_at is not set3984 behaves like resets seats3985 resets seats attributes3986 when dates are changed but not for a new term3987 does not reset seats attributes3988 does not trigger subscription started event3989 when no dates are changed3990 does not reset seats attributes3991 when max_seats_used_changed_at is not set3992 does not reset seats attributes3993 when max_seats_used_changed_at is on the start_date3994 does not reset seats attributes3995 when max_seats_used_changed_at is before the start_date3996 behaves like resets seats3997 resets seats attributes3998 with an active trial3999 resets seats when upgrading to a paid plan4000 does not reset seats when downgrading to a free plan4001 when starting a trial with an expired subscription4002 when max_seats_used_changed_at has never been set4003 behaves like does not reset seat statistics4004 does not reset seat statistics4005 when max_seats_used_changed_at has been set4006 behaves like does not reset seat statistics4007 does not reset seat statistics4008 after_destroy_commit4009 logs previous state to gitlab subscription history4010 .yield_long_expired_indexed_namespaces4011 yields ElasticsearchIndexedNamespace that belong to subscriptions that expired over a week ago4012 #trial_extended_or_reactivated?4013 trial_extension_type: nil, extended_or_reactivated: false4014 is expected to equal false4015 trial_extension_type: 1, extended_or_reactivated: true4016 is expected to equal true4017 trial_extension_type: 2, extended_or_reactivated: true4018 is expected to equal true4019 #legacy?4020 when a subscription was purchased before the EoA rollout date4021 is expected to be truthy4022 when a subscription was purchased on the EoA rollout date4023 is expected to be falsey4024 when a subscription was purchased after the EoA rollout date4025 is expected to be falsey4026Ci::Minutes::EmailNotificationService4027 #execute4028 monthly_minutes_limit: 1000, minutes_used: 500, current_notification_level: 100, new_notification_level: 100, result: [false]4029 when on personal namespace4030 behaves like matches the expectations4031 matches the expectation on the email sent4032 matches the updated notification level4033 when on group4034 behaves like matches the expectations4035 matches the expectation on the email sent4036 matches the updated notification level4037 monthly_minutes_limit: 1000, minutes_used: 800, current_notification_level: 100, new_notification_level: 30, result: [true, 30]4038 when on personal namespace4039 behaves like matches the expectations4040 matches the expectation on the email sent4041 matches the updated notification level4042 when on group4043 behaves like matches the expectations4044 matches the expectation on the email sent4045 matches the updated notification level4046 monthly_minutes_limit: 1000, minutes_used: 800, current_notification_level: 30, new_notification_level: 30, result: [false]4047 when on personal namespace4048 behaves like matches the expectations4049 matches the expectation on the email sent4050 matches the updated notification level4051 when on group4052 behaves like matches the expectations4053 matches the expectation on the email sent4054 matches the updated notification level4055 monthly_minutes_limit: 1000, minutes_used: 950, current_notification_level: 100, new_notification_level: 5, result: [true, 5]4056 when on personal namespace4057 behaves like matches the expectations4058 matches the expectation on the email sent4059 matches the updated notification level4060 when on group4061 behaves like matches the expectations4062 matches the expectation on the email sent4063 matches the updated notification level4064 monthly_minutes_limit: 1000, minutes_used: 950, current_notification_level: 30, new_notification_level: 5, result: [true, 5]4065 when on personal namespace4066 behaves like matches the expectations4067 matches the expectation on the email sent4068 matches the updated notification level4069 when on group4070 behaves like matches the expectations4071 matches the expectation on the email sent4072 matches the updated notification level4073 monthly_minutes_limit: 1000, minutes_used: 950, current_notification_level: 5, new_notification_level: 5, result: [false]4074 when on personal namespace4075 behaves like matches the expectations4076 matches the expectation on the email sent4077 matches the updated notification level4078 when on group4079 behaves like matches the expectations4080 matches the expectation on the email sent4081 matches the updated notification level4082 monthly_minutes_limit: 1000, minutes_used: 1000, current_notification_level: 100, new_notification_level: 0, result: [true, 0]4083 when on personal namespace4084 behaves like matches the expectations4085 matches the expectation on the email sent4086 matches the updated notification level4087 when on group4088 behaves like matches the expectations4089 matches the expectation on the email sent4090 matches the updated notification level4091 monthly_minutes_limit: 1000, minutes_used: 1000, current_notification_level: 30, new_notification_level: 0, result: [true, 0]4092 when on personal namespace4093 behaves like matches the expectations4094 matches the expectation on the email sent4095 matches the updated notification level4096 when on group4097 behaves like matches the expectations4098 matches the expectation on the email sent4099 matches the updated notification level4100 monthly_minutes_limit: 1000, minutes_used: 1000, current_notification_level: 5, new_notification_level: 0, result: [true, 0]4101 when on personal namespace4102 behaves like matches the expectations4103 matches the expectation on the email sent4104 matches the updated notification level4105 when on group4106 behaves like matches the expectations4107 matches the expectation on the email sent4108 matches the updated notification level4109 monthly_minutes_limit: 1000, minutes_used: 1001, current_notification_level: 5, new_notification_level: 0, result: [true, 0]4110 when on personal namespace4111 behaves like matches the expectations4112 matches the expectation on the email sent4113 matches the updated notification level4114 when on group4115 behaves like matches the expectations4116 matches the expectation on the email sent4117 matches the updated notification level4118 monthly_minutes_limit: 1000, minutes_used: 1000, current_notification_level: 0, new_notification_level: 0, result: [false]4119 when on personal namespace4120 behaves like matches the expectations4121 matches the expectation on the email sent4122 matches the updated notification level4123 when on group4124 behaves like matches the expectations4125 matches the expectation on the email sent4126 matches the updated notification level4127 monthly_minutes_limit: 0, minutes_used: 1000, current_notification_level: 100, new_notification_level: 100, result: [false]4128 when on personal namespace4129 behaves like matches the expectations4130 matches the expectation on the email sent4131 matches the updated notification level4132 when on group4133 behaves like matches the expectations4134 matches the expectation on the email sent4135 matches the updated notification level4136Gitlab::GitAccessProject4137 storage size restrictions4138 when namespace storage limits are enforced for a namespace4139 when GIT_OBJECT_DIRECTORY_RELATIVE env var is set4140 when namespace storage size is below the limit4141 when repository size is below the limit4142 when quarantine size exceeds the namespace storage limit4143 rejects the push4144 when quarantine size does not exceed the namespace storage limit4145 behaves like a push to repository below the limit4146 when trying to authenticate the user4147 does not raise an error4148 when pushing a new branch4149 accepts the push4150 when quarantine size exactly equals the remaining namespace storage space4151 behaves like a push to repository below the limit4152 when trying to authenticate the user4153 does not raise an error4154 when pushing a new branch4155 accepts the push4156 when quarantine size exceeds the repository storage limit but not the namespace storage limit4157 behaves like a push to repository below the limit4158 when trying to authenticate the user4159 does not raise an error4160 when pushing a new branch4161 accepts the push4162 when repository size is above the limit4163 when quarantine size exceeds the namespace storage limit4164 rejects the push4165 when quarantine size does not exceed the namespace storage limit4166 behaves like a push to repository below the limit4167 when trying to authenticate the user4168 does not raise an error4169 when pushing a new branch4170 accepts the push4171 when namespace storage size is above the limit4172 when repository size is below the limit4173 when quarantine size does not exceed the repository storage limit4174 behaves like a push to repository over the limit4175 rejects the push4176 when deleting a branch4177 accepts the operation4178 when repository size is above the limit4179 behaves like a push to repository over the limit4180 rejects the push4181 when deleting a branch4182 accepts the operation4183 when namespace storage size limit is not set4184 when the repository size is below the limit4185 behaves like a push to repository below the limit4186 when trying to authenticate the user4187 does not raise an error4188 when pushing a new branch4189 accepts the push4190 when GIT_OBJECT_DIRECTORY_RELATIVE env var is not set4191 when namespace storage size is below the limit4192 when repository size is below the limit4193 when new change size exceeds the namespace storage limit4194 rejects the push4195 when new change size does not exceed the namespace storage limit4196 accepts the push4197 when new change size exceeds the repository storage limit but not the namespace storage limit4198 accepts the push4199 when repository size is above the limit4200 when new change size exceeds the namespace storage limit4201 rejects the push4202 when new change size does not exceed the namespace storage limit4203 accepts the push4204 when namespace storage size is above the limit4205 when repository size is below the limit4206 when new change size does not exceed the repository storage limit4207 behaves like a push to repository over the limit4208 rejects the push4209 when deleting a branch4210 accepts the operation4211 when repository size is above the limit4212 behaves like a push to repository over the limit4213 rejects the push4214 when deleting a branch4215 accepts the operation4216 when namespace storage size limit is not set4217 when the repository size is below the limit4218 behaves like a push to repository below the limit4219 when trying to authenticate the user4220 does not raise an error4221 when pushing a new branch4222 accepts the push4223 when pushing to a subgroup project4224 when the root namespace storage size is above the limit4225 when the project repository is below the limit4226 behaves like a push to repository over the limit4227 rejects the push4228 when deleting a branch4229 accepts the operation4230 #check_download_access!4231 project downloads check for user ban4232 when user is banned from the project's top-level group4233 is expected to raise Gitlab::GitAccess::ForbiddenError4234 when user is not banned from the project's top-level group4235 is expected not to raise Exception4236Ci::BuildPolicy4237 #update_build?4238 behaves like protected environments access4239 when Protected Environments feature is not available in the project4240 access_level: :guest, result: false4241 is expected to eq false4242 access_level: :reporter, result: false4243 is expected to eq false4244 access_level: :developer, result: true4245 is expected to eq true4246 access_level: :maintainer, result: true4247 is expected to eq true4248 access_level: :admin, result: true4249 is expected to eq true4250 when Protected Environments feature is available in the project4251 when environment is protected with project-level protection4252 behaves like authorize correctly per access type4253 when user does not have access to the environment4254 access_level: :guest, result: false4255 is expected to eq false4256 access_level: :reporter, result: false4257 is expected to eq false4258 access_level: :developer, result: false4259 is expected to eq false4260 access_level: :maintainer, result: false4261 is expected to eq false4262 access_level: :admin, result: true4263 is expected to eq true4264 when user has access to the environment4265 access_level: :reporter, result: true4266 is expected to eq true4267 access_level: :developer, result: true4268 is expected to eq true4269 access_level: :maintainer, result: true4270 is expected to eq true4271 access_level: :admin, result: true4272 is expected to eq true4273 when the user has access via a group4274 is expected to eq true4275 when environment is protected with group-level protection4276 behaves like authorize correctly per access type4277 when user does not have access to the environment4278 access_level: :guest, result: false4279 is expected to eq false4280 access_level: :reporter, result: false4281 is expected to eq false4282 access_level: :developer, result: false4283 is expected to eq false4284 access_level: :maintainer, result: false4285 is expected to eq false4286 access_level: :admin, result: true4287 is expected to eq true4288 when user has access to the environment4289 access_level: :reporter, result: true4290 is expected to eq true4291 access_level: :developer, result: true4292 is expected to eq true4293 access_level: :maintainer, result: true4294 is expected to eq true4295 access_level: :admin, result: true4296 is expected to eq true4297 when the user has access via a group4298 is expected to eq true4299 when environment is not protected4300 access_level: :guest, result: false4301 is expected to eq false4302 access_level: :reporter, result: false4303 is expected to eq false4304 access_level: :developer, result: true4305 is expected to eq true4306 access_level: :maintainer, result: true4307 is expected to eq true4308 access_level: :admin, result: true4309 is expected to eq true4310ApprovalRules::UpdateService4311 when target is project4312 behaves like editable4313 basic update action4314 updates approval, excluding non-eligible users and groups4315 tracks update event via a usage counter4316 when some users and groups are eligible4317 creates and includes eligible users and groups4318 when existing groups are inaccessible to user4319 when remove_hidden_groups is false4320 preserves inaccessible groups4321 when remove_hidden_groups is not specified4322 removes inaccessible groups4323 when remove_hidden_groups is true4324 removes inaccessible groups4325 when validation fails4326 returns error message4327 when user does not have right to edit4328 returns error message4329 when protected_branch_ids param is present4330 and multiple approval rules is enabled4331 associates the approval rule to the protected branch4332 but user cannot administer project4333 does not associate the approval rule to the protected branch4334 but protected branch is for another project4335 does not associate the approval rule to the protected branch4336 and multiple approval rules is disabled4337 does not associate the approval rule to the protected branch4338 audit events4339 when licensed4340 when rule update operation succeeds4341 logs an audit event4342 audits the number of required approvals change4343 audits the group addition to approval group4344 audits the group removal from approval group4345 audits the user addition to approval group4346 audits the user removal from approval group4347 behaves like sends correct event type in audit event stream4348 sends correct event type in audit event stream4349 when rule update operation fails4350 does not log any audit event4351 when not licensed4352 does not log any audit event4353 when target is merge request4354 behaves like editable4355 basic update action4356 updates approval, excluding non-eligible users and groups4357 tracks update event via a usage counter4358 when some users and groups are eligible4359 creates and includes eligible users and groups4360 when existing groups are inaccessible to user4361 when remove_hidden_groups is false4362 preserves inaccessible groups4363 when remove_hidden_groups is not specified4364 removes inaccessible groups4365 when remove_hidden_groups is true4366 removes inaccessible groups4367 when validation fails4368 returns error message4369 when user does not have right to edit4370 returns error message4371Environment4372 is expected to have many dora_daily_metrics4373 .deployed_to_cluster4374 when there is no deployment4375 returns nothing4376 when there is a deployment for the cluster4377 returns the environment for the last deployment4378 when there is a non-cluster deployment4379 returns nothing4380 when the non-cluster deployment is latest4381 returns nothing4382 #protected?4383 when Protected Environments feature is not available on the project4384 is expected to be falsy4385 when Protected Environments feature is available on the project4386 when the environment is protected4387 is expected to be truthy4388 when the environment is not protected4389 is expected to be falsy4390 #protected_from?4391 when Protected Environments feature is not available on the project4392 is expected to be falsy4393 when Protected Environments feature is available on the project4394 when the environment is not protected4395 is expected to be falsy4396 when the user is nil4397 is expected to be truthy4398 when environment is protected and user dont have access to it4399 is expected to be truthy4400 when environment is protected and user have access to it4401 is expected to be falsy4402 caches result4403 #protected_by?4404 when Protected Environments feature is not available on the project4405 is expected to be falsy4406 when Protected Environments feature is available on the project4407 when the environment is not protected4408 is expected to be falsy4409 when the user is nil4410 is expected to be falsy4411 when environment is protected and user dont have access to it4412 is expected to be falsy4413 when environment is protected and user have access to it4414 is expected to be truthy4415 #without_protected4416 when protected by project4417 is expected to be empty4418 when protected by group4419 is expected to be empty4420 #reactive_cache_updated4421 expires the environments path for the project4422 with a group cluster4423 expires the environments path for the group cluster4424 with an instance cluster4425 expires the environments path for the group cluster4426 #needs_approval?4427 when Protected Environments feature is available4428 with unified access level4429 with some approvals required4430 is expected to be truthy4431 with no approvals required4432 is expected to be falsey4433 with multi access levels4434 with some approvals required4435 is expected to be truthy4436 with no approvals required4437 is expected to be falsey4438 when Protected Environments feature is not available4439 is expected to be falsey4440 #required_approval_count4441 when Protected Environments feature is not available4442 is expected to eq 04443 when Protected Environments feature is available4444 and no associated protected environments exist4445 is expected to eq 04446 with unified approval setting4447 with one associated protected environment4448 returns the required_approval_count of the protected environment4449 with multiple associated protected environments4450 returns the highest required_approval_count of the protected environments4451 with multiple approval rules4452 returns the sum of required approvals for all approval rules4453 #has_approval_rules?4454 is expected to eq false4455 with approval rules4456 is expected to eq true4457 #find_approval_rule_for4458 is expected to be nil4459 with approval rules4460 when user belongs to QA group4461 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 5, protected_environment_id: 79, user_id: nil, group_id: 28...6-02 06:47:45.125748503 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>4462 when user belongs to Security group4463 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 8, protected_environment_id: 79, user_id: nil, group_id: 28...6-02 06:47:45.227673008 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>4464 when user belongs to both groups4465 returns one of the rules4466 when represented as QA group4467 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 11, protected_environment_id: 79, user_id: nil, group_id: 2...6-02 06:47:45.415527181 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>4468 when represented as Security group4469 is expected to eq #<ProtectedEnvironments::ApprovalRule id: 14, protected_environment_id: 79, user_id: nil, group_id: 2...6-02 06:47:45.512132046 +0000", access_level: nil, required_approvals: 1, group_inheritance_type: 0>4470ProjectsHelper4471 default_clone_protocol4472 when gitlab.config.kerberos is enabled and user is logged in4473 returns krb5 as default protocol4474 #can_admin_project_member?4475 when membership is not locked4476 returns true when membership is not locked4477 when membership is locked4478 returns false when membership is locked4479 #show_compliance_framework_badge?4480 when feature is licensed4481 returns false if compliance framework setting is not present4482 returns true if compliance framework setting is present4483 when feature is unlicensed4484 returns false if compliance framework setting is not present4485 returns false if compliance framework setting is present4486 #membership_locked?4487 when project has no group4488 is false4489 with group_membership_lock enabled4490 is true4491 with global LDAP membership lock enabled4492 and group membership_lock disabled4493 is true4494 with SAML membership lock enabled and group membership_lock disabled4495 is true4496 #group_project_templates_count4497 is expected to eq 14498 when template project is pending deletion4499 is expected to eq 04500 #project_security_dashboard_config4501 project without vulnerabilities4502 is expected to match {:has_vulnerabilities=>"false", :has_jira_vulnerabilities_integration_enabled=>"true", :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :operational_configuration_path=>"/group481/project-794/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :project_full_path=>"group481/project-794", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/empty-state/empty-search-md-"), :security_configuration_path=>(end with "/configuration"), :can_admin_vulnerability=>"true", :new_vulnerability_path=>(end with "/security/vulnerabilities/new")}4503 project with vulnerabilities4504 with related_url_root set4505 is expected to match {:has_vulnerabilities=>"true", :has_jira_vulnerabilities_integration_enabled=>"true", :project=>{:id=>762, :name=>"Project-794 Name"}, :project_full_path=>"group481/project-794", :vulnerabilities_export_endpoint=>"/gitlab/api/v4/security/projects/762/vulnerability_exports", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/empty-state/empty-search-md-"), :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard-empty-state"), :operational_configuration_path=>"/group481/project-794/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :new_project_pipeline_path=>"/group481/project-794/-/pipelines/new", :auto_fix_mrs_path=>(end with "/merge_requests?label_name=GitLab-auto-fix"), :scanners=>"[{\"id\":123,\"vendor\":\"Security Vendor\",\"report_type\":\"SAST\"}]", :can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :security_configuration_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007ff5857b5db8 @klass=String>, :new_vulnerability_path=>(end with "/security/vulnerabilities/new")}4506 without pipeline4507 is expected to match {:has_vulnerabilities=>"true", :has_jira_vulnerabilities_integration_enabled=>"true", :project=>{:id=>762, :name=>"Project-794 Name"}, :project_full_path=>"group481/project-794", :vulnerabilities_export_endpoint=>"/api/v4/security/projects/762/vulnerability_exports", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/empty-state/empty-search-md-"), :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard-empty-state"), :operational_configuration_path=>"/group481/project-794/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :new_project_pipeline_path=>"/group481/project-794/-/pipelines/new", :auto_fix_mrs_path=>(end with "/merge_requests?label_name=GitLab-auto-fix"), :scanners=>"[{\"id\":123,\"vendor\":\"Security Vendor\",\"report_type\":\"SAST\"}]", :can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :security_configuration_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007ff5c6686578 @klass=String>, :new_vulnerability_path=>(end with "/security/vulnerabilities/new")}4508 with pipeline4509 is expected to match {:has_vulnerabilities=>"true", :has_jira_vulnerabilities_integration_enabled=>"true", :project=>{:id=>762, :name=>"Project-794 Name"}, :project_full_path=>"group481/project-794", :vulnerabilities_export_endpoint=>"/api/v4/security/projects/762/vulnerability_exports", :no_vulnerabilities_svg_path=>(start with "/assets/illustrations/empty-state/empty-search-md-"), :empty_state_svg_path=>(start with "/assets/illustrations/security-dashboard-empty-state"), :operational_configuration_path=>"/group481/project-794/-/security/policies/new", :security_dashboard_empty_svg_path=>(start with "/assets/illustrations/security-dashboard_empty"), :new_project_pipeline_path=>"/group481/project-794/-/pipelines/new", :auto_fix_mrs_path=>(end with "/merge_requests?label_name=GitLab-auto-fix"), :scanners=>"[{\"id\":123,\"vendor\":\"Security Vendor\",\"report_type\":\"SAST\"}]", :can_admin_vulnerability=>"true", :can_view_false_positive=>"false", :security_configuration_path=>#<RSpec::Mocks::ArgumentMatchers::KindOf:0x00007ff5acfa27e8 @klass=String>, :new_vulnerability_path=>(end with "/security/vulnerabilities/new"), :pipeline=>{:id=>1047, :path=>"/group481/project-794/-/pipelines/1047", :created_at=>"1881-05-19T00:00:00Z", :has_warnings=>"true", :has_errors=>"false", :security_builds=>{:failed=>{:count=>0, :path=>"/group481/project-794/-/pipelines/1047/failures"}}}}4510 #show_discover_project_security?4511 gitlab_com?: true, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: true4512 returns the expected value4513 gitlab_com?: true, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: false4514 returns the expected value4515 gitlab_com?: true, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: true4516 returns the expected value4517 gitlab_com?: true, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: false4518 returns the expected value4519 gitlab_com?: true, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: true4520 returns the expected value4521 gitlab_com?: true, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: false4522 returns the expected value4523 gitlab_com?: true, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: true4524 returns the expected value4525 gitlab_com?: true, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: false4526 returns the expected value4527 gitlab_com?: false, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: true4528 returns the expected value4529 gitlab_com?: false, user?: true, security_dashboard_feature_available?: true, can_admin_namespace?: false4530 returns the expected value4531 gitlab_com?: false, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: true4532 returns the expected value4533 gitlab_com?: false, user?: true, security_dashboard_feature_available?: false, can_admin_namespace?: false4534 returns the expected value4535 gitlab_com?: false, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: true4536 returns the expected value4537 gitlab_com?: false, user?: false, security_dashboard_feature_available?: true, can_admin_namespace?: false4538 returns the expected value4539 gitlab_com?: false, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: true4540 returns the expected value4541 gitlab_com?: false, user?: false, security_dashboard_feature_available?: false, can_admin_namespace?: false4542 returns the expected value4543 #show_ultimate_feature_removal_banner?4544 when the banner should be shown4545 feature_flag_enabled: false, is_com: false, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4546 shows the banner4547 feature_flag_enabled: true, is_com: false, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4548 shows the banner4549 feature_flag_enabled: true, is_com: true, is_public: false, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4550 shows the banner4551 feature_flag_enabled: true, is_com: true, is_public: true, is_free: false, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4552 shows the banner4553 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: false, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4554 shows the banner4555 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: true, legacy_open_source_license_available: true, should_show_banner: false4556 shows the banner4557 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: false, legacy_open_source_license_available: true, should_show_banner: false4558 shows the banner4559 feature_flag_enabled: true, is_com: true, is_public: true, is_free: true, is_member: true, user_dismissed_banner: false, legacy_open_source_license_available: false, should_show_banner: true4560 shows the banner4561 #remove_project_message4562 when project has delayed deletion enabled4563 is expected to eq "Deleting a project places it into a read-only state until 2023-06-09, at which point the project will be permanently deleted. Are you ABSOLUTELY sure?"4564 when project has delayed deletion disabled4565 is expected to eq "You are going to delete Sidney Jones1674 / Project-784 Name. Deleted projects CANNOT be restored! Are you ABSOLUTELY sure?"4566 #marked_for_removal_message4567 when project has delayed deletion feature4568 is expected to eq "This action deletes <code>namespace722/project-784</code> on 2023-06-09 and everything this project contains."4569 when project does not have delayed deletion feature4570 is expected to eq "This action deletes <code>namespace722/project-784</code> on 2023-06-09 and everything this project contains. <strong>There is no going back.</strong>"4571 #scheduled_for_deletion?4572 when project is NOT scheduled for deletion4573 is expected to equal false4574 when project is scheduled for deletion4575 is expected to equal true4576 #project_permissions_settings4577 is expected to include {:requirementsAccessLevel => 20, :securityAndComplianceAccessLevel => 10}4578 cveIdRequestEnabled4579 project_attrs: [:public], expected: true4580 has the correct cveIdRequestEnabled value4581 project_attrs: [:internal], expected: false4582 has the correct cveIdRequestEnabled value4583 project_attrs: [:private], expected: false4584 has the correct cveIdRequestEnabled value4585 #project_permissions_panel_data4586 is expected to include {:requirementsAvailable => false}4587 if in Gitlab.com4588 is_gitlab_com: true4589 sets requestCveAvailable to the correct value4590 is_gitlab_com: false4591 sets requestCveAvailable to the correct value4592 #approvals_app_data4593 returns the correct data4594 #status_checks_app_data4595 returns the correct data4596 #project_compliance_framework_app_data4597 when the user cannot edit4598 returns the correct data4599 when the user can edit4600 includes the framework edit path4601 #remote_mirror_setting_enabled?4602 when ci_cd_projects licensed feature is enabled4603 when there are import sources4604 when application setting mirror_available is enabled4605 is true4606 when application setting mirror_available is disabled4607 is false4608 when ci_cd_projects licensed feature is disabled4609 is false4610 #http_clone_url_to_repo4611 is expected to eq "http://localhost/geonode_url"4612 #ssh_clone_url_to_repo4613 is expected to eq "git@localhost/geonode_url"4614 #project_transfer_app_data4615 returns expected hash4616Integrations::Github4617 default values4618 is expected to eq true4619 behaves like Integrations::ResetSecretFields4620 #exposing_secrets_fields4621 returns an array of strings4622 #reset_secret_fields?4623 returns false if no exposing field has changed4624 returns true if any exposing field has changed4625 validation callback4626 when an exposing field has changed4627 clears all secret fields4628 when a secret field has been updated4629 does not clear this secret field4630 when a secret field has been updated with the same value4631 does not clear this secret field4632 when no exposing field has changed4633 does not clear any secret fields4634 Associations4635 is expected to belong to project required: false4636 Validations4637 when base_url is a localhost url4638 #valid?4639 is not valid4640 #owner4641 is determined from the repo URL4642 #repository_name4643 is determined from the repo URL4644 #api_url4645 uses github.com by default4646 with GitHub Enterprise repo URL4647 is set to the Enterprise API URL4648 #help4649 links to mirroring settings4650 #properties4651 does not overwrite existing integrations4652 when initialized without properties4653 static_context defaults to true4654 when initialized with static_context as false4655 static_context remains false4656 when initialized with static_context as false4657 static_context remains false4658 #execute4659 notifies GitHub of a status change4660 uses StatusMessage to build message4661 uses GitHub API to update status4662 the integration is invalid4663 does not notify GitHub of a status change4664 passes StatusMessage values to StatusNotifier4665 sha4666 status4667 context4668 target_url4669 description4670 with custom api endpoint4671 hands custom api url to StatusNotifier4672 when an external pull request pipeline exists4673 does not send notification4674 sends notification if the sha is not present4675 when the pipeline is an external pull request pipeline4676 sends notification4677 logs result of GitHub API call without the "creator" section and "avatar_url" field4678 without a license4679 does nothing4680 #testable?4681 is false if there are no pipelines4682 is true if the project has a pipeline4683 #test4684 mentions creator in success message4685 forwards failure message on error4686 without a license4687 fails gracefully4688layouts/nav/sidebar/_project4689 Learn GitLab4690 has a link to the learn GitLab4691 Repository4692 Files4693 has a link to the project file locks path4694 Issues4695 Iterations4696 has a link to the iteration cadences path4697 Jira4698 when Jira service integration is not set4699 does not have a link to the Jira issues menu4700 when Jira service integration is set4701 has a link to Jira issues list4702 has an external link to open Jira4703 Requirements4704 has a link to the requirements page4705 CI/CD4706 Test cases4707 has a link to the test cases page4708 when license feature :quality_management is not enabled4709 does not have a link to the test cases page4710 Security and Compliance4711 when user does not have permissions4712 top level navigation link is not visible4713 when user has permissions4714 top level navigation link is visible4715 security dashboard link is visible4716 security vulnerability report link is visible4717 security on demand scans link is visible4718 dependency list link is visible4719 license compliance link is visible4720 policies link is visible4721 security configuration link is visible4722 audit events link is visible4723 Operations4724 On-call schedules4725 has a link to the on-call schedules page4726 when the user does not have access4727 does not have a link to the on-call schedules page4728 Escalation Policies4729 has a link to the escalation policies page4730 when the user does not have access4731 does not have a link to the escalation policies page4732 Analytics4733 Code Review4734 has a link to the Code Review analytics page4735 when user does not have access4736 does not have a link to the Code Review analytics page4737 Insights4738 has a link to the Insights analytics page4739 when user does not have access4740 does not have a link to the Insights analytics page4741 Issue4742 has a link to the issue analytics page4743 when user does not have access4744 does not have a link to the issue analytics page4745 Merge request4746 has a link to the merge request analytics page4747 when user does not have access4748 does not have a link to the merge request analytics page4749 Settings4750 Monitor4751 links to settings page4752 when user is not authorized4753 does not display the link4754Elastic::Latest::UserClassProxy4755 # order random4756 #elastic_search4757 calls ApplicationClassProxy.search once4758 methods being called4759 calls fuzzy_query_hash, namespace_query and forbidden_states_filter4760 when the query contains simple query string syntax characters4761 calls basic_query_hash, namespace_query and forbidden_states_filter4762 when the query does not contain simple query string syntax characters4763 query4764 has fuzzy queries and filters for forbidden state4765 with admin passed in arguments4766 does not have the forbidden state filter and includes email for the query search4767 with count_only passed in arguments4768 only has filters4769 when the query contains simple query string syntax characters4770 query4771 has a simple query string and filters for forbidden state4772 #namespace_query4773 returns musts if no groups or projects are passed in4774 with a project4775 has a terms query with the full ancestry and its namespace4776 when the project belongs to a group with an ancestor4777 has a terms query with the full ancestry and individual parts of the ancestry4778 with a group4779 has a prefix query with the group ancestry4780 when the group has a parent group4781 has a prefix query with the group ancestry and a terms query with the parent group ancestry4782 #forbidden_states_filter4783 has a term with forbidden_state eq false4784 when use_base_class_in_proxy_util is disabled4785 has a term with forbidden_state eq false4786 when the user is an admin4787 returns filters so that users are returned regardless of state4788UpdateAllMirrorsWorker4789 behaves like worker with data consistency4790 .get_data_consistency_feature_flag_enabled?4791 returns true4792 .get_data_consistency4793 returns correct data consistency4794 #perform4795 does nothing if the database is read-only4796 does not execute if cannot get the lease4797 removes metadata except correlation_id from the application context before scheduling mirrors4798 schedules mirrors4799 when updates were scheduled4800 waits until ProjectImportScheduleWorker job tracker returns 04801 sleeps a bit after scheduling mirrors4802 if capacity is available4803 reschedules the job4804 if no capacity is available4805 does not reschedule the job4806 when no updates were scheduled4807 does not reschedule the job4808 does not wait4809 #schedule_mirrors!4810 when the instance is unlicensed4811 does not schedule when project does not have repository mirrors available4812 when the instance is licensed4813 when capacity is in excess4814 schedules all available mirrors4815 when the instance checks namespace plans4816 when checking licenses on each record individually4817 when capacity is in excess4818 schedules all available mirrors4819 requests as many batches as necessary4820 does not schedule a mirror of an archived project4821 does not schedule a mirror of an pending_delete project4822 when capacity is exactly sufficient4823 schedules all available mirrors4824 requests as many batches as necessary4825 when capacity is insufficient4826 schedules mirrors by next_execution_timestamp4827 requests as many batches as necessary4828 when capacity is insufficient and the first batch is empty4829 schedules mirrors by next_execution_timestamp4830 requests as many batches as necessary4831Geo::WikiSyncService4832 behaves like geo base sync execution4833 #execute4834 when can acquire exclusive lease4835 executes the synchronization4836 when exclusive lease is not acquired4837 is does not execute synchronization4838 behaves like geo base sync fetch4839 #sync_repository4840 tells registry that sync will start now4841 #fetch_repository4842 cleans up temporary repository4843 syncs the HEAD ref4844 with existing repository4845 fetches repository from geo node4846 with a never synced repository4847 clones repository from geo node4848 behaves like reschedules sync due to race condition instead of waiting for backfill4849 #mark_sync_as_successful4850 when RepositoryUpdatedEvent was processed during a sync4851 reschedules the sync4852 #execute4853 with geo_project_wiki_repository_replication feature flag disabled4854 returns the lease when succeed4855 returns the lease when sync fail4856 does not fetch project repository if cannot obtain a lease4857 marks primary_wiki_checksummed as true when wiki has been verified on primary4858 marks primary_wiki_checksummed as false when wiki has not been verified on primary4859 with existing repository4860 fetches wiki repository with JWT credentials4861 voids the failure message when it succeeds after an error4862 rescues exception when Gitlab::Shell::Error is raised4863 rescues exception when Gitlab::Git::Repository::NoRepository is raised4864 increases retry count when Gitlab::Git::Repository::NoRepository is raised4865 marks sync as successful if no repository found4866 marks resync as true after a failure4867 wiki repository presumably exists on primary4868 increases retry count if no wiki repository found4869 tracking database4870 creates a new registry if does not exists4871 does not create a new registry if one exists4872 temporary repositories4873 there is a leftover repository4874 removes leftover repository4875 when repository sync succeed4876 sets last_wiki_synced_at4877 sets last_wiki_successful_sync_at4878 resets the wiki_verification_checksum_sha4879 resets the last_wiki_verification_failure4880 resets the wiki_checksum_mismatch4881 logs success with timings4882 when wiki sync fail4883 sets correct values for registry record4884 no Wiki repository4885 when redownloading4886 does not raise an error4887 when not redownloading4888 does not raise an error4889 behaves like sync retries use the snapshot RPC4890 snapshot synchronization method4891 when feature flag geo_deprecate_redownload is enabled4892 does not attempt to snapshot for initial sync4893 does not attempt to snapshot for ordinary retries4894 registry has many retries4895 does not attempt to snapshot4896 when feature flag geo_deprecate_redownload is disabled4897 does not attempt to snapshot for initial sync4898 does not attempt to snapshot for ordinary retries4899 registry is ready to be snapshotted4900 attempts to snapshot4901 attempts to clone if snapshotting raises an exception4902 when the repository is redownloaded4903 with geo_use_clone_on_first_sync flag disabled4904 creates a new repository and fetches with JWT credentials4905 cleans temporary repo after redownload4906 with geo_use_clone_on_first_sync flag enabled4907 clones a new repository with JWT credentials4908 cleans temporary repo after redownload4909 with geo_project_wiki_repository_replication feature flag enabled4910 does not fetch/clone the wiki repository4911Ci::SyncReportsToApprovalRulesService#execute4912 with code coverage rules4913 when pipeline is complete4914 and head pipeline coverage is lower than base pipeline coverage4915 won't lower approvals_required count4916 behaves like a successful execution4917 is successful4918 and head pipeline coverage is higher than base pipeline coverage4919 lowers approvals_required count4920 behaves like a successful execution4921 is successful4922 when MR is merged4923 won't change approvals_required count4924 behaves like a successful execution4925 is successful4926 and head pipeline coverage is the same as base pipeline coverage4927 lowers approvals_required count4928 behaves like a successful execution4929 is successful4930 and head pipeline does not have coverage4931 does not lower approvals_required count4932 behaves like a successful execution4933 is successful4934 when pipeline is incomplete4935 won't lower approvals_required count4936 behaves like a successful execution4937 is successful4938 when base pipeline is missing4939 lowers approvals_required count4940 behaves like a successful execution4941 is successful4942 when base pipeline does not have coverage4943 does not lower approvals_required count4944 behaves like a successful execution4945 is successful4946 license compliance policy4947 is expected not to change `license_compliance_rule.reload.approvals_required`4948 is expected to equal :success4949Geo::VerificationState4950 for Model classes4951 when verification state is stored in the model table4952-- create_table(:_test_dummy_models, {:force=>true})4953 -> 0.0049s4954 state machine4955 when failed4956 and transitioning to pending4957 marks verification as pending4958 does not clear retry attributes4959 .verification_pending_batch4960 returns IDs of rows pending verification4961 marks verification as started4962 limits with batch_size and orders records by verified_at with NULLs first4963 other verification states4964 does not include them4965 .verification_failed_batch4966 with a failed record with retry due4967 returns IDs of rows pending verification4968 marks verification as started4969 limits with batch_size and orders records by verification_retry_at with NULLs first4970 other verification states4971 does not include them4972 when verification_retry_at is in the future4973 does not return the row4974 .needs_verification4975 includes verification_pending4976 includes verification_failed and verification_retry_due4977 excludes verification_failed with future verification_retry_at4978 .needs_reverification4979 includes verification_succeeded with expired checksum4980 excludes non-success verification states and fresh checksums4981 .reverify_batch4982 sets pending status to records with outdated verification4983 limits the update with batch_size4984 .fail_verification_timeouts4985 when verification has not timed out for a record4986 does not update verification state4987 when verification has timed out for a record4988 sets verification state to failed4989 #track_checksum_attempt!4990 yields to the checksum calculation4991 when verification was not yet started4992 starts verification4993 sets verification_succeeded4994 when verification was started4995 does not update verification_started_at4996 when an error occurs while yielding4997 when the record was failed4998 sets verification_failed and increments verification_retry_count4999 when the yielded block returns nil5000 when the record was pending5001 sets verification_failed and sets verification_retry_count to 15002 when the record was failed5003 sets verification_failed and increments verification_retry_count5004 #verification_succeeded_with_checksum!5005 when the resource was updated during checksum calculation5006 sets state to pending5007 when the resource was not updated during checksum calculation5008 saves the checksum5009 primary node5010 calls replicator.handle_after_checksum_succeeded5011 secondary node5012 does not call replicator.handle_after_checksum_succeeded5013 #verification_failed_with_message!5014 saves the error message and increments retry counter5015 #verification_started!5016 flips the state to started state5017-- drop_table(:_test_dummy_models, {:force=>true})5018 -> 0.0025s5019 when verification state is stored in a separate table5020-- create_table(:_test_dummy_model_with_separate_states, {:force=>true})5021 -> 0.0034s5022-- create_table(:_test_dummy_model_states, {:id=>false, :force=>true})5023 -> 0.0037s5024 .fail_verification_timeouts5025 sets verification state to failed5026 #verification_started!5027 flips the state to started state without reseting/reloading the original object (only state record)5028-- drop_table(:_test_dummy_model_with_separate_states, {:force=>true})5029 -> 0.0018s5030-- drop_table(:_test_dummy_model_states, {:force=>true})5031 -> 0.0013s5032 for registry classes5033 .fail_verification_timeouts5034 sets verification state to failed5035 .verification_not_disabled5036 returns available verifiables, excluding verification_disabled5037 #verification_started!5038 flips the state to started state5039VulnerabilitiesHelper5040 #vulnerability_details5041 [:can_modify_related_issues]5042 with security dashboard feature enabled5043 when user can manage related issues5044 is expected to include {:can_modify_related_issues => true}5045 when user cannot manage related issues5046 is expected to include {:can_modify_related_issues => false}5047 with security dashboard feature disabled5048 is expected to include {:can_modify_related_issues => false}5049 [:can_admin]5050 when user can admin vulnerabilities5051 is expected to include {:can_admin => true}5052 when user can not admin vulnerabilities5053 is expected to include {:can_admin => false}5054 when pipeline exists5055 has expected vulnerability properties5056 returns expected pipeline data5057 when the issues are disabled for the project5058 has `new_issue_url` set as nil5059 when pipeline is nil5060 has expected vulnerability properties5061 returns no pipeline data5062 when the issues are disabled for the project5063 has `new_issue_url` set as nil5064 dismissal descriptions5065 includes translated dismissal descriptions5066 #create_jira_issue_url_for5067 with jira vulnerabilities integration enabled5068 when the given object is a vulnerability5069 delegates rendering URL to Integrations::Jira5070 when scan property is empty5071 renders description using dedicated template without raising error5072 when the given object is an unpersisted finding5073 delegates rendering URL to Integrations::Jira5074 when the given object is a Security::Finding5075 delegates rendering URL to Integrations::Jira5076 with jira vulnerabilities integration disabled5077 is expected to be nil5078 #vulnerability_finding_data5079 returns finding information5080 when there is no file5081 does not have a blob_path if there is no file5082 when deprecate_vulnerabilities_feedback is disabled5083 with existing dismissal feedback5084 returns dismissal feedback information5085 when deprecate_vulnerabilities_feedback is enabled5086 with existing vulnerability_state_transition, issue link and merge request link5087 returns finding link associations5088 returns dismissal feedback information5089 with markdown field for description5090 when vulnerability has no description and finding has description5091 returns finding information5092 when vulnerability has description and finding has description5093 returns finding information5094 #vulnerability_scan_data?5095 scanner present5096 is expected to be truthy5097 scan present5098 is expected to be truthy5099 neither scan nor scanner being present5100 is expected to be falsey5101Ci::CompareLicenseScanningReportsService5102 #execute5103 when loading data for multiple reports5104 loads the data efficiently5105 when head pipeline has license scanning reports5106 when the license_scanning_sbom_scanner feature flag is false5107 reports new licenses5108 when the license_scanning_sbom_scanner feature flag is true5109 when querying uncompressed package metadata5110 reports new licenses5111 when querying compressed package metadata5112 reports new licenses5113 when head pipeline has not run and base pipeline is for a forked project5114 when the license_scanning_sbom_scanner feature flag is false5115 reports new licenses5116 when the license_scanning_sbom_scanner feature flag is true5117 when querying uncompressed package metadata5118 reports new licenses5119 when querying compressed package metadata5120 reports new licenses5121 when base and head pipelines have test reports5122 when the license_scanning_sbom_scanner feature flag is false5123 reports status as parsed5124 reports new licenses5125 reports existing licenses5126 reports removed licenses5127 when the license_scanning_sbom_scanner feature flag is true5128 when querying uncompressed package metadata5129 reports status as parsed5130 reports new licenses5131 reports existing licenses5132 reports removed licenses5133 when querying compressed package metadata5134 reports status as parsed5135 reports new licenses5136 reports existing licenses5137 reports removed licenses5138 when pipelines have corrupted reports5139 when the license_scanning_sbom_scanner feature flag is false5140 when base and head pipeline have corrupted reports5141 does not expose parser errors5142 when the base pipeline is nil5143 does not expose parser errors5144ProjectCiCdSetting5145 #merge_pipelines_enabled?5146 when Merge pipelines (EEP) is available5147 is expected to be truthy5148 when project setting is disabled5149 is expected to be falsy5150 when Merge pipelines (EEP) is unavailable5151 is expected to be falsy5152 when project setting is disabled5153 is expected to be falsy5154 #merge_trains_enabled?5155 merge_pipelines_enabled: true, merge_trains_enabled: true, feature_available: true, expected_result: true5156 returns merge trains availability5157 merge_pipelines_enabled: true, merge_trains_enabled: false, feature_available: true, expected_result: false5158 returns merge trains availability5159 merge_pipelines_enabled: false, merge_trains_enabled: false, feature_available: true, expected_result: false5160 returns merge trains availability5161 merge_pipelines_enabled: false, merge_trains_enabled: true, feature_available: true, expected_result: false5162 returns merge trains availability5163 merge_pipelines_enabled: true, merge_trains_enabled: true, feature_available: false, expected_result: false5164 returns merge trains availability5165 merge_pipelines_enabled: true, merge_trains_enabled: false, feature_available: false, expected_result: false5166 returns merge trains availability5167 merge_pipelines_enabled: false, merge_trains_enabled: false, feature_available: false, expected_result: false5168 returns merge trains availability5169 #auto_rollback_enabled?5170 license_feature: true, actual_setting: true5171 is only enabled if set and both the license and the feature flag allows5172 license_feature: false, actual_setting: true5173 is only enabled if set and both the license and the feature flag allows5174 license_feature: true, actual_setting: true5175 is only enabled if set and both the license and the feature flag allows5176 license_feature: false, actual_setting: true5177 is only enabled if set and both the license and the feature flag allows5178 license_feature: true, actual_setting: false5179 is only enabled if set and both the license and the feature flag allows5180 license_feature: false, actual_setting: false5181 is only enabled if set and both the license and the feature flag allows5182 license_feature: true, actual_setting: false5183 is only enabled if set and both the license and the feature flag allows5184 license_feature: false, actual_setting: false5185 is only enabled if set and both the license and the feature flag allows5186 #merge_pipelines_were_disabled?5187 when merge pipelines option was enabled5188 when merge pipelines option is disabled5189 is expected to equal true5190 when merge pipelines option is intact5191 is expected to equal false5192 when merge pipelines option was disabled5193 when merge pipelines option is disabled5194 is expected to equal false5195 when merge pipelines option is intact5196 is expected to equal false5197Epics::RelatedEpicLinks::CreateService5198 #execute5199 behaves like issuable link creation5200 #execute5201 when the reference list is empty5202 returns error5203 when Issuable not found5204 returns error5205 no relationship is created5206 when user has no permission to target issuable5207 returns error5208 no relationship is created5209 source and target are the same issuable5210 does not create notes5211 no relationship is created5212 when there is an issuable to relate5213 creates relationships5214 returns success status and created links5215 creates notes5216 when reference of any already related issue is present5217 creates notes only for new relations5218 when there are invalid references5219 creates links only for valid references5220 returns error status5221 behaves like issuable link creation with blocking link_type5222 when is_blocked_by relation is used5223 creates `blocks` relation with swapped source and target5224 creates block and blocked_by notes with swapped issuables5225 when blocks relation is used5226 creates `blocks` relation5227 creates block and blocked_by notes5228 when related_epics is not available for target epic5229 creates relationships5230 event tracking5231 for relates_to link type5232 behaves like a recorded event5233 records event for each link created5234 for blocks link_type5235 behaves like a recorded event5236 records event for each link created5237 for is_blocked_by link_type5238 behaves like a recorded event5239 records event for each link created5240MergeRequests::MergeService5241 #execute5242 project has exceeded size limit5243 persists the correct error message5244 when the namespace storage limit has been exceeded5245 persists the correct error message5246 when the repository size limit has been exceeded, but the namespace storage limit has not5247 does not set an error message5248 when the namespace storage limit has been exceeded and the merge request is for a subgroup project5249 persists the correct error message5250 when the namespace is over the free user cap limit5251 persists the correct error message5252 when merge request rule exists5253 creates approved_approvers5254 with jira issue enforcement5255 prevent_merge: true, issue_specified: true, merged: true5256 sets the correct merged state and raises an error when applicable5257 prevent_merge: true, issue_specified: false, merged: false5258 sets the correct merged state and raises an error when applicable5259 prevent_merge: false, issue_specified: true, merged: true5260 sets the correct merged state and raises an error when applicable5261 prevent_merge: false, issue_specified: false, merged: true5262 sets the correct merged state and raises an error when applicable5263 behaves like merge validation hooks5264 returns true when valid5265 commit message validation for required characters5266 returns false and matches validation error5267 behaves like hook validations are skipped when push rules unlicensed5268 is expected to be truthy5269 commit message validation for forbidden characters5270 returns false and saves error when invalid5271 behaves like hook validations are skipped when push rules unlicensed5272 is expected to be truthy5273 authors email validation5274 returns false and saves error when invalid5275 validates against the commit email5276 behaves like hook validations are skipped when push rules unlicensed5277 is expected to be truthy5278 DCO signoff validation5279 behaves like hook validations are skipped when push rules unlicensed5280 is expected to be truthy5281 when a non DCO commit message is used5282 returns false and saves error when invalid5283 when a DCO compliant commit message is used5284 accepts the commit message5285 fast forward merge request5286 returns true when fast forward is enabled5287 behaves like squashing commits5288 and the project has a push rule for required characters5289 returns false and saves error when invalid5290 and the project has a push rule for forbidden characters5291 returns false and saves error when invalid5292 when the project uses the fast-forward merge method5293 behaves like squashing commits5294 and the project has a push rule for required characters5295 returns false and saves error when invalid5296 and the project has a push rule for forbidden characters5297 returns false and saves error when invalid5298Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute5299 # order random5300 when there is an existing vulnerability for the security finding5301 does not create a new Vulnerability, but creates a new MergeRequest, and a MergeRequestLink5302 returns a successful response5303 when user does not have permission to create merge request5304 propagates the error5305 when a error occurs during the merge request creation5306 behaves like an error occurs5307 propagates the error5308 does not create a new Vulnerability, MergeRequest, and MergeRequestLink5309 when a error occurs during the vulnerability creation5310 behaves like an error occurs5311 propagates the error (FAILED - 1)53131st Try error in ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:119:5314expected: "Security Finding not found"5315 got: "Unable to apply patch"5316(compared using ==)5318RSpec::Retry: 2nd try ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:1195319 does not create a new Vulnerability, MergeRequest, and MergeRequestLink5320 when a error occurs during the merge link creation5321 behaves like an error occurs5322 propagates the error (FAILED - 2)53241st Try error in ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:119:5325expected: "Merge request is already linked to this vulnerability"5326 got: "Unable to apply patch"5327(compared using ==)5329RSpec::Retry: 2nd try ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:1195330 does not create a new Vulnerability, MergeRequest, and MergeRequestLink5331 when user does not have permission to read_security_resource5332 raises an error5333 when there is no vulnerability for the security finding5334 does create a new Vulnerability, MergeRequest,and MergeRequestLink (FAILED - 3)53361st Try error in ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:109:5337 expected `project.vulnerabilities.count` to have changed by 1, but was changed by 05338 ...and:5339 expected `MergeRequest.count` to have changed by 1, but was changed by 05340...and:5341 expected `Vulnerabilities::MergeRequestLink.count` to have changed by 1, but was changed by 05343RSpec::Retry: 2nd try ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:1095344AppSec::Dast::SiteProfiles::UpdateService5345 #execute5346 when a user does not have access to the project5347 returns an error status5348 populates message5349 when the user can run a dast scan5350 returns a success status5351 updates the dast_site_profile5352 returns a dast_site_profile payload5353 audits the update5354 when the target url is nil5355 returns a success status5356 does not attempt to change the associated dast_site5357 when the dast_site_profile doesn't exist5358 returns an error status5359 populates message5360 when excluded_urls is nil5361 does not change excluded_urls5362 when excluded_urls is not supplied5363 does not change excluded_urls5364 when on demand scan licensed feature is not available5365 returns an error status5366 populates message5367 when request_headers are supplied5368 behaves like it handles secret variable updating5369 correctly sets the value5370 behaves like it handles secret variable updating failure5371 returns an error response5372 behaves like it handles secret variable deletion5373 when the input value is an empty string5374 deletes the variable5375 when the input value is absent5376 does not delete the secret variable5377 when auth_password is supplied5378 behaves like it handles secret variable updating5379 correctly sets the value5380 behaves like it handles secret variable updating failure5381 returns an error response5382 behaves like it handles secret variable deletion5383 when the input value is an empty string5384 deletes the variable5385 when the input value is absent5386 does not delete the secret variable5387 when project has security policies enabled5388 when there is no policy that is referencing the profile5389 returns a success status5390 when there is a policy that is referencing the profile5391 returns an error status5392 populates message5393Gitlab::Insights::Reducers::CountPerPeriodReducer5394 with no issues5395 returns no issuables5396 with open issues5397 raises an error for an unknown :period option5398 raises an error for an unknown :period_field option5399 raises an error for an unknown :period_limit option5400 returns issuables with only the needed fields5401 avoids N + 1 queries5402 with closed issues5403 returns issuables with only the needed fields5404 works when string `period_field` is passed5405 with opened merge requests5406 raises an error for an unknown :period_field option5407 returns issuables with only the needed fields5408 with merged merge requests5409 returns issuables with only the needed fields5410 with closed merge requests5411 returns issuables with only the needed fields5412Ci::CreatePipelineService#execute5413 CI/CD Quotas / Limits5414 when there are not limits enabled5415 enqueues a new pipeline5416 when pipeline size limit is exceeded5417 drops pipeline without creating jobs5418 cross-project pipeline triggers5419 creates bridge jobs correctly5420 when configured with rules5421 that include the bridge job5422 persists the bridge job5423 that exclude the bridge job5424 does not include the bridge job5425 job with secrets5426 persists secrets as job metadata5427 credit card requirement5428 when credit card is required5429 when project is on free plan5430 when user has credit card5431 behaves like creates a successful pipeline5432 creates a successful pipeline5433 when user does not have credit card5434 creates a pipeline with errors5435 when config is blank5436 does not create a pipeline5437 when feature flag is disabled5438 behaves like creates a successful pipeline5439 creates a successful pipeline5440 when credit card is not required5441 behaves like creates a successful pipeline5442 creates a successful pipeline5443Geo::RenameRepositoryService5444 #execute5445 does not move project backed by hashed storage5446 project backed by legacy storage5447 moves the project repositories5448 raises an error when project repository can not be moved5449 raises an error when wiki repository can not be moved5450 #async_execute5451 starts the worker5452 returns job id5453AddHashedRootNamespaceIdToMergeRequests5454 # order random5455 .migrate5456 when migration is already completed5457 does not modify data5458 migration process5459 updates the issues index mappings5460 .completed?5461 mapping has been updated5462 is expected to be completed5463 mapping has not been updated5464 is expected not to be completed5465DependencyProxy::Blob5466 # order random5467 #save_verification_details5468 when model record is not part of verifiables scope5469 does not create verification details5470 when model_record is part of verifiables scope5471 creates verification details5472 #replicables_for_current_secondary5473 object_storage_sync_enabled: true5474 without selective sync5475 includes everything5476 with selective sync5477 with namespaces5478 sync blobs in the group5479 does not sync blobs in other groups5480 with shards5481 syncs blobs associated with projects contained in the group5482 does not sync blobs not associated with projects outside the group5483 object_storage_sync_enabled: false5484 without selective sync5485 includes everything5486 with selective sync5487 with namespaces5488 sync blobs in the group5489 does not sync blobs in other groups5490 with shards5491 syncs blobs associated with projects contained in the group5492 does not sync blobs not associated with projects outside the group5493 .not_checksummed5494 returns records with given scope5495 .checksummed5496 returns records with given scope5497 .with_verification_state5498 returns records with given scope5499IncidentManagement::OncallSchedule5500 # order random5501 behaves like AtomicInternalId5502 .has_internal_id5503 Module inclusion5504 is expected to includes the AtomicInternalId module5505 Validation5506 when presence validation is required5507 when creating an object5508 raises an error if the internal id is blank5509 when updating an object5510 raises an error if the internal id is blank5511 when presence validation is not required5512 when creating an object5513 does not raise an error if the internal id is blank (PENDING: No reason given)5514 when updating an object5515 does not raise an error if the internal id is blank (PENDING: No reason given)5516 Creating an instance5517 saves a new instance properly5518 internal id generation5519 calls InternalId.generate_next and sets internal id attribute5520 does not overwrite an existing internal id5521 when the instance has an internal ID set5522 calls InternalId.update_last_value and sets the `last_value` to that of the instance5523 unsetting the instance internal id on rollback5524 when the internal id has been changed5525 when the internal id is automatically set5526 clears it on the instance5527 when the internal id is manually set5528 does not clear it on the instance5529 when the internal id has not been changed5530 preserves the value on the instance5531 supply of internal ids5532 provides a persistent supply of IID values, sensitive to the current state5533 #reset_scope_internal_id_attribute5534 rewinds the allocated IID5535 allocates the same IID5536 .for_iid5537 returns only records with that IID5538 scopes5539 .for_project5540 is expected to contain exactly #<IncidentManagement::OncallSchedule id: 11, created_at: "2023-06-02 06:51:40.116645204 +0000", updat...t_id: 911, iid: 1, name: "On-call Schedule #15", description: [FILTERED], timezone: "Europe/Berlin">5541 .validations5542 is expected to validate that :name cannot be empty/falsy5543 is expected to validate that the length of :name is at most 2005544 is expected to validate that the length of :description is at most 10005545 is expected to validate that :timezone cannot be empty/falsy5546 is expected to validate that :timezone is either ‹"Etc/GMT+12"›, ‹"Pacific/Pago_Pago"›, ‹"Pacific/Midway"›, ‹"Pacific/Honolulu"›, ‹"America/Juneau"›, ‹"America/Los_Angeles"›, ‹"America/Tijuana"›, ‹"America/Phoenix"›, ‹"America/Mazatlan"›, ‹"America/Denver"›, ‹"America/Guatemala"›, ‹"America/Chicago"›, ‹"America/Chihuahua"›, ‹"America/Mexico_City"›, ‹"America/Mexico_City"›, ‹"America/Monterrey"›, ‹"America/Regina"›, ‹"America/Bogota"›, ‹"America/New_York"›, ‹"America/Indiana/Indianapolis"›, ‹"America/Lima"›, ‹"America/Lima"›, ‹"America/Halifax"›, ‹"America/Caracas"›, ‹"America/Guyana"›, ‹"America/La_Paz"›, ‹"America/Puerto_Rico"›, ‹"America/Santiago"›, ‹"America/St_Johns"›, ‹"America/Sao_Paulo"›, ‹"America/Argentina/Buenos_Aires"›, ‹"America/Godthab"›, ‹"America/Montevideo"›, ‹"Atlantic/South_Georgia"›, ‹"Atlantic/Azores"›, ‹"Atlantic/Cape_Verde"›, ‹"Europe/London"›, ‹"Europe/Lisbon"›, ‹"Europe/London"›, ‹"Africa/Monrovia"›, ‹"Etc/UTC"›, ‹"Europe/Amsterdam"›, ‹"Europe/Belgrade"›, ‹"Europe/Berlin"›, ‹"Europe/Zurich"›, ‹"Europe/Bratislava"›, ‹"Europe/Brussels"›, ‹"Europe/Budapest"›, ‹"Africa/Casablanca"›, ‹"Europe/Copenhagen"›, ‹"Europe/Dublin"›, ‹"Europe/Ljubljana"›, ‹"Europe/Madrid"›, ‹"Europe/Paris"›, ‹"Europe/Prague"›, ‹"Europe/Rome"›, ‹"Europe/Sarajevo"›, ‹"Europe/Skopje"›, ‹"Europe/Stockholm"›, ‹"Europe/Vienna"›, ‹"Europe/Warsaw"›, ‹"Africa/Algiers"›, ‹"Europe/Zagreb"›, ‹"Europe/Zurich"›, ‹"Europe/Athens"›, ‹"Europe/Bucharest"›, ‹"Africa/Cairo"›, ‹"Africa/Harare"›, ‹"Europe/Helsinki"›, ‹"Asia/Jerusalem"›, ‹"Europe/Kaliningrad"›, ‹"Europe/Kiev"›, ‹"Africa/Johannesburg"›, ‹"Europe/Riga"›, ‹"Europe/Sofia"›, ‹"Europe/Tallinn"›, ‹"Europe/Vilnius"›, ‹"Asia/Baghdad"›, ‹"Europe/Istanbul"›, ‹"Asia/Kuwait"›, ‹"Europe/Minsk"›, ‹"Europe/Moscow"›, ‹"Africa/Nairobi"›, ‹"Asia/Riyadh"›, ‹"Europe/Moscow"›, ‹"Europe/Volgograd"›, ‹"Asia/Tehran"›, ‹"Asia/Muscat"›, ‹"Asia/Baku"›, ‹"Asia/Muscat"›, ‹"Europe/Samara"›, ‹"Asia/Tbilisi"›, ‹"Asia/Yerevan"›, ‹"Asia/Kabul"›, ‹"Asia/Yekaterinburg"›, ‹"Asia/Karachi"›, ‹"Asia/Karachi"›, ‹"Asia/Tashkent"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Kolkata"›, ‹"Asia/Colombo"›, ‹"Asia/Kathmandu"›, ‹"Asia/Almaty"›, ‹"Asia/Dhaka"›, ‹"Asia/Dhaka"›, ‹"Asia/Urumqi"›, ‹"Asia/Rangoon"›, ‹"Asia/Bangkok"›, ‹"Asia/Bangkok"›, ‹"Asia/Jakarta"›, ‹"Asia/Krasnoyarsk"›, ‹"Asia/Novosibirsk"›, ‹"Asia/Shanghai"›, ‹"Asia/Chongqing"›, ‹"Asia/Hong_Kong"›, ‹"Asia/Irkutsk"›, ‹"Asia/Kuala_Lumpur"›, ‹"Australia/Perth"›, ‹"Asia/Singapore"›, ‹"Asia/Taipei"›, ‹"Asia/Ulaanbaatar"›, ‹"Asia/Tokyo"›, ‹"Asia/Tokyo"›, ‹"Asia/Seoul"›, ‹"Asia/Tokyo"›, ‹"Asia/Yakutsk"›, ‹"Australia/Adelaide"›, ‹"Australia/Darwin"›, ‹"Australia/Brisbane"›, ‹"Australia/Melbourne"›, ‹"Pacific/Guam"›, ‹"Australia/Hobart"›, ‹"Australia/Melbourne"›, ‹"Pacific/Port_Moresby"›, ‹"Australia/Sydney"›, ‹"Asia/Vladivostok"›, ‹"Asia/Magadan"›, ‹"Pacific/Noumea"›, ‹"Pacific/Guadalcanal"›, ‹"Asia/Srednekolymsk"›, ‹"Pacific/Auckland"›, ‹"Pacific/Fiji"›, ‹"Asia/Kamchatka"›, ‹"Pacific/Majuro"›, ‹"Pacific/Auckland"›, ‹"Pacific/Chatham"›, ‹"Pacific/Tongatapu"›, ‹"Pacific/Apia"›, or ‹"Pacific/Fakaofo"›5547 when the oncall schedule with the same name exists5548 has validation errors5549 .associations5550 is expected to belong to project required: false5551 is expected to have many rotations inverse_of => schedule5552 is expected to have many participants through rotations5553EE::Mentionable5554 Epic5555 #store_mentions!5556 behaves like mentions in description5557 when storing user mentions5558 when mentionable description has no mentions5559 stores no mentions5560 when mentionable description contains mentions5561 stores mentions5562 behaves like mentions in notes5563 when mentionable notes contain mentions5564 returns all mentionable mentions5565 and note is confidential5566 returns only mentioned users that has permissions5567 load mentions5568 behaves like load mentions from DB5569 load stored mentions5570 when stored user mention contains ids of inexistent records5571 filters out inexistent mentions5572 and note is confidential5573 stores only mentioned users that has permissions5574 when private projects and groups are mentioned5575 when user has no access to some mentions5576 filters out inaccessible mentions5577 when user has access to all mentions5578 returns all mentions5579Gitlab::Auth::GroupSaml::MembershipUpdater5580 adds the user to the group5581 adds the member with the specified `default_membership_role`5582 doesn't duplicate group membership5583 doesn't overwrite existing membership level5584 logs an audit event5585 does not enqueue group sync5586 when SAML group links exist5587 when group sync is not available5588 does not enqueue group sync5589 when group sync is available5590 enqueues group sync5591 with a group link outside the top-level group5592 enqueues group sync without the outside group5593 when auth hash contains no groups5594 enqueues group sync5595 when auth hash groups do not match group links5596 enqueues group sync5597ApprovalWrappedAnyApproverRule5598 #approved?5599 #approvals_approvers5600 contains every approved user5601 when an author and a committer approved5602 does not contain an author5603 #commented_approvers5604 returns an array5605 returns an array of approvers who have commented5606Users::UpdateService5607 #execute5608 does not update email if an user has group managed account5609 does not update commit email if an user has group managed account5610 does not update public email if an user has group managed account5611 does not update notification email if an user has group managed account5612 updating name5613 when `disable_name_update_for_users` feature is available5614 when the ability to update their name is not disabled for users5615 behaves like a user can update the name5616 updates the name5617 when admin mode is enabled5618 behaves like a user can update the name5619 updates the name5620 when the ability to update their name is disabled for users5621 as a regular user5622 behaves like a user cannot update the name5623 does not update the name5624 when admin mode is enabled5625 behaves like a user can update the name5626 updates the name5627 when admin mode is disabled5628 behaves like a user cannot update the name5629 does not update the name5630 when force: true parameter is passed to service5631 updates the name5632 when `disable_name_update_for_users` feature is not available5633 behaves like a user can update the name5634 updates the name5635 when admin mode is enabled5636 behaves like a user can update the name5637 updates the name5638 when admin mode is disabled5639 behaves like a user cannot update the name5640 does not update the name5641 audit events5642 licensed5643 updating administrator status5644 logs making a user an administrator5645 logs making an administrator a user5646 updating username5647 logs audit event5648 with an admin user5649 allowed params5650 with identity5651 adds identity to user5652 adds two different identities to user5653PackageMetadata::Package5654 # order random5655 #license_ids_for5656 when licenses are present5657 and the given version exactly matches one of the versions in other licenses5658 returns the other licenses5659 and the given version does not match any of the versions in other licenses5660 returns the default licenses5661 when licenses are not present5662 test_case_name: "licenses are nil", licenses: nil5663 returns an empty array5664 test_case_name: "licenses are empty", licenses: []5665 returns an empty array5666 validation5667 is expected to validate that :purl_type cannot be empty/falsy5668 is expected to validate that the length of :name is at most 2555669 is expected to validate that :name cannot be empty/falsy5670 for licenses5671 when field is an empty array5672 is expected to be valid5673 with different field value permutations5674 test_case_name: "all valid", valid: true, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5675 is expected to eq true5676 test_case_name: "nil", valid: false, default_licenses: nil, lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5677 is expected to eq false5678 test_case_name: "string", valid: false, default_licenses: "s", lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5679 is expected to eq false5680 test_case_name: "array with string", valid: false, default_licenses: ["s"], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5681 is expected to eq false5682 test_case_name: "empty array", valid: false, default_licenses: [], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5683 is expected to eq false5684 test_case_name: "more than max items", valid: false, default_licenses: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5685 is expected to eq false5686 test_case_name: "nil", valid: true, default_licenses: [1], lowest_version: nil, highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5687 is expected to eq true5688 test_case_name: "int value", valid: false, default_licenses: [1], lowest_version: 1, highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5689 is expected to eq false5690 test_case_name: "empty string", valid: false, default_licenses: [1], lowest_version: "", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5691 is expected to eq false5692 test_case_name: "exceeds max chars", valid: false, default_licenses: [1], lowest_version: "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5693 is expected to eq false5694 test_case_name: "nil", valid: true, default_licenses: [1], lowest_version: "0.0.1", highest_version: nil, other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5695 is expected to eq true5696 test_case_name: "int value", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: 1, other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5697 is expected to eq false5698 test_case_name: "empty string", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5699 is expected to eq false5700 test_case_name: "exceeds max chars", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv", other_licenses: [[[1, 2], ["v0.0.3", "v0.0.4"]], [[3], ["v0.0.5"]]]5701 is expected to eq false5702 test_case_name: "empty array", valid: true, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: []5703 is expected to eq true5704 test_case_name: "nil", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: nil5705 is expected to eq false5706 test_case_name: "elts not arrays", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[1, "v1.0"]]5707 is expected to eq false5708 test_case_name: "1st elt not array", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[1, ["v1.0"]]]5709 is expected to eq false5710 test_case_name: "2nd elt not array", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1], "v1.0"]]5711 is expected to eq false5712 test_case_name: "too many tuples", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"], [1], ["v1.0"]]]5713 is expected to eq false5714 test_case_name: "too many licenses", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], ["v1.0"]]]5715 is expected to eq false5716 test_case_name: "too many versions", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1], ["v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0", "v1.0"]]]5717 is expected to eq false5718 test_case_name: "invalid license", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v1"]], [[nil], ["v2"]]]5719 is expected to eq false5720 test_case_name: "invalid version", valid: false, default_licenses: [1], lowest_version: "0.0.1", highest_version: "0.0.2", other_licenses: [[[1, 2], ["v1", "v2"]], [[3], [nil]]]5721 is expected to eq false5722 enums5723 is expected to define :purl_type as an enum backed by an integer with values ‹{composer: 1, conan: 2, gem: 3, golang: 4, maven: 5, npm: 6, nuget: 7, pypi: 8, apk: 9, rpm: 10, deb: 11, cbl_mariner: 12}›5724Dast::ProfilePolicy5725 behaves like a dast on-demand scan policy5726 dast on-demand policies5727 when a user does not have access to the project5728 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5729 when the user is a guest5730 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5731 when the user is a reporter5732 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5733 when the user is a developer5734 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5735 when the user is a maintainer5736 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5737 when the user is an owner5738 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5739 when the user is an auditor5740 is expected to be disallowed :create_on_demand_dast_scan and :edit_on_demand_dast_scan5741 is expected to be allowed :read_on_demand_dast_scan5742 when the user is allowed5743 when on demand scan licensed feature is not available5744 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan5745AddHiddenToMergeRequests5746 # order random5747 .migrate5748 when migration is already completed5749 does not modify data5750 migration process5751 updates the issues index mappings5752 .completed?5753 mapping has been updated5754 is expected to be completed5755 mapping has not been updated5756 is expected not to be completed5757ProductAnalytics::InitializeStackService5758 # order random5759 #lock!5760 sets the redis key5761 #unlock!5762 deletes the redis key5763 #execute5764 when snowplow support is enabled5765 enqueues a job5766 locks the job5767 when project is already initialized for product analytics5768 returns an error response5769 when feature flag is enabled5770 enqueues a job5771 locks the job5772 returns a success response5773 when initialization is already in progress5774 returns an error stating that initialization is already in progress5775 when initialization is already complete5776 returns an error response5777 when product analytics is disabled per project5778 returns an error5779 behaves like no job is enqueued5780 does not enqueue a job5781 when product analytics is disabled at instance level5782 returns an error5783 behaves like no job is enqueued5784 does not enqueue a job5785 when user does not have permission to initialize product analytics5786 behaves like no job is enqueued5787 does not enqueue a job5788 when enable_product_analytics application setting is false5789 behaves like no job is enqueued5790 does not enqueue a job5791Gitlab::ImportExport::Project::CustomTemplateRestorer5792 # order random5793 when import_type is not a gitlab_custom_project_template_import5794 behaves like do not execute the restorers5795 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5796 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5797 when export is a gitlab_custom_project_template_import5798 with admin user5799 behaves like successfully execute the restorers5800 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5801 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5802 with group owner5803 behaves like successfully execute the restorers5804 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5805 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5806 with custom_template owner5807 behaves like successfully execute the restorers5808 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5809 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5810 with random member user5811 behaves like do not execute the restorers5812 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5813 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5814 with no template_project_id in importable import data5815 behaves like do not execute the restorers5816 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5817 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5818 with a un-existing template_project_id in importable import data5819 behaves like do not execute the restorers5820 calls the Gitlab::ImportExport::Project::ProjectHooksRestorer5821 calls the Gitlab::ImportExport::Project::DeployKeysRestorer5822VulnerabilityExports::Exporters::CsvService5823 includes the columns required for import5824 when block is not given5825 renders csv to string5826 when block is given5827 returns handle to Tempfile5828 CSV content5829 with valid findings5830 when a project belongs to a group5831 includes proper values for each column type5832 when a project belongs to a user5833 includes proper values for each column except group name5834 when a vulnerability is missing a finding5835 includes proper values for each column except Other Identifiers5836 CSV headers5837 with en locale5838 returns English headers5839Security::OrchestrationPolicyRuleScheduleWorker5840 #perform5841 when schedule exists5842 when schedule is created for security orchestration policy configuration in project5843 executes the rule schedule service5844 updates next run at value5845 and RuleScheduleService returns an error result5846 loggs the error5847 and the service response message is a string5848 loggs the error5849 when policy has a security_policy_bot user5850 executes the rule schedule service with the bot user5851 when schedule is created for security orchestration policy configuration in namespace5852 schedules the OrchestrationPolicyRuleScheduleNamespaceWorker for namespace5853 when schedule does not exist5854 does not execute the rule schedule service5855 when multiple schedules exists5856 preloads configuration, project and owner to avoid N+1 queries5857Deployments::AutoRollbackService5858 #execute5859 successfully rolls back a deployment5860 when RetryJobService fails to retry the deployable5861 behaves like rollback failure5862 returns an error5863 when auto_rollback checkbox is disabled on the project5864 behaves like rollback failure5865 returns an error5866 when project does not have an sufficient license5867 behaves like rollback failure5868 returns an error5869 when there are running deployments5870 behaves like rollback failure5871 returns an error5872 when auto rollback was triggered recently5873 behaves like rollback failure5874 returns an error5875 when there are no deployments on the environment5876 behaves like rollback failure5877 returns an error5878 when there are no deployed commits in the repository5879 behaves like rollback failure5880 returns an error5881 when rollback target's deployable is not available5882 behaves like rollback failure5883 returns an error5884 when rollback target's deployable is not retryable5885 behaves like rollback failure5886 returns an error5887 when the user who performed deployments is no longer a project member5888 raises an error5889IssuablesHelper5890 #issuable_initial_data5891 for an epic5892 returns the correct data when permissions allowed5893 when permissions denied5894 returns the correct data5895 for an issue5896 returns the correct data5897 when published to a configured status page5898 returns the correct data that includes publishedIncidentUrl5899 for an incident5900 default state5901 returns the correct data5902 when incident metric upload is available5903 correctly returns uploadMetricsFeatureAvailable as true5904 #gitlab_team_member_badge5905 when `:gitlab_employee_badge` feature flag is disabled5906 returns nil5907 when issue author is not a GitLab team member5908 returns nil5909 when issue author is a GitLab team member5910 returns span with svg icon5911 when `css_class` parameter is passed5912 adds CSS classes5913 #issuable_meta_author_slot5914 invoked gitlab_team_member_badge method5915EE::Ci::RunnersHelper5916 #toggle_shared_runners_settings_data5917 when user has a valid credit card5918 return is_credit_card_validation_required as "false"5919 when user does not have a valid credit card5920 return is_credit_card_validation_required as "true"5921 with notifications5922 .show_buy_pipeline_minutes?5923 when on dot com5924 behaves like minutes notification5925 with a project and namespace5926 when not on dot com5927 is expected to be falsey5928 when on dot com5929 is expected to be truthy5930 without a persisted project passed5931 is expected to be truthy5932 without a persisted namespace passed5933 is expected to be truthy5934 with neither a project nor a namespace5935 is expected to be falsey5936 when show_pipeline_minutes_notification_dot? has been called before5937 does not do all the notification and query work again5938 when show notification is falsey5939 is expected to be falsey5940 when show_pipeline_minutes_notification_dot? has been called before5941 does not do all the notification and query work again5942 .show_pipeline_minutes_notification_dot?5943 behaves like minutes notification5944 with a project and namespace5945 when not on dot com5946 is expected to be falsey5947 when on dot com5948 is expected to be truthy5949 without a persisted project passed5950 is expected to be truthy5951 without a persisted namespace passed5952 is expected to be truthy5953 with neither a project nor a namespace5954 is expected to be falsey5955 when show_pipeline_minutes_notification_dot? has been called before5956 does not do all the notification and query work again5957 when show notification is falsey5958 is expected to be falsey5959 when show_pipeline_minutes_notification_dot? has been called before5960 does not do all the notification and query work again5961 when the notification dot has been acknowledged5962 is expected to be falsy5963 when the notification dot has not been acknowledged5964 is expected to be truthy5965 .show_buy_pipeline_with_subtext?5966 when the notification dot has not been acknowledged5967 is expected to be falsey5968 when the notification dot has been acknowledged5969 is expected to be truthy5970 .root_ancestor_namespace5971 with a project5972 returns the project root ancestor5973 with only a namespace5974 returns the namespace root ancestor5975Types::Dast::ProfileScheduleType5976 is expected to eq "DastProfileSchedule"5977 is expected to have graphql fields :id, :active, :startsAt, :timezone, :nextRunAt, :cadence, and :ownerValid5978 startsAt field5979 converts the startsAt to the timezone5980 nextRunAt field5981 converts the nextRunAt to the timezone5982 ownerValid5983 returns if the owner is valid5984IncidentManagement::EscalationRule5985 # order random5986 associations5987 is expected to belong to policy required: false5988 is expected to belong to oncall_schedule optional: true5989 is expected to belong to user optional: true5990 is expected to have one project through policy5991 scopes5992 .not_removed5993 is expected to contain exactly #<IncidentManagement::EscalationRule id: 1, policy_id: 1, oncall_schedule_id: 14, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil> and #<IncidentManagement::EscalationRule id: 3, policy_id: 2, oncall_schedule_id: 16, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>5994 .removed5995 is expected to contain exactly #<IncidentManagement::EscalationRule id: 2, policy_id: 1, oncall_schedule_id: 15, status: "acknowledged", elapsed_time_seconds: 300, is_removed: true, user_id: nil>5996 .for_project5997 is expected to contain exactly #<IncidentManagement::EscalationRule id: 3, policy_id: 2, oncall_schedule_id: 16, status: "acknowledged", elapsed_time_seconds: 300, is_removed: false, user_id: nil>5998 validations5999 is expected to be valid6000 is expected to validate that :status cannot be empty/falsy6001 is expected to validate that :elapsed_time_seconds cannot be empty/falsy6002 is expected to validate that :elapsed_time_seconds looks like a number greater than or equal to 0 and less than or equal to 864006003 is expected to validate that :oncall_schedule_id is case-sensitively unique within the scope of :policy_id, :status, and :elapsed_time_seconds, producing a custom validation error on failure6004 user-based rules6005 is expected to be valid6006 is expected to validate that :user_id is case-sensitively unique within the scope of :policy_id, :status, and :elapsed_time_seconds, producing a custom validation error on failure6007 mutually exclusive attributes6008 when user and schedule are both provided6009 is expected to eq ["must have either an on-call schedule or user"]6010 neither user nor schedule are provided6011 is expected to eq ["must have either an on-call schedule or user"]6012Geo::DesignRegistryFinder6013 behaves like a registry finder6014 responds to registry finder methods6015 #registry_count6016 counts registries6017 #synced_count6018 counts registries that has been synced6019 #failed_count6020 counts registries that sync has failed6021 #find_registries_never_attempted_sync6022 returns registries that have never been synced6023 excludes except_ids6024 #find_registries_needs_sync_again6025 returns registries for that have failed to sync6026 excludes except_ids6027Groups::RestoreService6028 restoring the group6029 with a user that can admin the group6030 for a group that has been marked for deletion6031 removes the mark for deletion6032 returns success6033 restoring fails6034 returns error6035 for a group that has not been marked for deletion6036 does not change the attributes associated with delayed deletion6037 returns error6038 audit events6039 logs audit event6040 with a user that cannot admin the group6041 does not restore the group6042 returns error6043 audit events6044 does not log audit event6045Gitlab::Geo::SignedData6046 #sign_and_encode_data6047 formats the signed data properly6048 defaults to 1-minute expiration time6049 when data is not set6050 does not set the data attribute6051 when geo_node is not set6052 raises a GeoNodeNotFoundError error6053 with custom validity period6054 uses that expiration time6055 #decode_data6056 is expected to eq {:input=>123, :other_input=>"string value"}6057 when data is not set6058 is expected to be nil6059 for disabled nodes6060 fails to decode for disabled nodes by default6061 is expected to be nil6062 when include_disabled_nodes is set to false6063 is expected to be nil6064 when include_disabled_nodes is set to true6065 is expected to eq {:input=>123, :other_input=>"string value"}6066 with the wrong key6067 is expected to be nil6068 time checks6069 successfully decodes when clocks are off6070 raises an error after expiring6071 raises an error when clocks are not in sync6072 JWT raised errors6073 surfaces expected errors6074 raised_error: JWT::ImmatureSignature, expected_error: Gitlab::Geo::InvalidSignatureTimeError6075 raises expected error6076 raised_error: JWT::ExpiredSignature, expected_error: Gitlab::Geo::InvalidSignatureTimeError6077 raises expected error6078 for a decoding error6079 is expected to be nil6080Gitlab::Geo::Oauth::LoginState6081 .from_state6082 returns a invalid instance when state is nil6083 returns a invalid instance when state is empty6084 returns a valid instance when state is valid6085 #valid?6086 returns false when return_to is nil6087 returns false when return_to is empty6088 returns false when token is nil6089 returns false when token is empty6090 returns false when salt not match6091 returns false when token does not match6092 returns false when token's expired6093 returns true when token matches6094 #encode6095 does not raise an error when return_to is nil6096 returns a string with salt, token, and return_to colon separated6097 #return_to6098 returns nil when return_to is nil6099 returns an empty string when return_to is empty6100 returns the full path of the return_to URL6101HistoricalUserData::CsvService6102 License Information Header6103 License Key6104 shows the header title6105 shows the license key6106 Email6107 shows the header title6108 shows the license email6109 License Start Date6110 shows the header title6111 shows the license start date6112 License End Date6113 shows the header title6114 shows the license end date6115 Company6116 shows the header title6117 shows the license company6118 Generated At6119 shows the header title6120 shows the CSV generation time6121 Empty Row6122 adds an empty row between the License Information Header and the User Count Table6123 User Count Table6124 shows the header for the user counts table6125 includes proper values for each column type6126Security::MergeRequestSecurityReportGenerationService6127 # order random6128 #execute6129 when the given report type is invalid6130 raises InvalidReportTypeError6131 when the given report type is valid6132 report_type: "sast", mr_report_method: :compare_sast_reports6133 when the report status is `parsing`6134 returns the report6135 when the report status is `parsed`6136 returns all the fields along with the calculated state of the findings6137 report_type: "secret_detection", mr_report_method: :compare_secret_detection_reports6138 when the report status is `parsing`6139 returns the report6140 when the report status is `parsed`6141 returns all the fields along with the calculated state of the findings6142 report_type: "container_scanning", mr_report_method: :compare_container_scanning_reports6143 when the report status is `parsing`6144 returns the report6145 when the report status is `parsed`6146 returns all the fields along with the calculated state of the findings6147 report_type: "dependency_scanning", mr_report_method: :compare_dependency_scanning_reports6148 when the report status is `parsing`6149 returns the report6150 when the report status is `parsed`6151 returns all the fields along with the calculated state of the findings6152 report_type: "dast", mr_report_method: :compare_dast_reports6153 when the report status is `parsing`6154 returns the report6155 when the report status is `parsed`6156 returns all the fields along with the calculated state of the findings6157 report_type: "coverage_fuzzing", mr_report_method: :compare_coverage_fuzzing_reports6158 when the report status is `parsing`6159 returns the report6160 when the report status is `parsed`6161 returns all the fields along with the calculated state of the findings6162 report_type: "api_fuzzing", mr_report_method: :compare_api_fuzzing_reports6163 when the report status is `parsing`6164 returns the report6165 when the report status is `parsed`6166 returns all the fields along with the calculated state of the findings6167AllowedEmailDomain6168 relations6169 is expected to belong to group required: false6170 .domain_names6171 returns the array of domain names6172 validations6173 is expected to validate that :domain cannot be empty/falsy6174 is expected to validate that :group_id cannot be empty/falsy6175 #valid domain6176 valid domain6177 succeeds6178 invalid domain6179 fails6180 domain from excluded list6181 fails6182 #allow_root_group_only6183 top-level group6184 succeeds6185 subgroup6186 fails6187 #email_matches_domain?6188 with matching domain6189 returns true6190 with not matching domain6191 returns false6192 #email_domain6193 returns formatted domain6194PackageMetadata::Ingestion::Tasks::IngestPackageVersions6195 # order random6196 #execute6197 when import data is new6198 adds the new records6199 updates the data map6200 when import data exists6201 does not add records6202 updates the data map6203 when data has duplicate package version rows6204 adds a single record for a unique package and version6205AppSec::Fuzzing::API::CiConfiguration6206 #scan_profiles6207 when the request finishes successfully6208 returns all scan profiles6209 caches the response6210 when the response includes unknown scan profiles6211 excludes them from the returned profiles6212 when the request errors6213 returns an empty array6214 when the request returns an unsuccessful status code6215 returns an empty array6216Epics::WithAccessCheck6217 # order random6218 when required methods are not implemented6219 when `epics_collection` is not defined in inheriting class6220 raises NotImplementedError6221 when `base_epic` is not defined in inheriting class6222 raises NotImplementedError6223 when user is not authenticated6224 returns only epics with public access6225 when user has reporter access to all groups6226 returns only visible epics6227 when user has reporter access to base epic's group6228 returns only visible epics6229 when param include_ancestor_groups is false6230 excludes epics from ancestor groups6231 when param include_descendant_groups is false6232 excludes epics from descendant groups6233 when user has guest access to base epic's group6234 returns only visible epics6235Gitlab::CodeOwners::Validator6236 #execute6237 when the branch does not require code owner approval6238 when paths match entries in the codeowners file6239 behaves like finds no errors6240 returns nil6241 when paths do not match entries in the codeowners file6242 behaves like finds no errors6243 returns nil6244 when the branch requires code owner approval6245 when paths match entries in the codeowners file6246 returns an error message6247 when paths do not match entries in the codeowners file6248 behaves like finds no errors6249 returns nil6250Llm::TanukiBot::UpdateWorker6251 # order random6252 #perform6253 does not make a call to the embedding API or update the record6254 checks6255 openai_experimentation_enabled: false, tanuki_bot_enabled: false, feature_available: false6256 does not make a call to the embedding API or update the record6257 openai_experimentation_enabled: false, tanuki_bot_enabled: true, feature_available: false6258 does not make a call to the embedding API or update the record6259 openai_experimentation_enabled: true, tanuki_bot_enabled: false, feature_available: false6260 does not make a call to the embedding API or update the record6261 with the feature available6262 makes a call to the embedding API6263 updates the record6264 does not raise an error6265 sends a log message6266 updates current version6267 behaves like an idempotent worker6268 is labeled as idempotent6269 performs multiple times sequentially without raising an exception6270 updates the record6271 when the exclusive lease is already locked for the version6272 does not set current version6273 when some of the records have nil embedding6274 does not set current version6275 when the client responds with an error6276 raises an error6277 behaves like worker with data consistency6278 .get_data_consistency_feature_flag_enabled?6279 returns true6280 .get_data_consistency6281 returns correct data consistency6282Ci::ProcessPipelineService#execute6283 cross-project pipelines6284 creates a downstream cross-project pipeline6285GitlabSubscriptions::Trials::ApplyTrialService6286 # order random6287 .execute6288 when trial is applied successfully6289 returns success: true6290 behaves like records an onboarding progress action6291 is expected to receive execute({:action=>:trial_started}) 1 time6292 #execute6293 when valid to generate a trial6294 when trial is applied successfully6295 returns success: true6296 behaves like records an onboarding progress action6297 is expected to receive execute({:action=>:trial_started}) 1 time6298 with error while applying the trial6299 returns success: false with errors6300 behaves like does not record an onboarding progress action6301 is expected not to receive new(*(any args)) 0 times6302 when not valid to generate a trial6303 when namespace_id is not in the trial_user_information6304 returns success: false with errors6305 when namespace does not exist6306 returns success: false with errors6307 when namespace is already on a trial6308 returns success: false with errors6309 #valid_to_generate_trial?6310 when it is valid to generate a trial6311 is expected to equal true6312 when namespace_id is not in the trial_user_information6313 is expected to equal false6314 when namespace does not exist6315 is expected to equal false6316 when namespace is already on a trial6317 is expected to equal false6318Mutations::MergeRequests::SetAssignees6319 behaves like a multi-assignable resource6320 #resolve6321 when the user can update the resource6322 sets the assignees6323 removes assignees not in the list6324 when passing "append" as true6325 does not remove assignees not in the list6326Llm::ExplainCodeService6327 # order random6328 #perform6329 returns an error when messages are too big6330 returns an error if user is not a member of the project6331 behaves like completion worker sync and async6332 worker runs asynchronously6333 caches request6334 when running synchronously6335 worker runs synchronously6336 when explain_code_snippet feature flag is disabled6337 returns an error6338 when explain_code licensed feature is disabled6339 returns an error6340 when experimental features are not enabled6341 returns an error6342 when third-party features are not enabled6343 returns an error6344GeoProjectRegistryEntity6345 is expected to have key :project_id6346 is expected to have key :last_repository_synced_at6347 is expected to have key :last_repository_successful_sync_at6348 is expected to have key :last_wiki_synced_at6349 is expected to have key :last_wiki_successful_sync_at6350 is expected to have key :repository_retry_count6351 is expected to have key :wiki_retry_count6352 is expected to have key :last_repository_sync_failure6353 is expected to have key :last_wiki_sync_failure6354DependencyEntity6355 #as_json6356 when all required features available6357 with developer6358 includes license info and vulnerabilities6359 with reporter6360 includes license info and not vulnerabilities6361 when all required features are unavailable6362 does not include licenses and vulnerabilities6363 when there is no dependency path attributes6364 correctly represent location6365Backup::Repositories6366 #dump6367DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6368 calls enqueue for each repository type6369DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6370DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6371 avoids N+1 database queries6372 command failure6373DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6374 enqueue_group raises an error6375 group query raises an error6376 storages6377DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6378 calls enqueue for all repositories on the specified storage6379 #restore6380DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6381 calls enqueue for each repository type6382 storages6383DEPRECATION WARNING: Merging ("members"."access_level" != $1) and ("members"."access_level" = $1) no longer maintain both conditions, and will be replaced by the latter in Rails 7.0. To migrate to Rails 7.0's behavior, use `relation.merge(other, rewhere: true)`. (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)6384 calls enqueue for all repositories on the specified storage6385 paths6386 calls enqueue for all descendant repositories on the specified group6387EventPolicy6388 for epics6389 when the user cannot read the epic6390 is expected not to be allowed :read_event6391 when the user can read the epic6392 is expected to be allowed :read_event6393 for vulnerabilities6394 when the user cannot read the vulnerability6395 is expected not to be allowed :read_event6396 when the user can read the vulnerability6397 is expected to be allowed :read_event6398Ci::Minutes::AdditionalPacks::ChangeNamespaceService6399 #execute6400 with a non-admin user6401 raises an error6402 with an admin user6403 with valid namespace and target namespace6404 when both namespaces are groups6405 when updating is successful6406 moves all existing packs to the target namespace6407 kicks off refresh ci minutes service for namespace and target6408 when updating packs fails6409 rolls back updates for all packs6410 when the namespace has no additional packs to move6411 returns success6412 when a namespace is a kind of user6413 when updating is successful6414 moves all existing packs to the target namespace6415 kicks off refresh ci minutes service for namespace and target6416 when updating packs fails6417 rolls back updates for all packs6418 when the namespace has no additional packs to move6419 returns success6420 when a target is a kind of user6421 when updating is successful6422 moves all existing packs to the target namespace6423 kicks off refresh ci minutes service for namespace and target6424 when updating packs fails6425 rolls back updates for all packs6426 when the namespace has no additional packs to move6427 returns success6428 when the namespace is not provided6429 returns an error6430 when the target namespace is not provided6431 returns an error6432 when the namespace is not a top-level namespace6433 returns an error6434 when the target namespace is not a top-level namespace6435 returns an error6436 when the namespace is the same as the target6437 returns an error6438Resolvers::DastSiteValidationResolver6439 is expected to have nullable GraphQL type DastSiteValidationConnection6440 when resolving multiple DAST site validations6441 when there is no filtering6442 behaves like there is no filtering6443 is expected to contain exactly #<DastSiteValidation id: 4, dast_site_token_id: 4, created_at: "2023-06-02 06:53:54.043635322 +0000",... "http://example18.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "failed">, #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2023-06-02 06:53:53.961097318 +0000",... "http://example17.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed">, #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2023-06-02 06:53:53.800955281 +0000",...tp://example16.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">, and #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2023-06-02 06:53:53.711894568 +0000",..."http://example15.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">6444 when multiple normalized_target_urls are specified6445 is expected to contain exactly #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2023-06-02 06:53:53.961097318 +0000",... "http://example17.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed"> and #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2023-06-02 06:53:53.711894568 +0000",..."http://example15.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">6446 when one normalized_target_url is specified6447 is expected to contain exactly #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2023-06-02 06:53:53.800955281 +0000",...tp://example16.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">6448 when an empty array is specified6449 is expected to be empty6450 when status is specified6451 when filtering by pending6452 is expected to contain exactly #<DastSiteValidation id: 1, dast_site_token_id: 1, created_at: "2023-06-02 06:53:53.711894568 +0000",..."http://example15.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "pending">6453 when filtering by in progress6454 is expected to contain exactly #<DastSiteValidation id: 2, dast_site_token_id: 2, created_at: "2023-06-02 06:53:53.800955281 +0000",...tp://example16.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "inprogress">6455 when filtering by passed6456 is expected to contain exactly #<DastSiteValidation id: 3, dast_site_token_id: 3, created_at: "2023-06-02 06:53:53.961097318 +0000",... "http://example17.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "passed">6457 when filtering by failed6458 is expected to contain exactly #<DastSiteValidation id: 4, dast_site_token_id: 4, created_at: "2023-06-02 06:53:54.043635322 +0000",... "http://example18.test:80", url_path: "some/path/GitLab-DAST-Site-Validation.txt", state: "failed">6459Audit::GroupChangesAuditor6460 # order random6461 .audit_changes6462 non audit changes6463 does not call the audit event service6464 audit changes6465 creates and event when the visibility change6466 creates an event for project creation level change6467 creates an event when attributes change6468 does not create event when there is no change in attribute value6469 when namespace setting is updated6470 when code_suggestions is changed6471 creates an audit event6472 does not create audit event if the value is unchanged6473Audit::ProjectCiCdSettingChangesAuditor6474 # order random6475 #execute6476 when auditable boolean column is changed6477 when column changes from boolean6478 prev_value: true, new_value: false6479 creates an audit event6480 streams correct audit event6481 prev_value: false, new_value: true6482 creates an audit event6483 streams correct audit event6484 when column changes to false from nil6485 does not create an audit event6486 when column changes from boolean6487 prev_value: true, new_value: false6488 creates an audit event6489 streams correct audit event6490 prev_value: false, new_value: true6491 creates an audit event6492 streams correct audit event6493 when column changes to false from nil6494 does not create an audit event6495Ci::Minutes::AdditionalPack6496 associations6497 is expected to belong to namespace required: false6498 validations6499 is expected to validate that :namespace cannot be empty/falsy6500 is expected to validate that :number_of_minutes cannot be empty/falsy6501 is expected to validate that the length of :purchase_xid is at most 506502 when GitLab.com6503 is expected to validate that :expires_at cannot be empty/falsy6504 is expected to validate that :purchase_xid cannot be empty/falsy6505 is expected to validate that :purchase_xid is case-sensitively unique6506 when self-managed6507 is expected not to validate that :purchase_xid cannot be empty/falsy6508 is expected not to validate that :expires_at cannot be empty/falsy6509 is expected not to validate that :purchase_xid is case-sensitively unique6510 behaves like cleanup by a loose foreign key6511 cleans up (delete or nullify) the model6512Security::TrainingProviders::BaseUrlFinder6513 #execute6514 raises an error if allowed_identifier_list is not implemented6515 raises an error if full_url is not implemented6516 when response_url is nil6517 returns a nil url with status pending6518 when a language is used on the finder6519 returns a nil url with status pending6520 when external_type is not present in allowed list6521 returns nil6522 when response_url is not nil6523 returns a url with status completed6524 when a language is used on the finder6525 returns a url with status completed6526 when response_url is not nil, but the url is6527 returns nil6528 when a language is used on the finder6529 returns nil6530 .from_cache6531 returns instance of finder object with expected attributes6532 when a language is used on the finder6533 returns instance of finder object with expected attributes6534 private6535 #id6536 returns a cache key for ReactiveCaching specific to the request trainign urls6537 when a language is used on the finder6538 returns a cache key for ReactiveCaching specific to the request trainign urls and language6539Geo::BlobUploadService6540 #initialize6541 initializes with valid attributes6542 #execute6543 works with valid attributes6544 errors with an invalid attributes6545 returns a file with valid attributes6546Coverage-Fuzzing.latest.gitlab-ci.yml6547 # order random6548 the created pipeline6549 when project has Ultimate license6550 without extending job default6551 includes no job6552 behaves like acts as branch pipeline6553 when branch pipeline6554 includes a job6555 behaves like acts as MR pipeline6556 when MR pipeline6557 includes a job6558 when COVFUZZ_DISABLED=16559 includes no jobs6560 when COVFUZZ_DISABLED="true"6561 includes no jobs6562 when COVFUZZ_DISABLED="false"6563 include jobs6564EE::GraphHelper6565 #should_render_dora_charts6566 when serving the project-level DORA page6567 behaves like #should_render_dora_charts for a specific type of container6568 behaves like returns true6569 is expected to equal true6570 when the feature is not available6571 behaves like returns false6572 is expected to equal false6573 when the user does not have permission6574 behaves like returns false6575 is expected to equal false6576 when serving the group-level DORA page6577 behaves like #should_render_dora_charts for a specific type of container6578 behaves like returns true6579 is expected to equal true6580 when the feature is not available6581 behaves like returns false6582 is expected to equal false6583 when the user does not have permission6584 behaves like returns false6585 is expected to equal false6586 #should_render_quality_summary6587 when licensed feature is available6588 when feature flag is enabled6589 is expected to eq true6590 when feature flag is disabled6591 is expected to eq false6592 when licensed feature is not available6593 is expected to eq false6594ExternalStatusChecks::DestroyService6595 when current user is project owner6596 deletes an approval rule6597 is successful6598 when current user is not a project owner6599 does not delete an approval rule6600 is unsuccessful6601 returns an unauthorized status6602 contains an appropriate message and error6603 audit events6604 when licensed6605 when rule destroy operation succeeds6606 logs an audit event6607 when rule destroy operation fails6608 does not log any audit event6609 behaves like does not create audit event when not licensed6610 does not log any audit event6611Gitlab::Ci::Config::Entry::Bridge6612 .matching?6613 when config is a bridge job6614 is expected to be truthy6615 .new6616 when needs pipeline config is a non-empty string6617 #valid?6618 is expected to be valid6619 #value6620 is returns a bridge job configuration6621 when needs config is a job6622 #valid?6623 is expected to be valid6624 #value6625 is returns a bridge job configuration6626 when bridge configuration contains trigger, needs, when, extends, stage, only, except, and variables6627 is expected to be valid6628 when trigger config is nil6629 #valid?6630 is expected not to be valid6631 #errors6632 is returns an error about empty trigger config6633 when upstream config is nil6634 #valid?6635 is expected not to be valid6636 #errors6637 is returns an error about empty upstream config6638 when bridge has bridge and job needs6639 #valid?6640 is expected to be valid6641 when bridge has bridge and cross projects dependencies6642 #valid?6643 is expected not to be valid6644 #errors6645 returns an error cross dependencies6646 when bridge has more than one valid bridge needs6647 #valid?6648 is expected not to be valid6649 #errors6650 returns an error about too many bridge needs6651EpicIssues::UpdateService6652 #execute6653 when moving issues between different epics6654 returns an error6655 does not change the relative_position values6656 moving issue to the first position6657 when some positions are close to each other6658 orders issues correctly6659 when there is enough place between positions6660 orders issues correctly6661 moving issue to the third position6662 when some positions are close to each other6663 orders issues correctly6664 when all positions are same6665 orders affected 2 issues correctly6666 when there is enough place between positions6667 orders issues correctly6668 moving issues to the last position6669 when index of the last possition is correct6670 orders issues correctly6671Dast::PreScanVerificationPolicy6672 # order random6673 behaves like a dast on-demand scan policy6674 dast on-demand policies6675 when a user does not have access to the project6676 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6677 when the user is a guest6678 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6679 when the user is a reporter6680 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6681 when the user is a developer6682 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6683 when the user is a maintainer6684 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6685 when the user is an owner6686 is expected to be allowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6687 when the user is an auditor6688 is expected to be disallowed :create_on_demand_dast_scan and :edit_on_demand_dast_scan6689 is expected to be allowed :read_on_demand_dast_scan6690 when the user is allowed6691 when on demand scan licensed feature is not available6692 is expected to be disallowed :create_on_demand_dast_scan, :edit_on_demand_dast_scan, and :read_on_demand_dast_scan6693IterationsUpdateStatusWorker6694 #perform6695 schedules an issues roll-over job6696 when iterations with passed due dates are in `upcoming`, `current` or `closes` states6697 updates the status of iterations that require it6698 in batches6699 run in batches6700NoteEntity6701 when description_diffs license is available6702 includes description versions attributes6703 when description_diffs feature is available through Registration Features6704 includes description versions attributes6705 when description_diffs license is not available6706 does not include description versions attributes6707IncidentManagement::EscalationPoliciesFinder6708 # order random6709 #execute6710 when feature is available6711 when user has permissions6712 returns project escalation policies6713 when id given6714 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 5, project_id: 1043, name: "unique identifier", description: [FILTERED]>6715 when exact_name is given6716 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 5, project_id: 1043, name: "unique identifier", description: [FILTERED]>6717 when the name does not match6718 is expected to eq #<ActiveRecord::Relation []>6719 when search_name is given6720 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 5, project_id: 1043, name: "unique identifier", description: [FILTERED]>6721 when the name does not match6722 is expected to eq #<ActiveRecord::Relation []>6723 when no params are given6724 is expected to contain exactly #<IncidentManagement::EscalationPolicy id: 5, project_id: 1043, name: "unique identifier", description: [FILTERED]>6725 when user has no permissions6726 is expected to eq #<ActiveRecord::Relation []>6727 when feature is not avaiable6728 is expected to eq #<ActiveRecord::Relation []>6729EE check.rake6730 gitlab:check rake task6731 runs the Geo check6732Gitlab::Ci::Pipeline::Chain::Validate::AfterConfig6733 #perform!6734 credit card requirement6735 when user does not have credit card for pipelines in project6736 breaks the chain with an error6737 logs the event6738 when user has credit card for pipelines in project6739 succeeds the step6740Audit::GroupMergeRequestApprovalSettingChangesAuditor6741 when group_merge_request_approval_setting is created6742 creates audit events6743 when group_merge_request_approval_setting is updated6744 creates an audit event6745 passes correct event type to auditor6746 creates an audit event6747 passes correct event type to auditor6748 creates an audit event6749 passes correct event type to auditor6750 creates an audit event6751 passes correct event type to auditor6752 creates an audit event6753 passes correct event type to auditor6754Gitlab::Usage::Metrics::Instrumentations::UserCapSettingEnabledMetric6755 user_cap_feature_enabled: 42, expected_value: 426756 behaves like a correct instrumented metric value6757 has correct value6758 user_cap_feature_enabled: -1, expected_value: -16759 behaves like a correct instrumented metric value6760 has correct value6761Mutations::IncidentManagement::OncallRotation::Destroy6762 # order random6763 #resolve6764 user has access to project6765 when OncallRotation::DestroyService responds with success6766 returns the on-call rotation with no errors6767 removes the rotation6768 when OncallRotations::DestroyService responds with an error6769 returns errors6770 error cases6771 project path incorrect6772 raises an error6773 license disabled6774 raises an error6775 when resource is not accessible to the user6776 raises an error6777Integrations::Github::RemoteProject6778 #api_url6779 uses github.com API endpoint6780 when git repo mirror URL is used6781 excludes auth token set as username6782 for a custom host6783 is extracted from the url6784 #owner6785 is extracted from the url6786 #repository_name6787 is extracted from the url6788 when https git URL is used6789 doesn't include '.git' at the end6790 when project sub-route accidentally used6791 ignores the sub-route6792DeployKeys::CreateService6793 creates a deploy key6794 records an audit event6795 behaves like sends correct event type in audit event stream6796 sends correct event type in audit event stream6797GitlabSubscriptions::UpcomingReconciliationEntity6798 is expected to delegate #next_reconciliation_date to the #upcoming_reconciliation object6799 is expected to delegate #display_alert? to the #upcoming_reconciliation object6800 #has_permissions?6801 with namespace6802 checks if user can admin_namespace6803 without namespace6804 checks if user is admin6805 when current_user is nil6806 returns false6807 #cookie_key6808 with namespace6809 includes namespace id in key6810 without namespace6811 does not include namespace id in cookie key6812 #display_alert?6813 upcoming_reconciliation_display_alert: false, with_namespace: true, offline_cloud_license: true, expected: false6814 returns result6815 upcoming_reconciliation_display_alert: false, with_namespace: true, offline_cloud_license: false, expected: false6816 returns result6817 upcoming_reconciliation_display_alert: true, with_namespace: true, offline_cloud_license: true, expected: true6818 returns result6819 upcoming_reconciliation_display_alert: true, with_namespace: true, offline_cloud_license: false, expected: true6820 returns result6821 upcoming_reconciliation_display_alert: true, with_namespace: false, offline_cloud_license: false, expected: true6822 returns result6823 upcoming_reconciliation_display_alert: true, with_namespace: false, offline_cloud_license: true, expected: false6824 returns result6825 without upcoming_reconciliation6826 returns false6827 without namespace6828 returns false6829PackageMetadata::Ingestion::Tasks::IngestPackages6830 # order random6831 #execute6832 when import data is new6833 adds the new records6834 updates the data map6835 when import data exists6836 does not add records6837 updates the data map6838 when normalizing names6839 with pypi packages6840 treats case variations as non unique6841 normalizes the original package name6842 with non-pypi packages6843 treats case variations as unique6844 keeps the original package names6845ProductAnalytics::Panel6846 # order random6847 returns the correct object6848Ci::InitialPipelineProcessWorker6849 #perform6850 is labeled as idempotent6851 performs multiple times sequentially without raising an exception6852 when the project is out of CI minutes6853 marks the pipeline as failed6854Gitlab::DataBuilder::Vulnerability6855 .build6856 is expected to be a kind of Hash6857 is expected to eq "vulnerability"6858 contains the correct object attributes6859AlertManagement::Alert6860 associations6861 is expected to have many pending_escalations class_name => IncidentManagement::PendingEscalations::Alert6862 after_create6863 attempts to trigger auto rollback6864 #trigger_auto_rollback6865 executes AutoRollbackWorker6866 when status is not triggered6867 does not execute AutoRollbackWorker6868 when severity is not critical6869 does not execute AutoRollbackWorker6870 when project does not enable auto rollback6871 does not execute AutoRollbackWorker6872 when project does not have a license for auto rollback6873 does not execute AutoRollbackWorker6874 #escalation_policy6875 is expected to eq nil6876 when escalation policy exists on the project6877 returns the projects first (only) escalation policy6878ContainerRegistry::Event6879 #handle!6880 geo event6881 with a respository target6882 repository_path: "group/test/container", action: "push", example_name: "creating a geo event"6883 behaves like creating a geo event6884 creates geo event6885 repository_path: "group/test/container", action: "delete", example_name: "creating a geo event"6886 behaves like creating a geo event6887 creates geo event6888 repository_path: "foo/bar", action: "push", example_name: "not creating a geo event"6889 behaves like not creating a geo event6890 does not create geo event6891 repository_path: "foo/bar", action: "delete", example_name: "not creating a geo event"6892 behaves like not creating a geo event6893 does not create geo event6894 with a tag target6895 repository_path: "group/test/container", action: "push", example_name: "creating a geo event"6896 behaves like creating a geo event6897 creates geo event6898 repository_path: "group/test/container", action: "delete", example_name: "creating a geo event"6899 behaves like creating a geo event6900 creates geo event6901 repository_path: "foo/bar", action: "push", example_name: "not creating a geo event"6902 behaves like not creating a geo event6903 does not create geo event6904 repository_path: "foo/bar", action: "delete", example_name: "not creating a geo event"6905 behaves like not creating a geo event6906 does not create geo event6907 without media type6908 behaves like not creating a geo event6909 does not create geo event6910IncidentManagement::OncallRotationPolicy6911 # order random6912 rules6913 is expected to be disallowed :read_incident_management_oncall_schedule6914 when reporter6915 is expected to be allowed :read_incident_management_oncall_schedule6916 licensed feature disabled6917 is expected to be disallowed :read_incident_management_oncall_schedule6918 when auditor6919 is expected to be allowed :read_incident_management_oncall_schedule6920 is expected to be disallowed :admin_incident_management_oncall_schedule6921 licensed feature disabled6922 is expected to be disallowed :read_incident_management_oncall_schedule6923 is expected to be disallowed :admin_incident_management_oncall_schedule6924MemberUserEntity6925 matches json schema6926 when using on-call management6927 with oncall schedules6928 with no source given6929 is expected to eq []6930 source is project6931 is expected to contain exactly {:name=>"On-call Schedule #35", :project_name=>"Project-1134 Name", :project_url=>"http://localhost/g...project-1134/-/oncall_schedules", :url=>"http://localhost/group626/project-1134/-/oncall_schedules"}6932 source is group6933 is expected to contain exactly {:name=>"On-call Schedule #35", :project_name=>"Project-1134 Name", :project_url=>"http://localhost/g...project-1134/-/oncall_schedules", :url=>"http://localhost/group626/project-1134/-/oncall_schedules"} and {:name=>"On-call Schedule #36", :project_name=>"Project-1135 Name", :project_url=>"http://localhost/g...project-1135/-/oncall_schedules", :url=>"http://localhost/group626/project-1135/-/oncall_schedules"}6934 with escalation policies6935 with no source given6936 is expected to eq []6937 source is project6938 is expected to contain exactly {:name=>"EscalationPolicy 18", :project_name=>"Project-1134 Name", :project_url=>"http://localhost/group626/project-1134", :url=>"http://localhost/group626/project-1134/-/escalation_policies"}6939 source is group6940 is expected to contain exactly {:name=>"EscalationPolicy 18", :project_name=>"Project-1134 Name", :project_url=>"http://localhost/group626/project-1134", :url=>"http://localhost/group626/project-1134/-/escalation_policies"} and {:name=>"EscalationPolicy 19", :project_name=>"Project-1135 Name", :project_url=>"http://localhost/group626/project-1135", :url=>"http://localhost/group626/project-1135/-/escalation_policies"}6941Dora::DeploymentFrequencyMetric6942 #data_queries6943 returns number of finished successful deployments6944AuditEvents::ProtectedBranchAuditEventService6945 #security_event6946 when a protected_branch is add6947 creates an event6948 logs to a file with the provided details6949 behaves like sends correct event type in audit event stream6950 sends correct event type in audit event stream6951 when a protected_branch is remove6952 creates an event6953 logs to a file with the provided details6954 behaves like sends correct event type in audit event stream6955 sends correct event type in audit event stream6956 when not licensed6957 doesn't create an event or log to a file6958World6959 .country_deny_list6960 ensures the items in the country deny list map to real country objects6961 .supported_countries6962 does not return countries that are in the country deny list6963 returns exactly 239 countries6964 .countries_for_select6965 returns list of country name and iso_code in alphabetical format6966 .states_for_country6967 returns a list of state names for a country in alphabetical order6968 returns nil when given country cannot be found6969 blocked states6970 contains Ukraine6971 ensures blocked states map to real state objects6972 excludes blocked states from the list6973 .alpha3_from_alpha26974 returns the three letter abbreviated country name6975 returns nil when given country cannot be found6976ElasticsearchIndexedNamespace6977 scope6978 .namespace_in6979 returns records of the ids6980 behaves like an elasticsearch indexed container6981 validations6982 validates uniqueness of main attribute6983 callbacks6984 on save6985 triggers index_project6986 performs the expected action6987 on destroy6988 triggers delete_from_index6989 performs the expected action6990 with plans6991 .index_first_n_namespaces_of_plan6992 creates records, scoped by plan and ordered by namespace id6993 .unindex_last_n_namespaces_of_plan6994 creates records, scoped by plan and ordered by namespace id6995Analytics::CycleAnalytics::ConsistencyWorker6996 invokes the consistency check service for merge requests6997 when no pending aggregation records present6998 does nothing6999 when pending aggregation records present7000 invokes the consistency services7001 when worker is over time7002 breaks at the second iteration due to overtime, saving cursor information7003 when the service runs out of time7004 stops while processing a batch, saving cursor information, and restart from where it left on the next run7005ApprovalStatePolicy7006 when user does not have access to project7007 is expected to be disallowed :read_merge_request7008 when user does have access to project7009 is expected to be allowed :read_merge_request7010EE::Gitlab::Ci::Pipeline::Quota::Size7011 #enabled?7012 when limit is enabled in plan7013 is enabled7014 when limit is not enabled7015 is not enabled7016 when limit does not exist7017 is not enabled7018 #exceeded?7019 when limit is exceeded7020 is exceeded7021 when limit is not exceeded7022 is not exceeded7023 #message7024 when limit is exceeded7025 returns info about pipeline size limit exceeded7026 #log_exceeded_limit?7027 when there are more than 2000 jobs in the pipeline7028 returns true7029 when there are 2000 or less jobs in the pipeline7030 returns false7031AddNamespaceAncestryIdsToIssuesMapping7032 behaves like a deprecated Advanced Search migration7033 #migrate7034 logs a message and halts the migration7035 #completed?7036 returns false7037 #obsolete?7038 returns true7039IncidentManagement::MemberOncallRotationsFinder7040 # order random7041 #execute7042 group member7043 returns the group rotations the user is in across many projects7044 project member7045 returns the rotations the user is in for the member's project7046EE::API::Entities::GeoSite7047 # order random7048 #web_edit_url7049 is expected to eq "http://localhost/admin/geo/sites/52/edit"7050 #repair7051 is expected to eq "http://localhost/api/v4/geo_sites/53/repair"7052 #self7053 is expected to eq "http://localhost/api/v4/geo_sites/54"7054 #current7055 when node is current7056 is expected to eq true7057 when node is not current7058 is expected to eq false7059 #status7060 is expected to eq "http://localhost/api/v4/geo_sites/57/status"7061EE::Gitlab::ApplicationRateLimiter7062 .rate_limits7063 when application-level rate limits are configured7064 includes values for unique_project_downloads_for_application7065 when namespace-level rate limits are configured7066 includes fixed default values for unique_project_downloads_for_namespace7067Projects::Security::DastConfigurationHelper7068 #dast_configuration_data7069 with yml_config_data7070 when service does not return dast profile and scanner profile7071 is expected to eq {:full_path=>"namespace1094/project-1145", :gitlab_ci_yaml_edit_path=>"/namespace1094/project-1145/-/..._library_path=>"/namespace1094/project-1145/-/security/configuration/profile_library#site-profiles"}7072 when service returns dast profile and scanner profile7073 is expected to eq {:full_path=>"namespace1094/project-1145", :gitlab_ci_yaml_edit_path=>"/namespace1094/project-1145/-/..._library_path=>"/namespace1094/project-1145/-/security/configuration/profile_library#site-profiles"}7074 with pipeline_data7075 when pipeline data is present7076 when scanner is enabled7077 is expected to eq {:dast_enabled=>true, :full_path=>"namespace1094/project-1145", :gitlab_ci_yaml_edit_path=>"/namespac..._library_path=>"/namespace1094/project-1145/-/security/configuration/profile_library#site-profiles"}7078 when scanner is not enabled7079 is expected to eq {:dast_enabled=>false, :full_path=>"namespace1094/project-1145", :gitlab_ci_yaml_edit_path=>"/namespa..._library_path=>"/namespace1094/project-1145/-/security/configuration/profile_library#site-profiles"}7080 when service returns an error7081 is expected to eq {:full_path=>"namespace1094/project-1145", :gitlab_ci_yaml_edit_path=>"/namespace1094/project-1145/-/..._library_path=>"/namespace1094/project-1145/-/security/configuration/profile_library#site-profiles"}7082Namespaces::BilledUsersFinder7083 # order random7084 #execute7085 returns a breakdown of billable user ids7086 when including guests7087 includes distinct active users7088 when excluding guests7089 includes distinct active users7090Gitlab::Proxy7091 .detect_proxy7092 without any existing proxies7093 returns an empty array7094 with existing proxies7095 returns a list of existing proxies7096SystemNotes::EscalationsService7097 #notify_via_escalation7098 posts the correct text to the system note7099 behaves like a system note7100 has the correct attributes7101 #start_escalation7102 posts the correct text to the system note7103 behaves like a system note7104 has the correct attributes7105PathLocks::LockService7106 locks path7107 raises exception if user has no permissions7108Gitlab::Metrics::Samplers::GlobalSearchSampler7109 behaves like metrics sampler7110 when sampling interval is passed explicitly7111 is expected to eq 427112 when sampling interval is passed through the environment7113 is expected to eq 427114 when no sampling interval is passed anywhere7115 uses the hardcoded default7116 #start7117 calls the sample method on the sampler thread7118 with warmup set to true7119 calls the sample method first on the caller thread7120 #safe_sample7121 calls #sample once7122 when sampling fails with error7123 recovers from errors7124 with logger7125 logs errors7126 #sample7127 invokes the Elastic::MetricsUpdateService7128Namespaces::RootStatisticsWorker#perform7129 when storage limits are enforced for the namespace7130 when the namespace is running low on storage7131 sends a notification email7132 without a namespace7133 does not send an email notification7134 without an aggregation scheduled7135 does not send an email notification7136 when something goes wrong when updating7137 does not send an email notification7138 when storage limits are not enforced for the namespace7139 when the namespace is running low on storage7140 does not send a notification email7141AuditEvents::Streaming::Headers::DestroyService7142 #execute7143 when no header is provided7144 does not destroy the header7145 has an error response7146 when the header is destroyed successfully7147 destroys the header7148 sends the audit streaming event7149 with license feature external_audit_events7150 sends correct event type in audit event stream7151Notes::DestroyService7152 #execute7153 refresh analytics comment data7154 invokes forced Analytics::RefreshCommentsData7155 publish to status page7156 triggers status page publish7157 tracking via usage ping7158 tracks epic note destroy7159Gitlab::Prometheus::MetricGroup7160 .for_project7161 for current project7162 returns metrics for given project and common ones7163 for other project7164 returns metrics only common ones7165Analytics::ValueStreamDashboard::Aggregation7166 # order random7167 validations7168 is expected to validate that :namespace_id cannot be empty/falsy7169************************************************************************7170Warning from shoulda-matchers:7171You are using `validate_inclusion_of` to assert that a boolean column7172allows boolean values and disallows non-boolean ones. Be aware that it7173is not possible to fully test this, as boolean columns will7174automatically convert non-boolean values to boolean ones. Hence, you7175should consider removing this test.7176************************************************************************7177 is expected to validate that :enabled is either ‹true› or ‹false›7178 associations7179 is expected to belong to namespace optional: false7180 .load_batch7181 when the cursor is empty7182 returns the records with the oldest or empty last_run_at values7183 when bath size is given7184 is expected to eq [#<Analytics::ValueStreamDashboard::Aggregation namespace_id: 3997, last_run_at: nil, enabled: true>,...#<Analytics::ValueStreamDashboard::Aggregation namespace_id: 3999, last_run_at: nil, enabled: true>]7185 when top_level_namespace_id is present in the cursor7186 returns the aggregation record associated with the top_level_namespace_id as the first record7187 when top_level_namespace_id no longer exists7188 ignores the given top_level_namespace_id7189Types::Vulnerability::ExternalIssueLinkExternalTrackerEnum7190 is expected to contain exactly "JIRA"7191Namespaces::FreeUserCap::NotificationAlertComponent7192 # order random7193 when user is authorized to see alert7194 when over limit7195 has content for the notification alert7196 renders all the expected tracking items7197 when not over the limit7198 does not render the alert7199 when user does not exist7200 does not render the alert7201 when user is not authorized to see alert7202 does not render the alert7203Gitlab::Ci::Pipeline::Chain::Validate::SecurityOrchestrationPolicy7204 #perform7205 when security policies feature is not licensed7206 does not return warning7207 when security policies feature is licensed7208 when policy file is missing7209 returns warning7210 when policy file is present7211 when policy file is invalid7212 returns warning7213 when policy file is valid7214 does not return warning7215Namespaces::FreeUserCap::OverLimitNotificationWorker7216 # order random7217 #perform7218 runs notify service and marks next check for the namespace7219 with feature flags enabled/disabled7220 limit_enabled: true, free_user_cap_over_user_limit_mails: true, call_service: 1, job_count: 57221 triggers the namespace owners mail7222 limit_enabled: true, free_user_cap_over_user_limit_mails: false, call_service: 0, job_count: 07223 triggers the namespace owners mail7224 limit_enabled: false, free_user_cap_over_user_limit_mails: true, call_service: 0, job_count: 07225 triggers the namespace owners mail7226 limit_enabled: false, free_user_cap_over_user_limit_mails: false, call_service: 0, job_count: 07227 triggers the namespace owners mail7228Sidebars::Projects::Menus::RepositoryMenu7229 File Locks7230 when licensed feature file locks is not enabled7231 does not include file locks menu item7232 when licensed feature file locks is enabled7233 includes file locks menu item7234Projects::ImportExport::ExportService7235 #execute7236 project templates7237 instance-level custom project templates7238 succeeds7239 group-level custom project templates7240 succeeds7241ApprovalProjectRulePolicy7242 when user can admin project7243 allows updating approval rule7244 when user cannot admin project7245 disallow updating approval rule7246Gitlab::Ci::Config::Entry::Secret7247 validation7248 when entry config value is correct7249 when file setting is not defined7250 behaves like configures secrets7251 #value7252 returns secret configuration7253 #valid?7254 is valid7255 when file setting is defined7256 behaves like configures secrets7257 #value7258 returns secret configuration7259 #valid?7260 is valid7261 when `token` is defined7262 #value7263 returns secret configuration7264 #valid?7265 is valid7266 when entry value is not correct7267 #errors7268 when there is an unknown key present7269 reports error7270 when there is no vault entry7271 reports error7272Geo::Batch::ProjectRegistryWorker7273 #perform7274 when operation is :reverify_repositories7275 flags repositories for reverify7276 when operation is :resync_repositories7277 flags repositories for resync7278 when informed operation is unknown/invalid7279 fails with ArgumentError7280Gitlab::ImportExport::Group::GroupAndDescendantsRepoRestorer7281 when group wiki license feature is enabled7282 imports the group and subgroups wiki repo and returns true7283 if any of the wiki imports fails7284 returns false and stops importing other groups7285 when group is not inside group mappings7286 avoids calling the restorer, continue importing, and returns true7287 when group mapping is empty7288 does not try to import wikis and returns true7289 when group wiki license feature is not enabled7290 does not try to import wikis and returns true7291shared/issuable/_iterations_dropdown.html.haml7292 behaves like issuable bulk dropdown7293 renders hidden input7294 renders vue root7295 without parent7296 is nil7297 without feature7298 is nil7299Groups::ImportExport::ExportService7300 #execute7301 exports group and descendants wiki repositories7302AlertManagement::HttpIntegrationsFinder7303 #execute7304 empty params7305 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-06-02 06:55:31.582574873 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>, #<AlertManagement::HttpIntegration id: 2, created_at: "2023-06-02 06:55:31.589012473 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>, #<AlertManagement::HttpIntegration id: 5, created_at: "2023-06-02 06:55:31.609423751 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>, #<AlertManagement::HttpIntegration id: 3, created_at: "2023-06-02 06:55:31.595184252 +0000", updated_...Dog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "prometheus", token: nil>, and #<AlertManagement::HttpIntegration id: 4, created_at: "2023-06-02 06:55:31.603030632 +0000", updated_...Dog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "prometheus", token: nil>7306 endpoint_identifier given7307 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-06-02 06:55:31.582574873 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil> and #<AlertManagement::HttpIntegration id: 2, created_at: "2023-06-02 06:55:31.589012473 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>7308 active param given7309 is expected to contain exactly #<AlertManagement::HttpIntegration id: 1, created_at: "2023-06-02 06:55:31.582574873 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>, #<AlertManagement::HttpIntegration id: 5, created_at: "2023-06-02 06:55:31.609423751 +0000", updated_... "DataDog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "http", token: nil>, and #<AlertManagement::HttpIntegration id: 4, created_at: "2023-06-02 06:55:31.603030632 +0000", updated_...Dog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "prometheus", token: nil>7310 type_identifier param given7311 is expected to contain exactly #<AlertManagement::HttpIntegration id: 3, created_at: "2023-06-02 06:55:31.595184252 +0000", updated_...Dog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "prometheus", token: nil> and #<AlertManagement::HttpIntegration id: 4, created_at: "2023-06-02 06:55:31.603030632 +0000", updated_...Dog", payload_example: {}, payload_attribute_mapping: {}, type_identifier: "prometheus", token: nil>7312Mutations::AuditEvents::Streaming::Headers::Create7313 #resolve7314 feature is unlicensed7315 is not authorized7316 feature is licensed7317 current_user is not group owner7318 returns useful error messages7319 current_user is group owner7320 creates a new header7321Security::TrackScanService7322 #execute7323 report has all metadata7324 tracks the scan event7325 report is missing metadata7326 tracks the scan event7327Elastic::MultiVersionClassProxy7328 #version7329 returns class proxy in specified version7330 repository7331 returns class proxy in specified version7332 when feature_flag simplify_logic_to_find_search_proxy_class is disabled7333 returns ProjectWikiClassProxy for wiki7334 method forwarding7335 forwards methods which should touch all write targets7336 forwards read methods to only reading target7337 does not forward write methods which should touch specific version7338Gitlab::Llm::Chain::Utils::Prompt7339 # order random7340 #role_conversation7341 returns bare text from role based prompt7342 #no_role_text7343 returns bare text from role based prompt7344 messages with roles7345 returns message as system7346 returns message as assistant7347 returns message as user7348ProjectClusterablePresenter7349 #metrics_cluster_path7350 is expected to eq "/namespace1113/project-1166/-/clusters/11/metrics"7351Gitlab::IpAddressState7352 .with7353 saves IP address7354 clears IP address after execution7355 clears IP address after execution even when exception occurred7356 .set_address7357 saves IP address7358 .nullify_address7359 clears IP address7360VulnerabilityUserMention7361 associations7362 is expected to belong to vulnerability required: false7363 is expected to belong to note required: false7364 behaves like has user mentions7365 #has_mentions?7366 when no mentions7367 returns false7368 when mentioned_users_ids not null7369 returns true7370 when mentioned projects7371 returns true7372 when mentioned groups7373 returns true7374GeoNodePolicy7375 when the user is an admin7376 when admin mode is enabled7377 allows read_geo_node for any GeoNode7378 when admin mode is disabled7379 disallows read_geo_node for any GeoNode7380 when the user is not an admin7381 disallows read_geo_node for any GeoNode7382Sidebars::Projects::Panel7383 ExternalIssueTrackerMenu7384 when show_jira_menu_items? is false7385 contains ExternalIssueTracker menu7386 when show_jira_menu_items? is true7387 does not contain ExternalIssueTracker menu7388 with learn gitlab menu7389 contains the menu7390Security::AutoFixWorker7391 #perform7392 when auto_fix feature is enabled7393 run AutoFix Service7394 when auto_fix feature is disabled7395 does not run AutoFix Service7396 when feature flag is disabled7397 does not run AutoFix Service7398Namespaces::FreeUserCap::ClearOverLimitNotificationService7399 # order random7400 .execute7401 with namespace that is still over limit7402 keeps the flag as is7403 with namespace that is no longer over limit7404 clears the flag7405 for error handling7406 rescues to a ServiceResponse7407ForkNamespaceEntity7408 exposes marked_for_deletion state7409InstanceClusterablePresenter7410 #metrics_cluster_path7411 is expected to eq "/admin/clusters/14/metrics"7412admin/users/_credit_card_info.html.haml7413 shows not validated7414 when user is validated7415 shows card data7416 when network is missing7417 does not show network7418IncidentManagement::OncallScheduleHelper7419 # order random7420 #oncall_schedule_data7421 returns on-call schedule data7422EE::Projects::Security::ConfigurationHelper7423 when user can access discover security7424 is expected to eq "/namespace1118/project-1171/-/security/discover"7425 when user can not access discover security7426 is expected to eq "https://about.gitlab.com/pricing/"7427RemoteDevelopment::Workspaces::Reconcile::ParamsParser7428 # order random7429 when the params are invalid7430 when workspace_agent_info is missing7431 behaves like returns nil params and an error7432 returns nil params and an error7433 for update_type7434 when missing7435 behaves like returns nil params and an error7436 returns nil params and an error7437 when invalid7438 behaves like returns nil params and an error7439 returns nil params and an error7440 when the params are valid7441 returns the parsed params7442compliance_management/compliance_framework/_compliance_framework_badge.html.haml7443 when show7444 renders a badge7445 when not show7446 does not render any badge7447DeleteOrphanedCommits7448 behaves like a deprecated Advanced Search migration7449 #migrate7450 logs a message and halts the migration7451 #completed?7452 returns false7453 #obsolete?7454 returns true7455devise/registrations/new7456 # order random7457 renders challenge container with the correct data attributes7458 when the feature is disabled7459 does not render challenge container7460Gitlab::CodeOwners::ReferenceExtractor7461 #emails7462 includes all mentioned email addresses7463 #names7464 includes all mentioned usernames and groupnames7465 #references7466 includes all user-references once7467GemExtensions::Elasticsearch::Model::Indexing::InstanceMethods7468 #index_document7469 overrides _id7470Geo::Scheduler::SchedulerWorker7471 includes ::Gitlab::Geo::LogHelpers7472 needs many other specs (PENDING: Not yet implemented)7473 #take_batch7474 without batch_size7475 returns a batch of jobs7476 with batch_size7477 returns a batch of jobs7478groups/analytics/dashboards/value_streams_dashboard7479 # order random7480 renders as expected7481 with namespaces set7482 sets the namespaces key7483CreateUserIndex7484 # order random7485 behaves like a deprecated Advanced Search migration7486 #migrate7487 logs a message and halts the migration7488 #completed?7489 returns false7490 #obsolete?7491 returns true7492Gitlab::ProjectTemplate7493 .all7494 when `enterprise_templates` feature is not licensed7495 does not contain enterprise project templates7496 when `enterprise_templates` feature is licensed7497 contains enterprise project templates7498Types::ProtectedEnvironmentType7499 # order random7500 includes the expected fields7501 is expected to eq "ProtectedEnvironment"7502Sbom::Ingestion::IngestReportsService7503 # order random7504 #execute7505 executes IngestReportService for each report7506 when a report is invalid7507 does not process the invalid report7508groups/group_members/index7509 # order random7510 when managing members text is present7511 renders as expected7512Gitlab::Llm::CompletionsFactory7513 # order random7514 .completion7515 with existing completion7516 returns completion service7517 with invalid completion7518 returns completion service7519AuditEvents::UserImpersonationEventCreateWorker7520 #perform7521 invokes the UserImpersonationGroupAuditEventService7522operations/environments.html.haml7523 renders the frontend configuration7524Types::VulnerableKubernetesResourceType7525 is expected to have graphql fields :namespace, :kind, :name, :container_name, :agent, and :cluster_id7526Types::MergeRequests::ApprovalStateType7527 is expected to have graphql fields :approval_rules_overwritten, :rules, :invalid_approvers_rules, and :suggested_approvers7528 is expected to require graphql authorizations :read_merge_request7529Types::Ci::CodeCoverageSummaryType7530 is expected to eq "CodeCoverageSummary"7531 fields7532 is expected to have graphql fields :average_coverage, :coverage_count, and :last_updated_on7533Types::RequirementsManagement::TestReportStateEnum7534 exposes all the possible test report states7535Every GitLab uploader7536 # order random7537 for Geo replication7538 has Geo self-service framework support7539Gitlab::Graphql::Aggregations::Issuables::LazyLinksAggregate7540 .link_class7541 requires implementation on subclasses7542shared/billings/_billing_plan_actions.html.haml7543 contains the hand raise lead selector and tracking7544Custom URLs iteration7545 # order random7546 iteration7547 with group7548 creates directs7549Types::SubscriptionType7550 # order random7551 has the expected fields7552Types::MutationType7553 deprecated mutations7554 field_name: "ApiFuzzingCiConfigurationCreate", reason: "The configuration snippet is now generated client-side", milestone: "15.1"7555 is expected not to be present7556Milestone7557 Associations7558 is expected to have many boards7559Gitlab::Usage::Metrics::Instrumentations::HistoricalMaxUsersMetric7560 behaves like a correct instrumented metric value7561 has correct value7562Representation::VulnerabilityScannerEntry7563 .declarative_policy_class7564 is expected to eq "Vulnerabilities::ScannerPolicy"7565Knapsack report was generated. Preview:7566{7567 "ee/spec/policies/project_policy_spec.rb": 181.828999416,7568 "ee/spec/lib/gitlab/insights/finders/issuable_finder_spec.rb": 158.41279949199998,7569 "ee/spec/elastic/migrate/20230503064300_backfill_project_permissions_in_blobs_using_permutations_spec.rb": 137.836607684,7570 "ee/spec/services/ee/merge_requests/refresh_service_spec.rb": 118.78183615600005,7571 "ee/spec/serializers/environment_entity_spec.rb": 59.61512529799995,7572 "ee/spec/elastic_integration/global_search_spec.rb": 82.29175069799999,7573 "ee/spec/models/concerns/elastic/note_spec.rb": 70.396756976,7574 "ee/spec/config/metrics/every_metric_definition_spec.rb": 62.35374769700002,7575 "ee/spec/models/ci/minutes/notification_spec.rb": 50.079580146000126,7576 "ee/spec/models/ee/ci/job_artifact_spec.rb": 47.23116161799999,7577 "ee/spec/models/gitlab_subscription_spec.rb": 27.571438689999923,7578 "ee/spec/services/ci/minutes/email_notification_service_spec.rb": 26.753655556000012,7579 "ee/spec/lib/ee/gitlab/git_access_project_spec.rb": 31.287200217999953,7580 "ee/spec/policies/ci/build_policy_spec.rb": 13.612832914000137,7581 "ee/spec/services/approval_rules/update_service_spec.rb": 22.45806616699997,7582 "ee/spec/models/environment_spec.rb": 11.78976078100004,7583 "ee/spec/helpers/projects_helper_spec.rb": 12.396394383000143,7584 "ee/spec/models/integrations/github_spec.rb": 20.22172588400008,7585 "ee/spec/views/layouts/nav/sidebar/_project.html.haml_spec.rb": 20.809606178999957,7586 "ee/spec/lib/elastic/latest/user_class_proxy_spec.rb": 16.453333993999877,7587 "ee/spec/workers/update_all_mirrors_worker_spec.rb": 16.203071954000052,7588 "ee/spec/services/geo/wiki_sync_service_spec.rb": 8.308032155000092,7589 "ee/spec/services/ci/sync_reports_to_approval_rules_service_spec.rb": 13.114478179999878,7590 "ee/spec/models/concerns/geo/verification_state_spec.rb": 6.702131138000141,7591 "ee/spec/helpers/vulnerabilities_helper_spec.rb": 13.070843356000069,7592 "ee/spec/services/ci/compare_license_scanning_reports_service_spec.rb": 12.6007643370001,7593 "ee/spec/models/project_ci_cd_setting_spec.rb": 8.694719266999982,7594 "ee/spec/services/epics/related_epic_links/create_service_spec.rb": 12.95577652299994,7595 "ee/spec/services/merge_requests/merge_service_spec.rb": 12.735421186000167,7596 "ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb": 7.052154705000021,7597 "ee/spec/services/app_sec/dast/site_profiles/update_service_spec.rb": 9.153884957000173,7598 "ee/spec/lib/gitlab/insights/reducers/count_per_period_reducer_spec.rb": 10.870359818999987,7599 "ee/spec/services/ci/create_pipeline_service_spec.rb": 8.075333748000048,7600 "ee/spec/services/geo/rename_repository_service_spec.rb": 6.106775806999849,7601 "ee/spec/elastic/migrate/20230316150000_add_hashed_root_namespace_id_to_merge_requests_spec.rb": 7.448367879999978,7602 "ee/spec/models/ee/dependency_proxy/blob_spec.rb": 5.646166264000158,7603 "ee/spec/models/incident_management/oncall_schedule_spec.rb": 7.210817614000007,7604 "ee/spec/models/concerns/ee/mentionable_spec.rb": 8.225193195999964,7605 "ee/spec/lib/gitlab/auth/group_saml/membership_updater_spec.rb": 5.797294512000008,7606 "ee/spec/models/approval_wrapped_any_approver_rule_spec.rb": 6.891035352000017,7607 "ee/spec/services/ee/users/update_service_spec.rb": 4.776228510999999,7608 "ee/spec/models/package_metadata/package_spec.rb": 1.8265774520000377,7609 "ee/spec/policies/dast/profile_policy_spec.rb": 2.602028259000008,7610 "ee/spec/elastic/migrate/20230426195404_add_hidden_to_merge_requests_spec.rb": 7.753392656999949,7611 "ee/spec/services/product_analytics/initialize_stack_service_spec.rb": 2.7694611039999018,7612 "ee/spec/lib/gitlab/import_export/project/custom_template_restorer_spec.rb": 4.692690293999931,7613 "ee/spec/services/vulnerability_exports/exporters/csv_service_spec.rb": 6.476711323000018,7614 "ee/spec/workers/security/orchestration_policy_rule_schedule_worker_spec.rb": 5.982907073999968,7615 "ee/spec/services/deployments/auto_rollback_service_spec.rb": 5.290482855999926,7616 "ee/spec/helpers/ee/issuables_helper_spec.rb": 3.014958237999963,7617 "ee/spec/helpers/ee/ci/runners_helper_spec.rb": 2.015672474999974,7618 "ee/spec/graphql/types/dast/profile_schedule_type_spec.rb": 1.3987260569999762,7619 "ee/spec/models/incident_management/escalation_rule_spec.rb": 2.5460900590001074,7620 "ee/spec/finders/geo/design_registry_finder_spec.rb": 3.544586944999992,7621 "ee/spec/services/groups/restore_service_spec.rb": 3.3282517559998723,7622 "ee/spec/lib/gitlab/geo/signed_data_spec.rb": 1.2386476599999696,7623 "ee/spec/lib/gitlab/geo/oauth/login_state_spec.rb": 1.4342829689999235,7624 "ee/spec/services/historical_user_data/csv_service_spec.rb": 0.9573133280000548,7625 "ee/spec/services/security/merge_request_security_report_generation_service_spec.rb": 3.6787607670000853,7626 "ee/spec/models/allowed_email_domain_spec.rb": 1.6320467909999934,7627 "ee/spec/services/package_metadata/ingestion/tasks/ingest_package_versions_spec.rb": 0.8790190230001826,7628 "ee/spec/models/app_sec/fuzzing/api/ci_configuration_spec.rb": 0.6019330489998538,7629 "ee/spec/finders/concerns/epics/with_access_check_spec.rb": 4.486975879999818,7630 "ee/spec/lib/gitlab/code_owners/validator_spec.rb": 4.567556969999941,7631 "ee/spec/workers/llm/tanuki_bot/update_worker_spec.rb": 2.034851190000154,7632 "ee/spec/services/ci/process_pipeline_service_spec.rb": 4.664067135999858,7633 "ee/spec/services/gitlab_subscriptions/trials/apply_trial_service_spec.rb": 1.5368821209999624,7634 "ee/spec/graphql/mutations/merge_requests/set_assignees_spec.rb": 4.457092529999954,7635 "ee/spec/services/llm/explain_code_service_spec.rb": 2.829863526999816,7636 "ee/spec/serializers/geo_project_registry_entity_spec.rb": 3.5831399860001056,7637 "ee/spec/serializers/dependency_entity_spec.rb": 4.078032278999899,7638 "ee/spec/lib/ee/backup/repositories_spec.rb": 3.7497761519998676,7639 "ee/spec/policies/event_policy_spec.rb": 4.28650087699998,7640 "ee/spec/services/ci/minutes/additional_packs/change_namespace_service_spec.rb": 1.9724524160001238,7641 "ee/spec/graphql/resolvers/dast_site_validation_resolver_spec.rb": 2.6542556839999634,7642 "ee/spec/lib/audit/group_changes_auditor_spec.rb": 3.26761813600001,7643 "ee/spec/lib/audit/project_ci_cd_setting_changes_auditor_spec.rb": 2.448078740000028,7644 "ee/spec/models/ci/minutes/additional_pack_spec.rb": 2.53652268299993,7645 "ee/spec/finders/security/training_providers/base_url_finder_spec.rb": 1.4635731460000443,7646 "ee/spec/services/geo/blob_upload_service_spec.rb": 1.5550277889999506,7647 "ee/spec/lib/gitlab/ci/templates/coverage_fuzzing_latest_gitlab_ci_yaml_spec.rb": 2.597628235000002,7648 "ee/spec/helpers/ee/graph_helper_spec.rb": 1.0610341920000792,7649 "ee/spec/services/external_status_checks/destroy_service_spec.rb": 1.414651848999938,7650 "ee/spec/lib/ee/gitlab/ci/config/entry/bridge_spec.rb": 1.0975281589999213,7651 "ee/spec/services/epic_issues/update_service_spec.rb": 3.055888483999979,7652 "ee/spec/policies/dast/pre_scan_verification_policy_spec.rb": 2.8305297179999798,7653 "ee/spec/workers/iterations_update_status_worker_spec.rb": 0.9029268320000483,7654 "ee/spec/serializers/ee/note_entity_spec.rb": 3.009630156999947,7655 "ee/spec/finders/incident_management/escalation_policies_finder_spec.rb": 2.2876315630001045,7656 "ee/spec/tasks/gitlab/check_rake_spec.rb": 2.659201268999823,7657 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/after_config_spec.rb": 1.883245979000094,7658 "ee/spec/lib/audit/group_merge_request_approval_setting_changes_auditor_spec.rb": 1.3647216230001504,7659 "ee/spec/lib/gitlab/usage/metrics/instrumentations/user_cap_setting_enabled_metric_spec.rb": 1.3192152250001072,7660 "ee/spec/graphql/mutations/incident_management/oncall_rotation/destroy_spec.rb": 1.2065540529999907,7661 "ee/spec/models/integrations/github/remote_project_spec.rb": 0.6517019789998812,7662 "ee/spec/services/deploy_keys/create_service_spec.rb": 3.094064491000154,7663 "ee/spec/lib/gitlab_subscriptions/upcoming_reconciliation_entity_spec.rb": 1.2268985709999924,7664 "ee/spec/services/package_metadata/ingestion/tasks/ingest_packages_spec.rb": 0.9152361620001557,7665 "ee/spec/models/product_analytics/panel_spec.rb": 1.2308119609999721,7666 "ee/spec/workers/ci/initial_pipeline_process_worker_spec.rb": 2.0422246579998955,7667 "ee/spec/lib/gitlab/data_builder/vulnerability_spec.rb": 2.3309148509999886,7668 "ee/spec/models/ee/alert_management/alert_spec.rb": 1.4512802970000394,7669 "ee/spec/models/container_registry/event_spec.rb": 1.6691074420000405,7670 "ee/spec/policies/incident_management/oncall_rotation_policy_spec.rb": 1.673202432999915,7671 "ee/spec/serializers/member_user_entity_spec.rb": 1.4999053740000363,7672 "ee/spec/models/dora/deployment_frequency_metric_spec.rb": 2.29599766299998,7673 "ee/spec/services/audit_events/protected_branch_audit_event_service_spec.rb": 1.323161325000001,7674 "ee/spec/lib/world_spec.rb": 0.8773384640001041,7675 "ee/spec/models/elasticsearch_indexed_namespace_spec.rb": 1.53345106200004,7676 "ee/spec/workers/analytics/cycle_analytics/consistency_worker_spec.rb": 1.5271486019998974,7677 "ee/spec/policies/approval_state_policy_spec.rb": 1.4789367849998598,7678 "ee/spec/lib/ee/gitlab/ci/pipeline/quota/size_spec.rb": 1.7112362099999245,7679 "ee/spec/elastic/migrate/20210910094600_add_namespace_ancestry_ids_to_issues_mapping_spec.rb": 0.4141296440000133,7680 "ee/spec/finders/incident_management/member_oncall_rotations_finder_spec.rb": 1.5775370090000251,7681 "ee/spec/lib/ee/api/entities/geo_site_spec.rb": 1.5082645540001067,7682 "ee/spec/lib/ee/gitlab/application_rate_limiter_spec.rb": 0.3670292269998754,7683 "ee/spec/helpers/ee/projects/security/dast_configuration_helper_spec.rb": 1.6321066250000058,7684 "ee/spec/finders/namespaces/billed_users_finder_spec.rb": 2.1226262440000028,7685 "ee/spec/lib/gitlab/proxy_spec.rb": 0.33542433799993887,7686 "ee/spec/services/system_notes/escalations_service_spec.rb": 1.2294352819999403,7687 "ee/spec/services/path_locks/lock_service_spec.rb": 1.332887554999843,7688 "ee/spec/lib/gitlab/metrics/samplers/global_search_sampler_spec.rb": 0.9100330819999272,7689 "ee/spec/workers/ee/namespaces/root_statistics_worker_spec.rb": 1.1578731870001775,7690 "ee/spec/services/audit_events/streaming/headers/destroy_service_spec.rb": 0.8898132530000566,7691 "ee/spec/services/ee/notes/destroy_service_spec.rb": 1.3623299539999607,7692 "ee/spec/lib/ee/gitlab/prometheus/metric_group_spec.rb": 1.260959400000047,7693 "ee/spec/models/analytics/value_stream_dashboard/aggregation_spec.rb": 0.975294988000087,7694 "ee/spec/graphql/types/vulnerability/external_issue_link_external_tracker_enum_spec.rb": 0.2966822619998766,7695 "ee/spec/components/namespaces/free_user_cap/notification_alert_component_spec.rb": 1.1344647389998954,7696 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/security_orchestration_policy_spec.rb": 1.0253063650000058,7697 "ee/spec/workers/namespaces/free_user_cap/over_limit_notification_worker_spec.rb": 0.8771045040000445,7698 "ee/spec/lib/ee/sidebars/projects/menus/repository_menu_spec.rb": 1.119988628999863,7699 "ee/spec/services/projects/import_export/export_service_spec.rb": 1.3525423150001643,7700 "ee/spec/policies/approval_project_rule_policy_spec.rb": 1.267743949000078,7701 "ee/spec/lib/gitlab/ci/config/entry/secret_spec.rb": 0.6846191460001592,7702 "ee/spec/workers/geo/batch/project_registry_worker_spec.rb": 1.1913173350001216,7703 "ee/spec/lib/gitlab/import_export/group/group_and_descendants_repo_restorer_spec.rb": 0.7183776350000244,7704 "ee/spec/views/shared/issuable/_iterations_dropdown.html.haml_spec.rb": 0.8989746830000058,7705 "ee/spec/services/ee/groups/import_export/export_service_spec.rb": 1.2070387429998846,7706 "ee/spec/finders/ee/alert_management/http_integrations_finder_spec.rb": 1.0157459659999404,7707 "ee/spec/graphql/mutations/audit_events/streaming/headers/create_spec.rb": 0.897280672999841,7708 "ee/spec/services/security/track_scan_service_spec.rb": 0.9894859169999108,7709 "ee/spec/lib/elastic/multi_version_class_proxy_spec.rb": 0.5547803360000216,7710 "ee/spec/lib/gitlab/llm/chain/utils/prompt_spec.rb": 0.5031551780000427,7711 "ee/spec/presenters/project_clusterable_presenter_spec.rb": 1.0954223810001622,7712 "ee/spec/lib/gitlab/ip_address_state_spec.rb": 0.5149385869999605,7713 "ee/spec/models/vulnerability_user_mention_spec.rb": 0.5598529549999967,7714 "ee/spec/policies/geo_node_policy_spec.rb": 0.8418196070001613,7715 "ee/spec/lib/ee/sidebars/projects/panel_spec.rb": 0.9018270629999279,7716 "ee/spec/workers/security/auto_fix_worker_spec.rb": 0.7829866900001434,7717 "ee/spec/services/namespaces/free_user_cap/clear_over_limit_notification_service_spec.rb": 0.5294632359998559,7718 "ee/spec/serializers/fork_namespace_entity_spec.rb": 0.8505581859999438,7719 "ee/spec/presenters/ee/instance_clusterable_presenter_spec.rb": 0.7373925339998095,7720 "ee/spec/views/admin/users/_credit_card_info.html.haml_spec.rb": 0.6458854200000133,7721 "ee/spec/helpers/incident_management/oncall_schedule_helper_spec.rb": 0.612446281000075,7722 "ee/spec/helpers/ee/projects/security/configuration_helper_spec.rb": 0.5827609529999336,7723 "ee/spec/lib/remote_development/workspaces/reconcile/params_parser_spec.rb": 0.43889371199998095,7724 "ee/spec/views/compliance_management/compliance_framework/_compliance_framework_badge.html.haml_spec.rb": 0.529733836999867,7725 "ee/spec/elastic/migrate/20220118150500_delete_orphaned_commits_spec.rb": 0.4168557430000419,7726 "ee/spec/views/devise/registrations/new.html.haml_spec.rb": 0.7254874139998719,7727 "ee/spec/lib/gitlab/code_owners/reference_extractor_spec.rb": 0.39582991499992204,7728 "ee/spec/lib/gem_extensions/elasticsearch/model/indexing/instance_methods_spec.rb": 0.5657506840000224,7729 "ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb": 0.40836655399994015,7730 "ee/spec/views/groups/analytics/dashboards/value_streams_dashboard.html.haml_spec.rb": 0.41048048400011794,7731 "ee/spec/elastic/migrate/20221018125700_create_user_index_spec.rb": 0.385045325999954,7732 "ee/spec/lib/gitlab/project_template_spec.rb": 0.32300413899997693,7733 "ee/spec/graphql/types/protected_environment_type_spec.rb": 0.38142736600002536,7734 "ee/spec/services/sbom/ingestion/ingest_reports_service_spec.rb": 0.47943248000001404,7735 "ee/spec/views/groups/group_members/index.html.haml_spec.rb": 0.5144288070000584,7736 "ee/spec/lib/gitlab/llm/completions_factory_spec.rb": 0.3522807179999745,7737 "ee/spec/workers/audit_events/user_impersonation_event_create_worker_spec.rb": 0.45752950100018097,7738 "ee/spec/views/operations/environments.html.haml_spec.rb": 0.3475091179998344,7739 "ee/spec/graphql/types/vulnerable_kubernetes_resource_type_spec.rb": 0.2889140510001198,7740 "ee/spec/graphql/types/merge_requests/approval_state_type_spec.rb": 0.33593918800011124,7741 "ee/spec/graphql/types/ci/code_coverage_summary_spec.rb": 0.3357496189998983,7742 "ee/spec/graphql/types/requirements_management/test_report_state_enum_spec.rb": 0.280789471999924,7743 "ee/spec/uploaders/every_gitlab_uploader_spec.rb": 0.3154677800000627,7744 "ee/spec/lib/gitlab/graphql/aggregations/issuables/lazy_links_aggregate_spec.rb": 0.27699453300010646,7745 "ee/spec/views/shared/billings/_billing_plan_actions.html.haml_spec.rb": 0.36970458700011477,7746 "ee/spec/routing/directs/iteration_spec.rb": 0.2991886810000324,7747 "ee/spec/graphql/types/subscription_type_spec.rb": 0.2862702919999265,7748 "ee/spec/graphql/ee/types/mutation_type_spec.rb": 0.2839681919999748,7749 "ee/spec/models/milestone_spec.rb": 0.2981171210001321,7750 "ee/spec/lib/gitlab/usage/metrics/instrumentations/historical_max_users_metrics_spec.rb": 0.3042305710000619,7751 "ee/spec/graphql/representation/vulnerability_scanner_entry_spec.rb": 0.29609975199991827752}7753Knapsack global time execution for tests: 26m 31s7754Pending: (Failures listed here are expected and do not affect your suite's status)7755 1) IncidentManagement::OncallSchedule 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 blank7756 # No reason given7757 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:497758 2) IncidentManagement::OncallSchedule 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 blank7759 # No reason given7760 # ./spec/support/shared_examples/models/atomic_internal_id_shared_examples.rb:577761 3) Geo::Scheduler::SchedulerWorker needs many other specs7762 # Not yet implemented7763 # ./ee/spec/workers/geo/scheduler/scheduler_worker_spec.rb:127764Failures:7765 1) Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when a error occurs during the vulnerability creation behaves like an error occurs propagates the error7766 Failure/Error: expect(subject.message).to eq(error_message)7767 expected: "Security Finding not found"7768 got: "Unable to apply patch"7769 (compared using ==)7770 Shared Example Group: "an error occurs" called from ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:1567771 # ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:121:in `block (3 levels) in <top (required)>'7772 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'7773 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7774 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'7775 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'7776 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'7777 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'7778 # ./spec/spec_helper.rb:243:in `block (2 levels) in <top (required)>'7779 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7780 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'7781 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7782 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7783 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7784 2) Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when a error occurs during the merge link creation behaves like an error occurs propagates the error7785 Failure/Error: expect(subject.message).to eq(error_message)7786 expected: "Merge request is already linked to this vulnerability"7787 got: "Unable to apply patch"7788 (compared using ==)7789 Shared Example Group: "an error occurs" called from ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:1697790 # ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:121:in `block (3 levels) in <top (required)>'7791 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'7792 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7793 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'7794 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'7795 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'7796 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'7797 # ./spec/spec_helper.rb:243:in `block (2 levels) in <top (required)>'7798 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7799 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'7800 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7801 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7802 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7803 3) Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when there is no vulnerability for the security finding does create a new Vulnerability, MergeRequest,and MergeRequestLink7804 Failure/Error:7805 expect { subject }.to change {7806 project.vulnerabilities.count7807 }.by(1)7808 .and(change(MergeRequest, :count).by(1))7809 .and(change(Vulnerabilities::MergeRequestLink, :count).by(1))7810 expected `project.vulnerabilities.count` to have changed by 1, but was changed by 07811 ...and:7812 expected `MergeRequest.count` to have changed by 1, but was changed by 07813 ...and:7814 expected `Vulnerabilities::MergeRequestLink.count` to have changed by 1, but was changed by 07815 # ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:110:in `block (3 levels) in <top (required)>'7816 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'7817 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'7818 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'7819 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'7820 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'7821 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'7822 # ./spec/spec_helper.rb:243:in `block (2 levels) in <top (required)>'7823 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'7824 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'7825 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'7826 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'7827 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'7828Finished in 26 minutes 35 seconds (files took 1 minute 40.85 seconds to load)78292973 examples, 3 failures, 3 pending7830Failed examples:7831rspec './ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb[1:6:1:1]' # Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when a error occurs during the vulnerability creation behaves like an error occurs propagates the error7832rspec './ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb[1:7:1:1]' # Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when a error occurs during the merge link creation behaves like an error occurs propagates the error7833rspec ./ee/spec/services/vulnerabilities/security_finding/create_merge_request_service_spec.rb:109 # Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute when there is no vulnerability for the security finding does create a new Vulnerability, MergeRequest,and MergeRequestLink7834Randomized with seed 436747835[TEST PROF INFO] Time spent in factories: 12:50.701 (47.15% of total time)7836Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected7837RSpec exited with 1.7838RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_unit_pg13_13_18_report.txt7839Retrying the failing examples in a new RSpec process...7840$ gem install junit_merge --no-document --version 0.1.27841Successfully installed nokogiri-1.15.2-x86_64-linux7842Successfully installed junit_merge-0.1.278432 gems installed7844==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 2 seconds.7845Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-retry-4400964829.json --format RspecJunitFormatter --out rspec/rspec-retry-4400964829.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"7846warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.7848Run options: include {:last_run_status=>"failed"}7849Test environment set up in 0.540372929 seconds7850Vulnerabilities::SecurityFinding::CreateMergeRequestService#execute7851 # order random7852 when a error occurs during the merge link creation7853 behaves like an error occurs7854 propagates the error7855 when a error occurs during the vulnerability creation7856 behaves like an error occurs7857 propagates the error7858 when there is no vulnerability for the security finding7859 does create a new Vulnerability, MergeRequest,and MergeRequestLink7860Finished in 9.07 seconds (files took 41.2 seconds to load)78613 examples, 0 failures7862Randomized with seed 384287863[TEST PROF INFO] Time spent in factories: 00:02.079 (19.33% of total time)7864Loading rspec/rspec-4400964829.json...7865Merged rspec/rspec-retry-4400964829.json adding 5 results.7866Saved rspec/rspec-4400964829.json.7867A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...7868Flaky test was not part of this MR.7870Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy7872Uploading artifacts...7873coverage/: found 4 matching artifact files and directories 7874crystalball/: found 2 matching artifact files and directories 7875deprecations/: found 7 matching artifact files and directories 7876knapsack/: found 4 matching artifact files and directories 7877WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7878rspec/: found 19 matching artifact files and directories 7879WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7880log/*.log: found 20 matching artifact files and directories 7881WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964829/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7882WARNING: Retrying... context=artifacts-uploader error=request redirected7883Uploading artifacts as "archive" to coordinator... 201 Created id=4400964829 responseStatus=201 Created token=64_6xxE-7884Uploading artifacts...7885rspec/rspec-*.xml: found 2 matching artifact files and directories 7886WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964829/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7887WARNING: Retrying... context=artifacts-uploader error=request redirected7888Uploading artifacts as "junit" to coordinator... 201 Created id=4400964829 responseStatus=201 Created token=64_6xxE-7890Job succeeded