rspec-ee unit pg13 single-db-ci-connection 12/18
Passed Started
by
@fabiopitino
Fabio Pitino
1Running with gitlab-runner 16.1.0~beta.5.gf131a6a2 (f131a6a2)2 on blue-6.private.runners-manager.gitlab.com/gitlab.com/gitlab-org mKJTFBei, system ID: s_90a66139ec063 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-mkjtfbei-project-278964-concurrent-0 via runner-mkjtfbei-private-1685686538-ed7b0379...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 | 23.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_25oi257Downloading artifacts for detect-tests (4400964025)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964025 responseStatus=200 OK token=64_25oi259Downloading artifacts for retrieve-tests-metadata (4400964028)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964028 responseStatus=200 OK token=64_25oi261Downloading artifacts for setup-test-env (4400964019)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4400964019 responseStatus=200 OK token=64_25oi264Using 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.postgresql)726Geo DB will be set up.727Embedding DB will be set up.747$ source ./scripts/rspec_helpers.sh748$ run_timed_command "gem install knapsack --no-document"749$ gem install knapsack --no-document750Successfully installed knapsack-4.0.07511 gem installed752==> 'gem install knapsack --no-document' succeeded in 0 seconds.753$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"755$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"760$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"761$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"762SKIP_FLAKY_TESTS_AUTOMATICALLY: 763RETRY_FAILED_TESTS_IN_NEW_PROCESS: true764KNAPSACK_GENERATE_REPORT: true765FLAKY_RSPEC_GENERATE_REPORT: true766KNAPSACK_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.rb767KNAPSACK_LOG_LEVEL: debug768KNAPSACK_REPORT_PATH: knapsack/rspec-ee_unit_pg13_single-db-ci-connection_12_18_report.json769FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json770FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_unit_pg13_single-db-ci-connection_12_18_report.json771NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_unit_pg13_single-db-ci-connection_12_18_report.json772SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec-ee_unit_pg13_single-db-ci-connection_12_18.txt773CRYSTALBALL: 774RSPEC_TESTS_MAPPING_ENABLED: 775RSPEC_TESTS_FILTER_FILE: 776Running 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-4400964893.json --format RspecJunitFormatter --out rspec/rspec-4400964893.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!777warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.779Run options: exclude {:quarantine=>true, :level=>"background_migration"}780Test environment set up in 0.677270603 seconds781Dependency-Scanning.gitlab-ci.yml782 the created pipeline783 when project has no license784 includes no jobs785 when project has Ultimate license786 when DEPENDENCY_SCANNING_DISABLED=1787 includes no jobs788 when DS_EXCLUDED_ANALYZERS set to789 exclude790 nothing791 creates pipeline with excluded analyzers skipped792 gemnasium793 creates pipeline with excluded analyzers skipped794 gemnasium-maven795 creates pipeline with excluded analyzers skipped796 gemnasium-python797 creates pipeline with excluded analyzers skipped798 two799 creates pipeline with excluded analyzers skipped800 three801 creates pipeline with excluded analyzers skipped802 four803 creates pipeline with excluded analyzers skipped804 all analyzers excluded805 creates a pipeline excluding jobs from specified analyzers806 by default807 Go808 with file at root809 creates a pipeline with the expected jobs810 sets the image suffix as expected811 with file at depth 1812 creates a pipeline with the expected jobs813 sets the image suffix as expected814 with file at depth 2815 creates a pipeline with the expected jobs816 sets the image suffix as expected817 with file at depth > 2818 creates a pipeline with the expected jobs819 sets the image suffix as expected820 Java821 with file at root822 creates a pipeline with the expected jobs823 sets the image suffix as expected824 with file at depth 1825 creates a pipeline with the expected jobs826 sets the image suffix as expected827 with file at depth 2828 creates a pipeline with the expected jobs829 sets the image suffix as expected830 with file at depth > 2831 creates a pipeline with the expected jobs832 sets the image suffix as expected833 Java Gradle834 with file at root835 creates a pipeline with the expected jobs836 sets the image suffix as expected837 with file at depth 1838 creates a pipeline with the expected jobs839 sets the image suffix as expected840 with file at depth 2841 creates a pipeline with the expected jobs842 sets the image suffix as expected843 with file at depth > 2844 creates a pipeline with the expected jobs845 sets the image suffix as expected846 Java Gradle Kotlin DSL847 with file at root848 creates a pipeline with the expected jobs849 sets the image suffix as expected850 with file at depth 1851 creates a pipeline with the expected jobs852 sets the image suffix as expected853 with file at depth 2854 creates a pipeline with the expected jobs855 sets the image suffix as expected856 with file at depth > 2857 creates a pipeline with the expected jobs858 sets the image suffix as expected859 Javascript package-lock.json860 with file at root861 creates a pipeline with the expected jobs862 sets the image suffix as expected863 with file at depth 1864 creates a pipeline with the expected jobs865 sets the image suffix as expected866 with file at depth 2867 creates a pipeline with the expected jobs868 sets the image suffix as expected869 with file at depth > 2870 creates a pipeline with the expected jobs871 sets the image suffix as expected872 Javascript yarn.lock873 with file at root874 creates a pipeline with the expected jobs875 sets the image suffix as expected876 with file at depth 1877 creates a pipeline with the expected jobs878 sets the image suffix as expected879 with file at depth 2880 creates a pipeline with the expected jobs881 sets the image suffix as expected882 with file at depth > 2883 creates a pipeline with the expected jobs884 sets the image suffix as expected885 Javascript npm-shrinkwrap.json886 with file at root887 creates a pipeline with the expected jobs888 sets the image suffix as expected889 with file at depth 1890 creates a pipeline with the expected jobs891 sets the image suffix as expected892 with file at depth 2893 creates a pipeline with the expected jobs894 sets the image suffix as expected895 with file at depth > 2896 creates a pipeline with the expected jobs897 sets the image suffix as expected898 Multiple languages899 with file at root900 creates a pipeline with the expected jobs901 sets the image suffix as expected902 with file at depth 1903 creates a pipeline with the expected jobs904 sets the image suffix as expected905 with file at depth 2906 creates a pipeline with the expected jobs907 sets the image suffix as expected908 with file at depth > 2909 creates a pipeline with the expected jobs910 sets the image suffix as expected911 NuGet912 with file at root913 creates a pipeline with the expected jobs914 sets the image suffix as expected915 with file at depth 1916 creates a pipeline with the expected jobs917 sets the image suffix as expected918 with file at depth 2919 creates a pipeline with the expected jobs920 sets the image suffix as expected921 with file at depth > 2922 creates a pipeline with the expected jobs923 sets the image suffix as expected924 Conan925 with file at root926 creates a pipeline with the expected jobs927 sets the image suffix as expected928 with file at depth 1929 creates a pipeline with the expected jobs930 sets the image suffix as expected931 with file at depth 2932 creates a pipeline with the expected jobs933 sets the image suffix as expected934 with file at depth > 2935 creates a pipeline with the expected jobs936 sets the image suffix as expected937 PHP938 with file at root939 creates a pipeline with the expected jobs940 sets the image suffix as expected941 with file at depth 1942 creates a pipeline with the expected jobs943 sets the image suffix as expected944 with file at depth 2945 creates a pipeline with the expected jobs946 sets the image suffix as expected947 with file at depth > 2948 creates a pipeline with the expected jobs949 sets the image suffix as expected950 Python requirements.txt951 with file at root952 creates a pipeline with the expected jobs953 sets the image suffix as expected954 with file at depth 1955 creates a pipeline with the expected jobs956 sets the image suffix as expected957 with file at depth 2958 creates a pipeline with the expected jobs959 sets the image suffix as expected960 with file at depth > 2961 creates a pipeline with the expected jobs962 sets the image suffix as expected963 Python requirements.pip964 with file at root965 creates a pipeline with the expected jobs966 sets the image suffix as expected967 with file at depth 1968 creates a pipeline with the expected jobs969 sets the image suffix as expected970 with file at depth 2971 creates a pipeline with the expected jobs972 sets the image suffix as expected973 with file at depth > 2974 creates a pipeline with the expected jobs975 sets the image suffix as expected976 Python Pipfile977 with file at root978 creates a pipeline with the expected jobs979 sets the image suffix as expected980 with file at depth 1981 creates a pipeline with the expected jobs982 sets the image suffix as expected983 with file at depth 2984 creates a pipeline with the expected jobs985 sets the image suffix as expected986 with file at depth > 2987 creates a pipeline with the expected jobs988 sets the image suffix as expected989 Python requires.txt990 with file at root991 creates a pipeline with the expected jobs992 sets the image suffix as expected993 with file at depth 1994 creates a pipeline with the expected jobs995 sets the image suffix as expected996 with file at depth 2997 creates a pipeline with the expected jobs998 sets the image suffix as expected999 with file at depth > 21000 creates a pipeline with the expected jobs1001 sets the image suffix as expected1002 Python with setup.py1003 with file at root1004 creates a pipeline with the expected jobs1005 sets the image suffix as expected1006 with file at depth 11007 creates a pipeline with the expected jobs1008 sets the image suffix as expected1009 with file at depth 21010 creates a pipeline with the expected jobs1011 sets the image suffix as expected1012 with file at depth > 21013 creates a pipeline with the expected jobs1014 sets the image suffix as expected1015 Python with poetry.lock1016 with file at root1017 creates a pipeline with the expected jobs1018 sets the image suffix as expected1019 with file at depth 11020 creates a pipeline with the expected jobs1021 sets the image suffix as expected1022 with file at depth 21023 creates a pipeline with the expected jobs1024 sets the image suffix as expected1025 with file at depth > 21026 creates a pipeline with the expected jobs1027 sets the image suffix as expected1028 Ruby Gemfile.lock1029 with file at root1030 creates a pipeline with the expected jobs1031 sets the image suffix as expected1032 with file at depth 11033 creates a pipeline with the expected jobs1034 sets the image suffix as expected1035 with file at depth 21036 creates a pipeline with the expected jobs1037 sets the image suffix as expected1038 with file at depth > 21039 creates a pipeline with the expected jobs1040 sets the image suffix as expected1041 Ruby gems.locked1042 with file at root1043 creates a pipeline with the expected jobs1044 sets the image suffix as expected1045 with file at depth 11046 creates a pipeline with the expected jobs1047 sets the image suffix as expected1048 with file at depth 21049 creates a pipeline with the expected jobs1050 sets the image suffix as expected1051 with file at depth > 21052 creates a pipeline with the expected jobs1053 sets the image suffix as expected1054 Scala1055 with file at root1056 creates a pipeline with the expected jobs1057 sets the image suffix as expected1058 with file at depth 11059 creates a pipeline with the expected jobs1060 sets the image suffix as expected1061 with file at depth 21062 creates a pipeline with the expected jobs1063 sets the image suffix as expected1064 with file at depth > 21065 creates a pipeline with the expected jobs1066 sets the image suffix as expected1067 when PIP_REQUIREMENTS_FILE is defined1068 creates a pipeline with the expected jobs1069 sets the image suffix as expected1070 project supported by gemnasium analyzer1071 sets default value for DS_REMEDIATE1072 when FIPS mode is enabled1073 Go1074 with file at root1075 creates a pipeline with the expected jobs1076 sets the image suffix as expected1077 with file at depth 11078 creates a pipeline with the expected jobs1079 sets the image suffix as expected1080 with file at depth 21081 creates a pipeline with the expected jobs1082 sets the image suffix as expected1083 with file at depth > 21084 creates a pipeline with the expected jobs1085 sets the image suffix as expected1086 Java1087 with file at root1088 creates a pipeline with the expected jobs1089 sets the image suffix as expected1090 with file at depth 11091 creates a pipeline with the expected jobs1092 sets the image suffix as expected1093 with file at depth 21094 creates a pipeline with the expected jobs1095 sets the image suffix as expected1096 with file at depth > 21097 creates a pipeline with the expected jobs1098 sets the image suffix as expected1099 Java Gradle1100 with file at root1101 creates a pipeline with the expected jobs1102 sets the image suffix as expected1103 with file at depth 11104 creates a pipeline with the expected jobs1105 sets the image suffix as expected1106 with file at depth 21107 creates a pipeline with the expected jobs1108 sets the image suffix as expected1109 with file at depth > 21110 creates a pipeline with the expected jobs1111 sets the image suffix as expected1112 Java Gradle Kotlin DSL1113 with file at root1114 creates a pipeline with the expected jobs1115 sets the image suffix as expected1116 with file at depth 11117 creates a pipeline with the expected jobs1118 sets the image suffix as expected1119 with file at depth 21120 creates a pipeline with the expected jobs1121 sets the image suffix as expected1122 with file at depth > 21123 creates a pipeline with the expected jobs1124 sets the image suffix as expected1125 Javascript package-lock.json1126 with file at root1127 creates a pipeline with the expected jobs1128 sets the image suffix as expected1129 with file at depth 11130 creates a pipeline with the expected jobs1131 sets the image suffix as expected1132 with file at depth 21133 creates a pipeline with the expected jobs1134 sets the image suffix as expected1135 with file at depth > 21136 creates a pipeline with the expected jobs1137 sets the image suffix as expected1138 Javascript yarn.lock1139 with file at root1140 creates a pipeline with the expected jobs1141 sets the image suffix as expected1142 with file at depth 11143 creates a pipeline with the expected jobs1144 sets the image suffix as expected1145 with file at depth 21146 creates a pipeline with the expected jobs1147 sets the image suffix as expected1148 with file at depth > 21149 creates a pipeline with the expected jobs1150 sets the image suffix as expected1151 Javascript npm-shrinkwrap.json1152 with file at root1153 creates a pipeline with the expected jobs1154 sets the image suffix as expected1155 with file at depth 11156 creates a pipeline with the expected jobs1157 sets the image suffix as expected1158 with file at depth 21159 creates a pipeline with the expected jobs1160 sets the image suffix as expected1161 with file at depth > 21162 creates a pipeline with the expected jobs1163 sets the image suffix as expected1164 Multiple languages1165 with file at root1166 creates a pipeline with the expected jobs1167 sets the image suffix as expected1168 with file at depth 11169 creates a pipeline with the expected jobs1170 sets the image suffix as expected1171 with file at depth 21172 creates a pipeline with the expected jobs1173 sets the image suffix as expected1174 with file at depth > 21175 creates a pipeline with the expected jobs1176 sets the image suffix as expected1177 NuGet1178 with file at root1179 creates a pipeline with the expected jobs1180 sets the image suffix as expected1181 with file at depth 11182 creates a pipeline with the expected jobs1183 sets the image suffix as expected1184 with file at depth 21185 creates a pipeline with the expected jobs1186 sets the image suffix as expected1187 with file at depth > 21188 creates a pipeline with the expected jobs1189 sets the image suffix as expected1190 Conan1191 with file at root1192 creates a pipeline with the expected jobs1193 sets the image suffix as expected1194 with file at depth 11195 creates a pipeline with the expected jobs1196 sets the image suffix as expected1197 with file at depth 21198 creates a pipeline with the expected jobs1199 sets the image suffix as expected1200 with file at depth > 21201 creates a pipeline with the expected jobs1202 sets the image suffix as expected1203 PHP1204 with file at root1205 creates a pipeline with the expected jobs1206 sets the image suffix as expected1207 with file at depth 11208 creates a pipeline with the expected jobs1209 sets the image suffix as expected1210 with file at depth 21211 creates a pipeline with the expected jobs1212 sets the image suffix as expected1213 with file at depth > 21214 creates a pipeline with the expected jobs1215 sets the image suffix as expected1216 Python requirements.txt1217 with file at root1218 creates a pipeline with the expected jobs1219 sets the image suffix as expected1220 with file at depth 11221 creates a pipeline with the expected jobs1222 sets the image suffix as expected1223 with file at depth 21224 creates a pipeline with the expected jobs1225 sets the image suffix as expected1226 with file at depth > 21227 creates a pipeline with the expected jobs1228 sets the image suffix as expected1229 Python requirements.pip1230 with file at root1231 creates a pipeline with the expected jobs1232 sets the image suffix as expected1233 with file at depth 11234 creates a pipeline with the expected jobs1235 sets the image suffix as expected1236 with file at depth 21237 creates a pipeline with the expected jobs1238 sets the image suffix as expected1239 with file at depth > 21240 creates a pipeline with the expected jobs1241 sets the image suffix as expected1242 Python Pipfile1243 with file at root1244 creates a pipeline with the expected jobs1245 sets the image suffix as expected1246 with file at depth 11247 creates a pipeline with the expected jobs1248 sets the image suffix as expected1249 with file at depth 21250 creates a pipeline with the expected jobs1251 sets the image suffix as expected1252 with file at depth > 21253 creates a pipeline with the expected jobs1254 sets the image suffix as expected1255 Python requires.txt1256 with file at root1257 creates a pipeline with the expected jobs1258 sets the image suffix as expected1259 with file at depth 11260 creates a pipeline with the expected jobs1261 sets the image suffix as expected1262 with file at depth 21263 creates a pipeline with the expected jobs1264 sets the image suffix as expected1265 with file at depth > 21266 creates a pipeline with the expected jobs1267 sets the image suffix as expected1268 Python with setup.py1269 with file at root1270 creates a pipeline with the expected jobs1271 sets the image suffix as expected1272 with file at depth 11273 creates a pipeline with the expected jobs1274 sets the image suffix as expected1275 with file at depth 21276 creates a pipeline with the expected jobs1277 sets the image suffix as expected1278 with file at depth > 21279 creates a pipeline with the expected jobs1280 sets the image suffix as expected1281 Python with poetry.lock1282 with file at root1283 creates a pipeline with the expected jobs1284 sets the image suffix as expected1285 with file at depth 11286 creates a pipeline with the expected jobs1287 sets the image suffix as expected1288 with file at depth 21289 creates a pipeline with the expected jobs1290 sets the image suffix as expected1291 with file at depth > 21292 creates a pipeline with the expected jobs1293 sets the image suffix as expected1294 Ruby Gemfile.lock1295 with file at root1296 creates a pipeline with the expected jobs1297 sets the image suffix as expected1298 with file at depth 11299 creates a pipeline with the expected jobs1300 sets the image suffix as expected1301 with file at depth 21302 creates a pipeline with the expected jobs1303 sets the image suffix as expected1304 with file at depth > 21305 creates a pipeline with the expected jobs1306 sets the image suffix as expected1307 Ruby gems.locked1308 with file at root1309 creates a pipeline with the expected jobs1310 sets the image suffix as expected1311 with file at depth 11312 creates a pipeline with the expected jobs1313 sets the image suffix as expected1314 with file at depth 21315 creates a pipeline with the expected jobs1316 sets the image suffix as expected1317 with file at depth > 21318 creates a pipeline with the expected jobs1319 sets the image suffix as expected1320 Scala1321 with file at root1322 creates a pipeline with the expected jobs1323 sets the image suffix as expected1324 with file at depth 11325 creates a pipeline with the expected jobs1326 sets the image suffix as expected1327 with file at depth 21328 creates a pipeline with the expected jobs1329 sets the image suffix as expected1330 with file at depth > 21331 creates a pipeline with the expected jobs1332 sets the image suffix as expected1333 when PIP_REQUIREMENTS_FILE is defined1334 creates a pipeline with the expected jobs1335 sets the image suffix as expected1336 project supported by gemnasium analyzer1337 sets default value for DS_REMEDIATE1338QuickActions::InterpretService1339 #execute1340 assign command1341 there is a group1342 assigns to group members1343 does not assign to more than QuickActions::UsersFinder::MAX_QUICK_ACTION_USERS1344 Issue1345 fetches assignees and populates them if content contains /assign1346 with test_case issue type1347 does not mark to update assignee1348 assign command with multiple assignees1349 fetches assignee and populates assignee_ids if content contains /assign1350 Merge Request1351 fetches assignees and populates them if content contains /assign1352 assign command with a group of users1353 adds group members1354 assign command with multiple assignees1355 fetches assignee and populates assignee_ids if content contains /assign1356 unlicensed1357 does not recognize /assign with multiple user references1358 assign_reviewer command1359 with a merge request1360 fetches reviewers and populates them if content contains /assign_reviewer1361 assign command with multiple reviewers1362 assigns multiple reviewers while respecting previous assignments1363 unassign_reviewer command1364 unassign_reviewer command with multiple assignees1365 unassigns both reviewers if content contains /unassign_reviewer @user @user11366 does not unassign reviewers if the content cannot be parsed1367 unassign command1368 Issue1369 unassigns user if content contains /unassign @user1370 unassigns both users if content contains /unassign @user @user11371 unassigns all the users if content contains /unassign1372 does not apply command if the argument cannot be parsed1373 with a Merge Request1374 unassigns user if content contains /unassign @user1375 applying unassign command with multiple assignees1376 unassigns both users if content contains /unassign @user @user11377 when unlicensed1378 does not recognize /unassign @user1379 reassign command1380 Merge Request1381 reassigns user if content contains /reassign @user1382 unlicensed1383 does not recognize /reassign @user1384 it reassigns multiple users1385 reassigns user if content contains /reassign @user1386 Issue1387 reassigns user if content contains /reassign @user1388 unlicensed1389 does not recognize /reassign @user1390 with test_case issue type1391 does not mark to update assignee1392 it reassigns multiple users1393 reassigns user if content contains /reassign @user1394 reassign_reviewer command1395 reassigns reviewer if content contains /reassign_reviewer @user1396 unlicensed1397 does not recognize /reassign_reviewer @user1398 summarize_diff command1399 when :openai_experimentation feature flag is disabled1400 doesn't apply /summarize_diff1401 when :summarize_diff_quick_action feature flag is disabled1402 doesn't apply /summarize_diff1403 when :openai_experimentation feature flag is enabled1404 applies /summarize_diff1405 when summarize_mr_changes is disabled1406 doesn't apply /summarize_diff1407 when :summarize_diff_quick_action feature flag is disabled1408 doesn't apply /summarize_diff1409 iteration command1410 when iterations are enabled1411 when iteration exists1412 with permissions1413 assigns an iteration to an issue1414 when iteration is started1415 assigns an iteration to an issue1416 when the user does not have enough permissions1417 returns an error message1418 when iteration does not exist1419 returns empty message1420 when iterations are disabled1421 does not recognize /iteration1422 when issuable does not support iterations1423 does not assign an iteration to an incident1424 remove_iteration command1425 when iterations are enabled1426 removes an assigned iteration from an issue1427 when the user does not have enough permissions1428 returns an error message1429 when iterations are disabled1430 does not recognize /remove_iteration1431 when issuable does not support iterations1432 does not assign an iteration to an incident1433 epic command1434 when epics are enabled1435 when epic exists1436 assigns an issue to an epic1437 when an issue belongs to a project without group1438 does not assign an issue to an epic1439 when issue is already added to epic1440 returns error message1441 when issuable does not support epics1442 does not assign an incident to an epic1443 when epic does not exist1444 does not assign an issue to an epic1445 when user has no permissions to read epic1446 does not assign an issue to an epic1447 when user has no access to the issue1448 returns error1449 when epics are disabled1450 does not recognize /epic1451 parent_epic command1452 behaves like adds quick action parameter1453 adds parameter to updates array1454 when target epic is not persisted yet1455 behaves like adds quick action parameter1456 adds parameter to updates array1457 child_epic command1458 when subepics are enabled1459 when a user does not have permissions to add epic relations1460 behaves like does not add quick action parameter1461 does not add parameter to updates array1462 behaves like quick action is unavailable1463 does not recognize action1464 when a user has permissions to add epic relations1465 behaves like adds quick action parameter1466 adds parameter to updates array1467 behaves like quick action is available1468 does recognize action1469 behaves like quick action is unavailable1470 does not recognize action1471 behaves like quick action is unavailable1472 does not recognize action1473 when target epic is not persisted yet1474 behaves like adds quick action parameter1475 adds parameter to updates array1476 when passed child epic is nil1477 does not raise error1478 behaves like does not add quick action parameter1479 does not add parameter to updates array1480 when child_epic is already linked to an epic1481 behaves like quick action is available1482 does recognize action1483 when child epic is in a subgroup of parent epic1484 behaves like quick action is available1485 does recognize action1486 when child epic is in a parent group of the parent epic1487 behaves like quick action is available1488 does recognize action1489 when child epic is in a different group than parent epic1490 behaves like quick action is available1491 does recognize action1492 when epics are disabled1493 behaves like does not add quick action parameter1494 does not add parameter to updates array1495 behaves like quick action is unavailable1496 does not recognize action1497 remove_child_epic command1498 when subepics are enabled1499 when a user does not have permissions to remove epic relations1500 does not remove child_epic from epic1501 behaves like epic relation is not removed1502 does not remove child_epic from epic1503 behaves like quick action is unavailable1504 does not recognize action1505 when a user has permissions to remove epic relations1506 behaves like quick action is available1507 does recognize action1508 behaves like quick action is unavailable1509 does not recognize action1510 behaves like quick action is unavailable1511 does not recognize action1512 when target epic is not persisted yet1513 behaves like quick action is unavailable1514 does not recognize action1515 behaves like epic relation is removed1516 does not remove child_epic from epic1517 when trying to remove child epic from a different epic1518 behaves like epic relation is not removed1519 does not remove child_epic from epic1520 when child epic is in a subgroup of parent epic1521 behaves like epic relation is removed1522 does not remove child_epic from epic1523 behaves like quick action is available1524 does recognize action1525 when child and parent epics are in different groups1526 when child epic is in a parent group of the parent epic1527 behaves like epic relation is removed1528 does not remove child_epic from epic1529 behaves like quick action is available1530 does recognize action1531 when child epic is in a different group than parent epic1532 behaves like epic relation is removed1533 does not remove child_epic from epic1534 behaves like quick action is available1535 does recognize action1536 when subepics are disabled1537 behaves like epic relation is not removed1538 does not remove child_epic from epic1539 behaves like quick action is unavailable1540 does not recognize action1541 remove_parent_epic command1542 when subepics are enabled1543 when a user does not have permissions to manage child epic1544 behaves like epic relation is not removed1545 does not remove parent_epic from epic1546 behaves like quick action is unavailable1547 does not recognize action1548 when a user does not have permissions to manage parent epic1549 behaves like epic relation is not removed1550 does not remove parent_epic from epic1551 behaves like quick action is available1552 does recognize action1553 when a user has permissions to remove epic relations1554 behaves like epic relation is removed1555 removed parent_epic from epic1556 behaves like quick action is available1557 does recognize action1558 behaves like quick action is unavailable1559 does not recognize action1560 behaves like quick action is unavailable1561 does not recognize action1562 when target epic is not persisted yet1563 behaves like quick action is unavailable1564 does not recognize action1565 when subepics are disabled1566 behaves like epic relation is not removed1567 does not remove parent_epic from epic1568 behaves like quick action is unavailable1569 does not recognize action1570 label command for epics1571 when epics are enabled1572 when a user has permissions to label an epic1573 populates valid label ids1574 when a user does not have permissions to label an epic1575 does not populate any labels1576 when epics are disabled1577 does not populate any labels1578 remove_epic command1579 when epics are disabled1580 does not recognize /remove_epic1581 when subepics are enabled1582 unassigns an issue from an epic1583 when issuable does not support epics1584 does not recognize /remove_epic1585 when user has no access to the issue1586 returns error1587 issuable weights licensed1588 weight1589 behaves like weight command1590 populates weight specified by the /weight command1591 behaves like weight command1592 populates weight specified by the /weight command1593 when weight is negative1594 does not populate weight1595 clear_weight1596 behaves like clear weight command1597 populates weight: nil if content contains /clear_weight1598 issuable weights unlicensed1599 does not recognise /weight X1600 does not recognise /clear_weight1601 issuable weights not supported by type1602 does not recognise /weight X1603 does not recognise /clear_weight1604 issuable health statuses licensed1605 health_status1606 behaves like health_status command1607 populates health_status specified by the /health_status command1608 behaves like health_status command1609 populates health_status specified by the /health_status command1610 when health_status is invalid1611 does not populate health_status1612 when the user does not have enough permissions1613 returns an error message1614 clear_health_status1615 behaves like clear_health_status command1616 populates health_status: nil if content contains /clear_health_status1617 when the user does not have enough permissions1618 returns an error message1619 issuable health_status unlicensed1620 does not recognise /health_status X1621 does not recognise /clear_health_status1622 issuable health_status not supported by type1623 does not recognise /health_status X1624 does not recognise /clear_health_status1625 not persisted merge request can not be merged1626 behaves like empty command1627 populates {} if content contains an unsupported command1628 not approved merge request can not be merged1629 behaves like empty command1630 populates {} if content contains an unsupported command1631 when the merge request is not approved1632 behaves like failed command1633 populates {} if content contains an unsupported command1634 returns Could not apply merge command. message1635 when the merge request is blocked1636 behaves like failed command1637 populates {} if content contains an unsupported command1638 returns Could not apply merge command. message1639 when merge request has denied policies1640 behaves like failed command1641 populates {} if content contains an unsupported command1642 returns Could not apply merge command. message1643 approved merge request can be merged1644 behaves like empty command1645 populates {} if content contains an unsupported command1646 confidential command1647 for test cases1648 does mark to update confidential attribute1649 for requirements1650 fails supports confidentiality condition1651 for epics1652 returns correct explain message1653 returns successful execution message1654 when epic has non-confidential issues1655 behaves like command not applied1656 returns unsuccessful execution message1657 when epic has non-confidential epics1658 behaves like command not applied1659 returns unsuccessful execution message1660 when a user has no permissions to set confidentiality1661 does not update epic confidentiality1662 blocking issues commands1663 behaves like issues link quick action1664 when user is member of group1665 when linking a single issue1666 behaves like link command1667 links issues1668 when linking multiple issues at once1669 behaves like link command1670 links issues1671 when quick action target is unpersisted1672 links the issues after the issue is persisted1673 with empty link command1674 behaves like link command1675 links issues1676 with already having linked issues1677 behaves like link command1678 links issues1679 with cross project1680 when linking a cross project issue1681 behaves like link command1682 links issues1683 when linking multiple cross projects issues at once1684 behaves like link command1685 links issues1686 when linking a non-existing issue1687 behaves like link command1688 links issues1689 when linking a private issue1690 behaves like link command1691 links issues1692 behaves like issues link quick action1693 when user is member of group1694 when linking a single issue1695 behaves like link command1696 links issues1697 when linking multiple issues at once1698 behaves like link command1699 links issues1700 when quick action target is unpersisted1701 links the issues after the issue is persisted1702 with empty link command1703 behaves like link command1704 links issues1705 with already having linked issues1706 behaves like link command1707 links issues1708 with cross project1709 when linking a cross project issue1710 behaves like link command1711 links issues1712 when linking multiple cross projects issues at once1713 behaves like link command1714 links issues1715 when linking a non-existing issue1716 behaves like link command1717 links issues1718 when linking a private issue1719 behaves like link command1720 links issues1721 #explain1722 health_status command1723 issuable health statuses licensed1724 includes the value1725 unassign command1726 includes all assignees' references1727 unassign command with assignee references1728 includes only selected assignee references1729 weight command1730 includes the number1731 epic commands1732 child_epic command1733 behaves like returns execution messages1734 when correct epic reference1735 returns explain message with epic reference1736 returns successful execution message1737 when epic reference is wrong1738 returns empty explain message1739 when epic is already a child epic1740 behaves like epics are already related1741 returns unsuccessful execution message1742 when epic is the parent epic1743 behaves like epics are already related1744 returns unsuccessful execution message1745 when epic does not exist1746 behaves like target epic does not exist1747 returns unsuccessful execution message1748 when user has no permissions to relate the child epic1749 behaves like without permissions for action1750 returns unsuccessful execution message1751 remove_child_epic command1752 when correct epic reference1753 returns explain message with epic reference1754 returns successful execution message1755 when epic reference is wrong1756 returns empty explain message1757 when child epic does not exist1758 returns unsuccessful execution message1759 when user has no permissions to remove child epic1760 behaves like without permissions for action1761 returns unsuccessful execution message1762 parent_epic command1763 behaves like returns execution messages1764 when correct epic reference1765 returns explain message with epic reference1766 returns successful execution message1767 when epic reference is wrong1768 returns empty explain message1769 when epic is already a parent epic1770 behaves like epics are already related1771 returns unsuccessful execution message1772 when epic is a an existing child epic1773 behaves like epics are already related1774 returns unsuccessful execution message1775 when epic does not exist1776 behaves like target epic does not exist1777 returns unsuccessful execution message1778 when user has no permissions to relate the parent epic1779 behaves like without permissions for action1780 returns unsuccessful execution message1781 remove_parent_epic command1782 when parent is present1783 returns explain message with epic reference1784 returns successful execution message1785 when target epic is not persisted yet1786 behaves like quick action is unavailable1787 does not recognize action1788 when parent is not present1789 returns empty explain message1790 returns unsuccessful execution message1791 when user has no permissions to remove parent epic1792 behaves like without permissions for action1793 returns unsuccessful execution message1794 blocking issues commands1795 with /blocks1796 with sufficient permissions1797 /blocks is available1798 when licensed feature is not available1799 behaves like quick action is unavailable1800 does not recognize action1801 when target is not an issue1802 behaves like quick action is unavailable1803 does not recognize action1804 with insufficient permissions1805 behaves like quick action is unavailable1806 does not recognize action1807 with /blocked_by1808 with sufficient permissions1809 /blocked_by is available1810 when licensed feature is not available1811 behaves like quick action is unavailable1812 does not recognize action1813 when target is not an issue1814 behaves like quick action is unavailable1815 does not recognize action1816 with insufficient permissions1817 behaves like quick action is unavailable1818 does not recognize action1819Boards::EpicBoardPosition1820 associations1821 is expected to belong to epic required: true1822 is expected to belong to epic_board required: true inverse_of => epic_board_positions1823 validations1824 is expected to be valid1825 is valid with nil relative position1826 disallows a record with same epic and board1827 scopes1828 .order_relative_position1829 returns epic_board_positions in order1830 .last_for_board_id1831 returns highest not null position1832 relative positioning1833 behaves like a class that supports relative positioning1834 #scoped_items1835 includes all items with the same scope1836 #relative_siblings1837 includes all items with the same scope, except self1838 .move_nulls_to_end1839 moves items with null relative_position to the end1840 preserves relative position1841 moves the item near the start position when there are no existing positions1842 does not perform any moves if all items have their relative_position set1843 manages to move nulls to the end even if there is a sequence at the end1844 manages to move nulls to the end even if there is not enough space1845 manages to move nulls to the end, stacking if we cannot create enough space1846 manages to move nulls found in the relative scope1847 can move many nulls1848 does not have an N+1 issue1849 .move_nulls_to_start1850 moves items with null relative_position to the start1851 moves the item near the start position when there are no existing positions1852 preserves relative position1853 does not perform any moves if all items have their relative_position set1854 manages to move nulls to the start even if there is not enough space1855 manages to move nulls to the end, stacking if we cannot create enough space1856 #move_before1857 moves item before1858 can move the item before an item at the start1859 can move the item before an item at MIN_POSITION1860 can move the item before an item bunched up at MIN_POSITION1861 when there is no space1862 moves items correctly1863 leap-frogging to the left1864 can leap-frog STEPS times before needing to rebalance1865 there is no space to the left after moving STEPS times1866 rebalances to the right1867 #move_after1868 moves item after1869 can move the item after an item bunched up at MAX_POSITION1870 when there is no space1871 can move the item after an item at MAX_POSITION1872 moves items correctly1873 leap-frogging1874 rebalances after STEPS jumps1875 #move_to_start1876 places items at most IDEAL_DISTANCE from the start when the range is open1877 moves item to the end1878 positions the item at MIN_POSITION when there is only one space left1879 rebalances when there is already an item at the MIN_POSITION1880 deals with a run of elements at the start1881 #move_to_end1882 places items at most IDEAL_DISTANCE from the start when the range is open1883 moves item to the end1884 positions the item at MAX_POSITION when there is only one space left1885 rebalances when there is already an item at the MAX_POSITION1886 deals with a run of elements at the end1887 #move_between1888 positions item between two other1889 positions item between on top1890 positions item between to end1891 positions items even when after and before positions are the same1892 positions item in the middle of other two if distance is big enough1893 positions item closer to the middle if we are at the very top1894 positions item closer to the middle if we are at the very bottom1895 positions item in the middle of other two1896 positions item right if we pass non-sequential parameters1897 avoids N+1 queries when rebalancing other items1898 the two items are next to each other1899 behaves like moves item between1900 moves the middle item to between left and right1901 there is no space1902 behaves like moves item between1903 moves the middle item to between left and right1904 there is a bunch of items1905 handles bunches correctly1906 behaves like moves item between1907 moves the middle item to between left and right1908Elastic::Latest::GitClassProxy1909 names elasticsearch queries1910 #elastic_search1911 if type is wiki_blob1912 if migrate_wikis_to_separate_index is not finished1913 fetches the results from the main index1914 if migrate_wikis_to_separate_index is finished1915 fetches the results from the new separate index1916 if type is blob1917 global blob search and migration not completed1918 global blob search and migration completed1919 group blob search1920 project blob search1921 #elastic_search_as_found_blob1922 returns FoundBlob1923 with filters in the query1924 returns matching results1925 when part of the path is used1926 returns the same results as when the full path is used1927 when the path query is in the middle of the file path1928 returns the same results as when the full path is used1929 #blob_aggregations1930 returns aggregations1931 assert names queries for global blob search when migration is complete1932 assert names queries for global blob search when migration is not complete1933 assert names queries for group blob search1934 assert names queries for project blob search1935 when use_base_class_in_proxy_util is disabled1936 names elasticsearch queries1937 when backfilling migration is complete1938 does not use the traversal_id filter when project_ids are passed1939 does not use the traversal_id filter when group_ids are not passed1940 uses the traversal_id filter1941Geo::CiSecureFileReplicator1942 invokes replicator.handle_after_create_commit on create1943 behaves like a replicator1944 Geo node status1945 on a primary site1946 .primary_total_count1947 when batch count feature flag is enabled1948 returns the number of available replicables on primary1949 when batch count feature flag is disabled1950 returns the number of available replicables on primary1951 on a secondary site1952 .registry_count1953 when batch count feature flag is enabled1954 returns the number of registries on secondary1955 when batch count feature flag is disabled1956 returns the number of registries on secondary1957 .synced_count1958 when batch count feature flag is enabled1959 returns the number of synced items on secondary1960 when batch count feature flag is disabled1961 returns the number of synced items on secondary1962 .failed_count1963 when batch count feature flag is enabled1964 returns the number of failed items on secondary1965 when batch count feature flag is disabled1966 returns the number of failed items on secondary1967 when replicator is Geo::RegistrySyncWorker compatible1968 has "created" and "deleted" events1969 when replicator enqueues a sync event1970 is expected to receive perform_async("ci_secure_file", "created", {:model_record_id=>22}) 1 time1971 #replicator1972 is defined and does not raise error1973 .replicables_for_current_secondary1974 when syncing object storage is enabled1975 behaves like is implemented and returns a valid relation1976 is implemented1977 when syncing object storage is disabled1978 behaves like is implemented and returns a valid relation1979 is implemented1980 with selective sync disabled1981 behaves like is implemented and returns a valid relation1982 is implemented1983 with selective sync enabled for namespaces1984 behaves like is implemented and returns a valid relation1985 is implemented1986 with selective sync enabled for shards1987 behaves like is implemented and returns a valid relation1988 is implemented1989 #handle_after_create_commit1990 creates a Geo::Event1991 calls #after_verifiable_update1992 when replication feature flag is disabled1993 does not call #after_verifiable_update1994 does not publish1995 #handle_after_destroy1996 creates a Geo::Event1997 when replication feature flag is disabled1998 does not publish1999 created event consumption2000 when the blob's project is in replicables for this geo node2001 invokes Geo::BlobDownloadService2002 when the blob's project is not in replicables for this geo node2003 does not invoke Geo::BlobDownloadService2004 deleted event consumption2005 when model_record was deleted from the DB and the replicator only has its ID2006 invokes Geo::FileRegistryRemovalService2007 backward compatibility2008 invokes Geo::FileRegistryRemovalService when delete event is in deprecated format2009 when object storage is enabled2010 when GitLab managed replication is enabled2011 deletes the file from object storage2012 when GitLab managed replication is disabled2013 does not delete the file from object storage2014 #carrierwave_uploader2015 is implemented2016 #model2017 is implemented2018 is a Class2019 responds to primary_key2020 #blob_path2021 when the file is locally stored2022 returns a valid path to a file2023 #calculate_checksum2024 when the file is locally stored2025 when the file exists2026 returns hexdigest of the file2027 when the file does not exist2028 raises an error2029 when the file is remotely stored2030 raises an error2031 #file_exists?2032 is expected to be truthy2033 when the file does not exist2034 is expected to be falsey2035 when the file is nil2036 is expected to be falsey2037 .bulk_create_delete_events_async2038 creates events2039 raises error when model_record_id is nil2040 events2041 has checksum_succeeded event2042 .verification_enabled?2043 when replication is enabled2044 when verification_feature_flag_enabled? returns true2045 returns true2046 when verification_feature_flag_enabled? returns false2047 returns false2048 when replication is disabled2049 returns false2050 .checksummed_count2051 when verification is enabled2052 when batch count feature flag is enabled2053 behaves like a counter of succeeded available verifiables2054 is expected to eq 12055 excludes other verification states2056 when batch count feature flag is disabled2057 behaves like a counter of succeeded available verifiables2058 is expected to eq 12059 excludes other verification states2060 when verification is disabled2061 returns nil2062 .verified_count2063 when verification is enabled2064 when batch count feature flag is enabled2065 behaves like a counter of succeeded available verifiables2066 is expected to eq 12067 excludes other verification states2068 when batch count feature flag is disabled2069 behaves like a counter of succeeded available verifiables2070 is expected to eq 12071 excludes other verification states2072 when verification is disabled2073 returns nil2074 .checksum_failed_count2075 when verification is enabled2076 when batch count feature flag is enabled2077 behaves like a counter of failed available verifiables2078 is expected to eq 12079 excludes other verification states2080 when batch count feature flag is disabled2081 behaves like a counter of failed available verifiables2082 is expected to eq 12083 excludes other verification states2084 when verification is disabled2085 returns nil2086 .verification_failed_count2087 when verification is enabled2088 when batch count feature flag is enabled2089 behaves like a counter of failed available verifiables2090 is expected to eq 12091 excludes other verification states2092 when batch count feature flag is disabled2093 behaves like a counter of failed available verifiables2094 is expected to eq 12095 excludes other verification states2096 when verification is disabled2097 returns nil2098 .verification_total_count2099 when verification is enabled2100 when batch count feature flag is enabled2101 when the verification_state is disabled2102 is expected to eq 02103 when the verification_state is not disabled2104 is expected to eq 12105 when batch count feature flag is disabled2106 when the verification_state is disabled2107 is expected to eq 02108 when the verification_state is not disabled2109 is expected to eq 12110 when verification is disabled2111 returns nil2112 .trigger_background_verification2113 when verification is enabled2114 for a Geo secondary2115 does not enqueue ReverificationBatchWorker2116 enqueues VerificationBatchWorker2117 enqueues VerificationTimeoutWorker2118 for a Geo primary2119 enqueues ReverificationBatchWorker2120 enqueues VerificationStateBackfillWorker2121 enqueues VerificationBatchWorker2122 enqueues VerificationTimeoutWorker2123 when verification is disabled2124 does not enqueue VerificationBatchWorker2125 does not enqueue VerificationTimeoutWorker2126 .backfill_verification_state_table2127 calls VerificationStateBackfillService2128 when on secondary2129 returns false2130 .verify_batch2131 when there are records needing verification2132 calls #verify on each replicator2133 .remaining_verification_batch_count2134 converts needs_verification_count to number of batches2135 .remaining_reverification_batch_count2136 converts needs_reverification_count to number of batches2137 .reverify_batch!2138 calls #reverify_batch2139 .replicator_batch_to_verify2140 returns usable Replicator instances2141 .model_record_id_batch_to_verify2142 when the batch is filled by pending rows2143 returns IDs of pending rows2144 does not call .verification_failed_batch2145 when that batch is not filled by pending rows2146 includes IDs of failed rows2147 .verification_pending_batch2148 when current node is a primary2149 delegates to the model class of the replicator2150 when current node is a secondary2151 delegates to the registry class of the replicator2152 .verification_failed_batch2153 when current node is a primary2154 delegates to the model class of the replicator2155 when current node is a secondary2156 delegates to the registry class of the replicator2157 .fail_verification_timeouts2158 when current node is a primary2159 delegates to the model class of the replicator2160 when current node is a secondary2161 delegates to the registry class of the replicator2162 #after_verifiable_update2163 verification_enabled: true, immutable: true, checksum: nil, checksummable: true, expect_verify_async: true2164 calls verify_async only if needed2165 verification_enabled: true, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2166 calls verify_async only if needed2167 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2168 calls verify_async only if needed2169 verification_enabled: true, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2170 calls verify_async only if needed2171 verification_enabled: true, immutable: false, checksum: nil, checksummable: true, expect_verify_async: true2172 calls verify_async only if needed2173 verification_enabled: true, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2174 calls verify_async only if needed2175 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: true2176 calls verify_async only if needed2177 verification_enabled: true, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2178 calls verify_async only if needed2179 verification_enabled: false, immutable: true, checksum: nil, checksummable: true, expect_verify_async: false2180 calls verify_async only if needed2181 verification_enabled: false, immutable: true, checksum: nil, checksummable: false, expect_verify_async: false2182 calls verify_async only if needed2183 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: true, expect_verify_async: false2184 calls verify_async only if needed2185 verification_enabled: false, immutable: true, checksum: "abc123", checksummable: false, expect_verify_async: false2186 calls verify_async only if needed2187 verification_enabled: false, immutable: false, checksum: nil, checksummable: true, expect_verify_async: false2188 calls verify_async only if needed2189 verification_enabled: false, immutable: false, checksum: nil, checksummable: false, expect_verify_async: false2190 calls verify_async only if needed2191 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: true, expect_verify_async: false2192 calls verify_async only if needed2193 verification_enabled: false, immutable: false, checksum: "abc123", checksummable: false, expect_verify_async: false2194 calls verify_async only if needed2195 #verify_async2196 on a Geo primary2197 calls verification_started! and enqueues VerificationWorker2198 #verify2199 wraps the checksum calculation in track_checksum_attempt!2200 #verification_state_tracker2201 on a Geo primary2202 returns model_record2203 on a Geo secondary2204 returns registry2205 #handle_after_checksum_succeeded2206 on a Geo primary2207 creates checksum_succeeded event2208 is called on verification success2209 on a Geo secondary2210 does not create an event2211 #consume_event_checksum_succeeded2212 with a persisted model_record2213 on a Geo primary2214 does nothing2215 on a Geo secondary2216 with a persisted registry2217 with a registry which is verified2218 sets state to verification_pending2219 with a registry which is pending verification2220 does not change state from verification_pending2221 with an unpersisted registry2222 does not persist the registry2223 #primary_verification_succeeded?2224 when the model record is verification_succeeded2225 returns true2226 when the model record is verification_succeeded2227 returns false2228 integration tests2229 on a primary2230 background backfill2231 verifies model records2232 triggered by events2233 verifies model records2234 on a secondary2235 background backfill2236 verifies registries2237 triggered by events2238 verifies registries2239Gitlab::Elastic::Indexer2240 empty project2241 updates the index status without running the indexing command2242 when indexing a project with no repository2243 updates the index status without running the indexing command2244 .timeout2245 when advanced_search_decrease_indexing_timeout feature flag is enabled2246 returns correct value2247 when advanced_search_decrease_indexing_timeout feature flag is disabled2248 returns correct value2249 #find_indexable_commit2250 is truthy for reachable commits2251 is falsey for unreachable commits2252 when repository project is empty2253 returns nil for empty repository project2254 #purge_unreachable_commits_from_index?2255 to_sha: "commit_sha", force_reindexing: true, ancestor_of: true, result: true2256 returns correct result2257 to_sha: "commit_sha", force_reindexing: true, ancestor_of: false, result: true2258 returns correct result2259 to_sha: "commit_sha", force_reindexing: false, ancestor_of: true, result: false2260 returns correct result2261 to_sha: "commit_sha", force_reindexing: false, ancestor_of: false, result: true2262 returns correct result2263 to_sha: nil, force_reindexing: true, ancestor_of: true, result: true2264 returns correct result2265 to_sha: nil, force_reindexing: true, ancestor_of: false, result: true2266 returns correct result2267 to_sha: nil, force_reindexing: false, ancestor_of: true, result: true2268 returns correct result2269 to_sha: nil, force_reindexing: false, ancestor_of: false, result: true2270 returns correct result2271 with an indexed project2272 when indexing a HEAD commit2273 runs the indexing command2274 behaves like index up to the specified commit2275 updates the index status when the indexing is a success2276 leaves the index status untouched when the indexing fails2277 when search curation is disabled2278 runs the indexing command without --search-curation flag2279 when add_hashed_root_namespace_id_to_commits migration is not complete2280 runs the indexer without --hashed-root-namespace-id flag2281 when IndexStatus exists2282 when last_commit exists2283 uses last_commit as from_sha2284 when indexing a non-HEAD commit2285 behaves like index up to the specified commit2286 updates the index status when the indexing is a success2287 leaves the index status untouched when the indexing fails2288 after reverting a change2289 when IndexStatus#last_commit is no longer in repository2290 reindexes from scratch2291 when branch is reset to an earlier commit2292 reverses already indexed commits2293 when indexing a project's wiki2294 runs the indexer with the right flags2295 when search curation is disabled2296 runs the indexer with the right flags without --search-curation2297 when IndexStatus#last_wiki_commit is no longer in repository2298 reindexes from scratch2299 when SSL env vars are not set explicitly2300 they will be set to default values determined by Ruby2301 when SSL env vars are set2302 when building env vars for child process2303 SSL env vars will be included2304 when no aws credentials available2305 credentials env vars will not be included2306 when aws credentials are available2307 when AWS config is not enabled2308 credentials env vars will not be included2309 when AWS config is enabled2310 credentials env vars will be included2311 when a file is larger than elasticsearch_indexed_file_size_limit_kb2312 indexes the file with empty content2313 when a file path is larger than elasticsearch max size of 512 bytes2314 indexes the file2315 when project no longer exists in database2316 does not raise an exception and prints log message2317 when IndexStatus.safe_find_or_create_by! throws an InvalidForeignKey exception2318 does not raise an exception and prints a log message2319 when purge_unreachable_commits_from_index? is true2320 when deleting index raise BadRequest2321 calls track_exception on Gitlab::ErrorTracking2322Vulnerabilities::Read2323 associations2324 is expected to belong to vulnerability required: false2325 is expected to belong to project required: false2326 is expected to belong to scanner class_name => Vulnerabilities::Scanner required: false2327 validations2328 is expected to validate that :vulnerability_id cannot be empty/falsy2329 is expected to validate that :project_id cannot be empty/falsy2330 is expected to validate that :scanner_id cannot be empty/falsy2331 is expected to validate that :report_type cannot be empty/falsy2332 is expected to validate that :severity cannot be empty/falsy2333 is expected to validate that :state cannot be empty/falsy2334 is expected to validate that :uuid cannot be empty/falsy2335 is expected to validate that the length of :location_image is at most 20482336 is expected to validate that :vulnerability_id is case-sensitively unique2337 is expected to validate that :uuid is case-insensitively unique2338 is expected to allow :has_issues to be ‹true›2339 is expected to allow :has_issues to be ‹false›2340 is expected not to allow :has_issues to be ‹nil›2341 is expected to allow :resolved_on_default_branch to be ‹true›2342 is expected to allow :resolved_on_default_branch to be ‹false›2343 is expected not to allow :resolved_on_default_branch to be ‹nil›2344 triggers2345 trigger on vulnerability_occurrences insert2346 when vulnerability_id is set2347 when the related vulnerability record is not marked as `present_on_default_branch`2348 does not create a new vulnerability_reads row2349 when the related vulnerability record is marked as `present_on_default_branch`2350 creates a new vulnerability_reads row2351 sets has_issues to true when there are issue links2352 when vulnerability_id is not set2353 does not create a new vulnerability_reads row2354 trigger on vulnerability_occurrences update2355 when vulnerability_id is updated2356 creates a new vulnerability_reads row2357 sets has_issues when the vulnerability has issue links2358 when vulnerability_id is not updated2359 does not create a new vulnerability_reads row2360 trigger on vulnerability_occurrences location update2361 when image is updated2362 updates location_image in vulnerability_reads2363 when agent_id is updated2364 updates cluster_agent_id in vulnerability_reads2365 when image or agent_id is not updated2366 does not update location_image or cluster_agent_id in vulnerability_reads2367 trigger on vulnerabilities update2368 when the vulnerability is not marked as `present_on_default_branch`2369 does not update vulnerability attributes in vulnerability_reads2370 when the vulnerability is marked as `present_on_default_branch`2371 when vulnerability attributes are updated2372 updates vulnerability attributes in vulnerability_reads2373 when vulnerability attributes are not updated2374 does not update vulnerability attributes in vulnerability_reads2375 trigger_insert_vulnerability_reads_from_vulnerability2376 when the vulnerability does not get marked as `present_on_default_branch`2377 does not create a new `vulnerability_reads` record2378 when the vulnerability gets marked as `present_on_default_branch`2379 creates a new `vulnerability_reads` record2380 sets has_issues when the created vulnerability has issue links2381 trigger on vulnerabilities_issue_link2382 on insert2383 updates has_issues in vulnerability_reads2384 on delete2385 does not change has_issues when there exists another issue2386 unsets has_issues when all issues are deleted2387 .by_scanner_ids2388 returns matching vulnerabilities2389 .for_projects2390 returns vulnerability_reads related to the given project IDs2391 .with_report_types2392 returns vulnerabilities matching the given report_types2393 .with_severities2394 returns vulnerabilities matching the given severities2395 .with_states2396 returns vulnerabilities matching the given states2397 .with_scanner_external_ids2398 returns vulnerabilities matching the given scanner external IDs2399 .with_container_image2400 returns vulnerabilities with given image2401 .with_resolution2402 when no argument is provided2403 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>2404 when the argument is provided2405 when the given argument is `true`2406 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>2407 when the given argument is `false`2408 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>2409 .with_issues2410 when no argument is provided2411 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>2412 when the argument is provided2413 when the given argument is `true`2414 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>2415 when the given argument is `false`2416 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>2417 .as_vulnerabilities2418 returns vulnerabilities as list2419 .order_by2420 when method is nil2421 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>2422 when ordered by severity_desc2423 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>2424 when ordered by severity_asc2425 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>2426 when ordered by detected_desc2427 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>2428 when ordered by detected_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: 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>2430 .order_severity_2431 ascending2432 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>2433 descending2434 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>2435 .order_detected_at_2436 ascending2437 returns vulnerabilities ordered by created_at2438 descending2439 returns vulnerabilities ordered by created_at2440 .container_images2441 returns container images for vulnerabilities2442 .by_scanner2443 returns records by given scanner2444EE::Boards::Lists::UpdateService2445 with project2446 behaves like board list update2447 with licensed wip limits2448 updates the list if max_issue_count is given2449 updates the list if max_issue_weight is given2450 does not update the list if max_issue_weight is nil2451 updates the max issue count of the list if both count and weight limits are provided2452 does not change count if weight is updated2453 does not change weight if count is updated2454 does not update max_issue_count if max_issue_count is nil2455 sets max_issue_count to 0 if requested2456 sets max_issue_weight to 0 if requested2457 sets max_issue_count to 0 if requested2458 sets max_issue_weight to 0 if requested2459 does not update count and weight when negative values for both are given2460 sets count and weight to 0 when non numerical values are given2461 does not update the list max issue count if can_admin returns false2462 does not update the list max issue weight if can_admin returns false2463 limit metric2464 updates the list if limit_metric "issue_count" is given2465 updates the list if limit_metric "issue_weights" is given2466 updates the list if "all_metrics" limit_metric is given2467 updates the list if "all_metrics" limit_metric is given2468 updates the list if no limit_metric is given2469 fails if an invalid limit_metric is given2470 without licensed wip limits2471 does not update the list even if max_issue_count is given2472 does not update the list if can_admin returns false2473 does not update the list even if max_issue_weight is given2474 does not update the list if can_admin returns false2475 with group2476 behaves like board list update2477 with licensed wip limits2478 updates the list if max_issue_count is given2479 updates the list if max_issue_weight is given2480 does not update the list if max_issue_weight is nil2481 updates the max issue count of the list if both count and weight limits are provided2482 does not change count if weight is updated2483 does not change weight if count is updated2484 does not update max_issue_count if max_issue_count is nil2485 sets max_issue_count to 0 if requested2486 sets max_issue_weight to 0 if requested2487 sets max_issue_count to 0 if requested2488 sets max_issue_weight to 0 if requested2489 does not update count and weight when negative values for both are given2490 sets count and weight to 0 when non numerical values are given2491 does not update the list max issue count if can_admin returns false2492 does not update the list max issue weight if can_admin returns false2493 limit metric2494 updates the list if limit_metric "issue_count" is given2495 updates the list if limit_metric "issue_weights" is given2496 updates the list if "all_metrics" limit_metric is given2497 updates the list if "all_metrics" limit_metric is given2498 updates the list if no limit_metric is given2499 fails if an invalid limit_metric is given2500 without licensed wip limits2501 does not update the list even if max_issue_count is given2502 does not update the list if can_admin returns false2503 does not update the list even if max_issue_weight is given2504 does not update the list if can_admin returns false2505MergeRequests::ByApproversFinder2506 filter by no approvers2507 returns merge requests without approvers2508 filter by any approver2509 returns only merge requests with approvers2510 filter by second approver2511 returns only merge requests with the second approver2512 filter by both approvers2513 returns only merge requests with both approvers2514 pass empty params2515 returns all merge requests2516 filter by an approver from group2517 returns only merge requests with the approver from group2518 filter by an overridden approver from project2519 returns only merge requests with the project approver2520 filter by approvers2521 can be ordered by popularity2522 can be ordered by priority2523Gitlab::Llm::VertexAi::Client2524 # order random2525 #text2526 behaves like forwarding the request correctly2527 when a successful response is returned from the API2528 returns the response2529 when a failed response is returned from the API2530 retries the request2531 #code2532 behaves like forwarding the request correctly2533 when a successful response is returned from the API2534 returns the response2535 when a failed response is returned from the API2536 retries the request2537 #chat2538 behaves like forwarding the request correctly2539 when a successful response is returned from the API2540 returns the response2541 when a failed response is returned from the API2542 retries the request2543 #messages_chat2544 behaves like forwarding the request correctly2545 when a successful response is returned from the API2546 returns the response2547 when a failed response is returned from the API2548 retries the request2549Security::SecurityOrchestrationPolicies::ProcessScanResultPolicyService2550 #execute2551 sets project approval rule based on policy2552 when actions are not provided2553 does not create approval project rules2554 without any require_approval action2555 does not create approval project rules2556 without any rule of the scan_finding type2557 does not create approval project rules2558 with only user id2559 behaves like create approval rule with specific approver2560 succeeds creating approval rules with specific approver2561 with only username2562 behaves like create approval rule with specific approver2563 succeeds creating approval rules with specific approver2564 with role_approvers2565 creates approval rules with role approvers2566 creates scan_result_policy_read2567 with only group id2568 behaves like create approval rule with specific approver2569 succeeds creating approval rules with specific approver2570 with public group outside of the scope2571 does not include any approvers2572 with private group outside of the scope2573 does not include any approvers2574 with an invited group2575 includes group related approvers2576 with only group path2577 behaves like create approval rule with specific approver2578 succeeds creating approval rules with specific approver2579 when groups with same name exist in and outside of container2580 with security_policy_global_group_approvers_enabled setting disabled2581 excludes groups outside the container2582 with security_policy_global_group_approvers_enabled setting enabled2583 includes groups outside the container2584 when rules are not provided2585 does not create approval project rules2586 when rules are provided2587 with valid vulnerability_states2588 with ["newly_detected"]2589 creates new approval rules2590 with ["detected"]2591 creates new approval rules2592 with ["dismissed"]2593 creates new approval rules2594 with ["resolved"]2595 creates new approval rules2596 with ["confirmed"]2597 creates new approval rules2598 with ["new_dismissed"]2599 creates new approval rules2600 with ["new_needs_triage"]2601 creates new approval rules2602 with ["new_dismissed", "new_needs_triage"]2603 creates new approval rules2604 with ["detected", "dismissed", "confirmed", "resolved"]2605 creates new approval rules2606 with ["confirmed", "dismissed"]2607 creates new approval rules2608 with invalid vulnerability_states2609 creates no approval rules2610 with a specific number of rules2611 rules_count: 4, expected_rules_count: 42612 creates approval rules up to limit2613 rules_count: 5, expected_rules_count: 52614 creates approval rules up to limit2615 rules_count: 6, expected_rules_count: 52616 creates approval rules up to limit2617 when user does not have edit_approval_rule permission2618 behaves like create approval rule with specific approver2619 succeeds creating approval rules with specific approver2620 with empty branches2621 sets applies_to_all_protected_branches to true2622 rule params `protected_branch_ids`2623 when feature flag `group_protected_branches` enabled2624 set `protected_branch_ids` from the project and group level2625 when feature flag `group_protected_branches` disabled2626 set `protected_branch_ids` from only the project level2627 with license_finding rule_type2628 creates scan_result_policy_read2629 creates software_license_policies2630 creates approval_rules with valid params2631Projects::CreateFromTemplateService2632 #execute2633 does not create project from custom template2634 when use_custom_template is not present or false2635 creates an empty project2636 when custom_project_templates feature is not enabled2637 creates an empty project2638 when custom_project_template does not exist2639 does not attempt to import a project2640 use_template_name: true2641 returns the created project2642 the result project2643 overrides template description2644 overrides template visibility_level2645 creating project from a Group project template2646 when the namespace is not a descendant of the Group owning the template2647 when project is created under a group that is outside the hierarchy its root ancestor group2648 behaves like a project that isn't persisted2649 isn't persisted2650 when project is created under a group that is a descendant of its root ancestor group2651 behaves like a project that isn't persisted2652 isn't persisted2653 when project is created under a subgroup that is a descendant of its root ancestor group2654 behaves like a project that isn't persisted2655 isn't persisted2656 when project is created outside of group hierarchy2657 behaves like a project that isn't persisted2658 isn't persisted2659 when the namespace is inside the hierarchy of the Group owning the template2660 when project is created under its parent group2661 behaves like a persisted project2662 is persisted2663 when project is created under the same group2664 behaves like a persisted project2665 is persisted2666 when project is created under its descendant group2667 behaves like a persisted project2668 is persisted2669 when project is created under a group that is a descendant of its parent group2670 behaves like a persisted project2671 is persisted2672 when project is created under a subgroup that is a descendant of its parent group2673 behaves like a persisted project2674 is persisted2675 use_template_name: false2676 returns the created project2677 the result project2678 overrides template description2679 overrides template visibility_level2680 creating project from a Group project template2681 when the namespace is not a descendant of the Group owning the template2682 when project is created under a group that is outside the hierarchy its root ancestor group2683 behaves like a project that isn't persisted2684 isn't persisted2685 when project is created under a group that is a descendant of its root ancestor group2686 behaves like a project that isn't persisted2687 isn't persisted2688 when project is created under a subgroup that is a descendant of its root ancestor group2689 behaves like a project that isn't persisted2690 isn't persisted2691 when project is created outside of group hierarchy2692 behaves like a project that isn't persisted2693 isn't persisted2694 when the namespace is inside the hierarchy of the Group owning the template2695 when project is created under its parent group2696 behaves like a persisted project2697 is persisted2698 when project is created under the same group2699 behaves like a persisted project2700 is persisted2701 when project is created under its descendant group2702 behaves like a persisted project2703 is persisted2704 when project is created under a group that is a descendant of its parent group2705 behaves like a persisted project2706 is persisted2707 when project is created under a subgroup that is a descendant of its parent group2708 behaves like a persisted project2709 is persisted2710Epics::TreeReorderService2711 # order random2712 #execute2713 when epics feature is not enabled2714 behaves like error for the tree update2715 does not change anything2716 when epics feature is enabled2717 when user does not have permissions to admin the base epic2718 behaves like error for the tree update2719 does not change anything2720 when user does have admin_issue_relation permission for the base epic2721 when moving EpicIssue2722 when relative_position is not valid2723 behaves like error for the tree update2724 does not change anything2725 when object being moved is not the same type as the switched object2726 reorders the objects2727 when no object to switch is provided2728 updates the parent2729 creates system notes2730 when object being moved is from another epic2731 when the new_parent_id has not been provided2732 behaves like error for the tree update2733 does not change anything2734 when the new_parent_id does not match the parent of the relative positioning object2735 behaves like error for the tree update2736 does not change anything2737 when the new_parent_id matches the parent id of the relative positioning object2738 reorders the objects2739 when object being moved is not supported type2740 behaves like error for the tree update2741 does not change anything2742 when adjacent object is not supported type2743 behaves like error for the tree update2744 does not change anything2745 when user does not have permissions to move issue2746 behaves like error for the tree update2747 does not change anything2748 when user does not have permissions to admin the previous parent2749 behaves like error for the tree update2750 does not change anything2751 when user does not have permissions to admin the new parent2752 behaves like error for the tree update2753 does not change anything2754 when the epics of reordered epic-issue links are not subepics of the base epic2755 when new_parent_id is not provided2756 behaves like error for the tree update2757 does not change anything2758 when new_parent_id is provided2759 behaves like error for the tree update2760 does not change anything2761 when moving is successful2762 updates the links relative positions2763 when a new_parent_id of a valid parent is provided2764 updates the parent2765 updates the links relative positions2766 creates system notes2767 when moving Epic2768 when subepics feature is disabled2769 behaves like error for the tree update2770 does not change anything2771 when subepics feature is enabled2772 when relative_position is not valid2773 behaves like error for the tree update2774 does not change anything2775 when user does not have permissions to admin the previous parent2776 behaves like error for the tree update2777 does not change anything2778 when user does not have permissions to admin the previous parent links2779 behaves like error for the tree update2780 does not change anything2781 when there is some other error with the new parent2782 when the new parent is in a new group hierarchy2783 behaves like new parent not in an ancestor group2784 returns success status without errors2785 when the new parent is in a descendant group2786 behaves like new parent not in an ancestor group2787 returns success status without errors2788 when user does not have permissions to admin the new parent2789 behaves like error for the tree update2790 does not change anything2791 when the reordered epics are not subepics of the base epic2792 behaves like error for the tree update2793 does not change anything2794 when moving is successful2795 updates the links relative positions2796 when new parent is current epic2797 updates the relative positions2798 does not update the parent_id2799 when moved object is from another epic and new_parent_id matches parent of adjacent object2800 updates the relative positions2801 updates the parent2802 creates system notes2803Autocomplete::VulnerabilitiesAutocompleteFinder2804 #execute2805 when vulnerable is project2806 behaves like autocomplete vulnerabilities finder2807 when the given user is nil2808 is expected to be empty2809 when the given user is not nil2810 when user does not have access to project2811 is expected to be empty2812 when user has access to project2813 when security dashboards are not enabled2814 is expected to be empty2815 when security dashboards are enabled2816 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2817 when multiple vulnerabilities are found2818 returns max 5 items2819 is sorted descending by id2820 when search is provided in params2821 and it matches ID of vulnerability2822 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2823 and it matches title of vulnerability2824 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2825 and it does not match neither title or id of vulnerability2826 is expected to be empty2827 when vulnerable is group2828 behaves like autocomplete vulnerabilities finder2829 when the given user is nil2830 is expected to be empty2831 when the given user is not nil2832 when user does not have access to project2833 is expected to be empty2834 when user has access to project2835 when security dashboards are not enabled2836 is expected to be empty2837 when security dashboards are enabled2838 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2839 when multiple vulnerabilities are found2840 returns max 5 items2841 is sorted descending by id2842 when search is provided in params2843 and it matches ID of vulnerability2844 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2845 and it matches title of vulnerability2846 is expected to contain exactly #<Vulnerability id:71 [vulnerability:group1164/project-965/71]>2847 and it does not match neither title or id of vulnerability2848 is expected to be empty2849Search::IndexRepairService2850 # order random2851 .execute2852 when search_index_integrity feature flag is disabled2853 behaves like does no index repair work2854 does not call the search client2855 when project.should_check_index_integrity? is false2856 behaves like does no index repair work2857 does not call the search client2858 when project and blobs exist in the index2859 does not log anything2860 behaves like gets counts for project and blobs from the search client2861 gets counts for project and blobs from the search client but does not log anything2862 when blobs are missing from the index2863 logs a warning2864 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 project is missing from the index2867 enqueues the project for indexing and 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 anything2870Ci::SecureFile2871 .with_verification_state2872 returns records with given scope2873 .checksummed2874 returns records with given scope2875 .not_checksummed2876 returns records with given scope2877 #save_verification_details2878 when model record is not part of verifiables scope2879 does not create verification details2880 when model_record is part of verifiables scope2881 creates verification details2882 #replicables_for_current_secondary2883 selective_sync_namespaces: nil, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2884 when sync object storage is enabled2885 when the ci secure file is locally stored2886 is expected to eq true2887 when the ci secure file is object stored2888 is expected to eq true2889 when sync object storage is disabled2890 when the ci secure file is locally stored2891 is expected to eq true2892 when the ci secure file is object stored2893 is expected to be falsey2894 selective_sync_namespaces: nil, selective_sync_shards: :model, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2895 when sync object storage is enabled2896 when the ci secure file is locally stored2897 is expected to eq true2898 when the ci secure file is object stored2899 is expected to eq true2900 when sync object storage is disabled2901 when the ci secure file is locally stored2902 is expected to eq true2903 when the ci secure file is object stored2904 is expected to be falsey2905 selective_sync_namespaces: nil, selective_sync_shards: :other, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false2906 when sync object storage is enabled2907 when the ci secure file is locally stored2908 is expected to eq false2909 when the ci secure file is object stored2910 is expected to eq false2911 when sync object storage is disabled2912 when the ci secure file is locally stored2913 is expected to eq false2914 when the ci secure file is object stored2915 is expected to be falsey2916 selective_sync_namespaces: :model_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: true2917 when sync object storage is enabled2918 when the ci secure file is locally stored2919 is expected to eq true2920 when the ci secure file is object stored2921 is expected to eq true2922 when sync object storage is disabled2923 when the ci secure file is locally stored2924 is expected to eq true2925 when the ci secure file is object stored2926 is expected to be falsey2927 selective_sync_namespaces: :model_parent_parent, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: true2928 when sync object storage is enabled2929 when the ci secure file is locally stored2930 is expected to eq true2931 when the ci secure file is object stored2932 is expected to eq true2933 when sync object storage is disabled2934 when the ci secure file is locally stored2935 is expected to eq true2936 when the ci secure file is object stored2937 is expected to be falsey2938 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project], include_expectation: false2939 when sync object storage is enabled2940 when the ci secure file is locally stored2941 is expected to eq false2942 when the ci secure file is object stored2943 is expected to eq false2944 when sync object storage is disabled2945 when the ci secure file is locally stored2946 is expected to eq false2947 when the ci secure file is object stored2948 is expected to be falsey2949 selective_sync_namespaces: :other, selective_sync_shards: nil, factory: [:ci_secure_file], project_factory: [:project, :in_subgroup], include_expectation: false2950 when sync object storage is enabled2951 when the ci secure file is locally stored2952 is expected to eq false2953 when the ci secure file is object stored2954 is expected to eq false2955 when sync object storage is disabled2956 when the ci secure file is locally stored2957 is expected to eq false2958 when the ci secure file is object stored2959 is expected to be falsey2960 .search2961 when search query is empty2962 returns all records2963 when search query is not empty2964 without matches2965 filters all records2966 with matches by attributes2967 searchable_attribute: :name2968 is expected to contain exactly #<Ci::SecureFile id: 140, project_id: 1096, created_at: "2023-06-02 06:48:40.499575428 +0000", update...94f52b4b958c63bb780612d8d91943360ca...", metadata: nil, expires_at: nil, verification_checksum: nil>2969IncidentManagement::OncallShiftGenerator2970 # order random2971 #for_timestamp2972 with no participants2973 is expected to be nil2974 with participants2975 when timestamp is before the rotation start time2976 is expected to be nil2977 when timestamp matches the rotation start time2978 behaves like unsaved shift2979 returns shift which starts at the same time as the rotation2980 when timestamp matches a shift start/end time2981 behaves like unsaved shift2982 returns the next shift of the rotation2983 when timestamp is in the middle of a shift2984 behaves like unsaved shift2985 returns the shift during which the timestamp occurs2986 when timestamp is at the end of a shift2987 behaves like unsaved shift2988 returns the second shift2989 with rotation end time2990 when timestamp matches rotation end time2991 is expected to be nil2992 when timestamp is before rotation end time2993 behaves like unsaved shift2994 returns the shift during which the timestamp occurs2995 when timestamp is at rotation end time2996 is expected to be nil2997 with shift active period times set2998 when timestamp is the start of rotation, but before active period2999 is expected to be nil3000 when timestamp is the same time as active period start3001 behaves like unsaved shift3002 returns the first shift of the shift cycle (split by the active period)3003 when timestamp is the same time as active period end3004 is expected to be nil3005 when timestamp is the after the active period ends3006 is expected to be nil3007 #for_timeframe3008 with no participants3009 is expected to be empty3010 with one participant3011 behaves like unsaved shifts3012 returns 3 shifts of 5 days, all for the same participant3013 when timestamp is at the end of a shift3014 behaves like unsaved shifts3015 returns the second and third shift3016 with many participants3017 behaves like unsaved shifts3018 returns One shift of 5 days long for each participant3019 with shift active period times set3020 splits the shifts daily by each active period3021 behaves like unsaved shifts3022 returns 5 shifts for each participant split by each day3023 with week length unit3024 splits the shifts daily by each active period3025 behaves like unsaved shifts3026 returns 7 shifts for each participant split by each day3027 rotation start time is in middle of active period3028 behaves like unsaved shifts3029 returns 5 shifts for each participant split by each day3030 active period is overnight3031 splits the shifts daily by each active period3032 behaves like unsaved shifts3033 returns 5 shifts for each participant with overnight shifts3034 when end time is earlier than start time3035 is expected to be empty3036 when start time is the same time as the rotation start time3037 behaves like unsaved shifts3038 returns 2 shifts of 5 days starting with first participant at the rotation start time3039 when start time is earlier than the rotation start time3040 behaves like unsaved shifts3041 returns 2 shifts of 5 days starting with the first participant at the rotation start time3042 when start time coincides with a shift change3043 behaves like unsaved shifts3044 returns 2 shifts of 5 days, starting with the second participant and the second shift3045 when start time is partway through a shift3046 behaves like unsaved shifts3047 returns 3 shifts of 5 days staring with the first participant which includes the partially completed shift3048 when the rotation has been completed many times over3049 behaves like unsaved shifts3050 returns 3 shifts of 5 days starting with the first participant beginning 7 weeks after rotation start time3051 when timeframe covers the rotation many times over3052 behaves like unsaved shifts3053 returns 7 shifts of 5 days starting with the first participant3054 with rotation end time3055 when the rotation end time coincides with a shift end3056 when end time is equal_to the rotation end time3057 behaves like unsaved shifts3058 returns 3 shifts of 5 days which ends at the rotation end time3059 when end time is less_than the rotation end time3060 behaves like unsaved shifts3061 returns 3 shifts of 5 days which ends at the rotation end time3062 when end time is greater_than the rotation end time3063 behaves like unsaved shifts3064 returns 3 shifts of 5 days which ends at the rotation end time3065 when end time is well_past the rotation end time3066 behaves like unsaved shifts3067 returns 3 shifts of 5 days which ends at the rotation end time3068 when the rotation end time is partway through a shift3069 when end time is equal_to the rotation end time3070 behaves like unsaved shifts3071 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3072 when end time is less_than the rotation end time3073 behaves like unsaved shifts3074 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3075 when end time is greater_than the rotation end time3076 behaves like unsaved shifts3077 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3078 when end time is well_past the rotation end time3079 behaves like unsaved shifts3080 returns 2 shifts of 5 days and one partial shift which ends at the rotation end time3081 in timezones with daylight-savings3082 with positive UTC offsets3083 with rotation in hours3084 switching to daylight savings time3085 when overlapping the switch3086 behaves like unsaved shifts3087 returns hour-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3088 starting after switch3089 behaves like unsaved shifts3090 returns hour-long shifts which are entirely in NZDT(+1300)3091 starting after multiple switches3092 behaves like unsaved shifts3093 returns hour-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3094 switching off daylight savings time3095 when overlapping the switch3096 behaves like unsaved shifts3097 returns hour-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3098 starting after switch3099 behaves like unsaved shifts3100 returns hour-long shifts which are entirely in NZST(+1200)3101 starting after multiple switches3102 behaves like unsaved shifts3103 returns hour-long shifts which are entirely back in NZST(+1300) after 2 timezone switches since the rotation start time3104 with rotation in days3105 switching to daylight savings time3106 when overlapping the switch3107 behaves like unsaved shifts3108 returns day-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3109 starting after switch3110 behaves like unsaved shifts3111 returns day-long shifts which are entirely in NZDT(+1300)3112 starting after multiple switches3113 behaves like unsaved shifts3114 returns day-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3115 switching off daylight savings time3116 when overlapping the switch3117 behaves like unsaved shifts3118 returns day-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3119 starting after switch3120 behaves like unsaved shifts3121 returns day-long shifts which are entirely in NZST(+1200)3122 starting after multiple switches3123 behaves like unsaved shifts3124 returns day-long shifts which are entirely back in NZST(+1300) after 2 timezone switches since the rotation start time3125 with rotation in weeks3126 switching to daylight savings time3127 when overlapping the switch3128 behaves like unsaved shifts3129 returns 2-week-long shifts which start in NZST(+1200) and switch to NZDT(+1300)3130 starting after switch3131 behaves like unsaved shifts3132 returns 2-week-long shifts which are entirely in NZDT(+1300)3133 starting after multiple switches3134 behaves like unsaved shifts3135 returns 2-week-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3136 switching off daylight savings time3137 when overlapping the switch3138 behaves like unsaved shifts3139 returns 2-week-long shifts which start in NZDT(+1300) and switch to NZST(+1200)3140 starting after switch3141 behaves like unsaved shifts3142 returns 2-week-long shifts which are entirely in NZST(+1200)3143 starting after multiple switches3144 behaves like unsaved shifts3145 returns 2-week-long shifts which are entirely back in NZST(+1200) after 2 timezone switches since the rotation start time3146 with negative UTC offsets3147 with rotation in hours3148 switching to daylight savings time3149 when overlapping the switch3150 behaves like unsaved shifts3151 returns hour-long shifts which start in EST(-0500) and switch to EDT(-0400)3152 starting after switch3153 behaves like unsaved shifts3154 returns hour-long shifts which are entirely in EDT(-0400)3155 starting after multiple switches3156 behaves like unsaved shifts3157 returns hour-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3158 switching off daylight savings time3159 when overlapping the switch3160 behaves like unsaved shifts3161 returns hour-long shifts which start in EDT(-0400) and switch to EST(-0500)3162 starting after switch3163 behaves like unsaved shifts3164 returns hour-long shifts which are entirely in EST(-0500)3165 starting after multiple switches3166 behaves like unsaved shifts3167 returns hour-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3168 with rotation in days3169 switching to daylight savings time3170 when overlapping the switch3171 behaves like unsaved shifts3172 returns day-long shifts which start in EST(-0500) and switch to EDT(-0400)3173 starting after switch3174 behaves like unsaved shifts3175 returns day-long shifts which are entirely in EDT(-0400)3176 starting after multiple switches3177 behaves like unsaved shifts3178 returns day-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3179 switching off daylight savings time3180 when overlapping the switch3181 behaves like unsaved shifts3182 returns day-long shifts which start in EDT(-0400) and switch to EST(-0500)3183 starting after switch3184 behaves like unsaved shifts3185 returns day-long shifts which are entirely in EST(-0500)3186 starting after multiple switches3187 behaves like unsaved shifts3188 returns day-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3189 with rotation in weeks3190 switching to daylight savings time3191 when overlapping the switch3192 behaves like unsaved shifts3193 returns 2-week-long shifts which start in EST(-0500) and switch to EDT(-0400)3194 starting after switch3195 behaves like unsaved shifts3196 returns 2-week-long shifts which are entirely in EDT(-0400)3197 starting after multiple switches3198 behaves like unsaved shifts3199 returns 2-week-long shifts which are entirely back in EST(-0500) after 2 timezone switches since the rotation start time3200 switching off daylight savings time3201 when overlapping the switch3202 behaves like unsaved shifts3203 returns 2-week-long shifts which start in EDT(-0400) and switch to EST(-0500)3204 starting after switch3205 behaves like unsaved shifts3206 returns 2-week-long shifts which are entirely in EST(-0500)3207 starting after multiple switches3208 behaves like unsaved shifts3209 returns 2-week-long shifts which are entirely back in EDT(-0400) after 2 timezone switches since the rotation start time3210IssuesFinder3211 #execute3212 scope: all3213 filter by scoped label wildcard3214 when scoped labels are unavailable3215 does not return any results3216 when project scope is not given3217 does not return any results3218 with a single wildcard filter3219 returns issues that have labels that match the wildcard3220 with multiple wildcard filters3221 returns issues that have labels that match both wildcards3222 combined with a regular label filter3223 returns issues that have labels that match the wildcard and the regular label3224 with nested prefix3225 returns issues that have labels that match the prefix3226 with overlapping prefixes3227 returns issues that have labels that match both prefixes3228 using NOT3229 returns issues that do not have labels that match the wildcard3230 filter by weight3231 filter issues with no weight3232 returns all issues3233 filter issues with any weight3234 returns all issues3235 filter issues with a specific weight3236 returns all issues3237 filer issues by negated weight3238 filters out issues with the specified weight3239 filtering by assignee IDs3240 returns issues assigned to those users3241 filter by username3242 behaves like assignee username filter3243 returns issuables assigned to those users3244 behaves like assignee NOT username filter3245 returns issuables not assigned to those users3246 filter by epic3247 filter issues with no epic3248 returns filtered issues3249 filter issues by epic3250 when include_subepics param is not included3251 returns all issues in the epic, subepic issues excluded3252 when include_subepics param is set to true3253 returns all issues in the epic including subepic issues3254 filter issues with any epic3255 returns filtered issues3256 filter issues not in the epic3257 returns issues not assigned to the epic3258 filter by iteration3259 filter issues with no iteration3260 returns all issues without iterations3261 filter issues with any iteration3262 returns filtered issues3263 filter issues by current iteration3264 when no current iteration is found3265 returns no issues3266 when current iteration exists3267 returns filtered issues3268 filter by negated current iteration3269 returns filtered issues3270 filter issues by iteration3271 returns all issues with the iteration3272 filter issues by multiple iterations3273 returns all issues with the iteration3274 filter issue by iteration title3275 returns all issues with the iteration title3276 filter issue by negated iteration title3277 returns all issues that do not match the iteration title3278 without iteration_id param3279 returns unfiltered issues3280 when filtering by health status3281 filter issues by health status3282 returns filtered issues3283 when searching within a specific project3284 returns filtered issues3285 filter issues with no health status3286 returns filtered issues3287 filter issues with any health status3288 returns filtered issues3289 filter issues without a sepcific health status3290 returns filtered issues3291 #with_confidentiality_access_check3292 when no project filter is given3293 for an auditor3294 returns all issues3295 when searching within a specific project3296 for an auditor3297 returns all issues3298Geo::VerificationStateBackfillWorker3299 uses a geo queue3300 #perform3301 behaves like reenqueuer3302 implements lease_timeout3303 uses the :none deduplication strategy3304 #perform3305 tries to obtain a lease3306 behaves like #perform is rate limited to 1 call per3307 when the work finishes in 0 seconds3308 sleeps exactly the minimum duration3309 when the work finishes in 10% of minimum duration3310 sleeps 90% of minimum duration3311 when the work finishes in 90% of minimum duration3312 sleeps 10% of minimum duration3313 when the work finishes exactly at minimum duration3314 does not sleep3315 when the work takes 10% longer than minimum duration3316 does not sleep3317 when the work takes twice as long as minimum duration3318 does not sleep3319 when service is executed3320 when Geo::VerificationStateBackfillService#execute returns true3321 returns true3322 worker gets reenqueued3323 when VerificationStateBackfillService#execute returns false3324 returns false3325 worker does not get reenqueued (we will wait until next cronjob)3326Gitlab::Ci::Parsers::LicenseCompliance::LicenseScanning3327 #parse!3328 when parsing a valid v1 report3329 is expected to eql "1.0"3330 is expected to eq 43331 is expected to eql "Apache 2.0"3332 is expected to eql "http://www.apache.org/licenses/LICENSE-2.0.txt"3333 is expected to equal 13334 is expected to equal 13335 is expected to eql "thread_safe"3336 is expected to eql "MIT"3337 is expected to eql "http://opensource.org/licenses/mit-license"3338 is expected to equal 523339 is expected to equal 523340 is expected to eql "actioncable"3341 is expected to eql "New BSD"3342 is expected to eql "http://opensource.org/licenses/BSD-3-Clause"3343 is expected to equal 33344 is expected to equal 33345 is expected to contain exactly "ffi", "puma", and "sqlite3"3346 is expected to eql "unknown"3347 is expected to be nil3348 is expected to equal 13349 is expected to equal 13350 is expected to eql "ruby-bundler-rails"3351 when parsing a valid v1.1 report3352 is expected to eql "1.1"3353 is expected to eq 33354 is expected to eql "BSD-4-Clause"3355 is expected to eql "BSD"3356 is expected to eql "http://spdx.org/licenses/BSD-4-Clause.json"3357 is expected to equal 23358 is expected to equal 23359 is expected to contain exactly "b" and "c"3360 is expected to eql "MIT"3361 is expected to eql "MIT"3362 is expected to eql "http://opensource.org/licenses/mit-license"3363 is expected to equal 23364 is expected to equal 23365 is expected to contain exactly "a" and "c"3366 is expected to be nil3367 is expected to eql "unknown"3368 is expected to be nil3369 is expected to equal 13370 is expected to equal 13371 is expected to contain exactly "d"3372 when parsing a valid v2 report3373 is expected to eql "2.0"3374 is expected to eq 33375 is expected to eql "BSD-3-Clause"3376 is expected to eql "BSD 3-Clause \"New\" or \"Revised\" License"3377 is expected to eql "http://spdx.org/licenses/BSD-3-Clause.json"3378 is expected to equal 23379 is expected to equal 23380 is expected to contain exactly "b" and "c"3381 is expected to eql "MIT"3382 is expected to eql "MIT License"3383 is expected to eql "http://spdx.org/licenses/MIT.json"3384 is expected to equal 23385 is expected to equal 23386 is expected to contain exactly "a" and "c"3387 is expected to be nil3388 is expected to eql "unknown"3389 is expected to be nil3390 is expected to equal 13391 is expected to equal 13392 is expected to contain exactly "d"3393 when parsing a valid v2.1 report3394 is expected to eql "2.1"3395 is expected to eq 33396 parses the BSD license3397 parses the MIT license3398 parses an unknown license3399 when parsing a v2 report with a missing license definition3400 is expected to equal 13401 is expected to eql "MIT"3402 is expected to eql "unknown"3403 is expected to equal 13404 is expected to eql "saml-kit"3405 when the report version is not recognized3406 is expected to raise KeyError3407 when the report version is missing3408 is expected to eq "1.0"3409 is expected to be empty3410 when the report version is nil3411 is expected to eq "1.0"3412 is expected to be empty3413 when the report version is blank3414 is expected to eq "1.0"3415 is expected to be empty3416 when the report is structured as an array3417 is expected to be empty3418 when the report is not a valid JSON document3419 is expected to eql "1.0"3420 is expected to be empty3421MergeRequestWidgetEntity3422 avoids N+1 queries3423 has vulnerability feedback paths3424 has can_read_vulnerability_feedback property3425 has discover project security path3426 has pipeline id3427 test report artifacts3428 json_entry: :browser_performance, artifact_type: :browser_performance, exposures: [:degradation_threshold, :head_path, :base_path]3429 when feature is available3430 with new report artifacts3431 has data entry3432 without artifacts3433 does not have data entry3434 json_entry: :browser_performance, artifact_type: :performance, exposures: [:degradation_threshold, :head_path, :base_path]3435 when feature is available3436 with new report artifacts3437 has data entry3438 without artifacts3439 does not have data entry3440 json_entry: :load_performance, artifact_type: :load_performance, exposures: [:head_path, :base_path]3441 when feature is available3442 with new report artifacts3443 has data entry3444 without artifacts3445 does not have data entry3446 degradation_threshold3447 with browser_performance artifact3448 when head pipeline's browser performance build has the threshold variable defined3449 returns the value of the variable3450 when head pipeline's browser performance build has no threshold variable defined3451 returns nil3452 with performance artifact3453 when head pipeline's browser performance build has the threshold variable defined3454 returns the value of the variable3455 when head pipeline's browser performance build has no threshold variable defined3456 returns nil3457 #license_scanning3458 when report artifact is defined3459 is included3460 #settings_path should not be included for developers3461 when feature is not licensed3462 is not included3463 when user is maintainer3464 #settings_path should be included for maintainers3465 when a report artifact is produced from a forked project3466 is expected to include :license_scanning3467 #can_read_vulnerabilities3468 when security dashboard feature is available3469 is set to true3470 when security dashboard feature is not available3471 is set to false3472 #can_read_vulnerability_feedback3473 when user has permissions to read vulnerability feedback3474 is set to true3475 when user has no permissions to read vulnerability feedback3476 is set to false3477 blocking merge requests3478 feature disabled3479 does not have the blocking_merge_requests member3480 feature enabled3481 shows the blocking merge request if visible3482 hides the blocking merge request if not visible3483 does not count a merged and hidden blocking MR3484ProductivityAnalytics3485 metrics data3486 #histogram_data3487 metric: "days_to_merge", expected_result: {3=>2, 14=>1, 30=>1}3488 calculates correctly3489 metric: "time_to_first_comment", expected_result: {0=>3, 24=>1}3490 calculates correctly3491 metric: "time_to_last_commit", expected_result: {312=>1, 696=>1, 48=>2}3492 calculates correctly3493 metric: "time_to_merge", expected_result: {24=>3, 0=>1}3494 calculates correctly3495 metric: "commits_count", expected_result: {1=>2, 5=>1, 20=>1}3496 calculates correctly3497 metric: "loc_per_commit", expected_result: {15=>1, 16=>1, 14=>1, 5=>1}3498 calculates correctly3499 metric: "files_touched", expected_result: {15=>1, 3=>2, 1=>1}3500 calculates correctly3501 metric: "something_invalid", expected_result: nil3502 calculates correctly3503 for multiple labeled mrs3504 returns aggregated data3505 #scatterplot_data3506 returns metric values for each MR3507 for multiple labeled mrs3508 properly returns MRs with metrics calculated3509 #merge_requests_extended3510 returns MRs data with all the metrics calculated3511 with custom sorting3512 reorders MRs according to custom sorting3513 with unknown sorting3514 sorts by id desc3515 for multiple labeled mrs3516 properly returns MRs with metrics calculated3517 .start_date3518 delegates to ApplicationSetting3519Gitlab::Llm::OpenAi::Client3520 # order random3521 #messages_chat3522 tracks prompt and completion tokens cost3523 behaves like forwarding the request correctly3524 when feature flag and access token is set3525 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3526 when using options3527 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3528 when the feature flag is disabled3529 is expected to be nil3530 when the access key is not present3531 is expected to be nil3532 when moderation flag is nil3533 produces a deprecation warning3534 when moderation flag is set3535 when response is not flagged3536 returns the response from original endpoint3537 when response is flagged3538 raises TextModerationError3539 when moderation flag is false3540 does not call the moderation endpoint3541 when moderation flag is nil3542 produces a deprecation warning3543 when output moderation flag is true3544 when response is not flagged3545 returns the response from original endpoint3546 when response is flagged3547 raises TextModerationError3548 when moderation flag is false3549 does not call the moderation endpoint3550 without the correct role3551 raises an error3552 #chat3553 tracks prompt and completion tokens cost3554 behaves like forwarding the request correctly3555 when feature flag and access token is set3556 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3557 when using options3558 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3559 when the feature flag is disabled3560 is expected to be nil3561 when the access key is not present3562 is expected to be nil3563 when moderation flag is nil3564 produces a deprecation warning3565 when moderation flag is set3566 when response is not flagged3567 returns the response from original endpoint3568 when response is flagged3569 raises TextModerationError3570 when moderation flag is false3571 does not call the moderation endpoint3572 when moderation flag is nil3573 produces a deprecation warning3574 when output moderation flag is true3575 when response is not flagged3576 returns the response from original endpoint3577 when response is flagged3578 raises TextModerationError3579 when moderation flag is false3580 does not call the moderation endpoint3581 #completions3582 tracks prompt and completion tokens cost3583 behaves like forwarding the request correctly3584 when feature flag and access token is set3585 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3586 when using options3587 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3588 when the feature flag is disabled3589 is expected to be nil3590 when the access key is not present3591 is expected to be nil3592 when moderation flag is nil3593 produces a deprecation warning3594 when moderation flag is set3595 when response is not flagged3596 returns the response from original endpoint3597 when response is flagged3598 raises TextModerationError3599 when moderation flag is false3600 does not call the moderation endpoint3601 when moderation flag is nil3602 produces a deprecation warning3603 when output moderation flag is true3604 when response is not flagged3605 returns the response from original endpoint3606 when response is flagged3607 raises TextModerationError3608 when moderation flag is false3609 does not call the moderation endpoint3610 #embeddings3611 tracks prompt and completion tokens cost3612 behaves like forwarding the request correctly3613 when feature flag and access token is set3614 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3615 when using options3616 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3617 when the feature flag is disabled3618 is expected to be nil3619 when the access key is not present3620 is expected to be nil3621 when moderation flag is nil3622 produces a deprecation warning3623 when moderation flag is set3624 when response is not flagged3625 returns the response from original endpoint3626 when response is flagged3627 raises TextModerationError3628 when moderation flag is false3629 does not call the moderation endpoint3630 #moderations3631 behaves like forwarding the request correctly3632 when feature flag and access token is set3633 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3634 when using options3635 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3636 when the feature flag is disabled3637 is expected to be nil3638 when the access key is not present3639 is expected to be nil3640 #edits3641 tracks prompt and completion tokens cost3642 behaves like forwarding the request correctly3643 when feature flag and access token is set3644 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3645 when using options3646 is expected to eq #<InstanceDouble(HTTParty::Response) (anonymous)>3647 when the feature flag is disabled3648 is expected to be nil3649 when the access key is not present3650 is expected to be nil3651 when moderation flag is nil3652 produces a deprecation warning3653 when moderation flag is set3654 when response is not flagged3655 returns the response from original endpoint3656 when response is flagged3657 raises TextModerationError3658 when moderation flag is false3659 does not call the moderation endpoint3660 when moderation flag is nil3661 produces a deprecation warning3662 when output moderation flag is true3663 when response is not flagged3664 returns the response from original endpoint3665 when response is flagged3666 raises TextModerationError3667 when moderation flag is false3668 does not call the moderation endpoint3669Gitlab::Licenses::SubmitLicenseUsageDataBanner3670 #reset3671 when check namespace plan setting is enabled3672 does not reset the submit license usage data3673 when there is only a future dated license3674 does not reset the submit license usage data3675 when current license is an online cloud license3676 does not reset the submit license usage data3677 when current license is a legacy license3678 does not reset the submit license usage data3679 when current license is for a trial3680 does not reset the submit license usage data3681 when license start day matches today's day3682 resets the submit license usage data3683 when license start day does not match today's day3684 and today is the end of the month3685 and the start date's day is smaller than today's day3686 does not reset the submit license usage data3687 and the start date's day is bigger than today's day3688 current_date: Mon, 28 Feb 20223689 resets the submit license usage data3690 current_date: Thu, 29 Feb 20243691 resets the submit license usage data3692 current_date: Sat, 30 Apr 20223693 resets the submit license usage data3694 #display?3695 is expected to eq true3696 when user is empty3697 is expected to eq false3698 when user cannot admin all resources3699 is expected to eq false3700 when check namespace plan setting is enabled3701 is expected to eq false3702 when current license is an online cloud license3703 is expected to eq false3704 when current license is a legacy license3705 is expected to eq false3706 when current license is for a trial3707 is expected to eq false3708 when there is only a future dated license3709 is expected to eq false3710 when it's within the first month of the license3711 is expected to eq false3712 when user dismissed the callout3713 is expected to eq false3714 #title3715 returns the title3716 when banner should not be displayed3717 does not return a title3718 #body3719 returns the body3720 when banner should not be displayed3721 does not return a body3722 #dismissable?3723 is expected to eq true3724 when license usage data has not been exported yet3725 is expected to eq false3726MergeRequests::ComplianceViolation3727 Associations3728 is expected to belong to violating_user required: false3729 is expected to belong to merge_request required: false3730 Validations3731 is expected to validate that :violating_user cannot be empty/falsy3732 is expected to validate that :merge_request cannot be empty/falsy3733 is expected to validate that :reason cannot be empty/falsy3734 is expected to validate that :severity_level cannot be empty/falsy3735 when a violation exists with the same reason and user for a merge request3736 does not create a duplicate merge request violation3737 Enums3738 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}›3739 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}›3740 #by_approved_by_committer3741 returns the correct collection of violations3742 #by_group3743 returns the correct collection of violations3744 #by_projects3745 returns the correct collection of violations3746 #merged_before3747 returns the correct collection of violations3748 #merged_after3749 returns the correct collection of violations3750 #order_by_reason3751 direction: "ASC", result: lazy { [violations[0], violations[1]] }3752 returns the correct collection of violations3753 direction: "DESC", result: lazy { [violations[1], violations[0]] }3754 returns the correct collection of violations3755 #order_by_severity_level3756 direction: "ASC", result: lazy { [violations[0], violations[1]] }3757 returns the correct collection of violations3758 direction: "DESC", result: lazy { [violations[1], violations[0]] }3759 returns the correct collection of violations3760 #order_by_merge_request_title3761 direction: "ASC", result: lazy { [violations[0], violations[1]] }3762 returns the correct collection of violations3763 direction: "DESC", result: lazy { [violations[1], violations[0]] }3764 returns the correct collection of violations3765 #order_by_merged_at3766 direction: "ASC", result: lazy { [violations[0], violations[1]] }3767 returns the correct collection of violations3768 direction: "DESC", result: lazy { [violations[1], violations[0]] }3769 returns the correct collection of violations3770 #by_target_branch3771 returns the correct collection of violations3772 .process_merge_request3773 loops through each violation class3774Arkose::TokenVerificationService3775 # order random3776 #execute3777 when arkose_labs_prevent_login feature flag is enabled3778 behaves like interacting with Arkose verify API3779 when the user did not solve the challenge3780 returns an error response3781 returns an error message3782 when feature arkose_labs_prevent_login is enabled3783 when the user solved the challenge3784 when the risk score is low3785 makes a request to the Verify API3786 logs the event3787 records user's Arkose data3788 behaves like returns success response with the correct payload3789 returns a success response3790 returns payload with correct :low_risk value3791 includes the json response in the payload3792 when the session is allowlisted3793 behaves like returns success response with the correct payload3794 returns a success response3795 returns payload with correct :low_risk value3796 includes the json response in the payload3797 when the risk score is high3798 behaves like returns success response with the correct payload3799 returns a success response3800 returns payload with correct :low_risk value3801 includes the json response in the payload3802 when the response does not include the risk session3803 when the user solved the challenge3804 behaves like returns success response with the correct payload3805 returns a success response3806 returns payload with correct :low_risk value3807 includes the json response in the payload3808 when the user did not solve the challenge3809 returns an error response3810 returns an error message3811 logs the event3812 when response from Arkose is not what we expect3813 behaves like returns success response with correct payload and logs the error3814 returns a success response3815 returns { low_risk: true } payload3816 does not include the json response in the payload3817 logs the error3818 when an error occurs during the Arkose request3819 behaves like returns success response with correct payload and logs the error3820 returns a success response3821 returns { low_risk: true } payload3822 does not include the json response in the payload3823 logs the error3824 when feature arkose_labs_prevent_login is disabled3825 when the risk score is high3826 returns a success response3827 returns { low_risk: true } payload3828Projects::RestoreService3829 restoring project3830 marks project as not hidden, unarchived and not marked for deletion3831 when the original project path is not taken3832 renames the project back to its original path3833 renames the project back to its original name3834 when the original project name has been taken3835 renames the project back to its original path with a suffix3836 renames the project back to its original name with a suffix3837 uses the same suffix for both the path and name3838 when the original project path does not contain the -deleted- suffix3839 renames the project back to its original path3840 renames the project back to its original name3841 restoring project already in process of removal3842 does not allow to restore3843 audit events3844 saves audit event3845Ci::BuildDependencies3846 for cross_project dependencies3847 when cross_dependencies are not defined3848 is expected to be empty3849 with missing dependency3850 is expected to be empty3851 with cross_dependencies to the same project3852 with artifacts true3853 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>3854 with artifacts false3855 is expected to be empty3856 with dependency names from environment variables3857 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>3858 with cross_dependencies to another ref in same project3859 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>3860 with cross_dependencies to a pipeline in another project3861 with permissions to other_project3862 contains both dependencies3863 when license does not have cross_project_pipelines3864 is expected to be empty3865 without permissions to other_project3866 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>3867 with too many cross_dependencies3868 returns a limited number of dependencies3869 #all3870 with both cross project and cross pipeline dependencies3871 returns both dependencies3872ApprovalRulePresenter3873 #approvers3874 when user cannot see one of the groups3875 is expected to be empty3876 when user can see all groups3877 is expected to contain exactly #<User id:2611 @user1608>, #<User id:2612 @user1609>, and #<User id:2613 @user1610>3878 #groups3879 with project rule3880 behaves like filtering private group3881 when user has no access to private group3882 excludes private group3883 when user has access to private group3884 includes private group3885 with wrapped approval rule3886 behaves like filtering private group3887 when user has no access to private group3888 excludes private group3889 when user has access to private group3890 includes private group3891 with any_approver rule3892 contains no groups without raising an error3893 #contains_hidden_groups?3894 with project rule3895 behaves like detecting hidden group3896 when user has no access to private group3897 excludes private group3898 when user has access to private group3899 includes private group3900 with wrapped approval rule3901 behaves like detecting hidden group3902 when user has no access to private group3903 excludes private group3904 when user has access to private group3905 includes private group3906 with any_approver rule3907 contains no groups without raising an error3908Resolvers::Geo::UploadRegistriesResolver3909 behaves like a Geo registries resolver3910 #resolve3911 when the parent object is the current node3912 when the user has permission to view Geo data3913 when admin mode is enabled3914 when the ids argument is null3915 returns registries, in order3916 when the ids argument is present3917 returns the requested registries, in order3918 when the replication_state argument is present3919 returns registries with requested replication state, in order3920 with verification enabled3921 when the verification_state argument is present3922 returns registries with requested verification state, in order3923 with verification disabled3924 when the verification_state argument is present3925 raises ArgumentError (PENDING: Skipping because verification is enabled for Upload)3926 when admin mode is disabled3927 returns nothing3928 when the user does not have permission to view Geo data3929 returns nothing3930 when the parent object is not the current node3931 when the user has permission to view Geo data3932 returns nothing, because we can't query other nodes' tracking databases3933Gitlab::Search::IndexCurator3934 # order random3935 #rollover_index integration test3936 when write alias is not specified3937 creates another index and updates write alias3938 when write alias is already specified3939 creates another index and updates write alias3940 #should_skip_rollover?3941 should_ignore_index: false, too_few_docs: false, expected_value: false3942 returns correct value3943 should_ignore_index: true, too_few_docs: false, expected_value: true3944 returns correct value3945 should_ignore_index: false, too_few_docs: true, expected_value: true3946 returns correct value3947 should_ignore_index: true, too_few_docs: true, expected_value: true3948 returns correct value3949 #increment_index_name3950 returns an index name with number from last four digits incremented3951 starts a number suffix if one does not already exist3952 #read_indices3953 is a convenience method for indices(lifecycle: :read)3954 #indices3955 raises an ArgumentError if given an invalid lifecycle3956 lifecycle: :write, index_names: ["foo", "bar"], convenience_method: :write_indices3957 returns the correct indices from aliases3958 lifecycle: :read, index_names: ["foo", "baz"], convenience_method: :read_indices3959 returns the correct indices from aliases3960 lifecycle: :all, index_names: ["foo", "bar", "baz"], convenience_method: :indices3961 returns the correct indices from aliases3962 #todo3963 returns an array of indices that need to be rolled over and important info3964 #settings3965 has defaults3966 has dry_run on by default3967 when given an invalid setting3968 raises an ArgumentError3969 when specific values are passed3970 merges specific values3971 when max_docs_demoninator is <= 03972 raises an argument error3973 #should_ignore_index?3974 when index name matches one of the ignore patterns3975 returns true3976 when none of the ignore patterns match the index name3977 returns false3978 when index name matches one of the ignore pattern and also an include pattern3979 returns false3980 #write_indices3981 is a convenience method for indices(lifecycle: :write)3982 #too_few_docs?3983 when minimum threshold is not met3984 returns true3985 when minimum threshold is met3986 returns false3987 #preflight_checks!3988 migrations_disabled: false, pending_migrations: true, indexing_paused: false, should_fail: true3989 raises an ArgumentError if checks fail3990 migrations_disabled: false, pending_migrations: false, indexing_paused: true, should_fail: true3991 raises an ArgumentError if checks fail3992 migrations_disabled: false, pending_migrations: true, indexing_paused: true, should_fail: true3993 raises an ArgumentError if checks fail3994 migrations_disabled: false, pending_migrations: false, indexing_paused: false, should_fail: false3995 raises an ArgumentError if checks fail3996 migrations_disabled: true, pending_migrations: true, indexing_paused: false, should_fail: false3997 raises an ArgumentError if checks fail3998 migrations_disabled: true, pending_migrations: false, indexing_paused: true, should_fail: true3999 raises an ArgumentError if checks fail4000 migrations_disabled: true, pending_migrations: true, indexing_paused: true, should_fail: true4001 raises an ArgumentError if checks fail4002 migrations_disabled: true, pending_migrations: false, indexing_paused: false, should_fail: false4003 raises an ArgumentError if checks fail4004 #too_many_docs?4005 when document count is saturated4006 returns true4007 when document count is not saturated4008 returns false4009 .curate4010 calls curator.curate!4011 bubbles up errors4012 #primary_shard_size_too_big?4013 when pri.store.size value is greater than max size4014 returns true4015 when pri.store.size value is less than max size4016 returns false4017 #rollover_index4018 performs necessary steps to rollover an index4019 #client4020 is a Gitlab::Search::Client4021 #curate!4022 rolls over the indices that need to be rolled over4023 does not do any rollovers if preflight checks fail4024 when dry_run is enabled4025 does not do anything4026RemoteDevelopment::Workspaces::Reconcile::ReconcileProcessor Partial Update Scenarios4027 # order random4028 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]]4029 behaves as expected4030 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]]4031 behaves as expected4032 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]]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 expected4038SnippetsFinder4039 filter by project4040 returns all snippets for auditor users4041 filter by authorized snippet projects and authored personal4042 when no user4043 returns only public personal snippets4044 when user is not a member of any project4045 returns only user personal snippets4046 when the user is a member of a project4047 returns all the authorized project snippets and authored personal ones4048 returns all the authorized project snippets and authored personal ones4049 returns all the authorized project snippets and authored personal ones4050 returns all the authorized project snippets and authored personal ones4051 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 when user cannot read_cross_project4056 returns only user personal snippets4057 when the user is a member of a group4058 returns all the authorized project snippets and authored personal ones4059 returns all the authorized project snippets and authored personal ones4060 returns all the authorized project snippets and authored personal ones4061 returns all the authorized project snippets and authored personal ones4062 when param author is passed4063 when user is not a member of any project4064 returns only the author visible personal snippets to the user4065 when user is a member of a project4066 returns all the authorized project and personal snippets authored by the author4067 returns all the authorized project and personal snippets authored by the author4068 returns all the authorized project and personal snippets authored by the author4069 returns all the authorized project and personal snippets authored by the author4070 when only_personal is passed4071 returns only personal snippets4072 when only_project is passed4073 returns only project snippets4074 when no personal snippets are visible4075 does not return any record4076Jobs/Browser-Performance-Testing.gitlab-ci.yml4077 the created pipeline4078 has no errors4079 when variable is KUBECONFIG and not CI_KUBERNETES_ACTIVE4080 is present4081 on master4082 behaves like browser_performance job on tag or branch4083 by default4084 when BROWSER_PERFORMANCE_DISABLED4085 on another branch4086 behaves like browser_performance job on tag or branch4087 by default4088 when BROWSER_PERFORMANCE_DISABLED4089 on tag4090 behaves like browser_performance job on tag or branch4091 by default4092 when BROWSER_PERFORMANCE_DISABLED4093 on merge request4094 has no jobs4095GitlabSubscriptions::Reconciliations::CalculateSeatCountDataService4096 #execute4097 with no subscription4098 is expected to equal nil4099 when the max_seats_used has not been updated on the subscription4100 returns nil4101 when the subscription has expired4102 returns nil4103 when the subscription is a trial4104 returns nil4105 when conditions are not met4106 when it is not SaaS4107 is expected to equal nil4108 when namespace is not a group4109 is expected to equal nil4110 when the alert was dismissed4111 is expected to equal nil4112 when the user does not have admin rights to the group4113 is expected to equal nil4114 when the subscription is not eligible for usage alerts4115 is expected to equal nil4116 when max seats used are more than the subscription seats4117 is expected to equal nil4118 with threshold limits4119 when limits are not met4120 seats: 15, max_seats_used: 134121 is expected to equal nil4122 seats: 24, max_seats_used: 204123 is expected to equal nil4124 seats: 35, max_seats_used: 294125 is expected to equal nil4126 seats: 100, max_seats_used: 904127 is expected to equal nil4128 seats: 1000, max_seats_used: 9494129 is expected to equal nil4130 when limits are met4131 seats: 15, max_seats_used: 144132 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>1, :seats_in_use=>14, :total_seat_count=>15}4133 seats: 24, max_seats_used: 224134 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>2, :seats_in_use=>22, :total_seat_count=>24}4135 seats: 35, max_seats_used: 324136 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>3, :seats_in_use=>32, :total_seat_count=>35}4137 seats: 100, max_seats_used: 934138 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>7, :seats_in_use=>93, :total_seat_count=>100}4139 seats: 1000, max_seats_used: 9504140 is expected to eq {:namespace=>#<Group id:5119 @group1215>, :remaining_seat_count=>50, :seats_in_use=>950, :total_seat_count=>1000}4141LdapGroupResetService4142 #execute4143 initiated by ldap user4144 is expected to eq 504145 is expected to eq 104146 is expected to eq 504147 is expected to be nil4148 is expected to be nil4149 initiated by regular user4150 is expected to eq 104151 is expected to eq 104152 is expected to eq 504153 is expected to be nil4154 is expected to be nil4155Gitlab::LicenseScanning::PackageLicenses4156 # order random4157 #fetch4158 when querying compressed package metadata4159 and components to fetch are empty4160 is expected to be empty4161 and components to fetch are not empty4162 returns only the items that matched the fetched components4163 and we change the batch size4164 executes 1 query for each batch4165 does not query more than BATCH_SIZE component tuples at a time4166 still returns only the items that matched the fetched components4167 with load balancing enabled4168 uses the replica4169 when passing additional components to fetch4170 returns all the items that matched the fetched components4171 does not execute n+1 queries4172 when component is missing attributes4173 returns "unknown" license for all the matching components4174 when packages contain nil or empty licenses4175 returns "unknown" license for all the matching components4176 when no packages match the given criteria4177 name does not match4178 returns 'unknown' as the license4179 purl_type does not match4180 returns 'unknown' as the license4181 and the version is invalid4182 returns the default licenses4183 and the version does not match4184 returns the default licenses4185 when querying uncompressed package metadata4186 and components to fetch are empty4187 is expected to be empty4188 and components to fetch are not empty4189 returns only the items that matched the fetched components4190 and we change the batch size4191 executes 2 queries for each batch4192 does not query more than BATCH_SIZE component tuples at a time4193 still returns only the items that matched the fetched components4194 with load balancing enabled4195 uses the replica4196 when passing additional components to fetch4197 returns all the items that matched the fetched components4198 does not execute n+1 queries4199 when component is missing attributes4200 returns all the items that matched the fetched components with unknown licenses4201 when no packages match the given criteria4202 name does not match4203 returns 'unknown' as the license4204 purl_type does not match4205 returns 'unknown' as the license4206 version does not match4207 returns 'unknown' as the license4208Elastic::Latest::GitClassProxy4209 # order random4210 fetches the results considering new and old format of rid4211Sidebars::Projects::Menus::IssuesMenu4212 #render?4213 when user cannot read issues and Jira is not enabled4214 is expected to eq false4215 when user cannot read issues but Jira is enabled4216 is expected to eq true4217 when Jira is not enabled but user can read issues4218 is expected to eq true4219 Iterations4220 when licensed feature iterations is not enabled4221 does not include iterations menu item4222 when licensed feature iterations is enabled4223 when user can read iterations4224 includes iterations menu item4225 when project is namespaced to a user4226 does not include iterations menu item4227 when user cannot read iterations4228 does not include iterations menu item4229 Requirements4230 when licensed feature requirements is not enabled4231 does not include requirements menu item4232 when licensed feature requirements is enabled4233 when user can read requirements4234 includes requirements menu item4235 when user cannot read requirements4236 does not include requirements menu item4237 Jira issues4238 when issue tracker is not Jira4239 does not include Jira issues menu items4240 when issue tracker is Jira4241 when issues integration is disabled4242 does not include Jira issues menu items4243 when issues integration is enabled4244 includes Jira issues menu items4245 Zentao issues4246 when Zentao integration is enabled4247 when Issues feature is enabled4248 includes Zentao issues menu items4249 when Issues feature is disabled4250 includes Zentao issues menu items4251 when Zentao integration is disabled4252 when Issues feature is disabled4253 does not include Zentao issues menu items4254Resolvers::Geo::SnippetRepositoryRegistriesResolver4255 behaves like a Geo registries resolver4256 #resolve4257 when the parent object is the current node4258 when the user has permission to view Geo data4259 when admin mode is enabled4260 when the ids argument is null4261 returns registries, in order4262 when the ids argument is present4263 returns the requested registries, in order4264 when the replication_state argument is present4265 returns registries with requested replication state, in order4266 with verification enabled4267 when the verification_state argument is present4268 returns registries with requested verification state, in order4269 with verification disabled4270 when the verification_state argument is present4271 raises ArgumentError (PENDING: Skipping because verification is enabled for SnippetRepository)4272 when admin mode is disabled4273 returns nothing4274 when the user does not have permission to view Geo data4275 returns nothing4276 when the parent object is not the current node4277 when the user has permission to view Geo data4278 returns nothing, because we can't query other nodes' tracking databases4279AppSec::Dast::Profiles::CreateService4280 execute4281 when on demand scan licensed feature is not available4282 communicates failure4283 when the feature is enabled4284 communicates success4285 creates a dast_profile4286 audits the creation4287 when param run_after_create: true4288 creates a ci_pipeline4289 behaves like it delegates scan creation to another service4290 calls AppSec::Dast::Scans::CreateService4291 when param dast_profile_schedule is present4292 creates the dast_profile_schedule4293 responds with dast_profile_schedule4294 audits the creation4295 when invalid schedule it present4296 rollback the transaction4297 returns the error service response4298 when a param is missing4299 communicates failure4300 when param tag_list is present4301 creates a dast_profile with tags4302 when there is a invalid tag4303 does not create a new dast_profile4304 returns an error status4305 populates message4306 when feature flag on_demand_scans_runner_tags is disabled4307 returns a success status4308 creates a dast_profile ignoring the tags4309Snippet4310 always returns global result for Elasticsearch indexing for #use_elasticsearch?4311 searches snippets by title and description4312 names elasticsearch queries4313 returns json with all needed elements4314 uses same index for Snippet subclasses4315ProjectImportScheduleWorker4316 #perform4317 behaves like an idempotent worker4318 is labeled as idempotent4319 performs multiple times sequentially without raising an exception4320 does nothing if the database is read-only4321 schedules an import for a project4322 tracks the status of the worker4323 project is not found4324 does not fail4325 logs the error4326 project does not have import state4327 does not fail4328 logs the error4329 when project does not support mirroring4330 marks a project hard failed4331 does not send a notification4332 changes the capacity4333 logs the error4334AuditEventFinder4335 #execute4336 scoping the results4337 when project level4338 finds all project events4339 when group level4340 finds all group events4341 when instance level4342 finds all instance level events4343 when invalid level4344 raises exception4345 filtering by entity_id4346 no entity_type provided4347 behaves like no filtering4348 finds all the events4349 invalid entity_id4350 ignores entity_id and returns all events for given entity_type4351 User Event4352 behaves like finds the right event4353 finds the right event4354 Project Event4355 behaves like finds the right event4356 finds the right event4357 Group Event4358 behaves like finds the right event4359 finds the right event4360 filtering by entity_type4361 User Event4362 finds the right user event4363 Project Event4364 finds the right project event4365 Group Event4366 finds the right group event4367 invalid entity types4368 blank entity_type4369 behaves like no filtering4370 finds all the events4371 invalid entity_type4372 behaves like no filtering4373 finds all the events4374 filtering by author_id4375 no author_id provided4376 behaves like no filtering4377 finds all the events4378 invalid author_id4379 ignores author_id and returns all events irrespective of entity_type4380 Group Event4381 behaves like finds the right event4382 finds the right event4383 Project Event4384 behaves like finds the right event4385 finds the right event4386 filtering by created_at4387 through created_after4388 returns events created on or after the given date4389 through created_before4390 returns events created on or before the given date4391 through created_after and created_before4392 returns events created between the given dates4393 filtering by entity_username4394 User Event4395 finds the right event4396 filtering by author_username4397 username is too short4398 ignores author_username and returns all events irrespective of entity_type4399 username is too long4400 ignores author_username and returns all events irrespective of entity_type4401 Instance Event4402 finds all the events the user authored4403 Group Event4404 behaves like finds the right event4405 finds the right event4406 Project Event4407 behaves like finds the right event4408 finds the right event4409 #find_by!4410 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:52:29.282189002 +0000", target_type: "User", target_id: 2808>4411 non-existent id provided4412 raises exception4413Mutations::Projects::SetLocked4414 #resolve4415 raises an error if the resource is not accessible to the user4416 when the user can lock the file4417 when file_locks feature is not available4418 raises an error4419 when file is not locked4420 sets path locks for the project4421 when file is already locked4422 does not change the lock4423 when LFS is enabled4424 locks the file in LFS4425 when file is not tracked in LFS4426 does not lock the file4427 when locking a directory4428 locks the directory4429 does not locks the directory through LFS4430 when the user can unlock the file4431 when file is already locked by the same user4432 unlocks the file4433 when file is already locked by somebody else4434 returns an error4435 when file is not locked4436 does nothing4437 when LFS is enabled4438 when file is locked4439 unlocks the file4440 unlocks the file in LFS4441 when file is not tracked in LFS4442 does not unlock the file4443 when unlocking a directory4444 unlocks the directory4445 does not call the LFS unlock service4446Security/BAS.latest.gitlab-ci.yml4447 # order random4448 the created pipeline4449 behaves like acts as branch pipeline4450 when branch pipeline4451 includes a job4452 behaves like acts as MR pipeline4453 when MR pipeline4454 includes a job4455 when DAST_BAS_DISABLED=true4456 behaves like acts as branch pipeline4457 when branch pipeline4458 includes a job4459 behaves like acts as MR pipeline4460 when MR pipeline4461 includes a job4462 when DAST_BAS_DISABLED=14463 behaves like acts as branch pipeline4464 when branch pipeline4465 includes a job4466 behaves like acts as MR pipeline4467 when MR pipeline4468 includes a job4469 when CI_OPEN_MERGE_REQUESTS is set4470 skips branch pipelines when an open MR exists4471Groups::DestroyService4472 audit events4473 when licensed4474 does not log audit event if operation fails4475 does not log audit event if operation results in no change4476 when operation succeeds4477 logs an audit event4478 logs the audit event info4479 calls the audit method with the event type4480 when not licensed4481 does not log audit event4482 streaming audit event for sub group4483 sends the audit streaming event with json format4484 dependency_proxy_blobs4485 destroys the dependency proxy blobs4486 when on a Geo primary node4487 calls replicator to update Geo4488 when group_wiki_repository does not exist4489 does not call replicator to update Geo4490 when not on a Geo primary node4491 does not call replicator to update Geo4492 when group epics have parent epic outside of group4493 schedules cache update for associated epics in batches4494Dast::SiteProfileSecretVariable4495 behaves like CI variable4496 is expected to includes the Ci::HasVariable module4497 strips whitespaces when assigning key4498 can convert to runner variable4499 variable type4500 defines variable types4501 defaults variable type to env_var4502 supports variable type file4503 associations4504 is expected to belong to dast_site_profile required: false4505 validations4506 is expected to be valid4507 is expected to includes the Ci::Maskable module4508 is expected to includes the Ci::HasVariable module4509 is expected to validate that :dast_site_profile_id cannot be empty/falsy4510 is expected to validate that :masked is ‹true›4511 is expected to validate that :key is case-sensitively unique within the scope of :dast_site_profile_id, producing a custom validation error on failure4512 only allows records where variable_type=env_var4513 #value4514 when the value is over the limit4515 is not valid4516 raises a database level error4517 when value at the maximum value4518 is valid4519 does not raise database level error4520 when value at the minimum value4521 is valid4522 does not raise database level error4523 when value is under the limit4524 is not valid4525 #masked4526 defaults to true4527 #project4528 delegates to dast_site_profile4529 #raw_value=4530 pre-encodes the value4531 #value=4532 raises an error because #raw_value= should be used instead4533 #variable_type4534 defaults to env_var4535Gitlab::AlertManagement::Payload::Generic4536 attributes4537 with multiple HTTP integrations feature available4538 with defined custom mapping4539 #title4540 is expected to eq "mapped title"4541 #description4542 is expected to eq "mapped description"4543 #starts_at4544 is expected to eq 2023-05-28 06:52:52.000000000 +00004545 #ends_at4546 is expected to eq 2023-05-29 06:52:52.000000000 +00004547 #service4548 is expected to eq "mapped service"4549 #monitoring_tool4550 is expected to eq "mapped monitoring tool"4551 #host4552 is expected to eq ["mapped-host"]4553 #severity4554 is expected to eq :high4555 #environment_name4556 is expected to eq "mapped gitlab environment"4557 #gitlab_fingerprint4558 is expected to eq "72f50630d84fe9d345da6df011389f207240e8f2"4559 with only some attributes defined in custom mapping4560 #title4561 uses the value defined by the custom mapping4562 #description4563 falls back to the default value4564 when the payload has no default generic attributes4565 #title4566 is expected to eq "mapped title"4567 #description4568 is expected to eq "mapped description"4569 with inactive HTTP integration4570 behaves like parsing alert payload fields with default paths4571 #title4572 is expected to eq "default title"4573 #description4574 is expected to eq "default description"4575 #starts_at4576 is expected to eq 2023-05-23 06:52:52.000000000 +00004577 #ends_at4578 is expected to eq 2023-05-24 06:52:52.000000000 +00004579 #service4580 is expected to eq "default service"4581 #monitoring_tool4582 is expected to eq "default monitoring tool"4583 #host4584 is expected to eq ["default-host"]4585 #severity4586 is expected to eq :low4587 #environment_name4588 is expected to eq "default gitlab environment"4589 #gitlab_fingerprint4590 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4591 with blank custom mapping4592 behaves like parsing alert payload fields with default paths4593 #title4594 is expected to eq "default title"4595 #description4596 is expected to eq "default description"4597 #starts_at4598 is expected to eq 2023-05-23 06:52:52.000000000 +00004599 #ends_at4600 is expected to eq 2023-05-24 06:52:52.000000000 +00004601 #service4602 is expected to eq "default service"4603 #monitoring_tool4604 is expected to eq "default monitoring tool"4605 #host4606 is expected to eq ["default-host"]4607 #severity4608 is expected to eq :low4609 #environment_name4610 is expected to eq "default gitlab environment"4611 #gitlab_fingerprint4612 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4613 with multiple HTTP integrations feature unavailable4614 behaves like parsing alert payload fields with default paths4615 #title4616 is expected to eq "default title"4617 #description4618 is expected to eq "default description"4619 #starts_at4620 is expected to eq 2023-05-23 06:52:52.000000000 +00004621 #ends_at4622 is expected to eq 2023-05-24 06:52:52.000000000 +00004623 #service4624 is expected to eq "default service"4625 #monitoring_tool4626 is expected to eq "default monitoring tool"4627 #host4628 is expected to eq ["default-host"]4629 #severity4630 is expected to eq :low4631 #environment_name4632 is expected to eq "default gitlab environment"4633 #gitlab_fingerprint4634 is expected to eq "42abfa82e551c154943dcdabd76941570824b426"4635 #gitlab_fingerprint4636 with fingerprint defined in payload4637 is expected to eq "b5448ce070e8ff567c4870e9fe0aeba3c0a98330"4638 license feature enabled4639 is expected to eq "47f84c5bce23005e1fe14386459f9e4425333248"4640 payload has no values4641 is expected to be nil4642 license feature not enabled4643 is expected to be nil4644Gitlab::Ci::Reports::Security::Locations::ContainerScanning4645 behaves like vulnerability location4646 #initialize4647 when all params are given4648 initializes an instance4649 param: :image4650 when param image is missing4651 raises an error4652 param: :operating_system4653 when param operating_system is missing4654 raises an error4655 #fingerprint4656 generates expected fingerprint4657 #fingerprint_path4658 generates expected fingerprint4659 #==4660 returns true when fingerprints are equal4661 returns false when fingerprints are different4662 fingerprint4663 image: "alpine:3.7.3", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:3.7.3:glibc"4664 is expected to eq "ae8d425953666250ab218c455f5d54f6f19f489b"4665 image: "alpine:3.7", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:3.7:glibc"4666 is expected to eq "84a9e34a3dd7427dcade5631531799b319fd8056"4667 image: "alpine:8101518288111119448185914762536722131810", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:glibc"4668 is expected to eq "7c97a55a23ea386c3008bf083ab3ce2aaa2696b1"4669 image: "alpine:1.0.0-beta", default_branch_image: nil, valid_default_branch_image: false, expected_fingerprint_input: "alpine:1.0.0-beta:glibc"4670 is expected to eq "33616b1c5f27c5f74f23d91da6801d18cf9368d9"4671 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"4672 is expected to eq "411b840c0fffb802072190333cfe95bade463d41"4673 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"4674 is expected to eq "0f9d320fb6879532194b33ae160e527a408721ee"4675 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"4676 is expected to eq "7637ed90aa408c1645f7b18a8b34645ce85eb0f5"4677 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"4678 is expected to eq "4360c022f3d51b4ac733b7c9fd39d872561678ae"4679 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"4680 is expected to eq "4360c022f3d51b4ac733b7c9fd39d872561678ae"4681 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"4682 is expected to eq "abf8a4808377f971528976d5f52f072feb3e3cfd"4683 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"4684 is expected to eq "8c7bd47107301997d5af637db2cf0d2bed0ea2c6"4685Sbom::DependenciesFinder4686 # order random4687 with project4688 without params4689 returns the dependencies associated with the project ordered by id4690 with params4691 when sorted asc by names4692 returns array of data properly sorted4693 when sorted desc by names4694 returns array of data properly sorted4695 when sorted asc by packager4696 returns array of data properly sorted4697 when sorted desc by packager4698 returns array of data properly sorted4699 when filtered by package name npm4700 returns only records with packagers related to npm4701 when filtered by component name4702 returns only records corresponding to the filter4703 when params is invalid4704 returns the dependencies associated with the project ordered by id4705 with subgroup4706 without params4707 returns the dependencies associated with the project ordered by id4708 with params4709 when sorted asc by names4710 returns array of data properly sorted4711 when sorted desc by names4712 returns array of data properly sorted4713 when sorted asc by packager4714 returns array of data properly sorted4715 when sorted desc by packager4716 returns array of data properly sorted4717 when filtered by package name npm4718 returns only records with packagers related to npm4719 when filtered by component name4720 returns only records corresponding to the filter4721 when params is invalid4722 returns the dependencies associated with the project ordered by id4723 with group4724 without params4725 returns the dependencies associated with the project ordered by id4726 with params4727 when sorted asc by names4728 returns array of data properly sorted4729 when sorted desc by names4730 returns array of data properly sorted4731 when sorted asc by packager4732 returns array of data properly sorted4733 when sorted desc by packager4734 returns array of data properly sorted4735 when filtered by package name npm4736 returns only records with packagers related to npm4737 when filtered by component name4738 returns only records corresponding to the filter4739 when params is invalid4740 returns the dependencies associated with the project ordered by id4741Geo::MetricsUpdateWorker4742 #perform4743 is labeled as idempotent4744 performs multiple times sequentially without raising an exception4745 delegates to MetricsUpdateService4746Resolvers::Ci::CodeCoverageActivitiesResolver4747 is expected to eq Types::Ci::CodeCoverageActivityType4748 is expected to be truthy4749 #resolve4750 when group has projects with coverage4751 returns coverage activity for the group4752 when group has projects without coverage4753 returns an empty collection4754 when coverage is included within start date4755 returns coverage from the start_date4756 when coverage is not included within start date4757 returns an empty collection4758IssueLink4759 callbacks4760 .after_create_commit4761 with TYPE_BLOCKS relation4762 updates blocking issues count4763 with TYPE_RELATES_TO4764 does not update blocking_issues_count4765 .after_destroy_commit4766 with TYPE_BLOCKS relation4767 updates blocking issues count4768 with TYPE_RELATES_TO4769 does not update blocking_issues_count4770 behaves like issuables that can block or be blocked4771 .issuable_type4772 is expected to eq :issue4773 .inverse_link_type4774 returns the inverse type of link4775 .blocked_issuable_ids4776 returns only ids of issues which are blocked4777 .blocking_issuables_ids_for4778 returns blocking issuables ids4779 blocking issuables count4780 .blocking_issuables_for_collection4781 returns blocking issues count grouped by issue id4782 .blocked_issuables_for_collection4783 returns blocked issues count grouped by issue id4784 .blocking_issuables_count_for4785 returns blocked issues count for single issue4786Gitlab::Geo::RegistryBatcher4787 #next_range!4788 when there are no records4789 is expected to be nil4790 when there are no records but there are orphaned destination_records4791 when it has never been called before4792 is expected to be a kind of Range4793 starts from the beginning4794 ends at a full batch4795 when the batch size is greater than the number of destination_records4796 ends at the last ID4797 when it was called before4798 when the previous batch included the end of the table4799 starts from the beginning4800 when the previous batch did not include the end of the table4801 starts after the previous batch4802 if cache is cleared4803 starts from the beginning4804 when there are records4805 when it has never been called before4806 is expected to be a kind of Range4807 starts from the beginning4808 ends at a full batch4809 when the batch size is greater than the number of records4810 ends at the last ID4811 when it was called before4812 when the previous batch included the end of the table4813 starts from the beginning4814 when the previous batch did not include the end of the table4815 starts after the previous batch4816 if cache is cleared4817 starts from the beginning4818 when there are records and orphaned destination_records with foreign key greater than last record id4819 when it has never been called before4820 is expected to be a kind of Range4821 starts from the beginning4822 ends at the last destination foreign key ID4823 when it was called before4824 starts from the beginning4825 if cache is cleared4826 starts from the beginning4827Mutations::Security::Finding::CreateMergeRequest4828 # order random4829 #resolve4830 when a user is not logged in4831 raises an error4832 when the current user does not have access to the project4833 raises an error4834 when the current user is a maintainer of the project4835 creates a new merge request4836 returns a valid response4837 when the security finding uuid is not provided4838 returns an error4839 when the security finding uuid is unknown4840 returns an error4841 when the metadata does not include a name4842 generates a title4843 when the current user is not able to create merge requests4844 returns an error4845Ai::Project::Conversations4846 # order random4847 #ci_config_messages4848 when the user cannot create a pipeline for the project4849 returns no messages4850 when the user can create a pipeline for the project4851 returns the conversation messages in order4852 #ci_config_chat_enabled?4853 licensed_feature_available: true, feature_enabled: true, ai_experiments_enabled: true, expected_result: true4854 returns the features availability4855 licensed_feature_available: true, feature_enabled: true, ai_experiments_enabled: false, expected_result: false4856 returns the features availability4857 licensed_feature_available: true, feature_enabled: false, ai_experiments_enabled: true, expected_result: false4858 returns the features availability4859 licensed_feature_available: false, feature_enabled: true, ai_experiments_enabled: true, expected_result: false4860 returns the features availability4861 licensed_feature_available: false, feature_enabled: false, ai_experiments_enabled: false, expected_result: false4862 returns the features availability4863 licensed_feature_available: true, feature_enabled: false, ai_experiments_enabled: false, expected_result: false4864 returns the features availability4865 licensed_feature_available: false, feature_enabled: false, ai_experiments_enabled: true, expected_result: false4866 returns the features availability4867 licensed_feature_available: false, feature_enabled: true, ai_experiments_enabled: false, expected_result: false4868 returns the features availability4869WorkItems::UpdateService4870 #execute4871 behaves like work item widgetable service4872 executes callbacks for expected widgets4873 when updating widgets4874 for the weight widget4875 when weight is changed4876 triggers 'issuableWeightUpdated' for issuable weight update subscription4877 when weight remains unchanged4878 does not trigger 'issuableWeightUpdated' for issuable weight update subscription4879 when weight widget param is not provided4880 does not trigger 'issuableWeightUpdated' for issuable weight update subscription4881 for the iteration widget4882 when iteration is changed4883 triggers 'issuableIterationUpdated' for issuable iteration update subscription4884 when iteration remains unchanged4885 does not trigger 'issuableIterationUpdated' for issuable iteration update subscription4886 when iteration widget param is not provided4887 does not trigger 'issuableIterationUpdated' for issuable iteration update subscription4888 for the health_status widget4889 when health_status is changed4890 triggers 'issuableHealthStatusUpdated' subscription4891 when health_status remains unchanged4892 does not trigger 'issuableHealthStatusUpdated' subscription4893 when health_status widget param is not provided4894 does not trigger 'issuableHealthStatusUpdated' subscription4895Analytics::MergeRequestMetricsCalculator4896 #productivity_data4897 calculates productivity data4898 #first_comment_at4899 returns first non-author comment4900 #first_approved_at4901 returns first approval creation timestamp4902 #first_reassigned_at4903 returns earliest non-author assignee creation timestamp4904Llm::ExecuteMethodService4905 # order random4906 #execute4907 with a valid method4908 method: :summarize_comments, resource: nil, service_class: Llm::GenerateSummaryService4909 calls the correct service4910 method: :explain_code, resource: #<Project id:1003 namespace1/project-1>>, service_class: Llm::ExplainCodeService4911 calls the correct service4912 method: :explain_vulnerability, resource: #<Vulnerability id:1008 [vulnerability:namespace2/project-2/1008]>, service_class: Llm::ExplainVulnerabilityService4913 calls the correct service4914 when service returns an error4915 returns an error4916 with an invalid method4917 is expected to be error and have attributes {:message => (eq "Unknown method")}4918 with snowplow events4919 when resource is an issue4920 behaves like successful tracking4921 tracks a snowplow event4922 when resource is a project4923 behaves like successful tracking4924 tracks a snowplow event4925 when resource is a group4926 behaves like successful tracking4927 tracks a snowplow event4928 when resource is an epic4929 behaves like successful tracking4930 tracks a snowplow event4931 when resource is a user4932 behaves like successful tracking4933 tracks a snowplow event4934 when service responds with an error4935 behaves like successful tracking4936 tracks a snowplow event4937Gitlab::Llm::ContentParser4938 # order random4939 #parse_and_split4940 calls #parse_content_and_metadata4941 when the content is less than the maximum characters4942 returns the full content4943 when the content is more than the maximum characters per slice4944 does not return any items4945 when slices are more than the minimum char length4946 does not return any items4947 when the last slice is less than the minimum4948 throws away the last slice4949 with newlines4950 splits according to newlines and then characters4951 when the block is smaller than the minimum char length4952 splits according to newlines and then characters4953 #title4954 content: "# A title\n", title: "A title"4955 returns the correct title4956 content: "\n# A title\n", title: "A title"4957 returns the correct title4958 content: "## A subtitle\n", title: "A subtitle"4959 returns the correct title4960 content: "# A title **(PREMIUM SELF)**\n", title: "A title"4961 returns the correct title4962 content: "A title\n", title: nil4963 returns the correct title4964 content: "# A title", title: nil4965 returns the correct title4966 content: "# A title **(PREMIUM SELF)**", title: nil4967 returns the correct title4968 #parse_content_and_metadata4969 returns title, source, source_type and url4970 when content contains metadata4971 extracts metadata from the content4972 #url4973 returns the correct url4974 returns nil if the source is not doc4975AuditEvents::ExportCsvService4976 includes the appropriate headers4977 data verification4978 ID4979 Author ID4980 Author Name4981 Author Email4982 Entity ID4983 Entity Type4984 Entity Path4985 Target ID4986 Target Type4987 Target Details4988 Action4989 IP Address4990 Created At (UTC)4991 when the author user has been deleted4992 returns CSV without error4993 with preloads4994 preloads fields to avoid N+1 queries4995Quality::Seeders::Vulnerabilities4996 # order random4997 when project has no members4998Skipping this project because it has no users does not create vulnerabilities on project4999 when project has members5000.............................. creates expected number of vulnerabilities5001Groups::FeatureSetting5002 default values5003 is expected to eq 205004 #feature_available?5005 when features are disabled5006 returns false5007 when features are enabled only for group members5008 returns false when user is not a group member5009 returns true when user is a group member5010 when admin mode is enabled5011 returns true if user is an admin5012 when admin mode is disabled5013 returns false when user is an admin5014 when feature is enabled for everyone5015 returns true5016 when feature has any other value5017 returns false5018 wiki_access_level=5019 when passing a string5020 updates the attribute as expected5021 updates the attribute as expected5022 updates the attribute as expected5023 when passing an integer5024 updates the attribute as expected5025 updates the attribute as expected5026 updates the attribute as expected5027 when passing a string containing the integer value5028 updates the attribute as expected5029 updates the attribute as expected5030 updates the attribute as expected5031 when passing an invalid value5032 does not update the attribute5033 does not update the attribute5034Mutations::ComplianceManagement::Frameworks::Create5035 #resolve5036 feature is unlicensed5037 does not create a new compliance framework5038 returns useful error messages5039 feature is licensed5040 current_user is not group namespace owner5041 does not create a new compliance framework5042 returns useful error messages5043 current_user is group owner5044 creates a new compliance framework5045 current_user is personal namespace owner5046 framework parameters are valid5047 does not create a new compliance framework5048 namespace does not exist5049 returns useful error messages5050 framework parameters are invalid5051 does not create a new compliance framework5052 returns useful error messages5053Geo::VerificationWorker5054 #perform5055 calls verify5056 when on a primary node5057 behaves like an idempotent worker5058 is labeled as idempotent5059 performs multiple times sequentially without raising an exception5060 calculates the checksum5061TimeboxesHelper5062 #can_generate_chart?5063 supports_milestone_charts: false, start_date: nil, due_date: nil, can_generate_chart: false5064 is expected to eq false5065 supports_milestone_charts: true, start_date: Fri, 02 Jun 2023, due_date: Fri, 02 Jun 2023, can_generate_chart: true5066 is expected to eq true5067 supports_milestone_charts: true, start_date: Fri, 02 Jun 2023, due_date: nil, can_generate_chart: false5068 is expected to eq false5069 supports_milestone_charts: true, start_date: nil, due_date: Fri, 02 Jun 2023, can_generate_chart: false5070 is expected to eq false5071 supports_milestone_charts: true, start_date: nil, due_date: nil, can_generate_chart: false5072 is expected to eq false5073 #timebox_date_range5074 iteration5075 formats properly5076 #show_burndown_placeholder?5077 milestone does not support burndown charts5078 is expected to equal false5079 user without permission5080 is expected to equal false5081 user with permission5082 is expected to equal true5083 #legacy_milestone?5084 without any ResourceStateEvents5085 is expected to be nil5086 with ResourceStateEvent created before milestone5087 is expected to eq false5088 with ResourceStateEvent created same day as milestone5089 is expected to eq false5090 with ResourceStateEvent created after milestone5091 is expected to eq true5092 #recent_releases_with_counts5093 hides private release5094 when user is nil5095 hides private release5096 when user has access to the project5097 returns both releases5098IncidentManagement::IssuableResourceLinksFinder5099 # order random5100 #execute5101 when feature is available5102 when user has permissions5103 returns issuable resource links5104 when incident is nil5105 is expected to eq #<ActiveRecord::Relation []>5106 when user has no permissions5107 is expected to eq #<ActiveRecord::Relation []>5108 when feature is not available5109 is expected to eq #<ActiveRecord::Relation []>5110Iterations::Cadences::DestroyService5111 #execute5112 when iterations feature enabled5113 when user is authorized5114 is expected to be success5115 destroys the cadence and associated records5116 returns the cadence as part of the response5117 when user is not authorized5118 behaves like cadence destroy fails with message5119 is expected to be error5120 returns not allowed message5121 when iterations feature disabled5122 when user is authorized5123 behaves like cadence destroy fails with message5124 is expected to be error5125 returns not allowed message5126 when user is not authorized5127 behaves like cadence destroy fails with message5128 is expected to be error5129 returns not allowed message5130AlertManagement::ProcessPrometheusAlertService5131 #execute5132 when alert payload is valid5133 behaves like does not create or delete any escalations5134 is expected to not change `IncidentManagement::PendingEscalations::Alert.count` and not change `IncidentManagement::PendingEscalations::Issue.count`5135 with escalation policies feature enabled5136 is expected to receive perform_async(a kind of Integer) 1 time5137 with an existing alert5138 behaves like does not create or delete any escalations5139 is expected to not change `IncidentManagement::PendingEscalations::Alert.count` and not change `IncidentManagement::PendingEscalations::Issue.count`5140 with resolving payload5141 is expected to change `target.pending_escalations.reload.count` from 1 to 05142 with HTTP integration provided5143 ignores the custom mapping5144 with custom mappings feature enabled5145 respects the custom mapping5146Gitlab::Prometheus::Queries::AdditionalMetricsDeploymentQuery5147 queries using specific time5148 with custom metrics5149 without common metrics5150 return group data for custom metric5151 with common metrics5152 return group data for custom metric5153Elastic::IndexingControlService5154 .initialize5155 raises an exception when passed wrong worker5156 .add_to_waiting_queue!5157 calls an instance method5158 .has_jobs_in_waiting_queue?5159 calls an instance method5160 .resume_processing!5161 calls an instance method5162 .queue_size5163 reports the queue size5164 #add_to_waiting_queue!5165 adds a job to the set5166 adds only one unique job to the set5167 only stores `project` context information5168 #has_jobs_in_waiting_queue?5169 checks set existence5170 #resume_processing!5171 puts jobs back into the queue and respects order5172 drops a set after execution5173 concurrent changes to different queues5174 allows to use queues independently of each other5175GitlabSubscriptions::Trials::ApplyTrialWorker5176 # order random5177 #perform5178 when valid to generate a trial5179 when trial is successfully applied5180 is labeled as idempotent5181 performs multiple times sequentially without raising an exception5182 executes apply trial and is successful5183 when not successful in generating a trial5184 executes apply trial and has an error5185 when not valid to generate a trial5186 without namespace_id5187 does not apply the trial and logs an error5188 when namespace does not exist5189 does not apply the trial and logs an error5190Gitlab::Geo::GeoTasks5191 .set_primary_geo_node5192 sets the primary node5193 returns error when there is already a Primary node5194 .set_secondary_as_primary5195 aborts if the primary node is not set5196 aborts if current node is not identified5197 does nothing if run on a node that is not a secondary5198 sets the secondary as the primary node5199 sets the secondary as the primary node, even if the secondary is disabled5200Resolvers::Iterations::CadencesResolver5201 #resolve5202 iterations cadences for project5203 behaves like fetches iteration cadences5204 when user does not have permissions to read iterations cadences5205 generates an error5206 when user has permissions to read iterations cadences5207 returns iterations cadences from group5208 iteration cadences by id5209 returns iterations cadence by global id5210 when project does not have a parent group5211 generates an error5212 iterations cadences for group5213 behaves like fetches iteration cadences5214 when user does not have permissions to read iterations cadences5215 generates an error5216 when user has permissions to read iterations cadences5217 returns iterations cadences from group5218 iteration cadences by id5219 returns iterations cadence by global id5220SAST-IaC.gitlab-ci.yml5221 the created pipeline5222 when project has no license5223 when SAST_DISABLED=15224 includes no jobs5225 by default5226 creates a pipeline with the expected jobs5227Mutations::DastScannerProfiles::Create5228 is expected to require graphql authorizations :create_on_demand_dast_scan5229 #resolve5230 when the project does not exist5231 raises an exception5232 when the user can run a dast scan5233 returns the dast_scanner_profile id5234 returns the complete dast_scanner_profile5235 calls the dast_scanner_profile creation service5236 when the dast_scanner_profile already exists5237 returns an error5238Types::DastScannerProfileType5239 is expected to eq "DastScannerProfile"5240 is expected to require graphql authorizations :read_on_demand_dast_scan5241 is expected to have graphql fields :id, :profileName, :spiderTimeout, :targetTimeout, :editPath, :scanType, :useAjaxSpider, :showDebugMessages, :referencedInSecurityPolicies, and :tagList5242 dast_scanner_profiles5243 profile_name field5244 is expected to eq "Audible Component 2e7d55b3 - 2"5245 when security policies are enabled5246 only calls Gitaly twice when multiple profiles are present5247Gitlab::StatusPage::Storage::S3Client5248 # order random5249 #recursive_delete5250 when successful5251 sends keys for batch delete5252 returns true5253 list_object exeeds upload limit5254 respects upload limit5255 when list_object returns no objects5256 does not attempt to delete5257 when failed5258 raises an error5259 #list_object_keys5260 when successful5261 returns keys from bucket5262 when exceeds upload limits5263 returns result at max size5264 when list_object returns no objects5265 returns an empty set5266 when failed5267 raises an error5268 #delete_object5269 returns true5270 when failed5271 raises an error5272 #upload_object5273 when successful5274 returns true5275 when failed5276 raises an error5277Geo::SecondaryUsageDataCronWorker5278 uses a cronjob queue5279 does not run for primary nodes5280 calls SecondaryUsageData update metrics when it obtains the lease5281 does not update metrics if it does not obtain the lease5282Resolvers::ExternalIssueResolver5283 when Jira issues are requested5284 when Jira API responds with nil5285 sends request to Jira to fetch issues5286 returns nil5287 when Jira API responds with found issues5288 sends request to Jira to fetch issues5289 returns serialized Jira issues5290 when Jira API responds with an integration error5291 generates an error5292 when Jira API responds with an request error5293 generates an error5294IncidentManagement::PendingEscalations::Alert5295 # order random5296 #type5297 is expected to eq :alert5298 .class_for_check_worker5299 is expected to eq IncidentManagement::PendingEscalations::AlertCheckWorker5300 #escalatable5301 is expected to eq #<AlertManagement::Alert id: namespace1191/project-1302^alert#>5302 shared pending escalation features5303 is expected to be valid5304 validations5305 is expected to validate that :process_at cannot be empty/falsy5306 is expected to validate that :rule_id cannot be empty/falsy5307 is expected to delegate #project to the #alert object5308 is expected to validate that :rule_id is case-sensitively unique within the scope of :alert_id5309 associations5310 is expected to belong to alert required: false5311 is expected to belong to rule required: false5312 scopes5313 with escalations scheduled for various times5314 .processable5315 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:54:11.498600413 +0000", updated_at: "2023-06-02 06:54:11.498600413 +0000"> and #<IncidentManagement::PendingEscalations::Alert id: 6, rule_id: 8, alert_id: 10, process_at: "2023-05...reated_at: "2023-06-02 06:54:11.511323742 +0000", updated_at: "2023-06-02 06:54:11.511323742 +0000">5316 .upcoming5317 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:54:11.498600413 +0000", updated_at: "2023-06-02 06:54:11.498600413 +0000">, #<IncidentManagement::PendingEscalations::Alert id: 6, rule_id: 8, alert_id: 10, process_at: "2023-05...reated_at: "2023-06-02 06:54:11.511323742 +0000", updated_at: "2023-06-02 06:54:11.511323742 +0000">, and #<IncidentManagement::PendingEscalations::Alert id: 7, rule_id: 8, alert_id: 11, process_at: "2023-06...reated_at: "2023-06-02 06:54:11.525993471 +0000", updated_at: "2023-06-02 06:54:11.525993471 +0000">5318 .for_target5319 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:54:11.936701483 +0000", updated_at: "2023-06-02 06:54:11.936701483 +0000">5320 .delete_by_target5321 removes the escalations for the provided target(s)5322Mutations::Epics::Update5323 #resolve5324 when the user is a group member5325 with guest role5326 behaves like epic mutation for user without access5327 when the user does not have access to the resource5328 raises an error5329 even if author of the epic5330 raises an error5331 even if assigned to the epic5332 raises an error5333 even if maintainer of the project5334 raises an error5335 with reporter role5336 updates the epic5337Elastic::MultiVersionInstanceProxy5338 #version5339 returns instance proxy in specified version5340 repository5341 returns instance proxy in specified version5342 method forwarding5343 forwards methods which should touch all write targets5344 forwards read methods to only reading target5345 does not forward write methods which should touch specific version5346Sidebars::Groups::Menus::IssuesMenu5347 Menu Items5348 Iterations5349 contains the iteration cadences link5350 includes iteration and iteration_cadences active routes5351 when licensed feature iterations is not enabled5352 does not include iterations menu item5353 when licensed feature iterations is enabled5354 when user can read iterations5355 includes iterations menu item5356 when user cannot read iterations5357 does not include iterations menu item5358DastScannerProfilesFinder5359 #execute5360 returns all dast_scanner_profiles5361 filtering by ids5362 returns the dast_scanner_profile5363 filter by projects5364 returns the matching dast_scanner_profiles5365 filter by a project5366 returns the matching dast_scanner_profile5367 filter by name5368 returns the matching dast_scanner_profiles5369 filter by names5370 returns the matching dast_scanner_profiles5371 when DastScannerProfile id is for a different project5372 returns an empty relation5373 when the dast_scanner_profile1 does not exist5374 returns an empty relation5375DashboardHelper5376 #dashboard_nav_links5377 operations dashboard link5378 when the feature is available on the license5379 and the user is authenticated5380 is included in the nav5381 and the user is not authenticated5382 is not included in the nav5383 when the feature is not available on the license5384 is not included in the nav5385 environments dashboard link5386 and the feature is available on the license5387 and the user is authenticated5388 is included in the nav5389 and the user is not authenticated5390 is not included in the nav5391 and the feature is not available on the license5392 is not included in the nav5393 security dashboard link5394 and the feature is available on the license5395 and the user is authenticated5396 is included in the nav5397 and the user is not authenticated5398 is not included in the nav5399 when the feature is not available on the license5400 is not included in the nav5401 .has_start_trial?5402 has_license: false, current_user: :admin, output: true5403 is expected to eq true5404 has_license: false, current_user: :user, output: false5405 is expected to eq false5406 has_license: true, current_user: :admin, output: false5407 is expected to eq false5408 has_license: true, current_user: :user, output: false5409 is expected to eq false5410Types::AppliedMl::SuggestedReviewersType5411 # order random5412 is expected to have graphql fields :accepted, :created_at, :suggested, and :updated_at5413 field values5414 accepted5415 is expected to eq ["bmarley"]5416 suggested5417 is expected to eq ["bmarley", "swayne"]5418ActiveUserCountThresholdWorker5419 #perform5420 trial?: false, threshold_reached?: false, should_send_reminder?: false5421 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5422 trial?: false, threshold_reached?: true, should_send_reminder?: true5423 is expected to receive approaching_active_user_count_limit(*(any args)) 1 time5424 trial?: true, threshold_reached?: false, should_send_reminder?: false5425 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5426 trial?: true, threshold_reached?: true, should_send_reminder?: false5427 is expected not to receive approaching_active_user_count_limit(*(any args)) 0 times5428 recipients5429 sends reminder to admins only5430 adds a licensee email to the recipients list5431 sends reminder to unique emails5432 sends reminder to active admins only5433 when there is no license5434 does not send a reminder5435Verify/Load-Performance-Testing.gitlab-ci.yml5436 the created pipeline5437 has no errors5438 on master5439 behaves like load_performance job on tag or branch5440 by default5441 on another branch5442 behaves like load_performance job on tag or branch5443 by default5444 on tag5445 behaves like load_performance job on tag or branch5446 by default5447 on merge request5448 has no jobs5449Mutations::Boards::Update5450 is expected to require graphql authorizations :admin_issue_board5451 #resolve5452 when the user cannot admin the board5453 raises an error5454 when user can update board5455 updates board with correct values5456 when passing current iteration5457 updates board with current iteration5458 when updating only iteration_cadence5459 updates iteration cadence5460 when passing labels param5461 updates board with correct labels5462 #ready5463 when passing both labels & label_ids param5464 raises exception when mutually exclusive params are given5465EE::API::Entities::Scim::Users5466 contains the schemas5467 calculates the totalResults5468 contains the default itemsPerPage5469 contains the default startIndex5470 contains the user5471 contains the user ID5472 with configured values5473 contains the configured totalResults5474 contains the configured itemsPerPage5475 contains the configured startIndex5476Gitlab::Ci::Pipeline::Chain::Validate::External5477 #validation_service_payload5478 respects the defined schema and returns the default plan5479 does not fire N+1 SQL queries5480 with a project in a subgroup5481 returns an Ultimate plan on trial5482 when user is provisioned by group5483 returns the provisioned group with an Ultimate plan5484Mutations::Boards::EpicBoards::EpicMoveList5485 arguments5486 has the correct arguments5487 #resolve5488 when user does not have permissions5489 does not allow the move5490 when everything is ok5491 moves the epic to another list5492Resolvers::Ci::CodeCoverageSummaryResolver5493 #resolve5494 when project has coverage5495 returns coverage summary for the project as a batch5496 when project does not have coverage5497 returns nil5498IncidentManagement::OncallShiftPolicy5499 # order random5500 rules5501 is expected to be disallowed :read_incident_management_oncall_schedule5502 when guest5503 is expected to be disallowed :read_incident_management_oncall_schedule5504 when reporter5505 is expected to be allowed :read_incident_management_oncall_schedule5506 licensed feature disabled5507 is expected to be disallowed :read_incident_management_oncall_schedule5508 when auditor5509 is expected to be allowed :read_incident_management_oncall_schedule5510 is expected to be disallowed :admin_incident_management_oncall_schedule5511 licensed feature disabled5512 is expected to be disallowed :read_incident_management_oncall_schedule5513 is expected to be disallowed :admin_incident_management_oncall_schedule5514Zoekt::IndexerWorker5515 # order random5516 #perform5517 sends the project to Zoekt for indexing5518 when index_code_with_zoekt is disabled5519 does not send the project to Zoekt for indexing5520 when the zoekt_code_search licensed feature is disabled5521 does nothing5522 when the project does not have zoekt enabled5523 does not send the project to Zoekt for indexing5524 when the indexer is locked for the given project5525 does not run index5526 when the project has no repository5527 does nothing5528 when the project has an empty repository5529 does nothing5530Dast::ProfilesFinder5531 #execute5532 returns dast_profiles limited to 100 records5533 filtering by id5534 returns the matching dast_profile5535 filtering by project_id5536 returns the matching dast_profiles5537 filtering by has_schedule?5538 when has_dast_profile_schedule is true5539 returns the dast_profiles with schedule5540 filtering by *5541 returns the matching dast_profile5542 when the dast_profile does not exist5543 returns an empty relation5544 sorting5545 orders by id desc by default5546UserIdExistenceValidator5547 # order random5548 with array containing invalid user ids5549 adds an error5550 with non-array value5551 behaves like does not add an error5552 does not add an error5553 behaves like does not trigger SQL queries5554 does not trigger SQL queries5555 with nil value5556 behaves like does not add an error5557 does not add an error5558 behaves like does not trigger SQL queries5559 does not trigger SQL queries5560 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 valid user ids5566 behaves like does not add an error5567 does not add an error5568Commits::CreateService5569 #execute5570 when the repository size limit has been exceeded5571 raises an error5572 when the namespace storage limit has been exceeded5573 raises an error5574 with a subgroup project5575 raises an error5576 when the namespace is over the free user cap limit5577 raises an error5578MergeChecksHelper5579 # order random5580 #merge_checks5581 when source is group5582 returns the correct settings5583 when source has a parent group5584 returns the correct settings5585 when source is project5586 returns the correct settings5587Gitlab::Instrumentation::Zoekt5588 # order random5589 .increment_request_count5590 increases the request count by 15591 .add_duration5592 increases duration5593 does not lose precision while adding5594 .add_call_details5595 adds call details5596Security::TokenRevocationService#execute5597 when revoking a glpat token5598 returns success5599 when vulnerability is missing5600 does not call `SystemNoteService`5601 when revocation token API returns a response with failure5602 returns error5603 when revocation token types API returns empty list of types5604 is expected to eql {:status=>:success}5605 when external revocation service is disabled5606 is expected to eql {:status=>:success}5607 when external revocation service is enabled5608 with a list of valid token types5609 when there is a list of tokens to be revoked5610 is expected to equal :success5611 when token_revocation_url is missing5612 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5613 when token_types_url is missing5614 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5615 when revocation_api_token is missing5616 is expected to eql {:message=>"Missing revocation token data", :status=>:error}5617 when there is no token to be revoked5618 is expected to eql {:status=>:success}5619 when revocation token types API returns an unsuccessful response5620 is expected to eql {:message=>"Failed to get revocation token types", :status=>:error}5621AlertManagement::HttpIntegrations::CreateService5622 #execute5623 with multiple HTTP integrations feature available5624 successfully creates a new integration with the custom mappings5625 when an integration already exists5626 successfully creates a new integration5627Gitlab::Analytics::CycleAnalytics::StageEvents::IssueClosed5628 behaves like value stream analytics event5629 is expected to be a kind of String5630 is expected to be a kind of Symbol5631 is expected to include ApplicationRecord(abstract)5632 is expected to respond to #timestamp_projection5633 is expected to respond to #html_description5634 is expected to be a kind of Array5635 #apply_query_customization5636 expects an ActiveRecord::Relation object as argument and returns a modified version of it5637 #hash_code5638 returns a hash that uniquely identifies an event5639 does not differ when the same object is built with the same params5640 behaves like LEFT JOIN-able value stream analytics event5641 can use the event as LEFT JOIN5642 when looking at the record with data5643 contains the timestamp expression5644 when looking at the record without data5645 returns nil for the timestamp expression5646Ci::Runners::SetRunnerAssociatedProjectsService#execute5647 # order random5648 with admin user5649 with assign_to returning true5650 calls audit on Auditor and returns success response5651 with assign_to returning false5652 does not call audit on Auditor and returns error response5653 with unauthorized user5654 does not call assign_to on runner and returns error response5655Arkose::Logger5656 # order random5657 #log_unsolved_challenge5658 behaves like logs the event with the correct payload5659 logs the event with the correct info5660 when user is nil5661 logs the event without username info5662 #log_failed_token_verification5663 logs the event with the correct info5664 when user is nil5665 logs the event with the correct info5666 #log_successful_token_verification5667 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 info5671projects/security/corpus_management/show5672 renders Vue app root5673 passes project's full path5674AuditEvents::CustomAuditEventService5675 #security_event5676 creates an event and logs to a file with the provided details5677Groups::UpdateRepositoryStorageService5678 #execute5679 when the move succeeds5680 moves the repository to the new storage and unmarks the repository as read-only5681 when the filesystems are the same5682 updates the database without trying to move the repostory5683 when the move fails5684 unmarks the repository as read-only without updating the repository storage5685 when the cleanup fails5686 sets the correct state5687 when the checksum does not match5688 unmarks the repository as read-only without updating the repository storage5689 when the repository move is finished5690 is idempotent5691 when the repository move is failed5692 is idempotent5693Projects::Security::DastProfilesHelper5694 #dast_profiles_list_data5695 returns proper data5696 #dast_scanner_profile_form_data5697 returns proper data5698 behaves like passes on-demand scan edit path when from_on_demand_scan_id param is present5699 returns edit path as on_demand_scan_form_path5700 #edit_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 #dast_site_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 #edit_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_path5712Types::Admin::CloudLicenses::LicenseHistoryEntryType5713 is expected to eq "LicenseHistoryEntry"5714 with license type fields5715 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"5716 field values5717 id5718 is expected to include "5"5719 type5720 is expected to eq "online_cloud"5721 plan5722 is expected to eq "ultimate"5723 name5724 is expected to eq "User Example"5725 email5726 is expected to eq "user@example.com"5727 company5728 is expected to eq "Example Inc."5729 starts_at5730 is expected to eq Thu, 02 Mar 20235731 expires_at5732 is expected to eq Sat, 02 Mar 20245733 block_changes_at5734 is expected to eq Tue, 02 Apr 20245735 activated_at5736 is expected to eq Sun, 02 Apr 2023 06:54:51.000000000 +00005737 users_in_license_count5738 is expected to eq 255739 created_at5740 is expected to eq 2023-06-02 06:54:51.622579082 +00005741Milestones::DestroyService5742 #execute5743 with an existing merge request5744 manually queues MergeRequests::SyncCodeOwnerApprovalRulesWorker jobs5745Projects::DisableLegacyInactiveProjectsService5746 #perform5747 when the combined batch size is more than or equal to the inactive public projects count5748 disables legacy open-source license for all the public projects5749 when the combined batch size is less than the inactive public projects count5750 terminates the worker before completing all the projects5751Gitlab::Ci::Status::Build::Manual5752 #illustration5753 is expected to include :image, :size, :title, and :content5754 with protected environments5755 when user does not have access5756 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/5757 when user has access5758 instructs the user about possible actions5759 when build prevents rollback deployment5760 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./5761AuditEvents::BuildService5762 #execute5763 when licensed5764 sets correct attributes5765 when IP address is not provided5766 uses author current_sign_in_ip5767 when author is impersonated5768 sets author to impersonated user5769 includes impersonator name in message5770 when IP address is not provided5771 uses impersonator current_sign_in_ip5772 when overriding target details5773 uses correct target details5774 when deploy token is passed as author5775 expect author to be user5776 when deploy key is passed as author5777 expect author to be deploy key5778 when author is passed as UnauthenticatedAuthor5779 sets author as unauthenticated user5780 when not licensed5781 sets correct attributes5782 when author is impersonated5783 does not includes impersonator name in message5784WorkItems::WorkItemsFinder5785 # order random5786 when filtering work items5787 with status widget5788 returns correct results5789 with legacy requirement widget5790 returns correct results5791Sidebars::Admin::Menus::SubscriptionMenu5792 # order random5793 behaves like Admin menu5794 renders the correct link5795 renders the correct title5796 renders the correct icon5797 renders the separator if needed5798 #render?5799 when user is admin5800 renders5801 when user is not admin5802 does not render5803 when user is not logged in5804 does not render5805 behaves like Admin menu without sub menus5806 does not contain any sub menu(s)5807 defines correct active route5808Types::Boards::EpicBoardType5809 is expected to eq "EpicBoard"5810 is expected to require graphql authorizations :read_epic_board5811 has specific fields5812Gitlab::Metrics::GlobalSearchIndexingSlis5813 # order random5814 #record_apdex5815 when the elapsed time is within the SLI5816 increments the global_search_indexing SLI as a success5817 when the elapsed time is not within the SLI5818 increments the global_search_indexing SLI as a failure5819 for document_type targets5820 document_type: "Code", indexed_by: "indexer", elapsed: 5, expected_result: true5821 uses the correct target5822 document_type: "Wiki", indexed_by: "indexer", elapsed: 5, expected_result: true5823 uses the correct target5824 document_type: "MergeRequest", indexed_by: "rails", elapsed: 5, expected_result: false5825 uses the correct target5826 document_type: "User", indexed_by: "rails", elapsed: 5, expected_result: false5827 uses the correct target5828 document_type: "Issue", indexed_by: "rails", elapsed: 5, expected_result: false5829 uses the correct target5830 #initialize_slis!5831 initializes Apdex SLIs for global_search5832 #record_bytes_per_second_apdex5833 throughput: 20.0, expected_success: false5834 increments the global_search_indexing SLI with the correct success field5835 throughput: 300.0, expected_success: true5836 increments the global_search_indexing SLI with the correct success field5837Gitlab::Analytics::CycleAnalytics::DataForDurationChart5838 #average_by_day5839 returns average duration by day5840Banzai::Filter::CrossProjectIssuableInformationFilter5841 when the user cannot read cross project5842 skips links to issues within the same project5843 removes info from a cross project reference5844Mutations::Boards::EpicBoards::Update5845 field tests5846 is expected to have graphql arguments :id, :name, :hideBacklogList, :hideClosedList, :labels, :labelIds, and :displayColors5847 is expected to have graphql fields :epic_board5848 with epic feature enabled5849 when user does not have permission to update epic board5850 behaves like epic board update error5851 raises error5852 when user has permission to update epic board5853 updates the epic board5854 #ready?5855 raises an error when both labels and label_ids arguments are passed5856AuditEvents::Streaming::Header5857 Validations5858 is expected to belong to external_audit_event_destination required: false5859 is expected to validate that :key is case-sensitively unique within the scope of :external_audit_event_destination_id5860 validations5861 is expected to validate that :key cannot be empty/falsy5862 is expected to validate that :value cannot be empty/falsy5863 is expected to validate that the length of :key is at most 2555864 is expected to validate that the length of :value is at most 2555865 #to_hash5866 returns the correct hash5867PersonalAccessTokens::RevokeInvalidTokens5868 #execute5869 with a valid user and expiration date5870 with user tokens that will be revoked5871 behaves like revokes token5872 calls mailer to send an email notifying the user5873 revokes invalid user's tokens5874 user optout for notifications5875 behaves like user does not receive revoke notification email5876 does not send any notification to user5877 with no user5878 doesn't revoke user's tokens5879 behaves like user does not receive revoke notification email5880 does not send any notification to user5881 with no expiration date5882 doesn't revoke user's tokens5883 behaves like user does not receive revoke notification email5884 does not send any notification to user5885 when the licensed feature for personal access token policy is disabled5886 doesn't revoke user's tokens5887 behaves like user does not receive revoke notification email5888 does not send any notification to user5889Projects::OnDemandScansHelper5890 #on_demand_scans_data5891 returns proper data5892 #on_demand_scans_form_data5893 returns proper data5894EE::IncidentManagement::ProjectIncidentManagementSetting5895 # order random5896 Validations5897 validate SLA settings5898 #sla_timer_minutes5899 sla_timer is disabled5900 is expected not to validate that :sla_timer_minutes cannot be empty/falsy5901 sla_timer is enabled5902 is expected to validate that :sla_timer_minutes looks like a number greater than or equal to 155903 is expected to validate that :sla_timer_minutes looks like a number less than or equal to 5259495904Analytics::DevopsAdoption::EnabledNamespaces::BulkFindOrCreateService5905 authorizes for manage_devops_adoption5906 returns existing enabled_namespaces for namespaces and creates new one if none exists5907 when the user cannot manage enabled_namespaces at least for one namespace5908 returns forbidden error5909UserRecentEventsFinder5910 #execute5911 epic related activities5912 when profile is public5913 is expected to contain exactly #<Event project_id: nil, author_id: 3094, target_id: 82, created_at: "2023-06-02 06:55:12.483493850 +...83493850 +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:55:12.487839669 ...2.487839669 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 614>5914 when profile is private5915 is expected to be empty5916 wehen fetching events from multiple users5917 when filtering for epic events5918 is expected to eq [#<Event project_id: nil, author_id: 3095, target_id: 623, created_at: "2023-06-02 06:55:12.607650523....487839669 +0000", action: "closed", target_type: "Epic", group_id: nil, fingerprint: nil, id: 614>]5919admin/users/index5920 includes "Send email to users" link5921 when Gitlab::CurrentSettings.should_check_namespace_plan is true5922 includes "Send email to users" link5923Mutations::AuditEvents::Streaming::Headers::Destroy5924 #resolve5925 feature is unlicensed5926 is not authorized5927 feature is licensed5928 current_user is not group owner5929 returns useful error messages5930 current_user is group owner5931 deletes the header5932 when destroy fails5933 does not delete any headers5934Security::SyncScanPoliciesWorker5935 #perform5936 calls update_policy_configuration5937 does not call update_policy_configuration when configuration is not present5938Gitlab::Analytics::CycleAnalytics::DistinctStageLoader5939 returns the distinct stages by stage_event_hash_id5940 when in-memory stages are not defined as stages5941 creates three stage event hash records5942 when all in-memory stages have been defined5943 returns in-memory stages5944 has distinct values for all in-memory stages5945 returns total number of stages - in-memory + persisted5946 when a subset of in-memory stages are already defined5947 does not create extra stage event hash records5948Gitlab::Insights::Executors::IssuableExecutor5949 when requesting data for group5950 behaves like IssuableExecutor examples5951 returns serialized data5952 when line type is given5953 behaves like IssuableExecutor examples5954 returns serialized data5955 when requesting data for project5956 behaves like IssuableExecutor examples5957 returns serialized data5958Security::OverrideUuidsService5959 #execute5960 overrides finding uuids and prioritizes the existing findings5961Geo::RepositoryRenamedEventStore5962 #create!5963 behaves like a Geo event store5964 when running on a secondary node5965 does not create an event5966 when running on a primary node5967 does not create an event if there are no secondary nodes5968 creates an event5969 when file subject is not on local store5970 creates an event (PENDING: No file subject defined, skipping)5971 when running on a primary node5972 tracks old and new paths for project repositories5973Resolvers::ProductAnalytics::VisualizationResolver5974 # order random5975 #resolve5976 returns the visualization object5977 when the visualization does not exist5978 raises an error5979Elastic::ReindexingSlice5980 relations5981 is expected to belong to elastic_reindexing_subtask required: false5982 validations5983 is expected to validate that :elastic_slice cannot be empty/falsy5984 is expected to validate that :elastic_max_slice cannot be empty/falsy5985 is expected to validate that :retry_attempt cannot be empty/falsy5986 is expected to validate that :retry_attempt looks like a number greater than or equal to 05987 is expected to validate that :elastic_slice looks like a number greater than or equal to 05988 is expected to validate that :elastic_max_slice looks like a number greater than or equal to 05989Milestones::PromoteService5990 #execute5991 updates board with new milestone5992Gitlab::GitalyClient::WithFeatureFlagActors5993 # order random5994 #group_actor5995 when normal project repository5996 behaves like Gitaly feature flag actors are inferred from repository5997 captures correct actors5998 does not issues SQL queries after the first invocation5999 behaves like Gitaly feature flag actors are inferred from repository6000 captures correct actors6001 does not issues SQL queries after the first invocation6002 behaves like Gitaly feature flag actors are inferred from repository6003 captures correct actors6004 does not issues SQL queries after the first invocation6005Gitlab::TreeSummary6006 #summarize (entries)6007 includes path locks in entries6008 when file_locks feature is unavailable6009 does not fill lock labels6010Search::Elasticsearchable6011 # order random6012 #use_elasticsearch?6013 is false6014 when search_using_elasticsearch setting is enabled6015 when basic_search param is passed in6016 is false6017 when scope is epics6018 is false6019 when scope is notes6020 is true6021 when scope is users6022 returns true6023 #global_elasticsearchable_scope?6024 is false6025 when scope is users6026 is true6027RoadmapsHelper6028 #roadmap_layout6029 guest6030 is sourced from params if exists6031 returns default if params do not exist6032 logged in6033 is sourced from User#roadmap_layout6034 #roadmap_sort_order6035 guest6036WARNING: 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)>'.6037 returns default sort order6038 user without preferences set6039 returns default sort order6040 user with preference set6041 returns saved user preference6042EE::Gitlab::Scim::FilterParser6043 #operator6044 is extracted from the filter6045 #valid?6046 succeeds when the operator is supported6047 fails with unsupported operators6048 fails when the attribute path is unsupported6049 #params6050 returns a mapping to filter on6051 returns an empty hash when invalid6052projects/security/dast_scanner_profiles/edit6053 renders Vue app root6054 passes project's full path6055 passes DAST profiles library URL6056 passes DAST scanner profile's data6057IncidentManagement::OncallRotations::RemoveParticipantService6058 # order random6059 marks the participant as removed6060 user is not a participant6061 does not send a notification6062Gitlab::PathLocksFinder6063 returns correct lock information6064 #preload_for_paths6065 does not perform N + 1 requests6066Banzai::Filter::JiraPrivateImageLinkFilter6067 with a Jira private image6068 replaces the Jira private images with the link to the image6069 includes the Atlassian referrer on gitlab.com6070 with other image6071 keeps the original image6072Sitemap::CreateService6073 #execute6074 returns the successful service response with the sitemap content6075 when the sitemap generator returns an error6076 returns an error service response6077RemoteMirrorEntity6078 # order random6079 exposes mirror_branch_regex6080 when mirror_only_branches_match_regex disabled6081 does not expose mirror_branch_regex6082Elastic::IndexProjectsService6083 #execute6084 when elasticsearch_limit_indexing? is true6085 schedules indexing for selected projects and namespaces6086 when elasticsearch_limit_indexing? is false6087 schedules indexing for all projects6088Resolvers::SecurityTrainingUrlsResolver6089 #resolve6090 when the user is not authorized6091 does not do the resolver action6092 when the user is authorized6093 calls TrainingUrlsFinder#execute6094Issues::AfterCreateService6095 #execute6096 when issue sla is available6097 calls IncidentManagement::Incidents::CreateSlaService6098 when issue sla is not available6099 does not call IncidentManagement::Incidents::CreateSlaService6100BulkImports::Projects::Pipelines::ProtectedBranchesPipeline6101 #run6102 imports protected branch information with unprotect access levels6103MergeRequests::Mergeability::CheckDeniedPoliciesService6104 #execute6105 when the merge request has denied policies6106 returns a check result with status failed6107 when the merge request does not have denied policies6108 returns a check result with status success6109 #skip?6110 returns false6111 #cacheable?6112 returns false6113RepositoryPresenter6114 # order random6115 #code_owners_path6116 when repository is empty6117 returns nil6118 when repository is not empty6119 when there is no code owners file6120 returns nil6121 when no ref is passed6122 uses the root_ref6123 when a CODEOWNERS file exists6124 returns the correct path6125Gitlab::CircuitBreaker::Notifier6126 # order random6127 #notify_run6128test block6129 is expected not to raise Exception6130 #notify_warning6131 is expected not to raise Exception6132 #notify6133 when event is failure6134 sends an exception to Gitlab::ErrorTracking6135 when event is not failure6136 does not send an exception to Gitlab::ErrorTracking6137ScimOauthAccessTokenEntity6138 exposes the URL6139 exposes the token6140Evidences::BuildArtifactEntity6141 when job has artifacts paths6142 exposes the artifacts url6143 when job does not have artifacts paths6144 does not expose the artifacts url6145Gitlab::Llm::OpenAi::Completions::ExplainCode6146 # order random6147 #execute6148 performs an openai request6149Types::Geo::ProjectWikiRepositoryRegistryType6150 # order random6151 has the expected fields (other than those included in RegistryType)6152 behaves like a Geo registry type6153 is expected to require graphql authorizations :read_geo_registry6154 has the expected fields6155AddUpvotesMappingsToMergeRequests6156 behaves like a deprecated Advanced Search migration6157 #migrate6158 logs a message and halts the migration6159 #completed?6160 returns false6161 #obsolete?6162 returns true6163BasePolicy6164 read cross project6165 when an external authorization service is enabled6166 allows auditors6167 read all resources6168 allows auditors6169 admin all resources6170 forbids auditors6171Types::Geo::PackageFileRegistryType6172 has the expected fields (other than those included in RegistryType)6173 behaves like a Geo registry type6174 is expected to require graphql authorizations :read_geo_registry6175 has the expected fields6176admin/dev_ops_report/show.html.haml6177 when show_adoption? returns false6178 disables the feature6179 when show_adoption? returns true6180 enables the feature6181Gitlab::ItemsCollection6182 responds to each6183 #page6184 returns paginated collection6185 #to_ary6186 returns Array6187PopulateCommitPermissionsInMainIndex6188 behaves like a deprecated Advanced Search migration6189 #migrate6190 logs a message and halts the migration6191 #completed?6192 returns false6193 #obsolete?6194 returns true6195DeleteMergeRequestsFromOriginalIndex6196 behaves like a deprecated Advanced Search migration6197 #migrate6198 logs a message and halts the migration6199 #completed?6200 returns false6201 #obsolete?6202 returns true6203PersonalAccessTokens::Instance::UpdateLifetimeService6204 #execute6205 when we can obtain the lease6206 schedules the worker6207 when we can't obtain the lease6208 does not schedule the worker6209StorageShard6210 .all6211 returns an array of StorageShard objects6212 .build_digest6213 returns SHA1 digest for the current configuration6214Types::SecurityScanners6215 is expected to eq "SecurityScanners"6216 has specific fields6217Snippet6218 #repository_size_checker6219 when snippet belongs to a project6220 sets up size checker6221 when snippet without a project6222 sets up size checker6223Types::Deployments::ApprovalType6224 # order random6225 is expected to eq "DeploymentApproval"6226 includes the expected fields6227Geo::SyncTimeoutCronWorker6228 uses a cronjob queue6229 #perform6230 calls fail_sync_timeouts6231SearchServicePresenter6232 # order random6233 #advanced_search_enabled?6234 when Elasticsearch is enabled6235 is expected to be advanced search enabled6236 when Elasticsearch is not enabled6237 is expected not to be advanced search enabled6238Embedding::SchemaMigration6239 # order random6240 .all_versions6241 returns all versions6242Nav::NewDropdownHelper6243 # order random6244 #new_dropdown_view_model6245 with group and can create_epic6246 shows create epic menu item6247Types::Vulnerability::ExternalIssueLinkTypeEnum6248 is expected to contain exactly "CREATED"6249API::Entities::Groups::RepositoryStorageMove6250 #as_json6251 includes basic fields6252#<Class:0x00007f72ec26b518>6253 # order random6254 has the expected fields6255Types::VulnerabilityDetails::MarkdownType6256 is expected to have graphql fields :name, :description, :fieldName, and :value6257Types::VulnerabilityLocation::DastType6258 is expected to have graphql fields :hostname, :param, :path, and :request_method6259Types::Vulnerability::ExternalIssueLinkType6260 is expected to have graphql fields :id, :link_type, and :external_issue6261Security::VulnerabilityReportDataSerializer6262 represents VulnerabilityReportDataEntity6263Search::Index6264 # order random6265 .indexed_class6266 raises a NotImplementedError6267Types::VulnerabilityIdentifierType6268 is expected to have graphql fields :name, :url, :external_type, and :external_id6269Knapsack report was generated. Preview:6270{6271 "ee/spec/lib/gitlab/ci/templates/dependency_scanning_gitlab_ci_yaml_spec.rb": 317.553589246,6272 "ee/spec/services/quick_actions/interpret_service_spec.rb": 187.10314047099996,6273 "ee/spec/models/boards/epic_board_position_spec.rb": 132.17256895700007,6274 "ee/spec/lib/elastic/latest/git_class_proxy_spec.rb": 130.0912108330001,6275 "ee/spec/replicators/geo/ci_secure_file_replicator_spec.rb": 47.66376067199985,6276 "ee/spec/lib/gitlab/elastic/indexer_spec.rb": 71.90406718000008,6277 "ee/spec/models/vulnerabilities/read_spec.rb": 56.61312417300019,6278 "ee/spec/services/boards/lists/update_service_spec.rb": 49.880288857000096,6279 "ee/spec/finders/merge_requests/by_approvers_finder_spec.rb": 59.71661557900006,6280 "ee/spec/lib/gitlab/llm/vertex_ai/client_spec.rb": 45.544203001999904,6281 "ee/spec/services/security/security_orchestration_policies/process_scan_result_policy_service_spec.rb": 41.90596292000009,6282 "ee/spec/services/projects/create_from_template_service_spec.rb": 41.21560529499993,6283 "ee/spec/services/epics/tree_reorder_service_spec.rb": 26.812288167999895,6284 "ee/spec/finders/autocomplete/vulnerabilities_autocomplete_finder_spec.rb": 27.60050128199987,6285 "ee/spec/services/search/index_repair_service_spec.rb": 27.028450027999952,6286 "ee/spec/models/ee/ci/secure_file_spec.rb": 20.363669975999983,6287 "ee/spec/lib/incident_management/oncall_shift_generator_spec.rb": 11.317531322999912,6288 "ee/spec/finders/issues_finder_spec.rb": 11.153298332999839,6289 "ee/spec/workers/geo/verification_state_backfill_worker_spec.rb": 20.952233295000042,6290 "ee/spec/lib/gitlab/ci/parsers/license_compliance/license_scanning_spec.rb": 3.3278621540000586,6291 "ee/spec/serializers/merge_request_widget_entity_spec.rb": 16.26103953200004,6292 "ee/spec/models/productivity_analytics_spec.rb": 14.521242495000024,6293 "ee/spec/lib/gitlab/llm/open_ai/client_spec.rb": 3.8876728510001612,6294 "ee/spec/lib/gitlab/licenses/submit_license_usage_data_banner_spec.rb": 10.78637834400024,6295 "ee/spec/models/merge_requests/compliance_violation_spec.rb": 10.965703033999944,6296 "ee/spec/services/arkose/token_verification_service_spec.rb": 6.3671649450002406,6297 "ee/spec/services/projects/restore_service_spec.rb": 10.081239498999821,6298 "ee/spec/models/ee/ci/build_dependencies_spec.rb": 8.02607463000004,6299 "ee/spec/presenters/approval_rule_presenter_spec.rb": 11.21410072000026,6300 "ee/spec/graphql/resolvers/geo/upload_registries_resolver_spec.rb": 11.148774581999987,6301 "ee/spec/lib/gitlab/search/index_curator_spec.rb": 3.251316794000104,6302 "ee/spec/lib/remote_development/workspaces/reconcile/reconcile_processor_scenarios_spec.rb": 9.493535281999812,6303 "ee/spec/finders/snippets_finder_spec.rb": 5.8163819889996375,6304 "ee/spec/lib/gitlab/ci/templates/Jobs/browser_performance_testing_gitlab_ci_yaml_spec.rb": 4.509849397999915,6305 "ee/spec/services/gitlab_subscriptions/reconciliations/calculate_seat_count_data_service_spec.rb": 5.414700530000118,6306 "ee/spec/services/ldap_group_reset_service_spec.rb": 9.336562541000148,6307 "ee/spec/lib/gitlab/license_scanning/package_licenses_spec.rb": 2.6542904679999992,6308 "ee/spec/lib/elastic/latest/git_class_proxy_add_suffix_project_in_wiki_rid_running_wiki_search_spec.rb": 8.923809022000114,6309 "ee/spec/lib/ee/sidebars/projects/menus/issues_menu_spec.rb": 4.953793024999868,6310 "ee/spec/graphql/resolvers/geo/snippet_repository_registries_resolver_spec.rb": 5.009522061999633,6311 "ee/spec/services/app_sec/dast/profiles/create_service_spec.rb": 3.543154340000001,6312 "ee/spec/models/concerns/elastic/snippet_spec.rb": 9.631755214999885,6313 "ee/spec/workers/project_import_schedule_worker_spec.rb": 5.074600868999823,6314 "ee/spec/finders/audit_event_finder_spec.rb": 2.908023754000169,6315 "ee/spec/graphql/mutations/projects/set_locked_spec.rb": 4.414494663999903,6316 "ee/spec/lib/gitlab/ci/templates/Security/bas_latest_ci_yaml_spec.rb": 7.663756078999995,6317 "ee/spec/services/groups/destroy_service_spec.rb": 5.808867132999694,6318 "ee/spec/models/dast/site_profile_secret_variable_spec.rb": 2.3910070120000455,6319 "ee/spec/lib/ee/gitlab/alert_management/payload/generic_spec.rb": 2.498442165999677,6320 "ee/spec/lib/gitlab/ci/reports/security/locations/container_scanning_spec.rb": 0.945215097000073,6321 "ee/spec/finders/sbom/dependencies_finder_spec.rb": 2.716459826999653,6322 "ee/spec/workers/geo/metrics_update_worker_spec.rb": 4.563108732999808,6323 "ee/spec/graphql/resolvers/ci/code_coverage_activities_resolver_spec.rb": 3.4948995409999952,6324 "ee/spec/models/issue_link_spec.rb": 4.248796107000089,6325 "ee/spec/lib/gitlab/geo/registry_batcher_spec.rb": 2.337767913999869,6326 "ee/spec/graphql/mutations/security/finding/create_merge_request_spec.rb": 5.026417462000154,6327 "ee/spec/models/ai/project/conversations_spec.rb": 1.7818771489996834,6328 "ee/spec/services/work_items/update_service_spec.rb": 3.4819147419998444,6329 "ee/spec/lib/analytics/merge_request_metrics_calculator_spec.rb": 2.3285262649997094,6330 "ee/spec/services/llm/execute_method_service_spec.rb": 1.3359164389999023,6331 "ee/spec/lib/gitlab/llm/content_parser_spec.rb": 1.0230140029998438,6332 "ee/spec/services/audit_events/export_csv_service_spec.rb": 2.1451293330001135,6333 "ee/spec/lib/quality/seeders/vulnerabilities_spec.rb": 4.304877425000086,6334 "ee/spec/models/ee/groups/feature_setting_spec.rb": 1.8061318079999182,6335 "ee/spec/graphql/mutations/compliance_management/frameworks/create_spec.rb": 1.2473536530001184,6336 "ee/spec/workers/geo/verification_worker_spec.rb": 3.2646847519999938,6337 "ee/spec/helpers/timeboxes_helper_spec.rb": 3.0143687230001888,6338 "ee/spec/finders/incident_management/issuable_resource_links_finder_spec.rb": 1.177615077000155,6339 "ee/spec/services/iterations/cadences/destroy_service_spec.rb": 3.315736999999899,6340 "ee/spec/services/alert_management/process_prometheus_alert_service_spec.rb": 3.258428241999809,6341 "ee/spec/lib/gitlab/prometheus/queries/additional_metrics_deployment_query_spec.rb": 3.998068589000013,6342 "ee/spec/services/elastic/indexing_control_service_spec.rb": 0.6929941579996921,6343 "ee/spec/workers/gitlab_subscriptions/trials/apply_trial_worker_spec.rb": 0.5762214339997627,6344 "ee/spec/lib/gitlab/geo/geo_tasks_spec.rb": 2.046390756999699,6345 "ee/spec/graphql/resolvers/iterations/cadences_resolver_spec.rb": 1.8127710680000746,6346 "ee/spec/lib/gitlab/ci/templates/sast_iac_gitlab_ci_yaml_spec.rb": 2.332101034000061,6347 "ee/spec/graphql/mutations/dast_scanner_profiles/create_spec.rb": 3.2645501020001575,6348 "ee/spec/graphql/types/dast_scanner_profile_type_spec.rb": 2.0199582079999345,6349 "ee/spec/lib/gitlab/status_page/storage/s3_client_spec.rb": 0.983595755999886,6350 "ee/spec/workers/geo/secondary_usage_data_cron_worker_spec.rb": 0.35023571400006404,6351 "ee/spec/graphql/resolvers/external_issue_resolver_spec.rb": 1.23056014399981,6352 "ee/spec/models/incident_management/pending_escalations/alert_spec.rb": 1.9399502719998054,6353 "ee/spec/graphql/mutations/epics/update_spec.rb": 2.3078161650000766,6354 "ee/spec/lib/elastic/multi_version_instance_proxy_spec.rb": 2.4571797789999437,6355 "ee/spec/lib/ee/sidebars/groups/menus/issues_menu_spec.rb": 1.6681908040000053,6356 "ee/spec/finders/dast_scanner_profiles_finder_spec.rb": 1.3517791790000047,6357 "ee/spec/helpers/ee/dashboard_helper_spec.rb": 1.1839081570001326,6358 "ee/spec/graphql/types/applied_ml/suggested_reviewers_type_spec.rb": 1.4361762940002336,6359 "ee/spec/workers/active_user_count_threshold_worker_spec.rb": 0.8911203200000273,6360 "ee/spec/lib/gitlab/ci/templates/Verify/load_performance_testing_gitlab_ci_yaml_spec.rb": 2.6330425309997736,6361 "ee/spec/graphql/mutations/boards/update_spec.rb": 1.9112120429999777,6362 "ee/spec/lib/ee/api/entities/scim/users_spec.rb": 0.6045642019998922,6363 "ee/spec/lib/ee/gitlab/ci/pipeline/chain/validate/external_spec.rb": 2.033025777000148,6364 "ee/spec/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 1.1807718669997485,6365 "ee/spec/graphql/resolvers/ci/code_coverage_summary_resolver_spec.rb": 1.397534166999776,6366 "ee/spec/policies/incident_management/oncall_shift_policy_spec.rb": 1.8156220179998854,6367 "ee/spec/workers/zoekt/indexer_worker_spec.rb": 1.7937564089997977,6368 "ee/spec/finders/dast/profiles_finder_spec.rb": 1.425071205000222,6369 "ee/spec/validators/user_id_existence_validator_spec.rb": 0.6248950109998077,6370 "ee/spec/services/ee/commits/create_service_spec.rb": 2.301458876000197,6371 "ee/spec/helpers/merge_checks_helper_spec.rb": 0.769496965000144,6372 "ee/spec/lib/gitlab/instrumentation/zoekt_spec.rb": 0.3381641750002018,6373 "ee/spec/services/security/token_revocation_service_spec.rb": 1.527627381000002,6374 "ee/spec/services/ee/alert_management/http_integrations/create_service_spec.rb": 0.7967669640001986,6375 "ee/spec/lib/gitlab/analytics/cycle_analytics/stage_events/issue_closed_spec.rb": 1.2487354730001243,6376 "ee/spec/services/ci/runners/set_runner_associated_projects_service_spec.rb": 1.136827949000235,6377 "ee/spec/lib/arkose/logger_spec.rb": 0.42066798100040614,6378 "ee/spec/views/projects/security/corpus_management/show.html.haml_spec.rb": 0.9131850680000753,6379 "ee/spec/services/audit_events/custom_audit_event_service_spec.rb": 0.6610159699998803,6380 "ee/spec/services/groups/update_repository_storage_service_spec.rb": 1.1108500500004084,6381 "ee/spec/helpers/projects/security/dast_profiles_helper_spec.rb": 0.9991081739999572,6382 "ee/spec/graphql/types/admin/cloud_licenses/license_history_entry_type_spec.rb": 0.8948705200000404,6383 "ee/spec/services/milestones/destroy_service_spec.rb": 1.9754053159999785,6384 "ee/spec/services/projects/disable_legacy_inactive_projects_service_spec.rb": 2.0870454060000156,6385 "ee/spec/lib/ee/gitlab/ci/status/build/manual_spec.rb": 1.4466910440000902,6386 "ee/spec/services/audit_events/build_service_spec.rb": 0.9451943919998484,6387 "ee/spec/finders/ee/work_items/work_items_finder_spec.rb": 1.9926500689998647,6388 "ee/spec/lib/sidebars/admin/menus/subscription_menu_spec.rb": 0.6102214369998364,6389 "ee/spec/graphql/types/boards/epic_board_type_spec.rb": 0.3441828429999987,6390 "ee/spec/lib/gitlab/metrics/global_search_indexing_slis_spec.rb": 0.6022335879997627,6391 "ee/spec/lib/gitlab/analytics/cycle_analytics/data_for_duration_chart_spec.rb": 1.4557726319999347,6392 "ee/spec/lib/banzai/filter/cross_project_issuable_information_filter_spec.rb": 1.636569447999591,6393 "ee/spec/graphql/mutations/boards/epic_boards/update_spec.rb": 0.7618122660001063,6394 "ee/spec/models/audit_events/streaming/header_spec.rb": 0.7087345240001923,6395 "ee/spec/services/personal_access_tokens/revoke_invalid_tokens_spec.rb": 0.7351663999997982,6396 "ee/spec/helpers/projects/on_demand_scans_helper_spec.rb": 1.45251268300035,6397 "ee/spec/models/ee/incident_management/project_incident_management_setting_spec.rb": 1.2501695299997664,6398 "ee/spec/services/analytics/devops_adoption/enabled_namespaces/bulk_find_or_create_service_spec.rb": 1.2805677850001302,6399 "ee/spec/finders/ee/user_recent_events_finder_spec.rb": 1.2369172310000067,6400 "ee/spec/views/admin/users/index.html.haml_spec.rb": 0.9381450529999711,6401 "ee/spec/graphql/mutations/audit_events/streaming/headers/destroy_spec.rb": 0.9441944820000572,6402 "ee/spec/workers/security/sync_scan_policies_worker_spec.rb": 0.7656303259996093,6403 "ee/spec/lib/gitlab/analytics/cycle_analytics/distinct_stage_loader_spec.rb": 0.8194201880000946,6404 "ee/spec/lib/gitlab/insights/executors/issuable_executor_spec.rb": 0.9789503279998826,6405 "ee/spec/services/security/override_uuids_service_spec.rb": 1.0175074019998647,6406 "ee/spec/services/geo/repository_renamed_event_store_spec.rb": 0.841462035999939,6407 "ee/spec/graphql/resolvers/product_analytics/visualization_resolver_spec.rb": 1.318941291000101,6408 "ee/spec/models/elastic/reindexing_slice_spec.rb": 0.5106548499998098,6409 "ee/spec/services/milestones/promote_service_spec.rb": 0.8422433860000638,6410 "ee/spec/lib/gitlab/gitaly_client/with_feature_flag_actors_spec.rb": 0.6862516070000311,6411 "ee/spec/lib/gitlab/tree_summary_spec.rb": 0.9608818100000462,6412 "ee/spec/services/concerns/search/elasticsearchable_spec.rb": 0.6033215480001672,6413 "ee/spec/helpers/roadmaps_helper_spec.rb": 0.4917559330001495,6414 "ee/spec/lib/ee/gitlab/scim/filter_parser_spec.rb": 0.4883058539999183,6415 "ee/spec/views/projects/security/dast_scanner_profiles/edit.html.haml_spec.rb": 0.6507476110000425,6416 "ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb": 0.8370183970000653,6417 "ee/spec/lib/gitlab/path_locks_finder_spec.rb": 0.7374132189997908,6418 "ee/spec/lib/banzai/filter/jira_private_image_link_filter_spec.rb": 0.5785592909996922,6419 "ee/spec/services/sitemap/create_service_spec.rb": 0.2928898499999377,6420 "ee/spec/serializers/remote_mirror_entity_spec.rb": 0.36471170999993774,6421 "ee/spec/services/elastic/index_projects_service_spec.rb": 0.6829776579997997,6422 "ee/spec/graphql/resolvers/security_training_urls_resolver_spec.rb": 0.6921133659998304,6423 "ee/spec/services/ee/issues/after_create_service_spec.rb": 0.6570861909999621,6424 "ee/spec/lib/bulk_imports/projects/pipelines/protected_branches_pipeline_spec.rb": 0.7236140420000083,6425 "ee/spec/services/merge_requests/mergeability/check_denied_policies_service_spec.rb": 0.4704979960001765,6426 "ee/spec/presenters/repository_presenter_spec.rb": 0.41514090299961026,6427 "ee/spec/lib/gitlab/circuit_breaker/notifier_spec.rb": 0.3737689190002129,6428 "ee/spec/serializers/scim_oauth_access_token_entity_spec.rb": 0.4908261729997321,6429 "ee/spec/serializers/evidences/build_artifact_entity_spec.rb": 0.4322656009999264,6430 "ee/spec/lib/gitlab/llm/open_ai/completions/explain_code_spec.rb": 0.5519549440000446,6431 "ee/spec/graphql/types/geo/project_wiki_repository_registry_type_spec.rb": 0.3246192560000054,6432 "ee/spec/elastic/migrate/20210722112500_add_upvotes_mappings_to_merge_requests_spec.rb": 0.34612419299992325,6433 "ee/spec/policies/base_policy_spec.rb": 0.3909116270001505,6434 "ee/spec/graphql/types/geo/package_file_registry_type_spec.rb": 0.319767327000136,6435 "ee/spec/views/admin/dev_ops_report/show.html.haml_spec.rb": 0.3885539670000071,6436 "ee/spec/lib/gitlab/items_collection_spec.rb": 0.33682717399960893,6437 "ee/spec/elastic/migrate/20220119120500_populate_commit_permissions_in_main_index_spec.rb": 0.3178129070001887,6438 "ee/spec/elastic/migrate/20210510113500_delete_merge_requests_from_original_index_spec.rb": 0.3203967960002956,6439 "ee/spec/services/personal_access_tokens/instance/update_lifetime_service_spec.rb": 0.29246415999978126,6440 "ee/spec/models/storage_shard_spec.rb": 0.26366226500022094,6441 "ee/spec/graphql/types/security_scanners_spec.rb": 0.30237297000030594,6442 "ee/spec/models/snippet_spec.rb": 0.28312174200027584,6443 "ee/spec/graphql/types/deployments/approval_type_spec.rb": 0.2746985130002031,6444 "ee/spec/workers/geo/sync_timeout_cron_worker_spec.rb": 0.27635300199972335,6445 "ee/spec/presenters/ee/search_service_presenter_spec.rb": 0.2879487209997933,6446 "ee/spec/models/embedding/schema_migration_spec.rb": 0.2569055650001246,6447 "ee/spec/helpers/nav/new_dropdown_helper_spec.rb": 0.2875747409998439,6448 "ee/spec/graphql/types/vulnerability/external_issue_link_type_enum_spec.rb": 0.2553160359998401,6449 "ee/spec/lib/ee/api/entities/groups/repository_storage_move_spec.rb": 0.3260668960001567,6450 "ee/spec/graphql/types/epic_connection_type_spec.rb": 0.24958367599992926,6451 "ee/spec/graphql/types/vulnerability_details/markdown_type_spec.rb": 0.25260040500006653,6452 "ee/spec/graphql/types/vulnerability_location/dast_type_spec.rb": 0.2465769770001316,6453 "ee/spec/graphql/types/vulnerability/external_issue_link_type_spec.rb": 0.26497345400002814,6454 "ee/spec/serializers/security/vulnerability_report_data_serializer_spec.rb": 0.27591132199995627,6455 "ee/spec/models/search/index_spec.rb": 0.24704366600008143,6456 "ee/spec/graphql/types/vulnerability_identifier_type_spec.rb": 0.244527997000204786457}6458Knapsack global time execution for tests: 28m 23s6459Pending: (Failures listed here are expected and do not affect your suite's status)6460 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 ArgumentError6461 # Skipping because verification is enabled for Upload6462 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776463 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 ArgumentError6464 # Skipping because verification is enabled for SnippetRepository6465 # ./ee/spec/support/shared_examples/graphql/geo/geo_registries_resolver_shared_examples.rb:776466 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 event6467 # No file subject defined, skipping6468 # ./ee/spec/support/shared_examples/services/geo_event_store_shared_examples.rb:366469Finished in 28 minutes 27 seconds (files took 1 minute 19.23 seconds to load)64702566 examples, 0 failures, 3 pending6471Randomized with seed 134576472[TEST PROF INFO] Time spent in factories: 14:38.506 (50.41% of total time)6473RSpec exited with 0.6474No examples to retry, congrats!6476Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy6478Uploading artifacts...6479coverage/: found 5 matching artifact files and directories 6480crystalball/: found 2 matching artifact files and directories 6481WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6482knapsack/: found 4 matching artifact files and directories 6483WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6484rspec/: found 16 matching artifact files and directories 6485WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6486log/*.log: found 20 matching artifact files and directories 6487WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964893/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6488WARNING: Retrying... context=artifacts-uploader error=request redirected6489Uploading artifacts as "archive" to coordinator... 201 Created id=4400964893 responseStatus=201 Created token=64_25oi26490Uploading artifacts...6491rspec/rspec-*.xml: found 1 matching artifact files and directories 6492WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4400964893/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6493WARNING: Retrying... context=artifacts-uploader error=request redirected6494Uploading artifacts as "junit" to coordinator... 201 Created id=4400964893 responseStatus=201 Created token=64_25oi26496Job succeeded