rspec-ee integration pg14 single-redis 6/6
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-1700667478-c393a649...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.59 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_VUBy857Downloading artifacts for detect-tests (5597250235)...58Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250235 responseStatus=200 OK token=64_VUBy859Downloading artifacts for retrieve-tests-metadata (5597250273)...60Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250273 responseStatus=200 OK token=64_VUBy861Downloading artifacts for setup-test-env (5597250178)...62Downloading artifacts from coordinator... ok host=storage.googleapis.com id=5597250178 responseStatus=200 OK token=64_VUBy864Using 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 0 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_single-redis_6_6_report.json182FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json183FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg14_single-redis_6_6_report.json184NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg14_single-redis_6_6_report.json185RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-5597251782.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-5597251782.json --format RspecJunitFormatter --out rspec/rspec-5597251782.xml --fail-fast=20 --tag ~quarantine --tag ~level:background_migration --tag ~click_house --tag ~real_ai_request -- ee/spec/requests/api/members_spec.rb ee/spec/requests/api/vulnerabilities_spec.rb ee/spec/requests/api/groups_spec.rb ee/spec/requests/api/geo_nodes_spec.rb ee/spec/requests/api/epics_spec.rb ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb ee/spec/mailers/notify_spec.rb ee/spec/requests/api/wikis_spec.rb ee/spec/controllers/ee/groups_controller_spec.rb ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb ee/spec/controllers/projects/licenses_controller_spec.rb ee/spec/requests/api/graphql/mutations/geo/registries/bulk_update_spec.rb ee/spec/controllers/groups/epic_issues_controller_spec.rb ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb ee/spec/controllers/projects/clusters_controller_spec.rb ee/spec/controllers/projects/settings/operations_controller_spec.rb ee/spec/controllers/projects/security/vulnerabilities_controller_spec.rb ee/spec/requests/api/group_boards_spec.rb ee/spec/requests/api/graphql/work_item_spec.rb ee/spec/controllers/admin/clusters_controller_spec.rb ee/spec/requests/groups/security/credentials_controller_spec.rb ee/spec/requests/groups/analytics/dashboards_controller_spec.rb ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb ee/spec/requests/api/merge_request_approval_settings_spec.rb ee/spec/requests/api/admin/search/migrations_spec.rb ee/spec/requests/api/admin/search/zoekt_spec.rb ee/spec/requests/ee/registrations_controller_spec.rb ee/spec/controllers/groups/security/policies_controller_spec.rb ee/spec/requests/api/graphql/project/dast_site_profiles_spec.rb ee/spec/requests/projects/settings/access_tokens_controller_spec.rb ee/spec/controllers/projects/pipelines_controller_spec.rb ee/spec/requests/api/graphql/project/dependency_proxy_packages_setting_spec.rb ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb ee/spec/requests/api/graphql/boards/board_lists_query_spec.rb ee/spec/requests/api/ci/jobs_spec.rb ee/spec/requests/smartcard_controller_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/graphql/mutations/dependency_proxy/packages/settings/update_spec.rb ee/spec/requests/api/dependency_list_exports_spec.rb ee/spec/controllers/projects/settings/repository_controller_spec.rb ee/spec/controllers/groups/iterations_controller_spec.rb ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb ee/spec/requests/api/graphql/mutations/audit_events/google_cloud_logging_configurations/destroy_spec.rb ee/spec/requests/api/graphql/mutations/audit_events/amazon_s3_configurations/update_spec.rb ee/spec/controllers/groups/groups_controller_spec.rb ee/spec/requests/api/graphql/remote_development/workspaces/with_project_ids_arg_spec.rb ee/spec/requests/api/analytics/group_activity_analytics_spec.rb ee/spec/requests/api/graphql/pipeline_security_report_finding_spec.rb ee/spec/controllers/ee/projects/variables_controller_spec.rb ee/spec/requests/custom_roles/read_vulnerability/request_spec.rb ee/spec/requests/api/internal/upcoming_reconciliations_spec.rb ee/spec/requests/api/graphql/mutations/vulnerabilities/create_issue_link_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb ee/spec/requests/api/analytics/code_review_analytics_spec.rb ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb ee/spec/controllers/security/projects_controller_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/create_spec.rb ee/spec/requests/api/graphql/project/branch_protections/unprotect_access_levels_spec.rb ee/spec/requests/api/graphql/mutations/dast_site_profiles/create_spec.rb ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/update_spec.rb ee/spec/mailers/credentials_inventory_mailer_spec.rb ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb ee/spec/requests/projects/ci/catalog/resources_controller_spec.rb ee/spec/requests/api/graphql/project/branch_rules/approval_project_rules_spec.rb ee/spec/controllers/projects/iterations_controller_spec.rb ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb ee/spec/requests/projects/audit_events_spec.rb ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb ee/spec/requests/api/graphql/mutations/vulnerabilities/confirm_spec.rb ee/spec/controllers/groups/roadmap_controller_spec.rb ee/spec/requests/api/graphql/audit_events/instance_external_audit_event_destination_spec.rb ee/spec/requests/api/resource_weight_events_spec.rb ee/spec/requests/api/graphql/milestone_spec.rb ee/spec/mailers/ee/emails/identity_verification_spec.rb ee/spec/controllers/ee/projects/blob_controller_spec.rb ee/spec/requests/api/graphql/boards/epic_list_query_spec.rb ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb ee/spec/requests/admin/users_controller_spec.rb ee/spec/requests/api/graphql/merge_requests/approval_state_spec.rb ee/spec/requests/api/graphql/iterations/cadences_spec.rb ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb ee/spec/controllers/profiles_controller_spec.rb ee/spec/requests/users_controller_spec.rb ee/spec/controllers/admin/elasticsearch_controller_spec.rb ee/spec/controllers/concerns/onboarding_spec.rb ee/spec/requests/api/graphql/project/security_training_urls_spec.rb ee/spec/requests/api/graphql/geo/geo_node_spec.rb ee/spec/controllers/projects/iteration_cadences_controller_spec.rb ee/spec/controllers/security/dashboard_controller_spec.rb ee/spec/requests/api/nuget_project_packages_spec.rb ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb ee/spec/requests/groups/usage_quotas_spec.rb ee/spec/requests/api/graphql/vulnerabilities/identifiers_spec.rb ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb ee/spec/requests/api/graphql/project/merge_requests_spec.rb ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb ee/spec/controllers/groups/runners_controller_spec.rb ee/spec/requests/admin/application_settings/scim_oauth_controller_spec.rb ee/spec/controllers/ee/admin/sessions_controller_spec.rb ee/spec/requests/ee/projects/repositories_controller_spec.rb ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/enable_spec.rb ee/spec/controllers/concerns/internal_redirect_spec.rb ee/spec/requests/groups/security/compliance_framework_reports_controller_spec.rb ee/spec/requests/api/graphql/project/repository_spec.rb ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb ee/spec/requests/groups/labels_spec.rb ee/spec/mailers/emails/compliance_frameworks_spec.rb ee/spec/requests/api/notification_settings_spec.rb ee/spec/requests/admin/impersonation_tokens_controller_spec.rb ee/spec/requests/api/graphql/member_role/permissions_list_spec.rb ee/spec/controllers/profiles/usage_quotas_controller_spec.rb ee/spec/requests/api/ai/experimentation/anthropic_spec.rb ee/spec/controllers/concerns/audit_events/audit_events_params_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 rows235Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true, :real_ai_request=>true}236unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.237unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.238Test environment set up in 0.755034666 seconds239API::Members240 group members endpoints for group with minimal access feature241 GET /groups/:id/members242 returns user with minimal access when feature is available243 does not return user with minimal access when feature is unavailable244 POST /groups/:id/members245 with free user cap considerations246 when there are at the size limit247 behaves like does not add members248 does not add the member249 when there are over the limit250 behaves like does not add members251 does not add the member252 when there is a seat left253 creates a member254 with minimal access concerns255 when minimal access license is not available256 does not create a member257 when minimal access license is available258 creates a member259 cannot be assigned to subgroup260 PUT /groups/:id/members/:user_id261 when setting minimal access role262 when minimal access role license is available263 updates the member264 when minimal access role license is not available265 does not update the member266 when member_role_id param is present267 when custom roles license is enabled268 when member_role is associated with membership group269 behaves like a successful member role update270 updates the member_role271 when member_role is associated with root group of subgroup membership272 behaves like a successful member role update273 updates the member_role274 when member_role is associated with root group of project membership275 behaves like a successful member role update276 updates the member_role277 when member_role has base_access_level that does not match user's access_level278 raises an error279 when member_role is not associated with root group of member source280 raises an error281 when invalid member_role_id282 returns 400283 when member_role_id is nil284 unsets the member_role_id attribute for the member285 when custom roles license is disabled286 ignores the member_role_id param287 DELETE /groups/:id/members/:user_id288 when minimal access role is available289 deletes the member290 when minimal access role is not available291 does not delete the member292 GET /groups/:id/members/:user_id293 when minimal access role is available294 shows the member295 when minimal access role is not available296 does not show the member297 group members endpoint for group managed accounts298 GET /groups/:id/members299 behaves like members response with exposed emails300 is expected to include (a hash including {"email" => "user12@example.org"})301 behaves like members response with hidden emails302 is expected not to include (a hash including {"email" => "user14@example.org"})303 GET /groups/:id/members/:user_id304 with group managed account member305 behaves like member response with exposed email306 is expected to include {"email" => "user18@example.org"}307 with a regular member308 behaves like member response with hidden email309 is expected not to have key "email"310 GET /groups/:id/members/all311 parent group312 behaves like members response with exposed emails313 is expected to include (a hash including {"email" => "user24@example.org"})314 behaves like members response with hidden emails315 is expected not to include (a hash including {"email" => "user28@example.org"})316 child group317 behaves like members response with exposed emails318 is expected to include (a hash including {"email" => "user36@example.org"})319 behaves like members response with hidden emails320 is expected not to include (a hash including {"email" => "user40@example.org"})321 GET /groups/:id/members/all/:user_id322 with group managed account member323 behaves like member response with exposed email324 is expected to include {"email" => "user44@example.org"}325 with regular member326 behaves like member response with hidden email327 is expected not to have key "email"328 with group managed account child group member329 behaves like member response with exposed email330 is expected to include {"email" => "user56@example.org"}331 with child group regular member332 behaves like member response with hidden email333 is expected not to have key "email"334 project members endpoint for group managed accounts335 GET /projects/:id/members336 behaves like members response with exposed emails337 is expected to include (a hash including {"email" => "user66@example.org"})338 behaves like members response with hidden emails339 is expected not to include (a hash including {"email" => "user70@example.org"})340 GET /projects/:id/members/:user_id341 with group managed account member342 behaves like member response with exposed email343 is expected to include {"email" => "user76@example.org"}344 with a regular member345 behaves like member response with hidden email346 is expected not to have key "email"347 GET /project/:id/members/all348 parent group project349 behaves like members response with exposed emails350 is expected to include (a hash including {"email" => "user86@example.org"})351 behaves like members response with hidden emails352 is expected not to include (a hash including {"email" => "user94@example.org"})353 child group project354 behaves like members response with exposed emails355 is expected to include (a hash including {"email" => "user108@example.org"})356 behaves like members response with hidden emails357 is expected not to include (a hash including {"email" => "user116@example.org"})358 GET /projects/:id/members/all/:user_id359 with group managed account member360 behaves like member response with hidden email361 is expected not to have key "email"362 with regular member363 behaves like member response with hidden email364 is expected not to have key "email"365 with group managed account child group member366 behaves like member response with exposed email367 is expected to include {"email" => "user144@example.org"}368 with child group regular member369 behaves like member response with hidden email370 is expected not to have key "email"371 billable member endpoints372 GET /groups/:id/billable_members373 with sub group and projects374 returns paginated billable users375 when the current user does not have the :read_billable_member ability376 is a bad request377 with search params provided378 returns the relevant billable users379 with search and sort params provided380 accepts only sorting options defined in a list381 does not accept query string not defined in a list382 when a specific sorting is provided383 returns the relevant billable users384 when sorting users385 with sort param last_activity_on_desc386 returns paginated users in deterministic order to avoid duplicates and flaky behavior387 with sort param recent_sign_in388 returns paginated users sorted by last_login_at in desc order389 with sort param oldest_sign_in390 returns paginated users sorted by last_login_at in asc order391 with non owner392 returns error393 when group can not be found394 returns error395 with non-root group396 returns error397 email398 when members have a public_email399 is expected to include (a hash including {"email" => "public@email.com"})400 when members have no public_email401 is expected to include (a hash including {"email" => nil})402 GET /groups/:id/billable_members/:user_id/memberships403 returns memberships for the billable group member404 returns not found when the user does not exist405 returns not found when the group does not exist406 returns not found when the user is not billable407 returns bad request if the user cannot admin group members408 returns bad request if the group is a subgroup409 excludes memberships outside the requested group hierarchy410 includes subgroup memberships411 includes project memberships412 paginates results413 PUT /groups/:id/members/:user_id/state414 when the current user has insufficient rights415 returns 400416 when authenticated as an owner417 forwards the error from the service418 when setting the user to be active419 is successful420 when setting the user to be awaiting421 is successful422 with invalid parameters423 returns a relevant error message424 with a group that does not exist425 returns a relevant error message426 with a group that is a sub-group427 returns a relevant error message428 with a user that does not exist429 returns a relevant error message430 with a user that is not a member of the group431 returns a relevant error message432 DELETE /groups/:id/billable_members/:user_id433 when the current user has insufficient rights434 returns 400435 when authenticated as an owner436 with a user that is a GroupMember437 behaves like successful deletion438 deletes the member439 with a user that is only a ProjectMember440 behaves like successful deletion441 deletes the member442 with a user that is not a member443 returns a relevant error message444 without LDAP445 POST /projects/:id/members446 group membership locked447 project in a group448 returns a 405 method not allowed error when group membership lock is enabled449 GET /groups/:id/members450 matches json schema451 when a group has SAML provider configured452 and current_user is group owner453 returns a list of users with group SAML identities info454 allows to filter by linked identity presence455 and current_user is not an owner456 returns a list of users without group SAML identities info457 ignores filter by linked identity presence458 with is_using_seat459 with show_seat_info set to true460 returns a list of users that contains the is_using_seat attribute461 with show_seat_info set to false462 behaves like seat information not included463 returns a list of users that does not contain the is_using_seat attribute464 with no show_seat_info set465 behaves like seat information not included466 returns a list of users that does not contain the is_using_seat attribute467 behaves like POST /:source_type/:id/members468 with :source_type == projects469 creates an audit event while creating a new member470 does not create audit event if creating a new member fails471 behaves like POST /:source_type/:id/members472 with :source_type == groups473 creates an audit event while creating a new member474 does not create audit event if creating a new member fails475 group with LDAP group link476 GET /groups/:id/members/:user_id477 does not contain an override attribute for non-LDAP users in the response478 contains an override attribute for ldap users in the response479 PUT /groups/:id/members/:user_id480 succeeds when access_level is modified after override has been set481 fails when access level is modified without an override482 POST /groups/:id/members483 returns a forbidden response484 POST /groups/:id/members/:user_id/override485 succeeds when override is set on an LDAP user486 fails when override is set for a non-ldap user487 DELETE /groups/:id/members/:user_id/override with LDAP links488 succeeds when override is already set on an LDAP user489 returns 403 when override is set for a non-ldap user490 group with pending members491 PUT /groups/:id/members/:member_id/approve492 with invalid params493 when a subgroup is used494 returns a bad request response495 when no group is found496 returns a not found response497 when the current user does not have the :admin_group_member ability498 returns a bad request response499 when the current user has permission to approve500 when the member is not found501 returns not found response502 when the activation fails due to no pending members to activate503 returns a bad request response504 when the member is a root group member505 behaves like successful activation506 activates the member507 when the member is a subgroup member508 behaves like successful activation509 activates the member510 when the member is a project member511 behaves like successful activation512 activates the member513 when the member is an invited user514 behaves like successful activation515 activates the member516 PUT /groups/:id/members/approve_all517 when the current user is not authorized518 returns a bad request response519 when the current user is authorized520 when the group ID is a subgroup521 returns a bad request response522 when params are valid523 approves all pending members524 when activation fails525 returns a bad request response526 GET /groups/:id/pending_members527 when the current user is not authorized528 returns a bad request response529 when the current user is authorized530 returns only pending members531 includes activated invited members532 returns only one membership per user533 paginates the response534 when the group ID is a subgroup535 returns a bad request response536 filtering project and group members537 for group sources538 behaves like filtered results539 for active members540 returns only active members541 for awaiting members542 returns only awaiting members543 for project sources544 behaves like filtered results545 for active members546 returns only active members547 for awaiting members548 returns only awaiting members549API::Vulnerabilities550 GET /projects/:id/vulnerabilities551 with an authorized user with proper permissions552 returns all vulnerabilities of a project553 with pagination554 paginates the vulnerabilities according to the pagination params555 behaves like forbids access to vulnerability API endpoint in case of disabled features556 when security dashboard feature is not available557 responds with 403 Forbidden558 permissions559 is expected to be allowed for :admin560 is expected to be allowed for :owner561 is expected to be allowed for :maintainer562 is expected to be allowed for :developer563 is expected to be allowed for :auditor564 is expected to be denied for :reporter565 is expected to be denied for :guest566 is expected to be denied for :anonymous567 GET /vulnerabilities/:id568 with an authorized user with proper permissions569 returns the desired vulnerability570 returns the desired findings571 behaves like responds with "not found" for an unknown vulnerability ID572 is expected to respond with numeric status code not_found573 behaves like forbids access to vulnerability API endpoint in case of disabled features574 when security dashboard feature is not available575 responds with 403 Forbidden576 permissions577 is expected to be allowed for :admin578 is expected to be allowed for :owner579 is expected to be allowed for :maintainer580 is expected to be allowed for :developer581 is expected to be allowed for :auditor582 is expected to be denied for :reporter583 is expected to be denied for :guest584 is expected to be denied for :anonymous585 POST /projects/:id/vulnerabilities586 with an authorized user with proper permissions587 creates a vulnerability from finding and attaches it to the vulnerability588 when finding id is unknown589 responds with expected error590 when a vulnerability already exists for a specific finding591 rejects creation of a new vulnerability from this finding592 behaves like forbids access to vulnerability API endpoint in case of disabled features593 when security dashboard feature is not available594 responds with 403 Forbidden595 permissions596 is expected to be allowed for :admin597 is expected to be allowed for :owner598 is expected to be allowed for :maintainer599 is expected to be denied for :developer600 is expected to be denied for :auditor601 is expected to be denied for :reporter602 is expected to be denied for :guest603 is expected to be denied for :anonymous604 with `disable_developer_access_to_admin_vulnerability` disabled605 is expected to be allowed for :developer606 POST /vulnerabilities:id/dismiss607 with an authorized user with proper permissions608 behaves like responds with "not found" for an unknown vulnerability ID609 is expected to respond with numeric status code not_found610 when there is a dismissal error611 responds with error612 if a vulnerability is already dismissed613 responds with 304 Not Modified614 behaves like forbids access to vulnerability API endpoint in case of disabled features615 when security dashboard feature is not available616 responds with 403 Forbidden617 permissions618 is expected to be allowed for :admin619 is expected to be allowed for :owner620 is expected to be allowed for :maintainer621 is expected to be denied for :developer622 is expected to be denied for :auditor623 is expected to be denied for :reporter624 is expected to be denied for :guest625 is expected to be denied for :anonymous626 with `disable_developer_access_to_admin_vulnerability` disabled627 is expected to be allowed for :developer628 POST /vulnerabilities/:id/resolve629 with an authorized user with proper permissions630 resolves a vulnerability and its associated findings631 with a comment632 adds the comment to the vulnerability state transition633 behaves like responds with "not found" for an unknown vulnerability ID634 is expected to respond with numeric status code not_found635 when the vulnerability is already resolved636 responds with 304 Not Modified response637 behaves like forbids access to vulnerability API endpoint in case of disabled features638 when security dashboard feature is not available639 responds with 403 Forbidden640 permissions641 is expected to be allowed for :admin642 is expected to be allowed for :owner643 is expected to be allowed for :maintainer644 is expected to be denied for :developer645 is expected to be denied for :auditor646 is expected to be denied for :reporter647 is expected to be denied for :guest648 is expected to be denied for :anonymous649 with `disable_developer_access_to_admin_vulnerability` disabled650 is expected to be allowed for :developer651 POST /vulnerabilities/:id/confirm652 with an authorized user with proper permissions653 confirms a vulnerability and its associated findings654 behaves like responds with "not found" for an unknown vulnerability ID655 is expected to respond with numeric status code not_found656 when the vulnerability is already confirmed657 responds with 304 Not Modified response658 behaves like forbids access to vulnerability API endpoint in case of disabled features659 when security dashboard feature is not available660 responds with 403 Forbidden661 permissions662 is expected to be allowed for :admin663 is expected to be allowed for :owner664 is expected to be allowed for :maintainer665 is expected to be denied for :developer666 is expected to be denied for :auditor667 is expected to be denied for :reporter668 is expected to be denied for :guest669 is expected to be denied for :anonymous670 with `disable_developer_access_to_admin_vulnerability` disabled671 is expected to be allowed for :developer672 POST /vulnerabilities:id/revert673 with an authorized user with proper permissions674 reverts a vulnerability and its associated findings to detected state675 behaves like responds with "not found" for an unknown vulnerability ID676 is expected to respond with numeric status code not_found677 when there is a revert error678 responds with error679 if a vulnerability is already in detected state680 responds with 304 Not Modified681 behaves like forbids access to vulnerability API endpoint in case of disabled features682 when security dashboard feature is not available683 responds with 403 Forbidden684 permissions685 is expected to be allowed for :admin686 is expected to be allowed for :owner687 is expected to be allowed for :maintainer688 is expected to be denied for :developer689 is expected to be denied for :auditor690 is expected to be denied for :reporter691 is expected to be denied for :guest692 is expected to be denied for :anonymous693 with `disable_developer_access_to_admin_vulnerability` disabled694 is expected to be allowed for :developer695API::Groups696 GET /groups697 when authenticated as user698 returns ldap details699 returns saml group links700 when repository storage name is specified701 for an admin702 filters by the repository storage name703 does not return any group for unknown storage704 when group wikis are not available705 does not include repository storage field706 for a user707 the repository storage filter is ignored708 GET /groups/:id709 group_ip_restriction710 when the group_ip_restriction feature is not available711 returns 200712 when the group_ip_restriction feature is available713 returns 404 for request from ip not in the range714 returns 200 for request from ip in the range715 marked_for_deletion_on attribute716 when feature is available717 is exposed718 when feature is not available719 is not exposed720 file_template_project_id is a private project721 user has permission to private project722 returns file_template_project_id723 user does not have permission to private project724 does not return file_template_project_id725 user is not logged in726 does not return file_template_project_id727 PUT /groups/:id728 behaves like PUT request permissions for admin mode729 behaves like when admin730 behaves like makes request731 returns732 behaves like makes request733 returns734 behaves like when user735 returns736 behaves like makes request737 returns738 file_template_project_id739 does not update file_template_project_id if unlicensed740 updates file_template_project_id if licensed741 shared_runners_minutes_limit742 when authenticated as the group owner743 returns 200 if shared_runners_minutes_limit is not changing744 when authenticated as the admin745 updates the group for shared_runners_minutes_limit746 default_branch_protection747 authenticated as an admin748 feature_enabled: true, setting_enabled: true, default_branch_protection: 0749 updates the attribute as expected750 feature_enabled: false, setting_enabled: true, default_branch_protection: 0751 updates the attribute as expected752 feature_enabled: true, setting_enabled: false, default_branch_protection: 0753 updates the attribute as expected754 feature_enabled: false, setting_enabled: false, default_branch_protection: 0755 updates the attribute as expected756 authenticated a normal user757 feature_enabled: true, setting_enabled: true, default_branch_protection: 0758 updates the attribute as expected759 feature_enabled: false, setting_enabled: true, default_branch_protection: 0760 updates the attribute as expected761 feature_enabled: true, setting_enabled: false, default_branch_protection: 2762 updates the attribute as expected763 feature_enabled: false, setting_enabled: false, default_branch_protection: 0764 updates the attribute as expected765 service_access_tokens_expiration_enforced766 authenticated as group owner767 feature_enabled: false, service_access_tokens_expiration_enforced: false, result: nil768 updates the attribute as expected769 feature_enabled: false, service_access_tokens_expiration_enforced: true, result: nil770 updates the attribute as expected771 feature_enabled: true, service_access_tokens_expiration_enforced: false, result: false772 updates the attribute as expected773 feature_enabled: true, service_access_tokens_expiration_enforced: true, result: true774 updates the attribute as expected775 prevent_forking_outside_group776 authenticated as group owner777 feature_enabled: false, prevent_forking_outside_group: false, result: nil778 updates the attribute as expected779 feature_enabled: false, prevent_forking_outside_group: true, result: nil780 updates the attribute as expected781 feature_enabled: true, prevent_forking_outside_group: false, result: false782 updates the attribute as expected783 feature_enabled: true, prevent_forking_outside_group: true, result: true784 updates the attribute as expected785 when ip_restriction_ranges is specified786 when feature is available787 updates ip restriction range for the group788 when feature is not available789 does not update the ip restriction range for the group790 for instances that have the usage_ping_features activated791 updates ip restriction range for the group792 unique_project_download* attributes793 when authenticated as group owner794 when feature flag enabled and feature available795 updates the attributes as expected796 flag_enabled: true, feature_available: false797 does not update the attributes798 flag_enabled: false, feature_available: true799 does not update the attributes800 flag_enabled: false, feature_available: false801 does not update the attributes802 wiki_access_level803 updates the attribute as expected804 updates the attribute as expected805 updates the attribute as expected806 POST /groups807 behaves like POST request permissions for admin mode808 behaves like when admin809 behaves like makes request810 returns811 behaves like makes request812 returns813 behaves like when user814 returns815 behaves like makes request816 returns817 when authenticated as user with group permissions818 creates an ldap_group_link if ldap_cn and ldap_access are supplied819 when shared_runners_minutes_limit is given820 when the current user is not an admin821 does not create a group with shared_runners_minutes_limit822 when the current user is an admin823 creates a group with shared_runners_minutes_limit824 when creating a group with `default_branch_protection` attribute825 authenticated as an admin826 feature_enabled: true, setting_enabled: true, default_branch_protection: 0827 creates the group with the expected `default_branch_protection` value828 feature_enabled: false, setting_enabled: true, default_branch_protection: 0829 creates the group with the expected `default_branch_protection` value830 feature_enabled: true, setting_enabled: false, default_branch_protection: 0831 creates the group with the expected `default_branch_protection` value832 feature_enabled: false, setting_enabled: false, default_branch_protection: 0833 creates the group with the expected `default_branch_protection` value834 authenticated a normal user835 feature_enabled: true, setting_enabled: true, default_branch_protection: 0836 creates the group with the expected `default_branch_protection` value837 feature_enabled: false, setting_enabled: true, default_branch_protection: 0838 creates the group with the expected `default_branch_protection` value839 feature_enabled: true, setting_enabled: false, default_branch_protection: 2840 creates the group with the expected `default_branch_protection` value841 feature_enabled: false, setting_enabled: false, default_branch_protection: 0842 creates the group with the expected `default_branch_protection` value843 when creating group on .com844 when top_level_group_creation_enabled feature flag is disabled845 does not create a top-level group846 creates a subgroup847 when top_level_group_creation_enabled feature flag is enabled848 creates a top-level group849 when creating group on self-managed850 when top_level_group_creation_enabled feature flag is disabled851 creates a top-level group852 creates a subgroup853 when top_level_group_creation_enabled feature flag is enabled854 creates a top-level group855 wiki_access_level856 updates the attribute as expected857 updates the attribute as expected858 updates the attribute as expected859 POST /groups/:id/ldap_sync860 behaves like POST request permissions for admin mode861 behaves like when admin862 behaves like makes request863 returns864 behaves like makes request865 returns866 behaves like when user867 returns868 behaves like makes request869 returns870 when the ldap_group_sync feature is available871 when authenticated as the group owner872 returns 404 for a non existing group873 when the group is ready to sync874 returns 202 Accepted875 queues a sync job876 sets the ldap_sync state to pending877 when the group is already pending a sync878 returns 202 Accepted879 does not queue a sync job880 does not change the ldap_sync state881 when authenticated as the admin882 returns 202 Accepted883 when authenticated as a non-owner user that can see the group884 returns 403885 when authenticated as an user that cannot see the group886 returns 404887 when the ldap_group_sync feature is not available888 returns 404 (same as CE would)889 GET /groups/:id/projects890 when authenticated as user891 when security dashboard is enabled for a group892 returns only projects with security scans893 when security dashboard is disabled for a group894 returns all projects regardless of the security scans895 when namespace license checks are enabled896 when there are plans and projects897 only loads plans once898 when there are no projects899 completes the request without error900 GET group/:id/audit_events901 behaves like inaccessable by reporter role and lower902 for reporter903 returns 403 response904 for guest905 returns 403 response906 for anonymous907 returns 403 response908 behaves like GET request permissions for admin mode909 behaves like when admin910 behaves like makes request911 returns912 behaves like makes request913 returns914 behaves like when user915 returns916 behaves like makes request917 returns918 when authenticated, as a member919 returns only events authored by current user920 when authenticated, as a group owner921 audit events feature is not available922 behaves like 403 response923 returns 403924 audit events feature is available925 returns 200 response926 includes the correct pagination headers927 does not include audit events of a different group928 parameters929 behaves like an endpoint with keyset pagination930 on making requests with supported ordering structure931 includes keyset url params in the url response932 does not include pagination headers933 paginates the records correctly934 on making requests with unsupported ordering structure935 returns error936 created_before parameter937 returns audit events created before the given parameter938 created_after parameter939 returns audit events created after the given parameter940 response schema941 matches the response schema942 Snowplow event tracking943 behaves like Snowplow event tracking with RedisHLL context944 behaves like Snowplow event tracking945 is emitted946 GET group/:id/audit_events/:audit_event_id947 behaves like inaccessable by reporter role and lower948 for reporter949 returns 403 response950 for guest951 returns 403 response952 for anonymous953 returns 403 response954 when authenticated, as a member955 returns 200 response956 existing audit event of a different user957 behaves like 404 response958 returns 404959 when authenticated, as a group owner960 audit events feature is not available961 behaves like 403 response962 returns 403963 audit events feature is available964 existent audit event965 returns 200 response966 response schema967 matches the response schema968 Snowplow event tracking969 behaves like Snowplow event tracking with RedisHLL context970 behaves like Snowplow event tracking971 is emitted972 invalid audit_event_id973 behaves like 400 response974 returns 400975 non existent audit event976 non existent audit event of a group977 behaves like 404 response978 returns 404979 existing audit event of a different group980 behaves like 404 response981 returns 404982 DELETE /groups/:id983 feature is available984 does not mark the group for deletion when the group has a paid gitlab.com subscription985 marks for deletion a subgroup of a group with a paid gitlab.com subscription986 marks for deletion of a group with a trial plan987 when delayed group deletion is enabled988 success989 behaves like marks group for delayed deletion990 marks group for delayed deletion991 when deletion adjourned period is 0992 behaves like immediately enqueues the job to delete the group993 immediately enqueues the job to delete the group994 when permanently_remove param is sent995 if permanently_remove is true996 if group is a subgroup997 when group is already marked for deletion998 when full_path param is not passed999 behaves like does not immediately enqueues the job to delete the group1000 does not immediately enqueues the job to delete the group1001 when full_path param is not equal to full_path1002 behaves like does not immediately enqueues the job to delete the group1003 does not immediately enqueues the job to delete the group1004 when the full_path param is passed and it matches the full path of subgroup1005 behaves like immediately enqueues the job to delete the group1006 immediately enqueues the job to delete the group1007 when group is not marked for deletion1008 behaves like does not immediately enqueues the job to delete the group1009 does not immediately enqueues the job to delete the group1010 if group is not a subgroup1011 behaves like does not immediately enqueues the job to delete the group1012 does not immediately enqueues the job to delete the group1013 if permanently_remove is not true1014 when it is false1015 behaves like marks group for delayed deletion1016 marks group for delayed deletion1017 when it is non boolean1018 behaves like marks group for delayed deletion1019 marks group for delayed deletion1020 when delayed group deletion is disabled1021 behaves like marks group for delayed deletion1022 marks group for delayed deletion1023 failure1024 returns error1025 feature is not available1026 does not delete the group when the group has a paid gitlab.com subscription1027 deletes a subgroup of a group with a paid gitlab.com subscription1028 deletes a group with a trial plan1029 behaves like immediately enqueues the job to delete the group1030 immediately enqueues the job to delete the group1031 POST /groups/:id/restore1032 feature is available1033 authenticated as owner1034 restoring is successful1035 restores the group to original state1036 restoring fails1037 returns error1038 authenticated as user without access to the group1039 returns 4031040 feature is not available1041 returns 4041042 GET /groups/:id/provisioned_users1043 when current_user is not a group maintainer1044 returns 4031045 when current_user is a group maintainer1046 returns a list of users provisioned by the group1047 optional params1048 search param1049 filters by search1050 username param1051 filters by username1052 blocked param1053 filters by blocked1054 active param1055 filters by active status1056 created_after1057 filters by created_at1058 created_before1059 filters by created_at1060 GET /groups/:id/users1061 when current_user is not a group member1062 returns 4041063 when current_user is an admin1064 behaves like authorized current_user responses1065 when no include params are present1066 returns 4001067 when no include params are true1068 returns 4041069 when all include params are present1070 returns a list of matching users1071 when only include_saml_users is true1072 returns only SAML users1073 when only include_service_accounts is true1074 returns only service accounts1075 optional params1076 search param1077 filters by search1078 when current_user is a group member1079 behaves like authorized current_user responses1080 when no include params are present1081 returns 4001082 when no include params are true1083 returns 4041084 when all include params are present1085 returns a list of matching users1086 when only include_saml_users is true1087 returns only SAML users1088 when only include_service_accounts is true1089 returns only service accounts1090 optional params1091 search param1092 filters by search1093 GET /groups/:id/ssh_certificates1094 when unauthenticated1095 behaves like 403 response1096 returns 4031097 behaves like when authenticated as maintainer1098 behaves like 403 response1099 returns 4031100 when authenticated as owner1101 returns an array of ssh_certificates1102 behaves like when group doesn't exist1103 behaves like 404 response1104 returns 4041105 behaves like when feature is disabled1106 behaves like 404 response1107 returns 4041108 behaves like when premium feature not available1109 behaves like 404 response1110 returns 4041111 behaves like when group is not a top level group1112 behaves like 403 response1113 returns 4031114 when no ssh certificates are found1115 returns an empty array1116 POST /groups/:id/ssh_certificates1117 behaves like when unauthenticated1118 behaves like 401 response1119 returns 4011120 behaves like when authenticated as maintainer1121 behaves like 403 response1122 returns 4031123 when authenticated as owner1124 adds an ssh_certificate to the group1125 when title param is empty1126 behaves like 422 response1127 returns 4221128 when key param is empty1129 behaves like 422 response1130 returns 4221131 when key param is incorrectly formatted1132 behaves like 422 response1133 returns 4221134 behaves like when group doesn't exist1135 behaves like 404 response1136 returns 4041137 behaves like when feature is disabled1138 behaves like 404 response1139 returns 4041140 behaves like when premium feature not available1141 behaves like 404 response1142 returns 4041143 behaves like when group is not a top level group1144 behaves like 403 response1145 returns 4031146 DELETE /groups/:id/ssh_certificates/:ssh_certificates_id1147 behaves like when unauthenticated1148 behaves like 401 response1149 returns 4011150 behaves like when authenticated as maintainer1151 behaves like 403 response1152 returns 4031153 when authenticated as owner1154 deletes the ssh_certificate1155 behaves like when group doesn't exist1156 behaves like 404 response1157 returns 4041158 behaves like when feature is disabled1159 behaves like 404 response1160 returns 4041161 behaves like when premium feature not available1162 behaves like 404 response1163 returns 4041164 behaves like when group is not a top level group1165 behaves like 403 response1166 returns 4031167 when ssh cert doesn't exist1168 behaves like 404 response1169 returns 4041170 when ssh cert cannot be deleted1171 405 response1172API::GeoNodes1173 POST /geo_nodes1174 denies access if not admin1175 returns rendering error if params are missing1176 delegates the creation of the Geo node to Geo::NodeCreateService1177 GET /geo_nodes1178 retrieves the Geo nodes if admin is logged in1179 denies access if not admin1180 GET /geo_nodes/:id1181 retrieves the Geo nodes if admin is logged in1182 denies access if not admin1183 behaves like 404 response1184 returns 4041185 GET /geo_nodes/status1186 retrieves all Geo nodes statuses if admin is logged in1187 returns only one record if only one record exists1188 denies access if not admin1189 GET /geo_nodes/:id/status1190 retrieves the Geo nodes status if admin is logged in1191 fetches the current node status from redis1192 shows the database-held response if current node status exists in the database, but not redis1193 the secondary shows 404 response if current node status does not exist in database or redis yet1194 the primary shows 404 response if secondary node status does not exist in database yet1195 denies access if not admin1196 behaves like 404 response1197 returns 4041198 POST /geo_nodes/:id/repair1199 denies access if not admin1200 returns 200 for the primary node1201 returns 200 when node does not need repairing1202 repairs a secondary with oauth application missing1203 behaves like 404 response1204 returns 4041205 PUT /geo_nodes/:id1206 denies access if not admin1207 updates the parameters1208 can update primary1209 cannot disable a primary1210 behaves like 404 response1211 returns 4041212 auth with geo node token1213 enables the secondary node1214 disables the secondary node1215 returns bad request if you try to update the primary1216 responds with 401 when IP is not allowed1217 responds 401 if auth header is bad1218 DELETE /geo_nodes/:id1219 denies access if not admin1220 deletes the node1221 returns 500 if Geo Node could not be deleted1222 behaves like 404 response1223 returns 4041224API::Epics1225 GET /groups/:id/epics1226 behaves like error requests1227 when epics feature is disabled1228 returns 403 forbidden error1229 when epics feature is enabled1230 returns 404 not found error for a user without permissions to see the group1231 when the request is correct1232 returns 200 status1233 matches the response schema1234 avoids N+1 queries1235 with_label_details1236 avoids N+1 queries1237 returns labels with details1238 with a parent epic1239 returns parent_id and parent_iid1240 with multiple epics1241 returns epics not authored by the given author id1242 returns epics not authored by the given author username1243 does not allow filtering by negating author_id and author_username together1244 returns epics without the given label1245 returns epics authored by the given author id1246 returns epics authored by the given author username1247 does not allow filtering by author_id and author_username together1248 returns epics reacted to by current user1249 returns epics matching given status1250 returns all epics when state set to all1251 returns epics matching given confidentiality1252 has upvote/downvote information1253 sorts by created_at descending by default1254 sorts ascending when requested1255 sorts by updated_at descending when requested1256 sorts by updated_at ascending when requested1257 sorts by title descending when requested1258 sorts by title ascending when requested1259 returns an array of labeled epics1260 returns an array of labeled epics with labels param as array1261 returns an array of labeled epics when all labels matches1262 returns an array of labeled epics when all labels matches with labels param as array1263 returns an empty array if no epic matches labels1264 returns an empty array if no epic matches labels with labels param as array1265 returns an array of labeled epics matching given state1266 returns an array of labeled epics matching given state with labels param as array1267 returns an empty array if no epic matches labels and state filters1268 returns an array of epics with any label1269 returns an array of epics with any label with labels param as array1270 returns an array of epics with no label1271 returns an array of epics with no label with labels param as array1272 with search param1273 returns issues matching given search string for title1274 returns issues matching given search string for description1275 behaves like issuable API rate-limited search1276 behaves like rate limited endpoint1277 when rate limiter enabled1278 logs request and declines it when endpoint called more than the threshold1279 when rate limiter is disabled1280 does not log request and does not block the request1281 behaves like rate limited endpoint1282 when rate limiter enabled1283 logs request and declines it when endpoint called more than the threshold1284 when rate limiter is disabled1285 does not log request and does not block the request1286 #to_reference1287 exposes reference path1288 referencing from parent group1289 exposes full reference path1290 behaves like response with extra date fields1291 returns epic with extra date fields1292 filtering before a specific date1293 returns epics created before a specific date1294 returns epics updated before a specific date1295 filtering after a specific date1296 returns epics created after a specific date1297 returns epics updated after a specific date1298 with hierarchy params1299 excludes descendant group epics1300 includes ancestor group epics1301 with pagination params1302 when viewing the first page1303 behaves like paginated API endpoint1304 returns the correct page1305 viewing the second page1306 behaves like paginated API endpoint1307 returns the correct page1308 GET /groups/:id/epics/:epic_iid1309 behaves like error requests1310 when epics feature is disabled1311 returns 403 forbidden error1312 when epics feature is enabled1313 returns 404 not found error for a user without permissions to see the group1314 when the request is correct1315 returns 200 status1316 matches the response schema1317 exposes subscribed field1318 exposes closed_at attribute1319 exposes full reference path1320 exposes links1321 with a parent epic1322 exposes parent link1323 behaves like response with extra date fields1324 returns epic with extra date fields1325 POST /groups/:id/epics1326 behaves like error requests1327 when epics feature is disabled1328 returns 403 forbidden error1329 when epics feature is enabled1330 returns 404 not found error for a user without permissions to see the group1331 when epics feature is enabled1332 creates a new epic with labels param as array1333 creates a new epic with no labels1334 behaves like POST request permissions for admin mode1335 behaves like when admin1336 behaves like makes request1337 returns1338 behaves like makes request1339 returns1340 behaves like when user1341 returns1342 behaves like makes request1343 returns1344 when required parameter is missing1345 returns 4001346 when the request is correct1347 returns 201 status1348 matches the response schema1349 exposes parent information1350 create system notes for new relation1351 creates a new epic1352 when we specify a color by hex code1353 sets the color correctly1354 when we specify a color by name1355 sets the color correctly1356 when deprecated start_date and end_date params are present1357 updates start_date_fixed and due_date_fixed1358 when parent epic is invalid1359 returns 4001360 when user has no access to parent epic1361 creates epic without parent1362 with rate limiter1363 prevents users from creating more epics1364 setting created_at1365 sets the creation time on the new epic if the user is an admin1366 sets the creation time on the new epic if the user is a group owner1367 ignores the given creation time if the user is another user1368 PUT /groups/:id/epics/:epic_iid1369 behaves like error requests1370 when epics feature is disabled1371 returns 403 forbidden error1372 when epics feature is enabled1373 returns 404 not found error for a user without permissions to see the group1374 when epics feature is enabled1375 behaves like PUT request permissions for admin mode1376 behaves like when admin1377 behaves like makes request1378 returns1379 behaves like makes request1380 returns1381 behaves like when user1382 returns1383 behaves like makes request1384 returns1385 when a user does not have permissions to create an epic1386 returns 403 forbidden error1387 when no param sent1388 returns 4001389 when user has no access to parent epic1390 does not update parent1391 when the request is correct1392 clears labels when labels param is nil1393 with basic params1394 returns 200 status1395 matches the response schema1396 updates the epic1397 with labels1398 updates the epic with labels param as array (FAILED - 1)14001st Try error in ./ee/spec/requests/api/epics_spec.rb:1005:1401Too many SQL queries were executed in PUT /api/:version/groups/:id/(-/)epics/:epic_iid(.:format): a maximum of 112 is allowed but 113 SQL queries were executed14020: SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'XMbz+xxjHa+aO4Gv2aBKfYH88bH80t+HHOjM+Kp4ggs=' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/14031: UPDATE "personal_access_tokens" SET "last_used_at" = '2023-11-22 16:14:20.512322' WHERE "personal_access_tokens"."id" = 513 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/personal_access_tokens/last_used_service.rb:15:in `execute'*/14042: SELECT "users".* FROM "users" WHERE "users"."id" = 848 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/auth/auth_finders.rb:154:in `find_user_from_access_token'*/14053: SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'XMbz+xxjHa+aO4Gv2aBKfYH88bH80t+HHOjM+Kp4ggs=' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/14064: SELECT "routes".* FROM "routes" WHERE "routes"."source_type" = 'Namespace' AND "routes"."path" = 'group246' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:34:in `find_by_full_path'*/14075: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:44:in `find_by_full_path'*/14086: SELECT "saml_providers"."id", "saml_providers"."group_id", "saml_providers"."enabled", "saml_providers"."certificate_fingerprint", "saml_providers"."sso_url", "saml_providers"."enforced_sso", "saml_providers"."enforced_group_managed_accounts", "saml_providers"."prohibited_outer_forks", "saml_providers"."default_membership_role", "saml_providers"."git_check_enforced", "saml_providers"."member_role_id" FROM "saml_providers" WHERE "saml_providers"."group_id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/group.rb:373:in `block in root_saml_provider'*/14097: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 1 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/api/helpers/epics_helpers.rb:40:in `epic'*/14108: SELECT MAX("members"."access_level") AS "maximum_access_level", "members"."user_id" AS "members_user_id" FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."source_id" = 1504 AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5))1411UNION1412(WITH "group_group_links_cte" AS MATERIALIZED (SELECT "group_group_links".* FROM "group_group_links" WHERE "group_group_links"."shared_group_id" = 1504) SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members", "group_group_links_cte" AS "group_group_links" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" = "group_group_links"."shared_with_group_id" AND "members"."source_type" = 'Namespace' AND "members"."state" = 0 AND (members.access_level > 5))) members WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" = 848 GROUP BY "members"."user_id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/group.rb:920:in `block in max_member_access'*/14139: SELECT "labels".* FROM "labels" INNER JOIN "label_links" ON "labels"."id" = "label_links"."label_id" WHERE "label_links"."target_id" = 203 AND "label_links"."target_type" = 'Epic' ORDER BY "labels"."title" ASC /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:532:in `associations_before_update'*/141410: SELECT "users".* FROM "users" WHERE "users"."id" = 1055 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/mentionable.rb:62:in `block in all_references'*/141511: SELECT "epics".* FROM "epics" WHERE "epics"."id" = 204 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/services/epics/base_service.rb:137:in `filter_parent_epic'*/141612: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM find_namespaces_by_id(1504) "namespaces" WHERE "namespaces"."type" = 'Group' AND ("namespaces"."id" IS NOT NULL) LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/use_sql_function_for_primary_key_lookups.rb:29:in `find'*/141713: SELECT MAX("members"."access_level") AS "maximum_access_level", "hierarchy"."id" AS "hierarchy_id" FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 848 /* allow_cross_joins_across_databases */)1418UNION1419(SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "group_group_links"."shared_group_id" AS source_id, "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" INNER JOIN group_group_links ON members.source_id = group_group_links.shared_with_group_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 848 /* allow_cross_joins_across_databases */)) members INNER JOIN (SELECT id, unnest(traversal_ids) as traversal_id FROM "namespaces" WHERE "namespaces"."id" = 1504) as hierarchy ON members.source_id = hierarchy.traversal_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' GROUP BY "hierarchy"."id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/preloaders/user_max_access_level_in_groups_preloader.rb:24:in `preload_with_traversal_ids'*/142014: WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 1504) SELECT "namespaces"."id", "namespaces"."parent_id", "gitlab_subscriptions"."hosted_plan_id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id LEFT OUTER JOIN gitlab_subscriptions ON gitlab_subscriptions.namespace_id=namespaces.id WHERE "namespaces"."type" = 'Group' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/gitlab/group_plans_preloader.rb:24:in `preload'*/142115: SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 1504)1422UNION1423(SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 848 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND (NOT EXISTS (SELECT 1 FROM "banned_users" INNER JOIN project_authorizations ON project_authorizations.user_id = banned_users.user_id WHERE (projects.creator_id = banned_users.user_id) AND (project_authorizations.project_id = projects.id) AND "project_authorizations"."access_level" = 50)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 1504 AND "namespaces"."type" = 'Group' /* allow_cross_joins_across_databases */))) labels WHERE "labels"."title" IN ('label1', 'label2', 'foo', 'bar', '&', '?') ORDER BY "labels"."title" ASC /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/labels/available_labels_service.rb:18:in `find_or_create_by_titles'*/142416: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/142517: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'label1' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/142618: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('label1', '#6699cc', '2023-11-22 16:14:20.636127', '2023-11-22 16:14:20.636127', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/142719: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/142820: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/142921: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'label2' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143022: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('label2', '#6699cc', '2023-11-22 16:14:20.651345', '2023-11-22 16:14:20.651345', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143123: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/143224: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143325: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'foo' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143426: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('foo', '#6699cc', '2023-11-22 16:14:20.667143', '2023-11-22 16:14:20.667143', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143527: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/143628: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143729: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'bar' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143830: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('bar', '#6699cc', '2023-11-22 16:14:20.682568', '2023-11-22 16:14:20.682568', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/143931: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/144032: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144133: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = '&' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144234: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('&', '#6699cc', '2023-11-22 16:14:20.696592', '2023-11-22 16:14:20.696592', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144335: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/144436: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144537: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = '?' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144638: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('?', '#6699cc', '2023-11-22 16:14:20.713669', '2023-11-22 16:14:20.713669', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/144739: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/144840: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/144941: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:20.723537' WHERE "epics"."id" = 203 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/145042: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/145143: SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 1504 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:158:in `full_attribute'*/145244: SELECT "labels".* FROM "labels" WHERE "labels"."id" IN (130, 131, 132, 133, 134, 135) ORDER BY "labels"."title" ASC /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:323:in `update'*/145345: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145446: DELETE FROM "label_links" WHERE "label_links"."target_id" = 203 AND "label_links"."target_type" = 'Epic' AND "label_links"."label_id" IN (129, 128, 128) AND "label_links"."target_type" = 'Epic' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145547: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (130, 203, 'Epic', '2023-11-22 16:14:20.747368', '2023-11-22 16:14:20.747368') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145648: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (131, 203, 'Epic', '2023-11-22 16:14:20.752803', '2023-11-22 16:14:20.752803') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145749: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (132, 203, 'Epic', '2023-11-22 16:14:20.758381', '2023-11-22 16:14:20.758381') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145850: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (133, 203, 'Epic', '2023-11-22 16:14:20.764499', '2023-11-22 16:14:20.764499') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/145951: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (134, 203, 'Epic', '2023-11-22 16:14:20.769746', '2023-11-22 16:14:20.769746') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/146052: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (135, 203, 'Epic', '2023-11-22 16:14:20.775565', '2023-11-22 16:14:20.775565') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/146153: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/146254: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/146355: SELECT 1 AS one FROM "issues" INNER JOIN "epic_issues" ON "issues"."id" = "epic_issues"."issue_id" WHERE "epic_issues"."epic_id" = 203 AND "issues"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/146456: SELECT 1 AS one FROM "epics" WHERE "epics"."parent_id" = 203 AND "epics"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:579:in `confidentiality_errors'*/146557: SELECT COUNT(*) FROM "epics" WHERE "epics"."parent_id" = 204 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:708:in `validate_children_count'*/146658: UPDATE "epics" SET "updated_by_id" = 848, "last_edited_by_id" = 848, "start_date" = '2018-07-17', "last_edited_at" = '2023-11-22 16:14:20.782132', "updated_at" = '2023-11-22 16:14:20.799168', "title" = 'new title', "title_html" = 'new title', "description" = 'new description', "description_html" = '<p data-sourcepos="1:1-1:15" dir="auto">new description</p>', "start_date_fixed" = '2018-07-17', "start_date_is_fixed" = TRUE, "parent_id" = 204, "confidential" = TRUE, "lock_version" = 1 WHERE "epics"."id" = 203 AND "epics"."lock_version" = 0 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:379:in `transaction_update'*/146759: SELECT 1 AS one FROM "description_versions" WHERE "description_versions"."epic_id" = 203 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/versioned_description.rb:21:in `save_description_version'*/146860: INSERT INTO "description_versions" ("created_at", "updated_at", "epic_id") VALUES ('2023-11-22 16:14:20.046567', '2023-11-22 16:14:20.826171', 203) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/146961: INSERT INTO "description_versions" ("created_at", "updated_at", "epic_id", "description") VALUES ('2023-11-22 16:14:20.831295', '2023-11-22 16:14:20.831295', 203, 'new description') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/147062: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 203 AND "epic_user_mentions"."note_id" IS NULL /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/147163: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:335:in `update'*/147264: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147365: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147466: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed title from **{-My-} title{- 124-}** to **{+new+} title**', 'Epic', 848, '2023-11-22 16:14:20.848934', '2023-11-22 16:14:20.859246', 203, TRUE, 'd30ec2cd496ab1967d7f7d7e79e05f3cbed57570', '<p data-sourcepos="1:1-1:64" dir="auto">changed title from <strong><span class="idiff left right deletion">My</span> title<span class="idiff left right deletion"> 124</span></strong> to <strong><span class="idiff left right addition">new</span> title</strong></p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147567: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('title', '2023-11-22 16:14:20.874929', '2023-11-22 16:14:20.874929', 75) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147668: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 203 AND "epic_user_mentions"."note_id" = 75 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/147769: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147870: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/147971: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/148072: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed the description', 'Epic', 848, '2023-11-22 16:14:20.889047', '2023-11-22 16:14:20.899334', 203, TRUE, 'ce731ba68fcdcabd100484f4af5424d869039edb', '<p data-sourcepos="1:1-1:23" dir="auto">changed the description</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/148173: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "description_version_id", "note_id") VALUES ('description', '2023-11-22 16:14:20.914526', '2023-11-22 16:14:20.914526', 14, 76) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/148274: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 203 AND "epic_user_mentions"."note_id" = 76 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/148375: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/148476: INSERT INTO resource_label_events ("epic_id", "user_id", "created_at", "label_id", "action")1485 VALUES (203, 848, '2023-11-22 16:14:20.928629', 130, 1), (203, 848, '2023-11-22 16:14:20.928629', 131, 1), (203, 848, '2023-11-22 16:14:20.928629', 132, 1), (203, 848, '2023-11-22 16:14:20.928629', 133, 1), (203, 848, '2023-11-22 16:14:20.928629', 134, 1), (203, 848, '2023-11-22 16:14:20.928629', 135, 1), (203, 848, '2023-11-22 16:14:20.928629', 129, 2), (203, 848, '2023-11-22 16:14:20.928629', 128, 2), (203, 848, '2023-11-22 16:14:20.928629', 128, 2)1486 RETURNING id /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/legacy_bulk_insert.rb:45:in `legacy_bulk_insert'*/148777: SELECT "plans".* FROM "plans" WHERE "plans"."name" = 'default' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/plan.rb:19:in `block in default'*/148878: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/application_record.rb:87:in `block in safe_find_or_create_by'*/148979: INSERT INTO "plans" ("created_at", "updated_at", "name", "title") VALUES ('2023-11-22 16:14:20.941717', '2023-11-22 16:14:20.941717', 'default', 'Default') RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/application_record.rb:87:in `block in safe_find_or_create_by'*/149080: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/149181: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149282: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149383: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed start date to Jul 17, 2018', 'Epic', 848, '2023-11-22 16:14:20.950924', '2023-11-22 16:14:20.960114', 203, TRUE, '180caa8ed66a19c361d3e5e35d4a5fafff9ab360', '<p data-sourcepos="1:1-1:34" dir="auto">changed start date to Jul 17, 2018</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149484: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('epic_date_changed', '2023-11-22 16:14:20.974965', '2023-11-22 16:14:20.974965', 77) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149585: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 203 AND "epic_user_mentions"."note_id" = 77 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/149686: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149787: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149888: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/149989: SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 1504 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:158:in `full_attribute'*/150090: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/banzai/filter/references/reference_cache.rb:94:in `block in load_records_per_parent'*/150191: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('added epic &1 as child epic', 'Epic', 848, '2023-11-22 16:14:20.988973', '2023-11-22 16:14:20.998657', 204, TRUE, 'f1c766554de9a3df0146efd6a371f58d118f19bc', '<p data-sourcepos="1:1-1:27" dir="auto">added epic <a href="/groups/group246/-/epics/1" data-reference-type="epic" data-original="&amp;1" data-link="false" data-link-reference="false" data-group="1504" data-group-path="group246" data-iid="1" data-epic="203" data-container="body" data-placement="top" title="new title" class="gfm gfm-epic">&1</a> as child epic</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/150292: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('relate_epic', '2023-11-22 16:14:21.029087', '2023-11-22 16:14:21.029087', 78) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/150393: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 204 AND "epic_user_mentions"."note_id" = 78 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/150494: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:21.041693' WHERE "epics"."id" = 204 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/note.rb:635:in `touch_noteable'*/150595: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/150696: SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/150797: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/150898: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/banzai/filter/references/reference_cache.rb:94:in `block in load_records_per_parent'*/150999: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('added epic &2 as parent epic', 'Epic', 848, '2023-11-22 16:14:21.051151', '2023-11-22 16:14:21.061789', 203, TRUE, 'b304009948be05f8f1234aa29e3f3da123f5ea03', '<p data-sourcepos="1:1-1:28" dir="auto">added epic <a href="/groups/group246/-/epics/2" data-reference-type="epic" data-original="&amp;2" data-link="false" data-link-reference="false" data-group="1504" data-group-path="group246" data-iid="2" data-epic="204" data-container="body" data-placement="top" title="My title 125" class="gfm gfm-epic">&2</a> as parent epic</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/1510100: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('relate_epic', '2023-11-22 16:14:21.085517', '2023-11-22 16:14:21.085517', 79) RETURNING "id" /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/1511101: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 203 AND "epic_user_mentions"."note_id" = 79 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/1512102: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:21.097681' WHERE "epics"."id" = 203 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/note.rb:635:in `touch_noteable'*/1513103: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/1514104: SELECT "todos"."id" FROM "todos" WHERE ("todos"."state" IN ('pending')) AND "todos"."user_id" = 848 AND "todos"."target_id" = 203 AND "todos"."target_type" = 'Epic' AND "todos"."state" != 'done' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/todo.rb:147:in `batch_update'*/1515105: UPDATE "todos" SET "state" = 'done', "resolved_by_action" = 0, "updated_at" = '2023-11-22 16:14:21.121055' WHERE ("todos"."state" IN ('pending')) AND "todos"."user_id" = 848 AND "todos"."target_id" = 203 AND "todos"."target_type" = 'Epic' AND "todos"."state" != 'done' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/todo.rb:149:in `batch_update'*/1516106: SELECT COUNT(*) FROM "todos" WHERE "todos"."user_id" = 848 AND ("todos"."state" IN ('done')) /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/user.rb:1889:in `block in todos_done_count'*/1517107: SELECT COUNT(*) FROM "todos" WHERE "todos"."user_id" = 848 AND ("todos"."state" IN ('pending')) /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/user.rb:1895:in `block in todos_pending_count'*/1518108: SELECT 1 AS one FROM "issues" INNER JOIN "epic_issues" ON "issues"."id" = "epic_issues"."issue_id" WHERE "epic_issues"."epic_id" = 203 AND "issues"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/1519109: SELECT 1 AS one FROM "epics" WHERE "epics"."parent_id" = 203 AND "epics"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:579:in `confidentiality_errors'*/1520110: SELECT "labels".* FROM "labels" INNER JOIN "label_links" ON "labels"."id" = "label_links"."label_id" WHERE "label_links"."target_id" = 203 AND "label_links"."target_type" = 'Epic' ORDER BY "labels"."title" ASC /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/ee/api/entities/epic.rb:60:in `map'*/1521111: SELECT COUNT(*) FROM "award_emoji" WHERE "award_emoji"."awardable_id" = 203 AND "award_emoji"."awardable_type" = 'Epic' AND "award_emoji"."name" = 'thumbsup' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/awardable.rb:88:in `upvotes'*/1522112: SELECT COUNT(*) FROM "award_emoji" WHERE "award_emoji"."awardable_id" = 203 AND "award_emoji"."awardable_type" = 'Epic' AND "award_emoji"."name" = 'thumbsdown' /*application:test,correlation_id:659f2e17-1d08-403d-a9da-e743d1bb8216,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/awardable.rb:84:in `downvotes'*/1524RSpec::Retry: 2nd try ./ee/spec/requests/api/epics_spec.rb:10051525 when adding labels, keeps existing labels and adds new1526 when removing labels, only removes those specified1527 when removing all labels, keeps no labels1528 when state_event is close1529 allows epic to be closed1530 when state_event is reopen1531 allows epic to be reopend1532 setting updated_at1533 ignores the given update time when run by another user1534 sets the update time on the epic when run by an admin1535 sets the update time on the epic when run by a group owner1536 when deprecated start_date and end_date params are present1537 updates start_date_fixed and due_date_fixed1538 when deprecated dates are missing1539 does not drop existing dates1540 when updating start_date_is_fixed by itself1541 updates start_date_is_fixed1542 DELETE /groups/:id/epics/:epic_iid1543 behaves like error requests1544 when epics feature is disabled1545 returns 403 forbidden error1546 when epics feature is enabled1547 returns 404 not found error for a user without permissions to see the group1548 when epics feature is enabled1549 when a user does not have permissions to destroy an epic1550 returns 403 forbidden error1551 when the request is correct1552 returns 204 status1553 removes an epic1554Groups::OmniauthCallbacksController1555 when request hasn't been validated by omniauth middleware1556 prevents authentication1557 when the user is invalid1558 when the email is blank1559 redirects to the Group SAML sign in page with flash alert1560 when any other validation error occurs1561 redirects to the Group SAML sign in page with flash alert1562 valid credentials1563 when user used to be a member of a group1564 displays a flash message verifying group sign in1565 adds linked identity1566 adds group membership1567 when user was provisioned by other group1568 displays a flash message verifying group sign in1569 does not add linked identity1570 does not add group membership1571 when signed in1572 behaves like and identity already linked1573 displays a flash message verifying group sign in1574 uses existing linked identity1575 skips authenticity token based forgery protection1576 behaves like SAML session initiated1577 redirects to RelayState if its value is a subpath and starts with a slash1578 ignores RelayState that doesn't start with a slash1579 ignores RelayState that starts with two slashes1580 ignores RelayState outside root domain without full URL1581 ignores RelayState outside root domain with full URI1582 ignores RelayState within root domain with full URI1583 ignores RelayState when invalid URI1584 logs group audit event for authentication1585 stores that a SAML session is active1586 with 2FA1587 stores that a SAML session is active1588 oauth linked with different NameID1589 displays a flash message verifying group sign in1590 when user email address does not match auth hash email address1591 redirects and displays an error1592 oauth already linked to another account1593 redirects and displays an error1594 and identity hasn't been linked1595 links the identity1596 displays a flash indicating the account has been linked1597 logs group audit event for being added to the group1598 when a default access level is specified in the SAML provider1599 sets the access level of the member as per the specified `default_membership_role`1600 when a custom role is specified in the SAML provider1601 sets the `member_role` of the member as per the specified `member_role`1602 behaves like SAML session initiated1603 redirects to RelayState if its value is a subpath and starts with a slash1604 ignores RelayState that doesn't start with a slash1605 ignores RelayState that starts with two slashes1606 ignores RelayState outside root domain without full URL1607 ignores RelayState outside root domain with full URI1608 ignores RelayState within root domain with full URI1609 ignores RelayState when invalid URI1610 logs group audit event for authentication1611 stores that a SAML session is active1612 with IdP initiated request1613 redirects to account link page1614 lets the user know their account isn't linked yet1615 when not signed in1616 and identity hasn't been linked1617 redirects to sign in page with flash notice1618 behaves like and identity already linked1619 displays a flash message verifying group sign in1620 uses existing linked identity1621 skips authenticity token based forgery protection1622 behaves like SAML session initiated1623 redirects to RelayState if its value is a subpath and starts with a slash1624 ignores RelayState that doesn't start with a slash1625 ignores RelayState that starts with two slashes1626 ignores RelayState outside root domain without full URL1627 ignores RelayState outside root domain with full URI1628 ignores RelayState within root domain with full URI1629 ignores RelayState when invalid URI1630 logs group audit event for authentication1631 stores that a SAML session is active1632 with 2FA1633 stores that a SAML session is active1634 for sign up1635 does not enforce onboarding for sign up1636 identity verification1637 on sign up1638 behaves like identity verification not required1639 does not redirect to identity verification1640 on sign in when identity is not yet verified1641 behaves like identity verification not required1642 does not redirect to identity verification1643 #failure1644 not signed in1645 doesn't disclose group existence1646 group doesn't exist1647 doesn't disclose group non-existence1648 with access1649 has descriptive error flash1650 redirects back go the SSO page1651 with access to SAML settings for the group1652 redirects to the settings page1653Notify1654 for a project1655 for merge requests1656 that are new with approver1657 contains the approvers list1658 that are approved1659 is sent as the last approver1660 has the correct subject1661 contains the new status1662 contains a link to the merge request1663 contains the names of all of the approvers1664 contains the names of all assignees1665 behaves like a multiple recipients email1666 is sent to the given recipient1667 behaves like an answer to an existing thread with reply-by-email enabled1668 has X-GitLab-Project headers1669 has X-GitLab-*-ID header1670 has X-GitLab-*-IID header if model has iid defined1671 has X-GitLab-*-State header if model has state defined1672 has X-GitLab-Project headers1673 has X-GitLab-*-ID header1674 has X-GitLab-*-IID header if model has iid defined1675 has X-GitLab-*-State header if model has state defined1676 has the characteristics of a threaded reply1677 when reply-by-email is enabled with incoming address with %{key}1678 has a Reply-To header1679 when reply-by-email is enabled with incoming address without %{key}1680 has X-GitLab-Project headers1681 has X-GitLab-*-ID header1682 has X-GitLab-*-IID header if model has iid defined1683 has X-GitLab-*-State header if model has state defined1684 has the characteristics of a threaded reply1685 has a Reply-To header1686 behaves like it should show Gmail Actions View Merge request link1687 is expected to have body including "View Merge request"1688 behaves like it should have Gmail Actions links1689 is expected to have body including "ViewAction"1690 behaves like an unsubscribeable thread1691 has a List-Unsubscribe header in the correct format, and a body link1692 behaves like an unsubscribeable thread with incoming address without %{key}1693 has a List-Unsubscribe header in the correct format, and a body link1694 when merge request has no assignee1695 does not show the assignee1696 that are unapproved1697 is sent as the last unapprover1698 has the correct subject1699 contains the new status1700 contains a link to the merge request1701 contains the names of all of the approvers1702 contains the names of all assignees1703 behaves like a multiple recipients email1704 is sent to the given recipient1705 behaves like an answer to an existing thread with reply-by-email enabled1706 has X-GitLab-Project headers1707 has X-GitLab-*-ID header1708 has X-GitLab-*-IID header if model has iid defined1709 has X-GitLab-*-State header if model has state defined1710 has X-GitLab-Project headers1711 has X-GitLab-*-ID header1712 has X-GitLab-*-IID header if model has iid defined1713 has X-GitLab-*-State header if model has state defined1714 has the characteristics of a threaded reply1715 when reply-by-email is enabled with incoming address with %{key}1716 has a Reply-To header1717 when reply-by-email is enabled with incoming address without %{key}1718 has X-GitLab-Project headers1719 has X-GitLab-*-ID header1720 has X-GitLab-*-IID header if model has iid defined1721 has X-GitLab-*-State header if model has state defined1722 has the characteristics of a threaded reply1723 has a Reply-To header1724 behaves like it should show Gmail Actions View Merge request link1725 is expected to have body including "View Merge request"1726 behaves like it should have Gmail Actions links1727 is expected to have body including "ViewAction"1728 behaves like an unsubscribeable thread1729 has a List-Unsubscribe header in the correct format, and a body link1730 behaves like an unsubscribeable thread with incoming address without %{key}1731 has a List-Unsubscribe header in the correct format, and a body link1732 for merge requests without assignee1733 that are unapproved1734 contains the new status1735 for merge request with reviewer1736 merge request diff summary1737 when merge_request_diff_llm_summary exists1738 when SummarizeDiffService is disabled1739 does not include diff summary1740 when SummarizeDiffService is enabled1741 includes diff summary1742 when merge_request_diff_llm_summary is empty1743 when SummarizeDiffService is enabled1744 does not include diff summary1745 for a group1746 for epics1747 that are new1748 has the correct subject and body1749 contains a link to epic author1750 contains a link to the epic1751 behaves like an epic email starting a new thread with reply-by-email enabled1752 has the characteristics of a threaded email1753 when reply-by-email is enabled with incoming address with %{key}1754 has a Reply-To header1755 when reply-by-email is enabled with incoming address without %{key}1756 has the characteristics of a threaded email1757 has a Reply-To header1758 behaves like it should show Gmail Actions View Epic link1759 is expected to have body including "View Epic"1760 behaves like it should have Gmail Actions links1761 is expected to have body including "ViewAction"1762 behaves like an unsubscribeable thread1763 has a List-Unsubscribe header in the correct format, and a body link1764 behaves like an unsubscribeable thread with incoming address without %{key}1765 has a List-Unsubscribe header in the correct format, and a body link1766 behaves like having group identification headers1767 has specific group headers1768 got deleted before notification1769 does not send email1770 that changed status1771 behaves like epic notifications with reply1772 has the characteristics of a threaded reply1773 has a Reply-To header1774 has the correct subject and body1775 behaves like having group identification headers1776 has specific group headers1777 behaves like it should show Gmail Actions View Epic link1778 is expected to have body including "View Epic"1779 behaves like it should have Gmail Actions links1780 is expected to have body including "ViewAction"1781 behaves like an unsubscribeable thread1782 has a List-Unsubscribe header in the correct format, and a body link1783 behaves like an unsubscribeable thread with incoming address without %{key}1784 has a List-Unsubscribe header in the correct format, and a body link1785 for epic notes1786 behaves like epic notifications with reply1787 has the characteristics of a threaded reply1788 has a Reply-To header1789 has the correct subject and body1790 behaves like having group identification headers1791 has specific group headers1792 behaves like it should show Gmail Actions View Epic link1793 is expected to have body including "View Epic"1794 behaves like it should have Gmail Actions links1795 is expected to have body including "ViewAction"1796 behaves like an unsubscribeable thread1797 has a List-Unsubscribe header in the correct format, and a body link1798 behaves like an unsubscribeable thread with incoming address without %{key}1799 has a List-Unsubscribe header in the correct format, and a body link1800 behaves like a note email1801 is sent to the given recipient as the author1802 contains the message from the note1803 contains a link to note author1804 behaves like it should have Gmail Actions links1805 is expected to have body including "ViewAction"1806 for compliance violations1807 example at ./ee/spec/mailers/notify_spec.rb:3541808 is expected to have body including "Your Compliance Violations CSV export for the group"1809 behaves like an email sent from GitLab1810 has the characteristics of an email sent from GitLab1811 for compliance frameworks1812 example at ./ee/spec/mailers/notify_spec.rb:3711813 is expected to have body including "Your Compliance Frameworks CSV export for the group"1814 behaves like an email sent from GitLab1815 has the characteristics of an email sent from GitLab1816 mirror was hard failed1817 has the correct subject and body1818 behaves like an email sent from GitLab1819 has the characteristics of an email sent from GitLab1820 behaves like it should not have Gmail Actions links1821 is expected not to have body including "ViewAction"1822 behaves like a user cannot unsubscribe through footer link1823 does not have a List-Unsubscribe header or a body link1824 mirror was disabled1825 has the correct subject and body1826 behaves like an email sent from GitLab1827 has the characteristics of an email sent from GitLab1828 behaves like it should not have Gmail Actions links1829 is expected not to have body including "ViewAction"1830 behaves like a user cannot unsubscribe through footer link1831 does not have a List-Unsubscribe header or a body link1832 user was deleted1833 does not send email1834 mirror user changed1835 has the correct subject and body1836 behaves like an email sent from GitLab1837 has the characteristics of an email sent from GitLab1838 behaves like it should not have Gmail Actions links1839 is expected not to have body including "ViewAction"1840 behaves like a user cannot unsubscribe through footer link1841 does not have a List-Unsubscribe header or a body link1842 new user was created via saml1843 delivers mail to user email1844 contains all the useful information1845 behaves like an email sent from GitLab1846 has the characteristics of an email sent from GitLab1847 behaves like it should not have Gmail Actions links1848 is expected not to have body including "ViewAction"1849 behaves like a user cannot unsubscribe through footer link1850 does not have a List-Unsubscribe header or a body link1851 behaves like appearance header and footer enabled1852 contains header and footer1853 behaves like appearance header and footer not enabled1854 does not contain header and footer1855 merge request reviews1856 includes review summary1857API::Wikis1858 GET /groups/:id/wikis1859 when group wiki is disabled1860 when user is guest1861 returns 404 Group Not Found1862 when user is developer1863 returns 403 Forbidden1864 when user is maintainer1865 returns 403 Forbidden1866 when wiki is available only for team members1867 when user is guest1868 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1869 when user is developer1870 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1871 when wiki has pages1872 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1873 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1874 when user is maintainer1875 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1876 when wiki has pages1877 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1878 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1879 when wiki is available for everyone with access1880 when user is guest1881 returns 404 Group Not Found1882 when user is developer1883 return the empty list of wiki pages1884 when wiki has pages1885 returns the list of wiki pages without content1886 returns the list of wiki pages with content1887 when user is maintainer1888 return the empty list of wiki pages1889 when wiki has pages1890 returns the list of wiki pages without content1891 returns the list of wiki pages with content1892 GET /groups/:id/wikis/:slug1893 when wiki is disabled1894 when user is guest1895 returns 404 Group Not Found1896 when user is developer1897 returns 403 Forbidden1898 when user is maintainer1899 returns 403 Forbidden1900 when wiki is available only for team members1901 when user is guest1902 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1903 when user is developer1904 behaves like returns wiki page1905 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1906 when render param is false1907 behaves like returns wiki page1908 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1909 when render param is true1910 behaves like returns wiki page1911 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1912 when wiki page has versions1913 when version param is not present1914 retrieves the last version (PENDING: Temporarily skipped with xcontext)1915 when version param is set1916 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1917 when version param is not valid or inexistent1918 behaves like wiki API 404 Wiki Page Not Found1919 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1920 when page does not exist1921 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1922 when user is maintainer1923 behaves like returns wiki page1924 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1925 when render param is false1926 behaves like returns wiki page1927 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1928 when render param is true1929 behaves like returns wiki page1930 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1931 when wiki page has versions1932 when version param is not present1933 retrieves the last version (PENDING: Temporarily skipped with xcontext)1934 when version param is set1935 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1936 when version param is not valid or inexistent1937 behaves like wiki API 404 Wiki Page Not Found1938 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1939 when page does not exist1940 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1941 when wiki is available for everyone with access1942 when user is guest1943 returns 404 Group Not Found1944 when user is developer1945 behaves like returns wiki page1946 is expected to eq "Page 5"1947 when render param is false1948 behaves like returns wiki page1949 is expected to eq "Page 6"1950 when render param is true1951 behaves like returns wiki page1952 is expected to eq "Page 7"1953 when wiki page has versions1954 when version param is not present1955 retrieves the last version1956 when version param is set1957 retrieves the specific page version1958 when version param is not valid or inexistent1959 behaves like wiki API 404 Wiki Page Not Found1960 returns 404 Wiki Page Not Found1961 when page does not exist1962 returns 404 Wiki Page Not Found1963 when user is maintainer1964 behaves like returns wiki page1965 is expected to eq "Page 11"1966 when render param is false1967 behaves like returns wiki page1968 is expected to eq "Page 12"1969 when render param is true1970 behaves like returns wiki page1971 is expected to eq "Page 13"1972 when wiki page has versions1973 when version param is not present1974 retrieves the last version1975 when version param is set1976 retrieves the specific page version1977 when version param is not valid or inexistent1978 behaves like wiki API 404 Wiki Page Not Found1979 returns 404 Wiki Page Not Found1980 when page does not exist1981 returns 404 Wiki Page Not Found1982 POST /groups/:id/wikis1983 when wiki is disabled1984 when user is guest1985 returns 404 Group Not Found1986 when user is developer1987 returns 403 Forbidden1988 when user is maintainer1989 returns 403 Forbidden1990 when wiki is available only for team members1991 when user is guest1992 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1993 when user is developer1994 creates the wiki page (PENDING: Temporarily skipped with xcontext)1995 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1996 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1997 when user is maintainer1998 creates the wiki page (PENDING: Temporarily skipped with xcontext)1999 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)2000 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)2001 when wiki is available for everyone with access2002 when user is guest2003 returns 404 Group Not Found2004 when user is developer2005 creates the wiki page2006 responds with validation error on empty title2007 responds with validation error on empty content2008 when user is maintainer2009 creates the wiki page2010 responds with validation error on empty title2011 responds with validation error on empty content2012 PUT /group/:id/wikis/:slug2013 when wiki is disabled2014 when user is guest2015 returns 404 Group Not Found2016 when user is developer2017 returns 403 Forbidden2018 when user is maintainer2019 returns 403 Forbidden2020 when wiki is available only for team members2021 when user is guest2022 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2023 when user is developer2024 updates the wiki page (PENDING: Temporarily skipped with xcontext)2025 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)2026 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)2027 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)2028 when page does not exist2029 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2030 when user is maintainer2031 updates the wiki page (PENDING: Temporarily skipped with xcontext)2032 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)2033 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)2034 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)2035 when page is not existing2036 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2037 when wiki is available for everyone with access2038 when user is guest2039 returns 404 Group Not Found2040 when user is developer2041 updates the wiki page2042 updates with wiki with missing title2043 updates with wiki with missing content2044 updates with wiki with missing format2045 when page does not exist2046 returns 404 Wiki Page Not Found2047 when user is maintainer2048 updates the wiki page2049 updates with wiki with missing title2050 updates with wiki with missing content2051 updates with wiki with missing format2052 when page does not exist2053 returns 404 Wiki Page Not Found2054 when user is owner of parent group2055 updates the wiki page2056 updates with wiki with missing title2057 updates with wiki with missing content2058 updates with wiki with missing format2059 DELETE /groups/:id/wikis/:slug2060 when wiki is disabled2061 when user is guest2062 returns 404 Group Not Found2063 when user is developer2064 returns 403 Forbidden2065 when user is maintainer2066 returns 403 Forbidden2067 when wiki is available only for team members2068 when user is guest2069 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2070 when user is developer2071 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)2072 when user is maintainer2073 returns 204 No Content (PENDING: Temporarily skipped with xcontext)2074 when wiki is available for everyone with access2075 when user is guest2076 returns 404 Group Not Found2077 when user is developer2078 returns 403 Forbidden2079 when user is maintainer2080 returns 204 No Content2081 when page does not exist2082 returns 404 Wiki Page Not Found2083 when user is owner of parent group2084 returns 204 No Content2085 POST /groups/:id/wikis/attachments2086 when wiki is disabled2087 when user is guest2088 returns 404 Group Not Found2089 when user is developer2090 returns 403 Forbidden2091 when user is maintainer2092 returns 403 Forbidden2093 when wiki is available only for team members2094 when user is guest2095 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2096 when user is developer2097 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)2098 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)2099 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)2100 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)2101 when user is maintainer2102 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)2103 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)2104 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)2105 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)2106 when wiki is available for everyone with access2107 when user is guest2108 returns 404 Group Not Found2109 when user is developer2110 pushes attachment to the wiki repository2111 responds with validation error on empty file2112 responds with validation error on invalid temp file2113 is backward compatible with regular multipart uploads2114 when user is maintainer2115 pushes attachment to the wiki repository2116 responds with validation error on empty file2117 responds with validation error on invalid temp file2118 is backward compatible with regular multipart uploads2119GroupsController2120 GET #show2121 behaves like namespace storage limit alert2122 does render2123 when user has dismissed already2124 does not render alert2125 behaves like seat count alert2126 when the namespace qualifies for the alert2127 sets the seat_count_data2128 when the namespace does not qualify for the alert2129 sets the seat_count_data to nil2130 with free user cap performance concerns2131 avoids extra user count queries2132 GET #activity2133 when authorized2134 when group events are available2135 includes events from group and subgroups2136 when group events are not available2137 does not include events from group and subgroups2138 when unauthorized2139 includes only events visible to user2140 POST #restore2141 when authenticated user can admin the group2142 delayed deletion feature is available2143 success2144 restores the group2145 renders success notice upon restoring2146 failure2147 does not restore the group2148 redirects to group edit page2149 delayed deletion feature is not available2150 returns 4042151 when authenticated user cannot admin the group2152 returns 4042153 DELETE #destroy2154 when authenticated user can admin the group2155 delayed deletion feature is available2156 success2157 marks the group for delayed deletion2158 does not immediately delete the group2159 redirects to group path with notice about delayed deletion2160 failure2161 does not mark the group for deletion2162 redirects to group edit page2163 when group is already marked for deletion2164 when permanently_remove param is set2165 deletes the group immediately2166 when permanently_remove param is not set2167 does nothing2168 delayed deletion feature is not available2169 immediately schedules a group destroy2170 redirects to root page with alert about immediate deletion2171 when authenticated user cannot admin the group2172 returns 4042173 POST #create2174 authorization2175 allows an auditor with "can_create_group" set to true to create a group2176 behaves like GroupInviteMembers2177 when inviting members2178 without valid emails in the params2179 no invites generated by default2180 does not track the event2181 with valid emails in the params2182 adds users with developer access and ignores blank and invalid emails2183 tracks the event2184 when creating a group with `default_branch_protection` attribute2185 authenticated as an admin2186 feature_enabled: false, setting_enabled: false, default_branch_protection: 02187 behaves like creates the group with the expected `default_branch_protection` value2188 creates the group with the expected `default_branch_protection` value2189 feature_enabled: false, setting_enabled: true, default_branch_protection: 02190 behaves like creates the group with the expected `default_branch_protection` value2191 creates the group with the expected `default_branch_protection` value2192 feature_enabled: true, setting_enabled: false, default_branch_protection: 02193 behaves like creates the group with the expected `default_branch_protection` value2194 creates the group with the expected `default_branch_protection` value2195 feature_enabled: false, setting_enabled: false, default_branch_protection: 02196 behaves like creates the group with the expected `default_branch_protection` value2197 creates the group with the expected `default_branch_protection` value2198 authenticated a normal user2199 feature_enabled: false, setting_enabled: false, default_branch_protection: 02200 behaves like creates the group with the expected `default_branch_protection` value2201 creates the group with the expected `default_branch_protection` value2202 feature_enabled: false, setting_enabled: true, default_branch_protection: 02203 behaves like creates the group with the expected `default_branch_protection` value2204 creates the group with the expected `default_branch_protection` value2205 feature_enabled: true, setting_enabled: false, default_branch_protection: 22206 behaves like creates the group with the expected `default_branch_protection` value2207 creates the group with the expected `default_branch_protection` value2208 feature_enabled: false, setting_enabled: false, default_branch_protection: 02209 behaves like creates the group with the expected `default_branch_protection` value2210 creates the group with the expected `default_branch_protection` value2211 PUT #update2212 when max_pages_size param is specified2213 when user is an admin with admin mode enabled2214 updates max_pages_size2215 when user is an admin with admin mode disabled2216 does not update max_pages_size2217 when user is not an admin2218 does not update max_pages_size2219 when `max_personal_access_token_lifetime` is specified2220 without `personal_access_token_expiration_policy` licensed2221 does not update the attribute2222 doesn't call the update lifetime service2223 with personal_access_token_expiration_policy licensed2224 when `max_personal_access_token_lifetime` is updated to a non-null value2225 updates the attribute2226 executes the update lifetime service2227 when `max_personal_access_token_lifetime` is updated to null value2228 updates the attribute2229 doesn't call the update lifetime service2230 when `code_suggestions` is specified2231 with `ai_assist_ui_enabled` enabled2232 when enabling2233 allows the parameter2234 when disabling2235 allows the parameter2236 when group is a subgroup2237 does not allow changes to a subgroup2238 with `ai_assist_ui_enabled` disabled2239 does not allow the parameter2240 when `default_branch_protection` is specified2241 authenticated as admin2242 feature_enabled: false, setting_enabled: false, default_branch_protection: 02243 behaves like updates the attribute2244 updates the attribute2245 feature_enabled: false, setting_enabled: true, default_branch_protection: 02246 behaves like updates the attribute2247 updates the attribute2248 feature_enabled: true, setting_enabled: false, default_branch_protection: 02249 behaves like updates the attribute2250 updates the attribute2251 feature_enabled: false, setting_enabled: false, default_branch_protection: 02252 behaves like updates the attribute2253 updates the attribute2254 authenticated as group owner2255 feature_enabled: false, setting_enabled: false, default_branch_protection: 02256 behaves like updates the attribute2257 updates the attribute2258 feature_enabled: false, setting_enabled: true, default_branch_protection: 02259 behaves like updates the attribute2260 updates the attribute2261 feature_enabled: true, setting_enabled: false, default_branch_protection: 22262 behaves like updates the attribute2263 updates the attribute2264 feature_enabled: false, setting_enabled: false, default_branch_protection: 02265 behaves like updates the attribute2266 updates the attribute2267 when `delayed_project_removal` and `lock_delayed_project_removal` params are specified2268 when feature is available2269 behaves like does not allow storing of settings2270 does not allow storing of settings2271 when feature is not available2272 behaves like does not allow storing of settings2273 does not allow storing of settings2274 when service_access_tokens_expiration_enforced is specified2275 when authenticated as group owner2276 feature_enabled: false, service_access_tokens_expiration_enforced: false, result: true2277 behaves like updates the attribute if needed2278 updates the attribute2279 feature_enabled: false, service_access_tokens_expiration_enforced: true, result: true2280 behaves like updates the attribute if needed2281 updates the attribute2282 feature_enabled: true, service_access_tokens_expiration_enforced: false, result: false2283 behaves like updates the attribute if needed2284 updates the attribute2285 feature_enabled: true, service_access_tokens_expiration_enforced: true, result: true2286 behaves like updates the attribute if needed2287 updates the attribute2288 when `prevent_forking_outside_group` is specified2289 authenticated as group owner2290 feature_enabled: false, prevent_forking_outside_group: false, result: nil2291 behaves like updates the attribute if needed2292 updates the attribute2293 feature_enabled: false, prevent_forking_outside_group: true, result: nil2294 behaves like updates the attribute if needed2295 updates the attribute2296 feature_enabled: true, prevent_forking_outside_group: false, result: false2297 behaves like updates the attribute if needed2298 updates the attribute2299 feature_enabled: true, prevent_forking_outside_group: true, result: true2300 behaves like updates the attribute if needed2301 updates the attribute2302 when `new_user_signups_cap` is specified2303 authenticated as group owner2304 new_user_signups_cap: nil, result: nil, status: :found2305 behaves like updates the attribute2306 updates the attribute2307 new_user_signups_cap: 10, result: 10, status: :found2308 behaves like updates the attribute2309 updates the attribute2310 when group feature setting `wiki_access_level` is specified2311 updates the attribute2312 when group wiki licensed feature is not enabled for the group2313 does not update the attribute2314 when updating ip_restriction_ranges is specified2315 for users who have the usage_ping_features activated2316 updates the attribute2317 for users who don't have the usage_ping_features activated2318 does not update the attribute2319 when ai settings are specified2320 updates the attribute2321 when ai license features are not available for the group2322 does not update attributes2323 #ai_assist_ui_enabled?2324 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: group, check_namespace_plan: false, result: false2325 is expected to eq false2326 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: nil, check_namespace_plan: false, result: false2327 is expected to eq false2328 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: false, result: false2329 is expected to eq false2330 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: group, check_namespace_plan: true, result: false2331 is expected to eq false2332 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: nil, check_namespace_plan: true, result: false2333 is expected to eq false2334 feature_ai_assist_ui: false, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: true, result: false2335 is expected to eq false2336 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: group, check_namespace_plan: false, result: false2337 is expected to eq false2338 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: nil, check_namespace_plan: false, result: false2339 is expected to eq false2340 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: false, result: false2341 is expected to eq false2342 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: group, check_namespace_plan: true, result: false2343 is expected to eq false2344 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: nil, check_namespace_plan: true, result: false2345 is expected to eq false2346 feature_ai_assist_ui: true, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: true, result: false2347 is expected to eq false2348 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: group, check_namespace_plan: false, result: false2349 is expected to eq false2350 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: nil, check_namespace_plan: false, result: false2351 is expected to eq false2352 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: false, result: false2353 is expected to eq false2354 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: group, check_namespace_plan: true, result: true2355 is expected to eq true2356 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: nil, check_namespace_plan: true, result: false2357 is expected to eq false2358 feature_ai_assist_ui: true, ai_assist_flag: true, current_group: subgroup, check_namespace_plan: true, result: false2359 is expected to eq false2360 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: group, check_namespace_plan: false, result: false2361 is expected to eq false2362 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: nil, check_namespace_plan: false, result: false2363 is expected to eq false2364 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: false, result: false2365 is expected to eq false2366 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: group, check_namespace_plan: true, result: false2367 is expected to eq false2368 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: nil, check_namespace_plan: true, result: false2369 is expected to eq false2370 feature_ai_assist_ui: false, ai_assist_flag: false, current_group: subgroup, check_namespace_plan: true, result: false2371 is expected to eq false2372Projects::VulnerabilityFeedbackController2373 GET #count2374 @vulnerability_feedback2375 returns a successful 200 response2376 returns project feedbacks list2377 with filter params2378 returns project feedbacks list filtered on category2379 returns project feedbacks list filtered on feedback_type2380 returns project feedbacks list filtered on category and feedback_type2381 GET #index2382 @vulnerability_feedback2383 returns a successful 200 response2384 returns project feedbacks list2385 when pagination parameters are given2386 when page and per page are given2387 returns the desired quantity of vulnerability_feedbacks2388 when a following page is requested2389 returns the expected vulnerability_feedbacks per pagination2390 when just page is given2391 returns the default quantity of vulnerability_feedbacks2392 when just per_page is given2393 returns the desired quantity of vulnerability_feedbacks2394 returns the first page of vulnerability_feedbacks2395 when an invalid page is given2396 returns the desired quantity of vulnerability_feedbacks2397 returns the first page of vulnerability_feedbacks2398 when an invalid per_page is given2399 returns the default quantity of vulnerability_feedbacks2400 returns the first page of vulnerability_feedbacks2401 when the pipeline has been set to another project2402 does not present the pipeline2403 with filter params2404 returns project feedbacks list filtered on category2405 returns project feedbacks list filtered on feedback_type2406 returns project feedbacks list filtered on category and feedback_type2407 with unauthorized user for given project2408 returns a 404 response2409 POST #create2410 with valid params2411 behaves like vulnerability response2412 renders vulnerability serializer with vulnerability object2413 when id of a vulnerability is not provided2414 creates no vulnerability issue link for related vulnerability2415 when id of a vulnerability is provided2416 creates vulnerability issue link for related vulnerability2417 with invalid params2418 returns a forbidden 403 response when feedbback_type is nil2419 returns a forbidden 403 response when feedbback_type is invalid2420 with unauthorized user for feedback creation2421 for issue feedback2422 returns a forbidden 403 response2423 for merge_request feedback2424 returns a forbidden 403 response2425 for dismissal feedback2426 returns a forbidden 403 response2427 with unauthorized user for given project2428 returns a 404 response2429 with pipeline in another project2430 returns a 422 response2431 with nonexistent pipeline_id2432 returns a 422 response2433 with nil pipeline_id2434 behaves like vulnerability response2435 renders vulnerability serializer with vulnerability object2436 PATCH #update2437 with valid params2438 renders vulnerability serializer with vulnerability object2439 returns a successful 200 response2440 updates the comment attributes2441 with invalid params2442 returns a not found 404 response for invalid vulnerability feedback id2443 with unauthorized user for feedback update2444 returns a forbidden 403 response2445 with unauthorized user for given project2446 returns a 404 response2447 DELETE #destroy2448 with valid params2449 returns a successful 204 response2450 with invalid params2451 returns a not found 404 response for invalid vulnerability feedback id2452 with unauthorized user for feedback deletion2453 returns a forbidden 403 response2454 with unauthorized user for given project2455 returns a 404 response2456 for issue feedback2457 returns a forbidden 403 response2458 for merge_request feedback2459 returns a forbidden 403 response2460Projects::LicensesController2461 GET #index2462 when the "Security and Compliance" feature is disabled2463 is expected to respond with numeric status code not_found2464 with authorized user2465 when feature is available2466 with reporter2467 counts usage of the feature2468 when requesting HTML2469 returns the necessary licenses app data2470 behaves like tracks govern usage event2471 tracks unique event2472 with existing report2473 returns success code2474 returns a hash with licenses sorted by name2475 returns status ok2476 includes the pagination headers2477 with pagination params2478 return only 1 license2479 when software policies are applied to some of the most recently detected licenses2480 when loading all policies2481 is expected to respond with numeric status code ok2482 is expected to equal 42483 sorts by name by default2484 includes a policy for an unclassified and known license that was detected in the scan report2485 includes a policy for a denied license found in the scan report2486 includes a policy for an allowed license NOT found in the latest scan report2487 includes an entry for an unclassified and unknown license found in the scan report2488 when loading software policies that match licenses detected in the most recent license scan report2489 is expected to respond with numeric status code ok2490 only includes policies for licenses detected in the most recent scan report2491 includes an unclassified policy for a known license detected in the scan report2492 includes a classified license for a known license detected in the scan report2493 includes an unclassified and unknown license discovered in the scan report2494 when loading `allowed` software policies only2495 is expected to respond with numeric status code ok2496 is expected to equal 12497 includes only `allowed` policies2498 when loading `allowed` and `denied` software policies2499 is expected to respond with numeric status code ok2500 is expected to equal 22501 includes `denied` policies2502 includes `allowed` policies2503 when loading policies ordered by `classification` in `ascending` order2504 is expected to respond with numeric status code ok2505 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]2506 without existing license scanning report2507 returns status job_not_set_up2508 with maintainer2509 responds to an HTML request2510 behaves like tracks govern usage event2511 tracks unique event2512 when feature is not available2513 returns 4042514 behaves like doesn't track govern usage event2515 doesn't tracks event2516 with unauthorized user2517 returns 4042518 behaves like doesn't track govern usage event2519 doesn't tracks event2520Mutations::Geo::Registries::BulkUpdate2521 registry_class: Geo::LfsObjectRegistry (call 'Geo::LfsObjectRegistry.connection' to establish a connection), registry_type: Types::Geo::LfsObjectRegistryType, registry_factory: :geo_lfs_object_registry2522 is expected to require graphql authorizations :read_geo_registry2523 when geo licensed feature is not available2524 behaves like a mutation that returns a top-level access error2525 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"2526 when maintenance mode is enabled2527 behaves like a registries update action2528 when it is valid2529 is expected to include "LFS_OBJECT_REGISTRY"2530 when it is invalid2531 is expected to be nil2532 with resync_all action2533 behaves like a registries update action2534 when it is valid2535 is expected to include "LFS_OBJECT_REGISTRY"2536 when it is invalid2537 is expected to be nil2538 with reverify_all action2539 behaves like a registries update action2540 when it is valid2541 is expected to include "LFS_OBJECT_REGISTRY"2542 when it is invalid2543 is expected to be nil2544 registry_class: Geo::DependencyProxyManifestRegistry (call 'Geo::DependencyProxyManifestRegistry.connection' to establish a connection), registry_type: Types::Geo::DependencyProxyManifestRegistryType, registry_factory: :geo_dependency_proxy_manifest_registry2545 is expected to require graphql authorizations :read_geo_registry2546 when geo licensed feature is not available2547 behaves like a mutation that returns a top-level access error2548 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"2549 when maintenance mode is enabled2550 behaves like a registries update action2551 when it is valid2552 is expected to include "DEPENDENCY_PROXY_MANIFEST_REGISTRY"2553 when it is invalid2554 is expected to be nil2555 with resync_all action2556 behaves like a registries update action2557 when it is valid2558 is expected to include "DEPENDENCY_PROXY_MANIFEST_REGISTRY"2559 when it is invalid2560 is expected to be nil2561 with reverify_all action2562 behaves like a registries update action2563 when it is valid2564 is expected to include "DEPENDENCY_PROXY_MANIFEST_REGISTRY"2565 when it is invalid2566 is expected to be nil2567 registry_class: Geo::DependencyProxyBlobRegistry (call 'Geo::DependencyProxyBlobRegistry.connection' to establish a connection), registry_type: Types::Geo::DependencyProxyBlobRegistryType, registry_factory: :geo_dependency_proxy_blob_registry2568 is expected to require graphql authorizations :read_geo_registry2569 when geo licensed feature is not available2570 behaves like a mutation that returns a top-level access error2571 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"2572 when maintenance mode is enabled2573 behaves like a registries update action2574 when it is valid2575 is expected to include "DEPENDENCY_PROXY_BLOB_REGISTRY"2576 when it is invalid2577 is expected to be nil2578 with resync_all action2579 behaves like a registries update action2580 when it is valid2581 is expected to include "DEPENDENCY_PROXY_BLOB_REGISTRY"2582 when it is invalid2583 is expected to be nil2584 with reverify_all action2585 behaves like a registries update action2586 when it is valid2587 is expected to include "DEPENDENCY_PROXY_BLOB_REGISTRY"2588 when it is invalid2589 is expected to be nil2590 registry_class: Geo::UploadRegistry (call 'Geo::UploadRegistry.connection' to establish a connection), registry_type: Types::Geo::UploadRegistryType, registry_factory: :geo_upload_registry2591 is expected to require graphql authorizations :read_geo_registry2592 when geo licensed feature is not available2593 behaves like a mutation that returns a top-level access error2594 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"2595 when maintenance mode is enabled2596 behaves like a registries update action2597 when it is valid2598 is expected to include "UPLOAD_REGISTRY"2599 when it is invalid2600 is expected to be nil2601 with resync_all action2602 behaves like a registries update action2603 when it is valid2604 is expected to include "UPLOAD_REGISTRY"2605 when it is invalid2606 is expected to be nil2607 with reverify_all action2608 behaves like a registries update action2609 when it is valid2610 is expected to include "UPLOAD_REGISTRY"2611 when it is invalid2612 is expected to be nil2613 registry_class: Geo::GroupWikiRepositoryRegistry (call 'Geo::GroupWikiRepositoryRegistry.connection' to establish a connection), registry_type: Types::Geo::GroupWikiRepositoryRegistryType, registry_factory: :geo_group_wiki_repository_registry2614 is expected to require graphql authorizations :read_geo_registry2615 when geo licensed feature is not available2616 behaves like a mutation that returns a top-level access error2617 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"2618 when maintenance mode is enabled2619 behaves like a registries update action2620 when it is valid2621 is expected to include "GROUP_WIKI_REPOSITORY_REGISTRY"2622 when it is invalid2623 is expected to be nil2624 with resync_all action2625 behaves like a registries update action2626 when it is valid2627 is expected to include "GROUP_WIKI_REPOSITORY_REGISTRY"2628 when it is invalid2629 is expected to be nil2630 with reverify_all action2631 behaves like a registries update action2632 when it is valid2633 is expected to include "GROUP_WIKI_REPOSITORY_REGISTRY"2634 when it is invalid2635 is expected to be nil2636 registry_class: Geo::PackageFileRegistry (call 'Geo::PackageFileRegistry.connection' to establish a connection), registry_type: Types::Geo::PackageFileRegistryType, registry_factory: :geo_package_file_registry2637 is expected to require graphql authorizations :read_geo_registry2638 when geo licensed feature is not available2639 behaves like a mutation that returns a top-level access error2640 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"2641 when maintenance mode is enabled2642 behaves like a registries update action2643 when it is valid2644 is expected to include "PACKAGE_FILE_REGISTRY"2645 when it is invalid2646 is expected to be nil2647 with resync_all action2648 behaves like a registries update action2649 when it is valid2650 is expected to include "PACKAGE_FILE_REGISTRY"2651 when it is invalid2652 is expected to be nil2653 with reverify_all action2654 behaves like a registries update action2655 when it is valid2656 is expected to include "PACKAGE_FILE_REGISTRY"2657 when it is invalid2658 is expected to be nil2659 registry_class: Geo::JobArtifactRegistry (call 'Geo::JobArtifactRegistry.connection' to establish a connection), registry_type: Types::Geo::JobArtifactRegistryType, registry_factory: :geo_job_artifact_registry2660 is expected to require graphql authorizations :read_geo_registry2661 when geo licensed feature is not available2662 behaves like a mutation that returns a top-level access error2663 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"2664 when maintenance mode is enabled2665 behaves like a registries update action2666 when it is valid2667 is expected to include "JOB_ARTIFACT_REGISTRY"2668 when it is invalid2669 is expected to be nil2670 with resync_all action2671 behaves like a registries update action2672 when it is valid2673 is expected to include "JOB_ARTIFACT_REGISTRY"2674 when it is invalid2675 is expected to be nil2676 with reverify_all action2677 behaves like a registries update action2678 when it is valid2679 is expected to include "JOB_ARTIFACT_REGISTRY"2680 when it is invalid2681 is expected to be nil2682 registry_class: Geo::PipelineArtifactRegistry (call 'Geo::PipelineArtifactRegistry.connection' to establish a connection), registry_type: Types::Geo::PipelineArtifactRegistryType, registry_factory: :geo_pipeline_artifact_registry2683 is expected to require graphql authorizations :read_geo_registry2684 when geo licensed feature is not available2685 behaves like a mutation that returns a top-level access error2686 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"2687 when maintenance mode is enabled2688 behaves like a registries update action2689 when it is valid2690 is expected to include "PIPELINE_ARTIFACT_REGISTRY"2691 when it is invalid2692 is expected to be nil2693 with resync_all action2694 behaves like a registries update action2695 when it is valid2696 is expected to include "PIPELINE_ARTIFACT_REGISTRY"2697 when it is invalid2698 is expected to be nil2699 with reverify_all action2700 behaves like a registries update action2701 when it is valid2702 is expected to include "PIPELINE_ARTIFACT_REGISTRY"2703 when it is invalid2704 is expected to be nil2705 registry_class: Geo::ProjectWikiRepositoryRegistry (call 'Geo::ProjectWikiRepositoryRegistry.connection' to establish a connection), registry_type: Types::Geo::ProjectWikiRepositoryRegistryType, registry_factory: :geo_project_wiki_repository_registry2706 is expected to require graphql authorizations :read_geo_registry2707 when geo licensed feature is not available2708 behaves like a mutation that returns a top-level access error2709 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"2710 when maintenance mode is enabled2711 behaves like a registries update action2712 when it is valid2713 is expected to include "PROJECT_WIKI_REPOSITORY_REGISTRY"2714 when it is invalid2715 is expected to be nil2716 with resync_all action2717 behaves like a registries update action2718 when it is valid2719 is expected to include "PROJECT_WIKI_REPOSITORY_REGISTRY"2720 when it is invalid2721 is expected to be nil2722 with reverify_all action2723 behaves like a registries update action2724 when it is valid2725 is expected to include "PROJECT_WIKI_REPOSITORY_REGISTRY"2726 when it is invalid2727 is expected to be nil2728 registry_class: Geo::ContainerRepositoryRegistry (call 'Geo::ContainerRepositoryRegistry.connection' to establish a connection), registry_type: Types::Geo::ContainerRepositoryRegistryType, registry_factory: :geo_container_repository_registry2729 is expected to require graphql authorizations :read_geo_registry2730 when geo licensed feature is not available2731 behaves like a mutation that returns a top-level access error2732 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"2733 when maintenance mode is enabled2734 behaves like a registries update action2735 when it is valid2736 is expected to include "CONTAINER_REPOSITORY_REGISTRY"2737 when it is invalid2738 is expected to be nil2739 with resync_all action2740 behaves like a registries update action2741 when it is valid2742 is expected to include "CONTAINER_REPOSITORY_REGISTRY"2743 when it is invalid2744 is expected to be nil2745 with reverify_all action2746 behaves like a registries update action2747 when it is valid2748 is expected to include "CONTAINER_REPOSITORY_REGISTRY"2749 when it is invalid2750 is expected to be nil2751 registry_class: Geo::MergeRequestDiffRegistry (call 'Geo::MergeRequestDiffRegistry.connection' to establish a connection), registry_type: Types::Geo::MergeRequestDiffRegistryType, registry_factory: :geo_merge_request_diff_registry2752 is expected to require graphql authorizations :read_geo_registry2753 when geo licensed feature is not available2754 behaves like a mutation that returns a top-level access error2755 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"2756 when maintenance mode is enabled2757 behaves like a registries update action2758 when it is valid2759 is expected to include "MERGE_REQUEST_DIFF_REGISTRY"2760 when it is invalid2761 is expected to be nil2762 with resync_all action2763 behaves like a registries update action2764 when it is valid2765 is expected to include "MERGE_REQUEST_DIFF_REGISTRY"2766 when it is invalid2767 is expected to be nil2768 with reverify_all action2769 behaves like a registries update action2770 when it is valid2771 is expected to include "MERGE_REQUEST_DIFF_REGISTRY"2772 when it is invalid2773 is expected to be nil2774 registry_class: Geo::TerraformStateVersionRegistry (call 'Geo::TerraformStateVersionRegistry.connection' to establish a connection), registry_type: Types::Geo::TerraformStateVersionRegistryType, registry_factory: :geo_terraform_state_version_registry2775 is expected to require graphql authorizations :read_geo_registry2776 when geo licensed feature is not available2777 behaves like a mutation that returns a top-level access error2778 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"2779 when maintenance mode is enabled2780 behaves like a registries update action2781 when it is valid2782 is expected to include "TERRAFORM_STATE_VERSION_REGISTRY"2783 when it is invalid2784 is expected to be nil2785 with resync_all action2786 behaves like a registries update action2787 when it is valid2788 is expected to include "TERRAFORM_STATE_VERSION_REGISTRY"2789 when it is invalid2790 is expected to be nil2791 with reverify_all action2792 behaves like a registries update action2793 when it is valid2794 is expected to include "TERRAFORM_STATE_VERSION_REGISTRY"2795 when it is invalid2796 is expected to be nil2797 registry_class: Geo::CiSecureFileRegistry (call 'Geo::CiSecureFileRegistry.connection' to establish a connection), registry_type: Types::Geo::CiSecureFileRegistryType, registry_factory: :geo_ci_secure_file_registry2798 is expected to require graphql authorizations :read_geo_registry2799 when geo licensed feature is not available2800 behaves like a mutation that returns a top-level access error2801 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"2802 when maintenance mode is enabled2803 behaves like a registries update action2804 when it is valid2805 is expected to include "CI_SECURE_FILE_REGISTRY"2806 when it is invalid2807 is expected to be nil2808 with resync_all action2809 behaves like a registries update action2810 when it is valid2811 is expected to include "CI_SECURE_FILE_REGISTRY"2812 when it is invalid2813 is expected to be nil2814 with reverify_all action2815 behaves like a registries update action2816 when it is valid2817 is expected to include "CI_SECURE_FILE_REGISTRY"2818 when it is invalid2819 is expected to be nil2820 registry_class: Geo::SnippetRepositoryRegistry (call 'Geo::SnippetRepositoryRegistry.connection' to establish a connection), registry_type: Types::Geo::SnippetRepositoryRegistryType, registry_factory: :geo_snippet_repository_registry2821 is expected to require graphql authorizations :read_geo_registry2822 when geo licensed feature is not available2823 behaves like a mutation that returns a top-level access error2824 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"2825 when maintenance mode is enabled2826 behaves like a registries update action2827 when it is valid2828 is expected to include "SNIPPET_REPOSITORY_REGISTRY"2829 when it is invalid2830 is expected to be nil2831 with resync_all action2832 behaves like a registries update action2833 when it is valid2834 is expected to include "SNIPPET_REPOSITORY_REGISTRY"2835 when it is invalid2836 is expected to be nil2837 with reverify_all action2838 behaves like a registries update action2839 when it is valid2840 is expected to include "SNIPPET_REPOSITORY_REGISTRY"2841 when it is invalid2842 is expected to be nil2843 registry_class: Geo::DesignManagementRepositoryRegistry (call 'Geo::DesignManagementRepositoryRegistry.connection' to establish a connection), registry_type: Types::Geo::DesignManagementRepositoryRegistryType, registry_factory: :geo_design_management_repository_registry2844 is expected to require graphql authorizations :read_geo_registry2845 when geo licensed feature is not available2846 behaves like a mutation that returns a top-level access error2847 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"2848 when maintenance mode is enabled2849 behaves like a registries update action2850 when it is valid2851 is expected to include "DESIGN_MANAGEMENT_REPOSITORY_REGISTRY"2852 when it is invalid2853 is expected to be nil2854 with resync_all action2855 behaves like a registries update action2856 when it is valid2857 is expected to include "DESIGN_MANAGEMENT_REPOSITORY_REGISTRY"2858 when it is invalid2859 is expected to be nil2860 with reverify_all action2861 behaves like a registries update action2862 when it is valid2863 is expected to include "DESIGN_MANAGEMENT_REPOSITORY_REGISTRY"2864 when it is invalid2865 is expected to be nil2866 registry_class: Geo::PagesDeploymentRegistry (call 'Geo::PagesDeploymentRegistry.connection' to establish a connection), registry_type: Types::Geo::PagesDeploymentRegistryType, registry_factory: :geo_pages_deployment_registry2867 is expected to require graphql authorizations :read_geo_registry2868 when geo licensed feature is not available2869 behaves like a mutation that returns a top-level access error2870 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"2871 when maintenance mode is enabled2872 behaves like a registries update action2873 when it is valid2874 is expected to include "PAGES_DEPLOYMENT_REGISTRY"2875 when it is invalid2876 is expected to be nil2877 with resync_all action2878 behaves like a registries update action2879 when it is valid2880 is expected to include "PAGES_DEPLOYMENT_REGISTRY"2881 when it is invalid2882 is expected to be nil2883 with reverify_all action2884 behaves like a registries update action2885 when it is valid2886 is expected to include "PAGES_DEPLOYMENT_REGISTRY"2887 when it is invalid2888 is expected to be nil2889Groups::EpicIssuesController2890 GET #index2891 behaves like unlicensed epics action2892 returns 403 status2893 when epics feature is enabled2894 when user has access to epic2895 returns status 2002896 returns the correct json2897 when user does not have access to epic2898 returns 404 status2899 POST #create2900 behaves like unlicensed epics action2901 returns 403 status2902 when epics feature is enabled2903 when user has permissions to create requested association2904 returns correct response for the correct issue reference2905 creates a new EpicIssue record2906 when user does not have permissions to create requested association2907 returns correct response for the correct issue reference2908 does not create a new EpicIssue record2909 DELETE #destroy2910 behaves like unlicensed epics action2911 returns 403 status2912 when epics feature is enabled2913 when user has permissions to delete the link2914 returns status 2002915 destroys the link2916 when user does not have permissions to delete the link2917 returns status 4032918 does not destroy the link2919 when the epic from the association does not equal epic from the path2920 returns status 4042921 does not destroy the link2922 when the epic_issue record does not exists2923 returns status 4042924 PUT #update2925 behaves like unlicensed epics action2926 returns 403 status2927 when epics feature is enabled2928 when user has permissions to admin the epic2929 returns status 2002930 updates the issue position value2931 when user does not have permissions to admin the epic2932 returns status 4032933 when the epic from the association does not equal epic from the path2934 returns status 4042935 when the epic_issue record does not exists2936 returns status 4042937Groups::Analytics::CycleAnalytics::StagesController2938 behaves like Value Stream Analytics Stages controller2939 GET #index2940 succeeds2941 returns correct start events2942 does not include internal events2943 succeeds for subgroups2944 renders `forbidden` based on the response of the service object2945 when `group_id` is not found2946 renders `not_found` when group is missing2947 when user has no lower access level than `reporter`2948 renders `forbidden` response2949 when feature is not available for the group2950 renders `forbidden` response2951 data endpoints2952 GET #median2953 matches the response schema2954 when valid parameters are given2955 succeeds2956 accepts optional `project_ids` array2957 succeeds2958 when `created_before` is missing2959 succeeds2960 when `created_after` is missing2961 succeeds2962 when `created_after` is invalid, falls back to default date2963 is expected to respond with numeric status code success2964 when `created_before` is invalid2965 renders `unprocessable_entity`2966 when `created_after` is later than `created_before`2967 renders `unprocessable_entity`2968 when the date range exceeds 180 days2969 renders `unprocessable_entity`2970 GET #average2971 matches the response schema2972 when valid parameters are given2973 succeeds2974 accepts optional `project_ids` array2975 succeeds2976 when `created_before` is missing2977 succeeds2978 when `created_after` is missing2979 succeeds2980 when `created_after` is invalid, falls back to default date2981 is expected to respond with numeric status code success2982 when `created_before` is invalid2983 renders `unprocessable_entity`2984 when `created_after` is later than `created_before`2985 renders `unprocessable_entity`2986 when the date range exceeds 180 days2987 renders `unprocessable_entity`2988 GET #records2989 when valid parameters are given2990 succeeds2991 accepts optional `project_ids` array2992 succeeds2993 when `created_before` is missing2994 succeeds2995 when `created_after` is missing2996 succeeds2997 when `created_after` is invalid, falls back to default date2998 is expected to respond with numeric status code success2999 when `created_before` is invalid3000 renders `unprocessable_entity`3001 when `created_after` is later than `created_before`3002 renders `unprocessable_entity`3003 when the date range exceeds 180 days3004 renders `unprocessable_entity`3005 when `group_id` is not found3006 renders `not_found` when group is missing3007 when user has no lower access level than `reporter`3008 renders `forbidden` response3009 when feature is not available for the group3010 renders `forbidden` response3011 sort params3012 accepts sort params3013 pagination3014 exposes pagination headers3015 GET #average_duration_chart3016 matches the response schema3017 fills all dates between the given range3018 when valid parameters are given3019 succeeds3020 accepts optional `project_ids` array3021 succeeds3022 when `created_before` is missing3023 succeeds3024 when `created_after` is missing3025 succeeds3026 when `created_after` is invalid, falls back to default date3027 is expected to respond with numeric status code success3028 when `created_before` is invalid3029 renders `unprocessable_entity`3030 when `created_after` is later than `created_before`3031 renders `unprocessable_entity`3032 when the date range exceeds 180 days3033 renders `unprocessable_entity`3034 when `group_id` is not found3035 renders `not_found` when group is missing3036 when user has no lower access level than `reporter`3037 renders `forbidden` response3038 when feature is not available for the group3039 renders `forbidden` response3040 GET #count3041 matches the response schema3042 when valid parameters are given3043 succeeds3044 accepts optional `project_ids` array3045 succeeds3046 when `created_before` is missing3047 succeeds3048 when `created_after` is missing3049 succeeds3050 when `created_after` is invalid, falls back to default date3051 is expected to respond with numeric status code success3052 when `created_before` is invalid3053 renders `unprocessable_entity`3054 when `created_after` is later than `created_before`3055 renders `unprocessable_entity`3056 when the date range exceeds 180 days3057 renders `unprocessable_entity`3058 when `group_id` is not found3059 renders `not_found` when group is missing3060 when user has no lower access level than `reporter`3061 renders `forbidden` response3062 when feature is not available for the group3063 renders `forbidden` response3064Projects::ClustersController3065 behaves like cluster metrics3066 GET #metrics3067 functionality3068 can query Prometheus3069 queries cluster metrics3070 when response has content3071 returns prometheus query response3072 when response has no content3073 returns prometheus query response3074 without Prometheus3075 returns not found3076 cannot query Prometheus3077 returns not found3078 security3079 is allowed for admin when admin mode enabled3080 is denied for admin when admin mode disabled3081 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2043082 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2043083 is expected to be denied for developer. Expected: 401,404 Got: 4043084 is expected to be denied for reporter. Expected: 401,404 Got: 4043085 is expected to be denied for guest. Expected: 401,404 Got: 4043086 is expected to be denied for user. Expected: 401,404 Got: 4043087 is expected to be denied for external. Expected: 401,404 Got: 4043088Projects::Settings::OperationsController3089 GET show3090 with a license3091 with maintainer role3092 behaves like user with read access3093 renders ok3094 behaves like user with read access3095 renders ok3096 behaves like user with read access3097 renders ok3098 without maintainer role3099 behaves like user without read access3100 returns 4043101 behaves like user without read access3102 returns 4043103 behaves like user without read access3104 returns 4043105 behaves like user without read access3106 returns 4043107 behaves like user without read access3108 returns 4043109 behaves like user without read access3110 returns 4043111 behaves like user without read access3112 returns 4043113 behaves like user without read access3114 returns 4043115 behaves like user without read access3116 returns 4043117 when user not logged in3118 behaves like user without read access3119 returns 4043120 behaves like user needs to login3121 redirects for private project3122 behaves like user needs to login3123 redirects for private project3124 without license3125 behaves like user with read access3126 renders ok3127 behaves like user with read access3128 renders ok3129 behaves like user with read access3130 renders ok3131 PATCH update3132 with a license3133 with non maintainer roles3134 with guest role3135 behaves like user without write access3136 does not create status_page_setting3137 behaves like user without write access3138 does not create status_page_setting3139 behaves like user without write access3140 does not create status_page_setting3141 with reporter role3142 behaves like user without write access3143 does not create status_page_setting3144 behaves like user without write access3145 does not create status_page_setting3146 behaves like user without write access3147 does not create status_page_setting3148 with developer role3149 behaves like user without write access3150 does not create status_page_setting3151 behaves like user without write access3152 does not create status_page_setting3153 behaves like user without write access3154 does not create status_page_setting3155 with anonymous user3156 behaves like user without write access3157 does not create status_page_setting3158 behaves like user without write access3159 does not create status_page_setting3160 behaves like user without write access3161 does not create status_page_setting3162 without existing status page setting3163 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: )3164 with existing status page setting3165 updates the fields3166 respects the model validations3167 deletes the setting if keys removed3168 indident management settings3169 enabled through license3170 behaves like enabled sla settings3171 without existing incident management setting3172 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: )3173 behaves like can set the sla timer settings3174 updates the sla settings3175 with existing incident management setting3176 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: )3177 behaves like can set the sla timer settings3178 updates the sla settings3179 enabled through usage ping features3180 behaves like enabled sla settings3181 without existing incident management setting3182 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: )3183 behaves like can set the sla timer settings3184 updates the sla settings3185 with existing incident management setting3186 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: )3187 behaves like can set the sla timer settings3188 updates the sla settings3189 without a license3190 cannot update sla timer settings3191 behaves like user without write access3192 does not create status_page_setting3193 behaves like user without write access3194 does not create status_page_setting3195 behaves like user without write access3196 does not create status_page_setting3197Projects::Security::VulnerabilitiesController3198 GET #new3199 checks if the user can create a vulnerability3200 behaves like security and compliance feature3201 when security and compliance disabled3202 when user has role that enables sufficient access3203 is expected to respond with numeric status code not_found3204 when user does not have role that enables sufficient access3205 is expected to respond with numeric status code not_found3206 behaves like doesn't track govern usage event3207 doesn't tracks event3208 when security and compliance enabled3209 when user has role that enables sufficient access3210 is expected not to respond with numeric status code not_found3211 when user does not have role that enables sufficient access3212 is expected to respond with numeric status code not_found3213 when user can admin vulnerability3214 renders the add new finding page3215 when user can not admin vulnerability3216 renders 404 page not found3217 GET #show3218 behaves like security and compliance feature3219 when security and compliance disabled3220 when user has role that enables sufficient access3221 is expected to respond with numeric status code not_found3222 when user does not have role that enables sufficient access3223 is expected to respond with numeric status code not_found3224 behaves like doesn't track govern usage event3225 doesn't tracks event3226 when security and compliance enabled3227 when user has role that enables sufficient access3228 is expected not to respond with numeric status code not_found3229 when user does not have role that enables sufficient access3230 is expected to respond with numeric status code not_found3231 when there's an attached pipeline3232 renders the vulnerability page3233 renders the vulnerability component3234 behaves like tracks govern usage event3235 tracks unique event3236 when there's no attached pipeline3237 renders the vulnerability page3238 behaves like tracks govern usage event3239 tracks unique event3240 GET #discussions3241 renders discussions3242 behaves like security and compliance feature3243 when security and compliance disabled3244 when user has role that enables sufficient access3245 is expected to respond with numeric status code not_found3246 when user does not have role that enables sufficient access3247 is expected to respond with numeric status code not_found3248 behaves like doesn't track govern usage event3249 doesn't tracks event3250 when security and compliance enabled3251 when user has role that enables sufficient access3252 is expected not to respond with numeric status code not_found3253 when user does not have role that enables sufficient access3254 is expected to respond with numeric status code not_found3255API::GroupBoards3256 behaves like group and project boards3257 avoids N+1 queries3258 GET /groups/:id/boards3259 when unauthenticated3260 returns authentication error3261 when authenticated3262 returns the issue boards3263 GET /groups/:id/boards/:board_id3264 get a single board by id3265 PUT /groups/:id/boards/:board_id3266 updates the board name3267 updates the issue board booleans3268 GET /groups/:id/boards/:board_id/lists3269 returns issue board lists3270 returns 404 if board not found3271 GET /groups/:id/boards/:board_id/lists/:list_id3272 returns a list3273 returns 404 if list not found3274 POST /groups/:id/boards/lists3275 creates a new issue board list for labels3276 returns 400 when creating a new list if label_id is invalid3277 returns 403 for members with guest role3278 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position3279 updates a list3280 returns 404 error if list id not found3281 returns 403 for members with guest role3282 DELETE /groups/:id/boards/lists/:list_id3283 rejects a non member from deleting a list3284 rejects a user with guest role from deleting a list3285 returns 404 error if list id not found3286 when the user is parent owner3287 deletes the list if an admin requests it3288 behaves like 412 response3289 for a modified resource3290 returns 412 with a JSON error3291 for an unmodified resource3292 returns 204 with an empty body3293 behaves like multiple and scoped issue boards3294 multiple issue boards3295 POST /groups/:id/boards3296 creates a board3297 PUT /groups/:id/boards/:board_id3298 updates a board3299 does not remove missing attributes from the board3300 allows removing optional attributes3301 DELETE /groups/:id/boards/:board_id3302 deletes a board3303 with the scoped_issue_board-feature available3304 returns the milestone when the `scoped_issue_board` feature is enabled3305 hides the milestone when the `scoped_issue_board` feature is disabled3306 POST /groups/:id/boards/:board_id/lists3307 behaves like milestone board list3308 when milestone_id is sent3309 returns 400 if milestone is not found3310 returns 400 if milestone list feature is not available3311 creates a milestone list if milestone is found3312 behaves like assignee board list3313 when assignee_id is sent3314 returns 400 if user is not found3315 returns 400 if assignee list feature is not available3316 creates an assignee list if user is found3317 behaves like iteration board list3318 when iteration_id is sent3319 returns 400 if iteration is not found3320 returns 400 if not licensed3321 creates an iteration list if iteration is found3322Query.work_item(id)3323 when the user can read the work item3324 when querying widgets3325 iteration widget3326 when iterations feature is licensed3327 returns widget information3328 when iteration feature is unlicensed3329 returns without iteration3330 progress widget3331 when okrs feature is licensed3332 returns widget information3333 when okrs feature is unlicensed3334 returns without progress3335 weight widget3336 when issuable weights is licensed3337 returns widget information3338 when issuable weights is unlicensed3339 returns without weight3340 status widget3341 when requirements is licensed3342 when latest test report status is satisfied3343 behaves like response with status information3344 returns correct data3345 when latest test report status is failed3346 behaves like response with status information3347 returns correct data3348 with no test report3349 behaves like response with status information3350 returns correct data3351 when requirements is unlicensed3352 returns no status information3353 test reports widget3354 when requirements is licensed3355 returns correct widget data3356 when requirements is not licensed3357 returns empty widget data3358 labels widget3359 has_scoped_labels_license: true3360 returns widget information3361 has_scoped_labels_license: false3362 returns widget information3363 legacy requirement widget3364 when requirements is licensed3365 returns correct data3366 when requirements is unlicensed3367 returns no legacy requirement information3368 notes widget3369 fetches notes that require gitaly call to parse note3370 when fetching description version diffs3371 behaves like description change diff3372 returns previous description change diff3373 with passed description version id3374 behaves like description change diff3375 returns previous description change diff3376 with description_diffs disabled3377 behaves like description change diff3378 returns previous description change diff3379 with description_diffs enabled3380 behaves like description change diff3381 returns previous description change diff3382 linked items widget3383 when request is successful3384 avoids N+1 queries3385 filter_type: "RELATED", item: related_item, link: link1, expected: "relates_to"3386 returns widget information3387 filter_type: "BLOCKS", item: blocked_item, link: link2, expected: "blocks"3388 returns widget information3389 filter_type: "BLOCKED_BY", item: blocking_item, link: link3, expected: "is_blocked_by"3390 returns widget information3391 when work item belongs to a group3392 returns widget information3393 when `linked_work_items` feature flag is disabled3394 returns null fields3395 hierarchy widget3396 returns widget information3397 avoids N+1 queries3398 when user does not have access to an ancestor3399 truncates ancestors up to the last visible one3400 when querying work item type information3401 returns work item type information3402Admin::ClustersController3403 behaves like cluster metrics3404 GET #metrics3405 functionality3406 can query Prometheus3407 queries cluster metrics3408 when response has content3409 returns prometheus query response3410 when response has no content3411 returns prometheus query response3412 without Prometheus3413 returns not found3414 cannot query Prometheus3415 returns not found3416 GET environments3417 functionality3418 responds successfully3419 security3420 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003421 is expected to be denied for user. Expected: 401,404 Got: 4043422 is expected to be denied for external. Expected: 401,404 Got: 4043423 GET show3424 expires etag cache to force reload environments list3425Groups::Security::CredentialsController3426 GET #index3427 when `credentials_inventory` feature is enabled3428 for a group that enforces group managed accounts3429 for a user with access to view credentials inventory3430 responds with 2003431 filtering by type of credential3432 no credential type specified3433 behaves like filtering by `personal_access_tokens`3434 is expected to contain exactly #<PersonalAccessToken id: 779, user_id: 1592, name: "PAT 779", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 780, user_id: 1591, name: "PAT 780", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 781, user_id: 1592, name: "PAT 781", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>3435 non-existent credential type specified3436 behaves like filtering by `personal_access_tokens`3437 is expected to contain exactly #<PersonalAccessToken id: 779, user_id: 1592, name: "PAT 779", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 782, user_id: 1591, name: "PAT 782", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 783, user_id: 1592, name: "PAT 783", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>3438 credential type specified as `personal_access_tokens`3439 behaves like filtering by `personal_access_tokens`3440 is expected to contain exactly #<PersonalAccessToken id: 779, user_id: 1592, name: "PAT 779", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 784, user_id: 1591, name: "PAT 784", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 785, user_id: 1592, name: "PAT 785", revoked: false, expires_at: "2023-12-2...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>3441 user scope3442 does not show the credentials of a user outside the group3443 credential type specified as `ssh_keys`3444 filters by ssh keys3445 for a user without access to view credentials inventory3446 responds with 4043447 for a group that does not enforce group managed accounts3448 responds with 4043449 when `credentials_inventory` feature is disabled3450 returns 4043451 DELETE #destroy3452 behaves like credentials inventory delete SSH key3453 admin user3454 when `credentials_inventory` feature is enabled3455 and the ssh_key exists3456 and it removes the key3457 renders a success message3458 notifies the key owner3459 and it fails to remove the key3460 renders a failure message3461 and the ssh_key does not exist3462 renders a not found message3463 when `credentials_inventory` feature is disabled3464 returns 4043465 non-admin user3466 returns 4043467 PUT #revoke3468 when `credentials_inventory` feature is enabled3469 for a group that enforces group managed accounts3470 for a user with access to view credentials inventory3471 non-existent personal access token specified3472 behaves like responds with 4043473 is expected to respond with numeric status code not_found3474 with an existing personal access token3475 personal access token is already revoked3476 behaves like displays the flash success message3477 is expected to start with "Revoked personal access token "3478 personal access token is already expired3479 behaves like displays the flash success message3480 is expected to start with "Revoked personal access token "3481 does not have permissions to revoke the credential3482 behaves like responds with 4043483 is expected to respond with numeric status code not_found3484 personal access token is already revoked3485 behaves like displays the flash success message3486 is expected to start with "Revoked personal access token "3487 personal access token is already expired3488 behaves like displays the flash success message3489 is expected to start with "Revoked personal access token "3490 personal access token is not revoked or expired3491 informs the token owner3492 behaves like displays the flash success message3493 is expected to start with "Revoked personal access token "3494 for a user without access to view credentials inventory3495 behaves like responds with 4043496 is expected to respond with numeric status code not_found3497 for a group that does not enforce group managed accounts3498 responds with 4043499 when `credentials_inventory` feature is disabled3500 behaves like responds with 4043501 is expected to respond with numeric status code not_found3502Groups::Analytics::DashboardsController3503 GET value_streams_dashboard3504 when user is not logged in3505 redirects the user to the login page3506 when user is not authorized3507 behaves like forbidden response3508 returns forbidden response3509 when user is logged in3510 when the license is not available3511 behaves like forbidden response3512 returns forbidden response3513 when the license is available3514 succeeds3515 when group_analytics_dashboard_dynamic_vsd feature flag is enabled3516 behaves like shared analytics value streams dashboard3517 passes pointer_project if it has been configured3518 loads the available visualizations3519 does not pass pointer_project if the configured project is missing3520 does not pass pointer_project if it was not configured3521 when project_id outside of the group hierarchy was set3522 does not pass the project pointer3523 when group_analytics_dashboard_dynamic_vsd feature flag is disabled3524 passes pointer_project if it has been configured3525 does not pass pointer_project if the configured project is missing3526 does not pass pointer_project if it was not configured3527 behaves like built in value streams dashboard3528 accepts a `query` params3529 returns projects in a subgroup3530 when project_id outside of the group hierarchy was set3531 does not pass the project pointer3532 when group_analytics_dashboards is disabled3533 tracks page view on usage ping3534 GET index3535 when user is not logged in3536 redirects the user to the login page3537 when user is logged in3538 when the license is not available3539 behaves like forbidden response3540 returns forbidden response3541 when the license is available3542 succeeds3543 when group_analytics_dashboards is disabled3544 redirects to value stream dashboards3545 when group_analytics_dashboard_dynamic_vsd feature flag is disabled3546 behaves like built in value streams dashboard3547 accepts a `query` params3548 returns projects in a subgroup3549 when group_analytics_dashboard_dynamic_vsd feature flag is enabled3550 behaves like shared analytics value streams dashboard3551 passes pointer_project if it has been configured3552 loads the available visualizations3553 does not pass pointer_project if the configured project is missing3554 does not pass pointer_project if it was not configured3555 when project_id outside of the group hierarchy was set3556 does not pass the project pointer3557Groups::Analytics::DashboardsController3558 behaves like Snowplow event tracking with RedisHLL context3559 behaves like Snowplow event tracking3560 is emitted3561 behaves like tracking unique visits3562 tracks unique visit if the format is HTML3563 tracks unique visit if DNT is not enabled3564 does not track unique visit if DNT is enabled3565 does not track unique visit if the format is JSON3566Groups::Analytics::TasksByTypeController3567 GET #show3568 when valid parameters are given3569 succeeds3570 returns valid count3571 when `label_names` are missing3572 behaves like expects unprocessable_entity response3573 returns unprocessable_entity as response3574 behaves like parameter validation3575 when user access level is lower than reporter3576 returns forbidden as response3577 when license is missing3578 returns forbidden as response3579 when `created_after` parameter is invalid3580 behaves like expects unprocessable_entity response3581 returns unprocessable_entity as response3582 when `created_after` parameter is missing3583 behaves like expects unprocessable_entity response3584 returns unprocessable_entity as response3585 when `created_after` date is later than `created_before` date3586 behaves like expects unprocessable_entity response3587 returns unprocessable_entity as response3588 GET #top_labels3589 when valid parameters are given3590 succeeds3591 returns valid count3592 behaves like parameter validation3593 when user access level is lower than reporter3594 returns forbidden as response3595 when license is missing3596 returns forbidden as response3597 when `created_after` parameter is invalid3598 behaves like expects unprocessable_entity response3599 returns unprocessable_entity as response3600 when `created_after` parameter is missing3601 behaves like expects unprocessable_entity response3602 returns unprocessable_entity as response3603 when `created_after` date is later than `created_before` date3604 behaves like expects unprocessable_entity response3605 returns unprocessable_entity as response3606API::MergeRequestApprovalSettings3607 GET /groups/:id/merge_request_approval_settings3608 when the user is authorised3609 matches the response schema3610 allow_author_approval values3611 behaves like resolvable3612 instance_prevents_approval: true, group_allows_approval: true, value: false, locked: true, inherited_from: "instance"3613 has the correct value3614 has the correct locked status3615 has the correct inheritance3616 instance_prevents_approval: true, group_allows_approval: false, value: false, locked: true, inherited_from: "instance"3617 has the correct value3618 has the correct locked status3619 has the correct inheritance3620 instance_prevents_approval: false, group_allows_approval: true, value: true, locked: false, inherited_from: nil3621 has the correct value3622 has the correct locked status3623 has the correct inheritance3624 instance_prevents_approval: false, group_allows_approval: false, value: false, locked: false, inherited_from: nil3625 has the correct value3626 has the correct locked status3627 has the correct inheritance3628 allow_committer_approval values3629 behaves like resolvable3630 instance_prevents_approval: true, group_allows_approval: true, value: false, locked: true, inherited_from: "instance"3631 has the correct value3632 has the correct locked status3633 has the correct inheritance3634 instance_prevents_approval: true, group_allows_approval: false, value: false, locked: true, inherited_from: "instance"3635 has the correct value3636 has the correct locked status3637 has the correct inheritance3638 instance_prevents_approval: false, group_allows_approval: true, value: true, locked: false, inherited_from: nil3639 has the correct value3640 has the correct locked status3641 has the correct inheritance3642 instance_prevents_approval: false, group_allows_approval: false, value: false, locked: false, inherited_from: nil3643 has the correct value3644 has the correct locked status3645 has the correct inheritance3646 allow_overrides_to_approver_list_per_merge_request values3647 behaves like resolvable3648 instance_prevents_approval: true, group_allows_approval: true, value: false, locked: true, inherited_from: "instance"3649 has the correct value3650 has the correct locked status3651 has the correct inheritance3652 instance_prevents_approval: true, group_allows_approval: false, value: false, locked: true, inherited_from: "instance"3653 has the correct value3654 has the correct locked status3655 has the correct inheritance3656 instance_prevents_approval: false, group_allows_approval: true, value: true, locked: false, inherited_from: nil3657 has the correct value3658 has the correct locked status3659 has the correct inheritance3660 instance_prevents_approval: false, group_allows_approval: false, value: false, locked: false, inherited_from: nil3661 has the correct value3662 has the correct locked status3663 has the correct inheritance3664 when the group does not have existing settings3665 returns in-memory default settings3666 when the user is not authorised3667 returns 403 status3668 PUT /groups/:id/merge_request_approval_setting3669 when the user is authorised3670 returns 200 status with correct response body3671 matches the response schema3672 when update fails3673 returns 400 status3674 when invalid params3675 returns 400 status with error message3676 when the user is not authorised3677 returns 403 status3678 GET /projects/:id/merge_request_approval_settings3679 matches the response schema3680 when the project does not have existing settings3681 returns in-memory default settings3682 PUT /projects/:id/merge_request_approval_settings3683 matches the response schema and updates the params3684 when enabling selective_code_owner_removals and retain_approvals_on_push3685 updates the params3686 when enabling selective_code_owner_removals with retain_approvals_on_push disabled3687 returns error response and does not update the params3688API::Admin::Search::Migrations3689 GET /admin/search/migrations/:migration_id3690 behaves like GET request permissions for admin mode3691 behaves like when admin3692 behaves like makes request3693 returns3694 behaves like makes request3695 returns3696 behaves like when user3697 returns3698 behaves like makes request3699 returns3700 behaves like an API that returns 401 for unauthenticated requests3701 returns not_found status3702 behaves like an API that returns 400 when elasticsearch_indexing is disabled3703 returns bad_request status3704 when requested by version3705 behaves like an API that returns a migration3706 returns a migration3707 when requested by name3708 behaves like an API that returns a migration3709 returns a migration3710 GET /admin/search/migrations3711 lists all migrations3712 behaves like GET request permissions for admin mode3713 behaves like when admin3714 behaves like makes request3715 returns3716 behaves like makes request3717 returns3718 behaves like when user3719 returns3720 behaves like makes request3721 returns3722 behaves like an API that returns 401 for unauthenticated requests3723 returns not_found status3724 behaves like an API that returns 400 when elasticsearch_indexing is disabled3725 returns bad_request status3726API::Admin::Search::Zoekt3727 PUT /admin/zoekt/projects/:projects/index3728 triggers indexing for the project3729 behaves like PUT request permissions for admin mode3730 behaves like when admin3731 behaves like makes request3732 returns3733 behaves like makes request3734 returns3735 behaves like when user3736 returns3737 behaves like makes request3738 returns3739 behaves like an API that returns 401 for unauthenticated requests3740 returns not_found status3741 behaves like an API that returns 400 when the index_code_with_zoekt feature flag is disabled3742 returns not_found status3743 behaves like an API that returns 404 for missing ids3744 returns not_found status3745 GET /admin/zoekt/shards/:node_id/indexed_namespaces3746 returns all indexed namespaces for this node3747 returns at most MAX_RESULTS most recent rows3748 behaves like GET request permissions for admin mode3749 behaves like when admin3750 behaves like makes request3751 returns3752 behaves like makes request3753 returns3754 behaves like when user3755 returns3756 behaves like makes request3757 returns3758 behaves like an API that returns 401 for unauthenticated requests3759 returns not_found status3760 behaves like an API that returns 404 for missing ids3761 returns not_found status3762 GET /admin/zoekt/shards3763 returns all nodes3764 behaves like GET request permissions for admin mode3765 behaves like when admin3766 behaves like makes request3767 returns3768 behaves like makes request3769 returns3770 behaves like when user3771 returns3772 behaves like makes request3773 returns3774 behaves like an API that returns 401 for unauthenticated requests3775 returns not_found status3776 PUT /admin/zoekt/shards/:node_id/indexed_namespaces/:namespace_id3777 creates a Zoekt::IndexedNamespace for this node and namespace pair3778 behaves like PUT request permissions for admin mode3779 behaves like when admin3780 behaves like makes request3781 returns3782 behaves like makes request3783 returns3784 behaves like when user3785 returns3786 behaves like makes request3787 returns3788 behaves like an API that returns 401 for unauthenticated requests3789 returns not_found status3790 behaves like an API that returns 400 when the index_code_with_zoekt feature flag is disabled3791 returns not_found status3792 when it already exists3793 returns the existing one3794 with missing node_id3795 behaves like an API that returns 404 for missing ids3796 returns not_found status3797 with missing namespace_id3798 behaves like an API that returns 404 for missing ids3799 returns not_found status3800 DELETE /admin/zoekt/shards/:node_id/indexed_namespaces/:namespace_id3801 removes the Zoekt::IndexedNamespace for this node and namespace pair3802 behaves like DELETE request permissions for admin mode3803 behaves like when admin3804 behaves like makes request3805 returns3806 behaves like makes request3807 returns3808 behaves like when user3809 returns3810 behaves like makes request3811 returns3812 behaves like an API that returns 401 for unauthenticated requests3813 returns not_found status3814 with missing node_id3815 behaves like an API that returns 404 for missing ids3816 returns not_found status3817 with missing namespace_id3818 behaves like an API that returns 404 for missing ids3819 returns not_found status3820RegistrationsController3821 POST #create3822 behaves like creates a user with ArkoseLabs risk band on signup request3823 when arkose_labs_token verification succeeds3824 records the user's data from Arkose Labs3825 behaves like creates the user3826 creates the user3827 when verification fails3828 does not record the user's data from Arkose Labs3829 behaves like renders new action with an alert flash3830 renders new action with an alert flash3831 when user is not persisted3832 does not record the user's data from Arkose Labs3833 when the feature flag is disabled3834 behaves like creates the user3835 creates the user3836 behaves like skips verification and data recording3837 skips verification and data recording3838 when feature is disabled3839 behaves like creates the user3840 creates the user3841 behaves like skips verification and data recording3842 skips verification and data recording3843 when reCAPTCHA is enabled3844 behaves like creates the user3845 creates the user3846 when reCAPTCHA verification fails3847 does not create the user3848 when arkose_labs_token param is not present3849 when arkose is operational3850 logs the event3851 behaves like renders new action with an alert flash3852 renders new action with an alert flash3853 behaves like skips verification and data recording3854 skips verification and data recording3855 when arkose is experiencing an outage3856 logs the event3857 behaves like creates the user3858 creates the user3859 identity verification3860 when identity verification is turned off3861 sending confirmation instructions3862 sends Devise confirmation instructions3863 does not send custom confirmation instructions3864 sets the confirmation_sent_at time3865 sets the confirmation_token to the unencrypted Devise token3866 setting a session variable3867 does not set the `verification_user_id` session variable3868 redirection3869 redirects to the `users_almost_there_path`3870 when identity verification is turned on3871 sending confirmation instructions3872 does not send Devise confirmation instructions3873 sends custom confirmation instructions3874 sets the confirmation_sent_at time3875 sets the confirmation_token to the encrypted custom token3876 preventing token collisions3877 does not raise an error when an identical token exists in the database3878 setting a session variable3879 sets the `verification_user_id` session variable3880 handling sticking3881 sticks or unsticks the request3882 redirection3883 redirects to the `identity_verification_path`3884 when user is not persisted3885 does not try to send custom confirmation instructions3886 with onboarding progress3887 when on SaaS3888 sets onboarding3889 when not on SaaS3890 does not set onboarding3891Groups::Security::PoliciesController3892 GET #edit3893 with authorized user3894 when feature is licensed3895 renders the edit page3896 does not contain any approver data3897 with scan result policy type3898 renders the edit page with approvers data3899 when type is missing3900 redirects to #index3901 when type is invalid3902 redirects to #index3903 when id does not exist3904 returns 4043905 when there is no policy configuration3906 returns 4043907 when policy yaml file does not exist3908 redirects to project page3909 when policy yaml is invalid3910 redirects to policy file3911 behaves like tracks govern usage event3912 tracks unique event3913 when feature is not licensed3914 returns 4043915 behaves like doesn't track govern usage event3916 doesn't tracks event3917 with unauthorized user3918 returns 4043919 behaves like doesn't track govern usage event3920 doesn't tracks event3921 with anonymous user3922 returns 4043923 behaves like doesn't track govern usage event3924 doesn't tracks event3925 GET #index3926 user_role: :reporter, license: true, status: :not_found3927 is expected to respond with numeric status code not_found3928 user_role: :developer, license: true, status: :ok3929 is expected to respond with numeric status code ok3930 user_role: :developer, license: false, status: :not_found3931 is expected to respond with numeric status code not_found3932 usage tracking3933 with license available3934 behaves like tracks govern usage event3935 tracks unique event3936 without license available3937 behaves like doesn't track govern usage event3938 doesn't tracks event3939 GET #schema3940 returns JSON schema3941Query.project(fullPath).dastSiteProfiles3942 when a user does not have access to the project3943 returns a null project3944 when a user does not have access to dast_site_profiles3945 returns an empty edges array3946 when a user has access dast_site_profiles3947 returns populated edges array3948 returns a populated edges array containing a dast_site_profile associated with the project3949 avoids N+1 queries3950 when there are fewer dast_site_profiles than the page limit3951 indicates there are no more pages available3952 when there are more dast_site_profiles than the page limit3953 indicates there are more pages available3954 when on demand scan licensed feature is not available3955 returns an empty edges array3956Projects::Settings::AccessTokensController3957 POST /:namespace/:project/-/settings/access_tokens3958 when has a bronze subscription3959 behaves like feature unavailable3960 with a free plan3961 is expected to respond with numeric status code not_found3962 when user is not a maintainer with a paid group plan3963 is expected to respond with numeric status code not_found3964 behaves like POST resource access tokens available3965 renders JSON with a token3966 creates resource access token3967 creates project bot user3968 is expected to change `User.count` by 13969 is expected to change `PersonalAccessToken.count` by 13970 when unsuccessful3971 does not create the token3972 does not add the project bot as a member3973 does not create the project bot user3974 renders JSON with an error3975 when has an active trial subscription3976 can create first token successfully3977 cannot create second token3978 when there is token under different project of same group3979 still cannot create new token3980 PUT /:namespace/:project/-/settings/access_tokens/:id/revoke3981 behaves like feature unavailable3982 with a free plan3983 is expected to respond with numeric status code not_found3984 when user is not a maintainer with a paid group plan3985 is expected to respond with numeric status code not_found3986 behaves like PUT resource access tokens available3987 calls delete user worker3988 removes membership of bot user3989 creates GhostUserMigration records to handle migration in a worker3990 when unsuccessful3991 shows a failure alert3992 when has trial subscription3993 when the trial subscription is active3994 can revoke token successfully3995 when the trial subscription is expired3996 still can revoke token successfully3997Projects::PipelinesController3998 GET security3999 with a sast artifact4000 with feature enabled4001 responds with a 200 and show the template4002 behaves like tracks govern usage event4003 tracks unique event4004 with feature disabled4005 redirects to the pipeline page4006 behaves like doesn't track govern usage event4007 doesn't tracks event4008 without sast artifact4009 with feature enabled4010 redirects to the pipeline page4011 with feature disabled4012 redirects to the pipeline page4013 GET codequality_report4014 renders the show template4015 GET licenses4016 with a cyclonedx report4017 with feature enabled4018 with html4019 responds with a 200 and show the template4020 with json4021 returns license scanning report in json format4022 returns MIT license allowed status4023 returns the JSON license data sorted by license name4024 returns a JSON representation of the license data4025 approval_status4026 is expected to eq "allowed"4027 without a cyclonedx report4028 with feature enabled4029 redirects to the pipeline page4030 with feature enabled json4031 will return 4044032 with feature disabled4033 redirects to the pipeline page4034 with feature disabled json4035 will return 4044036getting dependency proxy for packages settings for a project4037 with the settings model created4038 behaves like querying the dependency proxy for packages setting4039 behaves like a working graphql query4040 returns a successful response4041 with different permissions4042 visibility: :public, role: :developer, access_granted: false4043 returns the proper response4044 visibility: :public, role: :maintainer, access_granted: true4045 returns the proper response4046 visibility: :internal, role: :developer, access_granted: false4047 returns the proper response4048 visibility: :internal, role: :maintainer, access_granted: true4049 returns the proper response4050 visibility: :private, role: :developer, access_granted: false4051 returns the proper response4052 visibility: :private, role: :maintainer, access_granted: true4053 returns the proper response4054 with a maintainer4055 with dependency_proxy disabled in the config4056 behaves like returning a blank response4057 returns a blank response4058 with packages disabled in the config4059 behaves like returning a blank response4060 returns a blank response4061 with packages feature disabled in the project4062 behaves like returning a blank response4063 returns a blank response4064 with licensed dependency proxy for packages disabled4065 behaves like returning a blank response4066 returns a blank response4067 with packages_dependency_proxy_maven disabled4068 behaves like returning a blank response4069 returns a blank response4070 without the settings model created4071 behaves like querying the dependency proxy for packages setting4072 behaves like a working graphql query4073 returns a successful response4074 with different permissions4075 visibility: :public, role: :developer, access_granted: false4076 returns the proper response4077 visibility: :public, role: :maintainer, access_granted: true4078 returns the proper response4079 visibility: :internal, role: :developer, access_granted: false4080 returns the proper response4081 visibility: :internal, role: :maintainer, access_granted: true4082 returns the proper response4083 visibility: :private, role: :developer, access_granted: false4084 returns the proper response4085 visibility: :private, role: :maintainer, access_granted: true4086 returns the proper response4087Groups::Epics::RelatedEpicLinksController4088 GET /*group_id/:group_id/epics/:epic_id/related_epic_links4089 returns JSON response4090 avoids N+1 queries4091 behaves like a not available action4092 when related_epics are not available4093 returns not_found error4094 DELETE /*group_id/:group_id/epics/:epic_id/related_epic_links/:link_id4095 deletes related epic link4096 behaves like a not available action4097 when related_epics are not available4098 returns not_found error4099 when related epic link id is not valid4100 returns 4044101 when related epic link does not belong to epic4102 does not delete related epic link4103 POST /groups/*group_id/-/epics/:epic_id/related_epic_links4104 with success4105 returns JSON response4106 delegates the creation of the related epic link to Epics::RelatedEpicLinks::CreateService4107 creates a new Epic::RelatedEpicLink record4108 returns correct relation path in response4109 with failure4110 when unauthorized4111 returns 4034112 when failing service result4113 returns failure JSON4114 behaves like a not available action4115 when related_epics are not available4116 returns not_found error4117get board lists4118 for a project4119 behaves like group and project board lists query4120 when user can read the board4121 sorting and pagination4122 when using default sorting4123 when ascending4124 behaves like sorted paginated query4125 behaves like requires variables4126 shared example requires variables to be set4128 when sorting4129 sorts correctly4130 when paginating4131 paginates correctly4132 limit metric settings4133 returns the expected limit metric settings4134 total issue count and weight4135 returns total count and weight of issues matching issue filters4136 totalWeight and totalIssueWeight fields with very large total weight values4137 when requesting totalWeight field4138 returns error4139 when requesting totalIssueWeight field4140 returns large value successfully4141 for a group4142 behaves like group and project board lists query4143 when user can read the board4144 sorting and pagination4145 when using default sorting4146 when ascending4147 behaves like sorted paginated query4148 behaves like requires variables4149 shared example requires variables to be set4151 when sorting4152 sorts correctly4153 when paginating4154 paginates correctly4155 limit metric settings4156 returns the expected limit metric settings4157 total issue count and weight4158 returns total count and weight of issues matching issue filters4159 totalWeight and totalIssueWeight fields with very large total weight values4160 when requesting totalWeight field4161 returns error4162 when requesting totalIssueWeight field4163 returns large value successfully4164API::Ci::Jobs4165 GET /projects/:id/jobs/:job_id/artifacts4166 when using job_token to authenticate4167 when cross-project pipelines are enabled through license4168 behaves like enabled cross-project pipelines4169 user is developer4170 returns specific job artifacts4171 when anonymous user is accessing private artifacts4172 hides artifacts and rejects request4173 when cross-project pipelines are enabled through usage ping features4174 behaves like enabled cross-project pipelines4175 user is developer4176 returns specific job artifacts4177 when anonymous user is accessing private artifacts4178 hides artifacts and rejects request4179 when cross-project pipeline are disabled4180 disallows access to the artifacts4181 when the job is not running4182 disallows access to the artifacts4183 GET /projects/:id/artifacts/:ref_name/download?job=name4184 when using job_token to authenticate4185 when cross-project pipelines are enabled through license4186 behaves like enabled cross-project pipelines4187 when user is developer4188 when artifacts are stored locally4189 returns specific job artifacts4190 when artifacts are stored remotely4191 returns location redirect4192 when user is admin, but not member4193 does not allow to see that artfiact is present4194 when cross-project pipelines are enabled through usage ping features4195 behaves like enabled cross-project pipelines4196 when user is developer4197 when artifacts are stored locally4198 returns specific job artifacts4199 when artifacts are stored remotely4200 returns location redirect4201 when user is admin, but not member4202 does not allow to see that artfiact is present4203SmartcardController4204 #auth4205 with smartcard_auth enabled4206 redirects to extract certificate4207 with provider param4208 forwards the provider param4209 with smartcard_auth disabled4210 renders 4044211 #extract_certificate4212 with smartcard_auth enabled4213 redirects to verify certificate4214 with provider param4215 forwards the provider param4216 missing NGINX client certificate header4217 renders unauthorized4218 request from different host / port4219 renders 4044220 with smartcard_auth disabled4221 renders 4044222 #verify_certificate4223 Smartcard::Certificate4224 behaves like a client certificate authentication4225 with smartcard_auth enabled4226 allows sign in4227 redirects to root4228 logs audit event4229 stores active session4230 user does not exist4231 signup allowed4232 creates user4233 signup disabled4234 renders 4014235 missing client certificate param4236 renders unauthorized4237 with smartcard_auth disabled4238 renders 4044239 user already exists4240 finds existing user4241 certificate header formats from NGINX4242 escaped format4243 behaves like valid certificate header4244 authenticates user4245 deprecated format4246 behaves like valid certificate header4247 authenticates user4248 Smartcard::LdapCertificate4249 sets correct parameters for LDAP search4250 behaves like a client certificate authentication4251 with smartcard_auth enabled4252 allows sign in4253 redirects to root4254 logs audit event4255 stores active session4256 user does not exist4257 signup allowed4258 creates user4259 signup disabled4260 renders 4014261 missing client certificate param4262 renders unauthorized4263 with smartcard_auth disabled4264 renders 4044265 user already exists4266 finds existing user4267 user has a different identity4268 doesn't login a user4269 doesn't create a new user entry either4270ApplicationController4271 with redirection due to onboarding4272 when on SaaS4273 redirects to the onboarding step4274 when terms enabled4275 redirects to terms first4276 when qualifying for 2fa4277 redirects to the onboarding step4278 when onboarding is disabled4279 does not redirect to the onboarding step4280 when qualifying for 2fa4281 redirects to 2fa setup4282 when request path equals redirect path4283 does not redirect to the onboarding step4284 with non-get request4285 does not redirect to the onboarding step4286 when on not on SaaS4287 redirects to the onboarding step4288 when qualifying for 2fa4289 redirects to 2fa setup4290API::ProjectImport4291 POST /projects/import4292 overrides the classification label4293 feature is disabled4294 uses the default the classification label and ignores override param4295Groups::IssuesController4296 POST #bulk_update4297 when group bulk edit feature is not enabled4298 returns 404 status4299 when group bulk edit feature is enabled4300 when user has permissions to bulk update issues4301 returns status 2004302 updates issues milestone and epic4303 when params are incorrect4304 returns 422 status4305 when user does not have permissions to bulk update issues4306 returns status 4044307 does not update issues milestone or epic4308Updating the dependency proxy packages settings4309 post graphql mutation4310 role: :anonymous, result: :denied, existing_settings: true4311 with existing settings4312 returns the correct result4313 with a non existing project path4314 returns the resource access error4315 role: :anonymous, result: :denied, existing_settings: false4316 with non existing settings4317 returns the correct result4318 with a non existing project path4319 returns the resource access error4320 role: :developer, result: :denied, existing_settings: true4321 with existing settings4322 returns the correct result4323 with a non existing project path4324 returns the resource access error4325 role: :developer, result: :denied, existing_settings: false4326 with non existing settings4327 returns the correct result4328 with a non existing project path4329 returns the resource access error4330 role: :maintainer, result: :success, existing_settings: true4331 with existing settings4332 returns the correct result4333 with a non existing project path4334 returns the resource access error4335 role: :maintainer, result: :success, existing_settings: false4336 with non existing settings4337 returns the correct result4338 with a non existing project path4339 returns the resource access error4340 without permission4341 returns no response4342 with a maintainer4343 with config packages disabled4344 behaves like returning a graphql error4345 does not create any setting4346 with config dependency_proxy disabled4347 behaves like returning a graphql error4348 does not create any setting4349 with packages feature disabled in the project4350 behaves like returning a graphql error4351 does not create any setting4352 with licensed dependency proxy for packages disabled4353 behaves like returning a graphql error4354 does not create any setting4355 with packages_dependency_proxy_maven disabled4356 behaves like returning a graphql error4357 does not create any setting4358API::DependencyListExports4359 POST /groups/:id/dependency_list_exports4360 behaves like creating dependency list export4361 with user without permission4362 returns 4034363 with user with enough permission4364 with license feature disabled4365 returns 4034366 with license feature enabled4367 creates and returns a dependency_list_export4368 GET /dependency_list_exports/:export_id4369 with user without permission4370 returns 4034371 with user with enough permission4372 with license feature disabled4373 returns 4034374 with license feature enabled4375 fetches and returns a dependency_list_export4376 with dependency list export not finished4377 sets polling and returns accepted4378 POST /pipelines/:id/dependency_list_exports4379 behaves like creating dependency list export4380 with user without permission4381 returns 4034382 with user with enough permission4383 with license feature disabled4384 returns 4034385 with license feature enabled4386 creates and returns a dependency_list_export4387 when the `merge_sbom_api` feature flag is disabled4388 returns 4044389 GET /dependency_list_exports/:export_id/download4390 with user without permission4391 returns 4034392 with user with enough permission4393 with license feature disabled4394 returns 4034395 with license feature enabled4396 returns file content4397 with dependency list export not finished4398 returns 4044399 POST /projects/:id/dependency_list_exports4400 behaves like creating dependency list export4401 with user without permission4402 returns 4034403 with user with enough permission4404 with license feature disabled4405 returns 4034406 with license feature enabled4407 creates and returns a dependency_list_export4408Projects::Settings::RepositoryController4409 GET show4410 push rule4411 is created4412 is connected to project_settings4413 unlicensed4414 is not created4415 group protected branches4416 feature_flag: false, licensed_feature: false, expected_include_group: false4417 include group correctly4418 feature_flag: false, licensed_feature: true, expected_include_group: false4419 include group correctly4420 feature_flag: true, licensed_feature: false, expected_include_group: false4421 include group correctly4422 feature_flag: true, licensed_feature: true, expected_include_group: true4423 include group correctly4424 #default_branch_blocked_by_security_policy4425 when blocked by security policy4426 sets default_branch_blocked_by_security_policy4427 when not blocked by security policy4428 does not set default_branch_blocked_by_security_policy4429 #fetch_branches_protected_from_push4430 feature_flag: false, licensed_feature: false, branches_protected_from_push: [], expected_result: []4431 assigns the list of protected branches4432 feature_flag: false, licensed_feature: true, branches_protected_from_push: [], expected_result: []4433 assigns the list of protected branches4434 feature_flag: true, licensed_feature: false, branches_protected_from_push: [], expected_result: []4435 assigns the list of protected branches4436 feature_flag: true, licensed_feature: true, branches_protected_from_push: [protected_branch], expected_result: [protected_branch]4437 assigns the list of protected branches4438 avoid N+1 sql queries4439 when the feature group protected branches disabled4440 does not perform N+1 sql queries4441 when the feature group protected branches enabled4442 does not perform N+1 sql queries4443 set protected_branches_from_deletion4444 sets protected_branches_from_deletion4445Groups::IterationsController4446 index4447 iteration_license_available: false, role: :developer4448 behaves like returning response status4449 returns not_found4450 iteration_license_available: true, role: :none4451 behaves like returning response status4452 returns not_found4453 iteration_license_available: true, role: :guest4454 redirects to the group iteration cadence index path4455 iteration_license_available: true, role: :developer4456 redirects to the group iteration cadence index path4457 show4458 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }4459 behaves like returning response status4460 returns not_found4461 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }4462 behaves like returning response status4463 returns not_found4464 iteration_license_available: true, role: :guest, requested_iteration: lazy { other_iteration }4465 behaves like returning response status4466 returns not_found4467 when current user can view the requested iteration4468 iteration_license_available: true, role: :guest4469 redirects to the corresponding iteration cadence path4470 iteration_license_available: true, role: :developer4471 redirects to the corresponding iteration cadence path4472 new4473 iteration_license_available: false, role: :developer4474 behaves like returning response status4475 returns not_found4476 iteration_license_available: true, role: :none4477 behaves like returning response status4478 returns not_found4479 iteration_license_available: true, role: :guest4480 behaves like returning response status4481 returns not_found4482 when role is developer4483 redirects to the group iteration cadence index path4484 edit4485 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }4486 behaves like returning response status4487 returns not_found4488 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }4489 behaves like returning response status4490 returns not_found4491 iteration_license_available: true, role: :guest, requested_iteration: lazy { iteration }4492 behaves like returning response status4493 returns not_found4494 iteration_license_available: true, role: :developer, requested_iteration: lazy { other_iteration }4495 behaves like returning response status4496 returns not_found4497 when role is developer and can edit the requested iteration4498 redirects to the corresponding iteration cadence path4499Projects::RequirementsManagement::RequirementsController4500 GET #index4501 private project4502 with authorized user4503 when feature is available4504 renders the index template4505 when feature is not available4506 behaves like response with 404 status4507 returns 4044508 with unauthorized user4509 when feature is available4510 behaves like response with 404 status4511 returns 4044512 with anonymous user4513 returns 3024514 public project4515 with requirements disabled4516 behaves like response with 404 status4517 returns 4044518 with requirements visible to project members4519 with authorized user4520 renders the index template4521 with unauthorized user4522 behaves like response with 404 status4523 returns 4044524 with requirements visible to everyone4525 with anonymous user4526 renders the index template4527 GET import_csv4528 with authorized user4529 when feature is available4530 when the upload is processed successfully4531 renders the correct message4532 when the upload returns an error4533 renders the error message4534 when feature is not available4535 behaves like response with 404 status4536 returns 4044537getting test reports of a requirement4538 when user can read requirement4539 returns test reports successfully4540 behaves like a working graphql query4541 returns a successful response4542 with pagination4543 behaves like sorted paginated query4544 behaves like requires variables4545 shared example requires variables to be set4547 when sorting4548 sorts correctly4549 when paginating4550 paginates correctly4551 behaves like sorted paginated query4552 behaves like requires variables4553 shared example requires variables to be set4555 when sorting4556 sorts correctly4557 when paginating4558 paginates correctly4559 when the user does not have access to the requirement4560 returns nil4561Destroy Google Cloud logging configuration4562 when feature is licensed4563 when current user is a group owner4564 destroys the configuration4565 audits the deletion4566 when there is an error during destroy4567 does not destroy the configuration and returns the error4568 when current user is a group maintainer4569 behaves like a mutation on an unauthorized resource4570 behaves like a mutation that returns top-level errors4571 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"4572 behaves like a mutation that does not destroy a configuration4573 does not destroy the configuration4574 does not create audit event4575 when current user is a group developer4576 behaves like a mutation on an unauthorized resource4577 behaves like a mutation that returns top-level errors4578 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"4579 behaves like a mutation that does not destroy a configuration4580 does not destroy the configuration4581 does not create audit event4582 when current user is a group guest4583 behaves like a mutation on an unauthorized resource4584 behaves like a mutation that returns top-level errors4585 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"4586 behaves like a mutation that does not destroy a configuration4587 does not destroy the configuration4588 does not create audit event4589 when feature is unlicensed4590 behaves like a mutation on an unauthorized resource4591 behaves like a mutation that returns top-level errors4592 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"4593 behaves like a mutation that does not destroy a configuration4594 does not destroy the configuration4595 does not create audit event4596Update Amazon S3 configuration4597 when feature is unlicensed4598 behaves like a mutation on an unauthorized resource4599 behaves like a mutation that returns top-level errors4600 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"4601 behaves like a mutation that does not update the configuration4602 does not update the configuration4603 does not create audit event4604 when feature is licensed4605 when current user is a group owner4606 updates the configuration4607 audits the update4608 when the fields are updated with existing values4609 does not audit the event4610 when no fields are provided for update4611 behaves like a mutation that does not update the configuration4612 does not update the configuration4613 does not create audit event4614 when there is error while updating4615 does not update the configuration and returns the error4616 when current user is a group maintainer4617 behaves like a mutation on an unauthorized resource4618 behaves like a mutation that returns top-level errors4619 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"4620 behaves like a mutation that does not update the configuration4621 does not update the configuration4622 does not create audit event4623 when current user is a group developer4624 behaves like a mutation on an unauthorized resource4625 behaves like a mutation that returns top-level errors4626 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"4627 behaves like a mutation that does not update the configuration4628 does not update the configuration4629 does not create audit event4630 when current user is a group guest4631 behaves like a mutation on an unauthorized resource4632 behaves like a mutation that returns top-level errors4633 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"4634 behaves like a mutation that does not update the configuration4635 does not update the configuration4636 does not create audit event4637GroupsController4638 external authorization4639 with external authorization service enabled4640 PUT #update4641 no license4642 does not update the file_template_project_id successfully4643 available through usage ping features4644 updates the file_template_project_id successfully4645 with license4646 updates the file_template_project_id successfully4647 with insights feature4648 updates insight project_id successfully4649 removes insight successfully4650 with sso enforcement enabled4651 without SAML session4652 prevents access to group resources4653 with active SAML session4654 allows access to group resources4655 "group information content" preference behaviour4656 GET #show4657 with user having proper permissions and feature enabled4658 with group view set as default4659 renders the expected template4660 with group view set to security dashboard4661 in HTML format4662 redirects to the security dashboard4663 in Atom format4664 does not redirect to the security dashboard4665 GET #details4666 with user having proper permissions and feature enabled4667 with group view set to security dashboard4668 does not redirect to the security dashboard4669Query.workspaces(project_ids: [::Types::GlobalIDType[Project]!])4670 behaves like a fully working Query.workspaces query4671 behaves like multiple workspaces query4672 when remote_development feature is licensed4673 when user is authorized4674 behaves like query is a working graphql query4675 behaves like a working graphql query4676 returns a successful response4677 behaves like query returns workspaces hash containing workspace4678 includes only the expected workspace4679 when the user requests a workspace that they are not authorized for4680 does not return the unauthorized workspace4681 still returns the authorized workspace4682 when user is not authorized4683 behaves like query is a working graphql query4684 behaves like a working graphql query4685 returns a successful response4686 behaves like query returns blank4687 is expected to be blank4688 behaves like query in unlicensed environment4689 when remote_development feature is unlicensed4690 when user is authorized4691 behaves like query returns blank4692 is expected to be blank4693 behaves like query includes graphql error4694 includes a graphql error4695API::Analytics::GroupActivityAnalytics4696 GET /group_activity/issues_count4697 behaves like GET group_activity4698 when feature is enabled for a group4699 is successful4700 is returns a count4701 when feature is not available in plan4702 is returns `forbidden`4703 when `group_path` is not specified4704 returns `bad_request`4705 when name is made of only digits4706 is successful4707 is returns a count4708 when user does not have access to a group4709 is returns `not_found`4710 GET /group_activity/merge_requests_count4711 behaves like GET group_activity4712 when feature is enabled for a group4713 is successful4714 is returns a count4715 when feature is not available in plan4716 is returns `forbidden`4717 when `group_path` is not specified4718 returns `bad_request`4719 when name is made of only digits4720 is successful4721 is returns a count4722 when user does not have access to a group4723 is returns `not_found`4724 GET /group_activity/new_members_count4725 behaves like GET group_activity4726 when feature is enabled for a group4727 is successful4728 is returns a count4729 when feature is not available in plan4730 is returns `forbidden`4731 when `group_path` is not specified4732 returns `bad_request`4733 when name is made of only digits4734 is successful4735 is returns a count4736 when user does not have access to a group4737 is returns `not_found`4738PipelineSecurityReportFinding4739 when loading a merge request4740 when the current user is authorized4741 returns the merge request4742Projects::VariablesController4743 PATCH #update4744 when creating variable4745 logs audit event4746 logs variable creation4747 when updating variable protection4748 logs audit event4749 logs variable protection update4750 when destroying variable4751 logs audit event4752 logs variable destruction4753User with read_vulnerability custom role4754 Projects::Security::VulnerabilityReportController4755 #index4756 user has access via a custom role4757 Projects::Security::VulnerabilitiesController4758 #show4759 user has access via a custom role4760 #discussions4761 user has access via a custom role4762 Groups::Security::VulnerabilitiesController4763 #index4764 user has access via a custom role4765 Projects::Security::DashboardController4766 #index4767 user has access via a custom role4768 Groups::Security::DashboardController4769 #show4770 user has access via a custom role4771API::Internal::UpcomingReconciliations4772 PUT /internal/upcoming_reconciliations4773 when unauthenticated4774 returns authentication error4775 when authenticated as user4776 returns authentication error4777 when authenticated as admin4778 returns success4779 behaves like PUT request permissions for admin mode4780 behaves like when admin4781 behaves like makes request4782 returns4783 behaves like makes request4784 returns4785 behaves like when user4786 returns4787 behaves like makes request4788 returns4789 when namespace_id is empty4790 returns error4791 when update service failed4792 returns error4793 when not gitlab.com4794 returns 403 error4795 DELETE /internal/upcoming_reconciliations4796 behaves like DELETE request permissions for admin mode4797 behaves like when admin4798 behaves like makes request4799 returns4800 behaves like makes request4801 returns4802 behaves like when user4803 returns4804 behaves like makes request4805 returns4806 when the request is not authenticated4807 returns authentication error4808 when authenticated as user4809 returns authentication error4810 when authenticated as an admin4811 when the request is not for .com4812 returns an error4813 when the namespace_id is missing4814 returns a 400 error4815 when there is an upcoming reconciliation for the namespace4816 destroys the reconciliation and returns success4817 when the namespace_id does not have an upcoming reconciliation4818 returns a not found error4819Creating Issue Links4820 when the user has access4821 when security_dashboard is disabled4822 behaves like a mutation that returns top-level errors4823 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"4824 when security_dashboard is enabled4825 creates the issue links4826 when too many vulnerabilities are passed4827 behaves like a mutation that returns top-level errors4828 is expected to contain exactly /Maximum vulnerability_ids exceeded \(1\)/4829 when the user does not have access to the issue4830 behaves like a mutation that returns a top-level access error4831 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"4832 when issue_id is nil4833 behaves like a mutation that returns top-level errors4834 is expected to contain exactly /Expected value to not be null/4835 when vulnerability_id is nil4836 behaves like a mutation that returns top-level errors4837 is expected to contain exactly /Expected value to not be null/4838 when vulnerability_ids are empty4839 behaves like a mutation that returns top-level errors4840 is expected to contain exactly "At least 1 value must be provided for vulnerability_ids"4841 when the user does not have access4842 behaves like a mutation that returns a top-level access error4843 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"4844Create an external audit event destination header4845 when feature is licensed4846 when current user is a group owner4847 creates the header with the correct attributes4848 when active param is also provided4849 creates the header with the correct attributes4850 when the header attributes are invalid4851 returns correct errors4852 behaves like a mutation that does not create a header4853 does not create a header4854 when current user is a group maintainer4855 behaves like a mutation that does not create a header4856 does not create a header4857 when current user is a group developer4858 behaves like a mutation that does not create a header4859 does not create a header4860 when current user is a group guest4861 behaves like a mutation that does not create a header4862 does not create a header4863 when feature is unlicensed4864 behaves like a mutation on an unauthorized resource4865 behaves like a mutation that returns top-level errors4866 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"4867 behaves like a mutation that does not create a header4868 does not create a header4869Mutations::Boards::Epics::Create4870 when the user does not have permission4871 behaves like a mutation that returns a top-level access error4872 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"4873 behaves like does not create an epic4874 is expected not to change `Board.count`4875 when the user has permission4876 when all arguments are given4877 when everything is ok4878 creates the epic4879 returns the created epic4880 when arguments are nil resulting in a top level error4881 behaves like does not create an epic4882 is expected not to change `Board.count`4883 behaves like a mutation that returns top-level errors4884 is expected to include /boardId \(Expected value to not be null\)/4885 when argument is blank resulting in an ActiveRecord error4886 returns an error4887 behaves like does not create an epic4888 is expected not to change `Board.count`4889 when arguments are missing4890 behaves like a mutation that returns top-level errors4891 is expected to include /boardId \(Expected value to not be null\)/4892 behaves like does not create an epic4893 is expected not to change `Board.count`4894getting compliance frameworks for a collection of projects4895 querying a single project4896 avoids N+1 queries4897 contains the expected compliance framework4898 projects can have a compliance framework4899 contains the correct number of compliance frameworks4900 projects that share the same compliance framework4901 shares the same compliance framework id4902Query.vulnerabilities.issueLinks4903 when invalid linkType argument is provided4904 errors with a string4905 errors with a number4906 errors with lowercased `created`4907 errors with lowercased `related`4908 when valid linkType argument is provided4909 returns a list of VulnerabilityIssueLink with `CREATED` linkType4910 returns a list of VulnerabilityIssueLink with `RELATED` linkType4911 when no arguments are provided4912 returns a list of all VulnerabilityIssueLink4913 loading issue links in batch4914 does not cause N+1 query issue4915Projects::RequirementsManagement::RequirementsController4916 POST #import_csv4917 unauthorized4918 when user is not signed in4919 behaves like response with 404 status4920 returns 4044921 with project member with a guest role4922 behaves like response with 404 status4923 returns 4044924 authorized4925 when requirements feature is available and member is a reporter4926 shows error when upload fails4927 behaves like response with success status4928 returns 200 status and success message4929 when file extension is in upper case4930 behaves like response with success status4931 returns 200 status and success message4932 when file extension is not csv4933 returns error message4934 when requirements feature is not available4935 behaves like response with 404 status4936 returns 4044937 POST #authorize4938 with authorized user4939 when requirements feature is enabled4940 behaves like handle uploads authorize request4941 POST authorize4942 authorizes workhorse header4943 rejects requests that bypassed gitlab-workhorse4944 when using remote storage4945 when direct upload is enabled4946 responds with status 200, location of file remote store and object details4947 when direct upload is disabled4948 handles as a local file4949 when requirements feature is disabled4950 behaves like response with 404 status4951 returns 4044952 with unauthorized user4953 behaves like response with 404 status4954 returns 4044955API::Analytics::CodeReviewAnalytics4956 GET code_review4957 is successful4958 with merge requests present4959 returns list of open MRs with pagination headers4960 with label & milestone filters4961 applies filter4962 with negation filters4963 applies filter4964 with any label filter present4965 applies filter4966 when user has no authorization4967 is not authorized4968 when feature is not available in plan4969 is not_authorized4970 when project_id is not specified4971 is not found4972OmniauthCallbacksController4973 when sign in fails4974 audits provider failed login when licensed4975 does not audit provider failed login when unlicensed4976 #openid_connect4977 when auth hash is missing required groups4978 when licensed feature is available4979 prevents sign in4980 when licensed feature is not available4981 allows sign in4982 when linking to existing profile4983 links identity4984 #saml4985 with required_groups on saml config4986 fails to authenticate4987 identity verification4988 on sign up4989 behaves like identity verification required4990 handles sticking, sets the session and redirects to identity verification4991 when auto blocking users after creation4992 behaves like identity verification not required4993 does not redirect to identity verification4994 on sign in4995 behaves like identity verification not required4996 does not redirect to identity verification4997 when identity is not yet verified4998 behaves like identity verification required4999 handles sticking, sets the session and redirects to identity verification5000 with strategies5001 when user is not registered yet5002 behaves like EE::Onboarding::Redirectable5003 when onboarding is enabled5004 onboards the user5005 when onboarding is disabled5006 does not onboard the user5007 when user is already registered5008 does not have onboarding setup and redirects to root path5009Security::ProjectsController5010 GET #index5011 behaves like Security::ApplicationController5012 when the user is authenticated5013 responds with success5014 and the instance does not have an Ultimate license5015 404s5016 when the user is not authenticated5017 redirects the user to the sign in page5018 with an authenticated user5019 returns the current user's security dashboard projects5020 sets a polling interval header5021 POST #create5022 behaves like Security::ApplicationController5023 when the user is authenticated5024 responds with success5025 and the instance does not have an Ultimate license5026 404s5027 when the user is not authenticated5028 redirects the user to the sign in page5029 with an authenticated user5030 adds the given projects to the current user's security dashboard5031 when given a project that is already added to the dashboard5032 does not add the same project twice and returns the duplicate IDs in the response5033 when given an invalid project ID5034 does not error and includes them in the response5035 with an authenticated auditor5036 allows them to add projects to the dashboard5037 DELETE #destroy5038 with an authenticated user5039 removes the project from the current user's security dashboard5040 and the instance does not have an Ultimate license5041 404s5042 when given a project not on the current user's security dashboard5043 does nothing and returns 2045044 when the user is not authenticated5045 redirects the user to the sign in page5046Create an audit event type filter5047 when current user is a group developer5048 behaves like a mutation on an unauthorized resource5049 behaves like a mutation that returns top-level errors5050 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"5051 when current user is a group owner5052 when unlicensed5053 behaves like a mutation on an unauthorized resource5054 behaves like a mutation that returns top-level errors5055 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"5056 when licensed5057 returns success response5058 when event type filters in input is empty5059 returns graphql error5060 when event type is invalid5061 returns graphql error5062 when destinationId is invalid5063 behaves like a mutation on an unauthorized resource5064 behaves like a mutation that returns top-level errors5065 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"5066 when current user is a group guest5067 behaves like a mutation on an unauthorized resource5068 behaves like a mutation that returns top-level errors5069 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"5070 when current user is a group maintainer5071 behaves like a mutation on an unauthorized resource5072 behaves like a mutation that returns top-level errors5073 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"5074getting unprotect access levels for a branch protection5075 behaves like a GraphQL query for access levels5076 when request AccessLevel type objects as a guest user5077 is expected not to be present5078 behaves like a working graphql query5079 returns a successful response5080 when request AccessLevel type objects as a maintainer5081 query5082 avoids N+1 queries5083 response5084 returns all the access level attributes5085 behaves like a working graphql query5086 returns a successful response5087 when request AccessLevel type objects as a maintainer5088 query5089 avoids N+1 queries5090 response5091 returns all the access level attributes5092 behaves like a working graphql query5093 returns a successful response5094Creating a DAST Site Profile5095 behaves like an on-demand scan mutation when user cannot run an on-demand scan5096 when a user does not have access to the project5097 behaves like a mutation that returns a top-level access error5098 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"5099 when a user does not have access to run a dast scan on the project5100 behaves like a mutation that returns a top-level access error5101 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"5102 behaves like an on-demand scan mutation when user can run an on-demand scan5103 returns an empty errors array5104 returns the dast_site_profile id5105 when on demand scan licensed feature is not available5106 behaves like a mutation that returns a top-level access error5107 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"5108Update a DAST Scanner Profile5109 behaves like an on-demand scan mutation when user cannot run an on-demand scan5110 when a user does not have access to the project5111 behaves like a mutation that returns a top-level access error5112 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"5113 when a user does not have access to run a dast scan on the project5114 behaves like a mutation that returns a top-level access error5115 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"5116 behaves like an on-demand scan mutation when user can run an on-demand scan5117 returns an empty errors array5118 returns the dast_scanner_profile5119 updates the dast_scanner_profile5120 when on demand scan licensed feature is not available5121 behaves like a mutation that returns a top-level access error5122 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"5123 when there is an issue updating the dast_scanner_profile5124 behaves like a mutation that returns errors in the response5125 is expected to contain exactly "Name has already been taken"5126 when the dast_scanner_profile does not exist5127 behaves like a mutation that returns top-level errors5128 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"5129CredentialsInventoryMailer5130 #personal_access_token_revoked_email5131 is expected to have subject of "Your Personal Access Token was revoked"5132 is expected to have body including "The following Personal Access Token was revoked by an administrator, Revoker"5133 is expected to have body including "PAT 1162"5134 is expected to have body including "Created on Nov 22, 2023"5135 is expected to have body including "Scopes: api, sudo"5136 is expected to be delivered to ["user2052@example.org"]5137 is expected to have body including "Last used 21 days ago"5138 #ssh_key_deleted_email5139 is expected to have subject of "Your SSH key was deleted"5140 is expected to have body including "The following SSH key was deleted by an administrator, Revoker"5141 is expected to be delivered to ["user2053@example.org"]5142 is expected to have body including "My title 383"5143 is expected to have body including "Created on Nov 22, 2023"5144 is expected to have body including "Last used 21 days ago"5145Creating a new HTTP Integration5146 stores the custom mapping params5147 behaves like creating a new HTTP integration5148 creates a new integration5149 without required argument project_path5150 behaves like an invalid argument to the mutation5151 behaves like a mutation that returns top-level errors5152 is expected to contain exactly (include "invalid value for projectPath")5153 without required argument active5154 behaves like an invalid argument to the mutation5155 behaves like a mutation that returns top-level errors5156 is expected to contain exactly (include "invalid value for active")5157 without required argument name5158 behaves like an invalid argument to the mutation5159 behaves like a mutation that returns top-level errors5160 is expected to contain exactly (include "invalid value for name")5161 with the custom mappings feature unavailable5162 behaves like ignoring the custom mapping5163 creates integration without the custom mapping params5164 behaves like validating the payload_example5165 validates the payload_example size5166 with invalid payloadExample attribute5167 responds with errors5168 behaves like validating the payload_attribute_mappings5169 with invalid payloadAttributeMapping attribute does not contain fieldName5170 responds with errors5171 with invalid payloadAttributeMapping attribute does not contain path5172 responds with errors5173 with invalid payloadAttributeMapping attribute does not contain type5174 responds with errors5175Groups::Security::VulnerabilitiesController5176 GET index5177 when security dashboard feature is enabled5178 and user is allowed to access group security vulnerabilities5179 is expected to respond with numeric status code ok5180 behaves like tracks govern usage event5181 tracks unique event5182 when user is not allowed to access group security vulnerabilities5183 is expected to respond with numeric status code ok5184 is expected to render template unavailable5185 behaves like doesn't track govern usage event5186 doesn't tracks event5187 when security dashboard feature is disabled5188 is expected to respond with numeric status code ok5189 is expected to render template unavailable5190 behaves like doesn't track govern usage event5191 doesn't tracks event5192Set project compliance framework5193 #resolve5194 when feature is not available5195 behaves like a mutation that returns top-level errors5196 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"5197 when feature is available5198 behaves like a working GraphQL mutation5199 with a personal access token5200 behaves like prevents access to the mutation5201 does not resolve the mutation5202 behaves like allows access to the mutation5203 behaves like a working graphql query that returns data5204 contains data5205 behaves like a working graphql query5206 returns a successful response5207 with an OAuth token5208 behaves like prevents access to the mutation5209 does not resolve the mutation5210 behaves like allows access to the mutation5211 behaves like a working graphql query that returns data5212 contains data5213 behaves like a working graphql query5214 returns a successful response5215Projects::Ci::Catalog::ResourcesController5216 GET #show5217 behaves like basic get requests5218 with license for `ci_namespace_catalog`5219 with enough privileges5220 responds with 2005221 without enough privileges5222 responds with 4045223 without license for `ci_namespace_catalog`5224 with enough privileges5225 responds with 4045226 without enough privileges5227 responds with 4045228 GET #index5229 behaves like basic get requests5230 with license for `ci_namespace_catalog`5231 with enough privileges5232 responds with 2005233 without enough privileges5234 responds with 4045235 without license for `ci_namespace_catalog`5236 with enough privileges5237 responds with 4045238 without enough privileges5239 responds with 4045240getting approval project rules for a branch rule5241 when the user does have read_approval_rule abilities5242 behaves like a working graphql query5243 returns a successful response5244 returns all approval project rule data5245 avoids N+1 queries5246 when the user does not have read_approval_rule abilities5247 behaves like a working graphql query5248 returns a successful response5249 hides approval rule data5250Projects::IterationsController5251 index5252 behaves like iterations license is not available5253 behaves like returning response status5254 returns not_found5255 behaves like user is unauthorized5256 behaves like returning response status5257 returns not_found5258 behaves like project is under user namespace5259 behaves like returning response status5260 returns not_found5261 when user is authorized5262 redirects to the project iteration cadence index path5263 show5264 behaves like iterations license is not available5265 behaves like returning response status5266 returns not_found5267 behaves like user is unauthorized5268 behaves like returning response status5269 returns not_found5270 behaves like project is under user namespace5271 behaves like returning response status5272 returns not_found5273 when user is authorized5274 when current user cannot view the requested iteration5275 behaves like returning response status5276 returns not_found5277 when current user can view the requested iteration5278 redirects to the project iteration cadence iteration show path5279getting Issue counts by status5280 with issue count data5281 with project permissions5282 returns the correct counts for each status5283 behaves like a working graphql query5284 returns a successful response5285 when filters are provided5286 when filtering by weight5287 returns the correct counts for each status5288 when filtering by iteration5289 returns the correct counts for each status5290 when filtering by epic5291 returns the correct counts for each status5292 when filtering by health status5293 returns the correct counts for each status5294view audit events5295 GET /:namespace/:project/-/audit_events5296 returns 200 response5297 avoids N+1 DB queries5298Query.project(fullPath).pipeline(iid).dastProfile5299 when feature is not licensed5300 does not return dast profile data5301 when feature is licensed5302 when user is member of the project5303 returns the dast profile data5304 avoids N+1 queries5305 when user is not member of the project5306 does not return dast profile data5307 when feature flag is not enabled5308 returns the dast profile data5309Mutation.vulnerabilityConfirm5310 with a custom role5311 with `admin_vulnerability` enabled5312 returns a successful response5313 with `custom_roles` disabled5314 returns an empty response5315 with `admin_vulnerability` disabled5316 returns an empty response5317Groups::RoadmapController5318 #show5319 when the user is signed in5320 when the user has access to the group5321 when epics feature is disabled5322 behaves like returns 404 status5323 is expected to respond with numeric status code not_found5324 when epics feature is enabled5325 returns 200 status5326 when roadmaps_sort is nil5327 stores roadmaps sorting param in user preference5328 defaults to sort_value_start_date_soon5329 when roadmaps_sort is present5330 update roadmaps_sort with current value5331 when the user does not have access to the group5332 behaves like returns 404 status5333 is expected to respond with numeric status code not_found5334 when user is not signed in5335 when epics feature is enabled5336 when anonymous users does not have access to the group5337 redirects to login page5338 when anonymous users have access to the group5339 stores epics sorting param in a cookie5340getting a list of external audit event destinations for the instance5341 when user is authenticated5342 when feature is licensed5343 when user is instance admin5344 returns the instance external audit event destinations5345 when streaming headers are also present for the destination5346 returns the instance external audit event destinations with headers5347 when streaming event type filters are present for the destination5348 returns the instance external audit event destinations with event type filters5349 when streaming event type filters are present for the destination5350 returns the instance external audit event destinations with event type filters5351 when user is not instance admin5352 behaves like a request that returns no destinations5353 returns no destinations5354 when feature is not licensed5355 when user is instance admin5356 behaves like a request that returns no destinations5357 returns no destinations5358 when user is not instance admin5359 behaves like a request that returns no destinations5360 returns no destinations5361 when user is not authenticated5362 when feature is licensed5363 behaves like a request that returns no destinations5364 returns no destinations5365 when feature is not licensed5366 behaves like a request that returns no destinations5367 returns no destinations5368API::ResourceWeightEvents5369 GET /projects/:id/issues/:noteable_id/resource_weight_events5370 returns an array of resource weight events5371 returns a 404 error when issue id not found5372 returns 404 when not authorized5373 GET /projects/:id/issues/:noteable_id/resource_weight_events/:event_id5374 returns a resource weight event by id5375 returns 404 when not authorized5376 returns a 404 error if resource weight event not found5377 pagination5378 returns the second page5379Querying a Milestone5380 burnupTimeSeries5381 with insufficient license5382 returns nil5383 when missing dates5384 explains why the report cannot be generated5385 when there are too many events5386 explains why the report cannot be generated5387 when "rollup_timebox_chart" feature flag is enabled5388 explains why the report cannot be generated5389 with correct license5390 returns burnup chart data5391 group milestones5392 behaves like milestones queried by timeframe5393 query for milestones by timeframe5394 without start5395 returns error5396 without end date5397 returns error5398 with start and end date5399 does not have errors5400 project milestones5401 behaves like milestones queried by timeframe5402 query for milestones by timeframe5403 without start5404 returns error5405 without end date5406 returns error5407 with start and end date5408 does not have errors5409Emails::IdentityVerification5410 confirmation_instructions_email5411 is sent to the user5412 has the correct subject5413 has the mailgun suppression bypass header5414 includes the token5415 includes the expiration time5416 behaves like an email sent from GitLab5417 has the characteristics of an email sent from GitLab5418 behaves like an email with information about unconfirmed user settings5419 when delete unconfirmed users settings are present5420 delete_unconfirmed_users_license: true, delete_unconfirmed_users_application_setting: true, email_confirmation_setting: "hard", delete_after_days: 7, result: true5421 has the correct email body contents5422 delete_unconfirmed_users_license: true, delete_unconfirmed_users_application_setting: true, email_confirmation_setting: "soft", delete_after_days: 7, result: true5423 has the correct email body contents5424 delete_unconfirmed_users_license: true, delete_unconfirmed_users_application_setting: true, email_confirmation_setting: "off", delete_after_days: 7, result: false5425 has the correct email body contents5426 delete_unconfirmed_users_license: false, delete_unconfirmed_users_application_setting: true, email_confirmation_setting: "hard", delete_after_days: 7, result: false5427 has the correct email body contents5428 delete_unconfirmed_users_license: true, delete_unconfirmed_users_application_setting: false, email_confirmation_setting: "hard", delete_after_days: 7, result: false5429 has the correct email body contents5430 delete_unconfirmed_users_license: false, delete_unconfirmed_users_application_setting: false, email_confirmation_setting: "hard", delete_after_days: 7, result: false5431 has the correct email body contents5432Projects::BlobController5433 POST create5434 redirects to blob5435 behaves like handling the codeowners interaction5436 redirects to blob5437 PUT update5438 behaves like handling the codeowners interaction5439 redirects to blob5440Querying an Epic board list5441 does not have an N+1 when querying title5442 when the user has access to the epic list5443 returns list with number of matching epics5444 behaves like a working graphql query5445 returns a successful response5446 when the user does not have access to the list5447 is expected to be nil5448 when ID argument is missing5449 raises an exception5450 when list ID is not found5451 is expected to be nil5452Set an Epic Subscription5453 when epics feature is disabled5454 does not subscribe user to the epic5455 behaves like a mutation that returns a top-level access error5456 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"5457 when epics feature is enabled5458 when a user wants to subscribe to an epic5459 subscribes the user to the epic5460 when a user wants to unsubscribe from an epic5461 unsubscribes the user from the epic5462Deleting an iteration5463 when the user does not have permission5464 behaves like a mutation that returns a top-level access error5465 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"5466 when the user has permission5467 when iterations feature is disabled5468 behaves like a mutation that returns top-level errors5469 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"5470 when iterations feature is enabled5471 when iteration belongs to a manual cadence5472 deletes the iteration5473 when iteration belongs to an automatic cadence5474 behaves like a mutation that returns top-level errors5475 is expected to contain exactly "Deleting iterations from automatic iteration cadences is not allowed."5476 when required arguments are missing5477 returns error about required argument5478Admin::UsersController5479 GET card_match5480 when not SaaS5481 responds with 4045482 when SaaS5483 when user has no credit card validation5484 redirects back to #show5485 when user has credit card validation5486 displays its own and matching card details5487 GET #index5488 eager loads authorized projects association5489 PATCH #update5490 when user is an enterprise user5491 when new email is not owned by the user's enterprise group5492 allows change user email5493 PUT #unlock5494 logs a user_access_unlock audit event with author set to the current user5495Query.project.mergeRequest.approvalState5496 when requesting information about approval state5497 when no approval rule is set to the MR5498 returns null data5499 when the MR has approval rules configured5500 returns appropriate data5501 when there are commented approvers5502 returns appropriate data5503 when there are invalid approvers rules5504 returns appropriate data5505getting iterations5506 query for iteration cadence5507 returns all group cadences5508 by global id5509 fetching cadences from group level5510 behaves like returns cadence by id5511 returns cadence5512 from a different group5513 behaves like returns cadence by id5514 returns cadence5515 fetching cadences from project level5516 behaves like returns cadence by id5517 returns cadence5518parse alert payload fields5519 is expected to eq [{"label"=>"title", "path"=>["title"], "type"=>"STRING"}, {"label"=>"started_at", "path"=>["started_a...", "path"=>["arr", 1], "type"=>"STRING"}, {"label"=>"arr[0]", "path"=>["arr", 0], "type"=>"STRING"}]5520 behaves like a working graphql query5521 returns a successful response5522 without user permission5523 behaves like query with error5524 returns an error5525 without license5526 behaves like query with error5527 returns an error5528 with invalid payload JSON5529 behaves like query with error5530 returns an error5531 with non-Hash JSON5532 behaves like query with error5533 returns an error5534Delete an audit event type filter5535 when unlicensed5536 behaves like a mutation on an unauthorized resource5537 behaves like a mutation that returns top-level errors5538 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"5539 when licensed5540 when current user is a group maintainer5541 behaves like a mutation that returns top-level errors5542 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"5543 when current user is a group developer5544 behaves like a mutation that returns top-level errors5545 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"5546 when current user is a group guest5547 behaves like a mutation that returns top-level errors5548 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"5549 when current user is a group owner5550 returns success response5551 when event type filters in input is empty5552 returns graphql error5553getting external status checks for a branch rule5554 is expected to eq 15555 when the user does have read_external_status_check permission5556 behaves like a working graphql query5557 returns a successful response5558 returns external_status_checks_data5559 when the user does not have read_external_status_check permission5560 behaves like a working graphql query5561 returns a successful response5562 hides external_status_checks_data5563getting Incident Management on-call shifts5564 returns the correct properties of the on-call shifts5565 performance5566 for additional participant5567 behaves like avoids N+1 queries5568 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007efe6aa53da8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>5569 for additional rotation with participants5570 behaves like avoids N+1 queries5571 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007efe552e90f0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>5572 behaves like a working graphql query5573 returns a successful response5574ProfilesController5575 PUT update5576 updating name5577 when `disable_name_update_for_users` feature is available5578 when the ability to update thier name is not disabled for users5579 behaves like a user can update their name5580 updates their name5581 behaves like a user can update their name5582 updates their name5583 when the ability to update their name is disabled for users5584 as a regular user5585 does not update their name5586 as an admin in admin mode5587 behaves like a user can update their name5588 updates their name5589 when `disable_name_update_for_users` feature is not available5590 behaves like a user can update their name5591 updates their name5592 behaves like a user can update their name5593 updates their name5594UsersController5595 #available_group_templates5596 shows the first page of the pagination5597Admin::ElasticsearchController5598 POST #enqueue_index5599 starts indexing5600 without an index5601 does nothing and returns 4045602 POST #trigger_reindexing5603 creates a reindexing task5604 does not create a reindexing task if there is another one5605 does not create a reindexing task if a required param is nil5606 POST #cancel_index_deletion5607 sets delete_original_index_at to nil5608 POST #retry_migration5609 deletes the migration record and drops the halted cache5610Onboarding5611 .user_onboarding_in_progress?5612 user?: true, user_onboarding?: true, com?: true5613 is expected to equal true5614 user?: true, user_onboarding?: true, com?: false5615 is expected to equal false5616 user?: true, user_onboarding?: false, com?: true5617 is expected to equal false5618 user?: true, user_onboarding?: false, com?: false5619 is expected to equal false5620 user?: false, user_onboarding?: true, com?: true5621 is expected to equal false5622 user?: false, user_onboarding?: true, com?: false5623 is expected to equal false5624 user?: false, user_onboarding?: false, com?: true5625 is expected to equal false5626 user?: false, user_onboarding?: false, com?: false5627 is expected to equal false5628Query.project(fullPath).securityTrainingUrls5629 when unauthenticated5630 behaves like a working graphql query that returns no data5631 contains no data5632 behaves like a working graphql query5633 returns a successful response5634 when authenticated5635 when not authorized5636 behaves like a working graphql query that returns no data5637 contains no data5638 behaves like a working graphql query5639 returns a successful response5640 when authorized5641 returns the security training urls5642Getting the current Geo node5643 returns the current GeoNode5644 behaves like a working graphql query5645 returns a successful response5646 connection fields5647 when selectiveSyncNamespaces is queried5648 returns selective sync namespaces5649 supports cursor-based pagination5650Projects::IterationCadencesController5651 behaves like accessing iteration cadences5652 index5653 role: :none, status: :not_found5654 behaves like returning response status5655 returns not_found5656 role: :guest, status: :success5657 behaves like returning response status5658 returns success5659 role: :developer, status: :success5660 behaves like returning response status5661 returns success5662Security::DashboardController5663 GET #show5664 behaves like Security::ApplicationController5665 when the user is authenticated5666 responds with success5667 and the instance does not have an Ultimate license5668 404s5669 when the user is not authenticated5670 redirects the user to the sign in page5671 when security dashboard feature5672 is enabled5673 is expected to render template instance_security5674 is disabled5675 is expected to respond with numeric status code not_found5676 is expected to render template errors/not_found5677API::NugetProjectPackages5678 GET /api/v4/projects/:id/packages/nuget/download/*package_name/*package_version/*package_filename5679 behaves like applying ip restriction for group5680 in group without restriction5681 behaves like returning response status5682 returns ok5683 in group with restriction5684 with address within the range5685 behaves like returning response status5686 returns ok5687 with address outside the range5688 behaves like returning response status5689 returns not_found5690Query.vulnerabilities.details5691 returns a vulnerability details5692view usage quotas5693 GET /groups/:group/-/usage_quotas5694 when storage size is over limit5695 behaves like namespace storage limit alert5696 does render5697 when user has dismissed already5698 does not render alert5699Query.vulnerabilities.identifiers5700 returns a vulnerability identifiers5701AiAction for Generate Commit Message5702#<Thread:0x00007efde2a1a5e0 /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):5703/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=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6NDAsIm1lcmdlX3JlcXVlc3RfaWQiOjMxLCJsYXRlc3RfYnVpbGRfc3RhcnRlZF9hdCI6bnVsbCwibGF0ZXN0X2J1aWxkX2ZpbmlzaGVkX2F0IjpudWxsLCJmaXJzdF9kZXBsb3llZF90b19wcm9kdWN0aW9uX2F0IjpudWxsLCJtZXJnZWRfYXQiOm51bGwsImNyZWF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjMyOjA1IFVUQyIsInVwZGF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjMyOjA1IFVUQyIsInBpcGVsaW5lX2lkIjpudWxsLCJtZXJnZWRfYnlfaWQiOm51bGwsImxhdGVzdF9jbG9zZWRfYnlfaWQiOm51bGwsImxhdGVzdF9jbG9zZWRfYXQiOm51bGwsImZpcnN0X2NvbW1lbnRfYXQiOm51bGwsImZpcnN0X2NvbW1pdF9hdCI6bnVsbCwibGFzdF9jb21taXRfYXQiOm51bGwsImRpZmZfc2l6ZSI6bnVsbCwibW9kaWZpZWRfcGF0aHNfc2l6ZSI6bnVsbCwiY29tbWl0c19jb3VudCI6bnVsbCwiZmlyc3RfYXBwcm92ZWRfYXQiOm51bGwsImZpcnN0X3JlYXNzaWduZWRfYXQiOm51bGwsImFkZGVkX2xpbmVzIjpudWxsLCJyZW1vdmVkX2xpbmVzIjpudWxsfSwidXNlcl9pZCI6bnVsbCwiaXNfZ2l0bGFiX3RlYW1fbWVtYmVyIjpudWxsLCJuYW1lc3BhY2VfaWQiOm51bGwsInByb2plY3RfaWQiOm51bGwsImNvbnRleHRfZ2VuZXJhdGVkX2F0IjoiMjAyMy0xMS0yMiAxNjozMjowNSBVVEMifX1dfQ==&dtm=1700670725707&e=se&eid=62f44fd6-b681-4586-93df-23b27105bcc1&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1700670725710&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)5704You can stub this request with the following snippet:5705stub_request(:get, "https://db-snowplow.trx.gitlab.net/i?cx=eyJzY2hlbWEiOiJpZ2x1OmNvbS5zbm93cGxvd2FuYWx5dGljcy5zbm93cGxvdy9jb250ZXh0cy9qc29uc2NoZW1hLzEtMC0xIiwiZGF0YSI6W3sic2NoZW1hIjoiaWdsdTpjb20uZ2l0bGFiL2dpdGxhYl9zdGFuZGFyZC9qc29uc2NoZW1hLzEtMC05IiwiZGF0YSI6eyJlbnZpcm9ubWVudCI6InByb2R1Y3Rpb24iLCJzb3VyY2UiOiJnaXRsYWItcmFpbHMiLCJwbGFuIjpudWxsLCJleHRyYSI6eyJpZCI6NDAsIm1lcmdlX3JlcXVlc3RfaWQiOjMxLCJsYXRlc3RfYnVpbGRfc3RhcnRlZF9hdCI6bnVsbCwibGF0ZXN0X2J1aWxkX2ZpbmlzaGVkX2F0IjpudWxsLCJmaXJzdF9kZXBsb3llZF90b19wcm9kdWN0aW9uX2F0IjpudWxsLCJtZXJnZWRfYXQiOm51bGwsImNyZWF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjMyOjA1IFVUQyIsInVwZGF0ZWRfYXQiOiIyMDIzLTExLTIyIDE2OjMyOjA1IFVUQyIsInBpcGVsaW5lX2lkIjpudWxsLCJtZXJnZWRfYnlfaWQiOm51bGwsImxhdGVzdF9jbG9zZWRfYnlfaWQiOm51bGwsImxhdGVzdF9jbG9zZWRfYXQiOm51bGwsImZpcnN0X2NvbW1lbnRfYXQiOm51bGwsImZpcnN0X2NvbW1pdF9hdCI6bnVsbCwibGFzdF9jb21taXRfYXQiOm51bGwsImRpZmZfc2l6ZSI6bnVsbCwibW9kaWZpZWRfcGF0aHNfc2l6ZSI6bnVsbCwiY29tbWl0c19jb3VudCI6bnVsbCwiZmlyc3RfYXBwcm92ZWRfYXQiOm51bGwsImZpcnN0X3JlYXNzaWduZWRfYXQiOm51bGwsImFkZGVkX2xpbmVzIjpudWxsLCJyZW1vdmVkX2xpbmVzIjpudWxsfSwidXNlcl9pZCI6bnVsbCwiaXNfZ2l0bGFiX3RlYW1fbWVtYmVyIjpudWxsLCJuYW1lc3BhY2VfaWQiOm51bGwsInByb2plY3RfaWQiOm51bGwsImNvbnRleHRfZ2VuZXJhdGVkX2F0IjoiMjAyMy0xMS0yMiAxNjozMjowNSBVVEMifX1dfQ==&dtm=1700670725707&e=se&eid=62f44fd6-b681-4586-93df-23b27105bcc1&p=srv&se_ac=database_event_create&se_ca=MergeRequest::Metrics&se_la=merge_request_metrics&se_pr=create&stm=1700670725710&tna=gl&tv=rb-0.8.0").5706 with(5707 headers: {5708 'Accept'=>'*/*',5709 'Accept-Encoding'=>'gzip;q=1.0,deflate;q=0.6,identity;q=0.3',5710 'User-Agent'=>'Ruby'5711 }).5712 to_return(status: 200, body: "", headers: {})5713============================================================5714 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'5715 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'5716 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'5717 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:271:in `each'5718 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'5719 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'5720 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'5721 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `loop'5722 from /builds/gitlab-org/gitlab/vendor/ruby/3.1.0/gems/snowplow-tracker-0.8.0/lib/snowplow-tracker/emitters.rb:425:in `consume'5723 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'5724 successfully performs an generate commit message request5725 when experiment_features_enabled disabled5726 returns nil5727 when ai_global_switch feature flag is disabled5728 returns nil5729getting merge request listings (EE) nested in a project5730 when requesting approval fields5731 exposes approval metadata5732Creating a new on-call schedule5733 create a new on-call schedule5734 without required argument name5735 behaves like an invalid argument to the mutation5736 behaves like a mutation that returns top-level errors5737 is expected to contain exactly (include "invalid value for name")5738 without required argument project_path5739 behaves like an invalid argument to the mutation5740 behaves like a mutation that returns top-level errors5741 is expected to contain exactly (include "invalid value for projectPath")5742 without required argument timezone5743 behaves like an invalid argument to the mutation5744 behaves like a mutation that returns top-level errors5745 is expected to contain exactly (include "invalid value for timezone")5746Groups::RunnersController5747 #index5748 enables runner_upgrade_management_for_namespace licensed feature5749 when fetching runner releases is disabled5750 does not enable runner_upgrade_management_for_namespace licensed feature5751 #show5752 enables runner_upgrade_management_for_namespace licensed feature5753 when fetching runner releases is disabled5754 does not enable runner_upgrade_management_for_namespace licensed feature5755Admin::ApplicationSettings::ScimOauthController5756 POST admin_application_settings_scim_oauth5757 when the user is an admin5758 when admin mode is not enabled5759 returns access denied5760 when admin mode is enabled5761 when the feature is not available5762 returns not found5763 when the feature is available5764 successfully creates a token5765 when a token already exists5766 successfully resets the token5767 when the SCIM token is invalid5768 returns an error5769 when the user is not an admin5770 returns not found5771Admin::SessionsController5772 #create5773 when using two-factor authentication5774 when OTP authentication fails5775 behaves like an auditable failed authentication5776 log an audit event5777 when WebAuthn authentication fails5778 behaves like an auditable failed authentication5779DEPRECATION WARNING: Invalid Feature Flag webauthn stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:49)5780 log an audit event5781Projects::RepositoriesController5782 GET /archive5783 when user is banned from the project's top-level group5784 prevents the archive download5785 when user is not banned from the project's top-level group5786 proceeds with the archive download5787Mutations::Analytics::DevopsAdoption::EnabledNamespaces::Enable5788 creates the enabled_namespace with the group5789 when the user cannot manage enabled_namespaces5790 behaves like a mutation that returns a top-level access error5791 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"5792 when the feature is not available5793 behaves like a mutation that returns a top-level access error5794 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"5795InternalRedirect5796 #host_allowed?5797 allows redirecting to existing geo nodes5798Groups::Security::ComplianceFrameworkReportsController5799 GET /groups/*group_id/-/security/compliance_framework_reports(.:format)5800 when user does not have access to dashboard5801 renders not found5802 when user has access to compliance reports5803 defers email generation and redirects with message on following page5804getting a repository in a project5805 when ref arg is passed5806 returns the CODEOWNERS file from the requested branch5807 when ref arg is invalid5808 returns an error5809 when ref arg is omitted5810 returns the CODEOWNERS file from the default branch5811Removing a namespace ban5812 removes the ban5813 when resource is not accessible to the user5814 returns an error message5815view audit events5816 GET /groups/:group/-/audit_events5817 returns 200 response5818 avoids N+1 DB queries5819Emails::ComplianceFrameworks5820 #compliance_frameworks_csv_email5821 renders an email with attachment5822API::NotificationSettings5823 GET /groups/:id/notification_settings5824 includes group-level custom notification events5825 GET /projects/:id/notification_settings5826 does not include group-level custom notification events5827Admin::ImpersonationTokensController5828 when impersonation is enabled5829 when personal access tokens are disabled5830 responds with a 4045831Query.member_role_permissions5832 returns all customizable ablities5833 behaves like a working graphql query5834 returns a successful response5835Profiles::UsageQuotasController5836 when signed in5837 GET index5838 renders usage quota page5839 GET index5840 does not render the usage quota page5841API::Ai::Experimentation::Anthropic5842 POST /ai/experimentation/anthropic/complete5843 behaves like delegates AI request to Workhorse5844 responds with Workhorse send-url headers5845 behaves like behind AI experimentation API feature flag5846 when ai_experimentation_api is disabled5847 responds as not found5848AuditEvents::AuditEventsParams5849 #filter_by_author5850 returns params when the user has permission to view all events5851 returns safe params with the current user id when the user lacks permission to view all events5852auto_explain log contains 1713 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-6-6.337.main.ndjson.gz5853took 31.6720500855854auto_explain log contains 1714 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-6-6.337.ci.ndjson.gz5855took 30.4075289645856Knapsack report was generated. Preview:5857{5858 "ee/spec/requests/api/members_spec.rb": 192.320932631,5859 "ee/spec/requests/api/vulnerabilities_spec.rb": 185.40278638300015,5860 "ee/spec/requests/api/groups_spec.rb": 146.445609011,5861 "ee/spec/requests/api/geo_nodes_spec.rb": 137.98603810399982,5862 "ee/spec/requests/api/epics_spec.rb": 84.66077549400006,5863 "ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb": 86.54446134299997,5864 "ee/spec/mailers/notify_spec.rb": 60.48409721400003,5865 "ee/spec/requests/api/wikis_spec.rb": 46.197222486999635,5866 "ee/spec/controllers/ee/groups_controller_spec.rb": 44.55108363599993,5867 "ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb": 36.48317221800016,5868 "ee/spec/controllers/projects/licenses_controller_spec.rb": 41.4990181649996,5869 "ee/spec/requests/api/graphql/mutations/geo/registries/bulk_update_spec.rb": 21.43328438699973,5870 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 35.071029054000064,5871 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 29.51641646500002,5872 "ee/spec/controllers/projects/clusters_controller_spec.rb": 32.091882851000264,5873 "ee/spec/controllers/projects/settings/operations_controller_spec.rb": 28.725879816000088,5874 "ee/spec/controllers/projects/security/vulnerabilities_controller_spec.rb": 28.212187188999906,5875 "ee/spec/requests/api/group_boards_spec.rb": 22.042378223000014,5876 "ee/spec/requests/api/graphql/work_item_spec.rb": 22.554288657000143,5877 "ee/spec/controllers/admin/clusters_controller_spec.rb": 24.579928321999887,5878 "ee/spec/requests/groups/security/credentials_controller_spec.rb": 20.725320411999746,5879 "ee/spec/requests/groups/analytics/dashboards_controller_spec.rb": 20.947364122000636,5880 "ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb": 19.461420666999857,5881 "ee/spec/requests/api/merge_request_approval_settings_spec.rb": 11.612976028000048,5882 "ee/spec/requests/api/admin/search/migrations_spec.rb": 23.574699093000163,5883 "ee/spec/requests/api/admin/search/zoekt_spec.rb": 10.256407000999843,5884 "ee/spec/requests/ee/registrations_controller_spec.rb": 9.171211418999974,5885 "ee/spec/controllers/groups/security/policies_controller_spec.rb": 11.814424188999965,5886 "ee/spec/requests/api/graphql/project/dast_site_profiles_spec.rb": 12.791692051000155,5887 "ee/spec/requests/projects/settings/access_tokens_controller_spec.rb": 13.0816445749997,5888 "ee/spec/controllers/projects/pipelines_controller_spec.rb": 9.460980742000174,5889 "ee/spec/requests/api/graphql/project/dependency_proxy_packages_setting_spec.rb": 11.384633717999805,5890 "ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb": 8.018649651000032,5891 "ee/spec/requests/api/graphql/boards/board_lists_query_spec.rb": 11.028929349000009,5892 "ee/spec/requests/api/ci/jobs_spec.rb": 10.835085086000163,5893 "ee/spec/requests/smartcard_controller_spec.rb": 5.279305182999906,5894 "ee/spec/requests/ee/application_controller_spec.rb": 8.600259518999792,5895 "ee/spec/requests/api/project_import_spec.rb": 9.683015026999783,5896 "ee/spec/controllers/groups/issues_controller_spec.rb": 9.490136454000094,5897 "ee/spec/requests/api/graphql/mutations/dependency_proxy/packages/settings/update_spec.rb": 8.455499558000156,5898 "ee/spec/requests/api/dependency_list_exports_spec.rb": 5.927947091000078,5899 "ee/spec/controllers/projects/settings/repository_controller_spec.rb": 6.887693687000137,5900 "ee/spec/controllers/groups/iterations_controller_spec.rb": 5.419895672999701,5901 "ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb": 6.259311725000316,5902 "ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb": 5.9863391240000965,5903 "ee/spec/requests/api/graphql/mutations/audit_events/google_cloud_logging_configurations/destroy_spec.rb": 5.766786894999768,5904 "ee/spec/requests/api/graphql/mutations/audit_events/amazon_s3_configurations/update_spec.rb": 5.673344756999995,5905 "ee/spec/controllers/groups/groups_controller_spec.rb": 5.993570033000196,5906 "ee/spec/requests/api/graphql/remote_development/workspaces/with_project_ids_arg_spec.rb": 6.184848665999652,5907 "ee/spec/requests/api/analytics/group_activity_analytics_spec.rb": 4.141917572000239,5908 "ee/spec/requests/api/graphql/pipeline_security_report_finding_spec.rb": 8.204284544000075,5909 "ee/spec/controllers/ee/projects/variables_controller_spec.rb": 5.441430750000109,5910 "ee/spec/requests/custom_roles/read_vulnerability/request_spec.rb": 5.999982201999956,5911 "ee/spec/requests/api/internal/upcoming_reconciliations_spec.rb": 3.3680037389999598,5912 "ee/spec/requests/api/graphql/mutations/vulnerabilities/create_issue_link_spec.rb": 4.017260447999888,5913 "ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb": 3.5434587240001747,5914 "ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb": 5.081776429999991,5915 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 6.305537578999974,5916 "ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb": 5.268138274000194,5917 "ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb": 4.313532957000007,5918 "ee/spec/requests/api/analytics/code_review_analytics_spec.rb": 5.798947140000109,5919 "ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb": 3.8071782880001592,5920 "ee/spec/controllers/security/projects_controller_spec.rb": 3.0923495480001293,5921 "ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/create_spec.rb": 3.8411983429996326,5922 "ee/spec/requests/api/graphql/project/branch_protections/unprotect_access_levels_spec.rb": 5.411979724000048,5923 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/create_spec.rb": 5.097537758000271,5924 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/update_spec.rb": 3.8474341719997938,5925 "ee/spec/mailers/credentials_inventory_mailer_spec.rb": 1.5918983880001178,5926 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb": 4.579463630000191,5927 "ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb": 3.33166161500003,5928 "ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb": 4.787404090999644,5929 "ee/spec/requests/projects/ci/catalog/resources_controller_spec.rb": 3.8552613609999753,5930 "ee/spec/requests/api/graphql/project/branch_rules/approval_project_rules_spec.rb": 3.6209048750001784,5931 "ee/spec/controllers/projects/iterations_controller_spec.rb": 3.5026149509999414,5932 "ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb": 3.8875429170002462,5933 "ee/spec/requests/projects/audit_events_spec.rb": 3.7993062289997397,5934 "ee/spec/requests/api/graphql/project/pipeline/dast_profile_spec.rb": 3.17248977700001,5935 "ee/spec/requests/api/graphql/mutations/vulnerabilities/confirm_spec.rb": 3.834986635000405,5936 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 3.5400398090000635,5937 "ee/spec/requests/api/graphql/audit_events/instance_external_audit_event_destination_spec.rb": 2.3437998569997944,5938 "ee/spec/requests/api/resource_weight_events_spec.rb": 3.2758773119999205,5939 "ee/spec/requests/api/graphql/milestone_spec.rb": 2.9697281019998627,5940 "ee/spec/mailers/ee/emails/identity_verification_spec.rb": 2.7215914590001375,5941 "ee/spec/controllers/ee/projects/blob_controller_spec.rb": 3.720942551999997,5942 "ee/spec/requests/api/graphql/boards/epic_list_query_spec.rb": 2.6196661320000203,5943 "ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb": 2.7435020890002306,5944 "ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb": 2.829737952999949,5945 "ee/spec/requests/admin/users_controller_spec.rb": 2.624413210000057,5946 "ee/spec/requests/api/graphql/merge_requests/approval_state_spec.rb": 2.458655790999728,5947 "ee/spec/requests/api/graphql/iterations/cadences_spec.rb": 2.4080467820003832,5948 "ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb": 2.1961343529997066,5949 "ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb": 2.7077473340000324,5950 "ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb": 2.363282492000053,5951 "ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb": 2.5023971229998097,5952 "ee/spec/controllers/profiles_controller_spec.rb": 1.2683665479999036,5953 "ee/spec/requests/users_controller_spec.rb": 2.486248359000001,5954 "ee/spec/controllers/admin/elasticsearch_controller_spec.rb": 1.699088225000196,5955 "ee/spec/controllers/concerns/onboarding_spec.rb": 0.7790145779999875,5956 "ee/spec/requests/api/graphql/project/security_training_urls_spec.rb": 1.9077584659999047,5957 "ee/spec/requests/api/graphql/geo/geo_node_spec.rb": 1.50436974799959,5958 "ee/spec/controllers/projects/iteration_cadences_controller_spec.rb": 1.3439087159999872,5959 "ee/spec/controllers/security/dashboard_controller_spec.rb": 0.8559654850000697,5960 "ee/spec/requests/api/nuget_project_packages_spec.rb": 1.8404321040002287,5961 "ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb": 1.998558887999934,5962 "ee/spec/requests/groups/usage_quotas_spec.rb": 1.5228245199996309,5963 "ee/spec/requests/api/graphql/vulnerabilities/identifiers_spec.rb": 2.2668145520001417,5964 "ee/spec/requests/api/graphql/mutations/projects/generate_commit_message_spec.rb": 1.6475399169999037,5965 "ee/spec/requests/api/graphql/project/merge_requests_spec.rb": 1.4236068029999842,5966 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 1.5370202439999048,5967 "ee/spec/controllers/groups/runners_controller_spec.rb": 1.2913167790002262,5968 "ee/spec/requests/admin/application_settings/scim_oauth_controller_spec.rb": 0.9847856100000172,5969 "ee/spec/controllers/ee/admin/sessions_controller_spec.rb": 0.7523727889997645,5970 "ee/spec/requests/ee/projects/repositories_controller_spec.rb": 1.4125278869996691,5971 "ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/enable_spec.rb": 1.345414996999807,5972 "ee/spec/controllers/concerns/internal_redirect_spec.rb": 1.5181815020000613,5973 "ee/spec/requests/groups/security/compliance_framework_reports_controller_spec.rb": 1.1855917440002486,5974 "ee/spec/requests/api/graphql/project/repository_spec.rb": 1.3036227740003596,5975 "ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb": 1.3425168170001598,5976 "ee/spec/requests/groups/labels_spec.rb": 1.0145303669996792,5977 "ee/spec/mailers/emails/compliance_frameworks_spec.rb": 0.9807776209995609,5978 "ee/spec/requests/api/notification_settings_spec.rb": 0.7454825620002339,5979 "ee/spec/requests/admin/impersonation_tokens_controller_spec.rb": 0.4780264559999523,5980 "ee/spec/requests/api/graphql/member_role/permissions_list_spec.rb": 0.27850716199964154,5981 "ee/spec/controllers/profiles/usage_quotas_controller_spec.rb": 0.3652619049998975,5982 "ee/spec/requests/api/ai/experimentation/anthropic_spec.rb": 0.45513364500038733,5983 "ee/spec/controllers/concerns/audit_events/audit_events_params_spec.rb": 0.29500926400032775984}5985Knapsack global time execution for tests: 30m 16s5986Pending: (Failures listed here are expected and do not affect your suite's status)5987 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5988 # Temporarily skipped with xcontext5989 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835990 2) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer return the empty list of wiki pages5991 # Temporarily skipped with xcontext5992 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385993 3) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages without content5994 # Temporarily skipped with xcontext5995 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105996 4) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages with content5997 # Temporarily skipped with xcontext5998 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235999 5) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer return the empty list of wiki pages6000 # Temporarily skipped with xcontext6001 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:386002 6) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages without content6003 # Temporarily skipped with xcontext6004 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:106005 7) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages with content6006 # Temporarily skipped with xcontext6007 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:236008 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found6009 # Temporarily skipped with xcontext6010 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1836011 9) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer behaves like returns wiki page 6012 # Temporarily skipped with xcontext6013 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546014 10) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is false behaves like returns wiki page 6015 # Temporarily skipped with xcontext6016 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546017 11) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is true behaves like returns wiki page 6018 # Temporarily skipped with xcontext6019 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546020 12) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is not present retrieves the last version6021 # Temporarily skipped with xcontext6022 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:956023 13) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set retrieves the specific page version6024 # Temporarily skipped with xcontext6025 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1036026 14) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found6027 # Temporarily skipped with xcontext6028 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756029 15) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found6030 # Temporarily skipped with xcontext6031 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756032 16) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer behaves like returns wiki page 6033 # Temporarily skipped with xcontext6034 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546035 17) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is false behaves like returns wiki page 6036 # Temporarily skipped with xcontext6037 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546038 18) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is true behaves like returns wiki page 6039 # Temporarily skipped with xcontext6040 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:546041 19) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is not present retrieves the last version6042 # Temporarily skipped with xcontext6043 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:956044 20) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set retrieves the specific page version6045 # Temporarily skipped with xcontext6046 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1036047 21) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found6048 # Temporarily skipped with xcontext6049 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756050 22) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page does not exist returns 404 Wiki Page Not Found6051 # Temporarily skipped with xcontext6052 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756053 23) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found6054 # Temporarily skipped with xcontext6055 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1836056 24) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page6057 # Temporarily skipped with xcontext6058 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1176059 25) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty title6060 # Temporarily skipped with xcontext6061 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1316062 26) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty content6063 # Temporarily skipped with xcontext6064 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1316065 27) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page6066 # Temporarily skipped with xcontext6067 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1176068 28) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty title6069 # Temporarily skipped with xcontext6070 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1316071 29) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty content6072 # Temporarily skipped with xcontext6073 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1316074 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found6075 # Temporarily skipped with xcontext6076 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1836077 31) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page6078 # Temporarily skipped with xcontext6079 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1446080 32) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing title6081 # Temporarily skipped with xcontext6082 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566083 33) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing content6084 # Temporarily skipped with xcontext6085 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566086 34) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing format6087 # Temporarily skipped with xcontext6088 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566089 35) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found6090 # Temporarily skipped with xcontext6091 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756092 36) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page6093 # Temporarily skipped with xcontext6094 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1446095 37) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing title6096 # Temporarily skipped with xcontext6097 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566098 38) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing content6099 # Temporarily skipped with xcontext6100 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566101 39) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing format6102 # Temporarily skipped with xcontext6103 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1566104 40) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page is not existing returns 404 Wiki Page Not Found6105 # Temporarily skipped with xcontext6106 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1756107 41) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found6108 # Temporarily skipped with xcontext6109 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1836110 42) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden6111 # Temporarily skipped with xcontext6112 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1676113 43) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content6114 # Temporarily skipped with xcontext6115 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1916116 44) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found6117 # Temporarily skipped with xcontext6118 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1836119 45) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer pushes attachment to the wiki repository6120 # Temporarily skipped with xcontext6121 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1976122 46) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on empty file6123 # Temporarily skipped with xcontext6124 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2066125 47) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on invalid temp file6126 # Temporarily skipped with xcontext6127 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2166128 48) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer is backward compatible with regular multipart uploads6129 # Temporarily skipped with xcontext6130 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2266131 49) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer pushes attachment to the wiki repository6132 # Temporarily skipped with xcontext6133 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1976134 50) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on empty file6135 # Temporarily skipped with xcontext6136 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2066137 51) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on invalid temp file6138 # Temporarily skipped with xcontext6139 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2166140 52) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer is backward compatible with regular multipart uploads6141 # Temporarily skipped with xcontext6142 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2266143Failures:6144 1) API::Epics PUT /groups/:id/epics/:epic_iid when epics feature is enabled when the request is correct with labels updates the epic with labels param as array6145 Failure/Error: raise(error) if raise_error?6146 Gitlab::QueryLimiting::Transaction::ThresholdExceededError:6147 Too many SQL queries were executed in PUT /api/:version/groups/:id/(-/)epics/:epic_iid(.:format): a maximum of 112 is allowed but 113 SQL queries were executed6148 0: SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'caAuhI4fG5o9zdUCJOIRMLJH4s+IkRkpKIoIA5rFtkM=' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/6149 1: UPDATE "personal_access_tokens" SET "last_used_at" = '2023-11-22 16:14:21.799348' WHERE "personal_access_tokens"."id" = 514 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/personal_access_tokens/last_used_service.rb:15:in `execute'*/6150 2: SELECT "users".* FROM "users" WHERE "users"."id" = 848 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/auth/auth_finders.rb:154:in `find_user_from_access_token'*/6151 3: SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'caAuhI4fG5o9zdUCJOIRMLJH4s+IkRkpKIoIA5rFtkM=' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/6152 4: SELECT "routes".* FROM "routes" WHERE "routes"."source_type" = 'Namespace' AND "routes"."path" = 'group246' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:34:in `find_by_full_path'*/6153 5: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:44:in `find_by_full_path'*/6154 6: SELECT "saml_providers"."id", "saml_providers"."group_id", "saml_providers"."enabled", "saml_providers"."certificate_fingerprint", "saml_providers"."sso_url", "saml_providers"."enforced_sso", "saml_providers"."enforced_group_managed_accounts", "saml_providers"."prohibited_outer_forks", "saml_providers"."default_membership_role", "saml_providers"."git_check_enforced", "saml_providers"."member_role_id" FROM "saml_providers" WHERE "saml_providers"."group_id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/group.rb:373:in `block in root_saml_provider'*/6155 7: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 1 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/api/helpers/epics_helpers.rb:40:in `epic'*/6156 8: SELECT MAX("members"."access_level") AS "maximum_access_level", "members"."user_id" AS "members_user_id" FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."source_id" = 1504 AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5))6157 UNION6158 (WITH "group_group_links_cte" AS MATERIALIZED (SELECT "group_group_links".* FROM "group_group_links" WHERE "group_group_links"."shared_group_id" = 1504) SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members", "group_group_links_cte" AS "group_group_links" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" = "group_group_links"."shared_with_group_id" AND "members"."source_type" = 'Namespace' AND "members"."state" = 0 AND (members.access_level > 5))) members WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" = 848 GROUP BY "members"."user_id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/group.rb:920:in `block in max_member_access'*/6159 9: SELECT "labels".* FROM "labels" INNER JOIN "label_links" ON "labels"."id" = "label_links"."label_id" WHERE "label_links"."target_id" = 205 AND "label_links"."target_type" = 'Epic' ORDER BY "labels"."title" ASC /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:532:in `associations_before_update'*/6160 10: SELECT "users".* FROM "users" WHERE "users"."id" = 1057 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/mentionable.rb:62:in `block in all_references'*/6161 11: SELECT "epics".* FROM "epics" WHERE "epics"."id" = 206 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/services/epics/base_service.rb:137:in `filter_parent_epic'*/6162 12: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM find_namespaces_by_id(1504) "namespaces" WHERE "namespaces"."type" = 'Group' AND ("namespaces"."id" IS NOT NULL) LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/use_sql_function_for_primary_key_lookups.rb:29:in `find'*/6163 13: SELECT MAX("members"."access_level") AS "maximum_access_level", "hierarchy"."id" AS "hierarchy_id" FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 848 /* allow_cross_joins_across_databases */)6164 UNION6165 (SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "group_group_links"."shared_group_id" AS source_id, "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id", "members"."expiry_notified_at" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" INNER JOIN group_group_links ON members.source_id = group_group_links.shared_with_group_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 848 /* allow_cross_joins_across_databases */)) members INNER JOIN (SELECT id, unnest(traversal_ids) as traversal_id FROM "namespaces" WHERE "namespaces"."id" = 1504) as hierarchy ON members.source_id = hierarchy.traversal_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' GROUP BY "hierarchy"."id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/preloaders/user_max_access_level_in_groups_preloader.rb:24:in `preload_with_traversal_ids'*/6166 14: WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 1504) SELECT "namespaces"."id", "namespaces"."parent_id", "gitlab_subscriptions"."hosted_plan_id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id LEFT OUTER JOIN gitlab_subscriptions ON gitlab_subscriptions.namespace_id=namespaces.id WHERE "namespaces"."type" = 'Group' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/gitlab/group_plans_preloader.rb:24:in `preload'*/6167 15: SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 1504)6168 UNION6169 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 848 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (10,20)) AND (NOT EXISTS (SELECT 1 FROM "banned_users" INNER JOIN project_authorizations ON project_authorizations.user_id = banned_users.user_id WHERE (projects.creator_id = banned_users.user_id) AND (project_authorizations.project_id = projects.id) AND "project_authorizations"."access_level" = 50)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 1504 AND "namespaces"."type" = 'Group' /* allow_cross_joins_across_databases */))) labels WHERE "labels"."title" IN ('label1', 'label2', 'foo', 'bar', '&', '?') ORDER BY "labels"."title" ASC /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/labels/available_labels_service.rb:18:in `find_or_create_by_titles'*/6170 16: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6171 17: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'label1' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6172 18: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('label1', '#6699cc', '2023-11-22 16:14:21.910086', '2023-11-22 16:14:21.910086', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6173 19: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6174 20: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6175 21: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'label2' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6176 22: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('label2', '#6699cc', '2023-11-22 16:14:21.921569', '2023-11-22 16:14:21.921569', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6177 23: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6178 24: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6179 25: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'foo' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6180 26: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('foo', '#6699cc', '2023-11-22 16:14:21.932401', '2023-11-22 16:14:21.932401', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6181 27: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6182 28: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6183 29: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = 'bar' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6184 30: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('bar', '#6699cc', '2023-11-22 16:14:21.942332', '2023-11-22 16:14:21.942332', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6185 31: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6186 32: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6187 33: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = '&' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6188 34: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('&', '#6699cc', '2023-11-22 16:14:21.952072', '2023-11-22 16:14:21.952072', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6189 35: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6190 36: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6191 37: SELECT 1 AS one FROM "labels" WHERE "labels"."title" = '?' AND "labels"."group_id" = 1504 AND "labels"."project_id" IS NULL LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6192 38: INSERT INTO "labels" ("title", "color", "created_at", "updated_at", "description_html", "type", "group_id", "cached_markdown_version") VALUES ('?', '#6699cc', '2023-11-22 16:14:21.962968', '2023-11-22 16:14:21.962968', '', 'GroupLabel', 1504, 2097152) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6193 39: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6194 40: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/6195 41: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:21.968731' WHERE "epics"."id" = 205 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/6196 42: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:495:in `assign_requested_labels'*/6197 43: SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 1504 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:158:in `full_attribute'*/6198 44: SELECT "labels".* FROM "labels" WHERE "labels"."id" IN (138, 139, 140, 141, 142, 143) ORDER BY "labels"."title" ASC /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:323:in `update'*/6199 45: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6200 46: DELETE FROM "label_links" WHERE "label_links"."target_id" = 205 AND "label_links"."target_type" = 'Epic' AND "label_links"."label_id" IN (137, 136, 136) AND "label_links"."target_type" = 'Epic' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6201 47: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (138, 205, 'Epic', '2023-11-22 16:14:21.987511', '2023-11-22 16:14:21.987511') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6202 48: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (139, 205, 'Epic', '2023-11-22 16:14:21.992048', '2023-11-22 16:14:21.992048') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6203 49: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (140, 205, 'Epic', '2023-11-22 16:14:21.995497', '2023-11-22 16:14:21.995497') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6204 50: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (141, 205, 'Epic', '2023-11-22 16:14:21.999499', '2023-11-22 16:14:21.999499') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6205 51: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (142, 205, 'Epic', '2023-11-22 16:14:22.003526', '2023-11-22 16:14:22.003526') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6206 52: INSERT INTO "label_links" ("label_id", "target_id", "target_type", "created_at", "updated_at") VALUES (143, 205, 'Epic', '2023-11-22 16:14:22.007407', '2023-11-22 16:14:22.007407') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6207 53: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6208 54: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/6209 55: SELECT 1 AS one FROM "issues" INNER JOIN "epic_issues" ON "issues"."id" = "epic_issues"."issue_id" WHERE "epic_issues"."epic_id" = 205 AND "issues"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/6210 56: SELECT 1 AS one FROM "epics" WHERE "epics"."parent_id" = 205 AND "epics"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:579:in `confidentiality_errors'*/6211 57: SELECT COUNT(*) FROM "epics" WHERE "epics"."parent_id" = 206 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:708:in `validate_children_count'*/6212 58: UPDATE "epics" SET "updated_by_id" = 848, "last_edited_by_id" = 848, "start_date" = '2018-07-17', "last_edited_at" = '2023-11-22 16:14:22.011168', "updated_at" = '2023-11-22 16:14:22.023099', "title" = 'new title', "title_html" = 'new title', "description" = 'new description', "description_html" = '<p data-sourcepos="1:1-1:15" dir="auto">new description</p>', "start_date_fixed" = '2018-07-17', "start_date_is_fixed" = TRUE, "parent_id" = 206, "confidential" = TRUE, "lock_version" = 1 WHERE "epics"."id" = 205 AND "epics"."lock_version" = 0 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:379:in `transaction_update'*/6213 59: SELECT 1 AS one FROM "description_versions" WHERE "description_versions"."epic_id" = 205 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/versioned_description.rb:21:in `save_description_version'*/6214 60: INSERT INTO "description_versions" ("created_at", "updated_at", "epic_id") VALUES ('2023-11-22 16:14:21.346162', '2023-11-22 16:14:22.047629', 205) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6215 61: INSERT INTO "description_versions" ("created_at", "updated_at", "epic_id", "description") VALUES ('2023-11-22 16:14:22.051554', '2023-11-22 16:14:22.051554', 205, 'new description') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cross_database_modification.rb:92:in `block in transaction'*/6216 62: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 205 AND "epic_user_mentions"."note_id" IS NULL /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6217 63: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/issuable_base_service.rb:335:in `update'*/6218 64: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6219 65: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6220 66: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed title from **{-My-} title{- 126-}** to **{+new+} title**', 'Epic', 848, '2023-11-22 16:14:22.101096', '2023-11-22 16:14:22.110095', 205, TRUE, '8e98444187bca737b83d868fe883c9d6620873c6', '<p data-sourcepos="1:1-1:64" dir="auto">changed title from <strong><span class="idiff left right deletion">My</span> title<span class="idiff left right deletion"> 126</span></strong> to <strong><span class="idiff left right addition">new</span> title</strong></p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6221 67: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('title', '2023-11-22 16:14:22.124536', '2023-11-22 16:14:22.124536', 80) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6222 68: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 205 AND "epic_user_mentions"."note_id" = 80 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6223 69: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6224 70: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6225 71: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6226 72: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed the description', 'Epic', 848, '2023-11-22 16:14:22.136388', '2023-11-22 16:14:22.144838', 205, TRUE, '0a0d331853d00f18014e8444cd5403f1e87f60a4', '<p data-sourcepos="1:1-1:23" dir="auto">changed the description</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6227 73: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "description_version_id", "note_id") VALUES ('description', '2023-11-22 16:14:22.157438', '2023-11-22 16:14:22.157438', 16, 81) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6228 74: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 205 AND "epic_user_mentions"."note_id" = 81 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6229 75: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6230 76: INSERT INTO resource_label_events ("epic_id", "user_id", "created_at", "label_id", "action")6231 VALUES (205, 848, '2023-11-22 16:14:22.168748', 138, 1), (205, 848, '2023-11-22 16:14:22.168748', 139, 1), (205, 848, '2023-11-22 16:14:22.168748', 140, 1), (205, 848, '2023-11-22 16:14:22.168748', 141, 1), (205, 848, '2023-11-22 16:14:22.168748', 142, 1), (205, 848, '2023-11-22 16:14:22.168748', 143, 1), (205, 848, '2023-11-22 16:14:22.168748', 137, 2), (205, 848, '2023-11-22 16:14:22.168748', 136, 2), (205, 848, '2023-11-22 16:14:22.168748', 136, 2)6232 RETURNING id /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/legacy_bulk_insert.rb:45:in `legacy_bulk_insert'*/6233 77: SELECT "plans".* FROM "plans" WHERE "plans"."name" = 'default' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/plan.rb:19:in `block in default'*/6234 78: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/application_record.rb:87:in `block in safe_find_or_create_by'*/6235 79: INSERT INTO "plans" ("created_at", "updated_at", "name", "title") VALUES ('2023-11-22 16:14:22.179840', '2023-11-22 16:14:22.179840', 'default', 'Default') RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/application_record.rb:87:in `block in safe_find_or_create_by'*/6236 80: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/gitlab/database.rb:359:in `block in transaction'*/6237 81: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6238 82: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6239 83: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('changed start date to Jul 17, 2018', 'Epic', 848, '2023-11-22 16:14:22.187183', '2023-11-22 16:14:22.195353', 205, TRUE, 'e4ed277d80b41dc40a97457858a98c9a40ee1cae', '<p data-sourcepos="1:1-1:34" dir="auto">changed start date to Jul 17, 2018</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6240 84: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('epic_date_changed', '2023-11-22 16:14:22.208800', '2023-11-22 16:14:22.208800', 82) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6241 85: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 205 AND "epic_user_mentions"."note_id" = 82 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6242 86: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6243 87: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6244 88: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6245 89: SELECT "routes".* FROM "routes" WHERE "routes"."source_id" = 1504 AND "routes"."source_type" = 'Namespace' LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/routable.rb:158:in `full_attribute'*/6246 90: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/banzai/filter/references/reference_cache.rb:94:in `block in load_records_per_parent'*/6247 91: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('added epic &1 as child epic', 'Epic', 848, '2023-11-22 16:14:22.220786', '2023-11-22 16:14:22.228871', 206, TRUE, 'c95ae7b24a2e8e90e7649724145ee86b438c3a80', '<p data-sourcepos="1:1-1:27" dir="auto">added epic <a href="/groups/group246/-/epics/1" data-reference-type="epic" data-original="&amp;1" data-link="false" data-link-reference="false" data-group="1504" data-group-path="group246" data-iid="1" data-epic="205" data-container="body" data-placement="top" title="new title" class="gfm gfm-epic">&1</a> as child epic</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6248 92: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('relate_epic', '2023-11-22 16:14:22.251209', '2023-11-22 16:14:22.251209', 83) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6249 93: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 206 AND "epic_user_mentions"."note_id" = 83 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6250 94: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:22.259611' WHERE "epics"."id" = 206 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/note.rb:635:in `touch_noteable'*/6251 95: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6252 96: SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6253 97: SELECT "namespaces"."id", "namespaces"."name", "namespaces"."path", "namespaces"."owner_id", "namespaces"."created_at", "namespaces"."updated_at", "namespaces"."type", "namespaces"."description", "namespaces"."avatar", "namespaces"."membership_lock", "namespaces"."share_with_group_lock", "namespaces"."visibility_level", "namespaces"."request_access_enabled", "namespaces"."ldap_sync_status", "namespaces"."ldap_sync_error", "namespaces"."ldap_sync_last_update_at", "namespaces"."ldap_sync_last_successful_update_at", "namespaces"."ldap_sync_last_sync_at", "namespaces"."description_html", "namespaces"."lfs_enabled", "namespaces"."parent_id", "namespaces"."shared_runners_minutes_limit", "namespaces"."repository_size_limit", "namespaces"."require_two_factor_authentication", "namespaces"."two_factor_grace_period", "namespaces"."cached_markdown_version", "namespaces"."project_creation_level", "namespaces"."runners_token", "namespaces"."file_template_project_id", "namespaces"."saml_discovery_token", "namespaces"."runners_token_encrypted", "namespaces"."custom_project_templates_group_id", "namespaces"."auto_devops_enabled", "namespaces"."extra_shared_runners_minutes_limit", "namespaces"."last_ci_minutes_notification_at", "namespaces"."last_ci_minutes_usage_notification_level", "namespaces"."subgroup_creation_level", "namespaces"."emails_disabled", "namespaces"."max_pages_size", "namespaces"."max_artifacts_size", "namespaces"."mentions_disabled", "namespaces"."default_branch_protection", "namespaces"."max_personal_access_token_lifetime", "namespaces"."push_rule_id", "namespaces"."shared_runners_enabled", "namespaces"."allow_descendants_override_disabled_shared_runners", "namespaces"."traversal_ids", "namespaces"."organization_id" FROM "namespaces" WHERE "namespaces"."id" = 1504 LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6254 98: SELECT "epics".* FROM "epics" WHERE "epics"."group_id" = 1504 AND "epics"."iid" = 2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/lib/banzai/filter/references/reference_cache.rb:94:in `block in load_records_per_parent'*/6255 99: INSERT INTO "notes" ("note", "noteable_type", "author_id", "created_at", "updated_at", "noteable_id", "system", "discussion_id", "note_html", "cached_markdown_version", "namespace_id") VALUES ('added epic &2 as parent epic', 'Epic', 848, '2023-11-22 16:14:22.266322', '2023-11-22 16:14:22.274437', 205, TRUE, 'ac9cdc9fab18d1ed17d4cf23b275f0e7c241e3b9', '<p data-sourcepos="1:1-1:28" dir="auto">added epic <a href="/groups/group246/-/epics/2" data-reference-type="epic" data-original="&amp;2" data-link="false" data-link-reference="false" data-group="1504" data-group-path="group246" data-iid="2" data-epic="206" data-container="body" data-placement="top" title="My title 127" class="gfm gfm-epic">&2</a> as parent epic</p>', 2097152, 1504) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6256 100: INSERT INTO "system_note_metadata" ("action", "created_at", "updated_at", "note_id") VALUES ('relate_epic', '2023-11-22 16:14:22.294267', '2023-11-22 16:14:22.294267', 84) RETURNING "id" /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6257 101: DELETE FROM "epic_user_mentions" WHERE "epic_user_mentions"."epic_id" = 205 AND "epic_user_mentions"."note_id" = 84 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/cache_markdown_field.rb:182:in `store_mentions!'*/6258 102: UPDATE "epics" SET "updated_at" = '2023-11-22 16:14:22.303352' WHERE "epics"."id" = 205 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/note.rb:635:in `touch_noteable'*/6259 103: RELEASE SAVEPOINT active_record_2 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/services/system_notes/base_service.rb:19:in `create_note'*/6260 104: SELECT "todos"."id" FROM "todos" WHERE ("todos"."state" IN ('pending')) AND "todos"."user_id" = 848 AND "todos"."target_id" = 205 AND "todos"."target_type" = 'Epic' AND "todos"."state" != 'done' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/todo.rb:147:in `batch_update'*/6261 105: UPDATE "todos" SET "state" = 'done', "resolved_by_action" = 0, "updated_at" = '2023-11-22 16:14:22.323086' WHERE ("todos"."state" IN ('pending')) AND "todos"."user_id" = 848 AND "todos"."target_id" = 205 AND "todos"."target_type" = 'Epic' AND "todos"."state" != 'done' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/todo.rb:149:in `batch_update'*/6262 106: SELECT COUNT(*) FROM "todos" WHERE "todos"."user_id" = 848 AND ("todos"."state" IN ('done')) /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/user.rb:1889:in `block in todos_done_count'*/6263 107: SELECT COUNT(*) FROM "todos" WHERE "todos"."user_id" = 848 AND ("todos"."state" IN ('pending')) /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/user.rb:1895:in `block in todos_pending_count'*/6264 108: SELECT 1 AS one FROM "issues" INNER JOIN "epic_issues" ON "issues"."id" = "epic_issues"."issue_id" WHERE "epic_issues"."epic_id" = 205 AND "issues"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:577:in `confidentiality_errors'*/6265 109: SELECT 1 AS one FROM "epics" WHERE "epics"."parent_id" = 205 AND "epics"."confidential" = FALSE LIMIT 1 /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/app/models/ee/epic.rb:579:in `confidentiality_errors'*/6266 110: SELECT "labels".* FROM "labels" INNER JOIN "label_links" ON "labels"."id" = "label_links"."label_id" WHERE "label_links"."target_id" = 205 AND "label_links"."target_type" = 'Epic' ORDER BY "labels"."title" ASC /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/ee/lib/ee/api/entities/epic.rb:60:in `map'*/6267 111: SELECT COUNT(*) FROM "award_emoji" WHERE "award_emoji"."awardable_id" = 205 AND "award_emoji"."awardable_type" = 'Epic' AND "award_emoji"."name" = 'thumbsup' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/awardable.rb:88:in `upvotes'*/6268 112: SELECT COUNT(*) FROM "award_emoji" WHERE "award_emoji"."awardable_id" = 205 AND "award_emoji"."awardable_type" = 'Epic' AND "award_emoji"."name" = 'thumbsdown' /*application:test,correlation_id:ee42dac7-b548-4bb4-abca-b02b4d9152ee,endpoint_id:PUT /api/:version/groups/:id/(-/)epics/:epic_iid,db_config_name:main,line:/app/models/concerns/awardable.rb:84:in `downvotes'*/6269 # ./lib/gitlab/query_limiting/transaction.rb:62:in `act_upon_results'6270 # ./lib/gitlab/query_limiting/middleware.rb:21:in `call'6271 # ./lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call'6272 # ./lib/gitlab/middleware/go.rb:20:in `call'6273 # ./lib/gitlab/etag_caching/middleware.rb:21:in `call'6274 # ./lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'6275 # ./lib/gitlab/database/query_analyzer.rb:37:in `within'6276 # ./lib/gitlab/middleware/query_analyzer.rb:11:in `call'6277 # ./lib/gitlab/middleware/multipart.rb:173:in `call'6278 # ./lib/gitlab/middleware/read_only/controller.rb:50:in `call'6279 # ./lib/gitlab/middleware/read_only.rb:18:in `call'6280 # ./lib/gitlab/middleware/same_site_cookies.rb:27:in `call'6281 # ./lib/gitlab/middleware/path_traversal_check.rb:48:in `call'6282 # ./lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'6283 # ./lib/gitlab/middleware/basic_health_check.rb:25:in `call'6284 # ./lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'6285 # ./lib/gitlab/middleware/request_context.rb:15:in `call'6286 # ./lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call'6287 # ./config/initializers/fix_local_cache_middleware.rb:11:in `call'6288 # ./lib/gitlab/middleware/compressed_json.rb:44:in `call'6289 # ./lib/gitlab/middleware/static.rb:11:in `call'6290 # ./lib/gitlab/testing/clear_process_memory_cache_middleware.rb:13:in `call'6291 # ./lib/gitlab/testing/request_inspector_middleware.rb:35:in `call'6292 # ./lib/gitlab/testing/robots_blocker_middleware.rb:30:in `call'6293 # ./lib/gitlab/testing/request_blocker_middleware.rb:47:in `call'6294 # ./lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'6295 # ./lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call'6296 # ./lib/gitlab/metrics/requests_rack_middleware.rb:79:in `call'6297 # ./ee/spec/requests/api/epics_spec.rb:1010:in `block (6 levels) in <top (required)>'6298 # ./spec/spec_helper.rb:426:in `block (3 levels) in <top (required)>'6299 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6300 # ./spec/spec_helper.rb:417:in `block (2 levels) in <top (required)>'6301 # ./spec/spec_helper.rb:413:in `block (3 levels) in <top (required)>'6302 # ./lib/gitlab/application_context.rb:68:in `with_raw_context'6303 # ./spec/spec_helper.rb:413:in `block (2 levels) in <top (required)>'6304 # ./spec/spec_helper.rb:266:in `block (2 levels) in <top (required)>'6305 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6306 # ./spec/support/fast_quarantine.rb:22:in `block (2 levels) in <top (required)>'6307 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <top (required)>'6308 # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'6309 # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <top (required)>'6310Finished in 31 minutes 23 seconds (files took 1 minute 26.39 seconds to load)63112409 examples, 1 failure, 52 pending6312Failed examples:6313rspec ./ee/spec/requests/api/epics_spec.rb:1005 # API::Epics PUT /groups/:id/epics/:epic_iid when epics feature is enabled when the request is correct with labels updates the epic with labels param as array6314Randomized with seed 97116315[TEST PROF INFO] Time spent in factories: 14:20.938 (44.8% of total time)6316Stopped processing SimpleCov as a previous error not related to SimpleCov has been detected6317RSpec exited with 1.6318[job-metrics] Updating job metrics tag for the CI/CD job.6319RSPEC_RETRIED_TESTS_REPORT_PATH: rspec/retried_tests-5597251782.txt6320Retrying the failing examples in a new RSpec process...6321$ gem install junit_merge --no-document --version 0.1.26322Successfully installed nokogiri-1.15.5-x86_64-linux6323Successfully installed junit_merge-0.1.263242 gems installed6325==> 'gem install junit_merge --no-document --version 0.1.2' succeeded in 1 seconds.6326Running 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-5597251782.json --format RspecJunitFormatter --out rspec/rspec-retry-5597251782.xml --only-failures --pattern "{ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb"6327Run options: include {:last_run_status=>"failed"}6328unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.6329unknown OID 2249: failed to recognize type of 'pg_stat_file'. It will be treated as String.6330Test environment set up in 0.479383593 seconds6331API::Epics6332 PUT /groups/:id/epics/:epic_iid6333 when epics feature is enabled6334 when the request is correct6335 with labels6336 updates the epic with labels param as array6337auto_explain log contains 1714 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-6-6.3224.main.ndjson.gz6338took 30.4515467916339auto_explain log contains 1713 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-ee-integration-pg14-single-redis-6-6.3224.ci.ndjson.gz6340took 30.0952158256341Finished in 1 minute 13.11 seconds (files took 45.22 seconds to load)63421 example, 0 failures6343[TEST PROF INFO] Time spent in factories: 00:01.380 (1.84% of total time)6344Loading rspec/rspec-5597251782.json...6345Merged rspec/rspec-retry-5597251782.json adding 4 results.6346Saved rspec/rspec-5597251782.json.6347A test was flaky and succeeded after being retried. Checking to see if flaky test is part of this MR...6348Flaky test was not part of this MR.6350Running after script...6351$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"6360$ tooling/bin/push_job_metrics || true6361[job-metrics] Pushing job metrics file for the CI/CD job.6362[job-metrics] Pushed 4 CI job metric entries to InfluxDB.6364Not uploading cache ruby-gems-debian-bullseye-ruby-3.1-16 due to policy6366Uploading artifacts...6367auto_explain/: found 5 matching artifact files and directories 6368coverage/: found 4 matching artifact files and directories 6369crystalball/: found 2 matching artifact files and directories 6370deprecations/: found 7 matching artifact files and directories 6371knapsack/: found 4 matching artifact files and directories 6372rspec/: found 19 matching artifact files and directories 6373WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6374log/*.log: found 20 matching artifact files and directories 6375WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251782/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6376WARNING: Retrying... context=artifacts-uploader error=request redirected6377Uploading artifacts as "archive" to coordinator... 201 Created id=5597251782 responseStatus=201 Created token=64_VUBy86378Uploading artifacts...6379rspec/rspec-*.xml: found 2 matching artifact files and directories 6380WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5597251782/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6381WARNING: Retrying... context=artifacts-uploader error=request redirected6382Uploading artifacts as "junit" to coordinator... 201 Created id=5597251782 responseStatus=201 Created token=64_VUBy86384Job succeeded