rspec-ee integration pg14 1/5
Passed Started
by
@seggenberger

Sascha Eggenberger
1Running with gitlab-runner 16.6.0~beta.105.gd2263193 (d2263193)2 on green-3.private.runners-manager.gitlab.com/gitlab.com/gitlab-org QuQPoFsC, system ID: s_fc023362bf2f3 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.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:6c7370fd46a94d5beaed2a0304c7518e74a5759d4da3322ea9f7052507f51d80 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:1b39aac95406782d786043ec3f1772c0a3a5ce1b9ce28cf001cac9a290f366c8 ...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:f4c047edb00d9bbfcc2b002a01548fab14592940f5b3e6b3f227f690e3fa272d 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:9a1b6b68dc464f0baae914703d5b059e7773bf23c9579c44e2a1b1154a83656f ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:c9052246611fd2d9efcf620a05898778c045696a9ef664a13d2454e073dd05cc for redis:6.2-alpine with digest redis@sha256:80cc8518800438c684a53ed829c621c94afd1087aaeb59b0d4343ed3e7bcf6c5 ...20WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.21WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.22Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...23Authenticating with credentials from job payload (GitLab Registry)24Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...25Using docker image sha256:3019060693909c4761e3d0a55f31591cdc9a425c5caabc0efe58b7aac9af2245 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:39a04f1ad7b480c016bbb682d5525e272bc54bc252be03b1b9236b2375d81384 ...26Starting service elasticsearch:7.17.6 ...27Pulling docker image elasticsearch:7.17.6 ...28Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...29Waiting for services to be up and running (timeout 30 seconds)...30Authenticating with credentials from job payload (GitLab Registry)31Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...32Using docker image sha256:b6ecd857a9432dbcf3db944482b11a6539f3a0be42b882ff1b2e14c381fb46ad for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:1312a2d5cbb44b0f06794cc762e3b684b200c3e4c0ba6e458c61a641293b28c0 ...34Running on runner-quqpofsc-project-278964-concurrent-0 via runner-quqpofsc-private-1700666789-a7fa8ab3...36Fetching changes with git depth set to 20...37Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/38Created fresh repository.39remote: Enumerating objects: 160062, done. 40remote: Counting objects: 100% (160062/160062), done. 41remote: Compressing objects: 100% (106043/106043), done. 42remote: Total 160062 (delta 72911), reused 107612 (delta 47791), pack-reused 0 43Receiving objects: 100% (160062/160062), 141.24 MiB | 22.11 MiB/s, done.44Resolving deltas: 100% (72911/72911), done.46 * [new ref] refs/pipelines/1081810896 -> refs/pipelines/108181089647Checking out bc34b5b9 as detached HEAD (ref is refs/merge-requests/137025/merge)...48Skipping Git submodules setup49$ git remote set-url origin "${CI_REPOSITORY_URL}"51Checking cache for ruby-gems-debian-bullseye-ruby-3.1-16...52cache.zip is up to date 53Successfully extracted cache55Downloading artifacts for compile-test-assets (5597250154)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250154 responseStatus=200 OK token=64_d9hjj57Downloading artifacts for detect-tests (5597250235)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250235 responseStatus=200 OK token=64_d9hjj59Downloading artifacts for retrieve-tests-metadata (5597250273)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250273 responseStatus=200 OK token=64_d9hjj61Downloading artifacts for setup-test-env (5597250178)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250178 responseStatus=200 OK token=64_d9hjj64Using docker image sha256:b6ecd857a9432dbcf3db944482b11a6539f3a0be42b882ff1b2e14c381fb46ad for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.1.patched-golang-1.20-rust-1.73-node-18.17-postgresql-14@sha256:1312a2d5cbb44b0f06794cc762e3b684b200c3e4c0ba6e458c61a641293b28c0 ...65$ echo $FOSS_ONLY66$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb67$ export GOPATH=$CI_PROJECT_DIR/.go68$ mkdir -p $GOPATH69$ source scripts/utils.sh70$ source scripts/prepare_build.sh102Using decomposed database config (config/database.yml.decomposed-postgresql)103Geo DB will be set up.104Embedding DB will be set up.160$ source ./scripts/rspec_helpers.sh161$ run_timed_command "gem install knapsack --no-document"162$ gem install knapsack --no-document163Successfully installed knapsack-4.0.01641 gem installed165==> 'gem install knapsack --no-document' succeeded in 1 seconds.166$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"171$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"172$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"173$ tooling/bin/create_job_metrics_file || true174[job-metrics] Creating the job metrics file for the CI/CD job.175$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request"176RETRY_FAILED_TESTS_IN_NEW_PROCESS: true177KNAPSACK_GENERATE_REPORT: true178FLAKY_RSPEC_GENERATE_REPORT: true179KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb180KNAPSACK_LOG_LEVEL: debug181KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg14_1_5_report.json182FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json183FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg14_1_5_report.json184NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg14_1_5_report.json185RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-5597251745.txt186CRYSTALBALL: 187RSPEC_TESTS_MAPPING_ENABLED: 188RSPEC_TESTS_FILTER_FILE: 189Shell set options (set -o) enabled:190braceexpand on191hashall on192interactive-comments on193pipefail on194Running 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-5597251745.json --format RspecJunitFormatter --out rspec/rspec-5597251745.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request -- ee/spec/requests/api/search_spec.rb ee/spec/requests/api/merge_trains_spec.rb ee/spec/controllers/ee/groups_controller_spec.rb ee/spec/requests/api/protected_environments_spec.rb ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb ee/spec/controllers/oauth/geo_auth_controller_spec.rb ee/spec/requests/api/users_spec.rb ee/spec/controllers/groups/epic_issues_controller_spec.rb ee/spec/requests/groups/group_members_controller_spec.rb ee/spec/requests/api/discussions_spec.rb ee/spec/controllers/projects/settings/operations_controller_spec.rb ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb ee/spec/requests/api/graphql/project/issues_spec.rb ee/spec/requests/api/internal/kubernetes_spec.rb ee/spec/requests/projects/security/policies_controller_spec.rb ee/spec/controllers/subscriptions_controller_spec.rb ee/spec/requests/api/graphql/group/flow_metrics_spec.rb ee/spec/requests/api/graphql/vulnerabilities/vulnerability_spec.rb ee/spec/controllers/groups/epic_boards_controller_spec.rb ee/spec/requests/projects/tracing_controller_spec.rb ee/spec/controllers/projects/security/configuration_controller_spec.rb ee/spec/requests/api/license_spec.rb ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb ee/spec/requests/api/admin/search/zoekt_spec.rb ee/spec/requests/ee/registrations_controller_spec.rb ee/spec/requests/api/managed_licenses_spec.rb ee/spec/requests/api/graphql/dora/dora_scores_spec.rb ee/spec/controllers/admin/push_rules_controller_spec.rb ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb ee/spec/requests/api/saml_group_links_spec.rb ee/spec/requests/api/audit_events_spec.rb ee/spec/requests/api/graphql/project/work_items_spec.rb ee/spec/controllers/autocomplete_controller_spec.rb ee/spec/controllers/projects/path_locks_controller_spec.rb ee/spec/requests/api/iterations_spec.rb ee/spec/requests/api/graphql/mutations/epics/update_spec.rb ee/spec/requests/ee/application_controller_spec.rb ee/spec/requests/api/project_import_spec.rb ee/spec/controllers/groups/issues_controller_spec.rb ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb ee/spec/requests/api/graphql/vulnerabilities/fields_spec.rb ee/spec/requests/api/graphql/group/epic/notes_spec.rb ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb ee/spec/requests/ee/groups/autocomplete_sources_spec.rb ee/spec/requests/api/graphql/remote_development/workspaces/with_include_actual_states_arg_spec.rb ee/spec/requests/api/group_variables_spec.rb ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb ee/spec/requests/api/graphql/mutations/audit_events/amazon_s3_configurations/update_spec.rb ee/spec/requests/api/graphql/ci/runners_spec.rb ee/spec/requests/projects/settings/analytics_controller_spec.rb ee/spec/mailers/ci_minutes_usage_mailer_spec.rb ee/spec/requests/api/graphql/mutations/security/configuration/project_set_continuous_vulnerability_scanning_spec.rb ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb ee/spec/controllers/projects/deploy_keys_controller_spec.rb ee/spec/requests/api/graphql/remote_development/workspaces/with_ids_arg_spec.rb ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb ee/spec/requests/api/graphql/mutations/issues/update_spec.rb ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/instance_headers/update_spec.rb ee/spec/requests/rack_attack_spec.rb ee/spec/requests/groups/settings/roles_and_permissions_controller_spec.rb ee/spec/requests/api/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb ee/spec/requests/api/graphql/project/branch_protections/merge_access_levels_spec.rb ee/spec/requests/api/graphql/mutations/forecasting/build_forecast_spec.rb ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb ee/spec/requests/api/graphql/current_user/groups_query_spec.rb ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/create_spec.rb ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb ee/spec/requests/projects/security/scanned_resources_controller_spec.rb ee/spec/requests/api/graphql/mutations/issues/bulk_update_spec.rb ee/spec/requests/projects/security/corpus_management_controller_spec.rb ee/spec/requests/api/experiments_spec.rb ee/spec/requests/api/graphql/subscriptions/ai_completion_response_spec.rb ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb ee/spec/requests/api/graphql/mutations/vulnerabilities/resolve_spec.rb ee/spec/requests/api/graphql/incident_management/issuable_resource_links_spec.rb ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb ee/spec/controllers/projects/branches_controller_spec.rb ee/spec/requests/api/graphql/project/compliance_framework_filters_spec.rb ee/spec/requests/api/graphql/mutations/work_items/linked_items/add_spec.rb ee/spec/requests/api/templates_spec.rb ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb ee/spec/requests/api/graphql/ci/minutes/usage_spec.rb ee/spec/controllers/groups/roadmap_controller_spec.rb ee/spec/mailers/emails/enterprise_users_spec.rb ee/spec/requests/api/resource_weight_events_spec.rb ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb ee/spec/requests/api/project_snapshots_spec.rb ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb ee/spec/requests/api/composer_packages_spec.rb ee/spec/controllers/ee/projects/protected_branches_controller_spec.rb ee/spec/requests/api/issue_links_spec.rb ee/spec/controllers/admin/projects_controller_spec.rb ee/spec/requests/api/graphql/vulnerabilities/instance_vulnerability_count_by_day_spec.rb ee/spec/requests/api/project_milestones_spec.rb ee/spec/requests/groups/settings/reporting_controller_spec.rb ee/spec/requests/api/graphql/iterations/cadences_spec.rb ee/spec/requests/api/graphql/mutations/audit_events/instance_external_audit_event_destinations/destroy_spec.rb ee/spec/requests/api/graphql/product_analytics/visualizations_spec.rb ee/spec/requests/api/graphql/audit_events/instance/google_cloud_logging_configuration_spec.rb ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb ee/spec/requests/api/graphql/project/dast_profile_spec.rb ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb ee/spec/requests/api/graphql/mutations/member_role/update_member_role_spec.rb ee/spec/controllers/groups/security/compliance_dashboards_controller_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/instance_event_type_filters/create_spec.rb ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb ee/spec/controllers/projects/issue_links_controller_spec.rb ee/spec/controllers/ee/root_controller_spec.rb ee/spec/controllers/projects/iteration_cadences_controller_spec.rb ee/spec/requests/ee/confirmations_controller_spec.rb ee/spec/requests/groups/security/compliance_violation_reports_controller_spec.rb ee/spec/requests/api/internal/suggested_reviewers_spec.rb ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb ee/spec/controllers/security/vulnerabilities_controller_spec.rb ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb ee/spec/requests/api/graphql/project/pipeline/code_quality_report_summary_spec.rb ee/spec/requests/api/graphql/merge_requests/finding_reports_comparer_spec.rb ee/spec/requests/api/graphql/mutations/vulnerabilities/issue_link_create_spec.rb ee/spec/requests/api/graphql/analytics/contribution_analytics/contributions_spec.rb ee/spec/mailers/emails/compliance_violations_spec.rb ee/spec/requests/api/rubygem_packages_spec.rb ee/spec/controllers/ee/uploads_controller_spec.rb ee/spec/mailers/ee/emails/service_desk_spec.rb ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/update_spec.rb ee/spec/mailers/emails/in_product_marketing_spec.rb ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb ee/spec/mailers/emails/abandoned_trial_notification_spec.rb ee/spec/controllers/concerns/geo_instrumentation_spec.rb ee/spec/requests/groups/insights_controller_spec.rb ee/spec/requests/ee/verifies_with_email_spec.rb ee/spec/requests/api/graphql/group/value_stream_dashboard_usage_overview_spec.rb ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb ee/spec/requests/api/graphql/member_role/permissions_list_spec.rb ee/spec/controllers/countries_controller_spec.rb ee/spec/mailers/emails/epics_spec.rb ee/spec/requests/ide_controller_spec.rb ee/spec/controllers/profiles/keys_controller_spec.rb ee/spec/requests/api/graphql/ci/queueing_history_spec.rbKnapsack report generator started!195INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree196INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"197INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows198INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"199INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows200INFO: analyzing "public.p_ci_job_annotations" inheritance tree201INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"202INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows203INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"204INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows205INFO: analyzing "public.p_ci_builds_metadata" inheritance tree206INFO: analyzing "public.ci_builds_metadata"207INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows208INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"209INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows210INFO: analyzing "public.p_ci_builds" inheritance tree211INFO: analyzing "public.ci_builds"212INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows213INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101"214INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows215INFO: analyzing "public.p_ci_runner_machine_builds" inheritance tree216INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_100"217INFO: "ci_runner_machine_builds_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows218INFO: analyzing "gitlab_partitions_dynamic.ci_runner_machine_builds_101"219INFO: "ci_runner_machine_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows220INFO: analyzing "public.p_ci_job_annotations" inheritance tree221INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_100"222INFO: "ci_job_annotations_100": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows223INFO: analyzing "gitlab_partitions_dynamic.ci_job_annotations_101"224INFO: "ci_job_annotations_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows225INFO: analyzing "public.p_ci_builds_metadata" inheritance tree226INFO: analyzing "public.ci_builds_metadata"227INFO: "ci_builds_metadata": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows228INFO: analyzing "gitlab_partitions_dynamic.ci_builds_metadata_101"229INFO: "ci_builds_metadata_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows230INFO: analyzing "public.p_ci_builds" inheritance tree231INFO: analyzing "public.ci_builds"232INFO: "ci_builds": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows233INFO: analyzing "gitlab_partitions_dynamic.ci_builds_101"234INFO: "ci_builds_101": scanned 0 of 0 pages, containing 0 live rows and 0 dead rows; 0 rows in sample, 0 estimated total rows235WARNING: Shared example group agent token tracking was defined without a block and will have no effect. Please define a block or remove the definition.. Called from /builds/gitlab-org/gitlab/ee/spec/requests/api/internal/kubernetes_spec.rb:382:in `block (2 levels) in <top (required)>'.236Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true}237unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.238unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.239Test environment set up in 0.681414713 seconds240API::Search241 GET /search242 with correct params243 when elasticsearch is disabled244 sets global search information for logging245 behaves like elasticsearch disabled246 returns 400 error for wiki_blobs, blobs and commits scope247 when elasticsearch is enabled248 sets global search information for logging249 when elasticsearch_limit_indexing is on250 and namespace is indexed251 behaves like elasticsearch enabled252 for merge_requests scope253 avoids N+1 queries254 behaves like pagination255 returns a different result for each page256 behaves like orderable by created_at257 allows ordering results by created_at asc258 allows ordering results by created_at desc259 for wiki_blobs scope260 behaves like response is correct261 responds correctly262 behaves like pagination263 returns a different result for each page264 for commits and blobs265 for commits scope266 avoids N+1 queries267 behaves like response is correct268 responds correctly269 behaves like pagination270 returns a different result for each page271 for blobs scope272 avoids N+1 queries273 behaves like response is correct274 responds correctly275 behaves like pagination276 returns a different result for each page277 filters278 with an including filter279 by filename280 by path281 by extension282 with an excluding filter283 by filename284 by path285 by extension286 for issues scope287 avoids N+1 queries288 behaves like pagination289 returns a different result for each page290 behaves like orderable by created_at291 allows ordering results by created_at asc292 allows ordering results by created_at desc293 for projects scope294 avoids N+1 queries295 behaves like pagination296 returns a different result for each page297 for milestones scope298 avoids N+1 queries299 behaves like pagination300 returns a different result for each page301 for users scope302 avoids N+1 queries303 behaves like pagination304 returns a different result for each page305 for notes scope306 behaves like pagination307 returns a different result for each page308 for snippet_titles scope309 behaves like pagination310 returns a different result for each page311 when elasticsearch_limit_indexing off312 behaves like elasticsearch enabled313 for merge_requests scope314 avoids N+1 queries315 behaves like pagination316 returns a different result for each page317 behaves like orderable by created_at318 allows ordering results by created_at asc319 allows ordering results by created_at desc320 for wiki_blobs scope321 behaves like response is correct322 responds correctly323 behaves like pagination324 returns a different result for each page325 for commits and blobs326 for commits scope327 avoids N+1 queries328 behaves like response is correct329 responds correctly330 behaves like pagination331 returns a different result for each page332 for blobs scope333 avoids N+1 queries334 behaves like response is correct335 responds correctly336 behaves like pagination337 returns a different result for each page338 filters339 with an including filter340 by filename341 by path342 by extension343 with an excluding filter344 by filename345 by path346 by extension347 for issues scope348 avoids N+1 queries349 behaves like pagination350 returns a different result for each page351 behaves like orderable by created_at352 allows ordering results by created_at asc353 allows ordering results by created_at desc354 for projects scope355 avoids N+1 queries356 behaves like pagination357 returns a different result for each page358 for milestones scope359 avoids N+1 queries360 behaves like pagination361 returns a different result for each page362 for users scope363 avoids N+1 queries364 behaves like pagination365 returns a different result for each page366 for notes scope367 behaves like pagination368 returns a different result for each page369 for snippet_titles scope370 behaves like pagination371 returns a different result for each page372 GET /groups/:id/-/search373 with correct params374 when elasticsearch is disabled375 behaves like elasticsearch disabled376 returns 400 error for wiki_blobs, blobs and commits scope377 when elasticsearch is enabled378 when elasticsearch_limit_indexing is on379 when the namespace is indexed380 behaves like elasticsearch enabled381 for merge_requests scope382 avoids N+1 queries383 behaves like pagination384 returns a different result for each page385 behaves like orderable by created_at386 allows ordering results by created_at asc387 allows ordering results by created_at desc388 for wiki_blobs scope389 behaves like response is correct390 responds correctly391 behaves like pagination392 returns a different result for each page393 for commits and blobs394 for commits scope395 avoids N+1 queries396 behaves like response is correct397 responds correctly398 behaves like pagination399 returns a different result for each page400 for blobs scope401 avoids N+1 queries402 behaves like response is correct403 responds correctly404 behaves like pagination405 returns a different result for each page406 filters407 with an including filter408 by filename409 by path410 by extension411 with an excluding filter412 by filename413 by path414 by extension415 for issues scope416 avoids N+1 queries417 behaves like pagination418 returns a different result for each page419 behaves like orderable by created_at420 allows ordering results by created_at asc421 allows ordering results by created_at desc422 for projects scope423 avoids N+1 queries424 behaves like pagination425 returns a different result for each page426 for milestones scope427 avoids N+1 queries428 behaves like pagination429 returns a different result for each page430 for users scope431 avoids N+1 queries432 behaves like pagination433 returns a different result for each page (FAILED - 1)4351st Try error in ./ee/spec/requests/api/search_spec.rb:22:436expected: 1437 got: 0438(compared using ==)440RSpec::Retry: 2nd try ./ee/spec/requests/api/search_spec.rb:22441 for notes scope442 behaves like pagination443 returns a different result for each page444 when the namespace is not indexed445 behaves like elasticsearch disabled446 returns 400 error for wiki_blobs, blobs and commits scope447 when elasticsearch_limit_indexing off448 behaves like elasticsearch enabled449 for merge_requests scope450 avoids N+1 queries451 behaves like pagination452 returns a different result for each page453 behaves like orderable by created_at454 allows ordering results by created_at asc455 allows ordering results by created_at desc456 for wiki_blobs scope457 behaves like response is correct458 responds correctly459 behaves like pagination460 returns a different result for each page461 for commits and blobs462 for commits scope463 avoids N+1 queries464 behaves like response is correct465 responds correctly466 behaves like pagination467 returns a different result for each page468 for blobs scope469 avoids N+1 queries470 behaves like response is correct471 responds correctly472 behaves like pagination473 returns a different result for each page474 filters475 with an including filter476 by filename477 by path478 by extension479 with an excluding filter480 by filename481 by path482 by extension483 for issues scope484 avoids N+1 queries485 behaves like pagination486 returns a different result for each page487 behaves like orderable by created_at488 allows ordering results by created_at asc489 allows ordering results by created_at desc490 for projects scope491 avoids N+1 queries492 behaves like pagination493 returns a different result for each page494 for milestones scope495 avoids N+1 queries496 behaves like pagination497 returns a different result for each page498 for users scope499 avoids N+1 queries500 behaves like pagination501 returns a different result for each page502 for notes scope503 behaves like pagination504 returns a different result for each page505 GET /projects/:id/-/search506 with correct params507 when elasticsearch is disabled508 behaves like search enabled509 for wiki_blobs scope510 behaves like response is correct511 responds correctly512 for commits scope513 behaves like response is correct514 responds correctly515 for blobs scope516 behaves like response is correct517 responds correctly518 filters519 by filename520 by path521 by extension522 by ref523 when elasticsearch is enabled524 when elasticsearch_limit_indexing is on525 when the project is indexed526 behaves like elasticsearch enabled527 for merge_requests scope528 avoids N+1 queries529 behaves like pagination530 returns a different result for each page531 behaves like orderable by created_at532 allows ordering results by created_at asc533 allows ordering results by created_at desc534 for wiki_blobs scope535 behaves like response is correct536 responds correctly537 behaves like pagination538 returns a different result for each page539 for commits and blobs540 for commits scope541 avoids N+1 queries542 behaves like response is correct543 responds correctly544 behaves like pagination545 returns a different result for each page546 for blobs scope547 avoids N+1 queries548 behaves like response is correct549 responds correctly550 behaves like pagination551 returns a different result for each page552 filters553 with an including filter554 by filename555 by path556 by extension557 with an excluding filter558 by filename559 by path560 by extension561 for issues scope562 avoids N+1 queries563 behaves like pagination564 returns a different result for each page565 behaves like orderable by created_at566 allows ordering results by created_at asc567 allows ordering results by created_at desc568 for milestones scope569 avoids N+1 queries570 behaves like pagination571 returns a different result for each page572 for users scope573 avoids N+1 queries574 behaves like pagination575 returns a different result for each page (FAILED - 2)5771st Try error in ./ee/spec/requests/api/search_spec.rb:22:578expected: 1579 got: 0580(compared using ==)582RSpec::Retry: 2nd try ./ee/spec/requests/api/search_spec.rb:22583 for notes scope584 behaves like pagination585 returns a different result for each page586 when the project is not indexed587 behaves like search enabled588 for wiki_blobs scope589 behaves like response is correct590 responds correctly591 for commits scope592 behaves like response is correct593 responds correctly594 for blobs scope595 behaves like response is correct596 responds correctly597 filters598 by filename599 by path600 by extension601 by ref602 when elasticsearch_limit_indexing off603 behaves like elasticsearch enabled604 for merge_requests scope605 avoids N+1 queries606 behaves like pagination607 returns a different result for each page608 behaves like orderable by created_at609 allows ordering results by created_at asc610 allows ordering results by created_at desc611 for wiki_blobs scope612 behaves like response is correct613 responds correctly614 behaves like pagination615 returns a different result for each page616 for commits and blobs617 for commits scope618 avoids N+1 queries619 behaves like response is correct620 responds correctly621 behaves like pagination622 returns a different result for each page623 for blobs scope624 avoids N+1 queries625 behaves like response is correct626 responds correctly627 behaves like pagination628 returns a different result for each page629 filters630 with an including filter631 by filename632 by path633 by extension634 with an excluding filter635 by filename636 by path637 by extension638 for issues scope639 avoids N+1 queries640 behaves like pagination641 returns a different result for each page642 behaves like orderable by created_at643 allows ordering results by created_at asc644 allows ordering results by created_at desc645 for milestones scope646 avoids N+1 queries647 behaves like pagination648 returns a different result for each page649 for users scope650 avoids N+1 queries651 behaves like pagination652 returns a different result for each page653 for notes scope654 behaves like pagination655 returns a different result for each page656API::MergeTrains657 GET /projects/:id/merge_trains658 when there are two merge trains659 returns merge trains sorted by id in descending order660 does not have N+1 problem661 when sort is specified662 returns merge trains sorted by id in ascending order663 when scope is specified664 when scope is active665 returns active merge trains666 when scope is complete667 returns complete merge trains668 when user is guest669 forbids the request670 GET /projects/:id/merge_trains/:target_branch671 when the project and target branch exist672 with no params673 returns the target branch merge train cars674 with ascending sort675 returns the target branch merge train cars ascending676 with descending sort677 returns the target branch merge train cars descending678 with scope active679 returns the active target branch merge train cars680 when the target branch does not exist681 returns no merge train cars682 when the user does not have project access683 returns forbidden684 GET /projects/:id/merge_trains/merge_requests/:merge_request_iid685 when the project and target branch exist686 returns the target branch merge train cars687 when the user does not have project access688 returns forbidden689 when the merge request does not exist690 returns not found691 when merge request is not in a merge train692 returns not found693 POST /projects/:id/merge_trains/merge_requests/:merge_request_iid694 with valid merge request iid695 behaves like succeeds to add to merge train696 succeeds to add to merge train697 with invalid merge request iid698 exits with invalid return code699 with no params700 sets a default SHA701 behaves like succeeds to add to merge train702 succeeds to add to merge train703 with valid parameters704 behaves like succeeds to add to merge train705 succeeds to add to merge train706 with extra parameters707 ignores the param and continues708 with when_pipeline_succeeds enabled709 when pipeline is not completed710 returns status accepted711 when sha is provided and matches712 behaves like succeeds to add to merge train713 succeeds to add to merge train714 when sha is provided and doesn't match715 returns status conflict716 when user is guest717 returns forbidden before reaching the api endpoint718 when the service object fails719 returns status unauthorized720 when the service object returns an unexpected response721 returns bad request722GroupsController723 GET #show724 behaves like namespace storage limit alert725 does render726 when user has dismissed already727 does not render alert728 behaves like seat count alert729 when the namespace qualifies for the alert730 sets the seat_count_data731 when the namespace does not qualify for the alert732 sets the seat_count_data to nil733 with free user cap performance concerns734 avoids extra user count queries735 GET #activity736 when authorized737 when group events are available738 includes events from group and subgroups739 when group events are not available740 does not include events from group and subgroups741 when unauthorized742 includes only events visible to user743 POST #restore744 when authenticated user can admin the group745 delayed deletion feature is available746 success747 restores the group748 renders success notice upon restoring749 failure750 does not restore the group751 redirects to group edit page752 delayed deletion feature is not available753 returns 404754 when authenticated user cannot admin the group755 returns 404756 DELETE #destroy757 when authenticated user can admin the group758 delayed deletion feature is available759 success760 marks the group for delayed deletion761 does not immediately delete the group762 redirects to group path with notice about delayed deletion763 failure764 does not mark the group for deletion765 redirects to group edit page766 when group is already marked for deletion767 when permanently_remove param is set768 deletes the group immediately769 when permanently_remove param is not set770 does nothing771 delayed deletion feature is not available772 immediately schedules a group destroy773 redirects to root page with alert about immediate deletion774 when authenticated user cannot admin the group775 returns 404776 POST #create777 authorization778 allows an auditor with "can_create_group" set to true to create a group779 behaves like GroupInviteMembers780 when inviting members781 without valid emails in the params782 no invites generated by default783 does not track the event784 with valid emails in the params785 adds users with developer access and ignores blank and invalid emails786 tracks the event787 when creating a group with `default_branch_protection` attribute788 authenticated as an admin789 feature_enabled: false, setting_enabled: false, default_branch_protection: 0790 behaves like creates the group with the expected `default_branch_protection` value791 creates the group with the expected `default_branch_protection` value792 feature_enabled: false, setting_enabled: true, default_branch_protection: 0793 behaves like creates the group with the expected `default_branch_protection` value794 creates the group with the expected `default_branch_protection` value795 feature_enabled: true, setting_enabled: false, default_branch_protection: 0796 behaves like creates the group with the expected `default_branch_protection` value797 creates the group with the expected `default_branch_protection` value798 feature_enabled: false, setting_enabled: false, default_branch_protection: 0799 behaves like creates the group with the expected `default_branch_protection` value800 creates the group with the expected `default_branch_protection` value801 authenticated a normal user802 feature_enabled: false, setting_enabled: false, default_branch_protection: 0803 behaves like creates the group with the expected `default_branch_protection` value804 creates the group with the expected `default_branch_protection` value805 feature_enabled: false, setting_enabled: true, default_branch_protection: 0806 behaves like creates the group with the expected `default_branch_protection` value807 creates the group with the expected `default_branch_protection` value808 feature_enabled: true, setting_enabled: false, default_branch_protection: 2809 behaves like creates the group with the expected `default_branch_protection` value810 creates the group with the expected `default_branch_protection` value811 feature_enabled: false, setting_enabled: false, default_branch_protection: 0812 behaves like creates the group with the expected `default_branch_protection` value813 creates the group with the expected `default_branch_protection` value814 PUT #update815 when max_pages_size param is specified816 when user is an admin with admin mode enabled817 updates max_pages_size818 when user is an admin with admin mode disabled819 does not update max_pages_size820 when user is not an admin821 does not update max_pages_size822 when `max_personal_access_token_lifetime` is specified823 without `personal_access_token_expiration_policy` licensed824 does not update the attribute825 doesn't call the update lifetime service826 with personal_access_token_expiration_policy licensed827 when `max_personal_access_token_lifetime` is updated to a non-null value828 updates the attribute829 executes the update lifetime service830 when `max_personal_access_token_lifetime` is updated to null value831 updates the attribute832 doesn't call the update lifetime service833 when `code_suggestions` is specified834 with `ai_assist_ui_enabled` enabled835 when enabling836 allows the parameter837 when disabling838 allows the parameter839 when group is a subgroup840 does not allow changes to a subgroup841 with `ai_assist_ui_enabled` disabled842 does not allow the parameter843 when `default_branch_protection` is specified844 authenticated as admin845 feature_enabled: false, setting_enabled: false, default_branch_protection: 0846 behaves like updates the attribute847 updates the attribute848 feature_enabled: false, setting_enabled: true, default_branch_protection: 0849 behaves like updates the attribute850 updates the attribute851 feature_enabled: true, setting_enabled: false, default_branch_protection: 0852 behaves like updates the attribute853 updates the attribute854 feature_enabled: false, setting_enabled: false, default_branch_protection: 0855 behaves like updates the attribute856 updates the attribute857 authenticated as group owner858 feature_enabled: false, setting_enabled: false, default_branch_protection: 0859 behaves like updates the attribute860 updates the attribute861 feature_enabled: false, setting_enabled: true, default_branch_protection: 0862 behaves like updates the attribute863 updates the attribute864 feature_enabled: true, setting_enabled: false, default_branch_protection: 2865 behaves like updates the attribute866 updates the attribute867 feature_enabled: false, setting_enabled: false, default_branch_protection: 0868 behaves like updates the attribute869 updates the attribute870 when `delayed_project_removal` and `lock_delayed_project_removal` params are specified871 when feature is available872 behaves like does not allow storing of settings873 does not allow storing of settings874 when feature is not available875 behaves like does not allow storing of settings876 does not allow storing of settings877 when service_access_tokens_expiration_enforced is specified878 when authenticated as group owner879 feature_enabled: false, service_access_tokens_expiration_enforced: false, result: true880 behaves like updates the attribute if needed881 updates the attribute882 feature_enabled: false, service_access_tokens_expiration_enforced: true, result: true883 behaves like updates the attribute if needed884 updates the attribute885 feature_enabled: true, service_access_tokens_expiration_enforced: false, result: false886 behaves like updates the attribute if needed887 updates the attribute888 feature_enabled: true, service_access_tokens_expiration_enforced: true, result: true889 behaves like updates the attribute if needed890 updates the attribute891 when `prevent_forking_outside_group` is specified892 authenticated as group owner893 feature_enabled: false, prevent_forking_outside_group: false, result: nil894 behaves like updates the attribute if needed895 updates the attribute896 feature_enabled: false, prevent_forking_outside_group: true, result: nil897 behaves like updates the attribute if needed898 updates the attribute899 feature_enabled: true, prevent_forking_outside_group: false, result: false900 behaves like updates the attribute if needed901 updates the attribute902 feature_enabled: true, prevent_forking_outside_group: true, result: true903 behaves like updates the attribute if needed904 updates the attribute905 when `new_user_signups_cap` is specified906 authenticated as group owner907 new_user_signups_cap: nil, result: nil, status: :found908 behaves like updates the attribute909 updates the attribute910 new_user_signups_cap: 10, result: 10, status: :found911 behaves like updates the attribute912 updates the attribute913 when group feature setting `wiki_access_level` is specified914 updates the attribute915 when group wiki licensed feature is not enabled for the group916 does not update the attribute917 when updating ip_restriction_ranges is specified918 for users who have the usage_ping_features activated919 updates the attribute920 for users who don't have the usage_ping_features activated921 does not update the attribute922 when ai settings are specified923 updates the attribute924 when ai license features are not available for the group925 does not update attributes926 #ai_assist_ui_enabled?927 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: group, check_namespace_plan: false, result: false928 is expected to eq false929 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: nil, check_namespace_plan: false, result: false930 is expected to eq false931 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: false, result: false932 is expected to eq false933 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: group, check_namespace_plan: true, result: false934 is expected to eq false935 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: nil, check_namespace_plan: true, result: false936 is expected to eq false937 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: true, result: false938 is expected to eq false939 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: group, check_namespace_plan: false, result: false940 is expected to eq false941 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: nil, check_namespace_plan: false, result: false942 is expected to eq false943 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: false, result: false944 is expected to eq false945 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: group, check_namespace_plan: true, result: false946 is expected to eq false947 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: nil, check_namespace_plan: true, result: false948 is expected to eq false949 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: true, result: false950 is expected to eq false951 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: group, check_namespace_plan: false, result: false952 is expected to eq false953 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: nil, check_namespace_plan: false, result: false954 is expected to eq false955 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: false, result: false956 is expected to eq false957 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: group, check_namespace_plan: true, result: true958 is expected to eq true959 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: nil, check_namespace_plan: true, result: false960 is expected to eq false961 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: true, result: false962 is expected to eq false963 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: group, check_namespace_plan: false, result: false964 is expected to eq false965 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: nil, check_namespace_plan: false, result: false966 is expected to eq false967 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: false, result: false968 is expected to eq false969 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: group, check_namespace_plan: true, result: false970 is expected to eq false971 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: nil, check_namespace_plan: true, result: false972 is expected to eq false973 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: true, result: false974 is expected to eq false975API::ProtectedEnvironments976 GET /projects/:id/protected_environments977 when authenticated as a maintainer978 returns the protected environments979 behaves like requests for non-maintainers980 is expected to be denied for :guest981 is expected to be denied for :developer982 is expected to be denied for :reporter983 is expected to be denied for :anonymous984 GET /projects/:id/protected_environments/:environment985 when authenticated as a maintainer986 returns the protected environment987 with multiple approval rules988 returns the protected environment989 when protected environment does not exist990 behaves like 404 response991 returns 404992 behaves like requests for non-maintainers993 is expected to be denied for :guest994 is expected to be denied for :developer995 is expected to be denied for :reporter996 is expected to be denied for :anonymous997 POST /projects/:id/protected_environments/998 when authenticated as a maintainer999 protects the environment with user allowed to deploy1000 protects the environment with group allowed to deploy1001 protects the environment with maintainers allowed to deploy1002 returns 409 error if environment is already protected1003 protects the environment and require approvals1004 returns error with invalid deploy access level1005 without deploy_access_levels1006 behaves like 400 response1007 returns 4001008 behaves like requests for non-maintainers1009 is expected to be denied for :guest1010 is expected to be denied for :developer1011 is expected to be denied for :reporter1012 is expected to be denied for :anonymous1013 PUT /projects/:id/protected_environments/:name1014 when authenticated as maintainer1015 behaves like requests to update deploy access levels1016 updates the environment / creating deploy access level1017 updates the environment / updating deploy access level1018 updates the environment / deleting deploy access level / failed1019 updates the environment / deleting deploy access level / succeed1020 updates the environment / updating required approval count1021 behaves like requests to update approval rules1022 updates the environment / creating approval rule1023 updates the environment / updating approval rule1024 updates the environment / deleting approval rule1025 with invalid deploy_access_level1026 returns error with invalid deploy access level1027 when protected environment does not exist1028 returns a not found error1029 behaves like requests for non-maintainers1030 is expected to be denied for :guest1031 is expected to be denied for :developer1032 is expected to be denied for :reporter1033 is expected to be denied for :anonymous1034 DELETE /projects/:id/protected_environments/:environment1035 when authenticated as a maintainer1036 unprotects the environment1037 behaves like requests for non-maintainers1038 is expected to be denied for :guest1039 is expected to be denied for :developer1040 is expected to be denied for :reporter1041 is expected to be denied for :anonymous1042 GET /groups/:id/protected_environments1043 behaves like group-level request is disallowed for maintainer1044 is expected to be denied for :maintainer1045 when authenticated as a owner1046 returns the protected environments1047 GET /groups/:id/protected_environments/:environment1048 behaves like group-level request is disallowed for maintainer1049 is expected to be denied for :maintainer1050 when authenticated as a owner1051 returns the protected environment1052 with multiple approval rules1053 returns the protected environment1054 when protected environment does not exist1055 behaves like 404 response1056 returns 4041057 POST /groups/:id/protected_environments/1058 behaves like group-level request is disallowed for maintainer1059 is expected to be denied for :maintainer1060 when authenticated as a owner1061 protects the environment with user allowed to deploy1062 protects the environment with group allowed to deploy1063 protects the environment with shared group allowed to deploy1064 protects the environment with maintainers allowed to deploy1065 protects the environment with group allowed to deploy with inheritance1066 protects the environment and require approvals1067 returns 409 error if environment is already protected1068 returns error with invalid deploy access level1069 without deploy_access_levels1070 behaves like 400 response1071 returns 4001072 PUT /groups/:id/protected_environments/:name1073 behaves like group-level request is disallowed for maintainer1074 is expected to be denied for :maintainer1075 when authenticated as a owner1076 updates the environment with shared group allowed to deploy1077 updates the environment with group allowed to deploy with inheritance1078 returns error with invalid deploy access level1079 behaves like requests to update deploy access levels1080 updates the environment / creating deploy access level1081 updates the environment / updating deploy access level1082 updates the environment / deleting deploy access level / failed1083 updates the environment / deleting deploy access level / succeed1084 updates the environment / updating required approval count1085 behaves like requests to update approval rules1086 updates the environment / creating approval rule1087 updates the environment / updating approval rule1088 updates the environment / deleting approval rule1089 behaves like requests for non-maintainers1090 is expected to be denied for :guest1091 is expected to be denied for :developer1092 is expected to be denied for :reporter1093 is expected to be denied for :anonymous1094 DELETE /groups/:id/protected_environments/:environment1095 behaves like group-level request is disallowed for maintainer1096 is expected to be denied for :maintainer1097 when authenticated as a owner1098 unprotects the environment1099Projects::VulnerabilityFeedbackController1100 GET #count1101 @vulnerability_feedback1102 returns a successful 200 response1103 returns project feedbacks list1104 with filter params1105 returns project feedbacks list filtered on category1106 returns project feedbacks list filtered on feedback_type1107 returns project feedbacks list filtered on category and feedback_type1108 GET #index1109 @vulnerability_feedback1110 returns a successful 200 response1111 returns project feedbacks list1112 when pagination parameters are given1113 when page and per page are given1114 returns the desired quantity of vulnerability_feedbacks1115 when a following page is requested1116 returns the expected vulnerability_feedbacks per pagination1117 when just page is given1118 returns the default quantity of vulnerability_feedbacks1119 when just per_page is given1120 returns the desired quantity of vulnerability_feedbacks1121 returns the first page of vulnerability_feedbacks1122 when an invalid page is given1123 returns the desired quantity of vulnerability_feedbacks1124 returns the first page of vulnerability_feedbacks1125 when an invalid per_page is given1126 returns the default quantity of vulnerability_feedbacks1127 returns the first page of vulnerability_feedbacks1128 when the pipeline has been set to another project1129 does not present the pipeline1130 with filter params1131 returns project feedbacks list filtered on category1132 returns project feedbacks list filtered on feedback_type1133 returns project feedbacks list filtered on category and feedback_type1134 with unauthorized user for given project1135 returns a 404 response1136 POST #create1137 with valid params1138 behaves like vulnerability response1139 renders vulnerability serializer with vulnerability object1140 when id of a vulnerability is not provided1141 creates no vulnerability issue link for related vulnerability1142 when id of a vulnerability is provided1143 creates vulnerability issue link for related vulnerability1144 with invalid params1145 returns a forbidden 403 response when feedbback_type is nil1146 returns a forbidden 403 response when feedbback_type is invalid1147 with unauthorized user for feedback creation1148 for issue feedback1149 returns a forbidden 403 response1150 for merge_request feedback1151 returns a forbidden 403 response1152 for dismissal feedback1153 returns a forbidden 403 response1154 with unauthorized user for given project1155 returns a 404 response1156 with pipeline in another project1157 returns a 422 response1158 with nonexistent pipeline_id1159 returns a 422 response1160 with nil pipeline_id1161 behaves like vulnerability response1162 renders vulnerability serializer with vulnerability object1163 PATCH #update1164 with valid params1165 renders vulnerability serializer with vulnerability object1166 returns a successful 200 response1167 updates the comment attributes1168 with invalid params1169 returns a not found 404 response for invalid vulnerability feedback id1170 with unauthorized user for feedback update1171 returns a forbidden 403 response1172 with unauthorized user for given project1173 returns a 404 response1174 DELETE #destroy1175 with valid params1176 returns a successful 204 response1177 with invalid params1178 returns a not found 404 response for invalid vulnerability feedback id1179 with unauthorized user for feedback deletion1180 returns a forbidden 403 response1181 with unauthorized user for given project1182 returns a 404 response1183 for issue feedback1184 returns a forbidden 403 response1185 for merge_request feedback1186 returns a forbidden 403 response1187Oauth::GeoAuthController1188 GET auth1189 redirects to root_url when state is invalid1190 without a tampered header1191 behaves like a valid redirect to to primary node's oauth endpoint1192 redirects to primary node's oauth endpoint1193 with a tampered HOST header1194 behaves like a valid redirect to to primary node's oauth endpoint1195 redirects to primary node's oauth endpoint1196 with a tampered X-Forwarded-Host header1197 behaves like a valid redirect to to primary node's oauth endpoint1198 redirects to primary node's oauth endpoint1199 GET callback1200 redirection1201 redirects to login screen if state is invalid1202 with a valid state1203 does not display a flash message1204 without a tampered header1205 behaves like a valid redirect to redirect_url1206 redirects to primary node's oauth endpoint1207 with a tampered HOST header1208 behaves like a valid redirect to redirect_url1209 redirects to primary node's oauth endpoint1210 with a tampered X-Forwarded-Host header1211 behaves like a valid redirect to redirect_url1212 redirects to primary node's oauth endpoint1213 invalid credentials1214 handles invalid credentials error1215 non-existent remote user1216 handles non-existent remote user error1217 non-existent local user1218 handles non-existent local user error1219 GET logout1220 when access_token is valid1221 logs out and redirects to the root_url1222 when access_token is invalid1223 shows access token errors1224API::Users1225 updating name1226 behaves like PUT request permissions for admin mode1227 behaves like when admin1228 behaves like makes request1229 returns1230 behaves like makes request1231 returns1232 behaves like when user1233 returns1234 behaves like makes request1235 returns1236 when authenticated and ldap is enabled1237 returns non-ldap user1238 when `disable_name_update_for_users` feature is available1239 when the ability to update their name is disabled for users1240 behaves like admin can update the name of a user1241 updates the user with new name1242 when the ability to update their name is not disabled for users1243 behaves like admin can update the name of a user1244 updates the user with new name1245 when `disable_name_update_for_users` feature is not available1246 behaves like admin can update the name of a user1247 updates the user with new name1248 extended audit events1249 PUT /users/:id1250 creates audit event when updating user with new password1251 behaves like PUT request permissions for admin mode1252 behaves like when admin1253 behaves like makes request1254 returns1255 behaves like makes request1256 returns1257 behaves like when user1258 returns1259 behaves like makes request1260 returns1261 POST /users/:id/block1262 creates audit event when blocking user1263 behaves like POST request permissions for admin mode1264 behaves like when admin1265 behaves like makes request1266 returns1267 behaves like makes request1268 returns1269 behaves like when user1270 returns1271 behaves like makes request1272 returns1273 POST /user/keys1274 creates audit event when user adds a new SSH key1275 POST /users/:id/keys1276 creates audit event when admin adds a new key for a user1277 behaves like POST request permissions for admin mode1278 behaves like when admin1279 behaves like makes request1280 returns1281 behaves like makes request1282 returns1283 behaves like when user1284 returns1285 behaves like makes request1286 returns1287 shared_runners_minutes_limit1288 PUT /users/:id1289 when user is an admin1290 updates shared_runners_minutes_limit1291 when user is not an admin1292 cannot update their own shared_runners_minutes_limit1293 when auditor field is specified1294 PUT /users/:id1295 when user is an admin1296 updates auditor status for the user1297 when licensed_feature is not available1298 cannot update auditor status for the user1299 when user is not an admin1300 cannot update auditor status for the user1301 POST /users/1302 behaves like POST request permissions for admin mode1303 behaves like when admin1304 behaves like makes request1305 returns1306 behaves like makes request1307 returns1308 behaves like when user1309 returns1310 behaves like makes request1311 returns1312 when user is an admin1313 creates user with auditor status1314 when licensed_feature is not available1315 cannot create user with auditor status1316 when user is not an admin1317 cannot create user with auditor status1318 with group SAML1319 creates user with new identity1320 creates user with new identity without sending reset password email1321 updates user with new identity1322 fails to update user with nonexistent identity1323 fails to update user with nonexistent provider1324 contains provisioned_by_group_id parameter1325 behaves like POST request permissions for admin mode1326 behaves like when admin1327 behaves like makes request1328 returns1329 behaves like makes request1330 returns1331 behaves like when user1332 returns1333 behaves like makes request1334 returns1335 GET /api/users?saml_provider_id1336 querying users by saml provider id1337 returns only users for the saml_provider_id1338 GET /api/users?auditors=true1339 querying users who are auditors1340 returns all users1341 GET /user/:id1342 when authenticated1343 as an admin1344 contains scim_identities parameter1345 and user has a plan1346 contains is_auditor parameter1347 and user is not a trial user1348 contains plan and trial1349 and user is a trial user1350 contains plan and trial1351 and user has no plan1352 returns `nil` for both plan and trial1353 as a user1354 does not contain plan and trial info1355 does not contain is_auditor parameter1356 does not contain provisioned_by_group_id parameter1357 does not contain scim_identities parameter1358 when not authenticated1359 does not contain plan and trial info1360 POST /users/:user_id/personal_access_tokens1361 when the user is a service account1362 when the feature is licensed1363 when the user is an admin1364 with required params1365 does not allow PAT creation1366 when admin mode enabled1367 allows PAT creation1368 when missing params1369 does not allow PAT creation1370 when the user is not an admin1371 does not allow PAT creation1372 when the feature is not licensed1373 does not allow PAT creation1374 POST /user/personal_access_tokens1375 when disable_personal_access_tokens feature is available1376 when personal access tokens are disabled in settings1377 does not create a personal access token1378 when personal access tokens are enabled in settings1379 creates a personal access token1380 GET /api/users?extern_uid=:extern_uid&provider=scim1381 querying users by SCIM identity as an admin1382 returns only users for the extern_uid1383 GET /user/preferences1384 when authenticated1385 gets user preferences1386 PUT /user/preferences1387 when authenticated1388 updates user preferences1389 updates user namespace preferences1390Groups::EpicIssuesController1391 GET #index1392 behaves like unlicensed epics action1393 returns 403 status1394 when epics feature is enabled1395 when user has access to epic1396 returns status 2001397 returns the correct json1398 when user does not have access to epic1399 returns 404 status1400 POST #create1401 behaves like unlicensed epics action1402 returns 403 status1403 when epics feature is enabled1404 when user has permissions to create requested association1405 returns correct response for the correct issue reference1406 creates a new EpicIssue record1407 when user does not have permissions to create requested association1408 returns correct response for the correct issue reference1409 does not create a new EpicIssue record1410 DELETE #destroy1411 behaves like unlicensed epics action1412 returns 403 status1413 when epics feature is enabled1414 when user has permissions to delete the link1415 returns status 2001416 destroys the link1417 when user does not have permissions to delete the link1418 returns status 4031419 does not destroy the link1420 when the epic from the association does not equal epic from the path1421 returns status 4041422 does not destroy the link1423 when the epic_issue record does not exists1424 returns status 4041425 PUT #update1426 behaves like unlicensed epics action1427 returns 403 status1428 when epics feature is enabled1429 when user has permissions to admin the epic1430 returns status 2001431 updates the issue position value1432 when user does not have permissions to admin the epic1433 returns status 4031434 when the epic from the association does not equal epic from the path1435 returns status 4041436 when the epic_issue record does not exists1437 returns status 4041438Groups::GroupMembersController1439 GET /groups/*group_id/-/group_members1440 pushes feature flag to frontend1441 sets @banned to include banned group members1442 sets @members not to include banned group members1443 when licensed feature is not available1444 behaves like assigns @banned and @members correctly1445 does not assign @banned1446 sets @members to include banned group members1447 when feature flag is disabled1448 behaves like assigns @banned and @members correctly1449 does not assign @banned1450 sets @members to include banned group members1451 when sub-group1452 behaves like assigns @banned and @members correctly1453 does not assign @banned1454 sets @members to include banned group members1455 PUT /groups/*group_id/-/group_members/:id/ban1456 when current user is an owner1457 redirects back to group members page1458 behaves like bans the user1459 bans the user1460 when ban fails1461 redirects back to group members page with the error message as alert1462 when user cannot admin_group_member (not an owner)1463 returns 4031464 PUT /groups/*group_id/-/group_members/:id/unban1465 when current user is an owner1466 redirects back to banned group members page1467 behaves like unbans the user1468 unbans the user1469 when unbanning a subgroup member1470 behaves like unbans the user1471 unbans the user1472 when member is not banned1473 returns 4041474 when unban fails1475 redirects back to banned group members page with the error message as alert1476 when user is not an owner1477 returns 4041478 PUT /groups/*group_id/-/group_members/:id1479 when group has email domain feature enabled1480 for a user with an email belonging to the allowed domain1481 returns error status1482 for a user with an un-verified email belonging to a domain different from the allowed domain1483 returns error status1484 returns error message1485 GET /groups/*group_id/-/group_members/export_csv1486 redirects back to members list1487 when LDAP sync is enabled1488 redirects back to members list1489API::Discussions1490 when noteable is an Epic1491 behaves like discussions API1492 GET /groups/:id/epics/:noteable_id/discussions1493 returns an array of discussions1494 returns a 404 error when noteable id not found1495 returns 404 when not authorized1496 GET /groups/:id/epics/:noteable_id/discussions/:discussion_id1497 returns a discussion by id1498 returns a 404 error if discussion not found1499 POST /groups/:id/epics/:noteable_id/discussions1500 creates a new note1501 returns a 400 bad request error if body not given1502 returns a 401 unauthorized error if user not authenticated1503 tracks a Notes::CreateService event1504 when an admin or owner makes the request1505 accepts the creation date to be set1506 when user does not have access to read the discussion1507 responds with 4041508 when a project is public with private repo access1509 when user is not a team member of private repo1510 creating a new note1511 raises 404 error1512 fetching a discussion1513 raises 404 error1514 POST /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes1515 adds a new note to the discussion1516 returns a 400 bad request error if body not given1517 when the discussion is an individual note1518 creates a new discussion1519 PUT /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id1520 returns modified note1521 returns a 404 error when note id not found1522 returns a 400 bad request error if body not given1523 DELETE /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id1524 deletes a note1525 returns a 404 error when note id not found1526 behaves like 412 response1527 for a modified resource1528 returns 412 with a JSON error1529 for an unmodified resource1530 returns 204 with an empty body1531Projects::Settings::OperationsController1532 GET show1533 with a license1534 with maintainer role1535 behaves like user with read access1536 renders ok1537 behaves like user with read access1538 renders ok1539 behaves like user with read access1540 renders ok1541 without maintainer role1542 behaves like user without read access1543 returns 4041544 behaves like user without read access1545 returns 4041546 behaves like user without read access1547 returns 4041548 behaves like user without read access1549 returns 4041550 behaves like user without read access1551 returns 4041552 behaves like user without read access1553 returns 4041554 behaves like user without read access1555 returns 4041556 behaves like user without read access1557 returns 4041558 behaves like user without read access1559 returns 4041560 when user not logged in1561 behaves like user without read access1562 returns 4041563 behaves like user needs to login1564 redirects for private project1565 behaves like user needs to login1566 redirects for private project1567 without license1568 behaves like user with read access1569 renders ok1570 behaves like user with read access1571 renders ok1572 behaves like user with read access1573 renders ok1574 PATCH update1575 with a license1576 with non maintainer roles1577 with guest role1578 behaves like user without write access1579 does not create status_page_setting1580 behaves like user without write access1581 does not create status_page_setting1582 behaves like user without write access1583 does not create status_page_setting1584 with reporter role1585 behaves like user without write access1586 does not create status_page_setting1587 behaves like user without write access1588 does not create status_page_setting1589 behaves like user without write access1590 does not create status_page_setting1591 with developer role1592 behaves like user without write access1593 does not create status_page_setting1594 behaves like user without write access1595 does not create status_page_setting1596 behaves like user without write access1597 does not create status_page_setting1598 with anonymous user1599 behaves like user without write access1600 does not create status_page_setting1601 behaves like user without write access1602 does not create status_page_setting1603 behaves like user without write access1604 does not create status_page_setting1605 without existing status page setting1606 is expected to be a kind of StatusPage::ProjectSetting(project_id: integer, created_at: timestamptz, updated_at: timestamptz, ena...ws_secret_key: string, encrypted_aws_secret_key_iv: string, status_page_url: text, aws_secret_key: )1607 with existing status page setting1608 updates the fields1609 respects the model validations1610 deletes the setting if keys removed1611 indident management settings1612 enabled through license1613 behaves like enabled sla settings1614 without existing incident management setting1615 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )1616 behaves like can set the sla timer settings1617 updates the sla settings1618 with existing incident management setting1619 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )1620 behaves like can set the sla timer settings1621 updates the sla settings1622 enabled through usage ping features1623 behaves like enabled sla settings1624 without existing incident management setting1625 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )1626 behaves like can set the sla timer settings1627 updates the sla settings1628 with existing incident management setting1629 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )1630 behaves like can set the sla timer settings1631 updates the sla settings1632 without a license1633 cannot update sla timer settings1634 behaves like user without write access1635 does not create status_page_setting1636 behaves like user without write access1637 does not create status_page_setting1638 behaves like user without write access1639 does not create status_page_setting1640getting a requirement list for a project1641 when user has access to the project1642 returns requirements successfully1643 returns cached rendered html fields from requirement issue1644 behaves like a working graphql query1645 returns a successful response1646 when querying delegated fields1647 does not execute n+1 queries1648 when limiting the number of results1649 behaves like a working graphql query1650 returns a successful response1651 query performance with test reports1652 avoids N+1 queries1653 filtering1654 behaves like a working graphql query1655 returns a successful response1656 when given single author param1657 returns filtered requirements1658 when given multiple author param1659 returns filtered requirements1660 when given search param1661 returns filtered requirements1662 when given author and search params1663 returns filtered requirements1664 when given lastTestReportState1665 returns filtered requirements1666 for MISSING status1667 returns filtered requirements1668 sorting and pagination1669 when sorting by created_at1670 when ascending1671 behaves like sorted paginated query1672 behaves like requires variables1673 shared example requires variables to be set1675 when sorting1676 sorts correctly1677 when paginating1678 paginates correctly1679 when descending1680 behaves like sorted paginated query1681 behaves like requires variables1682 shared example requires variables to be set1684 when sorting1685 sorts correctly1686 when paginating1687 paginates correctly1688 when the user does not have access to the requirement1689 returns nil1690 when requirements feature is not available1691 returns nil1692getting an issue list for a project1693 behaves like graphql issue list request spec EE1694 sorting and pagination1695 when sorting by weight1696 when ascending1697 behaves like sorted paginated query1698 behaves like requires variables1699 shared example requires variables to be set1701 when sorting1702 sorts correctly1703 when paginating1704 paginates correctly1705 when descending1706 behaves like sorted paginated query1707 behaves like requires variables1708 shared example requires variables to be set1710 when sorting1711 sorts correctly1712 when paginating1713 paginates correctly1714 when sorting by published incident1715 when ascending1716 behaves like sorted paginated query1717 behaves like requires variables1718 shared example requires variables to be set1720 when sorting1721 sorts correctly1722 when paginating1723 paginates correctly1724 when descending1725 behaves like sorted paginated query1726 behaves like requires variables1727 shared example requires variables to be set1729 when sorting1730 sorts correctly1731 when paginating1732 paginates correctly1733 when sorting by sla due1734 when ascending1735 behaves like sorted paginated query1736 behaves like requires variables1737 shared example requires variables to be set1739 when sorting1740 sorts correctly1741 when paginating1742 paginates correctly1743 when descending1744 behaves like sorted paginated query1745 behaves like requires variables1746 shared example requires variables to be set1748 when sorting1749 sorts correctly1750 when paginating1751 paginates correctly1752 filtering1753 when filtering by weight1754 when filtering for all issues with an assigned weight1755 returns all issues with an assigned weight1756 when filtering for all issues without an assigned weight1757 returns all issues without an assigned weight1758 when both weight and weight_wildcard_id filters are provided1759 returns a mutually exclusive param error1760 when filtering by iteration1761 when filtering for issues in an iteration1762 returns all issues in the iteration1763 when filtering for issues in an iteration by iteration cadence1764 returns all issues in the iteration1765 when filtering by epic1766 when filtering for all issues with epics1767 returns all issues with epics1768 when filtering for issues without epics1769 returns all issues without epics1770 when both epic_id and epic_wildcard_id filters are provided1771 returns a mutually exclusive param error1772 blocked1773 uses the LazyLinksAggregate service1774 returns the correct blocked count result1775 returns the correct blocked issue detail result1776 behaves like a working graphql query1777 returns a successful response1778 related_vulnerabilities1779 avoids N+1 queries1780 filtered1781 by negated health status1782 only returns issues without the negated health status1783API::Internal::Kubernetes1784 POST /internal/kubernetes/modules/remote_development/reconcile1785 returns 401 if Authorization header not sent1786 returns 401 if Authorization is for non-existent agent1787 not authenticated1788 returns 4011789 kubernetes_agent_internal_api feature flag disabled1790 returns 4041791 when service response is successful1792 returns service response with payload1793 when service response is not successful1794 returns service response with error1795 when remote_development feature is unlicensed1796 returns service response with payload1797 POST /internal/kubernetes/agent_configuration1798 not authenticated1799 returns 4011800 kubernetes_agent_internal_api feature flag disabled1801 returns 4041802 when remote development is configured1803 creates the remote dev configuration1804 when remote_development feature is unlicensed1805 creates the remote dev configuration1806 PUT /internal/kubernetes/modules/starboard_vulnerability1807 returns 401 if Authorization header not sent1808 returns 401 if Authorization is for non-existent agent1809 not authenticated1810 returns 4011811 kubernetes_agent_internal_api feature flag disabled1812 returns 4041813 is authenticated for an agent1814 returns ok when a vulnerability is created1815 accepts the same payload twice1816 responds with the created vulnerability's UUID1817 when payload is invalid1818 returns bad request1819 when required parameters are missing1820 missing_param: :vulnerability1821 returns bad request1822 missing_param: :scanner1823 returns bad request1824 when feature is not available1825 returns forbidden for non licensed project1826 POST /internal/kubernetes/modules/starboard_vulnerability/scan_result1827 returns 401 if Authorization header not sent1828 returns 401 if Authorization is for non-existent agent1829 not authenticated1830 returns 4011831 kubernetes_agent_internal_api feature flag disabled1832 returns 4041833 is authenticated for an agent1834 returns ok1835 resolves undetected vulnerabilities1836 marks undetected vulnerabilities as resolved on default branch1837 does not resolve vulnerabilities with other report types1838 does not resolve other projects' vulnerabilities1839 when payload is invalid1840 returns bad request1841 when feature is not available1842 returns forbidden for non licensed project1843 GET /internal/kubernetes/modules/starboard_vulnerability/policies_configuration1844 returns 401 if Authorization header not sent1845 returns 401 if Authorization is for non-existent agent1846 not authenticated1847 returns 4011848 kubernetes_agent_internal_api feature flag disabled1849 returns 4041850 when security_orchestration_policies is not licensed1851 returns 4021852 when security_orchestration_policies is licensed1853 when policies are present1854 returns expected data1855 when policies are empty1856 returns empty array1857Projects::Security::PoliciesController1858 GET #edit1859 with authorized user1860 when feature is available1861 renders the edit page1862 does not contain any approver data1863 with scan result policy type1864 renders the edit page with approvers data1865 when type is missing1866 redirects to #index1867 when type is invalid1868 redirects to #index1869 when id does not exist1870 returns 4041871 when there is no policy configuration1872 returns 4041873 when policy yaml file does not exist1874 redirects to project page1875 when policy yaml is invalid1876 redirects to policy file1877 behaves like tracks govern usage event1878 tracks unique event1879 when feature is not available1880 returns 4041881 behaves like doesn't track govern usage event1882 doesn't tracks event1883 with unauthorized user1884 when feature is available1885 returns 4041886 behaves like doesn't track govern usage event1887 doesn't tracks event1888 with anonymous user1889 returns 3021890 behaves like doesn't track govern usage event1891 doesn't tracks event1892 GET #new1893 license: true, status: :ok1894 is expected to respond with numeric status code ok1895 usage tracking1896 with license available1897 behaves like tracks govern usage event1898 tracks unique event1899 without license available1900 behaves like doesn't track govern usage event1901 doesn't tracks event1902 license: false, status: :not_found1903 is expected to respond with numeric status code not_found1904 usage tracking1905 with license available1906 behaves like tracks govern usage event1907 tracks unique event1908 without license available1909 behaves like doesn't track govern usage event1910 doesn't tracks event1911 GET #index1912 license: true, status: :ok1913 is expected to respond with numeric status code ok1914 usage tracking1915 with license available1916 behaves like tracks govern usage event1917 tracks unique event1918 without license available1919 behaves like doesn't track govern usage event1920 doesn't tracks event1921 license: false, status: :not_found1922 is expected to respond with numeric status code not_found1923 usage tracking1924 with license available1925 behaves like tracks govern usage event1926 tracks unique event1927 without license available1928 behaves like doesn't track govern usage event1929 doesn't tracks event1930 GET #schema1931 returns JSON schema1932SubscriptionsController1933 GET #new1934 for unauthenticated subscription request1935 is expected to respond with numeric status code redirect1936 is expected to redirect to "/users/sign_up"1937 stores subscription URL for later1938 with authenticated user1939 is expected to render template layouts/minimal1940 is expected to render template new1941 when there are groups eligible for the subscription1942 assigns the eligible groups for the subscription1943 and request specify which group to use1944 assign requested group1945 request does not specify namespace1946 falls back to users namespace1947 when there are no eligible groups for the subscription1948 assigns eligible groups as an empty array if CustomerDot returns empty payload1949 assigns eligible groups as an empty array if user is not owner of any groups1950 GET #buy_minutes1951 with authenticated user1952 when the add-on plan cannot be found1953 is expected to respond with numeric status code not_found1954 when there are groups eligible for the addon1955 is expected to render template layouts/minimal1956 is expected to render template buy_minutes1957 assigns the group for the addon1958 GET #buy_storage1959 with authenticated user1960 when the add-on plan cannot be found1961 is expected to respond with numeric status code not_found1962 when there are groups eligible for the addon1963 is expected to render template layouts/minimal1964 is expected to render template buy_storage1965 assigns the group for the addon1966 GET #payment_form1967 with unauthorized user1968 is expected to respond with numeric status code redirect1969 is expected to redirect to "/users/sign_in"1970 with authorized user1971 is expected to respond with numeric status code ok1972 returns the data attribute of the client response in JSON format1973 GET #payment_method1974 with unauthorized user1975 is expected to respond with numeric status code redirect1976 is expected to redirect to "/users/sign_in"1977 with authorized user1978 is expected to respond with numeric status code ok1979 returns the data attribute of the client response in JSON format1980 GET #validate_payment_method1981 with unauthorized user1982 is expected to respond with numeric status code unauthorized1983 with authorized user1984 is expected to respond with numeric status code ok1985 is expected to be successful1986 POST #create1987 with unauthorized user1988 is expected to respond with numeric status code unauthorized1989 with authorized user1990 creates subscription idempotently1991 when setting up for a company1992 updates the setup_for_company attribute of the current user1993 creates a group based on the company1994 when using a promo code1995 creates subscription using promo code1996 when not setting up for a company1997 does not update the setup_for_company attribute of the current user1998 creates a group based on the user1999 when an error occurs creating a group2000 returns the errors in json format2001 when invalid name is passed2002 returns the errors in json format2003 tracks errors2004 on successful creation of a subscription2005 is expected to respond with numeric status code ok2006 returns the group edit location in JSON format2007 on unsuccessful creation of a subscription2008 is expected to respond with numeric status code ok2009 returns the error message in JSON format2010 when selecting an existing group2011 when the selected group is eligible for a new subscription2012 does not create a group2013 returns the selected group location in JSON format2014 when having an explicit redirect2015 is expected to respond with numeric status code ok2016 returns the provided redirect path as location2017 tracks the creation of the subscriptions2018 purchasing an addon2019 tracks creation with add-on success message2020 when the selected group is ineligible for a new subscription2021 does not create a group2022 returns a 404 not found2023 when selected group is a sub group2024 is expected to respond with numeric status code not_found2025 when selecting a non existing group2026 is expected to respond with numeric status code not_found2027 when selecting a group without owner role2028 is expected to respond with numeric status code not_found2029getting group flow metrics2030 behaves like value stream analytics flow metrics issuesCompleted examples2031 returns the correct value2032 when the user is not authorized2033 returns nil2034 when outside of the date range2035 returns 0 count2036 when filtering by weight and negated assignee2037 returns 1 count2038 when filtering by negated label2039 returns 2 count2040 when filtering by negated reaction emoji2041 returns 1 count2042 when filtering by epic2043 returns 1 count2044 with all filters2045 returns filtered count2046 when filtering the project ids2047 returns the correct count2048 behaves like unavailable when unlicensed2049 when cycle analytics is not licensed2050 returns nil2051 behaves like value stream analytics flow metrics leadTime examples2052 returns the correct value2053 when the user is not authorized2054 returns nil2055 when outside of the date range2056 returns 0 count2057 with all filters2058 returns filtered count2059 when filtering the project ids2060 returns the correct count2061 behaves like unavailable when unlicensed2062 when cycle analytics is not licensed2063 returns nil2064 behaves like value stream analytics flow metrics cycleTime examples2065 returns the correct value2066 when the user is not authorized2067 returns nil2068 when outside of the date range2069 returns 0 count2070 with all filters2071 returns filtered count2072 when filtering the project ids2073 returns the correct count2074 behaves like unavailable when unlicensed2075 when cycle analytics is not licensed2076 returns nil2077 behaves like value stream analytics flow metrics deploymentCount examples2078 returns the correct count2079 when the user is not authorized2080 returns nil2081 when outside of the date range2082 returns 0 count2083 behaves like validation on Time arguments2084 when `to` parameter is higher than `from`2085 returns error2086 when from and to parameter range is higher than 180 days2087 returns error2088 when filtering the project ids2089 returns 12090 when counting deployments for a different group2091 returns 0 count2092 behaves like unavailable when unlicensed2093 when cycle analytics is not licensed2094 returns nil2095 behaves like value stream analytics flow metrics issueCount examples2096 returns the correct count2097 with partial filters2098 returns filtered count2099 with all filters2100 returns filtered count2101 when the user is not authorized2102 returns nil2103 behaves like validation on Time arguments2104 when `to` parameter is higher than `from`2105 returns error2106 when from and to parameter range is higher than 180 days2107 returns error2108 when filtering the project ids2109 returns the correct count2110 behaves like unavailable when unlicensed2111 when cycle analytics is not licensed2112 returns nil2113Query.vulnerability(id)2114 query all fields2115 for a sast vulnerability2116 behaves like a working graphql query that returns data2117 contains data2118 returns the vulnerability2119 behaves like a working graphql query2120 returns a successful response2121 with an unauthenticated client2122 behaves like a working graphql query that returns no data2123 contains no data2124 behaves like a working graphql query2125 returns a successful response2126 for a dependency_scanning vulnerability2127 behaves like a working graphql query that returns data2128 contains data2129 returns the vulnerability2130 behaves like a working graphql query2131 returns a successful response2132 with an unauthenticated client2133 behaves like a working graphql query that returns no data2134 contains no data2135 behaves like a working graphql query2136 returns a successful response2137 for a container_scanning vulnerability2138 behaves like a working graphql query that returns data2139 contains data2140 returns the vulnerability2141 behaves like a working graphql query2142 returns a successful response2143 with an unauthenticated client2144 behaves like a working graphql query that returns no data2145 contains no data2146 behaves like a working graphql query2147 returns a successful response2148 for a dast vulnerability2149 behaves like a working graphql query that returns data2150 contains data2151 returns the vulnerability2152 behaves like a working graphql query2153 returns a successful response2154 with an unauthenticated client2155 behaves like a working graphql query that returns no data2156 contains no data2157 behaves like a working graphql query2158 returns a successful response2159 for a secret_detection vulnerability2160 behaves like a working graphql query that returns data2161 contains data2162 returns the vulnerability2163 behaves like a working graphql query2164 returns a successful response2165 with an unauthenticated client2166 behaves like a working graphql query that returns no data2167 contains no data2168 behaves like a working graphql query2169 returns a successful response2170 for a coverage_fuzzing vulnerability2171 behaves like a working graphql query that returns data2172 contains data2173 returns the vulnerability2174 behaves like a working graphql query2175 returns a successful response2176 with an unauthenticated client2177 behaves like a working graphql query that returns no data2178 contains no data2179 behaves like a working graphql query2180 returns a successful response2181 for a api_fuzzing vulnerability2182 behaves like a working graphql query that returns data2183 contains data2184 returns the vulnerability2185 behaves like a working graphql query2186 returns a successful response2187 with an unauthenticated client2188 behaves like a working graphql query that returns no data2189 contains no data2190 behaves like a working graphql query2191 returns a successful response2192 for a cluster_image_scanning vulnerability2193 behaves like a working graphql query that returns data2194 contains data2195 returns the vulnerability2196 behaves like a working graphql query2197 returns a successful response2198 with an unauthenticated client2199 behaves like a working graphql query that returns no data2200 contains no data2201 behaves like a working graphql query2202 returns a successful response2203 for a generic vulnerability2204 behaves like a working graphql query that returns data2205 contains data2206 returns the vulnerability2207 behaves like a working graphql query2208 returns a successful response2209 with an unauthenticated client2210 behaves like a working graphql query that returns no data2211 contains no data2212 behaves like a working graphql query2213 returns a successful response2214Groups::EpicBoardsController2215 GET index2216 with epics disabled2217 does not create a new board when group does not have one2218 returns a not found 404 response2219 with authorized user2220 creates a new board when group does not have one2221 returns correct response2222 with multiple boards2223 redirects to latest visited board2224 with unauthorized user2225 does not create a new board when group does not have one2226 returns a not found 404 response2227 with non-logged-in user and public group2228 creates a new board when group does not have one2229 returns a 200 response2230 json request2231 is not supported2232 behaves like pushes wip limits to frontend2233 self-hosted with correct license2234 is enabled for all groups if the license is correct2235 on .com2236 for group with correct plan2237 is enabled2238 for group with incorrect or no plan2239 is not enabled2240 behaves like tracking unique hll events2241 tracks unique event2242 GET show2243 with epics disabled2244 returns a not found 404 response2245 json request2246 is not supported2247 when format is HTML2248 renders template2249 with unauthorized user2250 returns a not found 404 response2251 when group is public2252 when user is signed out2253 does not save visit2254 when user is signed in2255 saves the visit2256 when epic board does not belong to group2257 returns a not found 404 response2258 behaves like disabled when using an external authorization service2259 works when the feature is not enabled2260 renders a 404 with a message when the feature is enabled2261 behaves like tracking unique hll events2262 tracks unique event2263Projects::TracingController2264 GET #show2265 behaves like tracing route request2266 behaves like observability csp policy2267 when there is no CSP config2268 does not add any csp header2269 frame-src2270 when frame-src exists in the CSP config2271 appends the proper url to frame-src CSP directives2272 when signin url is already present in the policy2273 does not append signin again2274 when oauth url is already present in the policy2275 does not append oauth again2276 when default-src exists in the CSP config2277 does not change default-src2278 appends the proper url to frame-src CSP directives2279 when frame-src and default-src exist in the CSP config2280 appends to frame-src CSP directives2281 connect-src2282 when connect-src exists in the CSP config2283 appends the proper url to connect-src CSP directives2284 when default-src exists in the CSP config2285 does not change default-src2286 appends the proper url to connect-src CSP directives2287 when connect-src and default-src exist in the CSP config2288 appends to connect-src CSP directives2289 when user does not have permissions2290 returns 4042291 when user has permissions2292 returns 2002293 when feature is disabled2294 returns 4042295 html response2296 renders the js-tracing element correctly2297 GET #index2298 behaves like tracing route request2299 behaves like observability csp policy2300 when there is no CSP config2301 does not add any csp header2302 frame-src2303 when frame-src exists in the CSP config2304 appends the proper url to frame-src CSP directives2305 when signin url is already present in the policy2306 does not append signin again2307 when oauth url is already present in the policy2308 does not append oauth again2309 when default-src exists in the CSP config2310 does not change default-src2311 appends the proper url to frame-src CSP directives2312 when frame-src and default-src exist in the CSP config2313 appends to frame-src CSP directives2314 connect-src2315 when connect-src exists in the CSP config2316 appends the proper url to connect-src CSP directives2317 when default-src exists in the CSP config2318 does not change default-src2319 appends the proper url to connect-src CSP directives2320 when connect-src and default-src exist in the CSP config2321 appends to connect-src CSP directives2322 when user does not have permissions2323 returns 4042324 when user has permissions2325 returns 2002326 when feature is disabled2327 returns 4042328 html response2329 renders the js-tracing element correctly2330Projects::Security::ConfigurationController2331 GET #show2332 user_role: :guest, security_dashboard_enabled: false, status: :forbidden, selector: nil2333 responds with the correct status2334 when the "Security and Compliance" feature is disabled2335 is expected to respond with numeric status code not_found2336 user_role: :guest, security_dashboard_enabled: true, status: :forbidden, selector: nil2337 responds with the correct status2338 when the "Security and Compliance" feature is disabled2339 is expected to respond with numeric status code not_found2340 user_role: :developer, security_dashboard_enabled: false, status: :ok, selector: "#js-security-configuration"2341 responds with the correct status2342 when the "Security and Compliance" feature is disabled2343 is expected to respond with numeric status code not_found2344 user_role: :developer, security_dashboard_enabled: true, status: :ok, selector: "#js-security-configuration"2345 responds with the correct status2346 when the "Security and Compliance" feature is disabled2347 is expected to respond with numeric status code not_found2348 with developer and security dashboard feature enabled2349 responds in json format when requested2350 renders data on the project's security configuration2351 when the latest pipeline used Auto DevOps2352 reports that Auto DevOps is enabled2353 POST #auto_fix2354 with feature enabled2355 with sufficient permissions2356 with setup feature param2357 processes request and updates setting2358 without setup feature param2359 processes request and updates setting2360 without processable feature2361 does not pass validation2362 without sufficient permissions2363 is expected to respond with numeric status code not_found2364 with feature disabled2365 is expected to respond with numeric status code not_found2366API::License2367 GET /license2368 retrieves the license information if admin is logged in2369 denies access if not admin2370 behaves like GET request permissions for admin mode2371 behaves like when admin2372 behaves like makes request2373 returns2374 behaves like makes request2375 returns2376 behaves like when user2377 returns2378 behaves like makes request2379 returns2380 GET /license/usage_export2381 retrieves the license usage data if admin is logged in2382 denies access if not admin2383 behaves like GET request permissions for admin mode2384 behaves like when admin2385 behaves like makes request2386 returns2387 behaves like makes request2388 returns2389 behaves like when user2390 returns2391 behaves like makes request2392 returns2393 POST /license2394 adds a new license if admin is logged in2395 denies access if not admin2396 returns 400 if the license cannot be saved2397 behaves like POST request permissions for admin mode2398 behaves like when admin2399 behaves like makes request2400 returns2401 behaves like makes request2402 returns2403 behaves like when user2404 returns2405 behaves like makes request2406 returns2407 DELETE /license/:id2408 returns an error if the license doesn't exist2409 returns 403 if the user is not an admin2410 behaves like license removal2411 destroys a license and returns 2042412 behaves like DELETE request permissions for admin mode2413 behaves like when admin2414 behaves like makes request2415 returns2416 behaves like makes request2417 returns2418 behaves like when user2419 returns2420 behaves like makes request2421 returns2422 with a cloud license2423 behaves like license removal2424 destroys a license and returns 2042425 GET /license/:id2426 gets a license by its id2427 returns an error if the license doesn't exist2428 returns 403 if the user is not an admin2429 behaves like GET request permissions for admin mode2430 behaves like when admin2431 behaves like makes request2432 returns2433 behaves like makes request2434 returns2435 behaves like when user2436 returns2437 behaves like makes request2438 returns2439 PUT /license/:id/refresh_billable_users2440 behaves like PUT request permissions for admin mode2441 behaves like when admin2442 behaves like makes request2443 returns2444 behaves like makes request2445 returns2446 behaves like when user2447 returns2448 behaves like makes request2449 returns2450 when user is an admin2451 schedules a refresh of billable_users2452 when license doesn't exist2453 returns 4042454 when user is not an admin2455 returns 4032456 when user is unavailable2457 returns 4012458 GET /licenses2459 returns a collection of licenses2460 returns an empty array if no licenses exist2461 returns 403 if the user is not an admin2462 behaves like GET request permissions for admin mode2463 behaves like when admin2464 behaves like makes request2465 returns2466 behaves like makes request2467 returns2468 behaves like when user2469 returns2470 behaves like makes request2471 returns2472Projects::Security::DastSiteProfilesController2473 GET #new2474 behaves like a GET request2475 when the "Security and Compliance" feature is disabled2476 is expected to respond with numeric status code not_found2477 feature available2478 user authorized2479 can access page2480 user not authorized2481 sees a 404 error2482 feature not available2483 license doesnt't support the feature2484 sees a 404 error2485 GET #edit2486 behaves like a GET request2487 when the "Security and Compliance" feature is disabled2488 is expected to respond with numeric status code not_found2489 feature available2490 user authorized2491 can access page2492 user not authorized2493 sees a 404 error2494 feature not available2495 license doesnt't support the feature2496 sees a 404 error2497 feature available and user authorized2498 record exists2499 includes a serialized dast_profile in the response body2500 record does not exist2501 sees a 404 error2502API::Admin::Search::Zoekt2503 GET /admin/zoekt/shards/:node_id/indexed_namespaces2504 returns all indexed namespaces for this node2505 returns at most MAX_RESULTS most recent rows2506 behaves like GET request permissions for admin mode2507 behaves like when admin2508 behaves like makes request2509 returns2510 behaves like makes request2511 returns2512 behaves like when user2513 returns2514 behaves like makes request2515 returns2516 behaves like an API that returns 401 for unauthenticated requests2517 returns not_found status2518 behaves like an API that returns 404 for missing ids2519 returns not_found status2520 PUT /admin/zoekt/projects/:projects/index2521 triggers indexing for the project2522 behaves like PUT request permissions for admin mode2523 behaves like when admin2524 behaves like makes request2525 returns2526 behaves like makes request2527 returns2528 behaves like when user2529 returns2530 behaves like makes request2531 returns2532 behaves like an API that returns 401 for unauthenticated requests2533 returns not_found status2534 behaves like an API that returns 400 when the index_code_with_zoekt feature flag is disabled2535 returns not_found status2536 behaves like an API that returns 404 for missing ids2537 returns not_found status2538 GET /admin/zoekt/shards2539 returns all nodes2540 behaves like GET request permissions for admin mode2541 behaves like when admin2542 behaves like makes request2543 returns2544 behaves like makes request2545 returns2546 behaves like when user2547 returns2548 behaves like makes request2549 returns2550 behaves like an API that returns 401 for unauthenticated requests2551 returns not_found status2552 DELETE /admin/zoekt/shards/:node_id/indexed_namespaces/:namespace_id2553 removes the Zoekt::IndexedNamespace for this node and namespace pair2554 behaves like DELETE request permissions for admin mode2555 behaves like when admin2556 behaves like makes request2557 returns2558 behaves like makes request2559 returns2560 behaves like when user2561 returns2562 behaves like makes request2563 returns2564 behaves like an API that returns 401 for unauthenticated requests2565 returns not_found status2566 with missing node_id2567 behaves like an API that returns 404 for missing ids2568 returns not_found status2569 with missing namespace_id2570 behaves like an API that returns 404 for missing ids2571 returns not_found status2572 PUT /admin/zoekt/shards/:node_id/indexed_namespaces/:namespace_id2573 creates a Zoekt::IndexedNamespace for this node and namespace pair2574 behaves like PUT request permissions for admin mode2575 behaves like when admin2576 behaves like makes request2577 returns2578 behaves like makes request2579 returns2580 behaves like when user2581 returns2582 behaves like makes request2583 returns2584 behaves like an API that returns 401 for unauthenticated requests2585 returns not_found status2586 behaves like an API that returns 400 when the index_code_with_zoekt feature flag is disabled2587 returns not_found status2588 when it already exists2589 returns the existing one2590 with missing node_id2591 behaves like an API that returns 404 for missing ids2592 returns not_found status2593 with missing namespace_id2594 behaves like an API that returns 404 for missing ids2595 returns not_found status2596RegistrationsController2597 POST #create2598 behaves like creates a user with ArkoseLabs risk band on signup request2599 when arkose_labs_token verification succeeds2600 records the user's data from Arkose Labs2601 behaves like creates the user2602 creates the user2603 when verification fails2604 does not record the user's data from Arkose Labs2605 behaves like renders new action with an alert flash2606 renders new action with an alert flash2607 when user is not persisted2608 does not record the user's data from Arkose Labs2609 when the feature flag is disabled2610 behaves like creates the user2611 creates the user2612 behaves like skips verification and data recording2613 skips verification and data recording2614 when feature is disabled2615 behaves like creates the user2616 creates the user2617 behaves like skips verification and data recording2618 skips verification and data recording2619 when reCAPTCHA is enabled2620 behaves like creates the user2621 creates the user2622 when reCAPTCHA verification fails2623 does not create the user2624 when arkose_labs_token param is not present2625 when arkose is operational2626 logs the event2627 behaves like renders new action with an alert flash2628 renders new action with an alert flash2629 behaves like skips verification and data recording2630 skips verification and data recording2631 when arkose is experiencing an outage2632 logs the event2633 behaves like creates the user2634 creates the user2635 identity verification2636 when identity verification is turned off2637 sending confirmation instructions2638 sends Devise confirmation instructions2639 does not send custom confirmation instructions2640 sets the confirmation_sent_at time2641 sets the confirmation_token to the unencrypted Devise token2642 setting a session variable2643 does not set the `verification_user_id` session variable2644 redirection2645 redirects to the `users_almost_there_path`2646 when identity verification is turned on2647 sending confirmation instructions2648 does not send Devise confirmation instructions2649 sends custom confirmation instructions2650 sets the confirmation_sent_at time2651 sets the confirmation_token to the encrypted custom token2652 preventing token collisions2653 does not raise an error when an identical token exists in the database2654 setting a session variable2655 sets the `verification_user_id` session variable2656 handling sticking2657 sticks or unsticks the request2658 redirection2659 redirects to the `identity_verification_path`2660 when user is not persisted2661 does not try to send custom confirmation instructions2662 with onboarding progress2663 when on SaaS2664 sets onboarding2665 when not on SaaS2666 does not set onboarding2667API::ManagedLicenses2668 GET /projects/:id/managed_licenses2669 with license management not available2670 returns a forbidden status2671 with an authorized user with proper permissions2672 returns an empty response2673 with authorized user without read permissions2674 returns an empty response2675 with unauthorized user2676 returns an empty response2677 responses with 404 Not Found for not existing project2678 when project is private2679 responses with 404 Not Found2680 GET /projects/:id/managed_licenses/:managed_license_id2681 authorized user with proper permissions2682 returns an empty response2683 returns an empty response using the license name as key2684 returns an empty response if requesting non-existing managed license2685 authorized user with read permissions2686 returns an empty response2687 unauthorized user2688 does not return project managed license details2689 policy from license_finding rules2690 returns an empty response2691 POST /projects/:id/managed_licenses2692 authorized user with proper permissions2693 creates managed license2694 authorized user with read permissions2695 does not create managed license2696 authorized user without permissions2697 does not create managed license2698 unauthorized user2699 does not create managed license2700 PATCH /projects/:id/managed_licenses/:managed_license_id2701 authorized user with proper permissions2702 responds with 400 Bad Request2703 responds with 400 Bad Request if requesting non-existing managed license2704 authorized user with read permissions2705 does not update managed license2706 authorized user without permissions2707 does not update managed license2708 unauthorized user2709 does not update managed license2710 DELETE /projects/:id/managed_licenses/:managed_license_id2711 authorized user with proper permissions2712 responds with 400 Bad Request2713 authorized user with read permissions2714 does not delete managed license2715 authorized user without permissions2716 does not delete managed license2717 unauthorized user2718 does not delete managed license2719Query.[group](fullPath).doraPerformanceScoreCounts2720 when DORA analytics feature is not available2721 returns nil2722 behaves like a working graphql query2723 returns a successful response2724 when there is partial data for the target month2725 working query2726 returns partial data2727 returns a count of projects with no DORA scores in given time frame2728 behaves like a working graphql query2729 returns a successful response2730 when there is data for the target month2731 working query2732 behaves like a working graphql query2733 returns a successful response2734 when no filters are applied2735 returns the correct data2736 when filters are applied2737 returns the correct data2738 returns a count of projects with no DORA scores in given time frame2739 when no metric count fields are requested2740 does not fire off any data queries2741 behaves like a working graphql query2742 returns a successful response2743 when there is some error in the service2744 returns an error2745 when there is no data for the target month2746 working query2747 returns all empty data2748 returns a count of projects with no DORA scores in given time frame2749 behaves like a working graphql query2750 returns a successful response2751 when user does not have access2752 returns nil2753 behaves like a working graphql query2754 returns a successful response2755Admin::PushRulesController2756 #update2757 updates sample push rule2758 links push rule with application settings2759 push rules unlicensed2760 returns 4042761 #show2762 returns 2002763 push rules unlicensed2764 returns 4042765Projects::FeatureFlagIssuesController2766 GET #index2767 returns linked issues2768 does not return linked issues for a reporter2769 orders by feature_flag_issue id2770 returns the correct relation_path when the feature flag is linked to multiple issues2771 returns the correct relation_path when multiple feature flags are linked to an issue2772 returns the correct relation_path when there are multiple linked feature flags and issues2773 does not make N+1 queries2774 returns only issues readable by the user2775 when feature flag related issues feature is unlicensed2776 does not return linked issues2777 POST #create2778 creates a link between the feature flag and the issue2779 creates a link for the correct feature flag when there are multiple feature flags and projects2780 creates a cross project link for a project in the same namespace2781 creates a cross project link for a project in another namespace2782 does not create a link for a reporter2783 does not create a cross project link when the user is not a member of the issue's project2784 does not create a cross project link when the user is a guest of the issue's project2785 does not create a link when the user cannot read the issue2786 when feature flag related issues feature is unlicensed2787 does not create a link between the feature flag and the issue2788 DELETE #destroy2789 unlinks the issue from the feature flag2790 does not unlink the issue for a reporter2791 when feature flag related issues feature is unlicensed2792 does not unlink the issue2793API::SamlGroupLinks2794 GET /groups/:id/saml_group_links2795 when license feature is available2796 when unauthorized2797 returns unauthorized error2798 when a less privileged user2799 returns unauthorized error2800 when owner of the group2801 behaves like has expected results2802 returns SAML group links2803 when group does not have any associated saml_group_links2804 returns empty array as response2805 with URL-encoded path of the group2806 behaves like has expected results2807 returns SAML group links2808 when license feature is not available2809 returns unauthorized error2810 POST /groups/:id/saml_group_links2811 when licensed feature is available2812 when unauthorized2813 returns unauthorized error2814 when a less privileged user2815 does not allow less privileged user to add SAML group link2816 when owner of the group and group is saml enabled2817 returns ok and add saml group link2818 when params are missing2819 returns a 400 error when params are missing2820 when params are invalid2821 returns a 400 error when params are invalid2822 when licensed feature is not available2823 returns unauthorized error2824 GET /groups/:id/saml_group_links/:saml_group_name2825 when licensed feature is available2826 when unauthorized2827 returns unauthorized error2828 when owner of the group2829 gets saml group link2830 when invalid group name is passed2831 returns 404 if SAML group can not used for a SAML group link2832 when licensed feature is not available2833 returns authentication error2834 DELETE /groups/:id/saml_group_links/:saml_group_name2835 when licensed feature is available2836 when unauthorized2837 returns unauthorized error2838 when a less privileged user2839 does not remove the SAML group link2840 when owner of the group2841 removes saml group link2842 when invalid group name is passed2843 returns 404 if SAML group can not used for a SAML group link2844 when licensed feature is not available2845 returns authentication error2846API::AuditEvents2847 Unique usage tracking2848 after calling all audit_events APIs as a single licensed user2849 tracks 3 separate events2850 reports one unique event2851 GET /audit_events2852 when authenticated, as a user2853 behaves like 403 response2854 returns 4032855 when authenticated, as an admin2856 audit events feature is not available2857 behaves like 403 response2858 returns 4032859 audit events feature is available2860 returns 200 response2861 includes the correct pagination headers2862 behaves like GET request permissions for admin mode2863 behaves like when admin2864 behaves like makes request2865 returns2866 behaves like makes request2867 returns2868 behaves like when user2869 returns2870 behaves like makes request2871 returns2872 parameters2873 behaves like an endpoint with keyset pagination2874 on making requests with supported ordering structure2875 includes keyset url params in the url response2876 does not include pagination headers2877 paginates the records correctly2878 on making requests with unsupported ordering structure2879 returns error2880 entity_type parameter2881 returns audit events of the provided entity type2882 entity_id parameter2883 returns audit_events of the provided entity id2884 requires entity_type parameter to be present2885 behaves like 400 response2886 returns 4002887 created_before parameter2888 returns audit events created before the given parameter2889 created_after parameter2890 returns audit events created after the given parameter2891 attributes2892 exposes the right attributes2893 GET /audit_events/:id2894 when authenticated, as a user2895 behaves like 403 response2896 returns 4032897 when authenticated, as an admin2898 audit events feature is not available2899 behaves like 403 response2900 returns 4032901 audit events feature is available2902 behaves like GET request permissions for admin mode2903 behaves like when admin2904 behaves like makes request2905 returns2906 behaves like makes request2907 returns2908 behaves like when user2909 returns2910 behaves like makes request2911 returns2912 audit event exists2913 returns 200 response2914 attributes2915 exposes the right attributes2916 audit event does not exist2917 behaves like 404 response2918 returns 4042919getting a work item list for a project2920 work items with widgets2921 with status widget2922 returns work items including status2923 avoids N+1 queries2924 when filtering2925 with status widget2926 filters by status argument2927 with legacy requirement widget2928 returns work items including legacy iid2929 avoids N+1 queries2930 when filtering2931 with legacy requirement widget2932 filters by legacy IID argument2933 with progress widget2934 avoids N+1 queries2935 with test reports widget2936 avoids N+1 queries2937AutocompleteController2938 GET users2939 project members2940 GET #users with suggested users2941 returns the suggested reviewers2942 when suggested reviewers is unavailable for project2943 returns no suggested reviewers2944 when search param is not blank2945 returns no suggested reviewers2946 when merge_request_iid is blank2947 returns no suggested reviewers2948 when merge_request is closed2949 returns no suggested reviewers2950 when merge_request has been merged2951 returns no suggested reviewers2952 groups2953 while fetching all groups belonging to a project2954 returns groups invited to the project that the user can see2955 while fetching all groups belonging to a project the current user cannot access2956 is expected to be not found2957 while fetching all groups belonging to an invalid project ID2958 is expected to be not found2959 GET group_subgroups2960 returns subgroups2961 when requesting to subgroup 12962 returns grandchild2963 when requesting to subgroup 22964 returns empty2965 when user does not have an access to the group2966 returns not found2967 GET project_routes2968 as admin2969 when admin mode setting is disabled2970 behaves like search as admin2971 while searching for a project by namespace2972 returns the matching routes2973 while searching for a project by path2974 returns the matching routes2975 when admin mode setting is enabled2976 when in admin mode2977 behaves like search as admin2978 while searching for a project by namespace2979 returns the matching routes2980 while searching for a project by path2981 returns the matching routes2982 when not in admin mode2983 returns the matching routes2984 as project owner2985 while searching for a project by namespace2986 returns the matching routes2987 while searching for a project by path2988 returns the matching routes2989 while searching for nothing2990 returns the matching routes2991 GET namespace_routes2992 as admin2993 when admin mode setting is disabled2994 behaves like search as admin2995 while searching for a namespace by group path2996 returns the matching routes2997 while searching for a namespace by user path2998 returns the matching routes2999 when admin mode setting is enabled3000 when in admin mode3001 behaves like search as admin3002 while searching for a namespace by group path3003 returns the matching routes3004 while searching for a namespace by user path3005 returns the matching routes3006 when not in admin mode3007 returns the matching routes3008 as a user3009 while searching for a namespace by path3010 returns the matching routes3011 as group member3012 while searching for a namespace by path3013 returns the matching routes3014 while searching for nothing3015 returns the matching routes3016Projects::PathLocksController3017 GET #index3018 displays the lock paths3019 when the user does not have access3020 does not allow access3021 POST #toggle3022 when LFS is enabled3023 when locking a file3024 locks the file3025 locks the file in LFS3026 tries to create the PathLock only once3027 when locking a directory3028 locks the directory3029 does not locks the directory through LFS3030 when file does not exist3031 locks the file3032 does not lock the file in LFS3033 when unlocking a file3034 with files3035 unlocks the file3036 unlocks the file in LFS3037 when file does not exist3038 unlocks the file3039 does not unlock the file in LFS3040 when unlocking a directory3041 unlocks the directory3042 does not call the LFS unlock service3043 when LFS is not enabled3044 locks the file3045 doesn't lock the file in LFS3046 unlocks the file3047 when the user does not have access3048 does not allow access3049API::Iterations3050 GET /groups/:id/iterations3051 excludes ancestor iterations when include_ancestors is set to false3052 behaves like iterations list3053 when user does not have access3054 returns 4043055 when user has access3056 returns a list of iterations3057 returns iterations filtered by title3058 returns iterations filtered by title with `in` parameter3059 returns iterations filtered by cadence title3060 returns 400 when `in` param is invalid3061 returns 400 when `state` param is invalid3062 filter by iteration state3063 returns `closed` state iterations3064 returns current iteration3065 returns `current` state iterations3066 filter by updated_at3067 returns iterations filtered only by updated_before3068 returns iterations filtered only by updated_after3069 returns iterations filtered by updated_after and updated_before3070 GET /projects/:id/iterations3071 return direct parent group iterations when include_ancestors is set to false3072 behaves like iterations list3073 when user does not have access3074 returns 4043075 when user has access3076 returns a list of iterations3077 returns iterations filtered by title3078 returns iterations filtered by title with `in` parameter3079 returns iterations filtered by cadence title3080 returns 400 when `in` param is invalid3081 returns 400 when `state` param is invalid3082 filter by iteration state3083 returns `closed` state iterations3084 returns current iteration3085 returns `current` state iterations3086 filter by updated_at3087 returns iterations filtered only by updated_before3088 returns iterations filtered only by updated_after3089 returns iterations filtered by updated_after and updated_before3090Mutations::Epics::Update3091 when the user does not have permission3092 does not update the epic3093 behaves like a mutation that returns a top-level access error3094 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3095 when the user has permission3096 when epics are disabled3097 behaves like a mutation that returns top-level errors3098 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3099 when epics are enabled3100 updates the epic3101 when closing the epic3102 closes open epic3103 when reopening the epic3104 allows epic to be reopend3105 when changing labels of the epic3106 by ID3107 adds and removes labels correctly3108 when labels are added3109 adds labels correctly and keeps the title ordering3110 by title3111 adds and removes labels correctly3112 when labels are added3113 adds labels correctly and keeps the title ordering3114 when there are ActiveRecord validation errors3115 does not update the epic3116 behaves like a mutation that returns errors in the response3117 is expected to contain exactly "Title can't be blank"3118 when the list of attributes is empty3119 behaves like a mutation that returns top-level errors3120 is expected to contain exactly "The list of epic attributes is empty"3121ApplicationController3122 with redirection due to onboarding3123 when on SaaS3124 redirects to the onboarding step3125 when terms enabled3126 redirects to terms first3127 when qualifying for 2fa3128 redirects to the onboarding step3129 when onboarding is disabled3130 does not redirect to the onboarding step3131 when qualifying for 2fa3132 redirects to 2fa setup3133 when request path equals redirect path3134 does not redirect to the onboarding step3135 with non-get request3136 does not redirect to the onboarding step3137 when on not on SaaS3138 redirects to the onboarding step3139 when qualifying for 2fa3140 redirects to 2fa setup3141API::ProjectImport3142 POST /projects/import3143 overrides the classification label3144 feature is disabled3145 uses the default the classification label and ignores override param3146Groups::IssuesController3147 POST #bulk_update3148 when group bulk edit feature is not enabled3149 returns 404 status3150 when group bulk edit feature is enabled3151 when user has permissions to bulk update issues3152 returns status 2003153 updates issues milestone and epic3154 when params are incorrect3155 returns 422 status3156 when user does not have permissions to bulk update issues3157 returns status 4043158 does not update issues milestone or epic3159API::Internal::AppSec::Dast::SiteValidations3160 POST /internal/dast/site_validations/:id/transition3161 when a job token header is not set3162 returns 4013163 when user token is set3164 returns 400 and a contextual error message3165 when a job token header is set3166 when user does not have access to the site validation3167 returns 4033168 when site validation does not exist3169 returns 4043170 when site validation and job are associated with different projects3171 returns 4003172 when the job project belongs to the same job token scope3173 returns 400 and a contextual error message3174 when site validation exists3175 when the licensed feature is not available3176 returns 4033177 when user has access to the site validation3178 when the state transition is unknown3179 returns 400 and a contextual error message3180 when the state transition is invalid3181 returns 400 and a contextual error message3182 when the state transition is valid3183 updates the record3184 behaves like it transitions3185 returns 200 and the new state3186 calls the underlying transition method: #start3187 behaves like it transitions3188 returns 200 and the new state3189 calls the underlying transition method: #fail_op3190 behaves like it transitions3191 returns 200 and the new state3192 calls the underlying transition method: #retry3193 behaves like it transitions3194 returns 200 and the new state3195 calls the underlying transition method: #pass3196Query.vulnerabilities {...fields}3197 allows nil3198 populates required fields3199 when vulnerability has no description and finding has description3200 returns finding information3201 when vulnerability has description and finding has description3202 returns finding information3203 when finding has solution3204 returns solution3205getting notes for an epic3206 behaves like exposing regular notes on a noteable in GraphQL3207 for regular notes3208 includes all notes3209 avoids N+1 queries3210 behaves like a working graphql query3211 returns a successful response3212 when filter is provided3213 when filter is set to ALL_NOTES3214 returns all the notes3215 when filter is set to ONLY_COMMENTS3216 returns only the comments3217 when filter is set to ONLY_ACTIVITY3218 returns only the activity notes3219 for discussions3220 includes all discussion notes3221 behaves like a working graphql query3222 returns a successful response3223Query.gitlabSubscriptionsPreviewBillableUserChange3224 with group query3225 behaves like preview billable user change3226 when project_or_group does not exist3227 returns nil3228 when project_or_group exists3229 when current_user has access to project_or_group3230 with add_group_id3231 returns successfully3232 with add_user_emails3233 returns successfully3234 with add_user_ids3235 returns successfully3236 with elevating custom role3237 returns successfully3238 when missing all add_* arguments3239 returns error3240 when current_user does not have access to project_or_group3241 returns error3242 with project query3243 behaves like preview billable user change3244 when project_or_group does not exist3245 returns nil3246 when project_or_group exists3247 when current_user has access to project_or_group3248 with add_group_id3249 returns successfully3250 with add_user_emails3251 returns successfully3252 with add_user_ids3253 returns successfully3254 with elevating custom role3255 returns successfully3256 when missing all add_* arguments3257 returns error3258 when current_user does not have access to project_or_group3259 returns error3260groups autocomplete3261 #issues3262 issue_types: nil, expected: :test_case3263 returns the correct response3264 issue_types: "", expected: :test_case3265 returns the correct response3266 issue_types: "invalid", expected: []3267 returns the correct response3268 issue_types: "test_case", expected: :test_case3269 returns the correct response3270 #epics3271 returns 200 status3272 returns the correct response3273 avoids N+1 queries3274 #iterations3275 when iterations feature is disabled3276 returns 404 status3277 when iterations feature is enabled3278 avoids N+1 queries3279 #iterations3280 returns the correct response3281 #vulnerabilities3282 returns 200 status3283 returns the correct response3284 #commands3285 returns 200 status3286 returns the correct response3287 handles new epics3288Query.workspaces(include_actual_states: [GraphQL::Types::String])3289 behaves like a fully working Query.workspaces query3290 behaves like multiple workspaces query3291 when remote_development feature is licensed3292 when user is authorized3293 behaves like query is a working graphql query3294 behaves like a working graphql query3295 returns a successful response3296 behaves like query returns workspaces hash containing workspace3297 includes only the expected workspace3298 when the user requests a workspace that they are not authorized for3299 does not return the unauthorized workspace3300 still returns the authorized workspace3301 when user is not authorized3302 behaves like query is a working graphql query3303 behaves like a working graphql query3304 returns a successful response3305 behaves like query returns blank3306 is expected to be blank3307 behaves like query in unlicensed environment3308 when remote_development feature is unlicensed3309 when user is authorized3310 behaves like query returns blank3311 is expected to be blank3312 behaves like query includes graphql error3313 includes a graphql error3314API::GroupVariables3315 GET /groups/:id/variables/:key3316 when there are two variables with the same key on different environments3317 when filter[environment_scope] is not passed3318 returns 4093319 when filter[environment_scope] is passed3320 returns the variable3321 when wrong filter[environment_scope] is passed3322 returns not_found3323 when there is only one variable with provided key3324 returns not_found3325 POST /groups/:id/variables3326 scoped variables3327 :group_scoped_ci_variables licensed feature is available3328 creates a variable with the provided environment scope3329 a variable with the same key and scope exists already3330 does not create a variable3331 :group_scoped_ci_variables licensed feature is not available3332 creates a variable, but does not use the provided environment scope3333 a variable with the same key and scope exists already3334 does not create a variable3335 PUT /groups/:id/variables/:key3336 scoped variables3337 :group_scoped_ci_variables licensed feature is available3338 updates the variable3339 a variable with the same key and scope exists already3340 does not update the variable3341 :group_scoped_ci_variables licensed feature is not available3342 does not update the variable3343Mutations::Security::Finding::RevertToDetected3344 #resolve3345 when the user has access to vulnerability management3346 when user does not have access to the project3347 behaves like a mutation that returns a top-level access error3348 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3349 when no uuid is provided3350 raises an error3351 when the user has access to the project3352 when there is a dismissal feedback3353 when there is no vulnerability3354 behaves like properly sets the security finding state3355 sets the security finding state to detected3356 when there is a vulnerability3357 behaves like properly sets the security finding state3358 sets the security finding state to detected3359 behaves like properly sets the vulnerability state3360 sets the vulnerability state to detected3361 when the dismissal fails3362 raises an error3363 when the dismissal fails3364 raises an error3365 when there is no dismissal feedback3366 when there is no vulnerability3367 behaves like properly sets the security finding state3368 sets the security finding state to detected3369 when there is a vulnerability3370 behaves like properly sets the security finding state3371 sets the security finding state to detected3372 behaves like properly sets the vulnerability state3373 sets the vulnerability state to detected3374 when the security dashboard is not available to the user3375 behaves like a mutation that returns a top-level access error3376 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3377Update Amazon S3 configuration3378 when feature is unlicensed3379 behaves like a mutation on an unauthorized resource3380 behaves like a mutation that returns top-level errors3381 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3382 behaves like a mutation that does not update the configuration3383 does not update the configuration3384 does not create audit event3385 when feature is licensed3386 when current user is a group owner3387 updates the configuration3388 audits the update3389 when the fields are updated with existing values3390 does not audit the event3391 when no fields are provided for update3392 behaves like a mutation that does not update the configuration3393 does not update the configuration3394 does not create audit event3395 when there is error while updating3396 does not update the configuration and returns the error3397 when current user is a group maintainer3398 behaves like a mutation on an unauthorized resource3399 behaves like a mutation that returns top-level errors3400 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3401 behaves like a mutation that does not update the configuration3402 does not update the configuration3403 does not create audit event3404 when current user is a group developer3405 behaves like a mutation on an unauthorized resource3406 behaves like a mutation that returns top-level errors3407 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3408 behaves like a mutation that does not update the configuration3409 does not update the configuration3410 does not create audit event3411 when current user is a group guest3412 behaves like a mutation on an unauthorized resource3413 behaves like a mutation that returns top-level errors3414 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3415 behaves like a mutation that does not update the configuration3416 does not update the configuration3417 does not create audit event3418Query.runners3419 Query.runners3420 with upgradeStatus argument3421 with deprecated CiRunnerUpgradeStatusType enum type3422 returns nil upgradeStatus for all runners3423 with new CiRunnerUpgradeStatus enum type3424 returns nil upgradeStatus for all runners3425 with membership argument3426 with deprecated RunnerMembershipFilter enum type3427 returns ids of expected runners3428 with new CiRunnerMembershipFilter enum type3429 returns ids of expected runners3430 when sorting by MOST_ACTIVE_DESC3431 when requesting not instance_type runners3432 when requesting not runners without type3433 returns error when feature is not enabled3434 behaves like sorted paginated query3435 behaves like requires variables3436 shared example requires variables to be set3438 when sorting3439 sorts correctly3440 when paginating3441 paginates correctly3442Projects::Settings::AnalyticsController3443 as a maintainer3444 GET show3445 renders analytics settings3446 is unavailable when the combined_analytics_dashboards feature flag is disabled3447 PATCH update3448 redirects with expected flash3449 updates dashboard pointer project reference3450 with existing product_analytics_instrumentation_key3451 updates product analytics settings and cleans up instrumentation key3452 updates dashboard pointer project reference and does not clean up instrumentation key3453 when save is unsuccessful3454 redirects back to form with error3455CiMinutesUsageMailer3456 #notify3457 when it is a group3458 behaves like mail format3459 is expected to have subject of "Action required: There are no remaining Pipeline minutes for group232"3460 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3461 is expected to have body including "/group234"3462 is expected to have body including "has run out of Shared Runner Pipeline minutes"3463 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2364"3464 when it is a namespace3465 behaves like mail format3466 is expected to have subject of "Action required: There are no remaining Pipeline minutes for Sidney Jones1551"3467 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3468 is expected to have body including "/namespace336"3469 is expected to have body including "has run out of Shared Runner Pipeline minutes"3470 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2369"3471 #notify_limit3472 when it is a group3473 behaves like mail format3474 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for group237"3475 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3476 is expected to have body including "/group239"3477 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3478 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2374"3479 when it is a namespace3480 behaves like mail format3481 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for Sidney Jones1556"3482 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3483 is expected to have body including "/namespace341"3484 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3485 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2379"3486Setting Project Continuous Vulnerability Scanning3487 when the user does not have permission3488 does not enable cvs3489 behaves like a mutation that returns a top-level access error3490 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3491 when the user has permission3492 and feature is enabled3493 value_before: true, enable: false, value_after: false3494 updates the project setting and returns the new value3495 value_before: true, enable: true, value_after: true3496 updates the project setting and returns the new value3497 value_before: false, enable: true, value_after: true3498 updates the project setting and returns the new value3499 value_before: false, enable: false, value_after: false3500 updates the project setting and returns the new value3501 and feature is disabled3502 does not enable cvs3503 behaves like a mutation that returns a top-level access error3504 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3505Creating a DAST Site Token3506 behaves like an on-demand scan mutation when user cannot run an on-demand scan3507 when a user does not have access to the project3508 behaves like a mutation that returns a top-level access error3509 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3510 when a user does not have access to run a dast scan on the project3511 behaves like a mutation that returns a top-level access error3512 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3513 behaves like an on-demand scan mutation when user can run an on-demand scan3514 returns an empty errors array3515 returns the dast_site_token id3516 creates a new dast_site_token3517 when on demand scan licensed feature is not available3518 behaves like a mutation that returns a top-level access error3519 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3520Projects::DeployKeysController3521 POST create3522 records an audit event3523 when the account has configured ssh key expiry3524 shows an alert with the validation error3525 /enable/:id3526 with user with permission3527 records an audit event3528 returns 4043529 /disable/:id3530 with admin3531 records an audit event3532Query.workspaces(ids: [RemoteDevelopmentWorkspaceID!])3533 behaves like a fully working Query.workspaces query3534 behaves like multiple workspaces query3535 when remote_development feature is licensed3536 when user is authorized3537 behaves like query is a working graphql query3538 behaves like a working graphql query3539 returns a successful response3540 behaves like query returns workspaces hash containing workspace3541 includes only the expected workspace3542 when the user requests a workspace that they are not authorized for3543 does not return the unauthorized workspace3544 still returns the authorized workspace3545 when user is not authorized3546 behaves like query is a working graphql query3547 behaves like a working graphql query3548 returns a successful response3549 behaves like query returns blank3550 is expected to be blank3551 behaves like query in unlicensed environment3552 when remote_development feature is unlicensed3553 when user is authorized3554 behaves like query returns blank3555 is expected to be blank3556 behaves like query includes graphql error3557 includes a graphql error3558Groups::Analytics::CycleAnalyticsController3559 GET show3560 when the license is available3561 succeeds3562 increments usage counter3563 renders `show` template when feature flag is enabled3564 when the initial, default value stream is requested3565 renders the default in memory value stream3566 when invalid name is given3567 renders 404 error3568 tracking events3569 tracks redis hll event3570 behaves like Snowplow event tracking with RedisHLL context3571 behaves like Snowplow event tracking3572 is emitted3573 when the license is missing3574 renders 403 error3575 when non-existent group is given3576 renders 404 error3577 with group and value stream params3578 builds request params with group and value stream3579Projects::Security::ApiFuzzingConfigurationController3580 when the "Security and Compliance" feature is disabled3581 is expected to respond with numeric status code not_found3582 GET #show3583 behaves like SecurityDashboardsPermissions3584 access for all actions3585 when security dashboard feature is disabled3586 returns 4043587 when security dashboard feature is enabled3588 when user has guest access3589 denies access3590 when user has developer access3591 grants access3592 with authorized user3593 renders the show template3594 with unauthorized user3595 returns a 4033596Update of an existing issue3597 updates the issue3598 setting epic3599 sets the epic3600 the epic is not readable to the current user3601 does not set the epic3602 the epic is not an epic3603 does not set the epic3604 removing epic3605 removes the epic3606 the epic argument is not provided3607 does not remove the epic3608Running a DAST Scan3609 behaves like an on-demand scan mutation when user cannot run an on-demand scan3610 when a user does not have access to the project3611 behaves like a mutation that returns a top-level access error3612 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3613 when a user does not have access to run a dast scan on the project3614 behaves like a mutation that returns a top-level access error3615 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3616 behaves like an on-demand scan mutation when user can run an on-demand scan3617 returns an empty errors array3618 returns a pipeline_url containing the correct path3619 when on demand scan licensed feature is not available3620 behaves like a mutation that returns a top-level access error3621 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3622 when dast_scanner_profile_id is provided3623 returns an empty errors array3624 when wrong type of global id is passed3625 behaves like a mutation that returns top-level errors3626 is expected to eq ["Variable $dastOnDemandScanCreateInput of type DastOnDemandScanCreateInput! was provided invalid val...rofileId (\"gid://gitlab/DastSiteProfile/6\" does not represent an instance of DastScannerProfile)"]3627 when pipeline creation fails3628 behaves like a mutation that returns errors in the response3629 is expected to contain exactly "full error messages"3630Update an external audit event destination header3631 when feature is unlicensed3632 behaves like a mutation that returns top-level errors3633 is expected to contain exactly "You do not have access to this mutation."3634 behaves like a mutation that does not update a header3635 does not update a header key3636 does not update a header value3637 when feature is licensed3638 when current user is instance admin3639 updates the header with the correct attributes3640 when active attribute is also updated3641 updates the header with the correct attributes3642 when only active attribute is updated3643 updates the header active value3644 when the header attributes are invalid3645 returns correct errors3646 returns the unmutated attribute values3647 behaves like a mutation that does not update a header3648 does not update a header key3649 does not update a header value3650 when the header id is wrong3651 behaves like a mutation that returns top-level errors3652 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3653 behaves like a mutation that does not update a header3654 does not update a header key3655 does not update a header value3656 when current user is not instance admin3657 behaves like a mutation that does not update a header3658 does not update a header key3659 does not update a header value3660Rack Attack EE throttles3661 requests to prometheus alert notify endpoint with oauth token3662 behaves like incident management rate limiting3663 limits set3664 when the throttle is enabled3665 rejects requests over the rate limit3666 allows requests after throttling and then waiting for the next period3667 when the throttle is disabled3668 allows requests over the rate limit3669 requests to generic alert notify endpoint with oauth token3670 behaves like incident management rate limiting3671 limits set3672 when the throttle is enabled3673 rejects requests over the rate limit3674 allows requests after throttling and then waiting for the next period3675 when the throttle is disabled3676 allows requests over the rate limit3677 requests to AlertManagement::HttpIntegration notify endpoint with oauth token3678 behaves like incident management rate limiting3679 limits set3680 when the throttle is enabled3681 rejects requests over the rate limit3682 allows requests after throttling and then waiting for the next period3683 when the throttle is disabled3684 allows requests over the rate limit3685Groups::Settings::RolesAndPermissionsController3686 GET #index3687 with different access levels not allowed3688 access_level: nil3689 behaves like page is not found3690 has correct status3691 access_level: :guest3692 behaves like page is not found3693 has correct status3694 access_level: :reporter3695 behaves like page is not found3696 has correct status3697 access_level: :developer3698 behaves like page is not found3699 has correct status3700 access_level: :maintainer3701 behaves like page is not found3702 has correct status3703 with admins3704 behaves like page is found under proper conditions3705 returns a 200 status code3706 when accessing a subgroup3707 is not found3708 when `custom_roles` license is disabled3709 behaves like page is not found3710 has correct status3711 with group owners3712 behaves like page is found under proper conditions3713 returns a 200 status code3714 when accessing a subgroup3715 is not found3716 when `custom_roles` license is disabled3717 behaves like page is not found3718 has correct status3719Creating an External Issue Link3720 when the user does not have permission3721 does not create external issue link3722 behaves like a mutation that returns a top-level access error3723 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3724 when the user has permission3725 when security_dashboard is disabled3726 behaves like a mutation that returns top-level errors3727 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3728 when security_dashboard is enabled3729 when jira is not configured3730 responds with error3731 when jira is configured3732 when issue creation succeeds3733 and saving external issue link succeeds3734 creates the external issue link and returns nil for external issue to be fetched using query3735 and saving external issue link fails3736 creates the external issue link3737 when issue creation fails3738 does not create the external issue link3739Projects::RequirementsManagement::RequirementsController3740 POST #import_csv3741 unauthorized3742 when user is not signed in3743 behaves like response with 404 status3744 returns 4043745 with project member with a guest role3746 behaves like response with 404 status3747 returns 4043748 authorized3749 when requirements feature is available and member is a reporter3750 shows error when upload fails3751 behaves like response with success status3752 returns 200 status and success message3753 when file extension is in upper case3754 behaves like response with success status3755 returns 200 status and success message3756 when file extension is not csv3757 returns error message3758 when requirements feature is not available3759 behaves like response with 404 status3760 returns 4043761 POST #authorize3762 with authorized user3763 when requirements feature is enabled3764 behaves like handle uploads authorize request3765 POST authorize3766 authorizes workhorse header3767 rejects requests that bypassed gitlab-workhorse3768 when using remote storage3769 when direct upload is enabled3770 responds with status 200, location of file remote store and object details3771 when direct upload is disabled3772 handles as a local file3773 when requirements feature is disabled3774 behaves like response with 404 status3775 returns 4043776 with unauthorized user3777 behaves like response with 404 status3778 returns 4043779getting merge access levels for a branch protection3780 behaves like a GraphQL query for access levels3781 when request AccessLevel type objects as a guest user3782 is expected not to be present3783 behaves like a working graphql query3784 returns a successful response3785 when request AccessLevel type objects as a maintainer3786 query3787 avoids N+1 queries3788 response3789 returns all the access level attributes3790 behaves like a working graphql query3791 returns a successful response3792 when request AccessLevel type objects as a maintainer3793 query3794 avoids N+1 queries3795 response3796 returns all the access level attributes3797 behaves like a working graphql query3798 returns a successful response3799buildForecast3800 when forecast has invalid input3801 returns an error3802 when forecast is good enough3803 returns forecast values3804 when forecast is too weak3805 returns no values3806 when forecast context does not exist3807 returns an error3808Update a compliance framework3809 feature is unlicensed3810 behaves like a mutation that returns top-level errors3811 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3812 feature is licensed but disabled3813 behaves like a mutation that returns top-level errors3814 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3815 feature is licensed3816 with valid params3817 returns an empty array of errors3818 returns the updated framework3819 pipeline configuration full path3820 when compliance pipeline configuration feature is available3821 updates the pipeline configuration path attribute3822 when compliance pipeline configuration feature is not available3823 returns an error3824 current_user is not permitted to update framework3825 behaves like a mutation that returns top-level errors3826 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3827 with invalid params3828 returns an array of errors3829 does not update the framework3830Query current user groups3831 when permission_scope is CREATE_PROJECTS3832 behaves like a working graphql query3833 returns a successful response3834 when ip_restrictions feature is enabled3835 when check_namespace_plan setting is enabled3836 behaves like no N + 1 DB queries3837 avoids N+1 queries3838 when check_namespace_plan setting is disabled3839 behaves like no N + 1 DB queries3840 avoids N+1 queries3841Projects::Settings::CiCdController3842 as a maintainer3843 GET show3844 renders group protected environments3845 PATCH update3846 when restrict_pipeline_cancellation_role is specified3847 when the feature is enabled3848 when the user has permission3849 behaves like update3850 role updates3851 when the user has no permission3852 behaves like no update3853 role does not update3854 when the feature is disabled3855 when the user has permission3856 behaves like no update3857 role does not update3858 when the user has no permission3859 behaves like no update3860 role does not update3861 when updating general settings3862 when allow_pipeline_trigger_approve_deployment is specified3863 sets allow_pipeline_trigger_approve_deployment3864Creating a DAST Scanner Profile3865 behaves like an on-demand scan mutation when user cannot run an on-demand scan3866 when a user does not have access to the project3867 behaves like a mutation that returns a top-level access error3868 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3869 when a user does not have access to run a dast scan on the project3870 behaves like a mutation that returns a top-level access error3871 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3872 behaves like an on-demand scan mutation when user can run an on-demand scan3873 returns an empty errors array3874 returns the dast_scanner_profile id3875 sets default values of omitted properties3876 when on demand scan licensed feature is not available3877 behaves like a mutation that returns a top-level access error3878 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3879 when dast_scanner_profile exists3880 returns errors3881Setting weight of an issue3882 returns an error if the user is not allowed to update the issue3883 when weight is a number3884 updates the issue weight3885 when weight is null3886 updates the issue weight3887 when weight is not an integer3888 raises invalid value error3889Projects::Security::ScannedResourcesController3890 GET #index3891 when the "Security and Compliance" feature is disabled3892 is expected to respond with numeric status code not_found3893 user has access to view vulnerabilities3894 when DAST security scan is found3895 returns a CSV representation of the scanned resources3896 when DAST licensed feature is unavailable3897 will return a 4043898 when security_dashboard licensed feature is not available3899 will return a 4043900 when DAST security scan is not found3901 will return a 4043902 when the pipeline id exists under another project3903 will return a 4043904 when the pipeline does not exist3905 will return a 4043906 user does not have access to view vulnerabilities3907 will return a 4043908Bulk update issues3909 when user can update all issues3910 updates all issues3911 when setting arguments to null or none3912 updates all issues3913 when scoping to a parent group3914 when group_bulk_edit feature is available3915 updates all issues3916 when current user cannot read the specified group3917 returns a resource not found error3918 when group_bulk_edit feature is not available3919 returns a resource not available message3920Projects::Security::CorpusManagementController3921 GET #show3922 when the "Security and Compliance" feature is disabled3923 is expected to respond with numeric status code not_found3924 feature available3925 user authorized3926 can access page3927 user not authorized3928 sees a 404 error3929 feature not available3930 license doesnt't support the feature3931 sees a 404 error3932API::Experiments3933 GET /experiments3934 when on .com3935 returns a 401 for anonymous users3936 returns a 403 for users3937 returns a 403 for non human users3938 for gitlab team members3939 returns the feature flag details3940 understands the state of the feature flag and what that means for an experiment3941 the null_hypothesis as a canary3942 runs and tracks the expected events3943 returns a 400 if experimentation seems broken3944 publishes into a collection of experiments that have been run in the request3945 when not .com3946 returns a 403 for users3947Subscriptions::AiCompletionResponse3948 when unauthorized user requests an authorized one3949 does not receive any data3950 when user is nil3951 does not receive any data3952 when user is unauthorized3953 does not receive any data3954 when user is authorized3955 when client_subscription_id is set3956 behaves like on success3957 receives data3958 when client_subscription_id is null3959 behaves like on success3960 receives data3961 when client_subscription_id is not part of the subscription3962 behaves like on success3963 receives data3964 when resource_id is null3965 behaves like on success3966 receives data3967 when resource_id is not part of the subscription3968 behaves like on success3969 receives data3970 when ai_action is null3971 behaves like on success3972 receives data3973 when ai_action is set3974 behaves like on success3975 receives data3976Query.project(fullPath).pipeline(iid).securityReportFinding3977 when the required features are enabled3978 when user is member of the project3979 returns all the queried fields3980 when the finding has been dismissed3981 returns a finding in the dismissed state3982 when user is not a member of the project3983 returns no vulnerability findings3984 when the required features are disabled3985 returns no vulnerability findings3986Mutation.vulnerabilityResolve3987 with a custom role3988 with `admin_vulnerability` enabled3989 returns a successful response3990 with `admin_vulnerability` disabled3991 returns an empty response3992Getting issuable resource links3993 when feature is unavailable3994 returns empty results3995 behaves like a working graphql query3996 returns a successful response3997 when feature is available3998 when user has permissions3999 returns the correct number of resource links4000 returns the correct properties of the resource links4001 behaves like a working graphql query4002 returns a successful response4003 when user does not have permission4004 returns empty results4005 behaves like a working graphql query4006 returns a successful response4007Creating an iteration cadence4008 when the user does not have permission4009 does not create iteration cadence4010 behaves like a mutation that returns a top-level access error4011 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4012 when the user has permission4013 when iterations feature is disabled4014 behaves like a mutation that returns top-level errors4015 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4016 when iterations feature is enabled4017 creates the iteration cadence for a group4018 when creating a manual iteration cadence4019 creates an iteration cadence4020 when there are ActiveRecord validation errors4021 does not create the iteration cadence4022 behaves like a mutation that returns errors in the response4023 is expected to contain exactly "Iterations in advance can't be blank", "Start date can't be blank", and "Title can't be blank"4024 when required arguments are missing4025 returns error about required argument4026 does not create the iteration cadence4027Projects::BranchesController4028 GET #index4029 for mirrored projects with diverged branch4030 renders the diverged from upstream partial4031Query.group(fullPath).projects4032 when compliance framework id filter is passed4033 returns project matching id4034 when compliance framework presence filter is passed as ANY4035 returns projects with any framework attached4036 when compliance framework not id filter is passed4037 returns project where id is not passed id4038 when compliance framework presence filter is passed as NONE4039 returns project without any framework4040 when both compliance framework id and not id filter are passed4041 when id and not id are same4042 returns no project4043 when id and not id are different4044 returns project with correct id4045Add linked items to a work item4046 link_type: "BLOCKS", expected: "blocks"4047 when licensed feature `blocked_work_items` is available4048 links the work items with correct link type4049 when licensed feature `blocked_work_items` is not available4050 returns an error4051 when type cannot block given type4052 returns an error message4053 link_type: "BLOCKED_BY", expected: "is_blocked_by"4054 when licensed feature `blocked_work_items` is available4055 links the work items with correct link type4056 when licensed feature `blocked_work_items` is not available4057 returns an error4058 when type cannot be blocked by given type4059 returns an error message4060API::Templates4061 GET /templates/dockerfiles4062 includes the custom template in the response4063 excludes the custom template when the feature is disabled4064 GET /templates/dockerfiles/custom4065 returns the custom template4066 returns 404 when the feature is disabled4067 GET /templates/gitignores4068 includes the custom template in the response4069 excludes the custom template when the feature is disabled4070 GET /templates/gitignores/custom4071 returns the custom template4072 returns 404 when the feature is disabled4073 GET /templates/gitlab_ci_ymls4074 includes the custom template in the response4075 excludes the custom template when the feature is disabled4076 GET /templates/gitlab_ci_ymls/custom4077 returns the custom template4078 returns 404 when the feature is disabled4079 GET /templates/licenses4080 includes the custom template in the response4081 excludes the custom template when the feature is disabled4082 GET /templates/licenses/custom4083 returns the custom template4084 returns 404 when the feature is disabled4085Query.project(fullPath).pipeline(iid).dastProfile4086 when feature is not licensed4087 does not return dast profile data4088 when feature is licensed4089 when user is member of the project4090 returns the dast profile data4091 avoids N+1 queries4092 when user is not member of the project4093 does not return dast profile data4094 when feature flag is not enabled4095 returns the dast profile data4096Query.ciMinutesUsage4097 when no namespace_id is provided4098 does not create N+1 queries4099 when date is not provided4100 returns the usage data for all months4101 when date is provided4102 with usage data for the given month4103 returns the usage data for the given month only4104 when namespace_id is provided4105 when group is root4106 when user is an owner4107 when date is not provided4108 returns the usage data for all months4109 when date is provided4110 with usage data for the given month4111 returns the usage data for the given month only4112 when user is not an owner4113 does not return usage data4114 when group is a subgroup4115 does not return usage data4116Groups::RoadmapController4117 #show4118 when the user is signed in4119 when the user has access to the group4120 when epics feature is disabled4121 behaves like returns 404 status4122 is expected to respond with numeric status code not_found4123 when epics feature is enabled4124 returns 200 status4125 when roadmaps_sort is nil4126 stores roadmaps sorting param in user preference4127 defaults to sort_value_start_date_soon4128 when roadmaps_sort is present4129 update roadmaps_sort with current value4130 when the user does not have access to the group4131 behaves like returns 404 status4132 is expected to respond with numeric status code not_found4133 when user is not signed in4134 when epics feature is enabled4135 when anonymous users does not have access to the group4136 redirects to login page4137 when anonymous users have access to the group4138 stores epics sorting param in a cookie4139Emails::EnterpriseUsers4140 user_associated_with_enterprise_group_email4141 when there is no user for given user_id4142 behaves like no email is sent4143 does not send an email4144 when user is not an enterprise user4145 behaves like no email is sent4146 does not send an email4147 when user is an enterprise user4148 delivers mail to user email4149 has the correct subject and body4150 behaves like an email sent from GitLab4151 has the characteristics of an email sent from GitLab4152 behaves like it should not have Gmail Actions links4153 is expected not to have body including "ViewAction"4154 behaves like a user cannot unsubscribe through footer link4155 does not have a List-Unsubscribe header or a body link4156 behaves like appearance header and footer enabled4157 contains header and footer4158 behaves like appearance header and footer not enabled4159 does not contain header and footer4160 when enterprise user is unconfirmed4161 delivers mail to user email4162 has the correct subject and body4163API::ResourceWeightEvents4164 GET /projects/:id/issues/:noteable_id/resource_weight_events4165 returns an array of resource weight events4166 returns a 404 error when issue id not found4167 returns 404 when not authorized4168 GET /projects/:id/issues/:noteable_id/resource_weight_events/:event_id4169 returns a resource weight event by id4170 returns 404 when not authorized4171 returns a 404 error if resource weight event not found4172 pagination4173 returns the second page4174Create scan execution policy for a project/namespace4175 for project4176 behaves like commits scan execution policies4177 creates a branch with commit4178 when provided policy is invalid4179 returns error with detailed information4180 for namespace4181 behaves like commits scan execution policies4182 creates a branch with commit4183 when provided policy is invalid4184 returns error with detailed information4185API::ProjectSnapshots4186 GET /projects/:id/snapshot4187 requests project repository raw archive from Geo primary as Geo secondary4188Update list limit metrics4189 returns an error if the list cannot be found4190 updates the list limit metrics for limit metric all_metrics4191 updates the list limit metrics for limit metric issue_count4192 updates the list limit metrics for limit metric issue_weights4193 the current_user is not allowed to update the issue4194 returns an error4195 the list_id is not a valid ListID4196 behaves like an invalid argument to the mutation4197 behaves like a mutation that returns top-level errors4198 is expected to contain exactly (include "invalid value for listId")4199API::ComposerPackages4200 GET /api/v4/projects/:id/packages/composer/archives/*package_name?sha=:sha4201 behaves like applying ip restriction for group4202 in group without restriction4203 behaves like returning response status4204 returns ok4205 in group with restriction4206 with address within the range4207 behaves like returning response status4208 returns ok4209 with address outside the range4210 behaves like returning response status4211 returns not_found4212 GET /api/v4/group/:id/-/packages/composer/p2/*package_name.json4213 behaves like applying ip restriction for group4214 in group without restriction4215 behaves like returning response status4216 returns ok4217 in group with restriction4218 with address within the range4219 behaves like returning response status4220 returns ok4221 with address outside the range4222 behaves like returning response status4223 returns not_found4224Projects::ProtectedBranchesController4225 POST #create4226 when code_owner_approval_required is 'false'4227 behaves like protected branch with code owner approvals feature4228 sets code owner approvals to false when protecting the branch4229 when code_owner_approval_required is 'true'4230 when the feature is enabled4231 behaves like protected branch with code owner approvals feature4232 sets code owner approvals to true when protecting the branch4233 when the feature is not enabled4234 behaves like protected branch with code owner approvals feature4235 sets code owner approvals to false when protecting the branch4236API::IssueLinks4237 POST /links4238 when creating a blocked relationship4239 when feature is enabled4240 returns 201 status and contains the expected link response4241 returns 201 status for is_blocked_by link and contains the expected link response4242 when feature is disabled4243 returns 4034244Admin::ProjectsController4245 GET /projects/:id4246 when Geo is enabled4247 on a primary site4248 does not display a different read-only message4249 on a secondary site4250 displays a different read-only message based on skip_readonly_message4251 without Geo enabled4252 does not display a different read-only message4253Query.vulnerabilitiesCountByDay4254 when user does not have permission to access the security dashboard of the project4255 when project has statistics4256 behaves like a working graphql query that returns data4257 contains data4258 returns zero for all counts4259 behaves like a working graphql query4260 returns a successful response4261 when user has permission to access the security dashboard of the project4262 when dashboard does not have statistics4263 behaves like a working graphql query that returns data4264 contains data4265 returns the statistics4266 behaves like a working graphql query4267 returns a successful response4268 when project has statistics4269 behaves like a working graphql query that returns data4270 contains data4271 returns the statistics4272 behaves like a working graphql query4273 returns a successful response4274API::ProjectMilestones4275 matches V4 EE-specific response schema for a list of issues4276 behaves like group and project milestone burndowns4277 GET /projects/:id/milestones/:milestone_id/burndown_events4278 returns burndown events list4279 returns 404 when user is not authorized to read milestone4280Groups::Settings::ReportingController4281 GET /groups/:group_id/-/settings/reporting4282 when user is owner4283 renders show with 200 status code4284 behaves like 404 when feature is unavailable4285 when feature flag is disabled4286 behaves like renders 4044287 renders 4044288 when licensed feature is not available4289 behaves like renders 4044290 renders 4044291 when subgroup4292 behaves like renders 4044293 renders 4044294 when user is not owner4295 renders a 4044296getting iterations4297 query for iteration cadence4298 returns all group cadences4299 by global id4300 fetching cadences from group level4301 behaves like returns cadence by id4302 returns cadence4303 from a different group4304 behaves like returns cadence by id4305 returns cadence4306 fetching cadences from project level4307 behaves like returns cadence by id4308 returns cadence4309Destroy an instance external audit event destination4310 when feature is licensed4311 when current user is an instance admin4312 destroys the destination4313 audits the destruction4314 when the destination id is invalid4315 does not destroy the destination4316 behaves like a mutation that returns top-level errors4317 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4318 when current user is not instance admin4319 behaves like a mutation that does not destroy a destination4320 does not destroy the destination4321 does not audit the destruction4322 behaves like a mutation that returns top-level errors4323 is expected to contain exactly "You do not have access to this mutation."4324 when feature is unlicensed4325 behaves like a mutation that does not destroy a destination4326 does not destroy the destination4327 does not audit the destruction4328 behaves like a mutation that returns top-level errors4329 is expected to contain exactly "You do not have access to this mutation."4330Query.project(id).dashboards.panels(id).visualization4331 when current user is a developer4332 returns visualization4333 when the visualization does not exist4334 returns an error4335 when the visualization has validation errors4336 returns the visualization with a validation error4337getting a list of external audit event destinations for the instance4338 when user is authenticated4339 when feature is licensed4340 when user is instance admin4341 returns the instance external audit event destinations4342 when user is not instance admin4343 behaves like a request that returns no destinations4344 returns no destinations4345 when feature is not licensed4346 when user is instance admin4347 behaves like a request that returns no destinations4348 returns no destinations4349 when user is not instance admin4350 behaves like a request that returns no destinations4351 returns no destinations4352 when user is not authenticated4353 when feature is licensed4354 behaves like a request that returns no destinations4355 returns no destinations4356 when feature is not licensed4357 behaves like a request that returns no destinations4358 returns no destinations4359Deleting a DAST Profile4360 behaves like an on-demand scan mutation when user cannot run an on-demand scan4361 when a user does not have access to the project4362 behaves like a mutation that returns a top-level access error4363 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4364 when a user does not have access to run a dast scan on the project4365 behaves like a mutation that returns a top-level access error4366 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4367 behaves like an on-demand scan mutation when user can run an on-demand scan4368 returns an empty errors array4369 deletes the dast_profile4370 when on demand scan licensed feature is not available4371 behaves like a mutation that returns a top-level access error4372 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4373getting Incident Management on-call shifts4374 returns the correct properties of the on-call shifts4375 performance4376 for additional participant4377 behaves like avoids N+1 queries4378 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007bc3e9e0d110 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>4379 for additional rotation with participants4380 behaves like avoids N+1 queries4381 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007bc3df85baa0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>4382 behaves like a working graphql query4383 returns a successful response4384Query.project(fullPath).dastProfile4385 when a user does not have access to the project4386 returns a null project4387 when a user does not have access to the dast_profile4388 returns a null dast_profile4389 when a user has access to the dast_profile4390 returns a dast_profile4391 when on demand scan licensed feature is not available4392 returns a null dast_profile4393Getting ancestors of an epic4394 when epics are enabled4395 finds ancestors from group4396 when user has access to the parent group epics4397 finds ancestors from group and parent group4398 when epics are disabled4399 does not find the epic ancestors4400updating member role4401 with the custom roles feature4402 with maintainer role4403 behaves like a mutation that returns a top-level access error4404 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4405 with owner role4406 with valid arguments4407 returns success4408 updates the member role4409 with invalid arguments4410 returns an error4411 with missing arguments4412 returns an error4413 without the custom roles feature4414 with owner role4415 behaves like a mutation that returns a top-level access error4416 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4417Groups::Security::ComplianceDashboardsController4418 GET show4419 when compliance dashboard feature is enabled4420 and user is allowed to access group compliance dashboard4421 is expected to respond with numeric status code success4422 behaves like tracking unique visits4423 tracks unique visit if the format is HTML4424 tracks unique visit if DNT is not enabled4425 does not track unique visit if DNT is enabled4426 does not track unique visit if the format is JSON4427 behaves like internal event tracking4428 logs to Snowplow4429 when user is not allowed to access group compliance dashboard4430 is expected to respond with numeric status code not_found4431 when compliance dashboard feature is disabled4432 is expected to respond with numeric status code not_found4433Create an instance audit event type filter4434 when current user is not instance admin4435 behaves like a mutation on an unauthorized resource4436 behaves like a mutation that returns top-level errors4437 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4438 when current user is instance admin4439 when unlicensed4440 behaves like a mutation on an unauthorized resource4441 behaves like a mutation that returns top-level errors4442 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4443 when licensed4444 returns success response4445 when event type filters in input is empty4446 returns graphql error4447 when event type is invalid4448 returns graphql error4449 when destinationId is invalid4450 behaves like a mutation on an unauthorized resource4451 behaves like a mutation that returns top-level errors4452 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"4453get list of epic boards4454 when the user does not have access to the epic board group4455 returns nil group4456 when user can access the epic board group4457 sorting and pagination4458 behaves like sorted paginated query4459 behaves like requires variables4460 shared example requires variables to be set4462 when sorting4463 sorts correctly4464 when paginating4465 paginates correctly4466 field values4467 returns the correct values for hiding board lists4468Projects::IssueLinksController4469 GET #index4470 returns success response4471 POST #create4472 returns success response4473 when blocked issues is disabled4474 returns failure response4475RootController4476 GET #index4477 when user is not logged in4478 on a Geo primary node4479 redirects to the sign-in page4480 when a custom home page URL is defined4481 redirects the user to the custom home page URL4482 on a Geo secondary node4483 redirects to the sign-in page4484 when a custom home page URL is defined4485 redirects to the sign-in page4486 with a user4487 who has customized their dashboard setting for operations4488 when licensed4489 redirects to operations dashboard4490 when unlicensed4491 renders the default dashboard4492Projects::IterationCadencesController4493 behaves like accessing iteration cadences4494 index4495 role: :none, status: :not_found4496 behaves like returning response status4497 returns not_found4498 role: :guest, status: :success4499 behaves like returning response status4500 returns success4501 role: :developer, status: :success4502 behaves like returning response status4503 returns success4504ConfirmationsController4505 GET #show4506 when user is signed in4507 sets event_type4508 when user is provisioned by group4509 confirms the user and redirects to SSO login4510 when the provisioning group is deleted4511 redirects to default sign in path4512Groups::Security::ComplianceViolationReportsController4513 GET /groups/:group_id/-/security/compliance_violation_reports(.:format)4514 when user does not have access to dashboard4515 renders not found4516 when user has access to compliance reports4517 with compliance_violation_csv_export ff implicitly enabled4518 defers email generation and redirects with message on following page4519 with compliance_violation_csv_export ff disabled4520 defers email generation and redirects with message on following page4521API::Internal::SuggestedReviewers4522 POST /internal/suggested_reviewers/tokens4523 when feature flag is disabled4524 returns 4044525 when feature flag is enabled4526 when authentication header is not set4527 returns 4014528 when authentication header is set4529 when project is not allowed to suggest reviewers4530 returns 4044531 when project is allowed to suggest reviewers4532 when create token service fails4533 returns 4004534 when create token service succeeds4535 returns 2004536Update board epic user preferences4537 returns an error if user can not access the board4538 when user can access the board4539 returns an error if user can not access the epic4540 when user can access the epic4541 updates user preferences4542Security::VulnerabilitiesController4543 GET #index4544 behaves like Security::ApplicationController4545 when the user is authenticated4546 responds with success4547 and the instance does not have an Ultimate license4548 404s4549 when the user is not authenticated4550 redirects the user to the sign in page4551 when security dashboard feature4552 is enabled4553 is expected to render template instance_security4554 behaves like tracks govern usage event4555 tracks unique event4556 is disabled4557 is expected to respond with numeric status code not_found4558 is expected to render template errors/not_found4559 behaves like doesn't track govern usage event4560 doesn't tracks event4561AiAction for Generate Commit Message4562#<Thread:0x00007bc383adbf48 /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:417 run> terminated with exception (report_on_exception is true):4563/builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/webmock-3.19.1/lib/webmock/http_lib_adapters/net_http.rb:106:in `request': Real HTTP connections are disabled. Unregistered request: GET https://db-snowplow.trx.gitlab.net/i?cx=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6MTY0LCJtZXJnZV9yZXF1ZXN0X2lkIjoxNTcsImxhdGVzdF9idWlsZF9zdGFydGVkX2F0IjpudWxsLCJsYXRlc3RfYnVpbGRfZmluaXNoZWRfYXQiOm51bGwsImZpcnN0X2RlcGxveWVkX3RvX3Byb2R1Y3Rpb25fYXQiOm51bGwsIm1lcmdlZF9hdCI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMjMtMTEtMjIgMTY6Mzk6MTEgVVRDIiwidXBkYXRlZF9hdCI6IjIwMjMtMTEtMjIgMTY6Mzk6MTEgVVRDIiwicGlwZWxpbmVfaWQiOm51bGwsIm1lcmdlZF9ieV9pZCI6bnVsbCwibGF0ZXN0X2Nsb3NlZF9ieV9pZCI6bnVsbCwibGF0ZXN0X2Nsb3NlZF9hdCI6bnVsbCwiZmlyc3RfY29tbWVudF9hdCI6bnVsbCwiZmlyc3RfY29tbWl0X2F0IjpudWxsLCJsYXN0X2NvbW1pdF9hdCI6bnVsbCwiZGlmZl9zaXplIjpudWxsLCJtb2RpZmllZF9wYXRoc19zaXplIjpudWxsLCJjb21taXRzX2NvdW50IjpudWxsLCJmaXJzdF9hcHByb3ZlZF9hdCI6bnVsbCwiZmlyc3RfcmVhc3NpZ25lZF9hdCI6bnVsbCwiYWRkZWRfbGluZXMiOm51bGwsInJlbW92ZWRfbGluZXMiOm51bGx9LCJ1c2VyX2lkIjpudWxsLCJpc19naXRsYWJfdGVhbV9tZW1iZXIiOm51bGwsIm5hbWVzcGFjZV9pZCI6bnVsbCwicHJvamVjdF9pZCI6bnVsbCwiY29udGV4dF9nZW5lcmF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjM5OjEyIFVUQyJ9fV19&dtm=1700671152206&e=se&eid=fdacaccb-dc7a-4e22-bc5b-b6314c3f265b&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1700671152208&tna=gl&tv=rb-0.8.0 with headers {'Accept'=>'*/*', 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', 'User-Agent'=>'Ruby'} (WebMock::NetConnectNotAllowedError)4564You can stub this request with the following snippet:4565stub_request(:get, "https://db-snowplow.trx.gitlab.net/i?cx=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6MTY0LCJtZXJnZV9yZXF1ZXN0X2lkIjoxNTcsImxhdGVzdF9idWlsZF9zdGFydGVkX2F0IjpudWxsLCJsYXRlc3RfYnVpbGRfZmluaXNoZWRfYXQiOm51bGwsImZpcnN0X2RlcGxveWVkX3RvX3Byb2R1Y3Rpb25fYXQiOm51bGwsIm1lcmdlZF9hdCI6bnVsbCwiY3JlYXRlZF9hdCI6IjIwMjMtMTEtMjIgMTY6Mzk6MTEgVVRDIiwidXBkYXRlZF9hdCI6IjIwMjMtMTEtMjIgMTY6Mzk6MTEgVVRDIiwicGlwZWxpbmVfaWQiOm51bGwsIm1lcmdlZF9ieV9pZCI6bnVsbCwibGF0ZXN0X2Nsb3NlZF9ieV9pZCI6bnVsbCwibGF0ZXN0X2Nsb3NlZF9hdCI6bnVsbCwiZmlyc3RfY29tbWVudF9hdCI6bnVsbCwiZmlyc3RfY29tbWl0X2F0IjpudWxsLCJsYXN0X2NvbW1pdF9hdCI6bnVsbCwiZGlmZl9zaXplIjpudWxsLCJtb2RpZmllZF9wYXRoc19zaXplIjpudWxsLCJjb21taXRzX2NvdW50IjpudWxsLCJmaXJzdF9hcHByb3ZlZF9hdCI6bnVsbCwiZmlyc3RfcmVhc3NpZ25lZF9hdCI6bnVsbCwiYWRkZWRfbGluZXMiOm51bGwsInJlbW92ZWRfbGluZXMiOm51bGx9LCJ1c2VyX2lkIjpudWxsLCJpc19naXRsYWJfdGVhbV9tZW1iZXIiOm51bGwsIm5hbWVzcGFjZV9pZCI6bnVsbCwicHJvamVjdF9pZCI6bnVsbCwiY29udGV4dF9nZW5lcmF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjM5OjEyIFVUQyJ9fV19&dtm=1700671152206&e=se&eid=fdacaccb-dc7a-4e22-bc5b-b6314c3f265b&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1700671152208&tna=gl&tv=rb-0.8.0").4566 with(4567 headers: {4568 'Accept'=>'*/*',4569 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',4570 'User-Agent'=>'Ruby'4571 }).4572 to_return(status: 200, body: "", headers: {})4573============================================================4574 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:307:in `http_get'4575 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:290:in `process_get_event'4576 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:272:in `block in send_requests_with_get'4577 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:271:in `each'4578 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:271:in `send_requests_with_get'4579 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:236:in `send_requests'4580 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:427:in `block in consume'4581 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `loop'4582 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `consume'4583 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:417:in `block (2 levels) in initialize'4584 successfully performs an generate commit message request4585 when ai_global_switch feature flag is disabled4586 returns nil4587 when experiment_features_enabled disabled4588 returns nil4589Query.project(fullPath).pipeline(iid).codeQualityReportSummary4590 when pipeline has a code quality report4591 when user is member of the project4592 returns code quality report summary4593 when user is not a member of the project4594 returns nil4595 when pipeline does not have a code quality report4596 returns an empty result4597Query.project.mergeRequest.findingReportsComparer4598 when the user is authorized to read the field4599 returns expected data4600 when sast_reports_in_inline_diff FF is disabled4601 returns null for scanner, identifiers, and location fields4602 when the user is not authorized to read the field4603 is expected to be nil4604Mutation.vulnerabilityIssueLinkCreate4605 with a custom role4606 with `admin_vulnerability` enabled4607 returns a successful response4608 with `admin_vulnerability` disabled4609 returns an empty response4610Group.contributions4611 when the license is not available4612 returns no data4613 when the license is available4614 when postgres is the data source4615 behaves like returns correct data4616 returns data4617 with events from different users4618 does not create N+1 queries4619Emails::ComplianceViolations4620 #compliance_violations_csv_email4621 renders an email with attachment4622API::RubygemPackages4623 GET /api/v4/projects/:project_id/packages/rubygems/gems/:file_name4624 behaves like applying ip restriction for group4625 in group without restriction4626 behaves like returning response status4627 returns ok4628 in group with restriction4629 with address within the range4630 behaves like returning response status4631 returns ok4632 with address outside the range4633 behaves like returning response status4634 returns not_found4635UploadsController4636 GET show4637 when viewing issuable metric images4638 responds with status 2004639Emails::ServiceDesk4640 .service_desk_new_note_email4641 when additional email text is enabled4642 with an additional text placeholders4643 behaves like custom template content4644 builds the email correctly4645 when additional email text is disabled4646 with an additional text placeholder4647 behaves like custom template content4648 builds the email correctly4649 .service_desk_thank_you_email4650 when additional email text is enabled4651 with an additional text placeholder4652 behaves like custom template content4653 builds the email correctly4654 when additional email text is disabled4655 with an additional text placeholder4656 behaves like custom template content4657 builds the email correctly4658Update Environment Canary Ingress4659 when environment is protected and allowed to be deployed by only operator4660 fails to update4661Updating an escalation policy4662 updates the escalation policy4663 when rules are provided out of order4664 successfully creates the policy and reorders the rules4665Emails::InProductMarketing4666 has correct custom headers4667 #account_validation_email4668 sends to the right user with a link to unsubscribe4669 has the correct subject and content4670Query.project(fullPath).apiFuzzingCiConfiguration4671 when the user can read vulnerabilities for the project4672 returns scan modes and scan profiles4673 when the user cannot read vulnerabilities for the project4674 returns nil4675Emails::AbandonedTrialNotification4676 #abandoned_trial_notification4677 when user exists4678 sends mail with expected contents4679 when user does not exist4680 does not send mail4681GeoInstrumentation4682 .track_geo_proxy_event4683 when the request is not proxied4684 does not track an event4685 when the request is proxied4686 when logged in4687 tracks a HLL event for unique geo proxied requests4688 when not logged in4689 does not track an event4690Groups::InsightsController4691 GET #show4692 behaves like contribution analytics charts configuration4693 when user does not have permissions to access all charts4694 removes forbidden charts from configuration4695 when user have permissions to access all charts4696 does not remove charts from configuration4697VerifiesWithEmail4698 when the user is signing in from an unknown ip address4699 logs a user_access_locked audit event with correct message4700 when the user's access is locked4701 does not log a user_access_locked audit event with correct message4702Loading usage overvierw for a group4703 when the feature is not available4704 returns nil response4705 when the feature is available4706 does return the count4707Groups::Analytics::CycleAnalyticsController4708 exposes the query params in data attributes4709Removing an escalation policy4710 removes the escalation policy4711Query.member_role_permissions4712 returns all customizable ablities4713 behaves like a working graphql query4714 returns a successful response4715CountriesController4716 GET #index4717 returns list of countries as json4718 does not include list of denied countries4719 overrides Ukraine name and adds information about restricted regions4720 updates `Taiwan, Province of China` to `Taiwan`4721Emails::Epics4722 adds email methods to Notify4723IdeController4724 adds CSP headers for code suggestions4725Profiles::KeysController4726 #create4727 logs the audit event4728auto_explain log contains 1545 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-1-5.339.main.ndjson.gz4729took 27.2370898984730auto_explain log contains 1546 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-1-5.339.ci.ndjson.gz4731took 25.7010973614732Knapsack report was generated. Preview:4733{4734 "ee/spec/requests/api/search_spec.rb": 1185.154674977,4735 "ee/spec/requests/api/merge_trains_spec.rb": 57.31357124299984,4736 "ee/spec/controllers/ee/groups_controller_spec.rb": 40.05759175899993,4737 "ee/spec/requests/api/protected_environments_spec.rb": 39.81560948900005,4738 "ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb": 33.19699383899979,4739 "ee/spec/controllers/oauth/geo_auth_controller_spec.rb": 39.43347963399992,4740 "ee/spec/requests/api/users_spec.rb": 28.706709503000184,4741 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 30.817338446999656,4742 "ee/spec/requests/groups/group_members_controller_spec.rb": 30.838442337000288,4743 "ee/spec/requests/api/discussions_spec.rb": 32.71379481899976,4744 "ee/spec/controllers/projects/settings/operations_controller_spec.rb": 25.488932046000173,4745 "ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb": 25.998732904999997,4746 "ee/spec/requests/api/graphql/project/issues_spec.rb": 22.057448386000033,4747 "ee/spec/requests/api/internal/kubernetes_spec.rb": 19.158067915000174,4748 "ee/spec/requests/projects/security/policies_controller_spec.rb": 17.638561218000177,4749 "ee/spec/controllers/subscriptions_controller_spec.rb": 13.776018335000117,4750 "ee/spec/requests/api/graphql/group/flow_metrics_spec.rb": 16.545089912000094,4751 "ee/spec/requests/api/graphql/vulnerabilities/vulnerability_spec.rb": 17.131395838000117,4752 "ee/spec/controllers/groups/epic_boards_controller_spec.rb": 18.90604976900022,4753 "ee/spec/requests/projects/tracing_controller_spec.rb": 15.024045410000326,4754 "ee/spec/controllers/projects/security/configuration_controller_spec.rb": 16.283850272999643,4755 "ee/spec/requests/api/license_spec.rb": 11.71198720800021,4756 "ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb": 17.530116876999728,4757 "ee/spec/requests/api/admin/search/zoekt_spec.rb": 12.175262577000012,4758 "ee/spec/requests/ee/registrations_controller_spec.rb": 9.621984810999948,4759 "ee/spec/requests/api/managed_licenses_spec.rb": 14.477814853999917,4760 "ee/spec/requests/api/graphql/dora/dora_scores_spec.rb": 13.479043748000095,4761 "ee/spec/controllers/admin/push_rules_controller_spec.rb": 14.321900730999914,4762 "ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb": 11.158987342999808,4763 "ee/spec/requests/api/saml_group_links_spec.rb": 12.029454523999902,4764 "ee/spec/requests/api/audit_events_spec.rb": 6.156240785000136,4765 "ee/spec/requests/api/graphql/project/work_items_spec.rb": 10.171939026000018,4766 "ee/spec/controllers/autocomplete_controller_spec.rb": 9.275948585999686,4767 "ee/spec/controllers/projects/path_locks_controller_spec.rb": 6.284841740000047,4768 "ee/spec/requests/api/iterations_spec.rb": 4.921520130999852,4769 "ee/spec/requests/api/graphql/mutations/epics/update_spec.rb": 9.603576621999764,4770 "ee/spec/requests/ee/application_controller_spec.rb": 9.759115934999954,4771 "ee/spec/requests/api/project_import_spec.rb": 9.119687633000012,4772 "ee/spec/controllers/groups/issues_controller_spec.rb": 8.61253640599989,4773 "ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb": 4.492400130000078,4774 "ee/spec/requests/api/graphql/vulnerabilities/fields_spec.rb": 9.371540462999747,4775 "ee/spec/requests/api/graphql/group/epic/notes_spec.rb": 8.870869144999688,4776 "ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb": 7.035451926000405,4777 "ee/spec/requests/ee/groups/autocomplete_sources_spec.rb": 5.924097926000286,4778 "ee/spec/requests/api/graphql/remote_development/workspaces/with_include_actual_states_arg_spec.rb": 7.092370694000238,4779 "ee/spec/requests/api/group_variables_spec.rb": 6.505464710000069,4780 "ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb": 6.665528902999995,4781 "ee/spec/requests/api/graphql/mutations/audit_events/amazon_s3_configurations/update_spec.rb": 5.342869701999916,4782 "ee/spec/requests/api/graphql/ci/runners_spec.rb": 7.460810046999995,4783 "ee/spec/requests/projects/settings/analytics_controller_spec.rb": 8.001564903000144,4784 "ee/spec/mailers/ci_minutes_usage_mailer_spec.rb": 3.93940717400028,4785 "ee/spec/requests/api/graphql/mutations/security/configuration/project_set_continuous_vulnerability_scanning_spec.rb": 6.41230636399996,4786 "ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb": 5.98430429300015,4787 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 7.435775167999964,4788 "ee/spec/requests/api/graphql/remote_development/workspaces/with_ids_arg_spec.rb": 5.579086871000072,4789 "ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb": 5.25494599600006,4790 "ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb": 5.866975018000176,4791 "ee/spec/requests/api/graphql/mutations/issues/update_spec.rb": 6.680643461999807,4792 "ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb": 6.345711176999885,4793 "ee/spec/requests/api/graphql/audit_events/streaming/instance_headers/update_spec.rb": 3.301043703000232,4794 "ee/spec/requests/rack_attack_spec.rb": 6.4409184930000265,4795 "ee/spec/requests/groups/settings/roles_and_permissions_controller_spec.rb": 4.262738769999942,4796 "ee/spec/requests/api/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb": 5.693728826000097,4797 "ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb": 4.213549221999983,4798 "ee/spec/requests/api/graphql/project/branch_protections/merge_access_levels_spec.rb": 6.400788954000291,4799 "ee/spec/requests/api/graphql/mutations/forecasting/build_forecast_spec.rb": 4.626543172999845,4800 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb": 4.733503879000182,4801 "ee/spec/requests/api/graphql/current_user/groups_query_spec.rb": 4.467492061000485,4802 "ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb": 3.7434110130006957,4803 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/create_spec.rb": 3.0445115840002472,4804 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 4.329144997000185,4805 "ee/spec/requests/projects/security/scanned_resources_controller_spec.rb": 3.686112774999856,4806 "ee/spec/requests/api/graphql/mutations/issues/bulk_update_spec.rb": 4.473395760999665,4807 "ee/spec/requests/projects/security/corpus_management_controller_spec.rb": 4.997111716999825,4808 "ee/spec/requests/api/experiments_spec.rb": 2.871624852000423,4809 "ee/spec/requests/api/graphql/subscriptions/ai_completion_response_spec.rb": 3.2048855660004847,4810 "ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb": 5.092991132999487,4811 "ee/spec/requests/api/graphql/mutations/vulnerabilities/resolve_spec.rb": 3.542069010999512,4812 "ee/spec/requests/api/graphql/incident_management/issuable_resource_links_spec.rb": 3.7698512319993824,4813 "ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb": 3.434343017000174,4814 "ee/spec/controllers/projects/branches_controller_spec.rb": 4.197409533000609,4815 "ee/spec/requests/api/graphql/project/compliance_framework_filters_spec.rb": 3.8431711089997407,4816 "ee/spec/requests/api/graphql/mutations/work_items/linked_items/add_spec.rb": 2.8801500310000847,4817 "ee/spec/requests/api/templates_spec.rb": 2.507024499000181,4818 "ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb": 2.936406318999616,4819 "ee/spec/requests/api/graphql/ci/minutes/usage_spec.rb": 3.3498845200001597,4820 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 3.4558034660003614,4821 "ee/spec/mailers/emails/enterprise_users_spec.rb": 2.8277722929997253,4822 "ee/spec/requests/api/resource_weight_events_spec.rb": 3.051122323000527,4823 "ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb": 3.6692751159998807,4824 "ee/spec/requests/api/project_snapshots_spec.rb": 3.232122115000493,4825 "ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 2.111247196000477,4826 "ee/spec/requests/api/composer_packages_spec.rb": 4.663446571999884,4827 "ee/spec/controllers/ee/projects/protected_branches_controller_spec.rb": 3.246523144999628,4828 "ee/spec/requests/api/issue_links_spec.rb": 2.208626481000465,4829 "ee/spec/controllers/admin/projects_controller_spec.rb": 2.4560639709998213,4830 "ee/spec/requests/api/graphql/vulnerabilities/instance_vulnerability_count_by_day_spec.rb": 2.373083053999835,4831 "ee/spec/requests/api/project_milestones_spec.rb": 2.887931940999806,4832 "ee/spec/requests/groups/settings/reporting_controller_spec.rb": 2.8532245030000922,4833 "ee/spec/requests/api/graphql/iterations/cadences_spec.rb": 2.2839862990003894,4834 "ee/spec/requests/api/graphql/mutations/audit_events/instance_external_audit_event_destinations/destroy_spec.rb": 2.3861386030002905,4835 "ee/spec/requests/api/graphql/product_analytics/visualizations_spec.rb": 2.7860066860002917,4836 "ee/spec/requests/api/graphql/audit_events/instance/google_cloud_logging_configuration_spec.rb": 2.613422463000461,4837 "ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb": 2.242294670000774,4838 "ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb": 2.381607914000597,4839 "ee/spec/requests/api/graphql/project/dast_profile_spec.rb": 2.2184883810004976,4840 "ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb": 2.096772490999683,4841 "ee/spec/requests/api/graphql/mutations/member_role/update_member_role_spec.rb": 1.975724590000027,4842 "ee/spec/controllers/groups/security/compliance_dashboards_controller_spec.rb": 1.567386362000434,4843 "ee/spec/requests/api/graphql/audit_events/streaming/instance_event_type_filters/create_spec.rb": 2.0708317460002945,4844 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.385626687000695,4845 "ee/spec/controllers/projects/issue_links_controller_spec.rb": 2.127002358000027,4846 "ee/spec/controllers/ee/root_controller_spec.rb": 1.2593523089999508,4847 "ee/spec/controllers/projects/iteration_cadences_controller_spec.rb": 1.3505322249993696,4848 "ee/spec/requests/ee/confirmations_controller_spec.rb": 1.417967423999471,4849 "ee/spec/requests/groups/security/compliance_violation_reports_controller_spec.rb": 1.6312902729996495,4850 "ee/spec/requests/api/internal/suggested_reviewers_spec.rb": 1.4208025640000415,4851 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.6393119519998436,4852 "ee/spec/controllers/security/vulnerabilities_controller_spec.rb": 1.3020552630005113,4853 "ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb": 1.6349125420001656,4854 "ee/spec/requests/api/graphql/project/pipeline/code_quality_report_summary_spec.rb": 1.9761898799997653,4855 "ee/spec/requests/api/graphql/merge_requests/finding_reports_comparer_spec.rb": 1.6594174179999754,4856 "ee/spec/requests/api/graphql/mutations/vulnerabilities/issue_link_create_spec.rb": 1.6061017459996947,4857 "ee/spec/requests/api/graphql/analytics/contribution_analytics/contributions_spec.rb": 1.6084052060004979,4858 "ee/spec/mailers/emails/compliance_violations_spec.rb": 0.964180564000344,4859 "ee/spec/requests/api/rubygem_packages_spec.rb": 1.8574191690004227,4860 "ee/spec/controllers/ee/uploads_controller_spec.rb": 1.6206630039996526,4861 "ee/spec/mailers/ee/emails/service_desk_spec.rb": 1.2705181170003925,4862 "ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb": 1.5041739019998204,4863 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/update_spec.rb": 1.198035608000282,4864 "ee/spec/mailers/emails/in_product_marketing_spec.rb": 0.9174101319995316,4865 "ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb": 1.1754247219996614,4866 "ee/spec/mailers/emails/abandoned_trial_notification_spec.rb": 0.2833798569999999,4867 "ee/spec/controllers/concerns/geo_instrumentation_spec.rb": 1.0001181679999718,4868 "ee/spec/requests/groups/insights_controller_spec.rb": 0.8481792419997873,4869 "ee/spec/requests/ee/verifies_with_email_spec.rb": 0.8508772620007221,4870 "ee/spec/requests/api/graphql/group/value_stream_dashboard_usage_overview_spec.rb": 0.7453369569993811,4871 "ee/spec/requests/groups/analytics/cycle_analytics_controller_spec.rb": 0.7902832199997647,4872 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb": 0.8009350490001452,4873 "ee/spec/requests/api/graphql/member_role/permissions_list_spec.rb": 0.27928352700018877,4874 "ee/spec/controllers/countries_controller_spec.rb": 0.29549305499949696,4875 "ee/spec/mailers/emails/epics_spec.rb": 0.16859202500018,4876 "ee/spec/requests/ide_controller_spec.rb": 0.4068991280000773,4877 "ee/spec/controllers/profiles/keys_controller_spec.rb": 0.38123862199972794878}4879Knapsack global time execution for tests: 37m 40s4880Failures:4881 1) API::Search GET /groups/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the namespace is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4882 Failure/Error: expect(json_response.count).to eq(1)4883 expected: 14884 got: 04885 (compared using ==)4886 Shared Example Group: "pagination" called from ./ee/spec/requests/api/search_spec.rb:3234887 Shared Example Group: "elasticsearch enabled" called from ./ee/spec/requests/api/search_spec.rb:4464888 # ./ee/spec/requests/api/search_spec.rb:25:in `block (3 levels) in <top (required)>'4889 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'4890 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'4891 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'4892 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'4893 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'4894 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'4895 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'4896 # ./spec/support/sidekiq.rb:19:in `block (3 levels) in <top (required)>'4897 # ./spec/support/sidekiq.rb:9:in `gitlab_sidekiq_inline'4898 # ./spec/support/sidekiq.rb:19:in `block (2 levels) in <top (required)>'4899 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'4900 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4901 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4902 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4903 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'4904 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'4905 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'4906 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'4907 # ./ee/spec/support/elastic.rb:89:in `block (2 levels) in <top (required)>'4908 2) API::Search GET /projects/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the project is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4909 Failure/Error: expect(json_response.count).to eq(1)4910 expected: 14911 got: 04912 (compared using ==)4913 Shared Example Group: "pagination" called from ./ee/spec/requests/api/search_spec.rb:3234914 Shared Example Group: "elasticsearch enabled" called from ./ee/spec/requests/api/search_spec.rb:5494915 # ./ee/spec/requests/api/search_spec.rb:25:in `block (3 levels) in <top (required)>'4916 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'4917 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'4918 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'4919 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'4920 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'4921 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'4922 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'4923 # ./spec/support/sidekiq.rb:19:in `block (3 levels) in <top (required)>'4924 # ./spec/support/sidekiq.rb:9:in `gitlab_sidekiq_inline'4925 # ./spec/support/sidekiq.rb:19:in `block (2 levels) in <top (required)>'4926 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'4927 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4928 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4929 # ./spec/support/redis.rb:17:in `block (3 levels) in <top (required)>'4930 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'4931 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'4932 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'4933 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'4934 # ./ee/spec/support/elastic.rb:89:in `block (2 levels) in <top (required)>'4935Finished in 38 minutes 37 seconds (files took 1 minute 17.69 seconds to load)49361949 examples, 2 failures4937Failed examples:4938rspec './ee/spec/requests/api/search_spec.rb[1:2:1:2:1:1:1:7:1:1]' # API::Search GET /groups/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the namespace is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4939rspec './ee/spec/requests/api/search_spec.rb[1:3:1:2:1:1:1:6:1:1]' # API::Search GET /projects/:id/-/search with correct params when elasticsearch is enabled when elasticsearch_limit_indexing is on when the project is indexed behaves like elasticsearch enabled for users scope behaves like pagination returns a different result for each page4940Randomized with seed 48264941[TEST PROF INFO] Time spent in factories: 11:33.880 (29.47% of total time)4942Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected4943RSpec exited with 1.4944[job-metrics] Updating job metrics tag for the CI/CD job.4945RSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-5597251745.txt4946Retrying the failing examples in a new RSpec process...4947$ gem install junit_merge --no-document --version 0.1.24948Successfully installed nokogiri-1.15.5-x86_64-linux4949Successfully installed junit_merge-0.1.249502 gems installed4951==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.4952Running RSpec command: bin/rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format Support::Formatters::JsonFormatter --out rspec/rspec-retry-5597251745.json --format RspecJunitFormatter --out rspec/rspec-retry-5597251745.xml --only-failures --pattern "{ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb"4953Run options: include {:last_run_status=>"failed"}4954unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.4955unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.4956Test environment set up in 0.46107324 seconds4957API::Search4958 GET /groups/:id/-/search4959 with correct params4960 when elasticsearch is enabled4961 when elasticsearch_limit_indexing is on4962 when the namespace is indexed4963 behaves like elasticsearch enabled4964 for users scope4965 behaves like pagination4966 returns a different result for each page4967 GET /projects/:id/-/search4968 with correct params4969 when elasticsearch is enabled4970 when elasticsearch_limit_indexing is on4971 when the project is indexed4972 behaves like elasticsearch enabled4973 for users scope4974 behaves like pagination4975 returns a different result for each page4976auto_explain log contains 1547 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-1-5.16439.main.ndjson.gz4977took 25.6882463224978auto_explain log contains 1548 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-1-5.16439.ci.ndjson.gz4979took 25.6781211334980Finished in 1 minute 25.14 seconds (files took 42.2 seconds to load)49812 examples, 0 failures4982[TEST PROF INFO] Time spent in factories: 00:04.167 (4.79% of total time)4983Loading rspec/rspec-5597251745.json...4984Merged rspec/rspec-retry-5597251745.json adding 4 results.4985Saved rspec/rspec-5597251745.json.4986A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...4987Flaky test was not part of this MR.4989Running after script...4990$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"4999$ tooling/bin/push_job_metrics || true5000[job-metrics] Pushing job metrics file for the CI/CD job.5001[job-metrics] Pushed 4 CI job metric entries to InfluxDB.5003Not uploading cache ruby-gems-debian-bullseye-ruby-3.1-16 due to policy5005Uploading artifacts...5006auto_explain/: found 5 matching artifact files and directories 5007coverage/: found 4 matching artifact files and directories 5008crystalball/: found 2 matching artifact files and directories 5009WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5010knapsack/: found 4 matching artifact files and directories 5011rspec/: found 19 matching artifact files and directories 5012WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5013log/*.log: found 19 matching artifact files and directories 5014WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251745/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5015WARNING: Retrying... context=artifacts-uploader error=request redirected5016Uploading artifacts as "archive" to coordinator... 201 Created id=5597251745 responseStatus=201 Created token=64_d9hjj5017Uploading artifacts...5018rspec/rspec-*.xml: found 2 matching artifact files and directories 5019WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251745/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5020WARNING: Retrying... context=artifacts-uploader error=request redirected5021Uploading artifacts as "junit" to coordinator... 201 Created id=5597251745 responseStatus=201 Created token=64_d9hjj5023Job succeeded