rspec-ee unit pg13 12/18
Passed Started
by
@fabiopitino
Fabio Pitino
1Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)2 on blue-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org tDjA3Sp3, system ID: s_96a8ae3d10503 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-tdja3sp3-project-278964-concurrent-0 via runner-tdja3sp3-private-1685686950-49555fac...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 | 30.43 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_ruvmY57Downloading artifacts for detect-tests (4400964025)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964025 responseStatus=200 OK token=64_ruvmY59Downloading artifacts for retrieve-tests-metadata (4400964028)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964028 responseStatus=200 OK token=64_ruvmY61Downloading artifacts for setup-test-env (4400964019)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964019 responseStatus=200 OK token=64_ruvmY64Using 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_12_18_report.json773FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json774FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_12_18_report.json775NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_12_18_report.json776SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec-ee_unit_pg13_12_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-4400964828.json --format RspecJunitFormatter --out rspec/rspec-4400964828.xml --tag ~quarantine --tag ~level:background_migration -- ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb ee/spec/services/quick_actions/interpret_service_spec.rb ee/spec/models/boards/epic_board_position_spec.rb ee/spec/lib/elastic/latest/git_class_proxy_spec.rb ee/spec/replicators/geo/ci_secure_file_replicator_spec.rb ee/spec/lib/gitlab/elastic/indexer_spec.rb ee/spec/models/vulnerabilities/read_spec.rb ee/spec/services/boards/lists/update_service_spec.rb ee/spec/finders/merge_requests/by_approvers_finder_spec.rb ee/spec/lib/ee/gitlab/background_migration/create_security_setting_spec.rb ee/spec/lib/gitlab/llm/vertex_ai/client_spec.rb ee/spec/services/security/security_orchestration_policies/process_scan_result_policy_service_spec.rb ee/spec/services/projects/create_from_template_service_spec.rb ee/spec/services/epics/tree_reorder_service_spec.rb ee/spec/finders/autocomplete/vulnerabilities_autocomplete_finder_spec.rb ee/spec/services/search/index_repair_service_spec.rb ee/spec/models/ee/ci/secure_file_spec.rb ee/spec/lib/incident_management/oncall_shift_generator_spec.rb ee/spec/finders/issues_finder_spec.rb ee/spec/workers/geo/verification_state_backfill_worker_spec.rb ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb ee/spec/serializers/merge_request_widget_entity_spec.rb ee/spec/models/productivity_analytics_spec.rb ee/spec/lib/gitlab/llm/open_ai/client_spec.rb ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb ee/spec/models/merge_requests/compliance_violation_spec.rb ee/spec/services/arkose/token_verification_service_spec.rb ee/spec/services/projects/restore_service_spec.rb ee/spec/models/ee/ci/build_dependencies_spec.rb ee/spec/presenters/approval_rule_presenter_spec.rb ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb ee/spec/lib/gitlab/search/index_curator_spec.rb ee/spec/lib/remote_development/workspaces/reconcile/reconcile_processor_scenarios_spec.rb ee/spec/finders/snippets_finder_spec.rb ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb ee/spec/services/ldap_group_reset_service_spec.rb ee/spec/lib/gitlab/license_scanning/package_licenses_spec.rb ee/spec/lib/elastic/latest/git_class_proxy_add_suffix_project_in_wiki_rid_running_wiki_search_spec.rb ee/spec/lib/ee/sidebars/projects/menus/issues_menu_spec.rb ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb ee/spec/services/app_sec/dast/profiles/create_service_spec.rb ee/spec/models/concerns/elastic/snippet_spec.rb ee/spec/workers/project_import_schedule_worker_spec.rb ee/spec/finders/audit_event_finder_spec.rb ee/spec/graphql/mutations/projects/set_locked_spec.rb ee/spec/lib/gitlab/ci/templates/Security/bas_latest_ci_yaml_spec.rb ee/spec/services/groups/destroy_service_spec.rb ee/spec/models/dast/site_profile_secret_variable_spec.rb ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb ee/spec/lib/gitlab/ci/reports/security/locations/container_scanning_spec.rb ee/spec/finders/sbom/dependencies_finder_spec.rb ee/spec/workers/geo/metrics_update_worker_spec.rb ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb ee/spec/models/issue_link_spec.rb ee/spec/lib/gitlab/geo/registry_batcher_spec.rb ee/spec/graphql/mutations/security/finding/create_merge_request_spec.rb ee/spec/models/ai/project/conversations_spec.rb ee/spec/services/work_items/update_service_spec.rb ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb ee/spec/services/llm/execute_method_service_spec.rb ee/spec/lib/gitlab/llm/content_parser_spec.rb ee/spec/services/audit_events/export_csv_service_spec.rb ee/spec/lib/quality/seeders/vulnerabilities_spec.rb ee/spec/models/ee/groups/feature_setting_spec.rb ee/spec/graphql/mutations/compliance_management/frameworks/create_spec.rb ee/spec/workers/geo/verification_worker_spec.rb ee/spec/helpers/timeboxes_helper_spec.rb ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb ee/spec/services/iterations/cadences/destroy_service_spec.rb ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb ee/spec/services/elastic/indexing_control_service_spec.rb ee/spec/workers/gitlab_subscriptions/trials/apply_trial_worker_spec.rb ee/spec/lib/gitlab/geo/geo_tasks_spec.rb ee/spec/graphql/resolvers/iterations/cadences_resolver_spec.rb ee/spec/lib/gitlab/ci/templates/sast_iac_gitlab_ci_yaml_spec.rb ee/spec/graphql/mutations/dast_scanner_profiles/create_spec.rb ee/spec/graphql/types/dast_scanner_profile_type_spec.rb ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb ee/spec/graphql/resolvers/external_issue_resolver_spec.rb ee/spec/models/incident_management/pending_escalations/alert_spec.rb ee/spec/graphql/mutations/epics/update_spec.rb ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb ee/spec/lib/ee/sidebars/groups/menus/issues_menu_spec.rb ee/spec/finders/dast_scanner_profiles_finder_spec.rb ee/spec/helpers/ee/dashboard_helper_spec.rb ee/spec/graphql/types/applied_ml/suggested_reviewers_type_spec.rb ee/spec/workers/active_user_count_threshold_worker_spec.rb ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb ee/spec/graphql/mutations/boards/update_spec.rb ee/spec/lib/ee/api/entities/scim/users_spec.rb ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb ee/spec/policies/incident_management/oncall_shift_policy_spec.rb ee/spec/workers/zoekt/indexer_worker_spec.rb ee/spec/finders/dast/profiles_finder_spec.rb ee/spec/validators/user_id_existence_validator_spec.rb ee/spec/services/ee/commits/create_service_spec.rb ee/spec/helpers/merge_checks_helper_spec.rb ee/spec/lib/gitlab/instrumentation/zoekt_spec.rb ee/spec/services/security/token_revocation_service_spec.rb ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_closed_spec.rb ee/spec/services/ci/runners/set_runner_associated_projects_service_spec.rb ee/spec/lib/arkose/logger_spec.rb ee/spec/views/projects/security/corpus_management/show.html.haml_spec.rb ee/spec/services/audit_events/custom_audit_event_service_spec.rb ee/spec/services/groups/update_repository_storage_service_spec.rb ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb ee/spec/services/milestones/destroy_service_spec.rb ee/spec/services/projects/disable_legacy_inactive_projects_service_spec.rb ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb ee/spec/services/audit_events/build_service_spec.rb ee/spec/finders/ee/work_items/work_items_finder_spec.rb ee/spec/lib/sidebars/admin/menus/subscription_menu_spec.rb ee/spec/graphql/types/boards/epic_board_type_spec.rb ee/spec/lib/gitlab/metrics/global_search_indexing_slis_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb ee/spec/models/audit_events/streaming/header_spec.rb ee/spec/services/personal_access_tokens/revoke_invalid_tokens_spec.rb ee/spec/helpers/projects/on_demand_scans_helper_spec.rb ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb ee/spec/finders/ee/user_recent_events_finder_spec.rb ee/spec/views/admin/users/index.html.haml_spec.rb ee/spec/graphql/mutations/audit_events/streaming/headers/destroy_spec.rb ee/spec/workers/security/sync_scan_policies_worker_spec.rb ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb ee/spec/lib/gitlab/insights/executors/issuable_executor_spec.rb ee/spec/services/security/override_uuids_service_spec.rb ee/spec/services/geo/repository_renamed_event_store_spec.rb ee/spec/graphql/resolvers/product_analytics/visualization_resolver_spec.rb ee/spec/models/elastic/reindexing_slice_spec.rb ee/spec/services/milestones/promote_service_spec.rb ee/spec/lib/gitlab/gitaly_client/with_feature_flag_actors_spec.rb ee/spec/lib/gitlab/tree_summary_spec.rb ee/spec/services/concerns/search/elasticsearchable_spec.rb ee/spec/helpers/roadmaps_helper_spec.rb ee/spec/lib/ee/gitlab/scim/filter_parser_spec.rb ee/spec/views/projects/security/dast_scanner_profiles/edit.html.haml_spec.rb ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb ee/spec/lib/gitlab/path_locks_finder_spec.rb ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb ee/spec/services/sitemap/create_service_spec.rb ee/spec/serializers/remote_mirror_entity_spec.rb ee/spec/services/elastic/index_projects_service_spec.rb ee/spec/graphql/resolvers/security_training_urls_resolver_spec.rb ee/spec/services/ee/issues/after_create_service_spec.rb ee/spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb ee/spec/presenters/repository_presenter_spec.rb ee/spec/lib/gitlab/circuit_breaker/notifier_spec.rb ee/spec/serializers/scim_oauth_access_token_entity_spec.rb ee/spec/serializers/evidences/build_artifact_entity_spec.rb ee/spec/lib/gitlab/llm/open_ai/completions/explain_code_spec.rb ee/spec/graphql/types/geo/project_wiki_repository_registry_type_spec.rb ee/spec/elastic/migrate/20210722112500_add_upvotes_mappings_to_merge_requests_spec.rb ee/spec/policies/base_policy_spec.rb ee/spec/graphql/types/geo/package_file_registry_type_spec.rb ee/spec/views/admin/dev_ops_report/show.html.haml_spec.rb ee/spec/lib/gitlab/items_collection_spec.rb ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb ee/spec/models/storage_shard_spec.rb ee/spec/graphql/types/security_scanners_spec.rb ee/spec/models/snippet_spec.rb ee/spec/graphql/types/deployments/approval_type_spec.rb ee/spec/workers/geo/sync_timeout_cron_worker_spec.rb ee/spec/presenters/ee/search_service_presenter_spec.rb ee/spec/models/embedding/schema_migration_spec.rb ee/spec/helpers/nav/new_dropdown_helper_spec.rb ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb ee/spec/lib/ee/api/entities/groups/repository_storage_move_spec.rb ee/spec/graphql/types/epic_connection_type_spec.rb ee/spec/graphql/types/vulnerability_details/markdown_type_spec.rb ee/spec/graphql/types/vulnerability_location/dast_type_spec.rb ee/spec/graphql/types/vulnerability/external_issue_link_type_spec.rb ee/spec/serializers/security/vulnerability_report_data_serializer_spec.rb ee/spec/models/search/index_spec.rb ee/spec/graphql/types/vulnerability_identifier_type_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.544516806 seconds785Dependency-Scanning.gitlab-ci.yml786 the created pipeline787 when project has no license788 includes no jobs789 when project has Ultimate license790 when DEPENDENCY_SCANNING_DISABLED=1791 includes no jobs792 when DS_EXCLUDED_ANALYZERS set to793 exclude794 nothing795 creates pipeline with excluded analyzers skipped796 gemnasium797 creates pipeline with excluded analyzers skipped798 gemnasium-maven799 creates pipeline with excluded analyzers skipped800 gemnasium-python801 creates pipeline with excluded analyzers skipped802 two803 creates pipeline with excluded analyzers skipped804 three805 creates pipeline with excluded analyzers skipped806 four807 creates pipeline with excluded analyzers skipped808 all analyzers excluded809 creates a pipeline excluding jobs from specified analyzers810 by default811 Go812 with file at root813 creates a pipeline with the expected jobs814 sets the image suffix as expected815 with file at depth 1816 creates a pipeline with the expected jobs817 sets the image suffix as expected818 with file at depth 2819 creates a pipeline with the expected jobs820 sets the image suffix as expected821 with file at depth > 2822 creates a pipeline with the expected jobs823 sets the image suffix as expected824 Java825 with file at root826 creates a pipeline with the expected jobs827 sets the image suffix as expected828 with file at depth 1829 creates a pipeline with the expected jobs830 sets the image suffix as expected831 with file at depth 2832 creates a pipeline with the expected jobs833 sets the image suffix as expected834 with file at depth > 2835 creates a pipeline with the expected jobs836 sets the image suffix as expected837 Java Gradle838 with file at root839 creates a pipeline with the expected jobs840 sets the image suffix as expected841 with file at depth 1842 creates a pipeline with the expected jobs843 sets the image suffix as expected844 with file at depth 2845 creates a pipeline with the expected jobs846 sets the image suffix as expected847 with file at depth > 2848 creates a pipeline with the expected jobs849 sets the image suffix as expected850 Java Gradle Kotlin DSL851 with file at root852 creates a pipeline with the expected jobs853 sets the image suffix as expected854 with file at depth 1855 creates a pipeline with the expected jobs856 sets the image suffix as expected857 with file at depth 2858 creates a pipeline with the expected jobs859 sets the image suffix as expected860 with file at depth > 2861 creates a pipeline with the expected jobs862 sets the image suffix as expected863 Javascript package-lock.json864 with file at root865 creates a pipeline with the expected jobs866 sets the image suffix as expected867 with file at depth 1868 creates a pipeline with the expected jobs869 sets the image suffix as expected870 with file at depth 2871 creates a pipeline with the expected jobs872 sets the image suffix as expected873 with file at depth > 2874 creates a pipeline with the expected jobs875 sets the image suffix as expected876 Javascript yarn.lock877 with file at root878 creates a pipeline with the expected jobs879 sets the image suffix as expected880 with file at depth 1881 creates a pipeline with the expected jobs882 sets the image suffix as expected883 with file at depth 2884 creates a pipeline with the expected jobs885 sets the image suffix as expected886 with file at depth > 2887 creates a pipeline with the expected jobs888 sets the image suffix as expected889 Javascript npm-shrinkwrap.json890 with file at root891 creates a pipeline with the expected jobs892 sets the image suffix as expected893 with file at depth 1894 creates a pipeline with the expected jobs895 sets the image suffix as expected896 with file at depth 2897 creates a pipeline with the expected jobs898 sets the image suffix as expected899 with file at depth > 2900 creates a pipeline with the expected jobs901 sets the image suffix as expected902 Multiple languages903 with file at root904 creates a pipeline with the expected jobs905 sets the image suffix as expected906 with file at depth 1907 creates a pipeline with the expected jobs908 sets the image suffix as expected909 with file at depth 2910 creates a pipeline with the expected jobs911 sets the image suffix as expected912 with file at depth > 2913 creates a pipeline with the expected jobs914 sets the image suffix as expected915 NuGet916 with file at root917 creates a pipeline with the expected jobs918 sets the image suffix as expected919 with file at depth 1920 creates a pipeline with the expected jobs921 sets the image suffix as expected922 with file at depth 2923 creates a pipeline with the expected jobs924 sets the image suffix as expected925 with file at depth > 2926 creates a pipeline with the expected jobs927 sets the image suffix as expected928 Conan929 with file at root930 creates a pipeline with the expected jobs931 sets the image suffix as expected932 with file at depth 1933 creates a pipeline with the expected jobs934 sets the image suffix as expected935 with file at depth 2936 creates a pipeline with the expected jobs937 sets the image suffix as expected938 with file at depth > 2939 creates a pipeline with the expected jobs940 sets the image suffix as expected941 PHP942 with file at root943 creates a pipeline with the expected jobs944 sets the image suffix as expected945 with file at depth 1946 creates a pipeline with the expected jobs947 sets the image suffix as expected948 with file at depth 2949 creates a pipeline with the expected jobs950 sets the image suffix as expected951 with file at depth > 2952 creates a pipeline with the expected jobs953 sets the image suffix as expected954 Python requirements.txt955 with file at root956 creates a pipeline with the expected jobs957 sets the image suffix as expected958 with file at depth 1959 creates a pipeline with the expected jobs960 sets the image suffix as expected961 with file at depth 2962 creates a pipeline with the expected jobs963 sets the image suffix as expected964 with file at depth > 2965 creates a pipeline with the expected jobs966 sets the image suffix as expected967 Python requirements.pip968 with file at root969 creates a pipeline with the expected jobs970 sets the image suffix as expected971 with file at depth 1972 creates a pipeline with the expected jobs973 sets the image suffix as expected974 with file at depth 2975 creates a pipeline with the expected jobs976 sets the image suffix as expected977 with file at depth > 2978 creates a pipeline with the expected jobs979 sets the image suffix as expected980 Python Pipfile981 with file at root982 creates a pipeline with the expected jobs983 sets the image suffix as expected984 with file at depth 1985 creates a pipeline with the expected jobs986 sets the image suffix as expected987 with file at depth 2988 creates a pipeline with the expected jobs989 sets the image suffix as expected990 with file at depth > 2991 creates a pipeline with the expected jobs992 sets the image suffix as expected993 Python requires.txt994 with file at root995 creates a pipeline with the expected jobs996 sets the image suffix as expected997 with file at depth 1998 creates a pipeline with the expected jobs999 sets the image suffix as expected1000 with file at depth 21001 creates a pipeline with the expected jobs1002 sets the image suffix as expected1003 with file at depth > 21004 creates a pipeline with the expected jobs1005 sets the image suffix as expected1006 Python with setup.py1007 with file at root1008 creates a pipeline with the expected jobs1009 sets the image suffix as expected1010 with file at depth 11011 creates a pipeline with the expected jobs1012 sets the image suffix as expected1013 with file at depth 21014 creates a pipeline with the expected jobs1015 sets the image suffix as expected1016 with file at depth > 21017 creates a pipeline with the expected jobs1018 sets the image suffix as expected1019 Python with poetry.lock1020 with file at root1021 creates a pipeline with the expected jobs1022 sets the image suffix as expected1023 with file at depth 11024 creates a pipeline with the expected jobs1025 sets the image suffix as expected1026 with file at depth 21027 creates a pipeline with the expected jobs1028 sets the image suffix as expected1029 with file at depth > 21030 creates a pipeline with the expected jobs1031 sets the image suffix as expected1032 Ruby Gemfile.lock1033 with file at root1034 creates a pipeline with the expected jobs1035 sets the image suffix as expected1036 with file at depth 11037 creates a pipeline with the expected jobs1038 sets the image suffix as expected1039 with file at depth 21040 creates a pipeline with the expected jobs1041 sets the image suffix as expected1042 with file at depth > 21043 creates a pipeline with the expected jobs1044 sets the image suffix as expected1045 Ruby gems.locked1046 with file at root1047 creates a pipeline with the expected jobs1048 sets the image suffix as expected1049 with file at depth 11050 creates a pipeline with the expected jobs1051 sets the image suffix as expected1052 with file at depth 21053 creates a pipeline with the expected jobs1054 sets the image suffix as expected1055 with file at depth > 21056 creates a pipeline with the expected jobs1057 sets the image suffix as expected1058 Scala1059 with file at root1060 creates a pipeline with the expected jobs1061 sets the image suffix as expected1062 with file at depth 11063 creates a pipeline with the expected jobs1064 sets the image suffix as expected1065 with file at depth 21066 creates a pipeline with the expected jobs1067 sets the image suffix as expected1068 with file at depth > 21069 creates a pipeline with the expected jobs1070 sets the image suffix as expected1071 when PIP_REQUIREMENTS_FILE is defined1072 creates a pipeline with the expected jobs1073 sets the image suffix as expected1074 project supported by gemnasium analyzer1075 sets default value for DS_REMEDIATE1076 when FIPS mode is enabled1077 Go1078 with file at root1079 creates a pipeline with the expected jobs1080 sets the image suffix as expected1081 with file at depth 11082 creates a pipeline with the expected jobs1083 sets the image suffix as expected1084 with file at depth 21085 creates a pipeline with the expected jobs1086 sets the image suffix as expected1087 with file at depth > 21088 creates a pipeline with the expected jobs1089 sets the image suffix as expected1090 Java1091 with file at root1092 creates a pipeline with the expected jobs1093 sets the image suffix as expected1094 with file at depth 11095 creates a pipeline with the expected jobs1096 sets the image suffix as expected1097 with file at depth 21098 creates a pipeline with the expected jobs1099 sets the image suffix as expected1100 with file at depth > 21101 creates a pipeline with the expected jobs1102 sets the image suffix as expected1103 Java Gradle1104 with file at root1105 creates a pipeline with the expected jobs1106 sets the image suffix as expected1107 with file at depth 11108 creates a pipeline with the expected jobs1109 sets the image suffix as expected1110 with file at depth 21111 creates a pipeline with the expected jobs1112 sets the image suffix as expected1113 with file at depth > 21114 creates a pipeline with the expected jobs1115 sets the image suffix as expected1116 Java Gradle Kotlin DSL1117 with file at root1118 creates a pipeline with the expected jobs1119 sets the image suffix as expected1120 with file at depth 11121 creates a pipeline with the expected jobs1122 sets the image suffix as expected1123 with file at depth 21124 creates a pipeline with the expected jobs1125 sets the image suffix as expected1126 with file at depth > 21127 creates a pipeline with the expected jobs1128 sets the image suffix as expected1129 Javascript package-lock.json1130 with file at root1131 creates a pipeline with the expected jobs1132 sets the image suffix as expected1133 with file at depth 11134 creates a pipeline with the expected jobs1135 sets the image suffix as expected1136 with file at depth 21137 creates a pipeline with the expected jobs1138 sets the image suffix as expected1139 with file at depth > 21140 creates a pipeline with the expected jobs1141 sets the image suffix as expected1142 Javascript yarn.lock1143 with file at root1144 creates a pipeline with the expected jobs1145 sets the image suffix as expected1146 with file at depth 11147 creates a pipeline with the expected jobs1148 sets the image suffix as expected1149 with file at depth 21150 creates a pipeline with the expected jobs1151 sets the image suffix as expected1152 with file at depth > 21153 creates a pipeline with the expected jobs1154 sets the image suffix as expected1155 Javascript npm-shrinkwrap.json1156 with file at root1157 creates a pipeline with the expected jobs1158 sets the image suffix as expected1159 with file at depth 11160 creates a pipeline with the expected jobs1161 sets the image suffix as expected1162 with file at depth 21163 creates a pipeline with the expected jobs1164 sets the image suffix as expected1165 with file at depth > 21166 creates a pipeline with the expected jobs1167 sets the image suffix as expected1168 Multiple languages1169 with file at root1170 creates a pipeline with the expected jobs1171 sets the image suffix as expected1172 with file at depth 11173 creates a pipeline with the expected jobs1174 sets the image suffix as expected1175 with file at depth 21176 creates a pipeline with the expected jobs1177 sets the image suffix as expected1178 with file at depth > 21179 creates a pipeline with the expected jobs1180 sets the image suffix as expected1181 NuGet1182 with file at root1183 creates a pipeline with the expected jobs1184 sets the image suffix as expected1185 with file at depth 11186 creates a pipeline with the expected jobs1187 sets the image suffix as expected1188 with file at depth 21189 creates a pipeline with the expected jobs1190 sets the image suffix as expected1191 with file at depth > 21192 creates a pipeline with the expected jobs1193 sets the image suffix as expected1194 Conan1195 with file at root1196 creates a pipeline with the expected jobs1197 sets the image suffix as expected1198 with file at depth 11199 creates a pipeline with the expected jobs1200 sets the image suffix as expected1201 with file at depth 21202 creates a pipeline with the expected jobs1203 sets the image suffix as expected1204 with file at depth > 21205 creates a pipeline with the expected jobs1206 sets the image suffix as expected1207 PHP1208 with file at root1209 creates a pipeline with the expected jobs1210 sets the image suffix as expected1211 with file at depth 11212 creates a pipeline with the expected jobs1213 sets the image suffix as expected1214 with file at depth 21215 creates a pipeline with the expected jobs1216 sets the image suffix as expected1217 with file at depth > 21218 creates a pipeline with the expected jobs1219 sets the image suffix as expected1220 Python requirements.txt1221 with file at root1222 creates a pipeline with the expected jobs1223 sets the image suffix as expected1224 with file at depth 11225 creates a pipeline with the expected jobs1226 sets the image suffix as expected1227 with file at depth 21228 creates a pipeline with the expected jobs1229 sets the image suffix as expected1230 with file at depth > 21231 creates a pipeline with the expected jobs1232 sets the image suffix as expected1233 Python requirements.pip1234 with file at root1235 creates a pipeline with the expected jobs1236 sets the image suffix as expected1237 with file at depth 11238 creates a pipeline with the expected jobs1239 sets the image suffix as expected1240 with file at depth 21241 creates a pipeline with the expected jobs1242 sets the image suffix as expected1243 with file at depth > 21244 creates a pipeline with the expected jobs1245 sets the image suffix as expected1246 Python Pipfile1247 with file at root1248 creates a pipeline with the expected jobs1249 sets the image suffix as expected1250 with file at depth 11251 creates a pipeline with the expected jobs1252 sets the image suffix as expected1253 with file at depth 21254 creates a pipeline with the expected jobs1255 sets the image suffix as expected1256 with file at depth > 21257 creates a pipeline with the expected jobs1258 sets the image suffix as expected1259 Python requires.txt1260 with file at root1261 creates a pipeline with the expected jobs1262 sets the image suffix as expected1263 with file at depth 11264 creates a pipeline with the expected jobs1265 sets the image suffix as expected1266 with file at depth 21267 creates a pipeline with the expected jobs1268 sets the image suffix as expected1269 with file at depth > 21270 creates a pipeline with the expected jobs1271 sets the image suffix as expected1272 Python with setup.py1273 with file at root1274 creates a pipeline with the expected jobs1275 sets the image suffix as expected1276 with file at depth 11277 creates a pipeline with the expected jobs1278 sets the image suffix as expected1279 with file at depth 21280 creates a pipeline with the expected jobs1281 sets the image suffix as expected1282 with file at depth > 21283 creates a pipeline with the expected jobs1284 sets the image suffix as expected1285 Python with poetry.lock1286 with file at root1287 creates a pipeline with the expected jobs1288 sets the image suffix as expected1289 with file at depth 11290 creates a pipeline with the expected jobs1291 sets the image suffix as expected1292 with file at depth 21293 creates a pipeline with the expected jobs1294 sets the image suffix as expected1295 with file at depth > 21296 creates a pipeline with the expected jobs1297 sets the image suffix as expected1298 Ruby Gemfile.lock1299 with file at root1300 creates a pipeline with the expected jobs1301 sets the image suffix as expected1302 with file at depth 11303 creates a pipeline with the expected jobs1304 sets the image suffix as expected1305 with file at depth 21306 creates a pipeline with the expected jobs1307 sets the image suffix as expected1308 with file at depth > 21309 creates a pipeline with the expected jobs1310 sets the image suffix as expected1311 Ruby gems.locked1312 with file at root1313 creates a pipeline with the expected jobs1314 sets the image suffix as expected1315 with file at depth 11316 creates a pipeline with the expected jobs1317 sets the image suffix as expected1318 with file at depth 21319 creates a pipeline with the expected jobs1320 sets the image suffix as expected1321 with file at depth > 21322 creates a pipeline with the expected jobs1323 sets the image suffix as expected1324 Scala1325 with file at root1326 creates a pipeline with the expected jobs1327 sets the image suffix as expected1328 with file at depth 11329 creates a pipeline with the expected jobs1330 sets the image suffix as expected1331 with file at depth 21332 creates a pipeline with the expected jobs1333 sets the image suffix as expected1334 with file at depth > 21335 creates a pipeline with the expected jobs1336 sets the image suffix as expected1337 when PIP_REQUIREMENTS_FILE is defined1338 creates a pipeline with the expected jobs1339 sets the image suffix as expected1340 project supported by gemnasium analyzer1341 sets default value for DS_REMEDIATE1342QuickActions::InterpretService1343 #execute1344 assign command1345 there is a group1346 assigns to group members1347 does not assign to more than QuickActions::UsersFinder::MAX_QUICK_ACTION_USERS1348 Issue1349 fetches assignees and populates them if content contains /assign1350 with test_case issue type1351 does not mark to update assignee1352 assign command with multiple assignees1353 fetches assignee and populates assignee_ids if content contains /assign1354 Merge Request1355 fetches assignees and populates them if content contains /assign1356 assign command with a group of users1357 adds group members1358 assign command with multiple assignees1359 fetches assignee and populates assignee_ids if content contains /assign1360 unlicensed1361 does not recognize /assign with multiple user references1362 assign_reviewer command1363 with a merge request1364 fetches reviewers and populates them if content contains /assign_reviewer1365 assign command with multiple reviewers1366 assigns multiple reviewers while respecting previous assignments1367 unassign_reviewer command1368 unassign_reviewer command with multiple assignees1369 unassigns both reviewers if content contains /unassign_reviewer @user @user11370 does not unassign reviewers if the content cannot be parsed1371 unassign command1372 Issue1373 unassigns user if content contains /unassign @user1374 unassigns both users if content contains /unassign @user @user11375 unassigns all the users if content contains /unassign1376 does not apply command if the argument cannot be parsed1377 with a Merge Request1378 unassigns user if content contains /unassign @user1379 applying unassign command with multiple assignees1380 unassigns both users if content contains /unassign @user @user11381 when unlicensed1382 does not recognize /unassign @user1383 reassign command1384 Merge Request1385 reassigns user if content contains /reassign @user1386 unlicensed1387 does not recognize /reassign @user1388 it reassigns multiple users1389 reassigns user if content contains /reassign @user1390 Issue1391 reassigns user if content contains /reassign @user1392 unlicensed1393 does not recognize /reassign @user1394 with test_case issue type1395 does not mark to update assignee1396 it reassigns multiple users1397 reassigns user if content contains /reassign @user1398 reassign_reviewer command1399 reassigns reviewer if content contains /reassign_reviewer @user1400 unlicensed1401 does not recognize /reassign_reviewer @user1402 summarize_diff command1403 when :openai_experimentation feature flag is disabled1404 doesn't apply /summarize_diff1405 when :summarize_diff_quick_action feature flag is disabled1406 doesn't apply /summarize_diff1407 when :openai_experimentation feature flag is enabled1408 applies /summarize_diff1409 when summarize_mr_changes is disabled1410 doesn't apply /summarize_diff1411 when :summarize_diff_quick_action feature flag is disabled1412 doesn't apply /summarize_diff1413 iteration command1414 when iterations are enabled1415 when iteration exists1416 with permissions1417 assigns an iteration to an issue1418 when iteration is started1419 assigns an iteration to an issue1420 when the user does not have enough permissions1421 returns an error message1422 when iteration does not exist1423 returns empty message1424 when iterations are disabled1425 does not recognize /iteration1426 when issuable does not support iterations1427 does not assign an iteration to an incident1428 remove_iteration command1429 when iterations are enabled1430 removes an assigned iteration from an issue1431 when the user does not have enough permissions1432 returns an error message1433 when iterations are disabled1434 does not recognize /remove_iteration1435 when issuable does not support iterations1436 does not assign an iteration to an incident1437 epic command1438 when epics are enabled1439 when epic exists1440 assigns an issue to an epic1441 when an issue belongs to a project without group1442 does not assign an issue to an epic1443 when issue is already added to epic1444 returns error message1445 when issuable does not support epics1446 does not assign an incident to an epic1447 when epic does not exist1448 does not assign an issue to an epic1449 when user has no permissions to read epic1450 does not assign an issue to an epic1451 when user has no access to the issue1452 returns error1453 when epics are disabled1454 does not recognize /epic1455 parent_epic command1456 behaves like adds quick action parameter1457 adds parameter to updates array1458 when target epic is not persisted yet1459 behaves like adds quick action parameter1460 adds parameter to updates array1461 child_epic command1462 when subepics are enabled1463 when a user does not have permissions to add epic relations1464 behaves like does not add quick action parameter1465 does not add parameter to updates array1466 behaves like quick action is unavailable1467 does not recognize action1468 when a user has permissions to add epic relations1469 behaves like adds quick action parameter1470 adds parameter to updates array1471 behaves like quick action is available1472 does recognize action1473 behaves like quick action is unavailable1474 does not recognize action1475 behaves like quick action is unavailable1476 does not recognize action1477 when target epic is not persisted yet1478 behaves like adds quick action parameter1479 adds parameter to updates array1480 when passed child epic is nil1481 does not raise error1482 behaves like does not add quick action parameter1483 does not add parameter to updates array1484 when child_epic is already linked to an epic1485 behaves like quick action is available1486 does recognize action1487 when child epic is in a subgroup of parent epic1488 behaves like quick action is available1489 does recognize action1490 when child epic is in a parent group of the parent epic1491 behaves like quick action is available1492 does recognize action1493 when child epic is in a different group than parent epic1494 behaves like quick action is available1495 does recognize action1496 when epics are disabled1497 behaves like does not add quick action parameter1498 does not add parameter to updates array1499 behaves like quick action is unavailable1500 does not recognize action1501 remove_child_epic command1502 when subepics are enabled1503 when a user does not have permissions to remove epic relations1504 does not remove child_epic from epic1505 behaves like epic relation is not removed1506 does not remove child_epic from epic1507 behaves like quick action is unavailable1508 does not recognize action1509 when a user has permissions to remove epic relations1510 behaves like quick action is available1511 does recognize action1512 behaves like quick action is unavailable1513 does not recognize action1514 behaves like quick action is unavailable1515 does not recognize action1516 when target epic is not persisted yet1517 behaves like quick action is unavailable1518 does not recognize action1519 behaves like epic relation is removed1520 does not remove child_epic from epic1521 when trying to remove child epic from a different epic1522 behaves like epic relation is not removed1523 does not remove child_epic from epic1524 when child epic is in a subgroup of parent epic1525 behaves like epic relation is removed1526 does not remove child_epic from epic1527 behaves like quick action is available1528 does recognize action1529 when child and parent epics are in different groups1530 when child epic is in a parent group of the parent epic1531 behaves like epic relation is removed1532 does not remove child_epic from epic1533 behaves like quick action is available1534 does recognize action1535 when child epic is in a different group than parent epic1536 behaves like epic relation is removed1537 does not remove child_epic from epic1538 behaves like quick action is available1539 does recognize action1540 when subepics are disabled1541 behaves like epic relation is not removed1542 does not remove child_epic from epic1543 behaves like quick action is unavailable1544 does not recognize action1545 remove_parent_epic command1546 when subepics are enabled1547 when a user does not have permissions to manage child epic1548 behaves like epic relation is not removed1549 does not remove parent_epic from epic1550 behaves like quick action is unavailable1551 does not recognize action1552 when a user does not have permissions to manage parent epic1553 behaves like epic relation is not removed1554 does not remove parent_epic from epic1555 behaves like quick action is available1556 does recognize action1557 when a user has permissions to remove epic relations1558 behaves like epic relation is removed1559 removed parent_epic from epic1560 behaves like quick action is available1561 does recognize action1562 behaves like quick action is unavailable1563 does not recognize action1564 behaves like quick action is unavailable1565 does not recognize action1566 when target epic is not persisted yet1567 behaves like quick action is unavailable1568 does not recognize action1569 when subepics are disabled1570 behaves like epic relation is not removed1571 does not remove parent_epic from epic1572 behaves like quick action is unavailable1573 does not recognize action1574 label command for epics1575 when epics are enabled1576 when a user has permissions to label an epic1577 populates valid label ids1578 when a user does not have permissions to label an epic1579 does not populate any labels1580 when epics are disabled1581 does not populate any labels1582 remove_epic command1583 when epics are disabled1584 does not recognize /remove_epic1585 when subepics are enabled1586 unassigns an issue from an epic1587 when issuable does not support epics1588 does not recognize /remove_epic1589 when user has no access to the issue1590 returns error1591 issuable weights licensed1592 weight1593 behaves like weight command1594 populates weight specified by the /weight command1595 behaves like weight command1596 populates weight specified by the /weight command1597 when weight is negative1598 does not populate weight1599 clear_weight1600 behaves like clear weight command1601 populates weight: nil if content contains /clear_weight1602 issuable weights unlicensed1603 does not recognise /weight X1604 does not recognise /clear_weight1605 issuable weights not supported by type1606 does not recognise /weight X1607 does not recognise /clear_weight1608 issuable health statuses licensed1609 health_status1610 behaves like health_status command1611 populates health_status specified by the /health_status command1612 behaves like health_status command1613 populates health_status specified by the /health_status command1614 when health_status is invalid1615 does not populate health_status1616 when the user does not have enough permissions1617 returns an error message1618 clear_health_status1619 behaves like clear_health_status command1620 populates health_status: nil if content contains /clear_health_status1621 when the user does not have enough permissions1622 returns an error message1623 issuable health_status unlicensed1624 does not recognise /health_status X1625 does not recognise /clear_health_status1626 issuable health_status not supported by type1627 does not recognise /health_status X1628 does not recognise /clear_health_status1629 not persisted merge request can not be merged1630 behaves like empty command1631 populates {} if content contains an unsupported command1632 not approved merge request can not be merged1633 behaves like empty command1634 populates {} if content contains an unsupported command1635 when the merge request is not approved1636 behaves like failed command1637 populates {} if content contains an unsupported command1638 returns Could not apply merge command. message1639 when the merge request is blocked1640 behaves like failed command1641 populates {} if content contains an unsupported command1642 returns Could not apply merge command. message1643 when merge request has denied policies1644 behaves like failed command1645 populates {} if content contains an unsupported command1646 returns Could not apply merge command. message1647 approved merge request can be merged1648 behaves like empty command1649 populates {} if content contains an unsupported command1650 confidential command1651 for test cases1652 does mark to update confidential attribute1653 for requirements1654 fails supports confidentiality condition1655 for epics1656 returns correct explain message1657 returns successful execution message1658 when epic has non-confidential issues1659 behaves like command not applied1660 returns unsuccessful execution message1661 when epic has non-confidential epics1662 behaves like command not applied1663 returns unsuccessful execution message1664 when a user has no permissions to set confidentiality1665 does not update epic confidentiality1666 blocking issues commands1667 behaves like issues link quick action1668 when user is member of group1669 when linking a single issue1670 behaves like link command1671 links issues1672 when linking multiple issues at once1673 behaves like link command1674 links issues1675 when quick action target is unpersisted1676 links the issues after the issue is persisted1677 with empty link command1678 behaves like link command1679 links issues1680 with already having linked issues1681 behaves like link command1682 links issues1683 with cross project1684 when linking a cross project issue1685 behaves like link command1686 links issues1687 when linking multiple cross projects issues at once1688 behaves like link command1689 links issues1690 when linking a non-existing issue1691 behaves like link command1692 links issues1693 when linking a private issue1694 behaves like link command1695 links issues1696 behaves like issues link quick action1697 when user is member of group1698 when linking a single issue1699 behaves like link command1700 links issues1701 when linking multiple issues at once1702 behaves like link command1703 links issues1704 when quick action target is unpersisted1705 links the issues after the issue is persisted1706 with empty link command1707 behaves like link command1708 links issues1709 with already having linked issues1710 behaves like link command1711 links issues1712 with cross project1713 when linking a cross project issue1714 behaves like link command1715 links issues1716 when linking multiple cross projects issues at once1717 behaves like link command1718 links issues1719 when linking a non-existing issue1720 behaves like link command1721 links issues1722 when linking a private issue1723 behaves like link command1724 links issues1725 #explain1726 health_status command1727 issuable health statuses licensed1728 includes the value1729 unassign command1730 includes all assignees' references1731 unassign command with assignee references1732 includes only selected assignee references1733 weight command1734 includes the number1735 epic commands1736 child_epic command1737 behaves like returns execution messages1738 when correct epic reference1739 returns explain message with epic reference1740 returns successful execution message1741 when epic reference is wrong1742 returns empty explain message1743 when epic is already a child epic1744 behaves like epics are already related1745 returns unsuccessful execution message1746 when epic is the parent epic1747 behaves like epics are already related1748 returns unsuccessful execution message1749 when epic does not exist1750 behaves like target epic does not exist1751 returns unsuccessful execution message1752 when user has no permissions to relate the child epic1753 behaves like without permissions for action1754 returns unsuccessful execution message1755 remove_child_epic command1756 when correct epic reference1757 returns explain message with epic reference1758 returns successful execution message1759 when epic reference is wrong1760 returns empty explain message1761 when child epic does not exist1762 returns unsuccessful execution message1763 when user has no permissions to remove child epic1764 behaves like without permissions for action1765 returns unsuccessful execution message1766 parent_epic command1767 behaves like returns execution messages1768 when correct epic reference1769 returns explain message with epic reference1770 returns successful execution message1771 when epic reference is wrong1772 returns empty explain message1773 when epic is already a parent epic1774 behaves like epics are already related1775 returns unsuccessful execution message1776 when epic is a an existing child epic1777 behaves like epics are already related1778 returns unsuccessful execution message1779 when epic does not exist1780 behaves like target epic does not exist1781 returns unsuccessful execution message1782 when user has no permissions to relate the parent epic1783 behaves like without permissions for action1784 returns unsuccessful execution message1785 remove_parent_epic command1786 when parent is present1787 returns explain message with epic reference1788 returns successful execution message1789 when target epic is not persisted yet1790 behaves like quick action is unavailable1791 does not recognize action1792 when parent is not present1793 returns empty explain message1794 returns unsuccessful execution message1795 when user has no permissions to remove parent epic1796 behaves like without permissions for action1797 returns unsuccessful execution message1798 blocking issues commands1799 with /blocks1800 with sufficient permissions1801 /blocks is available1802 when licensed feature is not available1803 behaves like quick action is unavailable1804 does not recognize action1805 when target is not an issue1806 behaves like quick action is unavailable1807 does not recognize action1808 with insufficient permissions1809 behaves like quick action is unavailable1810 does not recognize action1811 with /blocked_by1812 with sufficient permissions1813 /blocked_by is available1814 when licensed feature is not available1815 behaves like quick action is unavailable1816 does not recognize action1817 when target is not an issue1818 behaves like quick action is unavailable1819 does not recognize action1820 with insufficient permissions1821 behaves like quick action is unavailable1822 does not recognize action1823Boards::EpicBoardPosition1824 associations1825 is expected to belong to epic required: true1826 is expected to belong to epic_board required: true inverse_of => epic_board_positions1827 validations1828 is expected to be valid1829 is valid with nil relative position1830 disallows a record with same epic and board1831 scopes1832 .order_relative_position1833 returns epic_board_positions in order1834 .last_for_board_id1835 returns highest not null position1836 relative positioning1837 behaves like a class that supports relative positioning1838 #scoped_items1839 includes all items with the same scope1840 #relative_siblings1841 includes all items with the same scope, except self1842 .move_nulls_to_end1843 moves items with null relative_position to the end1844 preserves relative position1845 moves the item near the start position when there are no existing positions1846 does not perform any moves if all items have their relative_position set1847 manages to move nulls to the end even if there is a sequence at the end1848 manages to move nulls to the end even if there is not enough space1849 manages to move nulls to the end, stacking if we cannot create enough space1850 manages to move nulls found in the relative scope1851 can move many nulls1852 does not have an N+1 issue1853 .move_nulls_to_start1854 moves items with null relative_position to the start1855 moves the item near the start position when there are no existing positions1856 preserves relative position1857 does not perform any moves if all items have their relative_position set1858 manages to move nulls to the start even if there is not enough space1859 manages to move nulls to the end, stacking if we cannot create enough space1860 #move_before1861 moves item before1862 can move the item before an item at the start1863 can move the item before an item at MIN_POSITION1864 can move the item before an item bunched up at MIN_POSITION1865 when there is no space1866 moves items correctly1867 leap-frogging to the left1868 can leap-frog STEPS times before needing to rebalance1869 there is no space to the left after moving STEPS times1870 rebalances to the right1871 #move_after1872 moves item after1873 can move the item after an item bunched up at MAX_POSITION1874 when there is no space1875 can move the item after an item at MAX_POSITION1876 moves items correctly1877 leap-frogging1878 rebalances after STEPS jumps1879 #move_to_start1880 places items at most IDEAL_DISTANCE from the start when the range is open1881 moves item to the end1882 positions the item at MIN_POSITION when there is only one space left1883 rebalances when there is already an item at the MIN_POSITION1884 deals with a run of elements at the start1885 #move_to_end1886 places items at most IDEAL_DISTANCE from the start when the range is open1887 moves item to the end1888 positions the item at MAX_POSITION when there is only one space left1889 rebalances when there is already an item at the MAX_POSITION1890 deals with a run of elements at the end1891 #move_between1892 positions item between two other1893 positions item between on top1894 positions item between to end1895 positions items even when after and before positions are the same1896 positions item in the middle of other two if distance is big enough1897 positions item closer to the middle if we are at the very top1898 positions item closer to the middle if we are at the very bottom1899 positions item in the middle of other two1900 positions item right if we pass non-sequential parameters1901 avoids N+1 queries when rebalancing other items1902 the two items are next to each other1903 behaves like moves item between1904 moves the middle item to between left and right1905 there is no space1906 behaves like moves item between1907 moves the middle item to between left and right1908 there is a bunch of items1909 handles bunches correctly1910 behaves like moves item between1911 moves the middle item to between left and right1912Elastic::Latest::GitClassProxy1913 names elasticsearch queries1914 #elastic_search1915 if type is wiki_blob1916 if migrate_wikis_to_separate_index is not finished1917 fetches the results from the main index1918 if migrate_wikis_to_separate_index is finished1919 fetches the results from the new separate index1920 if type is blob1921 global blob search and migration not completed1922 global blob search and migration completed1923 group blob search1924 project blob search1925 #elastic_search_as_found_blob1926 returns FoundBlob1927 with filters in the query1928 returns matching results1929 when part of the path is used1930 returns the same results as when the full path is used1931 when the path query is in the middle of the file path1932 returns the same results as when the full path is used1933 #blob_aggregations1934 returns aggregations1935 assert names queries for global blob search when migration is complete1936 assert names queries for global blob search when migration is not complete1937 assert names queries for group blob search1938 assert names queries for project blob search1939 when use_base_class_in_proxy_util is disabled1940 names elasticsearch queries1941 when backfilling migration is complete1942 does not use the traversal_id filter when project_ids are passed1943 does not use the traversal_id filter when group_ids are not passed1944 uses the traversal_id filter1945Geo::CiSecureFileReplicator1946 invokes replicator.handle_after_create_commit on create1947 behaves like a replicator1948 Geo node status1949 on a primary site1950 .primary_total_count1951 when batch count feature flag is enabled1952 returns the number of available replicables on primary1953 when batch count feature flag is disabled1954 returns the number of available replicables on primary1955 on a secondary site1956 .registry_count1957 when batch count feature flag is enabled1958 returns the number of registries on secondary1959 when batch count feature flag is disabled1960 returns the number of registries on secondary1961 .synced_count1962 when batch count feature flag is enabled1963 returns the number of synced items on secondary1964 when batch count feature flag is disabled1965 returns the number of synced items on secondary1966 .failed_count1967 when batch count feature flag is enabled1968 returns the number of failed items on secondary1969 when batch count feature flag is disabled1970 returns the number of failed items on secondary1971 when replicator is Geo::RegistrySyncWorker compatible1972 has "created" and "deleted" events1973 when replicator enqueues a sync event1974 is expected to receive perform_async("ci_secure_file", "created", {:model_record_id=>22}) 1 time1975 #replicator1976 is defined and does not raise error1977 .replicables_for_current_secondary1978 when syncing object storage is enabled1979 behaves like is implemented and returns a valid relation1980 is implemented1981 when syncing object storage is disabled1982 behaves like is implemented and returns a valid relation1983 is implemented1984 with selective sync disabled1985 behaves like is implemented and returns a valid relation1986 is implemented1987 with selective sync enabled for namespaces1988 behaves like is implemented and returns a valid relation1989 is implemented1990 with selective sync enabled for shards1991 behaves like is implemented and returns a valid relation1992 is implemented1993 #handle_after_create_commit1994 creates a Geo::Event1995 calls #after_verifiable_update1996 when replication feature flag is disabled1997 does not call #after_verifiable_update1998 does not publish1999 #handle_after_destroy2000 creates a Geo::Event2001 when replication feature flag is disabled2002 does not publish2003 created event consumption2004 when the blob's project is in replicables for this geo node2005 invokes Geo::BlobDownloadService2006 when the blob's project is not in replicables for this geo node2007 does not invoke Geo::BlobDownloadService2008 deleted event consumption2009 when model_record was deleted from the DB and the replicator only has its ID2010 invokes Geo::FileRegistryRemovalService2011 backward compatibility2012 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format2013 when object storage is enabled2014 when GitLab managed replication is enabled2015 deletes the file from object storage2016 when GitLab managed replication is disabled2017 does not delete the file from object storage2018 #carrierwave_uploader2019 is implemented2020 #model2021 is implemented2022 is a Class2023 responds to primary_key2024 #blob_path2025 when the file is locally stored2026 returns a valid path to a file2027 #calculate_checksum2028 when the file is locally stored2029 when the file exists2030 returns hexdigest of the file2031 when the file does not exist2032 raises an error2033 when the file is remotely stored2034 raises an error2035 #file_exists?2036 is expected to be truthy2037 when the file does not exist2038 is expected to be falsey2039 when the file is nil2040 is expected to be falsey2041 .bulk_create_delete_events_async2042 creates events2043 raises error when model_record_id is nil2044 events2045 has checksum_succeeded event2046 .verification_enabled?2047 when replication is enabled2048 when verification_feature_flag_enabled? returns true2049 returns true2050 when verification_feature_flag_enabled? returns false2051 returns false2052 when replication is disabled2053 returns false2054 .checksummed_count2055 when verification is enabled2056 when batch count feature flag is enabled2057 behaves like a counter of succeeded available verifiables2058 is expected to eq 12059 excludes other verification states2060 when batch count feature flag is disabled2061 behaves like a counter of succeeded available verifiables2062 is expected to eq 12063 excludes other verification states2064 when verification is disabled2065 returns nil2066 .verified_count2067 when verification is enabled2068 when batch count feature flag is enabled2069 behaves like a counter of succeeded available verifiables2070 is expected to eq 12071 excludes other verification states2072 when batch count feature flag is disabled2073 behaves like a counter of succeeded available verifiables2074 is expected to eq 12075 excludes other verification states2076 when verification is disabled2077 returns nil2078 .checksum_failed_count2079 when verification is enabled2080 when batch count feature flag is enabled2081 behaves like a counter of failed available verifiables2082 is expected to eq 12083 excludes other verification states2084 when batch count feature flag is disabled2085 behaves like a counter of failed available verifiables2086 is expected to eq 12087 excludes other verification states2088 when verification is disabled2089 returns nil2090 .verification_failed_count2091 when verification is enabled2092 when batch count feature flag is enabled2093 behaves like a counter of failed available verifiables2094 is expected to eq 12095 excludes other verification states2096 when batch count feature flag is disabled2097 behaves like a counter of failed available verifiables2098 is expected to eq 12099 excludes other verification states2100 when verification is disabled2101 returns nil2102 .verification_total_count2103 when verification is enabled2104 when batch count feature flag is enabled2105 when the verification_state is disabled2106 is expected to eq 02107 when the verification_state is not disabled2108 is expected to eq 12109 when batch count feature flag is disabled2110 when the verification_state is disabled2111 is expected to eq 02112 when the verification_state is not disabled2113 is expected to eq 12114 when verification is disabled2115 returns nil2116 .trigger_background_verification2117 when verification is enabled2118 for a Geo secondary2119 does not enqueue ReverificationBatchWorker2120 enqueues VerificationBatchWorker2121 enqueues VerificationTimeoutWorker2122 for a Geo primary2123 enqueues ReverificationBatchWorker2124 enqueues VerificationStateBackfillWorker2125 enqueues VerificationBatchWorker2126 enqueues VerificationTimeoutWorker2127 when verification is disabled2128 does not enqueue VerificationBatchWorker2129 does not enqueue VerificationTimeoutWorker2130 .backfill_verification_state_table2131 calls VerificationStateBackfillService2132 when on secondary2133 returns false2134 .verify_batch2135 when there are records needing verification2136 calls #verify on each replicator2137 .remaining_verification_batch_count2138 converts needs_verification_count to number of batches2139 .remaining_reverification_batch_count2140 converts needs_reverification_count to number of batches2141 .reverify_batch!2142 calls #reverify_batch2143 .replicator_batch_to_verify2144 returns usable Replicator instances2145 .model_record_id_batch_to_verify2146 when the batch is filled by pending rows2147 returns IDs of pending rows2148 does not call .verification_failed_batch2149 when that batch is not filled by pending rows2150 includes IDs of failed rows2151 .verification_pending_batch2152 when current node is a primary2153 delegates to the model class of the replicator2154 when current node is a secondary2155 delegates to the registry class of the replicator2156 .verification_failed_batch2157 when current node is a primary2158 delegates to the model class of the replicator2159 when current node is a secondary2160 delegates to the registry class of the replicator2161 .fail_verification_timeouts2162 when current node is a primary2163 delegates to the model class of the replicator2164 when current node is a secondary2165 delegates to the registry class of the replicator2166 #after_verifiable_update2167 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true2168 calls verify_async only if needed2169 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2170 calls verify_async only if needed2171 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2172 calls verify_async only if needed2173 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2174 calls verify_async only if needed2175 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true2176 calls verify_async only if needed2177 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2178 calls verify_async only if needed2179 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true2180 calls verify_async only if needed2181 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2182 calls verify_async only if needed2183 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false2184 calls verify_async only if needed2185 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2186 calls verify_async only if needed2187 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2188 calls verify_async only if needed2189 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2190 calls verify_async only if needed2191 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false2192 calls verify_async only if needed2193 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2194 calls verify_async only if needed2195 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false2196 calls verify_async only if needed2197 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2198 calls verify_async only if needed2199 #verify_async2200 on a Geo primary2201 calls verification_started! and enqueues VerificationWorker2202 #verify2203 wraps the checksum calculation in track_checksum_attempt!2204 #verification_state_tracker2205 on a Geo primary2206 returns model_record2207 on a Geo secondary2208 returns registry2209 #handle_after_checksum_succeeded2210 on a Geo primary2211 creates checksum_succeeded event2212 is called on verification success2213 on a Geo secondary2214 does not create an event2215 #consume_event_checksum_succeeded2216 with a persisted model_record2217 on a Geo primary2218 does nothing2219 on a Geo secondary2220 with a persisted registry2221 with a registry which is verified2222 sets state to verification_pending2223 with a registry which is pending verification2224 does not change state from verification_pending2225 with an unpersisted registry2226 does not persist the registry2227 #primary_verification_succeeded?2228 when the model record is verification_succeeded2229 returns true2230 when the model record is verification_succeeded2231 returns false2232 integration tests2233 on a primary2234 background backfill2235 verifies model records2236 triggered by events2237 verifies model records2238 on a secondary2239 background backfill2240 verifies registries2241 triggered by events2242 verifies registries2243Gitlab::Elastic::Indexer2244 empty project2245 updates the index status without running the indexing command2246 when indexing a project with no repository2247 updates the index status without running the indexing command2248 .timeout2249 when advanced_search_decrease_indexing_timeout feature flag is enabled2250 returns correct value2251 when advanced_search_decrease_indexing_timeout feature flag is disabled2252 returns correct value2253 #find_indexable_commit2254 is truthy for reachable commits2255 is falsey for unreachable commits2256 when repository project is empty2257 returns nil for empty repository project2258 #purge_unreachable_commits_from_index?2259 to_sha: "commit_sha", force_reindexing: true, ancestor_of: true, result: true2260 returns correct result2261 to_sha: "commit_sha", force_reindexing: true, ancestor_of: false, result: true2262 returns correct result2263 to_sha: "commit_sha", force_reindexing: false, ancestor_of: true, result: false2264 returns correct result2265 to_sha: "commit_sha", force_reindexing: false, ancestor_of: false, result: true2266 returns correct result2267 to_sha: nil, force_reindexing: true, ancestor_of: true, result: true2268 returns correct result2269 to_sha: nil, force_reindexing: true, ancestor_of: false, result: true2270 returns correct result2271 to_sha: nil, force_reindexing: false, ancestor_of: true, result: true2272 returns correct result2273 to_sha: nil, force_reindexing: false, ancestor_of: false, result: true2274 returns correct result2275 with an indexed project2276 when indexing a HEAD commit2277 runs the indexing command2278 behaves like index up to the specified commit2279 updates the index status when the indexing is a success2280 leaves the index status untouched when the indexing fails2281 when search curation is disabled2282 runs the indexing command without --search-curation flag2283 when add_hashed_root_namespace_id_to_commits migration is not complete2284 runs the indexer without --hashed-root-namespace-id flag2285 when IndexStatus exists2286 when last_commit exists2287 uses last_commit as from_sha2288 when indexing a non-HEAD commit2289 behaves like index up to the specified commit2290 updates the index status when the indexing is a success2291 leaves the index status untouched when the indexing fails2292 after reverting a change2293 when IndexStatus#last_commit is no longer in repository2294 reindexes from scratch2295 when branch is reset to an earlier commit2296 reverses already indexed commits2297 when indexing a project's wiki2298 runs the indexer with the right flags2299 when search curation is disabled2300 runs the indexer with the right flags without --search-curation2301 when IndexStatus#last_wiki_commit is no longer in repository2302 reindexes from scratch2303 when SSL env vars are not set explicitly2304 they will be set to default values determined by Ruby2305 when SSL env vars are set2306 when building env vars for child process2307 SSL env vars will be included2308 when no aws credentials available2309 credentials env vars will not be included2310 when aws credentials are available2311 when AWS config is not enabled2312 credentials env vars will not be included2313 when AWS config is enabled2314 credentials env vars will be included2315 when a file is larger than elasticsearch_indexed_file_size_limit_kb2316 indexes the file with empty content2317 when a file path is larger than elasticsearch max size of 512 bytes2318 indexes the file2319 when project no longer exists in database2320 does not raise an exception and prints log message2321 when IndexStatus.safe_find_or_create_by! throws an InvalidForeignKey exception2322 does not raise an exception and prints a log message2323 when purge_unreachable_commits_from_index? is true2324 when deleting index raise BadRequest2325 calls track_exception on Gitlab::ErrorTracking2326Vulnerabilities::Read2327 associations2328 is expected to belong to vulnerability required: false2329 is expected to belong to project required: false2330 is expected to belong to scanner class_name => Vulnerabilities::Scanner required: false2331 validations2332 is expected to validate that :vulnerability_id cannot be empty/falsy2333 is expected to validate that :project_id cannot be empty/falsy2334 is expected to validate that :scanner_id cannot be empty/falsy2335 is expected to validate that :report_type cannot be empty/falsy2336 is expected to validate that :severity cannot be empty/falsy2337 is expected to validate that :state cannot be empty/falsy2338 is expected to validate that :uuid cannot be empty/falsy2339 is expected to validate that the length of :location_image is at most 20482340 is expected to validate that :vulnerability_id is case-sensitively unique2341 is expected to validate that :uuid is case-insensitively unique2342 is expected to allow :has_issues to be ‹true›2343 is expected to allow :has_issues to be ‹false›2344 is expected not to allow :has_issues to be ‹nil›2345 is expected to allow :resolved_on_default_branch to be ‹true›2346 is expected to allow :resolved_on_default_branch to be ‹false›2347 is expected not to allow :resolved_on_default_branch to be ‹nil›2348 triggers2349 trigger on vulnerability_occurrences insert2350 when vulnerability_id is set2351 when the related vulnerability record is not marked as `present_on_default_branch`2352 does not create a new vulnerability_reads row2353 when the related vulnerability record is marked as `present_on_default_branch`2354 creates a new vulnerability_reads row2355 sets has_issues to true when there are issue links2356 when vulnerability_id is not set2357 does not create a new vulnerability_reads row2358 trigger on vulnerability_occurrences update2359 when vulnerability_id is updated2360 creates a new vulnerability_reads row2361 sets has_issues when the vulnerability has issue links2362 when vulnerability_id is not updated2363 does not create a new vulnerability_reads row2364 trigger on vulnerability_occurrences location update2365 when image is updated2366 updates location_image in vulnerability_reads2367 when agent_id is updated2368 updates cluster_agent_id in vulnerability_reads2369 when image or agent_id is not updated2370 does not update location_image or cluster_agent_id in vulnerability_reads2371 trigger on vulnerabilities update2372 when the vulnerability is not marked as `present_on_default_branch`2373 does not update vulnerability attributes in vulnerability_reads2374 when the vulnerability is marked as `present_on_default_branch`2375 when vulnerability attributes are updated2376 updates vulnerability attributes in vulnerability_reads2377 when vulnerability attributes are not updated2378 does not update vulnerability attributes in vulnerability_reads2379 trigger_insert_vulnerability_reads_from_vulnerability2380 when the vulnerability does not get marked as `present_on_default_branch`2381 does not create a new `vulnerability_reads` record2382 when the vulnerability gets marked as `present_on_default_branch`2383 creates a new `vulnerability_reads` record2384 sets has_issues when the created vulnerability has issue links2385 trigger on vulnerabilities_issue_link2386 on insert2387 updates has_issues in vulnerability_reads2388 on delete2389 does not change has_issues when there exists another issue2390 unsets has_issues when all issues are deleted2391 .by_scanner_ids2392 returns matching vulnerabilities2393 .for_projects2394 returns vulnerability_reads related to the given project IDs2395 .with_report_types2396 returns vulnerabilities matching the given report_types2397 .with_severities2398 returns vulnerabilities matching the given severities2399 .with_states2400 returns vulnerabilities matching the given states2401 .with_scanner_external_ids2402 returns vulnerabilities matching the given scanner external IDs2403 .with_container_image2404 returns vulnerabilities with given image2405 .with_resolution2406 when no argument is provided2407 is expected to contain exactly #<Vulnerabilities::Read id: 50, vulnerability_id: 52, project_id: 634, scanner_id: 54, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3148, dismissal_reason: nil>2408 when the argument is provided2409 when the given argument is `true`2410 is expected to contain exactly #<Vulnerabilities::Read id: 50, vulnerability_id: 52, project_id: 634, scanner_id: 54, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3148, dismissal_reason: nil>2411 when the given argument is `false`2412 is expected to contain exactly #<Vulnerabilities::Read id: 51, vulnerability_id: 53, project_id: 637, scanner_id: 55, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3155, dismissal_reason: nil>2413 .with_issues2414 when no argument is provided2415 is expected to contain exactly #<Vulnerabilities::Read id: 52, vulnerability_id: 54, project_id: 640, scanner_id: 56, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3162, dismissal_reason: nil>2416 when the argument is provided2417 when the given argument is `true`2418 is expected to contain exactly #<Vulnerabilities::Read id: 52, vulnerability_id: 54, project_id: 640, scanner_id: 56, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3162, dismissal_reason: nil>2419 when the given argument is `false`2420 is expected to contain exactly #<Vulnerabilities::Read id: 53, vulnerability_id: 55, project_id: 643, scanner_id: 57, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3169, dismissal_reason: nil>2421 .as_vulnerabilities2422 returns vulnerabilities as list2423 .order_by2424 when method is nil2425 is expected to contain exactly #<Vulnerabilities::Read id: 58, vulnerability_id: 60, project_id: 658, scanner_id: 62, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3204, dismissal_reason: nil>, #<Vulnerabilities::Read id: 59, vulnerability_id: 61, project_id: 661, scanner_id: 63, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3211, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 57, vulnerability_id: 59, project_id: 655, scanner_id: 61, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3197, dismissal_reason: nil>2426 when ordered by severity_desc2427 is expected to contain exactly #<Vulnerabilities::Read id: 58, vulnerability_id: 60, project_id: 658, scanner_id: 62, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3204, dismissal_reason: nil>, #<Vulnerabilities::Read id: 59, vulnerability_id: 61, project_id: 661, scanner_id: 63, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3211, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 57, vulnerability_id: 59, project_id: 655, scanner_id: 61, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3197, dismissal_reason: nil>2428 when ordered by severity_asc2429 is expected to contain exactly #<Vulnerabilities::Read id: 57, vulnerability_id: 59, project_id: 655, scanner_id: 61, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3197, dismissal_reason: nil>, #<Vulnerabilities::Read id: 59, vulnerability_id: 61, project_id: 661, scanner_id: 63, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3211, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 58, vulnerability_id: 60, project_id: 658, scanner_id: 62, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3204, dismissal_reason: nil>2430 when ordered by detected_desc2431 is expected to contain exactly #<Vulnerabilities::Read id: 59, vulnerability_id: 61, project_id: 661, scanner_id: 63, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3211, dismissal_reason: nil>, #<Vulnerabilities::Read id: 58, vulnerability_id: 60, project_id: 658, scanner_id: 62, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3204, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 57, vulnerability_id: 59, project_id: 655, scanner_id: 61, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3197, dismissal_reason: nil>2432 when ordered by detected_asc2433 is expected to contain exactly #<Vulnerabilities::Read id: 57, vulnerability_id: 59, project_id: 655, scanner_id: 61, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3197, dismissal_reason: nil>, #<Vulnerabilities::Read id: 58, vulnerability_id: 60, project_id: 658, scanner_id: 62, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3204, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 59, vulnerability_id: 61, project_id: 661, scanner_id: 63, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3211, dismissal_reason: nil>2434 .order_severity_2435 ascending2436 is expected to contain exactly #<Vulnerabilities::Read id: 60, vulnerability_id: 62, project_id: 664, scanner_id: 64, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3218, dismissal_reason: nil>, #<Vulnerabilities::Read id: 62, vulnerability_id: 64, project_id: 670, scanner_id: 66, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3232, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 61, vulnerability_id: 63, project_id: 667, scanner_id: 65, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3225, dismissal_reason: nil>2437 descending2438 is expected to contain exactly #<Vulnerabilities::Read id: 61, vulnerability_id: 63, project_id: 667, scanner_id: 65, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3225, dismissal_reason: nil>, #<Vulnerabilities::Read id: 62, vulnerability_id: 64, project_id: 670, scanner_id: 66, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3232, dismissal_reason: nil>, and #<Vulnerabilities::Read id: 60, vulnerability_id: 62, project_id: 664, scanner_id: 64, report_type: "...nil, cluster_agent_id: nil, casted_cluster_agent_id: nil, namespace_id: 3218, dismissal_reason: nil>2439 .order_detected_at_2440 ascending2441 returns vulnerabilities ordered by created_at2442 descending2443 returns vulnerabilities ordered by created_at2444 .container_images2445 returns container images for vulnerabilities2446 .by_scanner2447 returns records by given scanner2448EE::Boards::Lists::UpdateService2449 with project2450 behaves like board list update2451 with licensed wip limits2452 updates the list if max_issue_count is given2453 updates the list if max_issue_weight is given2454 does not update the list if max_issue_weight is nil2455 updates the max issue count of the list if both count and weight limits are provided2456 does not change count if weight is updated2457 does not change weight if count is updated2458 does not update max_issue_count if max_issue_count is nil2459 sets max_issue_count to 0 if requested2460 sets max_issue_weight to 0 if requested2461 sets max_issue_count to 0 if requested2462 sets max_issue_weight to 0 if requested2463 does not update count and weight when negative values for both are given2464 sets count and weight to 0 when non numerical values are given2465 does not update the list max issue count if can_admin returns false2466 does not update the list max issue weight if can_admin returns false2467 limit metric2468 updates the list if limit_metric "issue_count" is given2469 updates the list if limit_metric "issue_weights" is given2470 updates the list if "all_metrics" limit_metric is given2471 updates the list if "all_metrics" limit_metric is given2472 updates the list if no limit_metric is given2473 fails if an invalid limit_metric is given2474 without licensed wip limits2475 does not update the list even if max_issue_count is given2476 does not update the list if can_admin returns false2477 does not update the list even if max_issue_weight is given2478 does not update the list if can_admin returns false2479 with group2480 behaves like board list update2481 with licensed wip limits2482 updates the list if max_issue_count is given2483 updates the list if max_issue_weight is given2484 does not update the list if max_issue_weight is nil2485 updates the max issue count of the list if both count and weight limits are provided2486 does not change count if weight is updated2487 does not change weight if count is updated2488 does not update max_issue_count if max_issue_count is nil2489 sets max_issue_count to 0 if requested2490 sets max_issue_weight to 0 if requested2491 sets max_issue_count to 0 if requested2492 sets max_issue_weight to 0 if requested2493 does not update count and weight when negative values for both are given2494 sets count and weight to 0 when non numerical values are given2495 does not update the list max issue count if can_admin returns false2496 does not update the list max issue weight if can_admin returns false2497 limit metric2498 updates the list if limit_metric "issue_count" is given2499 updates the list if limit_metric "issue_weights" is given2500 updates the list if "all_metrics" limit_metric is given2501 updates the list if "all_metrics" limit_metric is given2502 updates the list if no limit_metric is given2503 fails if an invalid limit_metric is given2504 without licensed wip limits2505 does not update the list even if max_issue_count is given2506 does not update the list if can_admin returns false2507 does not update the list even if max_issue_weight is given2508 does not update the list if can_admin returns false2509MergeRequests::ByApproversFinder2510 filter by no approvers2511 returns merge requests without approvers2512 filter by any approver2513 returns only merge requests with approvers2514 filter by second approver2515 returns only merge requests with the second approver2516 filter by both approvers2517 returns only merge requests with both approvers2518 pass empty params2519 returns all merge requests2520 filter by an approver from group2521 returns only merge requests with the approver from group2522 filter by an overridden approver from project2523 returns only merge requests with the project approver2524 filter by approvers2525 can be ordered by popularity2526 can be ordered by priority2527Gitlab::Llm::VertexAi::Client2528 # order random2529 #text2530 behaves like forwarding the request correctly2531 when a successful response is returned from the API2532 returns the response2533 when a failed response is returned from the API2534 retries the request2535 #chat2536 behaves like forwarding the request correctly2537 when a successful response is returned from the API2538 returns the response2539 when a failed response is returned from the API2540 retries the request2541 #code2542 behaves like forwarding the request correctly2543 when a successful response is returned from the API2544 returns the response2545 when a failed response is returned from the API2546 retries the request2547 #messages_chat2548 behaves like forwarding the request correctly2549 when a successful response is returned from the API2550 returns the response2551 when a failed response is returned from the API2552 retries the request2553Security::SecurityOrchestrationPolicies::ProcessScanResultPolicyService2554 #execute2555 sets project approval rule based on policy2556 when actions are not provided2557 does not create approval project rules2558 without any require_approval action2559 does not create approval project rules2560 without any rule of the scan_finding type2561 does not create approval project rules2562 with only user id2563 behaves like create approval rule with specific approver2564 succeeds creating approval rules with specific approver2565 with only username2566 behaves like create approval rule with specific approver2567 succeeds creating approval rules with specific approver2568 with role_approvers2569 creates approval rules with role approvers2570 creates scan_result_policy_read2571 with only group id2572 behaves like create approval rule with specific approver2573 succeeds creating approval rules with specific approver2574 with public group outside of the scope2575 does not include any approvers2576 with private group outside of the scope2577 does not include any approvers2578 with an invited group2579 includes group related approvers2580 with only group path2581 behaves like create approval rule with specific approver2582 succeeds creating approval rules with specific approver2583 when groups with same name exist in and outside of container2584 with security_policy_global_group_approvers_enabled setting disabled2585 excludes groups outside the container2586 with security_policy_global_group_approvers_enabled setting enabled2587 includes groups outside the container2588 when rules are not provided2589 does not create approval project rules2590 when rules are provided2591 with valid vulnerability_states2592 with ["newly_detected"]2593 creates new approval rules2594 with ["detected"]2595 creates new approval rules2596 with ["dismissed"]2597 creates new approval rules2598 with ["resolved"]2599 creates new approval rules2600 with ["confirmed"]2601 creates new approval rules2602 with ["new_dismissed"]2603 creates new approval rules2604 with ["new_needs_triage"]2605 creates new approval rules2606 with ["new_dismissed", "new_needs_triage"]2607 creates new approval rules2608 with ["detected", "dismissed", "confirmed", "resolved"]2609 creates new approval rules2610 with ["confirmed", "dismissed"]2611 creates new approval rules2612 with invalid vulnerability_states2613 creates no approval rules2614 with a specific number of rules2615 rules_count: 4, expected_rules_count: 42616 creates approval rules up to limit2617 rules_count: 5, expected_rules_count: 52618 creates approval rules up to limit2619 rules_count: 6, expected_rules_count: 52620 creates approval rules up to limit2621 when user does not have edit_approval_rule permission2622 behaves like create approval rule with specific approver2623 succeeds creating approval rules with specific approver2624 with empty branches2625 sets applies_to_all_protected_branches to true2626 rule params `protected_branch_ids`2627 when feature flag `group_protected_branches` enabled2628 set `protected_branch_ids` from the project and group level2629 when feature flag `group_protected_branches` disabled2630 set `protected_branch_ids` from only the project level2631 with license_finding rule_type2632 creates scan_result_policy_read2633 creates software_license_policies2634 creates approval_rules with valid params2635Projects::CreateFromTemplateService2636 #execute2637 does not create project from custom template2638 when use_custom_template is not present or false2639 creates an empty project2640 when custom_project_templates feature is not enabled2641 creates an empty project2642 when custom_project_template does not exist2643 does not attempt to import a project2644 use_template_name: true2645 returns the created project2646 the result project2647 overrides template description2648 overrides template visibility_level2649 creating project from a Group project template2650 when the namespace is not a descendant of the Group owning the template2651 when project is created under a group that is outside the hierarchy its root ancestor group2652 behaves like a project that isn't persisted2653 isn't persisted2654 when project is created under a group that is a descendant of its root ancestor group2655 behaves like a project that isn't persisted2656 isn't persisted2657 when project is created under a subgroup that is a descendant of its root ancestor group2658 behaves like a project that isn't persisted2659 isn't persisted2660 when project is created outside of group hierarchy2661 behaves like a project that isn't persisted2662 isn't persisted2663 when the namespace is inside the hierarchy of the Group owning the template2664 when project is created under its parent group2665 behaves like a persisted project2666 is persisted2667 when project is created under the same group2668 behaves like a persisted project2669 is persisted2670 when project is created under its descendant group2671 behaves like a persisted project2672 is persisted2673 when project is created under a group that is a descendant of its parent group2674 behaves like a persisted project2675 is persisted2676 when project is created under a subgroup that is a descendant of its parent group2677 behaves like a persisted project2678 is persisted2679 use_template_name: false2680 returns the created project2681 the result project2682 overrides template description2683 overrides template visibility_level2684 creating project from a Group project template2685 when the namespace is not a descendant of the Group owning the template2686 when project is created under a group that is outside the hierarchy its root ancestor group2687 behaves like a project that isn't persisted2688 isn't persisted2689 when project is created under a group that is a descendant of its root ancestor group2690 behaves like a project that isn't persisted2691 isn't persisted2692 when project is created under a subgroup that is a descendant of its root ancestor group2693 behaves like a project that isn't persisted2694 isn't persisted2695 when project is created outside of group hierarchy2696 behaves like a project that isn't persisted2697 isn't persisted2698 when the namespace is inside the hierarchy of the Group owning the template2699 when project is created under its parent group2700 behaves like a persisted project2701 is persisted2702 when project is created under the same group2703 behaves like a persisted project2704 is persisted2705 when project is created under its descendant group2706 behaves like a persisted project2707 is persisted2708 when project is created under a group that is a descendant of its parent group2709 behaves like a persisted project2710 is persisted2711 when project is created under a subgroup that is a descendant of its parent group2712 behaves like a persisted project2713 is persisted2714Epics::TreeReorderService2715 # order random2716 #execute2717 when epics feature is not enabled2718 behaves like error for the tree update2719 does not change anything2720 when epics feature is enabled2721 when user does not have permissions to admin the base epic2722 behaves like error for the tree update2723 does not change anything2724 when user does have admin_issue_relation permission for the base epic2725 when moving EpicIssue2726 when relative_position is not valid2727 behaves like error for the tree update2728 does not change anything2729 when object being moved is not the same type as the switched object2730 reorders the objects2731 when no object to switch is provided2732 updates the parent2733 creates system notes2734 when object being moved is from another epic2735 when the new_parent_id has not been provided2736 behaves like error for the tree update2737 does not change anything2738 when the new_parent_id does not match the parent of the relative positioning object2739 behaves like error for the tree update2740 does not change anything2741 when the new_parent_id matches the parent id of the relative positioning object2742 reorders the objects2743 when object being moved is not supported type2744 behaves like error for the tree update2745 does not change anything2746 when adjacent object is not supported type2747 behaves like error for the tree update2748 does not change anything2749 when user does not have permissions to move issue2750 behaves like error for the tree update2751 does not change anything2752 when user does not have permissions to admin the previous parent2753 behaves like error for the tree update2754 does not change anything2755 when user does not have permissions to admin the new parent2756 behaves like error for the tree update2757 does not change anything2758 when the epics of reordered epic-issue links are not subepics of the base epic2759 when new_parent_id is not provided2760 behaves like error for the tree update2761 does not change anything2762 when new_parent_id is provided2763 behaves like error for the tree update2764 does not change anything2765 when moving is successful2766 updates the links relative positions2767 when a new_parent_id of a valid parent is provided2768 updates the parent2769 updates the links relative positions2770 creates system notes2771 when moving Epic2772 when subepics feature is disabled2773 behaves like error for the tree update2774 does not change anything2775 when subepics feature is enabled2776 when relative_position is not valid2777 behaves like error for the tree update2778 does not change anything2779 when user does not have permissions to admin the previous parent2780 behaves like error for the tree update2781 does not change anything2782 when user does not have permissions to admin the previous parent links2783 behaves like error for the tree update2784 does not change anything2785 when there is some other error with the new parent2786 when the new parent is in a new group hierarchy2787 behaves like new parent not in an ancestor group2788 returns success status without errors2789 when the new parent is in a descendant group2790 behaves like new parent not in an ancestor group2791 returns success status without errors2792 when user does not have permissions to admin the new parent2793 behaves like error for the tree update2794 does not change anything2795 when the reordered epics are not subepics of the base epic2796 behaves like error for the tree update2797 does not change anything2798 when moving is successful2799 updates the links relative positions2800 when new parent is current epic2801 updates the relative positions2802 does not update the parent_id2803 when moved object is from another epic and new_parent_id matches parent of adjacent object2804 updates the relative positions2805 updates the parent2806 creates system notes2807Autocomplete::VulnerabilitiesAutocompleteFinder2808 #execute2809 when vulnerable is project2810 behaves like autocomplete vulnerabilities finder2811 when the given user is nil2812 is expected to be empty2813 when the given user is not nil2814 when user does not have access to project2815 is expected to be empty2816 when user has access to project2817 when security dashboards are not enabled2818 is expected to be empty2819 when security dashboards are enabled2820 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2821 when multiple vulnerabilities are found2822 returns max 5 items2823 is sorted descending by id2824 when search is provided in params2825 and it matches ID of vulnerability2826 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2827 and it matches title of vulnerability2828 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2829 and it does not match neither title or id of vulnerability2830 is expected to be empty2831 when vulnerable is group2832 behaves like autocomplete vulnerabilities finder2833 when the given user is nil2834 is expected to be empty2835 when the given user is not nil2836 when user does not have access to project2837 is expected to be empty2838 when user has access to project2839 when security dashboards are not enabled2840 is expected to be empty2841 when security dashboards are enabled2842 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2843 when multiple vulnerabilities are found2844 returns max 5 items2845 is sorted descending by id2846 when search is provided in params2847 and it matches ID of vulnerability2848 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2849 and it matches title of vulnerability2850 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2851 and it does not match neither title or id of vulnerability2852 is expected to be empty2853Search::IndexRepairService2854 # order random2855 .execute2856 when search_index_integrity feature flag is disabled2857 behaves like does no index repair work2858 does not call the search client2859 when project.should_check_index_integrity? is false2860 behaves like does no index repair work2861 does not call the search client2862 when project and blobs exist in the index2863 does not log anything2864 behaves like gets counts for project and blobs from the search client2865 gets counts for project and blobs from the search client but does not log anything2866 when blobs are missing from the index2867 logs a warning2868 behaves like gets counts for project and blobs from the search client2869 gets counts for project and blobs from the search client but does not log anything2870 when project is missing from the index2871 enqueues the project for indexing and logs a warning2872 behaves like gets counts for project and blobs from the search client2873 gets counts for project and blobs from the search client but does not log anything2874Ci::SecureFile2875 .with_verification_state2876 returns records with given scope2877 .checksummed2878 returns records with given scope2879 .not_checksummed2880 returns records with given scope2881 #save_verification_details2882 when model record is not part of verifiables scope2883 does not create verification details2884 when model_record is part of verifiables scope2885 creates verification details2886 #replicables_for_current_secondary2887 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2888 when sync object storage is enabled2889 when the ci secure file is locally stored2890 is expected to eq true2891 when the ci secure file is object stored2892 is expected to eq true2893 when sync object storage is disabled2894 when the ci secure file is locally stored2895 is expected to eq true2896 when the ci secure file is object stored2897 is expected to be falsey2898 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2899 when sync object storage is enabled2900 when the ci secure file is locally stored2901 is expected to eq true2902 when the ci secure file is object stored2903 is expected to eq true2904 when sync object storage is disabled2905 when the ci secure file is locally stored2906 is expected to eq true2907 when the ci secure file is object stored2908 is expected to be falsey2909 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false2910 when sync object storage is enabled2911 when the ci secure file is locally stored2912 is expected to eq false2913 when the ci secure file is object stored2914 is expected to eq false2915 when sync object storage is disabled2916 when the ci secure file is locally stored2917 is expected to eq false2918 when the ci secure file is object stored2919 is expected to be falsey2920 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2921 when sync object storage is enabled2922 when the ci secure file is locally stored2923 is expected to eq true2924 when the ci secure file is object stored2925 is expected to eq true2926 when sync object storage is disabled2927 when the ci secure file is locally stored2928 is expected to eq true2929 when the ci secure file is object stored2930 is expected to be falsey2931 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: true2932 when sync object storage is enabled2933 when the ci secure file is locally stored2934 is expected to eq true2935 when the ci secure file is object stored2936 is expected to eq true2937 when sync object storage is disabled2938 when the ci secure file is locally stored2939 is expected to eq true2940 when the ci secure file is object stored2941 is expected to be falsey2942 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false2943 when sync object storage is enabled2944 when the ci secure file is locally stored2945 is expected to eq false2946 when the ci secure file is object stored2947 is expected to eq false2948 when sync object storage is disabled2949 when the ci secure file is locally stored2950 is expected to eq false2951 when the ci secure file is object stored2952 is expected to be falsey2953 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: false2954 when sync object storage is enabled2955 when the ci secure file is locally stored2956 is expected to eq false2957 when the ci secure file is object stored2958 is expected to eq false2959 when sync object storage is disabled2960 when the ci secure file is locally stored2961 is expected to eq false2962 when the ci secure file is object stored2963 is expected to be falsey2964 .search2965 when search query is empty2966 returns all records2967 when search query is not empty2968 without matches2969 filters all records2970 with matches by attributes2971 searchable_attribute: :name2972 is expected to contain exactly #<Ci::SecureFile id: 140, project_id: 1096, created_at: "2023-06-02 06:50:10.814936441 +0000", update...2e5eeb0640842e4015da0607bc2007c04c6...", metadata: nil, expires_at: nil, verification_checksum: nil>2973IncidentManagement::OncallShiftGenerator2974 # order random2975 #for_timestamp2976 with no participants2977 is expected to be nil2978 with participants2979 when timestamp is before the rotation start time2980 is expected to be nil2981 when timestamp matches the rotation start time2982 behaves like unsaved shift2983 returns shift which starts at the same time as the rotation2984 when timestamp matches a shift start/end time2985 behaves like unsaved shift2986 returns the next shift of the rotation2987 when timestamp is in the middle of a shift2988 behaves like unsaved shift2989 returns the shift during which the timestamp occurs2990 when timestamp is at the end of a shift2991 behaves like unsaved shift2992 returns the second shift2993 with rotation end time2994 when timestamp matches rotation end time2995 is expected to be nil2996 when timestamp is before rotation end time2997 behaves like unsaved shift2998 returns the shift during which the timestamp occurs2999 when timestamp is at rotation end time3000 is expected to be nil3001 with shift active period times set3002 when timestamp is the start of rotation, but before active period3003 is expected to be nil3004 when timestamp is the same time as active period start3005 behaves like unsaved shift3006 returns the first shift of the shift cycle (split by the active period)3007 when timestamp is the same time as active period end3008 is expected to be nil3009 when timestamp is the after the active period ends3010 is expected to be nil3011 #for_timeframe3012 with no participants3013 is expected to be empty3014 with one participant3015 behaves like unsaved shifts3016 returns 3 shifts of 5 days, all for the same participant3017 when timestamp is at the end of a shift3018 behaves like unsaved shifts3019 returns the second and third shift3020 with many participants3021 behaves like unsaved shifts3022 returns One shift of 5 days long for each participant3023 with shift active period times set3024 splits the shifts daily by each active period3025 behaves like unsaved shifts3026 returns 5 shifts for each participant split by each day3027 with week length unit3028 splits the shifts daily by each active period3029 behaves like unsaved shifts3030 returns 7 shifts for each participant split by each day3031 rotation start time is in middle of active period3032 behaves like unsaved shifts3033 returns 5 shifts for each participant split by each day3034 active period is overnight3035 splits the shifts daily by each active period3036 behaves like unsaved shifts3037 returns 5 shifts for each participant with overnight shifts3038 when end time is earlier than start time3039 is expected to be empty3040 when start time is the same time as the rotation start time3041 behaves like unsaved shifts3042 returns 2 shifts of 5 days starting with first participant at the rotation start time3043 when start time is earlier than the rotation start time3044 behaves like unsaved shifts3045 returns 2 shifts of 5 days starting with the first participant at the rotation start time3046 when start time coincides with a shift change3047 behaves like unsaved shifts3048 returns 2 shifts of 5 days, starting with the second participant and the second shift3049 when start time is partway through a shift3050 behaves like unsaved shifts3051 returns 3 shifts of 5 days staring with the first participant which includes the partially completed shift3052 when the rotation has been completed many times over3053 behaves like unsaved shifts3054 returns 3 shifts of 5 days starting with the first participant beginning 7 weeks after rotation start time3055 when timeframe covers the rotation many times over3056 behaves like unsaved shifts3057 returns 7 shifts of 5 days starting with the first participant3058 with rotation end time3059 when the rotation end time coincides with a shift end3060 when end time is equal_to the rotation end time3061 behaves like unsaved shifts3062 returns 3 shifts of 5 days which ends at the rotation end time3063 when end time is less_than the rotation end time3064 behaves like unsaved shifts3065 returns 3 shifts of 5 days which ends at the rotation end time3066 when end time is greater_than the rotation end time3067 behaves like unsaved shifts3068 returns 3 shifts of 5 days which ends at the rotation end time3069 when end time is well_past the rotation end time3070 behaves like unsaved shifts3071 returns 3 shifts of 5 days which ends at the rotation end time3072 when the rotation end time is partway through a shift3073 when end time is equal_to the rotation end time3074 behaves like unsaved shifts3075 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3076 when end time is less_than the rotation end time3077 behaves like unsaved shifts3078 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3079 when end time is greater_than the rotation end time3080 behaves like unsaved shifts3081 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3082 when end time is well_past the rotation end time3083 behaves like unsaved shifts3084 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3085 in timezones with daylight-savings3086 with positive UTC offsets3087 with rotation in hours3088 switching to daylight savings time3089 when overlapping the switch3090 behaves like unsaved shifts3091 returns hour-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3092 starting after switch3093 behaves like unsaved shifts3094 returns hour-long shifts which are entirely in NZDT(+1300)3095 starting after multiple switches3096 behaves like unsaved shifts3097 returns hour-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3098 switching off daylight savings time3099 when overlapping the switch3100 behaves like unsaved shifts3101 returns hour-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3102 starting after switch3103 behaves like unsaved shifts3104 returns hour-long shifts which are entirely in NZST(+1200)3105 starting after multiple switches3106 behaves like unsaved shifts3107 returns hour-long shifts which are entirely back in NZST(+1300) after 2 timezone switches since the rotation start time3108 with rotation in days3109 switching to daylight savings time3110 when overlapping the switch3111 behaves like unsaved shifts3112 returns day-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3113 starting after switch3114 behaves like unsaved shifts3115 returns day-long shifts which are entirely in NZDT(+1300)3116 starting after multiple switches3117 behaves like unsaved shifts3118 returns day-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3119 switching off daylight savings time3120 when overlapping the switch3121 behaves like unsaved shifts3122 returns day-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3123 starting after switch3124 behaves like unsaved shifts3125 returns day-long shifts which are entirely in NZST(+1200)3126 starting after multiple switches3127 behaves like unsaved shifts3128 returns day-long shifts which are entirely back in NZST(+1300) after 2 timezone switches since the rotation start time3129 with rotation in weeks3130 switching to daylight savings time3131 when overlapping the switch3132 behaves like unsaved shifts3133 returns 2-week-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3134 starting after switch3135 behaves like unsaved shifts3136 returns 2-week-long shifts which are entirely in NZDT(+1300)3137 starting after multiple switches3138 behaves like unsaved shifts3139 returns 2-week-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3140 switching off daylight savings time3141 when overlapping the switch3142 behaves like unsaved shifts3143 returns 2-week-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3144 starting after switch3145 behaves like unsaved shifts3146 returns 2-week-long shifts which are entirely in NZST(+1200)3147 starting after multiple switches3148 behaves like unsaved shifts3149 returns 2-week-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3150 with negative UTC offsets3151 with rotation in hours3152 switching to daylight savings time3153 when overlapping the switch3154 behaves like unsaved shifts3155 returns hour-long shifts which start in EST(-0500) and switch to EDT(-0400)3156 starting after switch3157 behaves like unsaved shifts3158 returns hour-long shifts which are entirely in EDT(-0400)3159 starting after multiple switches3160 behaves like unsaved shifts3161 returns hour-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3162 switching off daylight savings time3163 when overlapping the switch3164 behaves like unsaved shifts3165 returns hour-long shifts which start in EDT(-0400) and switch to EST(-0500)3166 starting after switch3167 behaves like unsaved shifts3168 returns hour-long shifts which are entirely in EST(-0500)3169 starting after multiple switches3170 behaves like unsaved shifts3171 returns hour-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3172 with rotation in days3173 switching to daylight savings time3174 when overlapping the switch3175 behaves like unsaved shifts3176 returns day-long shifts which start in EST(-0500) and switch to EDT(-0400)3177 starting after switch3178 behaves like unsaved shifts3179 returns day-long shifts which are entirely in EDT(-0400)3180 starting after multiple switches3181 behaves like unsaved shifts3182 returns day-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3183 switching off daylight savings time3184 when overlapping the switch3185 behaves like unsaved shifts3186 returns day-long shifts which start in EDT(-0400) and switch to EST(-0500)3187 starting after switch3188 behaves like unsaved shifts3189 returns day-long shifts which are entirely in EST(-0500)3190 starting after multiple switches3191 behaves like unsaved shifts3192 returns day-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3193 with rotation in weeks3194 switching to daylight savings time3195 when overlapping the switch3196 behaves like unsaved shifts3197 returns 2-week-long shifts which start in EST(-0500) and switch to EDT(-0400)3198 starting after switch3199 behaves like unsaved shifts3200 returns 2-week-long shifts which are entirely in EDT(-0400)3201 starting after multiple switches3202 behaves like unsaved shifts3203 returns 2-week-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3204 switching off daylight savings time3205 when overlapping the switch3206 behaves like unsaved shifts3207 returns 2-week-long shifts which start in EDT(-0400) and switch to EST(-0500)3208 starting after switch3209 behaves like unsaved shifts3210 returns 2-week-long shifts which are entirely in EST(-0500)3211 starting after multiple switches3212 behaves like unsaved shifts3213 returns 2-week-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3214IssuesFinder3215 #execute3216 scope: all3217 filter by scoped label wildcard3218 when scoped labels are unavailable3219 does not return any results3220 when project scope is not given3221 does not return any results3222 with a single wildcard filter3223 returns issues that have labels that match the wildcard3224 with multiple wildcard filters3225 returns issues that have labels that match both wildcards3226 combined with a regular label filter3227 returns issues that have labels that match the wildcard and the regular label3228 with nested prefix3229 returns issues that have labels that match the prefix3230 with overlapping prefixes3231 returns issues that have labels that match both prefixes3232 using NOT3233 returns issues that do not have labels that match the wildcard3234 filter by weight3235 filter issues with no weight3236 returns all issues3237 filter issues with any weight3238 returns all issues3239 filter issues with a specific weight3240 returns all issues3241 filer issues by negated weight3242 filters out issues with the specified weight3243 filtering by assignee IDs3244 returns issues assigned to those users3245 filter by username3246 behaves like assignee username filter3247 returns issuables assigned to those users3248 behaves like assignee NOT username filter3249 returns issuables not assigned to those users3250 filter by epic3251 filter issues with no epic3252 returns filtered issues3253 filter issues by epic3254 when include_subepics param is not included3255 returns all issues in the epic, subepic issues excluded3256 when include_subepics param is set to true3257 returns all issues in the epic including subepic issues3258 filter issues with any epic3259 returns filtered issues3260 filter issues not in the epic3261 returns issues not assigned to the epic3262 filter by iteration3263 filter issues with no iteration3264 returns all issues without iterations3265 filter issues with any iteration3266 returns filtered issues3267 filter issues by current iteration3268 when no current iteration is found3269 returns no issues3270 when current iteration exists3271 returns filtered issues3272 filter by negated current iteration3273 returns filtered issues3274 filter issues by iteration3275 returns all issues with the iteration3276 filter issues by multiple iterations3277 returns all issues with the iteration3278 filter issue by iteration title3279 returns all issues with the iteration title3280 filter issue by negated iteration title3281 returns all issues that do not match the iteration title3282 without iteration_id param3283 returns unfiltered issues3284 when filtering by health status3285 filter issues by health status3286 returns filtered issues3287 when searching within a specific project3288 returns filtered issues3289 filter issues with no health status3290 returns filtered issues3291 filter issues with any health status3292 returns filtered issues3293 filter issues without a sepcific health status3294 returns filtered issues3295 #with_confidentiality_access_check3296 when no project filter is given3297 for an auditor3298 returns all issues3299 when searching within a specific project3300 for an auditor3301 returns all issues3302Geo::VerificationStateBackfillWorker3303 uses a geo queue3304 #perform3305 behaves like reenqueuer3306 implements lease_timeout3307 uses the :none deduplication strategy3308 #perform3309 tries to obtain a lease3310 behaves like #perform is rate limited to 1 call per3311 when the work finishes in 0 seconds3312 sleeps exactly the minimum duration3313 when the work finishes in 10% of minimum duration3314 sleeps 90% of minimum duration3315 when the work finishes in 90% of minimum duration3316 sleeps 10% of minimum duration3317 when the work finishes exactly at minimum duration3318 does not sleep3319 when the work takes 10% longer than minimum duration3320 does not sleep3321 when the work takes twice as long as minimum duration3322 does not sleep3323 when service is executed3324 when Geo::VerificationStateBackfillService#execute returns true3325 returns true3326 worker gets reenqueued3327 when VerificationStateBackfillService#execute returns false3328 returns false3329 worker does not get reenqueued (we will wait until next cronjob)3330Gitlab::Ci::Parsers::LicenseCompliance::LicenseScanning3331 #parse!3332 when parsing a valid v1 report3333 is expected to eql "1.0"3334 is expected to eq 43335 is expected to eql "Apache 2.0"3336 is expected to eql "http://www.apache.org/licenses/LICENSE-2.0.txt"3337 is expected to equal 13338 is expected to equal 13339 is expected to eql "thread_safe"3340 is expected to eql "MIT"3341 is expected to eql "http://opensource.org/licenses/mit-license"3342 is expected to equal 523343 is expected to equal 523344 is expected to eql "actioncable"3345 is expected to eql "New BSD"3346 is expected to eql "http://opensource.org/licenses/BSD-3-Clause"3347 is expected to equal 33348 is expected to equal 33349 is expected to contain exactly "ffi", "puma", and "sqlite3"3350 is expected to eql "unknown"3351 is expected to be nil3352 is expected to equal 13353 is expected to equal 13354 is expected to eql "ruby-bundler-rails"3355 when parsing a valid v1.1 report3356 is expected to eql "1.1"3357 is expected to eq 33358 is expected to eql "BSD-4-Clause"3359 is expected to eql "BSD"3360 is expected to eql "http://spdx.org/licenses/BSD-4-Clause.json"3361 is expected to equal 23362 is expected to equal 23363 is expected to contain exactly "b" and "c"3364 is expected to eql "MIT"3365 is expected to eql "MIT"3366 is expected to eql "http://opensource.org/licenses/mit-license"3367 is expected to equal 23368 is expected to equal 23369 is expected to contain exactly "a" and "c"3370 is expected to be nil3371 is expected to eql "unknown"3372 is expected to be nil3373 is expected to equal 13374 is expected to equal 13375 is expected to contain exactly "d"3376 when parsing a valid v2 report3377 is expected to eql "2.0"3378 is expected to eq 33379 is expected to eql "BSD-3-Clause"3380 is expected to eql "BSD 3-Clause \"New\" or \"Revised\" License"3381 is expected to eql "http://spdx.org/licenses/BSD-3-Clause.json"3382 is expected to equal 23383 is expected to equal 23384 is expected to contain exactly "b" and "c"3385 is expected to eql "MIT"3386 is expected to eql "MIT License"3387 is expected to eql "http://spdx.org/licenses/MIT.json"3388 is expected to equal 23389 is expected to equal 23390 is expected to contain exactly "a" and "c"3391 is expected to be nil3392 is expected to eql "unknown"3393 is expected to be nil3394 is expected to equal 13395 is expected to equal 13396 is expected to contain exactly "d"3397 when parsing a valid v2.1 report3398 is expected to eql "2.1"3399 is expected to eq 33400 parses the BSD license3401 parses the MIT license3402 parses an unknown license3403 when parsing a v2 report with a missing license definition3404 is expected to equal 13405 is expected to eql "MIT"3406 is expected to eql "unknown"3407 is expected to equal 13408 is expected to eql "saml-kit"3409 when the report version is not recognized3410 is expected to raise KeyError3411 when the report version is missing3412 is expected to eq "1.0"3413 is expected to be empty3414 when the report version is nil3415 is expected to eq "1.0"3416 is expected to be empty3417 when the report version is blank3418 is expected to eq "1.0"3419 is expected to be empty3420 when the report is structured as an array3421 is expected to be empty3422 when the report is not a valid JSON document3423 is expected to eql "1.0"3424 is expected to be empty3425MergeRequestWidgetEntity3426 avoids N+1 queries3427 has vulnerability feedback paths3428 has can_read_vulnerability_feedback property3429 has discover project security path3430 has pipeline id3431 test report artifacts3432 json_entry: :browser_performance, artifact_type: :browser_performance, exposures: [:degradation_threshold, :head_path, :base_path]3433 when feature is available3434 with new report artifacts3435 has data entry3436 without artifacts3437 does not have data entry3438 json_entry: :browser_performance, artifact_type: :performance, exposures: [:degradation_threshold, :head_path, :base_path]3439 when feature is available3440 with new report artifacts3441 has data entry3442 without artifacts3443 does not have data entry3444 json_entry: :load_performance, artifact_type: :load_performance, exposures: [:head_path, :base_path]3445 when feature is available3446 with new report artifacts3447 has data entry3448 without artifacts3449 does not have data entry3450 degradation_threshold3451 with browser_performance artifact3452 when head pipeline's browser performance build has the threshold variable defined3453 returns the value of the variable3454 when head pipeline's browser performance build has no threshold variable defined3455 returns nil3456 with performance artifact3457 when head pipeline's browser performance build has the threshold variable defined3458 returns the value of the variable3459 when head pipeline's browser performance build has no threshold variable defined3460 returns nil3461 #license_scanning3462 when report artifact is defined3463 is included3464 #settings_path should not be included for developers3465 when feature is not licensed3466 is not included3467 when user is maintainer3468 #settings_path should be included for maintainers3469 when a report artifact is produced from a forked project3470 is expected to include :license_scanning3471 #can_read_vulnerabilities3472 when security dashboard feature is available3473 is set to true3474 when security dashboard feature is not available3475 is set to false3476 #can_read_vulnerability_feedback3477 when user has permissions to read vulnerability feedback3478 is set to true3479 when user has no permissions to read vulnerability feedback3480 is set to false3481 blocking merge requests3482 feature disabled3483 does not have the blocking_merge_requests member3484 feature enabled3485 shows the blocking merge request if visible3486 hides the blocking merge request if not visible3487 does not count a merged and hidden blocking MR3488ProductivityAnalytics3489 metrics data3490 #histogram_data3491 metric: "days_to_merge", expected_result: {3=>2, 14=>1, 30=>1}3492 calculates correctly3493 metric: "time_to_first_comment", expected_result: {0=>3, 24=>1}3494 calculates correctly3495 metric: "time_to_last_commit", expected_result: {312=>1, 696=>1, 48=>2}3496 calculates correctly3497 metric: "time_to_merge", expected_result: {24=>3, 0=>1}3498 calculates correctly3499 metric: "commits_count", expected_result: {1=>2, 5=>1, 20=>1}3500 calculates correctly3501 metric: "loc_per_commit", expected_result: {15=>1, 16=>1, 14=>1, 5=>1}3502 calculates correctly3503 metric: "files_touched", expected_result: {15=>1, 3=>2, 1=>1}3504 calculates correctly3505 metric: "something_invalid", expected_result: nil3506 calculates correctly3507 for multiple labeled mrs3508 returns aggregated data3509 #scatterplot_data3510 returns metric values for each MR3511 for multiple labeled mrs3512 properly returns MRs with metrics calculated3513 #merge_requests_extended3514 returns MRs data with all the metrics calculated3515 with custom sorting3516 reorders MRs according to custom sorting3517 with unknown sorting3518 sorts by id desc3519 for multiple labeled mrs3520 properly returns MRs with metrics calculated3521 .start_date3522 delegates to ApplicationSetting3523Gitlab::Llm::OpenAi::Client3524 # order random3525 #completions3526 tracks prompt and completion tokens cost3527 behaves like forwarding the request correctly3528 when feature flag and access token is set3529 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3530 when using options3531 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3532 when the feature flag is disabled3533 is expected to be nil3534 when the access key is not present3535 is expected to be nil3536 when moderation flag is nil3537 produces a deprecation warning3538 when moderation flag is set3539 when response is not flagged3540 returns the response from original endpoint3541 when response is flagged3542 raises TextModerationError3543 when moderation flag is false3544 does not call the moderation endpoint3545 when moderation flag is nil3546 produces a deprecation warning3547 when output moderation flag is true3548 when response is not flagged3549 returns the response from original endpoint3550 when response is flagged3551 raises TextModerationError3552 when moderation flag is false3553 does not call the moderation endpoint3554 #chat3555 tracks prompt and completion tokens cost3556 behaves like forwarding the request correctly3557 when feature flag and access token is set3558 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3559 when using options3560 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3561 when the feature flag is disabled3562 is expected to be nil3563 when the access key is not present3564 is expected to be nil3565 when moderation flag is nil3566 produces a deprecation warning3567 when moderation flag is set3568 when response is not flagged3569 returns the response from original endpoint3570 when response is flagged3571 raises TextModerationError3572 when moderation flag is false3573 does not call the moderation endpoint3574 when moderation flag is nil3575 produces a deprecation warning3576 when output moderation flag is true3577 when response is not flagged3578 returns the response from original endpoint3579 when response is flagged3580 raises TextModerationError3581 when moderation flag is false3582 does not call the moderation endpoint3583 #moderations3584 behaves like forwarding the request correctly3585 when feature flag and access token is set3586 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3587 when using options3588 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3589 when the feature flag is disabled3590 is expected to be nil3591 when the access key is not present3592 is expected to be nil3593 #edits3594 tracks prompt and completion tokens cost3595 behaves like forwarding the request correctly3596 when feature flag and access token is set3597 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3598 when using options3599 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3600 when the feature flag is disabled3601 is expected to be nil3602 when the access key is not present3603 is expected to be nil3604 when moderation flag is nil3605 produces a deprecation warning3606 when moderation flag is set3607 when response is not flagged3608 returns the response from original endpoint3609 when response is flagged3610 raises TextModerationError3611 when moderation flag is false3612 does not call the moderation endpoint3613 when moderation flag is nil3614 produces a deprecation warning3615 when output moderation flag is true3616 when response is not flagged3617 returns the response from original endpoint3618 when response is flagged3619 raises TextModerationError3620 when moderation flag is false3621 does not call the moderation endpoint3622 #embeddings3623 tracks prompt and completion tokens cost3624 behaves like forwarding the request correctly3625 when feature flag and access token is set3626 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3627 when using options3628 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3629 when the feature flag is disabled3630 is expected to be nil3631 when the access key is not present3632 is expected to be nil3633 when moderation flag is nil3634 produces a deprecation warning3635 when moderation flag is set3636 when response is not flagged3637 returns the response from original endpoint3638 when response is flagged3639 raises TextModerationError3640 when moderation flag is false3641 does not call the moderation endpoint3642 #messages_chat3643 tracks prompt and completion tokens cost3644 behaves like forwarding the request correctly3645 when feature flag and access token is set3646 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3647 when using options3648 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3649 when the feature flag is disabled3650 is expected to be nil3651 when the access key is not present3652 is expected to be nil3653 when moderation flag is nil3654 produces a deprecation warning3655 when moderation flag is set3656 when response is not flagged3657 returns the response from original endpoint3658 when response is flagged3659 raises TextModerationError3660 when moderation flag is false3661 does not call the moderation endpoint3662 when moderation flag is nil3663 produces a deprecation warning3664 when output moderation flag is true3665 when response is not flagged3666 returns the response from original endpoint3667 when response is flagged3668 raises TextModerationError3669 when moderation flag is false3670 does not call the moderation endpoint3671 without the correct role3672 raises an error3673Gitlab::Licenses::SubmitLicenseUsageDataBanner3674 #reset3675 when check namespace plan setting is enabled3676 does not reset the submit license usage data3677 when there is only a future dated license3678 does not reset the submit license usage data3679 when current license is an online cloud license3680 does not reset the submit license usage data3681 when current license is a legacy license3682 does not reset the submit license usage data3683 when current license is for a trial3684 does not reset the submit license usage data3685 when license start day matches today's day3686 resets the submit license usage data3687 when license start day does not match today's day3688 and today is the end of the month3689 and the start date's day is smaller than today's day3690 does not reset the submit license usage data3691 and the start date's day is bigger than today's day3692 current_date: Mon, 28 Feb 20223693 resets the submit license usage data3694 current_date: Thu, 29 Feb 20243695 resets the submit license usage data3696 current_date: Sat, 30 Apr 20223697 resets the submit license usage data3698 #display?3699 is expected to eq true3700 when user is empty3701 is expected to eq false3702 when user cannot admin all resources3703 is expected to eq false3704 when check namespace plan setting is enabled3705 is expected to eq false3706 when current license is an online cloud license3707 is expected to eq false3708 when current license is a legacy license3709 is expected to eq false3710 when current license is for a trial3711 is expected to eq false3712 when there is only a future dated license3713 is expected to eq false3714 when it's within the first month of the license3715 is expected to eq false3716 when user dismissed the callout3717 is expected to eq false3718 #title3719 returns the title3720 when banner should not be displayed3721 does not return a title3722 #body3723 returns the body3724 when banner should not be displayed3725 does not return a body3726 #dismissable?3727 is expected to eq true3728 when license usage data has not been exported yet3729 is expected to eq false3730MergeRequests::ComplianceViolation3731 Associations3732 is expected to belong to violating_user required: false3733 is expected to belong to merge_request required: false3734 Validations3735 is expected to validate that :violating_user cannot be empty/falsy3736 is expected to validate that :merge_request cannot be empty/falsy3737 is expected to validate that :reason cannot be empty/falsy3738 is expected to validate that :severity_level cannot be empty/falsy3739 when a violation exists with the same reason and user for a merge request3740 does not create a duplicate merge request violation3741 Enums3742 is expected to define :reason as an enum backed by an integer with values ‹{approved_by_merge_request_author: 0, approved_by_committer: 1, approved_by_insufficient_users: 2}›3743 is expected to define :severity_level as an enum backed by an integer with values ‹{info: 0, low: 1, medium: 2, high: 3, critical: 4}›3744 #by_approved_by_committer3745 returns the correct collection of violations3746 #by_group3747 returns the correct collection of violations3748 #by_projects3749 returns the correct collection of violations3750 #merged_before3751 returns the correct collection of violations3752 #merged_after3753 returns the correct collection of violations3754 #order_by_reason3755 direction: "ASC", result: lazy { [violations[0], violations[1]] }3756 returns the correct collection of violations3757 direction: "DESC", result: lazy { [violations[1], violations[0]] }3758 returns the correct collection of violations3759 #order_by_severity_level3760 direction: "ASC", result: lazy { [violations[0], violations[1]] }3761 returns the correct collection of violations3762 direction: "DESC", result: lazy { [violations[1], violations[0]] }3763 returns the correct collection of violations3764 #order_by_merge_request_title3765 direction: "ASC", result: lazy { [violations[0], violations[1]] }3766 returns the correct collection of violations3767 direction: "DESC", result: lazy { [violations[1], violations[0]] }3768 returns the correct collection of violations3769 #order_by_merged_at3770 direction: "ASC", result: lazy { [violations[0], violations[1]] }3771 returns the correct collection of violations3772 direction: "DESC", result: lazy { [violations[1], violations[0]] }3773 returns the correct collection of violations3774 #by_target_branch3775 returns the correct collection of violations3776 .process_merge_request3777 loops through each violation class3778Arkose::TokenVerificationService3779 # order random3780 #execute3781 when arkose_labs_prevent_login feature flag is enabled3782 behaves like interacting with Arkose verify API3783 when the user did not solve the challenge3784 returns an error response3785 returns an error message3786 when feature arkose_labs_prevent_login is enabled3787 when the user solved the challenge3788 when the risk score is low3789 makes a request to the Verify API3790 logs the event3791 records user's Arkose data3792 behaves like returns success response with the correct payload3793 returns a success response3794 returns payload with correct :low_risk value3795 includes the json response in the payload3796 when the session is allowlisted3797 behaves like returns success response with the correct payload3798 returns a success response3799 returns payload with correct :low_risk value3800 includes the json response in the payload3801 when the risk score is high3802 behaves like returns success response with the correct payload3803 returns a success response3804 returns payload with correct :low_risk value3805 includes the json response in the payload3806 when the response does not include the risk session3807 when the user solved the challenge3808 behaves like returns success response with the correct payload3809 returns a success response3810 returns payload with correct :low_risk value3811 includes the json response in the payload3812 when the user did not solve the challenge3813 returns an error response3814 returns an error message3815 logs the event3816 when response from Arkose is not what we expect3817 behaves like returns success response with correct payload and logs the error3818 returns a success response3819 returns { low_risk: true } payload3820 does not include the json response in the payload3821 logs the error3822 when an error occurs during the Arkose request3823 behaves like returns success response with correct payload and logs the error3824 returns a success response3825 returns { low_risk: true } payload3826 does not include the json response in the payload3827 logs the error3828 when feature arkose_labs_prevent_login is disabled3829 when the risk score is high3830 returns a success response3831 returns { low_risk: true } payload3832Projects::RestoreService3833 restoring project3834 marks project as not hidden, unarchived and not marked for deletion3835 when the original project path is not taken3836 renames the project back to its original path3837 renames the project back to its original name3838 when the original project name has been taken3839 renames the project back to its original path with a suffix3840 renames the project back to its original name with a suffix3841 uses the same suffix for both the path and name3842 when the original project path does not contain the -deleted- suffix3843 renames the project back to its original path3844 renames the project back to its original name3845 restoring project already in process of removal3846 does not allow to restore3847 audit events3848 saves audit event3849Ci::BuildDependencies3850 for cross_project dependencies3851 when cross_dependencies are not defined3852 is expected to be empty3853 with missing dependency3854 is expected to be empty3855 with cross_dependencies to the same project3856 with artifacts true3857 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-06-02 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 379, stage_id: 350, partition_id: 100, tag_list: nil>3858 with artifacts false3859 is expected to be empty3860 with dependency names from environment variables3861 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-06-02 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 383, stage_id: 354, partition_id: 100, tag_list: nil>3862 with cross_dependencies to another ref in same project3863 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-06-02 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 385, stage_id: 355, partition_id: 100, tag_list: nil>3864 with cross_dependencies to a pipeline in another project3865 with permissions to other_project3866 contains both dependencies3867 when license does not have cross_project_pipelines3868 is expected to be empty3869 without permissions to other_project3870 is expected to contain exactly #<Ci::Build status: "success", finished_at: "2023-06-02 08:53:29.000000000 +0000", created_at: "2023-...rocessed: false, scheduling_type: "stage", id: 394, stage_id: 361, partition_id: 100, tag_list: nil>3871 with too many cross_dependencies3872 returns a limited number of dependencies3873 #all3874 with both cross project and cross pipeline dependencies3875 returns both dependencies3876ApprovalRulePresenter3877 #approvers3878 when user cannot see one of the groups3879 is expected to be empty3880 when user can see all groups3881 is expected to contain exactly #<User id:2611 @user1608>, #<User id:2612 @user1609>, and #<User id:2613 @user1610>3882 #groups3883 with project rule3884 behaves like filtering private group3885 when user has no access to private group3886 excludes private group3887 when user has access to private group3888 includes private group3889 with wrapped approval rule3890 behaves like filtering private group3891 when user has no access to private group3892 excludes private group3893 when user has access to private group3894 includes private group3895 with any_approver rule3896 contains no groups without raising an error3897 #contains_hidden_groups?3898 with project rule3899 behaves like detecting hidden group3900 when user has no access to private group3901 excludes private group3902 when user has access to private group3903 includes private group3904 with wrapped approval rule3905 behaves like detecting hidden group3906 when user has no access to private group3907 excludes private group3908 when user has access to private group3909 includes private group3910 with any_approver rule3911 contains no groups without raising an error3912Resolvers::Geo::UploadRegistriesResolver3913 behaves like a Geo registries resolver3914 #resolve3915 when the parent object is the current node3916 when the user has permission to view Geo data3917 when admin mode is enabled3918 when the ids argument is null3919 returns registries, in order3920 when the ids argument is present3921 returns the requested registries, in order3922 when the replication_state argument is present3923 returns registries with requested replication state, in order3924 with verification enabled3925 when the verification_state argument is present3926 returns registries with requested verification state, in order3927 with verification disabled3928 when the verification_state argument is present3929 raises ArgumentError (PENDING: Skipping because verification is enabled for Upload)3930 when admin mode is disabled3931 returns nothing3932 when the user does not have permission to view Geo data3933 returns nothing3934 when the parent object is not the current node3935 when the user has permission to view Geo data3936 returns nothing, because we can't query other nodes' tracking databases3937Gitlab::Search::IndexCurator3938 # order random3939 #indices3940 raises an ArgumentError if given an invalid lifecycle3941 lifecycle: :write, index_names: ["foo", "bar"], convenience_method: :write_indices3942 returns the correct indices from aliases3943 lifecycle: :read, index_names: ["foo", "baz"], convenience_method: :read_indices3944 returns the correct indices from aliases3945 lifecycle: :all, index_names: ["foo", "bar", "baz"], convenience_method: :indices3946 returns the correct indices from aliases3947 #rollover_index3948 performs necessary steps to rollover an index3949 #increment_index_name3950 returns an index name with number from last four digits incremented3951 starts a number suffix if one does not already exist3952 #settings3953 has defaults3954 has dry_run on by default3955 when given an invalid setting3956 raises an ArgumentError3957 when specific values are passed3958 merges specific values3959 when max_docs_demoninator is <= 03960 raises an argument error3961 #should_ignore_index?3962 when index name matches one of the ignore patterns3963 returns true3964 when none of the ignore patterns match the index name3965 returns false3966 when index name matches one of the ignore pattern and also an include pattern3967 returns false3968 #primary_shard_size_too_big?3969 when pri.store.size value is greater than max size3970 returns true3971 when pri.store.size value is less than max size3972 returns false3973 #should_skip_rollover?3974 should_ignore_index: false, too_few_docs: false, expected_value: false3975 returns correct value3976 should_ignore_index: true, too_few_docs: false, expected_value: true3977 returns correct value3978 should_ignore_index: false, too_few_docs: true, expected_value: true3979 returns correct value3980 should_ignore_index: true, too_few_docs: true, expected_value: true3981 returns correct value3982 #read_indices3983 is a convenience method for indices(lifecycle: :read)3984 #todo3985 returns an array of indices that need to be rolled over and important info3986 #curate!3987 rolls over the indices that need to be rolled over3988 does not do any rollovers if preflight checks fail3989 when dry_run is enabled3990 does not do anything3991 #client3992 is a Gitlab::Search::Client3993 .curate3994 calls curator.curate!3995 bubbles up errors3996 #write_indices3997 is a convenience method for indices(lifecycle: :write)3998 #rollover_index integration test3999 when write alias is not specified4000 creates another index and updates write alias4001 when write alias is already specified4002 creates another index and updates write alias4003 #preflight_checks!4004 migrations_disabled: false, pending_migrations: true, indexing_paused: false, should_fail: true4005 raises an ArgumentError if checks fail4006 migrations_disabled: false, pending_migrations: false, indexing_paused: true, should_fail: true4007 raises an ArgumentError if checks fail4008 migrations_disabled: false, pending_migrations: true, indexing_paused: true, should_fail: true4009 raises an ArgumentError if checks fail4010 migrations_disabled: false, pending_migrations: false, indexing_paused: false, should_fail: false4011 raises an ArgumentError if checks fail4012 migrations_disabled: true, pending_migrations: true, indexing_paused: false, should_fail: false4013 raises an ArgumentError if checks fail4014 migrations_disabled: true, pending_migrations: false, indexing_paused: true, should_fail: true4015 raises an ArgumentError if checks fail4016 migrations_disabled: true, pending_migrations: true, indexing_paused: true, should_fail: true4017 raises an ArgumentError if checks fail4018 migrations_disabled: true, pending_migrations: false, indexing_paused: false, should_fail: false4019 raises an ArgumentError if checks fail4020 #too_few_docs?4021 when minimum threshold is not met4022 returns true4023 when minimum threshold is met4024 returns false4025 #too_many_docs?4026 when document count is saturated4027 returns true4028 when document count is not saturated4029 returns false4030RemoteDevelopment::Workspaces::Reconcile::ReconcileProcessor Partial Update Scenarios4031 # order random4032 initial_db_state: [:running, :running], user_desired_state_update: :stopped, agent_actual_state_updates: [nil, [:running, :stopping, true], [:stopping, :stopped, false]], response_expectations: [[true, true], [false, true], [false, true]], db_expectations: [[:running, :running], [:stopped, :running], [:stopped, :running], [:stopped, :stopping], [:stopped, :stopped]]4033 behaves as expected4034 initial_db_state: [:running, :running], user_desired_state_update: :restart_requested, agent_actual_state_updates: [nil, [:running, :stopping, true], [:stopping, :stopped, false], [:stopped, :starting, false], [:starting, :running, true]], response_expectations: [[true, true], [false, true], [true, true], [false, true], [false, true]], db_expectations: [[:running, :running], [:restart_requested, :running], [:restart_requested, :running], [:restart_requested, :stopping], [:running, :stopped], [:running, :starting], [:running, :running]]4035 behaves as expected4036 initial_db_state: [:stopped, :stopped], user_desired_state_update: :running, agent_actual_state_updates: [nil, [:stopped, :starting, false], [:starting, :running, true]], response_expectations: [[true, true], [false, true], [false, true]], db_expectations: [[:stopped, :stopped], [:running, :stopped], [:running, :stopped], [:running, :starting], [:running, :running]]4037 behaves as expected4038 initial_db_state: nil, user_desired_state_update: :running, agent_actual_state_updates: [nil, [:creation_requested, :starting, false], [:starting, :running, true]], response_expectations: [[true, false], [false, true], [false, true]], db_expectations: [[:running, :creation_requested], [:running, :creation_requested], [:running, :starting], [:running, :running]]4039 behaves as expected4040 initial_db_state: [:stopped, :stopped], user_desired_state_update: :running, agent_actual_state_updates: [nil, [:stopped, :starting, false], [:starting, :running, true]], response_expectations: [[true, true], [false, true], [false, true]], db_expectations: [[:stopped, :stopped], [:running, :stopped], [:running, :stopped], [:running, :starting], [:running, :running]]4041 behaves as expected4042SnippetsFinder4043 filter by project4044 returns all snippets for auditor users4045 filter by authorized snippet projects and authored personal4046 when no user4047 returns only public personal snippets4048 when user is not a member of any project4049 returns only user personal snippets4050 when the user is a member of a project4051 returns all the authorized project snippets and authored personal ones4052 returns all the authorized project snippets and authored personal ones4053 returns all the authorized project snippets and authored personal ones4054 returns all the authorized project snippets and authored personal ones4055 returns all the authorized project snippets and authored personal ones4056 returns all the authorized project snippets and authored personal ones4057 returns all the authorized project snippets and authored personal ones4058 returns all the authorized project snippets and authored personal ones4059 when user cannot read_cross_project4060 returns only user personal snippets4061 when the user is a member of a group4062 returns all the authorized project snippets and authored personal ones4063 returns all the authorized project snippets and authored personal ones4064 returns all the authorized project snippets and authored personal ones4065 returns all the authorized project snippets and authored personal ones4066 when param author is passed4067 when user is not a member of any project4068 returns only the author visible personal snippets to the user4069 when user is a member of a project4070 returns all the authorized project and personal snippets authored by the author4071 returns all the authorized project and personal snippets authored by the author4072 returns all the authorized project and personal snippets authored by the author4073 returns all the authorized project and personal snippets authored by the author4074 when only_personal is passed4075 returns only personal snippets4076 when only_project is passed4077 returns only project snippets4078 when no personal snippets are visible4079 does not return any record4080Jobs/Browser-Performance-Testing.gitlab-ci.yml4081 the created pipeline4082 has no errors4083 when variable is KUBECONFIG and not CI_KUBERNETES_ACTIVE4084 is present4085 on master4086 behaves like browser_performance job on tag or branch4087 by default4088 when BROWSER_PERFORMANCE_DISABLED4089 on another branch4090 behaves like browser_performance job on tag or branch4091 by default4092 when BROWSER_PERFORMANCE_DISABLED4093 on tag4094 behaves like browser_performance job on tag or branch4095 by default4096 when BROWSER_PERFORMANCE_DISABLED4097 on merge request4098 has no jobs4099GitlabSubscriptions::Reconciliations::CalculateSeatCountDataService4100 #execute4101 with no subscription4102 is expected to equal nil4103 when the max_seats_used has not been updated on the subscription4104 returns nil4105 when the subscription has expired4106 returns nil4107 when the subscription is a trial4108 returns nil4109 when conditions are not met4110 when it is not SaaS4111 is expected to equal nil4112 when namespace is not a group4113 is expected to equal nil4114 when the alert was dismissed4115 is expected to equal nil4116 when the user does not have admin rights to the group4117 is expected to equal nil4118 when the subscription is not eligible for usage alerts4119 is expected to equal nil4120 when max seats used are more than the subscription seats4121 is expected to equal nil4122 with threshold limits4123 when limits are not met4124 seats: 15, max_seats_used: 134125 is expected to equal nil4126 seats: 24, max_seats_used: 204127 is expected to equal nil4128 seats: 35, max_seats_used: 294129 is expected to equal nil4130 seats: 100, max_seats_used: 904131 is expected to equal nil4132 seats: 1000, max_seats_used: 9494133 is expected to equal nil4134 when limits are met4135 seats: 15, max_seats_used: 144136 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>1, :seats_in_use=>14, :total_seat_count=>15}4137 seats: 24, max_seats_used: 224138 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>2, :seats_in_use=>22, :total_seat_count=>24}4139 seats: 35, max_seats_used: 324140 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>3, :seats_in_use=>32, :total_seat_count=>35}4141 seats: 100, max_seats_used: 934142 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>7, :seats_in_use=>93, :total_seat_count=>100}4143 seats: 1000, max_seats_used: 9504144 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>50, :seats_in_use=>950, :total_seat_count=>1000}4145LdapGroupResetService4146 #execute4147 initiated by ldap user4148 is expected to eq 504149 is expected to eq 104150 is expected to eq 504151 is expected to be nil4152 is expected to be nil4153 initiated by regular user4154 is expected to eq 104155 is expected to eq 104156 is expected to eq 504157 is expected to be nil4158 is expected to be nil4159Gitlab::LicenseScanning::PackageLicenses4160 # order random4161 #fetch4162 when querying compressed package metadata4163 and components to fetch are empty4164 is expected to be empty4165 and components to fetch are not empty4166 returns only the items that matched the fetched components4167 and we change the batch size4168 executes 1 query for each batch4169 does not query more than BATCH_SIZE component tuples at a time4170 still returns only the items that matched the fetched components4171 with load balancing enabled4172 uses the replica4173 when passing additional components to fetch4174 returns all the items that matched the fetched components4175 does not execute n+1 queries4176 when component is missing attributes4177 returns "unknown" license for all the matching components4178 when packages contain nil or empty licenses4179 returns "unknown" license for all the matching components4180 when no packages match the given criteria4181 name does not match4182 returns 'unknown' as the license4183 purl_type does not match4184 returns 'unknown' as the license4185 and the version is invalid4186 returns the default licenses4187 and the version does not match4188 returns the default licenses4189 when querying uncompressed package metadata4190 and components to fetch are empty4191 is expected to be empty4192 and components to fetch are not empty4193 returns only the items that matched the fetched components4194 and we change the batch size4195 executes 2 queries for each batch4196 does not query more than BATCH_SIZE component tuples at a time4197 still returns only the items that matched the fetched components4198 with load balancing enabled4199 uses the replica4200 when passing additional components to fetch4201 returns all the items that matched the fetched components4202 does not execute n+1 queries4203 when component is missing attributes4204 returns all the items that matched the fetched components with unknown licenses4205 when no packages match the given criteria4206 name does not match4207 returns 'unknown' as the license4208 purl_type does not match4209 returns 'unknown' as the license4210 version does not match4211 returns 'unknown' as the license4212Elastic::Latest::GitClassProxy4213 # order random4214 fetches the results considering new and old format of rid4215Sidebars::Projects::Menus::IssuesMenu4216 #render?4217 when user cannot read issues and Jira is not enabled4218 is expected to eq false4219 when user cannot read issues but Jira is enabled4220 is expected to eq true4221 when Jira is not enabled but user can read issues4222 is expected to eq true4223 Iterations4224 when licensed feature iterations is not enabled4225 does not include iterations menu item4226 when licensed feature iterations is enabled4227 when user can read iterations4228 includes iterations menu item4229 when project is namespaced to a user4230 does not include iterations menu item4231 when user cannot read iterations4232 does not include iterations menu item4233 Requirements4234 when licensed feature requirements is not enabled4235 does not include requirements menu item4236 when licensed feature requirements is enabled4237 when user can read requirements4238 includes requirements menu item4239 when user cannot read requirements4240 does not include requirements menu item4241 Jira issues4242 when issue tracker is not Jira4243 does not include Jira issues menu items4244 when issue tracker is Jira4245 when issues integration is disabled4246 does not include Jira issues menu items4247 when issues integration is enabled4248 includes Jira issues menu items4249 Zentao issues4250 when Zentao integration is enabled4251 when Issues feature is enabled4252 includes Zentao issues menu items4253 when Issues feature is disabled4254 includes Zentao issues menu items4255 when Zentao integration is disabled4256 when Issues feature is disabled4257 does not include Zentao issues menu items4258Resolvers::Geo::SnippetRepositoryRegistriesResolver4259 behaves like a Geo registries resolver4260 #resolve4261 when the parent object is the current node4262 when the user has permission to view Geo data4263 when admin mode is enabled4264 when the ids argument is null4265 returns registries, in order4266 when the ids argument is present4267 returns the requested registries, in order4268 when the replication_state argument is present4269 returns registries with requested replication state, in order4270 with verification enabled4271 when the verification_state argument is present4272 returns registries with requested verification state, in order4273 with verification disabled4274 when the verification_state argument is present4275 raises ArgumentError (PENDING: Skipping because verification is enabled for SnippetRepository)4276 when admin mode is disabled4277 returns nothing4278 when the user does not have permission to view Geo data4279 returns nothing4280 when the parent object is not the current node4281 when the user has permission to view Geo data4282 returns nothing, because we can't query other nodes' tracking databases4283AppSec::Dast::Profiles::CreateService4284 execute4285 when on demand scan licensed feature is not available4286 communicates failure4287 when the feature is enabled4288 communicates success4289 creates a dast_profile4290 audits the creation4291 when param run_after_create: true4292 creates a ci_pipeline4293 behaves like it delegates scan creation to another service4294 calls AppSec::Dast::Scans::CreateService4295 when param dast_profile_schedule is present4296 creates the dast_profile_schedule4297 responds with dast_profile_schedule4298 audits the creation4299 when invalid schedule it present4300 rollback the transaction4301 returns the error service response4302 when a param is missing4303 communicates failure4304 when param tag_list is present4305 creates a dast_profile with tags4306 when there is a invalid tag4307 does not create a new dast_profile4308 returns an error status4309 populates message4310 when feature flag on_demand_scans_runner_tags is disabled4311 returns a success status4312 creates a dast_profile ignoring the tags4313Snippet4314 always returns global result for Elasticsearch indexing for #use_elasticsearch?4315 searches snippets by title and description4316 names elasticsearch queries4317 returns json with all needed elements4318 uses same index for Snippet subclasses4319ProjectImportScheduleWorker4320 #perform4321 behaves like an idempotent worker4322 is labeled as idempotent4323 performs multiple times sequentially without raising an exception4324 does nothing if the database is read-only4325 schedules an import for a project4326 tracks the status of the worker4327 project is not found4328 does not fail4329 logs the error4330 project does not have import state4331 does not fail4332 logs the error4333 when project does not support mirroring4334 marks a project hard failed4335 does not send a notification4336 changes the capacity4337 logs the error4338AuditEventFinder4339 #execute4340 scoping the results4341 when project level4342 finds all project events4343 when group level4344 finds all group events4345 when instance level4346 finds all instance level events4347 when invalid level4348 raises exception4349 filtering by entity_id4350 no entity_type provided4351 behaves like no filtering4352 finds all the events4353 invalid entity_id4354 ignores entity_id and returns all events for given entity_type4355 User Event4356 behaves like finds the right event4357 finds the right event4358 Project Event4359 behaves like finds the right event4360 finds the right event4361 Group Event4362 behaves like finds the right event4363 finds the right event4364 filtering by entity_type4365 User Event4366 finds the right user event4367 Project Event4368 finds the right project event4369 Group Event4370 finds the right group event4371 invalid entity types4372 blank entity_type4373 behaves like no filtering4374 finds all the events4375 invalid entity_type4376 behaves like no filtering4377 finds all the events4378 filtering by author_id4379 no author_id provided4380 behaves like no filtering4381 finds all the events4382 invalid author_id4383 ignores author_id and returns all events irrespective of entity_type4384 Group Event4385 behaves like finds the right event4386 finds the right event4387 Project Event4388 behaves like finds the right event4389 finds the right event4390 filtering by created_at4391 through created_after4392 returns events created on or after the given date4393 through created_before4394 returns events created on or before the given date4395 through created_after and created_before4396 returns events created between the given dates4397 filtering by entity_username4398 User Event4399 finds the right event4400 filtering by author_username4401 username is too short4402 ignores author_username and returns all events irrespective of entity_type4403 username is too long4404 ignores author_username and returns all events irrespective of entity_type4405 Instance Event4406 finds all the events the user authored4407 Group Event4408 behaves like finds the right event4409 finds the right event4410 Project Event4411 behaves like finds the right event4412 finds the right event4413 #find_by!4414 is expected to eq #<AuditEvent id: 56, author_id: 2807, entity_id: 2804, entity_type: "User", details: {:change=>"email...Jones3638", created_at: "2023-05-30 06:54:00.064609864 +0000", target_type: "User", target_id: 2808>4415 non-existent id provided4416 raises exception4417Mutations::Projects::SetLocked4418 #resolve4419 raises an error if the resource is not accessible to the user4420 when the user can lock the file4421 when file_locks feature is not available4422 raises an error4423 when file is not locked4424 sets path locks for the project4425 when file is already locked4426 does not change the lock4427 when LFS is enabled4428 locks the file in LFS4429 when file is not tracked in LFS4430 does not lock the file4431 when locking a directory4432 locks the directory4433 does not locks the directory through LFS4434 when the user can unlock the file4435 when file is already locked by the same user4436 unlocks the file4437 when file is already locked by somebody else4438 returns an error4439 when file is not locked4440 does nothing4441 when LFS is enabled4442 when file is locked4443 unlocks the file4444 unlocks the file in LFS4445 when file is not tracked in LFS4446 does not unlock the file4447 when unlocking a directory4448 unlocks the directory4449 does not call the LFS unlock service4450Security/BAS.latest.gitlab-ci.yml4451 # order random4452 the created pipeline4453 behaves like acts as branch pipeline4454 when branch pipeline4455 includes a job4456 behaves like acts as MR pipeline4457 when MR pipeline4458 includes a job4459 when DAST_BAS_DISABLED=true4460 behaves like acts as branch pipeline4461 when branch pipeline4462 includes a job4463 behaves like acts as MR pipeline4464 when MR pipeline4465 includes a job4466 when DAST_BAS_DISABLED=14467 behaves like acts as branch pipeline4468 when branch pipeline4469 includes a job4470 behaves like acts as MR pipeline4471 when MR pipeline4472 includes a job4473 when CI_OPEN_MERGE_REQUESTS is set4474 skips branch pipelines when an open MR exists4475Groups::DestroyService4476 audit events4477 when licensed4478 does not log audit event if operation fails4479 does not log audit event if operation results in no change4480 when operation succeeds4481 logs an audit event4482 logs the audit event info4483 calls the audit method with the event type4484 when not licensed4485 does not log audit event4486 streaming audit event for sub group4487 sends the audit streaming event with json format4488 dependency_proxy_blobs4489 destroys the dependency proxy blobs4490 when on a Geo primary node4491 calls replicator to update Geo4492 when group_wiki_repository does not exist4493 does not call replicator to update Geo4494 when not on a Geo primary node4495 does not call replicator to update Geo4496 when group epics have parent epic outside of group4497 schedules cache update for associated epics in batches4498Dast::SiteProfileSecretVariable4499 behaves like CI variable4500 is expected to includes the Ci::HasVariable module4501 strips whitespaces when assigning key4502 can convert to runner variable4503 variable type4504 defines variable types4505 defaults variable type to env_var4506 supports variable type file4507 associations4508 is expected to belong to dast_site_profile required: false4509 validations4510 is expected to be valid4511 is expected to includes the Ci::Maskable module4512 is expected to includes the Ci::HasVariable module4513 is expected to validate that :dast_site_profile_id cannot be empty/falsy4514 is expected to validate that :masked is ‹true›4515 is expected to validate that :key is case-sensitively unique within the scope of :dast_site_profile_id, producing a custom validation error on failure4516 only allows records where variable_type=env_var4517 #value4518 when the value is over the limit4519 is not valid4520 raises a database level error4521 when value at the maximum value4522 is valid4523 does not raise database level error4524 when value at the minimum value4525 is valid4526 does not raise database level error4527 when value is under the limit4528 is not valid4529 #masked4530 defaults to true4531 #project4532 delegates to dast_site_profile4533 #raw_value=4534 pre-encodes the value4535 #value=4536 raises an error because #raw_value= should be used instead4537 #variable_type4538 defaults to env_var4539Gitlab::AlertManagement::Payload::Generic4540 attributes4541 with multiple HTTP integrations feature available4542 with defined custom mapping4543 #title4544 is expected to eq "mapped title"4545 #description4546 is expected to eq "mapped description"4547 #starts_at4548 is expected to eq 2023-05-28 06:54:22.000000000 +00004549 #ends_at4550 is expected to eq 2023-05-29 06:54:22.000000000 +00004551 #service4552 is expected to eq "mapped service"4553 #monitoring_tool4554 is expected to eq "mapped monitoring tool"4555 #host4556 is expected to eq ["mapped-host"]4557 #severity4558 is expected to eq :high4559 #environment_name4560 is expected to eq "mapped gitlab environment"4561 #gitlab_fingerprint4562 is expected to eq "72f50630d84fe9d345da6df011389f207240e8f2"4563 with only some attributes defined in custom mapping4564 #title4565 uses the value defined by the custom mapping4566 #description4567 falls back to the default value4568 when the payload has no default generic attributes4569 #title4570 is expected to eq "mapped title"4571 #description4572 is expected to eq "mapped description"4573 with inactive HTTP integration4574 behaves like parsing alert payload fields with default paths4575 #title4576 is expected to eq "default title"4577 #description4578 is expected to eq "default description"4579 #starts_at4580 is expected to eq 2023-05-23 06:54:22.000000000 +00004581 #ends_at4582 is expected to eq 2023-05-24 06:54:22.000000000 +00004583 #service4584 is expected to eq "default service"4585 #monitoring_tool4586 is expected to eq "default monitoring tool"4587 #host4588 is expected to eq ["default-host"]4589 #severity4590 is expected to eq :low4591 #environment_name4592 is expected to eq "default gitlab environment"4593 #gitlab_fingerprint4594 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4595 with blank custom mapping4596 behaves like parsing alert payload fields with default paths4597 #title4598 is expected to eq "default title"4599 #description4600 is expected to eq "default description"4601 #starts_at4602 is expected to eq 2023-05-23 06:54:22.000000000 +00004603 #ends_at4604 is expected to eq 2023-05-24 06:54:22.000000000 +00004605 #service4606 is expected to eq "default service"4607 #monitoring_tool4608 is expected to eq "default monitoring tool"4609 #host4610 is expected to eq ["default-host"]4611 #severity4612 is expected to eq :low4613 #environment_name4614 is expected to eq "default gitlab environment"4615 #gitlab_fingerprint4616 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4617 with multiple HTTP integrations feature unavailable4618 behaves like parsing alert payload fields with default paths4619 #title4620 is expected to eq "default title"4621 #description4622 is expected to eq "default description"4623 #starts_at4624 is expected to eq 2023-05-23 06:54:22.000000000 +00004625 #ends_at4626 is expected to eq 2023-05-24 06:54:22.000000000 +00004627 #service4628 is expected to eq "default service"4629 #monitoring_tool4630 is expected to eq "default monitoring tool"4631 #host4632 is expected to eq ["default-host"]4633 #severity4634 is expected to eq :low4635 #environment_name4636 is expected to eq "default gitlab environment"4637 #gitlab_fingerprint4638 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4639 #gitlab_fingerprint4640 with fingerprint defined in payload4641 is expected to eq "b5448ce070e8ff567c4870e9fe0aeba3c0a98330"4642 license feature enabled4643 is expected to eq "47f84c5bce23005e1fe14386459f9e4425333248"4644 payload has no values4645 is expected to be nil4646 license feature not enabled4647 is expected to be nil4648Gitlab::Ci::Reports::Security::Locations::ContainerScanning4649 behaves like vulnerability location4650 #initialize4651 when all params are given4652 initializes an instance4653 param: :image4654 when param image is missing4655 raises an error4656 param: :operating_system4657 when param operating_system is missing4658 raises an error4659 #fingerprint4660 generates expected fingerprint4661 #fingerprint_path4662 generates expected fingerprint4663 #==4664 returns true when fingerprints are equal4665 returns false when fingerprints are different4666 fingerprint4667 image: "alpine:3.7.3", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:3.7.3:glibc"4668 is expected to eq "ae8d425953666250ab218c455f5d54f6f19f489b"4669 image: "alpine:3.7", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:3.7:glibc"4670 is expected to eq "84a9e34a3dd7427dcade5631531799b319fd8056"4671 image: "alpine:8101518288111119448185914762536722131810", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:glibc"4672 is expected to eq "7c97a55a23ea386c3008bf083ab3ce2aaa2696b1"4673 image: "alpine:1.0.0-beta", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:1.0.0-beta:glibc"4674 is expected to eq "33616b1c5f27c5f74f23d91da6801d18cf9368d9"4675 image: "gdk.local:5000/group/project/branch:307e0a35643f63652a713d0820db7c388012f724", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "gdk.local:5000/group/project/branch:glibc"4676 is expected to eq "411b840c0fffb802072190333cfe95bade463d41"4677 image: "registry.gitlab.com/group/project/tmp:af864bd61230d3d694eb01d6205b268b4ad63ac0", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "registry.gitlab.com/group/project/tmp:glibc"4678 is expected to eq "0f9d320fb6879532194b33ae160e527a408721ee"4679 image: "registry.gitlab.com/group/project/feature:5b1a4a921d7a50c3757aae3f7df2221878775af4", default_branch_image: "registry.gitlab.com/group/project/master:ec301f43f14a2b477806875e49cfc4d3fa0d22c3", valid_default_branch_image: true, expected_fingerprint_input: "registry.gitlab.com/group/project/master:glibc"4680 is expected to eq "7637ed90aa408c1645f7b18a8b34645ce85eb0f5"4681 image: "registry.gitlab.com/group/project/feature:d6704dc0b8e33fb550a86f7847d6a3036d4f8bd5", default_branch_image: "registry.gitlab.com/group/project:latest", valid_default_branch_image: true, expected_fingerprint_input: "registry.gitlab.com/group/project:glibc"4682 is expected to eq "4360c022f3d51b4ac733b7c9fd39d872561678ae"4683 image: "registry.gitlab.com/group/project@sha256:a418bbb80b9411f9a08025baa4681e192aaafd16505039bdcb113ccdb90a88fd", default_branch_image: "registry.gitlab.com/group/project:latest", valid_default_branch_image: true, expected_fingerprint_input: "registry.gitlab.com/group/project:glibc"4684 is expected to eq "4360c022f3d51b4ac733b7c9fd39d872561678ae"4685 image: "registry.gitlab.com/group/project/feature:latest", default_branch_image: "registry.gitlab.com/group/project:1.0.0", valid_default_branch_image: true, expected_fingerprint_input: "registry.gitlab.com/group/project:1.0.0:glibc"4686 is expected to eq "abf8a4808377f971528976d5f52f072feb3e3cfd"4687 image: "registry.gitlab.com/group/project/feature:latest", default_branch_image: "registry.gitlab.com/group/project:1.0.0", valid_default_branch_image: false, expected_fingerprint_input: "registry.gitlab.com/group/project/feature:glibc"4688 is expected to eq "8c7bd47107301997d5af637db2cf0d2bed0ea2c6"4689Sbom::DependenciesFinder4690 # order random4691 with subgroup4692 without params4693 returns the dependencies associated with the project ordered by id4694 with params4695 when sorted asc by names4696 returns array of data properly sorted4697 when sorted desc by names4698 returns array of data properly sorted4699 when sorted asc by packager4700 returns array of data properly sorted4701 when sorted desc by packager4702 returns array of data properly sorted4703 when filtered by package name npm4704 returns only records with packagers related to npm4705 when filtered by component name4706 returns only records corresponding to the filter4707 when params is invalid4708 returns the dependencies associated with the project ordered by id4709 with project4710 without params4711 returns the dependencies associated with the project ordered by id4712 with params4713 when sorted asc by names4714 returns array of data properly sorted4715 when sorted desc by names4716 returns array of data properly sorted4717 when sorted asc by packager4718 returns array of data properly sorted4719 when sorted desc by packager4720 returns array of data properly sorted4721 when filtered by package name npm4722 returns only records with packagers related to npm4723 when filtered by component name4724 returns only records corresponding to the filter4725 when params is invalid4726 returns the dependencies associated with the project ordered by id4727 with group4728 without params4729 returns the dependencies associated with the project ordered by id4730 with params4731 when sorted asc by names4732 returns array of data properly sorted4733 when sorted desc by names4734 returns array of data properly sorted4735 when sorted asc by packager4736 returns array of data properly sorted4737 when sorted desc by packager4738 returns array of data properly sorted4739 when filtered by package name npm4740 returns only records with packagers related to npm4741 when filtered by component name4742 returns only records corresponding to the filter4743 when params is invalid4744 returns the dependencies associated with the project ordered by id4745Geo::MetricsUpdateWorker4746 #perform4747 is labeled as idempotent4748 performs multiple times sequentially without raising an exception4749 delegates to MetricsUpdateService4750Resolvers::Ci::CodeCoverageActivitiesResolver4751 is expected to eq Types::Ci::CodeCoverageActivityType4752 is expected to be truthy4753 #resolve4754 when group has projects with coverage4755 returns coverage activity for the group4756 when group has projects without coverage4757 returns an empty collection4758 when coverage is included within start date4759 returns coverage from the start_date4760 when coverage is not included within start date4761 returns an empty collection4762IssueLink4763 callbacks4764 .after_create_commit4765 with TYPE_BLOCKS relation4766 updates blocking issues count4767 with TYPE_RELATES_TO4768 does not update blocking_issues_count4769 .after_destroy_commit4770 with TYPE_BLOCKS relation4771 updates blocking issues count4772 with TYPE_RELATES_TO4773 does not update blocking_issues_count4774 behaves like issuables that can block or be blocked4775 .issuable_type4776 is expected to eq :issue4777 .inverse_link_type4778 returns the inverse type of link4779 .blocked_issuable_ids4780 returns only ids of issues which are blocked4781 .blocking_issuables_ids_for4782 returns blocking issuables ids4783 blocking issuables count4784 .blocking_issuables_for_collection4785 returns blocking issues count grouped by issue id4786 .blocked_issuables_for_collection4787 returns blocked issues count grouped by issue id4788 .blocking_issuables_count_for4789 returns blocked issues count for single issue4790Gitlab::Geo::RegistryBatcher4791 #next_range!4792 when there are no records4793 is expected to be nil4794 when there are no records but there are orphaned destination_records4795 when it has never been called before4796 is expected to be a kind of Range4797 starts from the beginning4798 ends at a full batch4799 when the batch size is greater than the number of destination_records4800 ends at the last ID4801 when it was called before4802 when the previous batch included the end of the table4803 starts from the beginning4804 when the previous batch did not include the end of the table4805 starts after the previous batch4806 if cache is cleared4807 starts from the beginning4808 when there are records4809 when it has never been called before4810 is expected to be a kind of Range4811 starts from the beginning4812 ends at a full batch4813 when the batch size is greater than the number of records4814 ends at the last ID4815 when it was called before4816 when the previous batch included the end of the table4817 starts from the beginning4818 when the previous batch did not include the end of the table4819 starts after the previous batch4820 if cache is cleared4821 starts from the beginning4822 when there are records and orphaned destination_records with foreign key greater than last record id4823 when it has never been called before4824 is expected to be a kind of Range4825 starts from the beginning4826 ends at the last destination foreign key ID4827 when it was called before4828 starts from the beginning4829 if cache is cleared4830 starts from the beginning4831Mutations::Security::Finding::CreateMergeRequest4832 # order random4833 #resolve4834 when a user is not logged in4835 raises an error4836 when the current user does not have access to the project4837 raises an error4838 when the current user is a maintainer of the project4839 creates a new merge request4840 returns a valid response4841 when the security finding uuid is not provided4842 returns an error4843 when the security finding uuid is unknown4844 returns an error4845 when the metadata does not include a name4846 generates a title4847 when the current user is not able to create merge requests4848 returns an error4849Ai::Project::Conversations4850 # order random4851 #ci_config_messages4852 when the user cannot create a pipeline for the project4853 returns no messages4854 when the user can create a pipeline for the project4855 returns the conversation messages in order4856 #ci_config_chat_enabled?4857 licensed_feature_available: true, feature_enabled: true, ai_experiments_enabled: true, expected_result: true4858 returns the features availability4859 licensed_feature_available: true, feature_enabled: true, ai_experiments_enabled: false, expected_result: false4860 returns the features availability4861 licensed_feature_available: true, feature_enabled: false, ai_experiments_enabled: true, expected_result: false4862 returns the features availability4863 licensed_feature_available: false, feature_enabled: true, ai_experiments_enabled: true, expected_result: false4864 returns the features availability4865 licensed_feature_available: false, feature_enabled: false, ai_experiments_enabled: false, expected_result: false4866 returns the features availability4867 licensed_feature_available: true, feature_enabled: false, ai_experiments_enabled: false, expected_result: false4868 returns the features availability4869 licensed_feature_available: false, feature_enabled: false, ai_experiments_enabled: true, expected_result: false4870 returns the features availability4871 licensed_feature_available: false, feature_enabled: true, ai_experiments_enabled: false, expected_result: false4872 returns the features availability4873WorkItems::UpdateService4874 #execute4875 behaves like work item widgetable service4876 executes callbacks for expected widgets4877 when updating widgets4878 for the weight widget4879 when weight is changed4880 triggers 'issuableWeightUpdated' for issuable weight update subscription4881 when weight remains unchanged4882 does not trigger 'issuableWeightUpdated' for issuable weight update subscription4883 when weight widget param is not provided4884 does not trigger 'issuableWeightUpdated' for issuable weight update subscription4885 for the iteration widget4886 when iteration is changed4887 triggers 'issuableIterationUpdated' for issuable iteration update subscription4888 when iteration remains unchanged4889 does not trigger 'issuableIterationUpdated' for issuable iteration update subscription4890 when iteration widget param is not provided4891 does not trigger 'issuableIterationUpdated' for issuable iteration update subscription4892 for the health_status widget4893 when health_status is changed4894 triggers 'issuableHealthStatusUpdated' subscription4895 when health_status remains unchanged4896 does not trigger 'issuableHealthStatusUpdated' subscription4897 when health_status widget param is not provided4898 does not trigger 'issuableHealthStatusUpdated' subscription4899Analytics::MergeRequestMetricsCalculator4900 #productivity_data4901 calculates productivity data4902 #first_comment_at4903 returns first non-author comment4904 #first_approved_at4905 returns first approval creation timestamp4906 #first_reassigned_at4907 returns earliest non-author assignee creation timestamp4908Llm::ExecuteMethodService4909 # order random4910 #execute4911 with a valid method4912 method: :summarize_comments, resource: nil, service_class: Llm::GenerateSummaryService4913 calls the correct service4914 method: :explain_code, resource: #<Project id:1003 namespace1/project-1>>, service_class: Llm::ExplainCodeService4915 calls the correct service4916 method: :explain_vulnerability, resource: #<Vulnerability id:1008 [vulnerability:namespace2/project-2/1008]>, service_class: Llm::ExplainVulnerabilityService4917 calls the correct service4918 when service returns an error4919 returns an error4920 with an invalid method4921 is expected to be error and have attributes {:message => (eq "Unknown method")}4922 with snowplow events4923 when resource is an issue4924 behaves like successful tracking4925 tracks a snowplow event4926 when resource is a project4927 behaves like successful tracking4928 tracks a snowplow event4929 when resource is a group4930 behaves like successful tracking4931 tracks a snowplow event4932 when resource is an epic4933 behaves like successful tracking4934 tracks a snowplow event4935 when resource is a user4936 behaves like successful tracking4937 tracks a snowplow event4938 when service responds with an error4939 behaves like successful tracking4940 tracks a snowplow event4941Gitlab::Llm::ContentParser4942 # order random4943 #parse_and_split4944 calls #parse_content_and_metadata4945 when the content is less than the maximum characters4946 returns the full content4947 when the content is more than the maximum characters per slice4948 does not return any items4949 when slices are more than the minimum char length4950 does not return any items4951 when the last slice is less than the minimum4952 throws away the last slice4953 with newlines4954 splits according to newlines and then characters4955 when the block is smaller than the minimum char length4956 splits according to newlines and then characters4957 #parse_content_and_metadata4958 returns title, source, source_type and url4959 when content contains metadata4960 extracts metadata from the content4961 #title4962 content: "# A title\n", title: "A title"4963 returns the correct title4964 content: "\n# A title\n", title: "A title"4965 returns the correct title4966 content: "## A subtitle\n", title: "A subtitle"4967 returns the correct title4968 content: "# A title **(PREMIUM SELF)**\n", title: "A title"4969 returns the correct title4970 content: "A title\n", title: nil4971 returns the correct title4972 content: "# A title", title: nil4973 returns the correct title4974 content: "# A title **(PREMIUM SELF)**", title: nil4975 returns the correct title4976 #url4977 returns the correct url4978 returns nil if the source is not doc4979AuditEvents::ExportCsvService4980 includes the appropriate headers4981 data verification4982 ID4983 Author ID4984 Author Name4985 Author Email4986 Entity ID4987 Entity Type4988 Entity Path4989 Target ID4990 Target Type4991 Target Details4992 Action4993 IP Address4994 Created At (UTC)4995 when the author user has been deleted4996 returns CSV without error4997 with preloads4998 preloads fields to avoid N+1 queries4999Quality::Seeders::Vulnerabilities5000 # order random5001 when project has members5002.............................. creates expected number of vulnerabilities5003 when project has no members5004Skipping this project because it has no users does not create vulnerabilities on project5005Groups::FeatureSetting5006 default values5007 is expected to eq 205008 #feature_available?5009 when features are disabled5010 returns false5011 when features are enabled only for group members5012 returns false when user is not a group member5013 returns true when user is a group member5014 when admin mode is enabled5015 returns true if user is an admin5016 when admin mode is disabled5017 returns false when user is an admin5018 when feature is enabled for everyone5019 returns true5020 when feature has any other value5021 returns false5022 wiki_access_level=5023 when passing a string5024 updates the attribute as expected5025 updates the attribute as expected5026 updates the attribute as expected5027 when passing an integer5028 updates the attribute as expected5029 updates the attribute as expected5030 updates the attribute as expected5031 when passing a string containing the integer value5032 updates the attribute as expected5033 updates the attribute as expected5034 updates the attribute as expected5035 when passing an invalid value5036 does not update the attribute5037 does not update the attribute5038Mutations::ComplianceManagement::Frameworks::Create5039 #resolve5040 feature is unlicensed5041 does not create a new compliance framework5042 returns useful error messages5043 feature is licensed5044 current_user is not group namespace owner5045 does not create a new compliance framework5046 returns useful error messages5047 current_user is group owner5048 creates a new compliance framework5049 current_user is personal namespace owner5050 framework parameters are valid5051 does not create a new compliance framework5052 namespace does not exist5053 returns useful error messages5054 framework parameters are invalid5055 does not create a new compliance framework5056 returns useful error messages5057Geo::VerificationWorker5058 #perform5059 calls verify5060 when on a primary node5061 behaves like an idempotent worker5062 is labeled as idempotent5063 performs multiple times sequentially without raising an exception5064 calculates the checksum5065TimeboxesHelper5066 #can_generate_chart?5067 supports_milestone_charts: false, start_date: nil, due_date: nil, can_generate_chart: false5068 is expected to eq false5069 supports_milestone_charts: true, start_date: Fri, 02 Jun 2023, due_date: Fri, 02 Jun 2023, can_generate_chart: true5070 is expected to eq true5071 supports_milestone_charts: true, start_date: Fri, 02 Jun 2023, due_date: nil, can_generate_chart: false5072 is expected to eq false5073 supports_milestone_charts: true, start_date: nil, due_date: Fri, 02 Jun 2023, can_generate_chart: false5074 is expected to eq false5075 supports_milestone_charts: true, start_date: nil, due_date: nil, can_generate_chart: false5076 is expected to eq false5077 #timebox_date_range5078 iteration5079 formats properly5080 #show_burndown_placeholder?5081 milestone does not support burndown charts5082 is expected to equal false5083 user without permission5084 is expected to equal false5085 user with permission5086 is expected to equal true5087 #legacy_milestone?5088 without any ResourceStateEvents5089 is expected to be nil5090 with ResourceStateEvent created before milestone5091 is expected to eq false5092 with ResourceStateEvent created same day as milestone5093 is expected to eq false5094 with ResourceStateEvent created after milestone5095 is expected to eq true5096 #recent_releases_with_counts5097 hides private release5098 when user is nil5099 hides private release5100 when user has access to the project5101 returns both releases5102IncidentManagement::IssuableResourceLinksFinder5103 # order random5104 #execute5105 when feature is available5106 when user has permissions5107 returns issuable resource links5108 when incident is nil5109 is expected to eq #<ActiveRecord::Relation []>5110 when user has no permissions5111 is expected to eq #<ActiveRecord::Relation []>5112 when feature is not available5113 is expected to eq #<ActiveRecord::Relation []>5114Iterations::Cadences::DestroyService5115 #execute5116 when iterations feature enabled5117 when user is authorized5118 is expected to be success5119 destroys the cadence and associated records5120 returns the cadence as part of the response5121 when user is not authorized5122 behaves like cadence destroy fails with message5123 is expected to be error5124 returns not allowed message5125 when iterations feature disabled5126 when user is authorized5127 behaves like cadence destroy fails with message5128 is expected to be error5129 returns not allowed message5130 when user is not authorized5131 behaves like cadence destroy fails with message5132 is expected to be error5133 returns not allowed message5134AlertManagement::ProcessPrometheusAlertService5135 #execute5136 when alert payload is valid5137 behaves like does not create or delete any escalations5138 is expected to not change `IncidentManagement::PendingEscalations::Alert.count` and not change `IncidentManagement::PendingEscalations::Issue.count`5139 with escalation policies feature enabled5140 is expected to receive perform_async(a kind of Integer) 1 time5141 with an existing alert5142 behaves like does not create or delete any escalations5143 is expected to not change `IncidentManagement::PendingEscalations::Alert.count` and not change `IncidentManagement::PendingEscalations::Issue.count`5144 with resolving payload5145 is expected to change `target.pending_escalations.reload.count` from 1 to 05146 with HTTP integration provided5147 ignores the custom mapping5148 with custom mappings feature enabled5149 respects the custom mapping5150Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery5151 queries using specific time5152 with custom metrics5153 without common metrics5154 return group data for custom metric5155 with common metrics5156 return group data for custom metric5157Elastic::IndexingControlService5158 .initialize5159 raises an exception when passed wrong worker5160 .add_to_waiting_queue!5161 calls an instance method5162 .has_jobs_in_waiting_queue?5163 calls an instance method5164 .resume_processing!5165 calls an instance method5166 .queue_size5167 reports the queue size5168 #add_to_waiting_queue!5169 adds a job to the set5170 adds only one unique job to the set5171 only stores `project` context information5172 #has_jobs_in_waiting_queue?5173 checks set existence5174 #resume_processing!5175 puts jobs back into the queue and respects order5176 drops a set after execution5177 concurrent changes to different queues5178 allows to use queues independently of each other5179GitlabSubscriptions::Trials::ApplyTrialWorker5180 # order random5181 #perform5182 when valid to generate a trial5183 when trial is successfully applied5184 is labeled as idempotent5185 performs multiple times sequentially without raising an exception5186 executes apply trial and is successful5187 when not successful in generating a trial5188 executes apply trial and has an error5189 when not valid to generate a trial5190 without namespace_id5191 does not apply the trial and logs an error5192 when namespace does not exist5193 does not apply the trial and logs an error5194Gitlab::Geo::GeoTasks5195 .set_primary_geo_node5196 sets the primary node5197 returns error when there is already a Primary node5198 .set_secondary_as_primary5199 aborts if the primary node is not set5200 aborts if current node is not identified5201 does nothing if run on a node that is not a secondary5202 sets the secondary as the primary node5203 sets the secondary as the primary node, even if the secondary is disabled5204Resolvers::Iterations::CadencesResolver5205 #resolve5206 iterations cadences for project5207 behaves like fetches iteration cadences5208 when user does not have permissions to read iterations cadences5209 generates an error5210 when user has permissions to read iterations cadences5211 returns iterations cadences from group5212 iteration cadences by id5213 returns iterations cadence by global id5214 when project does not have a parent group5215 generates an error5216 iterations cadences for group5217 behaves like fetches iteration cadences5218 when user does not have permissions to read iterations cadences5219 generates an error5220 when user has permissions to read iterations cadences5221 returns iterations cadences from group5222 iteration cadences by id5223 returns iterations cadence by global id5224SAST-IaC.gitlab-ci.yml5225 the created pipeline5226 when project has no license5227 when SAST_DISABLED=15228 includes no jobs5229 by default5230 creates a pipeline with the expected jobs5231Mutations::DastScannerProfiles::Create5232 is expected to require graphql authorizations :create_on_demand_dast_scan5233 #resolve5234 when the project does not exist5235 raises an exception5236 when the user can run a dast scan5237 returns the dast_scanner_profile id5238 returns the complete dast_scanner_profile5239 calls the dast_scanner_profile creation service5240 when the dast_scanner_profile already exists5241 returns an error5242Types::DastScannerProfileType5243 is expected to eq "DastScannerProfile"5244 is expected to require graphql authorizations :read_on_demand_dast_scan5245 is expected to have graphql fields :id, :profileName, :spiderTimeout, :targetTimeout, :editPath, :scanType, :useAjaxSpider, :showDebugMessages, :referencedInSecurityPolicies, and :tagList5246 dast_scanner_profiles5247 profile_name field5248 is expected to eq "Side System 2267a320 - 2"5249 when security policies are enabled5250 only calls Gitaly twice when multiple profiles are present5251Gitlab::StatusPage::Storage::S3Client5252 # order random5253 #recursive_delete5254 when successful5255 sends keys for batch delete5256 returns true5257 list_object exeeds upload limit5258 respects upload limit5259 when list_object returns no objects5260 does not attempt to delete5261 when failed5262 raises an error5263 #delete_object5264 returns true5265 when failed5266 raises an error5267 #upload_object5268 when successful5269 returns true5270 when failed5271 raises an error5272 #list_object_keys5273 when successful5274 returns keys from bucket5275 when exceeds upload limits5276 returns result at max size5277 when list_object returns no objects5278 returns an empty set5279 when failed5280 raises an error5281Geo::SecondaryUsageDataCronWorker5282 uses a cronjob queue5283 does not run for primary nodes5284 calls SecondaryUsageData update metrics when it obtains the lease5285 does not update metrics if it does not obtain the lease5286Resolvers::ExternalIssueResolver5287 when Jira issues are requested5288 when Jira API responds with nil5289 sends request to Jira to fetch issues5290 returns nil5291 when Jira API responds with found issues5292 sends request to Jira to fetch issues5293 returns serialized Jira issues5294 when Jira API responds with an integration error5295 generates an error5296 when Jira API responds with an request error5297 generates an error5298IncidentManagement::PendingEscalations::Alert5299 # order random5300 #type5301 is expected to eq :alert5302 .class_for_check_worker5303 is expected to eq IncidentManagement::PendingEscalations::AlertCheckWorker5304 #escalatable5305 is expected to eq #<AlertManagement::Alert id: namespace1191/project-1302^alert#>5306 shared pending escalation features5307 is expected to be valid5308 validations5309 is expected to validate that :process_at cannot be empty/falsy5310 is expected to validate that :rule_id cannot be empty/falsy5311 is expected to delegate #project to the #alert object5312 is expected to validate that :rule_id is case-sensitively unique within the scope of :alert_id5313 associations5314 is expected to belong to alert required: false5315 is expected to belong to rule required: false5316 scopes5317 with escalations scheduled for various times5318 .processable5319 is expected to contain exactly #<IncidentManagement::PendingEscalations::Alert id: 5, rule_id: 8, alert_id: 9, process_at: "2023-05-...reated_at: "2023-06-02 06:55:41.204526644 +0000", updated_at: "2023-06-02 06:55:41.204526644 +0000"> and #<IncidentManagement::PendingEscalations::Alert id: 6, rule_id: 8, alert_id: 10, process_at: "2023-05...reated_at: "2023-06-02 06:55:41.217222689 +0000", updated_at: "2023-06-02 06:55:41.217222689 +0000">5320 .upcoming5321 is expected to contain exactly #<IncidentManagement::PendingEscalations::Alert id: 5, rule_id: 8, alert_id: 9, process_at: "2023-05-...reated_at: "2023-06-02 06:55:41.204526644 +0000", updated_at: "2023-06-02 06:55:41.204526644 +0000">, #<IncidentManagement::PendingEscalations::Alert id: 6, rule_id: 8, alert_id: 10, process_at: "2023-05...reated_at: "2023-06-02 06:55:41.217222689 +0000", updated_at: "2023-06-02 06:55:41.217222689 +0000">, and #<IncidentManagement::PendingEscalations::Alert id: 7, rule_id: 8, alert_id: 11, process_at: "2023-06...reated_at: "2023-06-02 06:55:41.229296974 +0000", updated_at: "2023-06-02 06:55:41.229296974 +0000">5322 .for_target5323 is expected to contain exactly #<IncidentManagement::PendingEscalations::Alert id: 9, rule_id: 10, alert_id: 13, process_at: "2023-0...reated_at: "2023-06-02 06:55:41.573392158 +0000", updated_at: "2023-06-02 06:55:41.573392158 +0000">5324 .delete_by_target5325 removes the escalations for the provided target(s)5326Mutations::Epics::Update5327 #resolve5328 when the user is a group member5329 with guest role5330 behaves like epic mutation for user without access5331 when the user does not have access to the resource5332 raises an error5333 even if author of the epic5334 raises an error5335 even if assigned to the epic5336 raises an error5337 even if maintainer of the project5338 raises an error5339 with reporter role5340 updates the epic5341Elastic::MultiVersionInstanceProxy5342 #version5343 returns instance proxy in specified version5344 repository5345 returns instance proxy in specified version5346 method forwarding5347 forwards methods which should touch all write targets5348 forwards read methods to only reading target5349 does not forward write methods which should touch specific version5350Sidebars::Groups::Menus::IssuesMenu5351 Menu Items5352 Iterations5353 contains the iteration cadences link5354 includes iteration and iteration_cadences active routes5355 when licensed feature iterations is not enabled5356 does not include iterations menu item5357 when licensed feature iterations is enabled5358 when user can read iterations5359 includes iterations menu item5360 when user cannot read iterations5361 does not include iterations menu item5362DastScannerProfilesFinder5363 #execute5364 returns all dast_scanner_profiles5365 filtering by ids5366 returns the dast_scanner_profile5367 filter by projects5368 returns the matching dast_scanner_profiles5369 filter by a project5370 returns the matching dast_scanner_profile5371 filter by name5372 returns the matching dast_scanner_profiles5373 filter by names5374 returns the matching dast_scanner_profiles5375 when DastScannerProfile id is for a different project5376 returns an empty relation5377 when the dast_scanner_profile1 does not exist5378 returns an empty relation5379DashboardHelper5380 #dashboard_nav_links5381 operations dashboard link5382 when the feature is available on the license5383 and the user is authenticated5384 is included in the nav5385 and the user is not authenticated5386 is not included in the nav5387 when the feature is not available on the license5388 is not included in the nav5389 environments dashboard link5390 and the feature is available on the license5391 and the user is authenticated5392 is included in the nav5393 and the user is not authenticated5394 is not included in the nav5395 and the feature is not available on the license5396 is not included in the nav5397 security dashboard link5398 and the feature is available on the license5399 and the user is authenticated5400 is included in the nav5401 and the user is not authenticated5402 is not included in the nav5403 when the feature is not available on the license5404 is not included in the nav5405 .has_start_trial?5406 has_license: false, current_user: :admin, output: true5407 is expected to eq true5408 has_license: false, current_user: :user, output: false5409 is expected to eq false5410 has_license: true, current_user: :admin, output: false5411 is expected to eq false5412 has_license: true, current_user: :user, output: false5413 is expected to eq false5414Types::AppliedMl::SuggestedReviewersType5415 # order random5416 is expected to have graphql fields :accepted, :created_at, :suggested, and :updated_at5417 field values5418 accepted5419 is expected to eq ["bmarley"]5420 suggested5421 is expected to eq ["bmarley", "swayne"]5422ActiveUserCountThresholdWorker5423 #perform5424 trial?: false, threshold_reached?: false, should_send_reminder?: false5425 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5426 trial?: false, threshold_reached?: true, should_send_reminder?: true5427 is expected to receive approaching_active_user_count_limit(*(any args)) 1 time5428 trial?: true, threshold_reached?: false, should_send_reminder?: false5429 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5430 trial?: true, threshold_reached?: true, should_send_reminder?: false5431 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5432 recipients5433 sends reminder to admins only5434 adds a licensee email to the recipients list5435 sends reminder to unique emails5436 sends reminder to active admins only5437 when there is no license5438 does not send a reminder5439Verify/Load-Performance-Testing.gitlab-ci.yml5440 the created pipeline5441 has no errors5442 on master5443 behaves like load_performance job on tag or branch5444 by default5445 on another branch5446 behaves like load_performance job on tag or branch5447 by default5448 on tag5449 behaves like load_performance job on tag or branch5450 by default5451 on merge request5452 has no jobs5453Mutations::Boards::Update5454 is expected to require graphql authorizations :admin_issue_board5455 #resolve5456 when the user cannot admin the board5457 raises an error5458 when user can update board5459 updates board with correct values5460 when passing current iteration5461 updates board with current iteration5462 when updating only iteration_cadence5463 updates iteration cadence5464 when passing labels param5465 updates board with correct labels5466 #ready5467 when passing both labels & label_ids param5468 raises exception when mutually exclusive params are given5469EE::API::Entities::Scim::Users5470 contains the schemas5471 calculates the totalResults5472 contains the default itemsPerPage5473 contains the default startIndex5474 contains the user5475 contains the user ID5476 with configured values5477 contains the configured totalResults5478 contains the configured itemsPerPage5479 contains the configured startIndex5480Gitlab::Ci::Pipeline::Chain::Validate::External5481 #validation_service_payload5482 respects the defined schema and returns the default plan5483 does not fire N+1 SQL queries5484 with a project in a subgroup5485 returns an Ultimate plan on trial5486 when user is provisioned by group5487 returns the provisioned group with an Ultimate plan5488Mutations::Boards::EpicBoards::EpicMoveList5489 arguments5490 has the correct arguments5491 #resolve5492 when user does not have permissions5493 does not allow the move5494 when everything is ok5495 moves the epic to another list5496Resolvers::Ci::CodeCoverageSummaryResolver5497 #resolve5498 when project has coverage5499 returns coverage summary for the project as a batch5500 when project does not have coverage5501 returns nil5502IncidentManagement::OncallShiftPolicy5503 # order random5504 rules5505 is expected to be disallowed :read_incident_management_oncall_schedule5506 when guest5507 is expected to be disallowed :read_incident_management_oncall_schedule5508 when reporter5509 is expected to be allowed :read_incident_management_oncall_schedule5510 licensed feature disabled5511 is expected to be disallowed :read_incident_management_oncall_schedule5512 when auditor5513 is expected to be allowed :read_incident_management_oncall_schedule5514 is expected to be disallowed :admin_incident_management_oncall_schedule5515 licensed feature disabled5516 is expected to be disallowed :read_incident_management_oncall_schedule5517 is expected to be disallowed :admin_incident_management_oncall_schedule5518Zoekt::IndexerWorker5519 # order random5520 #perform5521 sends the project to Zoekt for indexing5522 when index_code_with_zoekt is disabled5523 does not send the project to Zoekt for indexing5524 when the zoekt_code_search licensed feature is disabled5525 does nothing5526 when the project does not have zoekt enabled5527 does not send the project to Zoekt for indexing5528 when the indexer is locked for the given project5529 does not run index5530 when the project has no repository5531 does nothing5532 when the project has an empty repository5533 does nothing5534Dast::ProfilesFinder5535 #execute5536 returns dast_profiles limited to 100 records5537 filtering by id5538 returns the matching dast_profile5539 filtering by project_id5540 returns the matching dast_profiles5541 filtering by has_schedule?5542 when has_dast_profile_schedule is true5543 returns the dast_profiles with schedule5544 filtering by *5545 returns the matching dast_profile5546 when the dast_profile does not exist5547 returns an empty relation5548 sorting5549 orders by id desc by default5550UserIdExistenceValidator5551 # order random5552 with non-array value5553 behaves like does not add an error5554 does not add an error5555 behaves like does not trigger SQL queries5556 does not trigger SQL queries5557 with array containing valid user ids5558 behaves like does not add an error5559 does not add an error5560 with empty array value5561 behaves like does not add an error5562 does not add an error5563 behaves like does not trigger SQL queries5564 does not trigger SQL queries5565 with array containing invalid user ids5566 adds an error5567 with nil value5568 behaves like does not add an error5569 does not add an error5570 behaves like does not trigger SQL queries5571 does not trigger SQL queries5572Commits::CreateService5573 #execute5574 when the repository size limit has been exceeded5575 raises an error5576 when the namespace storage limit has been exceeded5577 raises an error5578 with a subgroup project5579 raises an error5580 when the namespace is over the free user cap limit5581 raises an error5582MergeChecksHelper5583 # order random5584 #merge_checks5585 when source is group5586 returns the correct settings5587 when source has a parent group5588 returns the correct settings5589 when source is project5590 returns the correct settings5591Gitlab::Instrumentation::Zoekt5592 # order random5593 .increment_request_count5594 increases the request count by 15595 .add_call_details5596 adds call details5597 .add_duration5598 increases duration5599 does not lose precision while adding5600Security::TokenRevocationService#execute5601 when revoking a glpat token5602 returns success5603 when vulnerability is missing5604 does not call `SystemNoteService`5605 when revocation token API returns a response with failure5606 returns error5607 when revocation token types API returns empty list of types5608 is expected to eql {:status=>:success}5609 when external revocation service is disabled5610 is expected to eql {:status=>:success}5611 when external revocation service is enabled5612 with a list of valid token types5613 when there is a list of tokens to be revoked5614 is expected to equal :success5615 when token_revocation_url is missing5616 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5617 when token_types_url is missing5618 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5619 when revocation_api_token is missing5620 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5621 when there is no token to be revoked5622 is expected to eql {:status=>:success}5623 when revocation token types API returns an unsuccessful response5624 is expected to eql {:message=>"Failed to get revocation token types", :status=>:error}5625AlertManagement::HttpIntegrations::CreateService5626 #execute5627 with multiple HTTP integrations feature available5628 successfully creates a new integration with the custom mappings5629 when an integration already exists5630 successfully creates a new integration5631Gitlab::Analytics::CycleAnalytics::StageEvents::IssueClosed5632 behaves like value stream analytics event5633 is expected to be a kind of String5634 is expected to be a kind of Symbol5635 is expected to include ApplicationRecord(abstract)5636 is expected to respond to #timestamp_projection5637 is expected to respond to #html_description5638 is expected to be a kind of Array5639 #apply_query_customization5640 expects an ActiveRecord::Relation object as argument and returns a modified version of it5641 #hash_code5642 returns a hash that uniquely identifies an event5643 does not differ when the same object is built with the same params5644 behaves like LEFT JOIN-able value stream analytics event5645 can use the event as LEFT JOIN5646 when looking at the record with data5647 contains the timestamp expression5648 when looking at the record without data5649 returns nil for the timestamp expression5650Ci::Runners::SetRunnerAssociatedProjectsService#execute5651 # order random5652 with unauthorized user5653 does not call assign_to on runner and returns error response5654 with admin user5655 with assign_to returning true5656 calls audit on Auditor and returns success response5657 with assign_to returning false5658 does not call audit on Auditor and returns error response5659Arkose::Logger5660 # order random5661 #log_successful_token_verification5662 behaves like logs the event with the correct payload5663 logs the event with the correct info5664 when user is nil5665 logs the event without username info5666 #log_unsolved_challenge5667 behaves like logs the event with the correct payload5668 logs the event with the correct info5669 when user is nil5670 logs the event without username info5671 #log_failed_token_verification5672 logs the event with the correct info5673 when user is nil5674 logs the event with the correct info5675projects/security/corpus_management/show5676 renders Vue app root5677 passes project's full path5678AuditEvents::CustomAuditEventService5679 #security_event5680 creates an event and logs to a file with the provided details5681Groups::UpdateRepositoryStorageService5682 #execute5683 when the move succeeds5684 moves the repository to the new storage and unmarks the repository as read-only5685 when the filesystems are the same5686 updates the database without trying to move the repostory5687 when the move fails5688 unmarks the repository as read-only without updating the repository storage5689 when the cleanup fails5690 sets the correct state5691 when the checksum does not match5692 unmarks the repository as read-only without updating the repository storage5693 when the repository move is finished5694 is idempotent5695 when the repository move is failed5696 is idempotent5697Projects::Security::DastProfilesHelper5698 #dast_profiles_list_data5699 returns proper data5700 #dast_scanner_profile_form_data5701 returns proper data5702 behaves like passes on-demand scan edit path when from_on_demand_scan_id param is present5703 returns edit path as on_demand_scan_form_path5704 #edit_dast_scanner_profile_form_data5705 returns proper data5706 behaves like passes on-demand scan edit path when from_on_demand_scan_id param is present5707 returns edit path as on_demand_scan_form_path5708 #dast_site_profile_form_data5709 returns proper data5710 behaves like passes on-demand scan edit path when from_on_demand_scan_id param is present5711 returns edit path as on_demand_scan_form_path5712 #edit_dast_site_profile_form_data5713 returns proper data5714 behaves like passes on-demand scan edit path when from_on_demand_scan_id param is present5715 returns edit path as on_demand_scan_form_path5716Types::Admin::CloudLicenses::LicenseHistoryEntryType5717 is expected to eq "LicenseHistoryEntry"5718 with license type fields5719 is expected to include graphql fields "id", "type", "plan", "name", "email", "company", "starts_at", "expires_at", "block_changes_at", "activated_at", and "users_in_license_count"5720 field values5721 id5722 is expected to include "5"5723 type5724 is expected to eq "online_cloud"5725 plan5726 is expected to eq "ultimate"5727 name5728 is expected to eq "User Example"5729 email5730 is expected to eq "user@example.com"5731 company5732 is expected to eq "Example Inc."5733 starts_at5734 is expected to eq Thu, 02 Mar 20235735 expires_at5736 is expected to eq Sat, 02 Mar 20245737 block_changes_at5738 is expected to eq Tue, 02 Apr 20245739 activated_at5740 is expected to eq Sun, 02 Apr 2023 06:56:22.000000000 +00005741 users_in_license_count5742 is expected to eq 255743 created_at5744 is expected to eq 2023-06-02 06:56:22.162645269 +00005745Milestones::DestroyService5746 #execute5747 with an existing merge request5748 manually queues MergeRequests::SyncCodeOwnerApprovalRulesWorker jobs5749Projects::DisableLegacyInactiveProjectsService5750 #perform5751 when the combined batch size is more than or equal to the inactive public projects count5752 disables legacy open-source license for all the public projects5753 when the combined batch size is less than the inactive public projects count5754 terminates the worker before completing all the projects5755Gitlab::Ci::Status::Build::Manual5756 #illustration5757 is expected to include :image, :size, :title, and :content5758 with protected environments5759 when user does not have access5760 is expected to match /This deployment job does not run automatically and must be started manually, but you do not have access to this job's protected environment/5761 when user has access5762 instructs the user about possible actions5763 when build prevents rollback deployment5764 is expected to match /This deployment job does not run automatically and must be started manually, but it's older than the latest deployment, and therefore can't run./5765AuditEvents::BuildService5766 #execute5767 when licensed5768 sets correct attributes5769 when IP address is not provided5770 uses author current_sign_in_ip5771 when author is impersonated5772 sets author to impersonated user5773 includes impersonator name in message5774 when IP address is not provided5775 uses impersonator current_sign_in_ip5776 when overriding target details5777 uses correct target details5778 when deploy token is passed as author5779 expect author to be user5780 when deploy key is passed as author5781 expect author to be deploy key5782 when author is passed as UnauthenticatedAuthor5783 sets author as unauthenticated user5784 when not licensed5785 sets correct attributes5786 when author is impersonated5787 does not includes impersonator name in message5788WorkItems::WorkItemsFinder5789 # order random5790 when filtering work items5791 with status widget5792 returns correct results5793 with legacy requirement widget5794 returns correct results5795Sidebars::Admin::Menus::SubscriptionMenu5796 # order random5797 behaves like Admin menu without sub menus5798 does not contain any sub menu(s)5799 defines correct active route5800 behaves like Admin menu5801 renders the correct link5802 renders the correct title5803 renders the correct icon5804 renders the separator if needed5805 #render?5806 when user is admin5807 renders5808 when user is not admin5809 does not render5810 when user is not logged in5811 does not render5812Types::Boards::EpicBoardType5813 is expected to eq "EpicBoard"5814 is expected to require graphql authorizations :read_epic_board5815 has specific fields5816Gitlab::Metrics::GlobalSearchIndexingSlis5817 # order random5818 #record_apdex5819 when the elapsed time is within the SLI5820 increments the global_search_indexing SLI as a success5821 when the elapsed time is not within the SLI5822 increments the global_search_indexing SLI as a failure5823 for document_type targets5824 document_type: "Code", indexed_by: "indexer", elapsed: 5, expected_result: true5825 uses the correct target5826 document_type: "Wiki", indexed_by: "indexer", elapsed: 5, expected_result: true5827 uses the correct target5828 document_type: "MergeRequest", indexed_by: "rails", elapsed: 5, expected_result: false5829 uses the correct target5830 document_type: "User", indexed_by: "rails", elapsed: 5, expected_result: false5831 uses the correct target5832 document_type: "Issue", indexed_by: "rails", elapsed: 5, expected_result: false5833 uses the correct target5834 #record_bytes_per_second_apdex5835 throughput: 20.0, expected_success: false5836 increments the global_search_indexing SLI with the correct success field5837 throughput: 300.0, expected_success: true5838 increments the global_search_indexing SLI with the correct success field5839 #initialize_slis!5840 initializes Apdex SLIs for global_search5841Gitlab::Analytics::CycleAnalytics::DataForDurationChart5842 #average_by_day5843 returns average duration by day5844Banzai::Filter::CrossProjectIssuableInformationFilter5845 when the user cannot read cross project5846 skips links to issues within the same project5847 removes info from a cross project reference5848Mutations::Boards::EpicBoards::Update5849 field tests5850 is expected to have graphql arguments :id, :name, :hideBacklogList, :hideClosedList, :labels, :labelIds, and :displayColors5851 is expected to have graphql fields :epic_board5852 with epic feature enabled5853 when user does not have permission to update epic board5854 behaves like epic board update error5855 raises error5856 when user has permission to update epic board5857 updates the epic board5858 #ready?5859 raises an error when both labels and label_ids arguments are passed5860AuditEvents::Streaming::Header5861 Validations5862 is expected to belong to external_audit_event_destination required: false5863 is expected to validate that :key is case-sensitively unique within the scope of :external_audit_event_destination_id5864 validations5865 is expected to validate that :key cannot be empty/falsy5866 is expected to validate that :value cannot be empty/falsy5867 is expected to validate that the length of :key is at most 2555868 is expected to validate that the length of :value is at most 2555869 #to_hash5870 returns the correct hash5871PersonalAccessTokens::RevokeInvalidTokens5872 #execute5873 with a valid user and expiration date5874 with user tokens that will be revoked5875 behaves like revokes token5876 calls mailer to send an email notifying the user5877 revokes invalid user's tokens5878 user optout for notifications5879 behaves like user does not receive revoke notification email5880 does not send any notification to user5881 with no user5882 doesn't revoke user's tokens5883 behaves like user does not receive revoke notification email5884 does not send any notification to user5885 with no expiration date5886 doesn't revoke user's tokens5887 behaves like user does not receive revoke notification email5888 does not send any notification to user5889 when the licensed feature for personal access token policy is disabled5890 doesn't revoke user's tokens5891 behaves like user does not receive revoke notification email5892 does not send any notification to user5893Projects::OnDemandScansHelper5894 #on_demand_scans_data5895 returns proper data5896 #on_demand_scans_form_data5897 returns proper data5898EE::IncidentManagement::ProjectIncidentManagementSetting5899 # order random5900 Validations5901 validate SLA settings5902 #sla_timer_minutes5903 sla_timer is disabled5904 is expected not to validate that :sla_timer_minutes cannot be empty/falsy5905 sla_timer is enabled5906 is expected to validate that :sla_timer_minutes looks like a number greater than or equal to 155907 is expected to validate that :sla_timer_minutes looks like a number less than or equal to 5259495908Analytics::DevopsAdoption::EnabledNamespaces::BulkFindOrCreateService5909 authorizes for manage_devops_adoption5910 returns existing enabled_namespaces for namespaces and creates new one if none exists5911 when the user cannot manage enabled_namespaces at least for one namespace5912 returns forbidden error5913UserRecentEventsFinder5914 #execute5915 epic related activities5916 when profile is public5917 is expected to contain exactly #<Event project_id: nil, author_id: 3094, target_id: 82, created_at: "2023-06-02 06:56:41.909253216 +...09253216 +0000", action: "commented", target_type: "Note", group_id: nil, fingerprint: nil, id: 613> and #<Event project_id: nil, author_id: 3094, target_id: 623, created_at: "2023-06-02 06:56:41.913155606 ...1.913155606 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 614>5918 when profile is private5919 is expected to be empty5920 wehen fetching events from multiple users5921 when filtering for epic events5922 is expected to eq [#<Event project_id: nil, author_id: 3095, target_id: 623, created_at: "2023-06-02 06:56:42.034509179....913155606 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 614>]5923admin/users/index5924 includes "Send email to users" link5925 when Gitlab::CurrentSettings.should_check_namespace_plan is true5926 includes "Send email to users" link5927Mutations::AuditEvents::Streaming::Headers::Destroy5928 #resolve5929 feature is unlicensed5930 is not authorized5931 feature is licensed5932 current_user is not group owner5933 returns useful error messages5934 current_user is group owner5935 deletes the header5936 when destroy fails5937 does not delete any headers5938Security::SyncScanPoliciesWorker5939 #perform5940 calls update_policy_configuration5941 does not call update_policy_configuration when configuration is not present5942Gitlab::Analytics::CycleAnalytics::DistinctStageLoader5943 returns the distinct stages by stage_event_hash_id5944 when in-memory stages are not defined as stages5945 creates three stage event hash records5946 when all in-memory stages have been defined5947 returns in-memory stages5948 has distinct values for all in-memory stages5949 returns total number of stages - in-memory + persisted5950 when a subset of in-memory stages are already defined5951 does not create extra stage event hash records5952Gitlab::Insights::Executors::IssuableExecutor5953 when requesting data for group5954 behaves like IssuableExecutor examples5955 returns serialized data5956 when line type is given5957 behaves like IssuableExecutor examples5958 returns serialized data5959 when requesting data for project5960 behaves like IssuableExecutor examples5961 returns serialized data5962Security::OverrideUuidsService5963 #execute5964 overrides finding uuids and prioritizes the existing findings5965Geo::RepositoryRenamedEventStore5966 #create!5967 behaves like a Geo event store5968 when running on a secondary node5969 does not create an event5970 when running on a primary node5971 does not create an event if there are no secondary nodes5972 creates an event5973 when file subject is not on local store5974 creates an event (PENDING: No file subject defined, skipping)5975 when running on a primary node5976 tracks old and new paths for project repositories5977Resolvers::ProductAnalytics::VisualizationResolver5978 # order random5979 #resolve5980 returns the visualization object5981 when the visualization does not exist5982 raises an error5983Elastic::ReindexingSlice5984 relations5985 is expected to belong to elastic_reindexing_subtask required: false5986 validations5987 is expected to validate that :elastic_slice cannot be empty/falsy5988 is expected to validate that :elastic_max_slice cannot be empty/falsy5989 is expected to validate that :retry_attempt cannot be empty/falsy5990 is expected to validate that :retry_attempt looks like a number greater than or equal to 05991 is expected to validate that :elastic_slice looks like a number greater than or equal to 05992 is expected to validate that :elastic_max_slice looks like a number greater than or equal to 05993Milestones::PromoteService5994 #execute5995 updates board with new milestone5996Gitlab::GitalyClient::WithFeatureFlagActors5997 # order random5998 #group_actor5999 when normal project repository6000 behaves like Gitaly feature flag actors are inferred from repository6001 captures correct actors6002 does not issues SQL queries after the first invocation6003 behaves like Gitaly feature flag actors are inferred from repository6004 captures correct actors6005 does not issues SQL queries after the first invocation6006 behaves like Gitaly feature flag actors are inferred from repository6007 captures correct actors6008 does not issues SQL queries after the first invocation6009Gitlab::TreeSummary6010 #summarize (entries)6011 includes path locks in entries6012 when file_locks feature is unavailable6013 does not fill lock labels6014Search::Elasticsearchable6015 # order random6016 #global_elasticsearchable_scope?6017 is false6018 when scope is users6019 is true6020 #use_elasticsearch?6021 is false6022 when search_using_elasticsearch setting is enabled6023 when basic_search param is passed in6024 is false6025 when scope is epics6026 is false6027 when scope is notes6028 is true6029 when scope is users6030 returns true6031RoadmapsHelper6032 #roadmap_layout6033 guest6034 is sourced from params if exists6035 returns default if params do not exist6036 logged in6037 is sourced from User#roadmap_layout6038 #roadmap_sort_order6039 guest6040WARNING: An expectation of `:user_preference` was set on `nil`. To allow expectations on `nil` and suppress this message, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `true`. To disallow expectations on `nil`, set `RSpec::Mocks.configuration.allow_message_expectations_on_nil` to `false`. Called from /builds/gitlab-org/gitlab/ee/spec/helpers/roadmaps_helper_spec.rb:42:in `block (3 levels) in <top (required)>'.6041 returns default sort order6042 user without preferences set6043 returns default sort order6044 user with preference set6045 returns saved user preference6046EE::Gitlab::Scim::FilterParser6047 #operator6048 is extracted from the filter6049 #valid?6050 succeeds when the operator is supported6051 fails with unsupported operators6052 fails when the attribute path is unsupported6053 #params6054 returns a mapping to filter on6055 returns an empty hash when invalid6056projects/security/dast_scanner_profiles/edit6057 renders Vue app root6058 passes project's full path6059 passes DAST profiles library URL6060 passes DAST scanner profile's data6061IncidentManagement::OncallRotations::RemoveParticipantService6062 # order random6063 marks the participant as removed6064 user is not a participant6065 does not send a notification6066Gitlab::PathLocksFinder6067 returns correct lock information6068 #preload_for_paths6069 does not perform N + 1 requests6070Banzai::Filter::JiraPrivateImageLinkFilter6071 with a Jira private image6072 replaces the Jira private images with the link to the image6073 includes the Atlassian referrer on gitlab.com6074 with other image6075 keeps the original image6076Sitemap::CreateService6077 #execute6078 returns the successful service response with the sitemap content6079 when the sitemap generator returns an error6080 returns an error service response6081RemoteMirrorEntity6082 # order random6083 exposes mirror_branch_regex6084 when mirror_only_branches_match_regex disabled6085 does not expose mirror_branch_regex6086Elastic::IndexProjectsService6087 #execute6088 when elasticsearch_limit_indexing? is true6089 schedules indexing for selected projects and namespaces6090 when elasticsearch_limit_indexing? is false6091 schedules indexing for all projects6092Resolvers::SecurityTrainingUrlsResolver6093 #resolve6094 when the user is not authorized6095 does not do the resolver action6096 when the user is authorized6097 calls TrainingUrlsFinder#execute6098Issues::AfterCreateService6099 #execute6100 when issue sla is available6101 calls IncidentManagement::Incidents::CreateSlaService6102 when issue sla is not available6103 does not call IncidentManagement::Incidents::CreateSlaService6104BulkImports::Projects::Pipelines::ProtectedBranchesPipeline6105 #run6106 imports protected branch information with unprotect access levels6107MergeRequests::Mergeability::CheckDeniedPoliciesService6108 #execute6109 when the merge request has denied policies6110 returns a check result with status failed6111 when the merge request does not have denied policies6112 returns a check result with status success6113 #skip?6114 returns false6115 #cacheable?6116 returns false6117RepositoryPresenter6118 # order random6119 #code_owners_path6120 when repository is empty6121 returns nil6122 when repository is not empty6123 when there is no code owners file6124 returns nil6125 when no ref is passed6126 uses the root_ref6127 when a CODEOWNERS file exists6128 returns the correct path6129Gitlab::CircuitBreaker::Notifier6130 # order random6131 #notify_warning6132 is expected not to raise Exception6133 #notify6134 when event is failure6135 sends an exception to Gitlab::ErrorTracking6136 when event is not failure6137 does not send an exception to Gitlab::ErrorTracking6138 #notify_run6139test block6140 is expected not to raise Exception6141ScimOauthAccessTokenEntity6142 exposes the URL6143 exposes the token6144Evidences::BuildArtifactEntity6145 when job has artifacts paths6146 exposes the artifacts url6147 when job does not have artifacts paths6148 does not expose the artifacts url6149Gitlab::Llm::OpenAi::Completions::ExplainCode6150 # order random6151 #execute6152 performs an openai request6153Types::Geo::ProjectWikiRepositoryRegistryType6154 # order random6155 has the expected fields (other than those included in RegistryType)6156 behaves like a Geo registry type6157 is expected to require graphql authorizations :read_geo_registry6158 has the expected fields6159AddUpvotesMappingsToMergeRequests6160 behaves like a deprecated Advanced Search migration6161 #migrate6162 logs a message and halts the migration6163 #completed?6164 returns false6165 #obsolete?6166 returns true6167BasePolicy6168 read cross project6169 when an external authorization service is enabled6170 allows auditors6171 read all resources6172 allows auditors6173 admin all resources6174 forbids auditors6175Types::Geo::PackageFileRegistryType6176 has the expected fields (other than those included in RegistryType)6177 behaves like a Geo registry type6178 is expected to require graphql authorizations :read_geo_registry6179 has the expected fields6180admin/dev_ops_report/show.html.haml6181 when show_adoption? returns false6182 disables the feature6183 when show_adoption? returns true6184 enables the feature6185Gitlab::ItemsCollection6186 responds to each6187 #page6188 returns paginated collection6189 #to_ary6190 returns Array6191PopulateCommitPermissionsInMainIndex6192 behaves like a deprecated Advanced Search migration6193 #migrate6194 logs a message and halts the migration6195 #completed?6196 returns false6197 #obsolete?6198 returns true6199DeleteMergeRequestsFromOriginalIndex6200 behaves like a deprecated Advanced Search migration6201 #migrate6202 logs a message and halts the migration6203 #completed?6204 returns false6205 #obsolete?6206 returns true6207PersonalAccessTokens::Instance::UpdateLifetimeService6208 #execute6209 when we can obtain the lease6210 schedules the worker6211 when we can't obtain the lease6212 does not schedule the worker6213StorageShard6214 .all6215 returns an array of StorageShard objects6216 .build_digest6217 returns SHA1 digest for the current configuration6218Types::SecurityScanners6219 is expected to eq "SecurityScanners"6220 has specific fields6221Snippet6222 #repository_size_checker6223 when snippet belongs to a project6224 sets up size checker6225 when snippet without a project6226 sets up size checker6227Types::Deployments::ApprovalType6228 # order random6229 is expected to eq "DeploymentApproval"6230 includes the expected fields6231Geo::SyncTimeoutCronWorker6232 uses a cronjob queue6233 #perform6234 calls fail_sync_timeouts6235SearchServicePresenter6236 # order random6237 #advanced_search_enabled?6238 when Elasticsearch is enabled6239 is expected to be advanced search enabled6240 when Elasticsearch is not enabled6241 is expected not to be advanced search enabled6242Embedding::SchemaMigration6243 # order random6244 .all_versions6245 returns all versions6246Nav::NewDropdownHelper6247 # order random6248 #new_dropdown_view_model6249 with group and can create_epic6250 shows create epic menu item6251Types::Vulnerability::ExternalIssueLinkTypeEnum6252 is expected to contain exactly "CREATED"6253API::Entities::Groups::RepositoryStorageMove6254 #as_json6255 includes basic fields6256#<Class:0x00007f3d192d0ac0>6257 # order random6258 has the expected fields6259Types::VulnerabilityDetails::MarkdownType6260 is expected to have graphql fields :name, :description, :fieldName, and :value6261Types::VulnerabilityLocation::DastType6262 is expected to have graphql fields :hostname, :param, :path, and :request_method6263Types::Vulnerability::ExternalIssueLinkType6264 is expected to have graphql fields :id, :link_type, and :external_issue6265Security::VulnerabilityReportDataSerializer6266 represents VulnerabilityReportDataEntity6267Search::Index6268 # order random6269 .indexed_class6270 raises a NotImplementedError6271Types::VulnerabilityIdentifierType6272 is expected to have graphql fields :name, :url, :external_type, and :external_id6273Knapsack report was generated. Preview:6274{6275 "ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb": 313.446829722,6276 "ee/spec/services/quick_actions/interpret_service_spec.rb": 190.35417583499998,6277 "ee/spec/models/boards/epic_board_position_spec.rb": 131.77208224499998,6278 "ee/spec/lib/elastic/latest/git_class_proxy_spec.rb": 131.70965596199994,6279 "ee/spec/replicators/geo/ci_secure_file_replicator_spec.rb": 46.273866217000204,6280 "ee/spec/lib/gitlab/elastic/indexer_spec.rb": 71.19966943999998,6281 "ee/spec/models/vulnerabilities/read_spec.rb": 54.34580870700006,6282 "ee/spec/services/boards/lists/update_service_spec.rb": 51.49623483300002,6283 "ee/spec/finders/merge_requests/by_approvers_finder_spec.rb": 61.935175640000125,6284 "ee/spec/lib/gitlab/llm/vertex_ai/client_spec.rb": 50.260859668999956,6285 "ee/spec/services/security/security_orchestration_policies/process_scan_result_policy_service_spec.rb": 40.29303279700002,6286 "ee/spec/services/projects/create_from_template_service_spec.rb": 39.839981540999815,6287 "ee/spec/services/epics/tree_reorder_service_spec.rb": 26.072573505000037,6288 "ee/spec/finders/autocomplete/vulnerabilities_autocomplete_finder_spec.rb": 26.956692985000018,6289 "ee/spec/services/search/index_repair_service_spec.rb": 27.171823572999983,6290 "ee/spec/models/ee/ci/secure_file_spec.rb": 20.299798367999983,6291 "ee/spec/lib/incident_management/oncall_shift_generator_spec.rb": 10.85276414100008,6292 "ee/spec/finders/issues_finder_spec.rb": 11.054187471000205,6293 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 20.92872364799996,6294 "ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb": 3.3533620879998125,6295 "ee/spec/serializers/merge_request_widget_entity_spec.rb": 16.383512192999888,6296 "ee/spec/models/productivity_analytics_spec.rb": 15.986409041000115,6297 "ee/spec/lib/gitlab/llm/open_ai/client_spec.rb": 3.852263806999872,6298 "ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb": 10.397999443999879,6299 "ee/spec/models/merge_requests/compliance_violation_spec.rb": 10.776941189999889,6300 "ee/spec/services/arkose/token_verification_service_spec.rb": 5.4367820760000996,6301 "ee/spec/services/projects/restore_service_spec.rb": 10.036813065999922,6302 "ee/spec/models/ee/ci/build_dependencies_spec.rb": 8.504437026000005,6303 "ee/spec/presenters/approval_rule_presenter_spec.rb": 10.925153021000142,6304 "ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb": 11.21590756400019,6305 "ee/spec/lib/gitlab/search/index_curator_spec.rb": 3.3725299000000177,6306 "ee/spec/lib/remote_development/workspaces/reconcile/reconcile_processor_scenarios_spec.rb": 9.560708163000072,6307 "ee/spec/finders/snippets_finder_spec.rb": 5.8198002649999125,6308 "ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb": 4.6417558840000765,6309 "ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb": 5.392624383999873,6310 "ee/spec/services/ldap_group_reset_service_spec.rb": 9.682254551000142,6311 "ee/spec/lib/gitlab/license_scanning/package_licenses_spec.rb": 2.5176550660000885,6312 "ee/spec/lib/elastic/latest/git_class_proxy_add_suffix_project_in_wiki_rid_running_wiki_search_spec.rb": 9.139818822000052,6313 "ee/spec/lib/ee/sidebars/projects/menus/issues_menu_spec.rb": 5.0760862909999105,6314 "ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb": 5.06406967099997,6315 "ee/spec/services/app_sec/dast/profiles/create_service_spec.rb": 3.6786987880000197,6316 "ee/spec/models/concerns/elastic/snippet_spec.rb": 9.282106287000033,6317 "ee/spec/workers/project_import_schedule_worker_spec.rb": 5.16519256599986,6318 "ee/spec/finders/audit_event_finder_spec.rb": 2.97371758700001,6319 "ee/spec/graphql/mutations/projects/set_locked_spec.rb": 4.34162280999999,6320 "ee/spec/lib/gitlab/ci/templates/Security/bas_latest_ci_yaml_spec.rb": 7.419054674000108,6321 "ee/spec/services/groups/destroy_service_spec.rb": 5.6035233889999745,6322 "ee/spec/models/dast/site_profile_secret_variable_spec.rb": 2.309534784000107,6323 "ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb": 2.5097450759999447,6324 "ee/spec/lib/gitlab/ci/reports/security/locations/container_scanning_spec.rb": 0.8824698630000967,6325 "ee/spec/finders/sbom/dependencies_finder_spec.rb": 2.734442457000114,6326 "ee/spec/workers/geo/metrics_update_worker_spec.rb": 4.724709695999991,6327 "ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb": 3.3074460029999955,6328 "ee/spec/models/issue_link_spec.rb": 4.075449762000062,6329 "ee/spec/lib/gitlab/geo/registry_batcher_spec.rb": 2.3470181630000297,6330 "ee/spec/graphql/mutations/security/finding/create_merge_request_spec.rb": 5.105824759000143,6331 "ee/spec/models/ai/project/conversations_spec.rb": 3.114220370999874,6332 "ee/spec/services/work_items/update_service_spec.rb": 3.485177537000027,6333 "ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb": 2.2804305560000557,6334 "ee/spec/services/llm/execute_method_service_spec.rb": 1.2962057360000472,6335 "ee/spec/lib/gitlab/llm/content_parser_spec.rb": 0.9438064109999686,6336 "ee/spec/services/audit_events/export_csv_service_spec.rb": 2.192469410000058,6337 "ee/spec/lib/quality/seeders/vulnerabilities_spec.rb": 4.199679607000007,6338 "ee/spec/models/ee/groups/feature_setting_spec.rb": 1.8440260140000646,6339 "ee/spec/graphql/mutations/compliance_management/frameworks/create_spec.rb": 1.205166380000037,6340 "ee/spec/workers/geo/verification_worker_spec.rb": 3.1635390199999165,6341 "ee/spec/helpers/timeboxes_helper_spec.rb": 2.969019206999974,6342 "ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb": 1.245518329000106,6343 "ee/spec/services/iterations/cadences/destroy_service_spec.rb": 3.1785849979999057,6344 "ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb": 2.6302072809999117,6345 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 3.116122981999979,6346 "ee/spec/services/elastic/indexing_control_service_spec.rb": 0.7672580569999354,6347 "ee/spec/workers/gitlab_subscriptions/trials/apply_trial_worker_spec.rb": 0.5709760299998834,6348 "ee/spec/lib/gitlab/geo/geo_tasks_spec.rb": 2.0031875720001153,6349 "ee/spec/graphql/resolvers/iterations/cadences_resolver_spec.rb": 1.8265289670000584,6350 "ee/spec/lib/gitlab/ci/templates/sast_iac_gitlab_ci_yaml_spec.rb": 2.3724574959999245,6351 "ee/spec/graphql/mutations/dast_scanner_profiles/create_spec.rb": 3.1828619269999763,6352 "ee/spec/graphql/types/dast_scanner_profile_type_spec.rb": 2.1402809410001282,6353 "ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb": 0.8909538809998594,6354 "ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb": 0.3592799179998565,6355 "ee/spec/graphql/resolvers/external_issue_resolver_spec.rb": 1.407831311000109,6356 "ee/spec/models/incident_management/pending_escalations/alert_spec.rb": 1.8463961789998393,6357 "ee/spec/graphql/mutations/epics/update_spec.rb": 2.361580940000067,6358 "ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb": 2.444275849000178,6359 "ee/spec/lib/ee/sidebars/groups/menus/issues_menu_spec.rb": 1.8250819169998067,6360 "ee/spec/finders/dast_scanner_profiles_finder_spec.rb": 1.2904617149999922,6361 "ee/spec/helpers/ee/dashboard_helper_spec.rb": 1.3013463909999246,6362 "ee/spec/graphql/types/applied_ml/suggested_reviewers_type_spec.rb": 1.3816313099998752,6363 "ee/spec/workers/active_user_count_threshold_worker_spec.rb": 0.8566492140000719,6364 "ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 2.8739562809998915,6365 "ee/spec/graphql/mutations/boards/update_spec.rb": 1.9808141000000887,6366 "ee/spec/lib/ee/api/entities/scim/users_spec.rb": 0.6655896649999704,6367 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb": 2.1632517729999563,6368 "ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 1.1896455620001234,6369 "ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb": 1.4101127310000265,6370 "ee/spec/policies/incident_management/oncall_shift_policy_spec.rb": 1.8493400180000208,6371 "ee/spec/workers/zoekt/indexer_worker_spec.rb": 1.894282222000129,6372 "ee/spec/finders/dast/profiles_finder_spec.rb": 1.4244904739998674,6373 "ee/spec/validators/user_id_existence_validator_spec.rb": 0.6328710759999012,6374 "ee/spec/services/ee/commits/create_service_spec.rb": 2.3161823170000844,6375 "ee/spec/helpers/merge_checks_helper_spec.rb": 0.7620231489997877,6376 "ee/spec/lib/gitlab/instrumentation/zoekt_spec.rb": 0.38562673800015546,6377 "ee/spec/services/security/token_revocation_service_spec.rb": 1.4683758090000083,6378 "ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb": 0.7851436809999086,6379 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_closed_spec.rb": 1.2025412359998882,6380 "ee/spec/services/ci/runners/set_runner_associated_projects_service_spec.rb": 1.1389870999998948,6381 "ee/spec/lib/arkose/logger_spec.rb": 0.433069870999816,6382 "ee/spec/views/projects/security/corpus_management/show.html.haml_spec.rb": 0.9661869829999432,6383 "ee/spec/services/audit_events/custom_audit_event_service_spec.rb": 0.6602793170000041,6384 "ee/spec/services/groups/update_repository_storage_service_spec.rb": 1.107003721999945,6385 "ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb": 1.1129479989999709,6386 "ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb": 0.8244871360000161,6387 "ee/spec/services/milestones/destroy_service_spec.rb": 1.8347979440000017,6388 "ee/spec/services/projects/disable_legacy_inactive_projects_service_spec.rb": 1.9540764599998965,6389 "ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb": 1.3602410889998282,6390 "ee/spec/services/audit_events/build_service_spec.rb": 1.0357325180000316,6391 "ee/spec/finders/ee/work_items/work_items_finder_spec.rb": 1.7877986409998812,6392 "ee/spec/lib/sidebars/admin/menus/subscription_menu_spec.rb": 0.6031376769999497,6393 "ee/spec/graphql/types/boards/epic_board_type_spec.rb": 0.316733713000076,6394 "ee/spec/lib/gitlab/metrics/global_search_indexing_slis_spec.rb": 0.5903801829999793,6395 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb": 1.2993513680000888,6396 "ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb": 1.5398793319998276,6397 "ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb": 0.7862310149998848,6398 "ee/spec/models/audit_events/streaming/header_spec.rb": 0.6561634029999368,6399 "ee/spec/services/personal_access_tokens/revoke_invalid_tokens_spec.rb": 0.7022661799999241,6400 "ee/spec/helpers/projects/on_demand_scans_helper_spec.rb": 1.4355246379998334,6401 "ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb": 1.1457110139999713,6402 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb": 1.159996534999891,6403 "ee/spec/finders/ee/user_recent_events_finder_spec.rb": 1.2671523680000973,6404 "ee/spec/views/admin/users/index.html.haml_spec.rb": 0.8820435000000089,6405 "ee/spec/graphql/mutations/audit_events/streaming/headers/destroy_spec.rb": 0.8943021779998617,6406 "ee/spec/workers/security/sync_scan_policies_worker_spec.rb": 0.7761141849998694,6407 "ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb": 0.7905253950000315,6408 "ee/spec/lib/gitlab/insights/executors/issuable_executor_spec.rb": 0.9178506979999383,6409 "ee/spec/services/security/override_uuids_service_spec.rb": 0.9804583239999829,6410 "ee/spec/services/geo/repository_renamed_event_store_spec.rb": 0.8976625179998337,6411 "ee/spec/graphql/resolvers/product_analytics/visualization_resolver_spec.rb": 1.3083895849999863,6412 "ee/spec/models/elastic/reindexing_slice_spec.rb": 0.5219307899999421,6413 "ee/spec/services/milestones/promote_service_spec.rb": 0.898960949000184,6414 "ee/spec/lib/gitlab/gitaly_client/with_feature_flag_actors_spec.rb": 0.6285753639999712,6415 "ee/spec/lib/gitlab/tree_summary_spec.rb": 0.8553195310000774,6416 "ee/spec/services/concerns/search/elasticsearchable_spec.rb": 0.5434945890001472,6417 "ee/spec/helpers/roadmaps_helper_spec.rb": 0.5148332909998317,6418 "ee/spec/lib/ee/gitlab/scim/filter_parser_spec.rb": 0.5347793490000186,6419 "ee/spec/views/projects/security/dast_scanner_profiles/edit.html.haml_spec.rb": 0.6514075230002163,6420 "ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb": 0.866526401000101,6421 "ee/spec/lib/gitlab/path_locks_finder_spec.rb": 0.720078919000116,6422 "ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb": 0.6269127249997837,6423 "ee/spec/services/sitemap/create_service_spec.rb": 0.283296473000064,6424 "ee/spec/serializers/remote_mirror_entity_spec.rb": 0.31153746300014973,6425 "ee/spec/services/elastic/index_projects_service_spec.rb": 0.6835379310000462,6426 "ee/spec/graphql/resolvers/security_training_urls_resolver_spec.rb": 0.6842057210001258,6427 "ee/spec/services/ee/issues/after_create_service_spec.rb": 0.6431501239999307,6428 "ee/spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb": 0.7382924280000225,6429 "ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb": 0.440608414000053,6430 "ee/spec/presenters/repository_presenter_spec.rb": 0.4048851860002287,6431 "ee/spec/lib/gitlab/circuit_breaker/notifier_spec.rb": 0.3527928899998187,6432 "ee/spec/serializers/scim_oauth_access_token_entity_spec.rb": 0.46225851400004103,6433 "ee/spec/serializers/evidences/build_artifact_entity_spec.rb": 0.4445472250004059,6434 "ee/spec/lib/gitlab/llm/open_ai/completions/explain_code_spec.rb": 0.5825822259998858,6435 "ee/spec/graphql/types/geo/project_wiki_repository_registry_type_spec.rb": 0.3135793530000228,6436 "ee/spec/elastic/migrate/20210722112500_add_upvotes_mappings_to_merge_requests_spec.rb": 0.3168409119998614,6437 "ee/spec/policies/base_policy_spec.rb": 0.34164710100003504,6438 "ee/spec/graphql/types/geo/package_file_registry_type_spec.rb": 0.31884881099995255,6439 "ee/spec/views/admin/dev_ops_report/show.html.haml_spec.rb": 0.3595635400001811,6440 "ee/spec/lib/gitlab/items_collection_spec.rb": 0.3015208530000564,6441 "ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb": 0.3564731189999293,6442 "ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb": 0.3324564099998497,6443 "ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb": 0.3378840809996291,6444 "ee/spec/models/storage_shard_spec.rb": 0.3113923620003334,6445 "ee/spec/graphql/types/security_scanners_spec.rb": 0.2641029050000725,6446 "ee/spec/models/snippet_spec.rb": 0.2772615839999162,6447 "ee/spec/graphql/types/deployments/approval_type_spec.rb": 0.2752408139999716,6448 "ee/spec/workers/geo/sync_timeout_cron_worker_spec.rb": 0.26871573500011436,6449 "ee/spec/presenters/ee/search_service_presenter_spec.rb": 0.27738898500001596,6450 "ee/spec/models/embedding/schema_migration_spec.rb": 0.2346585469999809,6451 "ee/spec/helpers/nav/new_dropdown_helper_spec.rb": 0.2682208749997699,6452 "ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb": 0.26760250400002406,6453 "ee/spec/lib/ee/api/entities/groups/repository_storage_move_spec.rb": 0.31666242199980843,6454 "ee/spec/graphql/types/epic_connection_type_spec.rb": 0.24184087599996928,6455 "ee/spec/graphql/types/vulnerability_details/markdown_type_spec.rb": 0.24321276599994235,6456 "ee/spec/graphql/types/vulnerability_location/dast_type_spec.rb": 0.24670894600012616,6457 "ee/spec/graphql/types/vulnerability/external_issue_link_type_spec.rb": 0.23704987600012828,6458 "ee/spec/serializers/security/vulnerability_report_data_serializer_spec.rb": 0.2419183859997247,6459 "ee/spec/models/search/index_spec.rb": 0.23645218699994075,6460 "ee/spec/graphql/types/vulnerability_identifier_type_spec.rb": 0.244746526999733766461}6462Knapsack global time execution for tests: 28m 22s6463Pending: (Failures listed here are expected and do not affect your suite's status)6464 1) Resolvers::Geo::UploadRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError6465 # Skipping because verification is enabled for Upload6466 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776467 2) Resolvers::Geo::SnippetRepositoryRegistriesResolver behaves like a Geo registries resolver #resolve when the parent object is the current node when the user has permission to view Geo data when admin mode is enabled with verification disabled when the verification_state argument is present raises ArgumentError6468 # Skipping because verification is enabled for SnippetRepository6469 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776470 3) Geo::RepositoryRenamedEventStore#create! behaves like a Geo event store when running on a primary node when file subject is not on local store creates an event6471 # No file subject defined, skipping6472 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:366473Finished in 28 minutes 25 seconds (files took 1 minute 27.45 seconds to load)64742566 examples, 0 failures, 3 pending6475Randomized with seed 23226476[TEST PROF INFO] Time spent in factories: 14:30.307 (49.94% of total time)6477RSpec exited with 0.6478No examples to retry, congrats!6480Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy6482Uploading artifacts...6483coverage/: found 5 matching artifact files and directories 6484crystalball/: found 2 matching artifact files and directories 6485WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6486knapsack/: found 4 matching artifact files and directories 6487WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6488rspec/: found 16 matching artifact files and directories 6489WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6490log/*.log: found 20 matching artifact files and directories 6491WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964828/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6492WARNING: Retrying... context=artifacts-uploader error=request redirected6493Uploading artifacts as "archive" to coordinator... 201 Created id=4400964828 responseStatus=201 Created token=64_ruvmY6494Uploading artifacts...6495rspec/rspec-*.xml: found 1 matching artifact files and directories 6496WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964828/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6497WARNING: Retrying... context=artifacts-uploader error=request redirected6498Uploading artifacts as "junit" to coordinator... 201 Created id=4400964828 responseStatus=201 Created token=64_ruvmY6500Job succeeded