rspec-ee integration pg12 1/4
Passed Started
by
@lamportsapprentice

Hannes Moser
1Running with gitlab-runner 15.2.0~beta.17.g34ae4a68 (34ae4a68)2 on green-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 4bq1s9yM3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ac3b8cd6a8b42e839456256bc514d6230b5a2538c738b3d522e1384a2a172b96 for postgres:12 with digest postgres@sha256:e6ffad42c91a4d5a29257a27ac4e160c3ae7196696b37bf2e80410024ed95951 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:09401fed2a421bf0019f96dcec70c85f82ec7b76beb1ae589547b0dc302d6b76 for redis:6.0-alpine with digest redis@sha256:217a9db40a914cc3f6206a143a4d750da0607500cc013a147a4979e08e40beff ...13Starting service elasticsearch:7.17.0 ...14Pulling docker image elasticsearch:7.17.0 ...15Using docker image sha256:6fe993d6e7ed5e00a18f9b146d867b77559bf9948e6596bbf880ddbefeec46f7 for elasticsearch:7.17.0 with digest elasticsearch@sha256:332c6d416808f6e9a2cbcbe0170d9a9bb14bfe772180d37de5084c223dd8948b ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...21Running on runner-4bq1s9ym-project-278964-concurrent-0 via runner-4bq1s9ym-private-1656912948-054b62ff...23$ eval "$CI_PRE_CLONE_SCRIPT"24Fetching changes with git depth set to 20...25Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/26Created fresh repository.27remote: Enumerating objects: 116039, done. 28remote: Counting objects: 100% (116039/116039), done. 29remote: Compressing objects: 100% (81230/81230), done. 30remote: Total 116039 (delta 48550), reused 75347 (delta 30398), pack-reused 0 31Receiving objects: 100% (116039/116039), 108.46 MiB | 20.97 MiB/s, done.32Resolving deltas: 100% (48550/48550), done.34 * [new ref] refs/pipelines/579240176 -> refs/pipelines/57924017635Checking out ad477312 as refs/merge-requests/90914/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...40Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-10 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...43Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 44Successfully extracted cache46Downloading artifacts for compile-test-assets (2673682644)...47Downloading artifacts from coordinator... ok id=2673682644 responseStatus=200 OK token=ffyxPns848Downloading artifacts for detect-tests (2673682683)...49Downloading artifacts from coordinator... ok id=2673682683 responseStatus=200 OK token=ffyxPns850Downloading artifacts for retrieve-tests-metadata (2673682698)...51Downloading artifacts from coordinator... ok id=2673682698 responseStatus=200 OK token=ffyxPns852Downloading artifacts for setup-test-env (2673682668)...53Downloading artifacts from coordinator... ok id=2673682668 responseStatus=200 OK token=ffyxPns855Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh623.2.3363Bundler version 2.2.3364Successfully installed bundler-2.3.15651 gem installed66production:development67Settings are listed in order of priority. The top value will be used.68clean69Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true70frozen71Set via BUNDLE_FROZEN: true72install_flags73Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"74path75Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"76without77Set via BUNDLE_WITHOUT: [:production, :development]78$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check79Don't run Bundler as root. Bundler can ask for sudo if it is needed, and80installing your bundle as root will break this application for all non-root81users on this machine.82The Gemfile's dependencies are satisfied83==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.84$ bundle pristine pg85Installing pg 1.3.5 with native extensions86==> 'bundle pristine pg' succeeded in 13 seconds.87Using decomposed database config (config/database.yml.decomposed-postgresql)88$ setup_db_user_only89CREATE ROLE90GRANT91==> 'setup_db_user_only' succeeded in 0 seconds.92$ bundle exec rake db:drop db:create db:schema:load db:migrate93Dropped database 'gitlabhq_test'94Dropped database 'gitlabhq_test_ci'95Dropped database 'gitlabhq_geo_test'96Created database 'gitlabhq_test'97Created database 'gitlabhq_test_ci'98Created database 'gitlabhq_geo_test'99==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 37 seconds.100$ setup_db_praefect101SELECT pg_catalog.set_config('search_path', '', false);102CREATE DATABASE praefect_test ENCODING 'UTF8';103==> 'setup_db_praefect' succeeded in 1 seconds.104$ run_timed_command "gem install knapsack --no-document"105$ gem install knapsack --no-document106Successfully installed knapsack-4.0.01071 gem installed108==> 'gem install knapsack --no-document' succeeded in 0 seconds.109$ run_timed_command "scripts/gitaly-test-spawn"110$ scripts/gitaly-test-spawn111find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory112Don't run Bundler as root. Bundler can ask for sudo if it is needed, and113installing your bundle as root will break this application for all non-root114users on this machine.115Using abstract_type 0.0.7116Using concurrent-ruby 1.1.10117Using i18n 1.10.0118Using minitest 5.15.0119Using tzinfo 2.0.4120Using zeitwerk 2.5.4121Using activesupport 6.1.4.7122Using builder 3.2.4123Using erubi 1.10.0124Using mini_portile2 2.8.0125Using racc 1.6.0126Using nokogiri 1.13.6 (x86_64-linux)127Using rails-dom-testing 2.0.3128Using crass 1.0.6129Using loofah 2.16.0130Using rails-html-sanitizer 1.4.2131Using actionview 6.1.4.7132Using rack 2.2.3133Using rack-test 1.1.0134Using actionpack 6.1.4.7135Using ice_nine 0.11.2136Using thread_safe 0.3.6137Using memoizable 0.4.2138Using adamantium 0.2.0139Using public_suffix 4.0.6140Using addressable 2.7.0141Using ast 2.4.2142Using binding_ninja 0.2.3143Using bundler 2.3.15144Using charlock_holmes 0.7.7145Using coderay 1.1.2146Using equalizer 0.0.11147Using concord 0.1.5148Using diff-lcs 1.3149Using dotenv 2.7.6150Using escape_utils 1.2.1151Using factory_bot 5.0.2152Using multipart-post 2.1.1153Using faraday 1.0.1154Using ffi 1.15.3155Using json 2.5.1156Using gemojione 3.3.0157Using mini_mime 1.0.2158Using rugged 1.2.0159Using github-linguist 7.12.1160Using github-markup 1.7.0161Using mime-types-data 3.2020.1104162Using mime-types 3.3.1163Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1164Using rouge 3.27.0165Using sanitize 6.0.0166Using stringex 2.8.5167Using gitlab-gollum-lib 4.2.7.10.gitlab.2168Using google-protobuf 3.19.1 (x86_64-linux)169Using googleapis-common-protos-types 1.3.0170Using grpc 1.42.0 (x86_64-linux)171Using opentracing 0.5.0172Using thrift 0.15.0173Using jaeger-client 1.1.0174Using pg_query 2.1.1175Using redis 4.4.0176Using gitlab-labkit 0.23.0177Using rubyzip 2.3.2178Using thor 1.1.0179Using tomlrb 2.0.1180Using with_env 1.1.0181Using rexml 3.2.5182Using xml-simple 1.1.9183Using gitlab-license_finder 6.14.2.1184Using gitlab-markup 1.7.1185Using grpc-tools 1.42.0186Using sawyer 0.8.2187Using octokit 4.20.0188Using reverse_markdown 1.4.0189Using licensee 9.14.1190Using method_source 0.9.2191Using msgpack 1.3.3192Using optimist 3.0.1193Using parallel 1.19.2194Using parser 3.0.3.2195Using procto 0.0.3196Using unparser 0.4.7197Using proc_to_ast 0.1.0198Using pry 0.12.2199Using rainbow 3.0.0200Using rbtrace 0.4.14201Using rdoc 6.3.2202Using regexp_parser 1.8.1203Using rspec-support 3.8.0204Using rspec-core 3.8.0205Using rspec-expectations 3.8.3206Using rspec-mocks 3.8.0207Using rspec 3.8.0208Using rspec-parameterized 0.4.2209Using rubocop-ast 0.2.0210Using ruby-progressbar 1.10.1211Using unicode-display_width 1.7.0212Using rubocop 0.86.0213Using sentry-raven 3.0.4214Using timecop 0.9.1215Bundle complete! 22 Gemfile dependencies, 100 gems now installed.216Gems in the groups 'production' and 'development' were not installed.217Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`218Checking gitaly-ruby Gemfile...219Checking gitaly-ruby bundle...220The Gemfile's dependencies are satisfied221Trying to connect to gitaly: ........................................... OK222Trying to connect to gitaly2: ............................................................. OK223Starting Praefect with in-memory election strategyTrying to connect to praefect: ......... OK224==> 'scripts/gitaly-test-spawn' succeeded in 12 seconds.225$ source ./scripts/rspec_helpers.sh226$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"227SKIP_FLAKY_TESTS_AUTOMATICALLY: true228RETRY_FAILED_TESTS_IN_NEW_PROCESS: true229KNAPSACK_GENERATE_REPORT: true230FLAKY_RSPEC_GENERATE_REPORT: true231KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb232KNAPSACK_LOG_LEVEL: debug233KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg12_1_4_report.json234FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json235FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg12_1_4_report.json236NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg12_1_4_report.json237SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg12_1_4_report.txt238RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_integration_pg12_1_4_report.txt239CRYSTALBALL: 240Knapsack node specs:241ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb242ee/spec/requests/api/visual_review_discussions_spec.rb243ee/spec/requests/git_http_geo_spec.rb244ee/spec/requests/api/geo_nodes_spec.rb245ee/spec/controllers/groups/epics_controller_spec.rb246ee/spec/controllers/boards/lists_controller_spec.rb247ee/spec/requests/api/protected_environments_spec.rb248ee/spec/controllers/ee/groups_controller_spec.rb249ee/spec/controllers/registrations/groups_projects_controller_spec.rb250ee/spec/controllers/projects/boards_controller_spec.rb251ee/spec/requests/api/deployments_spec.rb252ee/spec/controllers/groups/analytics/cycle_analytics/summary_controller_spec.rb253ee/spec/requests/api/protected_branches_spec.rb254ee/spec/requests/api/discussions_spec.rb255ee/spec/controllers/groups/group_members_controller_spec.rb256ee/spec/controllers/projects/push_rules_controller_spec.rb257ee/spec/requests/api/project_approval_settings_spec.rb258ee/spec/requests/api/group_boards_spec.rb259ee/spec/controllers/groups/push_rules_controller_spec.rb260ee/spec/requests/api/internal/base_spec.rb261ee/spec/controllers/groups/contribution_analytics_controller_spec.rb262ee/spec/requests/api/project_approvals_spec.rb263ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb264ee/spec/requests/api/project_push_rule_spec.rb265ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb266ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb267ee/spec/requests/api/project_import_spec.rb268ee/spec/controllers/projects/protected_environments_controller_spec.rb269ee/spec/requests/api/ci/triggers_spec.rb270ee/spec/requests/projects/security/policies_controller_spec.rb271ee/spec/requests/projects/issues_controller_spec.rb272ee/spec/requests/api/resource_label_events_spec.rb273ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb274ee/spec/requests/api/group_repository_storage_moves_spec.rb275ee/spec/requests/api/geo_spec.rb276ee/spec/requests/api/group_variables_spec.rb277ee/spec/controllers/groups/billings_controller_spec.rb278ee/spec/controllers/groups/hooks_controller_spec.rb279ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb280ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb281ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb282ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb283ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb284ee/spec/requests/api/graphql/mutations/boards/create_spec.rb285ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb286ee/spec/controllers/ee/registrations_controller_spec.rb287ee/spec/controllers/projects/path_locks_controller_spec.rb288ee/spec/requests/api/merge_trains_spec.rb289ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb290ee/spec/requests/api/iterations_spec.rb291ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb292ee/spec/controllers/admin/licenses_controller_spec.rb293ee/spec/requests/api/graphql/iterations/iterations_spec.rb294ee/spec/requests/api/ci/jobs_spec.rb295ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb296ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb297ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb298ee/spec/controllers/groups/scim_oauth_controller_spec.rb299ee/spec/requests/api/graphql/namespace/projects_spec.rb300ee/spec/controllers/groups/roadmap_controller_spec.rb301ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb302ee/spec/controllers/concerns/registrations/verification_spec.rb303ee/spec/requests/api/ci/minutes_spec.rb304ee/spec/mailers/ee/emails/projects_spec.rb305ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb306ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb307ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb308ee/spec/requests/api/graphql/ci/runner_spec.rb309ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb310ee/spec/requests/api/graphql/mutations/dast_site_validations/create_spec.rb311ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb312ee/spec/requests/api/dora/metrics_spec.rb313ee/spec/controllers/projects/deploy_keys_controller_spec.rb314ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb315ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb316ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb317ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb318ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb319ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb320ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb321ee/spec/requests/api/graphql/audit_events/streaming/headers/destroy_spec.rb322ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb323ee/spec/controllers/boards/milestones_controller_spec.rb324ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb325ee/spec/controllers/projects/iterations_controller_spec.rb326ee/spec/requests/api/captcha_check_spec.rb327ee/spec/controllers/groups/saml_group_links_controller_spec.rb328ee/spec/controllers/ee/projects/blob_controller_spec.rb329ee/spec/requests/api/graphql/milestone_spec.rb330ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb331ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb332ee/spec/controllers/concerns/boards_responses_spec.rb333ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb334ee/spec/controllers/groups/ldap_settings_controller_spec.rb335ee/spec/controllers/concerns/geo_instrumentation_spec.rb336ee/spec/requests/api/graphql/boards/board_list_query_spec.rb337ee/spec/controllers/ee/projects/autocomplete_sources_controller_spec.rb338ee/spec/controllers/admin/emails_controller_spec.rb339ee/spec/controllers/projects/iteration_cadences_controller_spec.rb340ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb341ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb342ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb343ee/spec/requests/api/graphql/mutations/dast_site_profiles/create_spec.rb344ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb345ee/spec/requests/api/ldap_spec.rb346ee/spec/controllers/admin/groups_controller_spec.rb347ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb348ee/spec/requests/api/graphql/vulnerabilities/identifiers_spec.rb349ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb350ee/spec/mailers/ee/emails/merge_requests_spec.rb351ee/spec/controllers/profiles_controller_spec.rb352ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb353ee/spec/requests/api/graphql/merge_requests/approval_state_spec.rb354ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb355ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb356ee/spec/requests/api/graphql/project/merge_requests_spec.rb357ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb358ee/spec/requests/api/issue_links_spec.rb359ee/spec/mailers/emails/namespace_storage_usage_mailer_spec.rb360ee/spec/controllers/ee/admin/sessions_controller_spec.rb361ee/spec/controllers/security/dashboard_controller_spec.rb362ee/spec/controllers/profiles/billings_controller_spec.rb363ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/update_spec.rb364ee/spec/controllers/passwords_controller_spec.rb365ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb366ee/spec/controllers/concerns/internal_redirect_spec.rb367ee/spec/mailers/emails/group_memberships_spec.rb368ee/spec/controllers/sitemap_controller_spec.rb369ee/spec/controllers/oauth/applications_controller_spec.rb370ee/spec/requests/api/search_spec.rb371Filter specs:372Running specs:373Running all node tests without filter374ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb375ee/spec/requests/api/visual_review_discussions_spec.rb376ee/spec/requests/git_http_geo_spec.rb377ee/spec/requests/api/geo_nodes_spec.rb378ee/spec/controllers/groups/epics_controller_spec.rb379ee/spec/controllers/boards/lists_controller_spec.rb380ee/spec/requests/api/protected_environments_spec.rb381ee/spec/controllers/ee/groups_controller_spec.rb382ee/spec/controllers/registrations/groups_projects_controller_spec.rb383ee/spec/controllers/projects/boards_controller_spec.rb384ee/spec/requests/api/deployments_spec.rb385ee/spec/controllers/groups/analytics/cycle_analytics/summary_controller_spec.rb386ee/spec/requests/api/protected_branches_spec.rb387ee/spec/requests/api/discussions_spec.rb388ee/spec/controllers/groups/group_members_controller_spec.rb389ee/spec/controllers/projects/push_rules_controller_spec.rb390ee/spec/requests/api/project_approval_settings_spec.rb391ee/spec/requests/api/group_boards_spec.rb392ee/spec/controllers/groups/push_rules_controller_spec.rb393ee/spec/requests/api/internal/base_spec.rb394ee/spec/controllers/groups/contribution_analytics_controller_spec.rb395ee/spec/requests/api/project_approvals_spec.rb396ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb397ee/spec/requests/api/project_push_rule_spec.rb398ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb399ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb400ee/spec/requests/api/project_import_spec.rb401ee/spec/controllers/projects/protected_environments_controller_spec.rb402ee/spec/requests/api/ci/triggers_spec.rb403ee/spec/requests/projects/security/policies_controller_spec.rb404ee/spec/requests/projects/issues_controller_spec.rb405ee/spec/requests/api/resource_label_events_spec.rb406ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb407ee/spec/requests/api/group_repository_storage_moves_spec.rb408ee/spec/requests/api/geo_spec.rb409ee/spec/requests/api/group_variables_spec.rb410ee/spec/controllers/groups/billings_controller_spec.rb411ee/spec/controllers/groups/hooks_controller_spec.rb412ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb413ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb414ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb415ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb416ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb417ee/spec/requests/api/graphql/mutations/boards/create_spec.rb418ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb419ee/spec/controllers/ee/registrations_controller_spec.rb420ee/spec/controllers/projects/path_locks_controller_spec.rb421ee/spec/requests/api/merge_trains_spec.rb422ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb423ee/spec/requests/api/iterations_spec.rb424ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb425ee/spec/controllers/admin/licenses_controller_spec.rb426ee/spec/requests/api/graphql/iterations/iterations_spec.rb427ee/spec/requests/api/ci/jobs_spec.rb428ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb429ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb430ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb431ee/spec/controllers/groups/scim_oauth_controller_spec.rb432ee/spec/requests/api/graphql/namespace/projects_spec.rb433ee/spec/controllers/groups/roadmap_controller_spec.rb434ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb435ee/spec/controllers/concerns/registrations/verification_spec.rb436ee/spec/requests/api/ci/minutes_spec.rb437ee/spec/mailers/ee/emails/projects_spec.rb438ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb439ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb440ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb441ee/spec/requests/api/graphql/ci/runner_spec.rb442ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb443ee/spec/requests/api/graphql/mutations/dast_site_validations/create_spec.rb444ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb445ee/spec/requests/api/dora/metrics_spec.rb446ee/spec/controllers/projects/deploy_keys_controller_spec.rb447ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb448ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb449ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb450ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb451ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb452ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb453ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb454ee/spec/requests/api/graphql/audit_events/streaming/headers/destroy_spec.rb455ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb456ee/spec/controllers/boards/milestones_controller_spec.rb457ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb458ee/spec/controllers/projects/iterations_controller_spec.rb459ee/spec/requests/api/captcha_check_spec.rb460ee/spec/controllers/groups/saml_group_links_controller_spec.rb461ee/spec/controllers/ee/projects/blob_controller_spec.rb462ee/spec/requests/api/graphql/milestone_spec.rb463ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb464ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb465ee/spec/controllers/concerns/boards_responses_spec.rb466ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb467ee/spec/controllers/groups/ldap_settings_controller_spec.rb468ee/spec/controllers/concerns/geo_instrumentation_spec.rb469ee/spec/requests/api/graphql/boards/board_list_query_spec.rb470ee/spec/controllers/ee/projects/autocomplete_sources_controller_spec.rb471ee/spec/controllers/admin/emails_controller_spec.rb472ee/spec/controllers/projects/iteration_cadences_controller_spec.rb473ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb474ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb475ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb476ee/spec/requests/api/graphql/mutations/dast_site_profiles/create_spec.rb477ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb478ee/spec/requests/api/ldap_spec.rb479ee/spec/controllers/admin/groups_controller_spec.rb480ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb481ee/spec/requests/api/graphql/vulnerabilities/identifiers_spec.rb482ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb483ee/spec/mailers/ee/emails/merge_requests_spec.rb484ee/spec/controllers/profiles_controller_spec.rb485ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb486ee/spec/requests/api/graphql/merge_requests/approval_state_spec.rb487ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb488ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb489ee/spec/requests/api/graphql/project/merge_requests_spec.rb490ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb491ee/spec/requests/api/issue_links_spec.rb492ee/spec/mailers/emails/namespace_storage_usage_mailer_spec.rb493ee/spec/controllers/ee/admin/sessions_controller_spec.rb494ee/spec/controllers/security/dashboard_controller_spec.rb495ee/spec/controllers/profiles/billings_controller_spec.rb496ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/update_spec.rb497ee/spec/controllers/passwords_controller_spec.rb498ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb499ee/spec/controllers/concerns/internal_redirect_spec.rb500ee/spec/mailers/emails/group_memberships_spec.rb501ee/spec/controllers/sitemap_controller_spec.rb502ee/spec/controllers/oauth/applications_controller_spec.rb503ee/spec/requests/api/search_spec.rbKnapsack report generator started!504DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.1.4.7/lib/active_record/connection_adapters/postgresql_adapter.rb:78: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call505/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/pg-1.3.5/lib/pg.rb:68: warning: The called method `connect' is defined here506 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)507Run options: exclude {:quarantine=>true, :level=>"migration"}508Test environment set up in 0.541842687 seconds509Groups::Analytics::CycleAnalytics::StagesController510 when params have only group_id511 when use_vsa_aggregated_tables FF is enabled512 behaves like Value Stream Analytics Stages controller513 GET #index514 succeeds515 returns correct start events516 does not include internal events517 succeeds for subgroups518 renders `forbidden` based on the response of the service object519 when `group_id` is not found520 renders `not_found` when group is missing521 when user has no lower access level than `reporter`522 renders `forbidden` response523 when feature is not available for the group524 renders `forbidden` response525 POST #create526 renders the validation errors527 when `group_id` is not found528 renders `not_found` when group is missing529 when user has no lower access level than `reporter`530 renders `forbidden` response531 when feature is not available for the group532 renders `forbidden` response533 when valid parameters are given534 creates the stage535 PUT #update536 renders the validation errors537 when `group_id` is not found538 renders `not_found` when group is missing539 when user has no lower access level than `reporter`540 renders `forbidden` response541 when feature is not available for the group542 renders `forbidden` response543 when valid parameters are given544 succeeds545 updates the name attribute546 hidden attribute547 updates the hidden attribute548 when positioning parameter is given549 moves the stage before the last place550 DELETE #destroy551 when `group_id` is not found552 renders `not_found` when group is missing553 when user has no lower access level than `reporter`554 renders `forbidden` response555 when feature is not available for the group556 renders `forbidden` response557 when persisted stage id is passed558 succeeds559 deletes the record560 when default stage id is passed561 fails with `forbidden` response562 data endpoints563 GET #median564 matches the response schema565 when valid parameters are given566 succeeds567 accepts optional `project_ids` array568 succeeds569 when `created_before` is missing570 succeeds571 when `created_after` is missing572 succeeds573 when `created_after` is invalid, falls back to default date574 is expected to respond with numeric status code success575 when `created_before` is invalid576 renders `unprocessable_entity`577 when `created_after` is later than `created_before`578 renders `unprocessable_entity`579 when the date range exceeds 180 days580 renders `unprocessable_entity`581 GET #average582 matches the response schema583 when valid parameters are given584 succeeds585 accepts optional `project_ids` array586 succeeds587 when `created_before` is missing588 succeeds589 when `created_after` is missing590 succeeds591 when `created_after` is invalid, falls back to default date592 is expected to respond with numeric status code success593 when `created_before` is invalid594 renders `unprocessable_entity`595 when `created_after` is later than `created_before`596 renders `unprocessable_entity`597 when the date range exceeds 180 days598 renders `unprocessable_entity`599 GET #records600 when valid parameters are given601 succeeds602 accepts optional `project_ids` array603 succeeds604 when `created_before` is missing605 succeeds606 when `created_after` is missing607 succeeds608 when `created_after` is invalid, falls back to default date609 is expected to respond with numeric status code success610 when `created_before` is invalid611 renders `unprocessable_entity`612 when `created_after` is later than `created_before`613 renders `unprocessable_entity`614 when the date range exceeds 180 days615 renders `unprocessable_entity`616 when `group_id` is not found617 renders `not_found` when group is missing618 when user has no lower access level than `reporter`619 renders `forbidden` response620 when feature is not available for the group621 renders `forbidden` response622 sort params623 accepts sort params624 pagination625 exposes pagination headers626 GET #average_duration_chart627 matches the response schema628 when valid parameters are given629 succeeds630 accepts optional `project_ids` array631 succeeds632 when `created_before` is missing633 succeeds634 when `created_after` is missing635 succeeds636 when `created_after` is invalid, falls back to default date637 is expected to respond with numeric status code success638 when `created_before` is invalid639 renders `unprocessable_entity`640 when `created_after` is later than `created_before`641 renders `unprocessable_entity`642 when the date range exceeds 180 days643 renders `unprocessable_entity`644 when `group_id` is not found645 renders `not_found` when group is missing646 when user has no lower access level than `reporter`647 renders `forbidden` response648 when feature is not available for the group649 renders `forbidden` response650 GET #count651 matches the response schema652 when valid parameters are given653 succeeds654 accepts optional `project_ids` array655 succeeds656 when `created_before` is missing657 succeeds658 when `created_after` is missing659 succeeds660 when `created_after` is invalid, falls back to default date661 is expected to respond with numeric status code success662 when `created_before` is invalid663 renders `unprocessable_entity`664 when `created_after` is later than `created_before`665 renders `unprocessable_entity`666 when the date range exceeds 180 days667 renders `unprocessable_entity`668 when `group_id` is not found669 renders `not_found` when group is missing670 when user has no lower access level than `reporter`671 renders `forbidden` response672 when feature is not available for the group673 renders `forbidden` response674 when use_vsa_aggregated_tables FF is disabled675 behaves like Value Stream Analytics Stages controller676 GET #index677 succeeds678 returns correct start events679 does not include internal events680 succeeds for subgroups681 renders `forbidden` based on the response of the service object682 when `group_id` is not found683 renders `not_found` when group is missing684 when user has no lower access level than `reporter`685 renders `forbidden` response686 when feature is not available for the group687 renders `forbidden` response688 POST #create689 renders the validation errors690 when `group_id` is not found691 renders `not_found` when group is missing692 when user has no lower access level than `reporter`693 renders `forbidden` response694 when feature is not available for the group695 renders `forbidden` response696 when valid parameters are given697 creates the stage698 PUT #update699 renders the validation errors700 when `group_id` is not found701 renders `not_found` when group is missing702 when user has no lower access level than `reporter`703 renders `forbidden` response704 when feature is not available for the group705 renders `forbidden` response706 when valid parameters are given707 succeeds708 updates the name attribute709 hidden attribute710 updates the hidden attribute711 when positioning parameter is given712 moves the stage before the last place713 DELETE #destroy714 when `group_id` is not found715 renders `not_found` when group is missing716 when user has no lower access level than `reporter`717 renders `forbidden` response718 when feature is not available for the group719 renders `forbidden` response720 when persisted stage id is passed721 succeeds722 deletes the record723 when default stage id is passed724 fails with `forbidden` response725 data endpoints726 GET #median727 matches the response schema728 when valid parameters are given729 succeeds730 accepts optional `project_ids` array731 succeeds732 when `created_before` is missing733 succeeds734 when `created_after` is missing735 succeeds736 when `created_after` is invalid, falls back to default date737 is expected to respond with numeric status code success738 when `created_before` is invalid739 renders `unprocessable_entity`740 when `created_after` is later than `created_before`741 renders `unprocessable_entity`742 when the date range exceeds 180 days743 renders `unprocessable_entity`744 GET #average745 matches the response schema746 when valid parameters are given747 succeeds748 accepts optional `project_ids` array749 succeeds750 when `created_before` is missing751 succeeds752 when `created_after` is missing753 succeeds754 when `created_after` is invalid, falls back to default date755 is expected to respond with numeric status code success756 when `created_before` is invalid757 renders `unprocessable_entity`758 when `created_after` is later than `created_before`759 renders `unprocessable_entity`760 when the date range exceeds 180 days761 renders `unprocessable_entity`762 GET #records763 when valid parameters are given764 succeeds765 accepts optional `project_ids` array766 succeeds767 when `created_before` is missing768 succeeds769 when `created_after` is missing770 succeeds771 when `created_after` is invalid, falls back to default date772 is expected to respond with numeric status code success773 when `created_before` is invalid774 renders `unprocessable_entity`775 when `created_after` is later than `created_before`776 renders `unprocessable_entity`777 when the date range exceeds 180 days778 renders `unprocessable_entity`779 when `group_id` is not found780 renders `not_found` when group is missing781 when user has no lower access level than `reporter`782 renders `forbidden` response783 when feature is not available for the group784 renders `forbidden` response785 sort params786 accepts sort params787 pagination788 exposes pagination headers789 GET #average_duration_chart790 matches the response schema791 when valid parameters are given792 succeeds793 accepts optional `project_ids` array794 succeeds795 when `created_before` is missing796 succeeds797 when `created_after` is missing798 succeeds799 when `created_after` is invalid, falls back to default date800 is expected to respond with numeric status code success801 when `created_before` is invalid802 renders `unprocessable_entity`803 when `created_after` is later than `created_before`804 renders `unprocessable_entity`805 when the date range exceeds 180 days806 renders `unprocessable_entity`807 when `group_id` is not found808 renders `not_found` when group is missing809 when user has no lower access level than `reporter`810 renders `forbidden` response811 when feature is not available for the group812 renders `forbidden` response813 GET #count814 matches the response schema815 when valid parameters are given816 succeeds817 accepts optional `project_ids` array818 succeeds819 when `created_before` is missing820 succeeds821 when `created_after` is missing822 succeeds823 when `created_after` is invalid, falls back to default date824 is expected to respond with numeric status code success825 when `created_before` is invalid826 renders `unprocessable_entity`827 when `created_after` is later than `created_before`828 renders `unprocessable_entity`829 when the date range exceeds 180 days830 renders `unprocessable_entity`831 when `group_id` is not found832 renders `not_found` when group is missing833 when user has no lower access level than `reporter`834 renders `forbidden` response835 when feature is not available for the group836 renders `forbidden` response837 when params have group_id and value_stream_id838 when use_vsa_aggregated_tables FF is enabled839 behaves like Value Stream Analytics Stages controller840 GET #index841 succeeds842 returns correct start events843 does not include internal events844 succeeds for subgroups845 renders `forbidden` based on the response of the service object846 when `group_id` is not found847 renders `not_found` when group is missing848 when user has no lower access level than `reporter`849 renders `forbidden` response850 when feature is not available for the group851 renders `forbidden` response852 POST #create853 renders the validation errors854 when `group_id` is not found855 renders `not_found` when group is missing856 when user has no lower access level than `reporter`857 renders `forbidden` response858 when feature is not available for the group859 renders `forbidden` response860 when valid parameters are given861 creates the stage862 PUT #update863 renders the validation errors864 when `group_id` is not found865 renders `not_found` when group is missing866 when user has no lower access level than `reporter`867 renders `forbidden` response868 when feature is not available for the group869 renders `forbidden` response870 when valid parameters are given871 succeeds872 updates the name attribute873 hidden attribute874 updates the hidden attribute875 when positioning parameter is given876 moves the stage before the last place877 DELETE #destroy878 when `group_id` is not found879 renders `not_found` when group is missing880 when user has no lower access level than `reporter`881 renders `forbidden` response882 when feature is not available for the group883 renders `forbidden` response884 when persisted stage id is passed885 succeeds886 deletes the record887 when default stage id is passed888 fails with `forbidden` response889 data endpoints890 GET #median891 matches the response schema892 when valid parameters are given893 succeeds894 accepts optional `project_ids` array895 succeeds896 when `created_before` is missing897 succeeds898 when `created_after` is missing899 succeeds900 when `created_after` is invalid, falls back to default date901 is expected to respond with numeric status code success902 when `created_before` is invalid903 renders `unprocessable_entity`904 when `created_after` is later than `created_before`905 renders `unprocessable_entity`906 when the date range exceeds 180 days907 renders `unprocessable_entity`908 GET #average909 matches the response schema910 when valid parameters are given911 succeeds912 accepts optional `project_ids` array913 succeeds914 when `created_before` is missing915 succeeds916 when `created_after` is missing917 succeeds918 when `created_after` is invalid, falls back to default date919 is expected to respond with numeric status code success920 when `created_before` is invalid921 renders `unprocessable_entity`922 when `created_after` is later than `created_before`923 renders `unprocessable_entity`924 when the date range exceeds 180 days925 renders `unprocessable_entity`926 GET #records927 when valid parameters are given928 succeeds929 accepts optional `project_ids` array930 succeeds931 when `created_before` is missing932 succeeds933 when `created_after` is missing934 succeeds935 when `created_after` is invalid, falls back to default date936 is expected to respond with numeric status code success937 when `created_before` is invalid938 renders `unprocessable_entity`939 when `created_after` is later than `created_before`940 renders `unprocessable_entity`941 when the date range exceeds 180 days942 renders `unprocessable_entity`943 when `group_id` is not found944 renders `not_found` when group is missing945 when user has no lower access level than `reporter`946 renders `forbidden` response947 when feature is not available for the group948 renders `forbidden` response949 sort params950 accepts sort params951 pagination952 exposes pagination headers953 GET #average_duration_chart954 matches the response schema955 when valid parameters are given956 succeeds957 accepts optional `project_ids` array958 succeeds959 when `created_before` is missing960 succeeds961 when `created_after` is missing962 succeeds963 when `created_after` is invalid, falls back to default date964 is expected to respond with numeric status code success965 when `created_before` is invalid966 renders `unprocessable_entity`967 when `created_after` is later than `created_before`968 renders `unprocessable_entity`969 when the date range exceeds 180 days970 renders `unprocessable_entity`971 when `group_id` is not found972 renders `not_found` when group is missing973 when user has no lower access level than `reporter`974 renders `forbidden` response975 when feature is not available for the group976 renders `forbidden` response977 GET #count978 matches the response schema979 when valid parameters are given980 succeeds981 accepts optional `project_ids` array982 succeeds983 when `created_before` is missing984 succeeds985 when `created_after` is missing986 succeeds987 when `created_after` is invalid, falls back to default date988 is expected to respond with numeric status code success989 when `created_before` is invalid990 renders `unprocessable_entity`991 when `created_after` is later than `created_before`992 renders `unprocessable_entity`993 when the date range exceeds 180 days994 renders `unprocessable_entity`995 when `group_id` is not found996 renders `not_found` when group is missing997 when user has no lower access level than `reporter`998 renders `forbidden` response999 when feature is not available for the group1000 renders `forbidden` response1001 when use_vsa_aggregated_tables FF is disabled1002 behaves like Value Stream Analytics Stages controller1003 GET #index1004 succeeds1005 returns correct start events1006 does not include internal events1007 succeeds for subgroups1008 renders `forbidden` based on the response of the service object1009 when `group_id` is not found1010 renders `not_found` when group is missing1011 when user has no lower access level than `reporter`1012 renders `forbidden` response1013 when feature is not available for the group1014 renders `forbidden` response1015 POST #create1016 renders the validation errors1017 when `group_id` is not found1018 renders `not_found` when group is missing1019 when user has no lower access level than `reporter`1020 renders `forbidden` response1021 when feature is not available for the group1022 renders `forbidden` response1023 when valid parameters are given1024 creates the stage1025 PUT #update1026 renders the validation errors1027 when `group_id` is not found1028 renders `not_found` when group is missing1029 when user has no lower access level than `reporter`1030 renders `forbidden` response1031 when feature is not available for the group1032 renders `forbidden` response1033 when valid parameters are given1034 succeeds1035 updates the name attribute1036 hidden attribute1037 updates the hidden attribute1038 when positioning parameter is given1039 moves the stage before the last place1040 DELETE #destroy1041 when `group_id` is not found1042 renders `not_found` when group is missing1043 when user has no lower access level than `reporter`1044 renders `forbidden` response1045 when feature is not available for the group1046 renders `forbidden` response1047 when persisted stage id is passed1048 succeeds1049 deletes the record1050 when default stage id is passed1051 fails with `forbidden` response1052 data endpoints1053 GET #median1054 matches the response schema1055 when valid parameters are given1056 succeeds1057 accepts optional `project_ids` array1058 succeeds1059 when `created_before` is missing1060 succeeds1061 when `created_after` is missing1062 succeeds1063 when `created_after` is invalid, falls back to default date1064 is expected to respond with numeric status code success1065 when `created_before` is invalid1066 renders `unprocessable_entity`1067 when `created_after` is later than `created_before`1068 renders `unprocessable_entity`1069 when the date range exceeds 180 days1070 renders `unprocessable_entity`1071 GET #average1072 matches the response schema1073 when valid parameters are given1074 succeeds1075 accepts optional `project_ids` array1076 succeeds1077 when `created_before` is missing1078 succeeds1079 when `created_after` is missing1080 succeeds1081 when `created_after` is invalid, falls back to default date1082 is expected to respond with numeric status code success1083 when `created_before` is invalid1084 renders `unprocessable_entity`1085 when `created_after` is later than `created_before`1086 renders `unprocessable_entity`1087 when the date range exceeds 180 days1088 renders `unprocessable_entity`1089 GET #records1090 when valid parameters are given1091 succeeds1092 accepts optional `project_ids` array1093 succeeds1094 when `created_before` is missing1095 succeeds1096 when `created_after` is missing1097 succeeds1098 when `created_after` is invalid, falls back to default date1099 is expected to respond with numeric status code success1100 when `created_before` is invalid1101 renders `unprocessable_entity`1102 when `created_after` is later than `created_before`1103 renders `unprocessable_entity`1104 when the date range exceeds 180 days1105 renders `unprocessable_entity`1106 when `group_id` is not found1107 renders `not_found` when group is missing1108 when user has no lower access level than `reporter`1109 renders `forbidden` response1110 when feature is not available for the group1111 renders `forbidden` response1112 sort params1113 accepts sort params1114 pagination1115 exposes pagination headers1116 GET #average_duration_chart1117 matches the response schema1118 when valid parameters are given1119 succeeds1120 accepts optional `project_ids` array1121 succeeds1122 when `created_before` is missing1123 succeeds1124 when `created_after` is missing1125 succeeds1126 when `created_after` is invalid, falls back to default date1127 is expected to respond with numeric status code success1128 when `created_before` is invalid1129 renders `unprocessable_entity`1130 when `created_after` is later than `created_before`1131 renders `unprocessable_entity`1132 when the date range exceeds 180 days1133 renders `unprocessable_entity`1134 when `group_id` is not found1135 renders `not_found` when group is missing1136 when user has no lower access level than `reporter`1137 renders `forbidden` response1138 when feature is not available for the group1139 renders `forbidden` response1140 GET #count1141 matches the response schema1142 when valid parameters are given1143 succeeds1144 accepts optional `project_ids` array1145 succeeds1146 when `created_before` is missing1147 succeeds1148 when `created_after` is missing1149 succeeds1150 when `created_after` is invalid, falls back to default date1151 is expected to respond with numeric status code success1152 when `created_before` is invalid1153 renders `unprocessable_entity`1154 when `created_after` is later than `created_before`1155 renders `unprocessable_entity`1156 when the date range exceeds 180 days1157 renders `unprocessable_entity`1158 when `group_id` is not found1159 renders `not_found` when group is missing1160 when user has no lower access level than `reporter`1161 renders `forbidden` response1162 when feature is not available for the group1163 renders `forbidden` response1164API::VisualReviewDiscussions1165 when project is public1166 behaves like accepting request without authentication1167 behaves like handling merge request feedback1168 creates a new note1169 tracks a visual review feedback event1170 with notes_create_service_tracking feature flag disabled1171 does not track any events1172 the API response1173 responds with a status 201 Created1174 returns the persisted note body1175 returns the name of the Visual Review Bot assigned as the author1176 returns the id of the merge request as the parent noteable_id1177 returns a current time stamp instead of the provided one1178 with no message body1179 returns a 400 bad request error if body not given1180 with an invalid project ID1181 does not create a new note1182 the API response1183 responds with a status 4041184 with an invalid merge request IID1185 does not create a new note1186 the API response1187 responds with a status 4041188 when anonymous_visual_review_feedback feature flag is disabled1189 does not create a new note1190 the API response1191 responds 4031192 returns error messaging specifying that the feature is disabled1193 behaves like accepting request with authentication1194 behaves like handling merge request feedback1195 creates a new note1196 tracks a visual review feedback event1197 with notes_create_service_tracking feature flag disabled1198 does not track any events1199 the API response1200 responds with a status 201 Created1201 returns the persisted note body including user details1202 returns the name of the Visual Review Bot assigned as the author1203 returns the id of the merge request as the parent noteable_id1204 returns a current time stamp instead of the provided one1205 with no message body1206 returns a 400 bad request error if body not given1207 with an invalid project ID1208 does not create a new note1209 the API response1210 responds with a status 4041211 with an invalid merge request IID1212 does not create a new note1213 the API response1214 responds with a status 4041215 when anonymous_visual_review_feedback feature flag is disabled1216 does not create a new note1217 the API response1218 responds 4031219 returns error messaging specifying that the feature is disabled1220 when project is private1221 behaves like accepting request with authentication1222 behaves like handling merge request feedback1223 creates a new note1224 tracks a visual review feedback event1225 with notes_create_service_tracking feature flag disabled1226 does not track any events1227 the API response1228 responds with a status 201 Created1229 returns the persisted note body including user details1230 returns the name of the Visual Review Bot assigned as the author1231 returns the id of the merge request as the parent noteable_id1232 returns a current time stamp instead of the provided one1233 with no message body1234 returns a 400 bad request error if body not given1235 with an invalid project ID1236 does not create a new note1237 the API response1238 responds with a status 4041239 with an invalid merge request IID1240 does not create a new note1241 the API response1242 responds with a status 4041243 when anonymous_visual_review_feedback feature flag is disabled1244 does not create a new note1245 the API response1246 responds 4031247 returns error messaging specifying that the feature is disabled1248 behaves like rejecting request without authentication1249 returns a 404 project not found1250 and authenticated user has no project access1251 returns a 404 project not found1252 when project is internal1253 behaves like accepting request with authentication1254 behaves like handling merge request feedback1255 creates a new note1256 tracks a visual review feedback event1257 with notes_create_service_tracking feature flag disabled1258 does not track any events1259 the API response1260 responds with a status 201 Created1261 returns the persisted note body including user details1262 returns the name of the Visual Review Bot assigned as the author1263 returns the id of the merge request as the parent noteable_id1264 returns a current time stamp instead of the provided one1265 with no message body1266 returns a 400 bad request error if body not given1267 with an invalid project ID1268 does not create a new note1269 the API response1270 responds with a status 4041271 with an invalid merge request IID1272 does not create a new note1273 the API response1274 responds with a status 4041275 when anonymous_visual_review_feedback feature flag is disabled1276 does not create a new note1277 the API response1278 responds 4031279 returns error messaging specifying that the feature is disabled1280 behaves like rejecting request without authentication1281 returns a 404 project not found1282 and authenticated user has no project access1283 behaves like handling merge request feedback1284 creates a new note1285 tracks a visual review feedback event1286 with notes_create_service_tracking feature flag disabled1287 does not track any events1288 the API response1289 responds with a status 201 Created1290 returns the persisted note body including user details1291 returns the name of the Visual Review Bot assigned as the author1292 returns the id of the merge request as the parent noteable_id1293 returns a current time stamp instead of the provided one1294 with no message body1295 returns a 400 bad request error if body not given1296 with an invalid project ID1297 does not create a new note1298 the API response1299 responds with a status 4041300 with an invalid merge request IID1301 does not create a new note1302 the API response1303 responds with a status 4041304 when anonymous_visual_review_feedback feature flag is disabled1305 does not create a new note1306 the API response1307 responds 4031308 returns error messaging specifying that the feature is disabled1309Git HTTP requests (Geo)1310 when current node is a secondary1311 GET info_refs1312 git pull1313 when the repository exists1314 but has not successfully synced1315 behaves like a Geo 302 redirect to Primary1316 valid Geo JWT token1317 returns a redirect response1318 when terms are enforced1319 behaves like a Geo 302 redirect to Primary1320 valid Geo JWT token1321 returns a redirect response1322 and has successfully synced1323 behaves like a Geo git request1324 post-dated Geo JWT token1325 is expected to respond with numeric status code unauthorized1326 expired Geo JWT token1327 is expected to respond with numeric status code unauthorized1328 invalid Geo JWT token1329 is expected to respond with numeric status code unauthorized1330 no Geo JWT token1331 is expected to respond with numeric status code unauthorized1332 Geo is unlicensed1333 is expected to respond with numeric status code forbidden1334 behaves like a Geo 200 git request1335 valid Geo JWT token1336 returns an OK response with JSON data1337 when terms are enforced1338 behaves like a Geo git request1339 post-dated Geo JWT token1340 is expected to respond with numeric status code unauthorized1341 expired Geo JWT token1342 is expected to respond with numeric status code unauthorized1343 invalid Geo JWT token1344 is expected to respond with numeric status code unauthorized1345 no Geo JWT token1346 is expected to respond with numeric status code unauthorized1347 Geo is unlicensed1348 is expected to respond with numeric status code forbidden1349 behaves like a Geo 200 git request1350 valid Geo JWT token1351 returns an OK response with JSON data1352 when the repository does not exist1353 behaves like a Geo 302 redirect to Primary1354 valid Geo JWT token1355 returns a redirect response1356 when terms are enforced1357 behaves like a Geo 302 redirect to Primary1358 valid Geo JWT token1359 returns a redirect response1360 when the project does not exist1361 behaves like a Geo 302 redirect to Primary1362 valid Geo JWT token1363 returns a redirect response1364 when terms are enforced1365 behaves like a Geo 302 redirect to Primary1366 valid Geo JWT token1367 returns a redirect response1368 git push1369 behaves like a Geo 302 redirect to Primary1370 valid Geo JWT token1371 returns a redirect response1372 POST git_upload_pack1373 when the repository exists1374 behaves like a Geo git request1375 post-dated Geo JWT token1376 is expected to respond with numeric status code unauthorized1377 expired Geo JWT token1378 is expected to respond with numeric status code unauthorized1379 invalid Geo JWT token1380 is expected to respond with numeric status code unauthorized1381 no Geo JWT token1382 is expected to respond with numeric status code unauthorized1383 Geo is unlicensed1384 is expected to respond with numeric status code forbidden1385 behaves like a Geo 200 git request1386 valid Geo JWT token1387 returns an OK response with JSON data1388 when terms are enforced1389 behaves like a Geo git request1390 post-dated Geo JWT token1391 is expected to respond with numeric status code unauthorized1392 expired Geo JWT token1393 is expected to respond with numeric status code unauthorized1394 invalid Geo JWT token1395 is expected to respond with numeric status code unauthorized1396 no Geo JWT token1397 is expected to respond with numeric status code unauthorized1398 Geo is unlicensed1399 is expected to respond with numeric status code forbidden1400 behaves like a Geo 200 git request1401 valid Geo JWT token1402 returns an OK response with JSON data1403 when the repository does not exist1404 behaves like a Geo 302 redirect to Primary1405 valid Geo JWT token1406 returns a redirect response1407 when terms are enforced1408 behaves like a Geo 302 redirect to Primary1409 valid Geo JWT token1410 returns a redirect response1411 git-lfs1412 Batch API1413 POST /namespace/repo.git/info/lfs/objects/batch1414 operation upload1415 with a valid git-lfs version1416 behaves like a Geo 302 redirect to Primary1417 valid Geo JWT token1418 returns a redirect response1419 with an invalid git-lfs version1420 description: "outdated", version: "git-lfs/2.4.1"1421 that is description: "outdated", version: "git-lfs/2.4.1"1422 is forbidden1423 description: "unknown", version: "git-lfs"1424 that is description: "unknown", version: "git-lfs"1425 is forbidden1426 operation download1427 when the repository exists1428 is handled by the secondary1429 when the repository does not exist1430 behaves like a Geo 302 redirect to Primary1431 valid Geo JWT token1432 returns a redirect response1433 description: "outdated", version: "git-lfs/2.4.1"1434 with an description: "outdated", version: "git-lfs/2.4.1" git-lfs version1435 is handled by the secondary1436 description: "unknown", version: "git-lfs"1437 with an description: "unknown", version: "git-lfs" git-lfs version1438 is handled by the secondary1439 Transfer API1440 GET /namespace/repo.git/gitlab-lfs/objects/<oid>1441 when the repository exists1442 behaves like a Geo 200 git-lfs request1443 valid Geo JWT token1444 returns an OK response with binary data1445 when the repository does not exist1446 behaves like a Geo 302 redirect to Primary1447 valid Geo JWT token1448 returns a redirect response1449 Locks API1450 description: "create", path: "info/lfs/locks", args: {}1451 POST description: "create", path: "info/lfs/locks", args: {}1452 behaves like a Geo 302 redirect to Primary1453 valid Geo JWT token1454 returns a redirect response1455 description: "verify", path: "info/lfs/locks/verify", args: {}1456 POST description: "verify", path: "info/lfs/locks/verify", args: {}1457 behaves like a Geo 302 redirect to Primary1458 valid Geo JWT token1459 returns a redirect response1460 description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1461 POST description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1462 behaves like a Geo 302 redirect to Primary1463 valid Geo JWT token1464 returns a redirect response1465 when current node is the primary1466 POST git_receive_pack1467 when HTTP redirected from a secondary node1468 stores the secondary node ID so the internal API post_receive request can generate the replication lag message1469 when proxying an SSH request from a secondary node1470 when gl_id is provided in JWT token1471 but is invalid1472 geo_gl_id: "key-999"1473 returns a 4031474 geo_gl_id: "key-1"1475 returns a 4031476 geo_gl_id: "key-999"1477 returns a 4031478 geo_gl_id: "junk"1479 returns a 4031480 geo_gl_id: "junk-1"1481 returns a 4031482 geo_gl_id: "kkey-1"1483 returns a 4031484 and is valid1485 but the user has no access1486 returns a 4041487 but the user does not have push access1488 returns a 4031489 and the user has push access1490 returns a 2001491 repository does not exist1492 is expected to respond with numeric status code not_found1493 invalid scope1494 invalid scope of Geo JWT token1495 is expected to respond with numeric status code unauthorized1496 returns correct error1497 Geo JWT token scopes for wiki and repository are not interchangeable1498 for a repository but using a wiki scope1499 is expected to respond with numeric status code unauthorized1500 returns correct error1501 for a wiki but using a repository scope1502 is expected to respond with numeric status code unauthorized1503 returns correct error1504 IP allowed settings1505 returns unauthorized error1506 returns success response1507API::GeoNodes1508 POST /geo_nodes1509 denies access if not admin1510 returns rendering error if params are missing1511 delegates the creation of the Geo node to Geo::NodeCreateService1512 GET /geo_nodes1513 retrieves the Geo nodes if admin is logged in1514 denies access if not admin1515 GET /geo_nodes/:id1516 retrieves the Geo nodes if admin is logged in1517 denies access if not admin1518 behaves like 404 response1519 returns 4041520 GET /geo_nodes/status1521 retrieves all Geo nodes statuses if admin is logged in1522 returns only one record if only one record exists1523 denies access if not admin1524 GET /geo_nodes/:id/status1525 retrieves the Geo nodes status if admin is logged in1526 fetches the current node status from redis1527 shows the database-held response if current node status exists in the database, but not redis1528 the secondary shows 404 response if current node status does not exist in database or redis yet1529 the primary shows 404 response if secondary node status does not exist in database yet1530 denies access if not admin1531 behaves like 404 response1532 returns 4041533 POST /geo_nodes/:id/repair1534 denies access if not admin1535 returns 200 for the primary node1536 returns 200 when node does not need repairing1537 repairs a secondary with oauth application missing1538 behaves like 404 response1539 returns 4041540 PUT /geo_nodes/:id1541 denies access if not admin1542 updates the parameters1543 can update primary1544 cannot disable a primary1545 behaves like 404 response1546 returns 4041547 auth with geo node token1548 enables the secondary node1549 disables the secondary node1550 returns bad request if you try to update the primary1551 responds with 401 when IP is not allowed1552 responds 401 if auth header is bad1553 DELETE /geo_nodes/:id1554 denies access if not admin1555 deletes the node1556 returns 500 if Geo Node could not be deleted1557 behaves like 404 response1558 returns 4041559 GET /geo_nodes/current/failures1560 primary node1561 forbids requests1562 secondary node1563 fetches the current node failures1564 does not show any registry when there is no failure1565 denies access if not admin1566 wiki type1567 only shows wiki failures1568 repository type1569 only shows repository failures1570 nonexistent type1571 returns a bad request1572 verification failures1573 fetches the current node checksum failures1574 does not show any registry when there is no failure1575 wiki type1576 only shows wiki verification failures1577 repository type1578 only shows repository failures1579 checksum mismatch failures1580 fetches the checksum mismatch failures from current node1581 does not show any registry when there is no failure1582 wiki type1583 only shows wiki checksum mismatch failures1584 repository type1585 only shows repository checksum mismatch failures1586Groups::EpicsController1587 when epics feature is disabled1588 GET #index1589 behaves like 404 status1590 returns 404 status1591 GET #new1592 behaves like 404 status1593 returns 404 status1594 GET #show1595 behaves like 404 status1596 returns 404 status1597 PUT #update1598 behaves like 404 status1599 returns 404 status1600 when epics feature is enabled1601 GET #index1602 returns index1603 GET #discussions1604 when issue note is returned1605 project default namespace1606 behaves like issue link presence1607 the link to the issue is included1608 project group namespace1609 behaves like issue link presence1610 the link to the issue is included1611 setting notes filter1612 behaves like issuable notes filter1613 sets discussion filter1614 expires notes e-tag cache for issuable if filter changed1615 does not expires notes e-tag cache for issuable if filter did not change1616 does not set notes filter when database is in read-only mode1617 does not set notes filter when persist_filter param is false1618 returns only user comments1619 returns only activity notes1620 when filter is set to "only_comments"1621 does not merge label event notes1622 GET #new1623 renders template1624 with unauthorized user1625 returns a not found 404 response1626 GET #show1627 when format is HTML1628 renders template1629 logs the view with Gitlab::Search::RecentEpics1630 with unauthorized user1631 returns a not found 404 response1632 behaves like disabled when using an external authorization service1633 works when the feature is not enabled1634 renders a 404 with a message when the feature is enabled1635 when format is JSON1636 returns epic1637 with unauthorized user1638 returns a not found 404 response1639 PUT #update1640 with correct basic params1641 returns status 2001642 updates the epic correctly1643 when state_event param is close1644 allows epic to be closed1645 when state_event param is reopen1646 allows epic to be reopened1647 GET #realtime_changes1648 returns epic1649 with unauthorized user1650 returns a not found 404 response1651 behaves like disabled when using an external authorization service1652 works when the feature is not enabled1653 renders a 404 with a message when the feature is enabled1654 #create1655 when user has permissions to create an epic1656 when all required parameters are passed1657 returns 200 response1658 creates a new epic1659 assigns labels to the new epic1660 returns the correct json1661 behaves like disabled when using an external authorization service1662 works when the feature is not enabled1663 renders a 404 with a message when the feature is enabled1664 when required parameter is missing1665 returns 422 response1666 does not create a new epic1667 when the endpoint receives requests above the limit1668 prevents from creating more epics1669 logs the event on auth.log1670 with unauthorized user1671 returns a not found 404 response1672 DELETE #destroy1673 rejects a developer to destroy an epic1674 deletes the epic1675 POST #bulk_update1676 with correct params1677 when group bulk edit feature is disabled1678 returns status 4041679 does not update merge requests milestone1680 when group bulk edit feature is enabled1681 returns status 2001682 updates epics labels1683 behaves like DescriptionDiffActions1685 when license is available1686 GET description_diff1687 returns the diff with the previous version1688 returns the diff with the previous version of the specified start_version_id1689 when description version is from another issuable1690 returns 4041691 when start_version_id is from another issuable1692 returns 4041693 when start_version_id is deleted1694 returns 4041695 when description version is deleted1696 returns 4041697 DELETE description_diff1698 returns 2001699 when start_version_id is present1700 returns 2001701 when version is already deleted1702 returns 4041703 when user cannot admin issuable1704 returns 4041705 when license is not available1706 GET description_diff1707 returns 4041708 DELETE description_diff1709 returns 4041710Boards::ListsController1711 GET index1712 returns a successful 200 response1713 returns a list of board lists1714 with unauthorized user1715 returns a forbidden 403 response1716 POST create1717 with valid params1718 for label lists1719 returns a successful 200 response1720 for iteration lists1721 when license is available1722 returns a successful 200 response1723 when license is unavailable1724 returns an error1725 with max issue count1726 with licensed wip limits1727 returns the created list1728 without licensed wip limits1729 ignores max issue count1730 with max issue weight1731 with licensed wip limits1732 returns the created list1733 without licensed wip limits1734 ignores max issue count1735 with limit metric1736 with licensed wip limits1737 fails with an unknown limit metric1738 behaves like a limit metric response1739 returns the created list with expected limit_metric1740 behaves like a limit metric response1741 returns the created list with expected limit_metric1742 behaves like a limit metric response1743 returns the created list with expected limit_metric1744 behaves like a limit metric response1745 returns the created list with expected limit_metric1746 behaves like a limit metric response1747 returns the created list with expected limit_metric1748 without licensed wip limits1749 ignores limit metric setting1750 with invalid params1751 when label is empty1752 returns an unprocessable entity 422 response1753 when label that does not belongs to group1754 returns an unprocessable entity 422 response1755 with unauthorized user1756 returns a forbidden 403 response1757 PATCH update1758 when updating max limits1759 returns a successful 200 response when max issue count should be updated1760 does not overwrite existing weight when max issue count is provided1761 does not overwrite existing count when max issue weight is provided1762 fails if negative max_issue_count is provided1763 fails if negative max_issue_weight is provided1764 multiple fields update behavior1765 behaves like a list update request1766 updates fields as expected1767 behaves like a list update request1768 updates fields as expected1769 behaves like a list update request1770 updates fields as expected1771 behaves like a list update request1772 updates fields as expected1773 behaves like a list update request1774 updates fields as expected1775 behaves like a list update request1776 updates fields as expected1777 behaves like a list update request1778 updates fields as expected1779 behaves like a list update request1780 updates fields as expected1781 behaves like a list update request1782 updates fields as expected1783 behaves like a list update request1784 updates fields as expected1785 behaves like a list update request1786 updates fields as expected1787 behaves like a list update request1788 updates fields as expected1789 behaves like a list update request1790 updates fields as expected1791 behaves like a list update request1792 updates fields as expected1793 when wip limits are not licensed1794 fails to update max issue count with expected status1795 fails to update max issue weight with expected status1796 with valid position1797 returns a successful 200 response1798 moves the list to the desired position1799 with invalid position1800 returns an unprocessable entity 422 response1801 with invalid list id1802 returns a not found 404 response1803 with unauthorized user1804 returns a 422 unprocessable entity response1805 DELETE destroy1806 with valid list id1807 returns a successful 200 response1808 removes list from board1809 with invalid list id1810 returns a not found 404 response1811 with unauthorized user1812 returns a forbidden 403 response1813API::ProtectedEnvironments1814 GET /projects/:id/protected_environments1815 when authenticated as a maintainer1816 returns the protected environments1817 behaves like requests for non-maintainers1818 is expected to be denied for :guest1819 is expected to be denied for :developer1820 is expected to be denied for :reporter1821 is expected to be denied for :anonymous1822 GET /projects/:id/protected_environments/:environment1823 when authenticated as a maintainer1824 returns the protected environment1825 with multiple approval rules1826 returns the protected environment1827 when protected environment does not exist1828 behaves like 404 response1829 returns 4041830 behaves like requests for non-maintainers1831 is expected to be denied for :guest1832 is expected to be denied for :developer1833 is expected to be denied for :reporter1834 is expected to be denied for :anonymous1835 POST /projects/:id/protected_environments/1836 when authenticated as a maintainer1837 protects the environment with user allowed to deploy1838 protects the environment with group allowed to deploy1839 protects the environment with maintainers allowed to deploy1840 returns 409 error if environment is already protected1841 protects the environment and require approvals1842 returns error with invalid deploy access level1843 without deploy_access_levels1844 behaves like 400 response1845 returns 4001846 behaves like requests for non-maintainers1847 is expected to be denied for :guest1848 is expected to be denied for :developer1849 is expected to be denied for :reporter1850 is expected to be denied for :anonymous1851 DELETE /projects/:id/protected_environments/:environment1852 when authenticated as a maintainer1853 unprotects the environment1854 behaves like requests for non-maintainers1855 is expected to be denied for :guest1856 is expected to be denied for :developer1857 is expected to be denied for :reporter1858 is expected to be denied for :anonymous1859 GET /groups/:id/protected_environments1860 when authenticated as a maintainer1861 returns the protected environments1862 behaves like requests for non-maintainers1863 is expected to be denied for :guest1864 is expected to be denied for :developer1865 is expected to be denied for :reporter1866 is expected to be denied for :anonymous1867 GET /groups/:id/protected_environments/:environment1868 when authenticated as a maintainer1869 returns the protected environment1870 with multiple approval rules1871 returns the protected environment1872 when protected environment does not exist1873 behaves like 404 response1874 returns 4041875 behaves like requests for non-maintainers1876 is expected to be denied for :guest1877 is expected to be denied for :developer1878 is expected to be denied for :reporter1879 is expected to be denied for :anonymous1880 POST /groups/:id/protected_environments/1881 when authenticated as a maintainer1882 protects the environment with user allowed to deploy1883 protects the environment with group allowed to deploy1884 protects the environment with shared group allowed to deploy1885 protects the environment with maintainers allowed to deploy1886 protects the environment with group allowed to deploy with inheritance1887 protects the environment and require approvals1888 returns 409 error if environment is already protected1889 returns error with invalid deploy access level1890 without deploy_access_levels1891 behaves like 400 response1892 returns 4001893 behaves like requests for non-maintainers1894 is expected to be denied for :guest1895 is expected to be denied for :developer1896 is expected to be denied for :reporter1897 is expected to be denied for :anonymous1898 DELETE /groups/:id/protected_environments/:environment1899 when authenticated as a maintainer1900 unprotects the environment1901 behaves like requests for non-maintainers1902 is expected to be denied for :guest1903 is expected to be denied for :developer1904 is expected to be denied for :reporter1905 is expected to be denied for :anonymous1906GroupsController1907 GET #show1908 behaves like namespace storage limit alert1909 does render1910 when alert_level is error1911 does not render a dismiss button1912 when cookie is set1913 does not render alert1914 behaves like seat count alert1915 when the namespace qualifies for the alert1916 sets the seat_count_data1917 when the feature flag is disabled1918 sets the seat_count_data to nil1919 when the namespace does not qualify for the alert1920 sets the seat_count_data to nil1921 GET #activity1922 when authorized1923 when group events are available1924 includes events from group and subgroups1925 when group events are not available1926 does not include events from group and subgroups1927 when unauthorized1928 includes only events visible to user1929 POST #restore1930 when authenticated user can admin the group1931 delayed deletion feature is available1932 success1933 restores the group1934 renders success notice upon restoring1935 failure1936 does not restore the group1937 redirects to group edit page1938 delayed deletion feature is not available1939 returns 4041940 when authenticated user cannot admin the group1941 returns 4041942 DELETE #destroy1943 when authenticated user can admin the group1944 delayed deletion feature is available1945 success1946 marks the group for delayed deletion1947 does not immediately delete the group1948 redirects to group path with notice about delayed deletion1949 failure1950 does not mark the group for deletion1951 redirects to group edit page1952 when group is already marked for deletion1953 when permanently_remove param is set1954 deletes the group immediately1955 when permanently_remove param is not set1956 does nothing1957 delayed deletion feature is not available1958 immediately schedules a group destroy1959 redirects to root page with alert about immediate deletion1960 when authenticated user cannot admin the group1961 returns 4041962 POST #create1963 authorization1964 allows an auditor with "can_create_group" set to true to create a group1965 behaves like GroupInviteMembers1966 when inviting members1967 without valid emails in the params1968 no invites generated by default1969 does not track the event1970 with valid emails in the params1971 adds users with developer access and ignores blank and invalid emails1972 tracks the event1973 when creating a group with `default_branch_protection` attribute1974 authenticated as an admin1975 feature_enabled: false, setting_enabled: false, default_branch_protection: 01976 behaves like creates the group with the expected `default_branch_protection` value1977 creates the group with the expected `default_branch_protection` value1978 feature_enabled: false, setting_enabled: true, default_branch_protection: 01979 behaves like creates the group with the expected `default_branch_protection` value1980 creates the group with the expected `default_branch_protection` value1981 feature_enabled: true, setting_enabled: false, default_branch_protection: 01982 behaves like creates the group with the expected `default_branch_protection` value1983 creates the group with the expected `default_branch_protection` value1984 feature_enabled: false, setting_enabled: false, default_branch_protection: 01985 behaves like creates the group with the expected `default_branch_protection` value1986 creates the group with the expected `default_branch_protection` value1987 authenticated a normal user1988 feature_enabled: false, setting_enabled: false, default_branch_protection: 01989 behaves like creates the group with the expected `default_branch_protection` value1990 creates the group with the expected `default_branch_protection` value1991 feature_enabled: false, setting_enabled: true, default_branch_protection: 01992 behaves like creates the group with the expected `default_branch_protection` value1993 creates the group with the expected `default_branch_protection` value1994 feature_enabled: true, setting_enabled: false, default_branch_protection: 21995 behaves like creates the group with the expected `default_branch_protection` value1996 creates the group with the expected `default_branch_protection` value1997 feature_enabled: false, setting_enabled: false, default_branch_protection: 01998 behaves like creates the group with the expected `default_branch_protection` value1999 creates the group with the expected `default_branch_protection` value2000 PUT #update2001 when max_pages_size param is specified2002 when user is an admin with admin mode enabled2003 updates max_pages_size2004 when user is an admin with admin mode disabled2005 does not update max_pages_size2006 when user is not an admin2007 does not update max_pages_size2008 when `max_personal_access_token_lifetime` is specified2009 without `personal_access_token_expiration_policy` licensed2010 does not update the attribute2011 doesn't call the update lifetime service2012 with personal_access_token_expiration_policy licensed2013 when `max_personal_access_token_lifetime` is updated to a non-null value2014 updates the attribute2015 executes the update lifetime service2016 when `max_personal_access_token_lifetime` is updated to null value2017 updates the attribute2018 doesn't call the update lifetime service2019 when `default_branch_protection` is specified2020 authenticated as admin2021 feature_enabled: false, setting_enabled: false, default_branch_protection: 02022 behaves like updates the attribute2023 updates the attribute2024 feature_enabled: false, setting_enabled: true, default_branch_protection: 02025 behaves like updates the attribute2026 updates the attribute2027 feature_enabled: true, setting_enabled: false, default_branch_protection: 02028 behaves like updates the attribute2029 updates the attribute2030 feature_enabled: false, setting_enabled: false, default_branch_protection: 02031 behaves like updates the attribute2032 updates the attribute2033 authenticated as group owner2034 feature_enabled: false, setting_enabled: false, default_branch_protection: 02035 behaves like updates the attribute2036 updates the attribute2037 feature_enabled: false, setting_enabled: true, default_branch_protection: 02038 behaves like updates the attribute2039 updates the attribute2040 feature_enabled: true, setting_enabled: false, default_branch_protection: 22041 behaves like updates the attribute2042 updates the attribute2043 feature_enabled: false, setting_enabled: false, default_branch_protection: 02044 behaves like updates the attribute2045 updates the attribute2046 when `delayed_project_removal` and `lock_delayed_project_removal` params are specified2047 when feature is available2048 allows storing of settings2049 when feature is not available2050 does not allow storing of settings2051 when `prevent_forking_outside_group` is specified2052 authenticated as group owner2053 feature_enabled: false, prevent_forking_outside_group: false, result: nil2054 behaves like updates the attribute if needed2055 updates the attribute2056 feature_enabled: false, prevent_forking_outside_group: true, result: nil2057 behaves like updates the attribute if needed2058 updates the attribute2059 feature_enabled: true, prevent_forking_outside_group: false, result: false2060 behaves like updates the attribute if needed2061 updates the attribute2062 feature_enabled: true, prevent_forking_outside_group: true, result: true2063 behaves like updates the attribute if needed2064 updates the attribute2065 when `new_user_signups_cap` is specified2066 authenticated as group owner2067 new_user_signups_cap: nil, result: nil, status: :found2068 behaves like updates the attribute2069 updates the attribute2070 new_user_signups_cap: 10, result: 10, status: :found2071 behaves like updates the attribute2072 updates the attribute2073 when group feature setting `wiki_access_level` is specified2074 updates the attribute2075 when group wiki licensed feature is not enabled for the group2076 does not update the attribute2077Registrations::GroupsProjectsController2078 GET #new2079 behaves like Registrations::GroupsController GET #new2080 with an unauthenticated user2081 is expected to respond with numeric status code redirect2082 is expected to redirect to "/users/sign_in"2083 with an authenticated user2084 when on .com2085DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2086 is expected to respond with numeric status code ok2087DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2088 is expected to render template new2089DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2090 assigns the group variable to a new Group with the default group visibility2091DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2092 tracks an event for the combined_registration experiment2093 user without the ability to create a group2094 is expected to respond with numeric status code not_found2095 when not on .com2096 is expected to respond with numeric status code not_found2097 behaves like hides email confirmation warning2098 with an unconfirmed email address present2099DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2100 is expected not to set confirm warning for "unconfirmed@gitlab.com"2101 without an unconfirmed email address present2102DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2103 is expected not to set confirm warning for "user927@example.org"2104 not shared behavior2105DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2106 builds a project object2107DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from new at /builds/gitlab-org/gitlab/ee/app/controllers/registrations/groups_projects_controller.rb:22)2108 tracks an event for the combined_registration experiment2109 publishes the required verification experiment to the database2110 POST #create2111 with an unauthenticated user2112 is expected to respond with numeric status code redirect2113 is expected to redirect to "/users/sign_in"2114 with an authenticated user2115 behaves like hides email confirmation warning2116 with an unconfirmed email address present2117DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2118 is expected not to set confirm warning for "unconfirmed@gitlab.com"2119 without an unconfirmed email address present2120DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2121 is expected not to set confirm warning for "user929@example.org"2122 behaves like records a conversion event2123DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2124 records a conversion event for the required verification experiment2125 when group and project can be created2126DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2127 creates a group2128DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2129 passes create_event: true to the Groups::CreateService2130DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2131 allows for the project to be initialized with a README2132DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2133 tracks create events for the combined_registration experiment2134 when there is no suggested path based from the name2135DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2136 creates a group2137 when the group cannot be created2138 does not create a group2139 does not tracks events for the combined_registration experiment2140 the project is not disgarded completely2141 is expected to respond with numeric status code ok2142 is expected to render template new2143 with signup onboarding not enabled2144 is expected to respond with numeric status code not_found2145 when group can be created but the project can't2146 does not create a project2147 selectively tracks events for the combined_registration experiment2148 is expected to respond with numeric status code ok2149 is expected to render template new2150 when a group is already created but a project isn't2151DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2152 creates a project and not another group2153DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2154 selectively tracks events for the combined_registration experiment2155 it redirects2156DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2157 is expected to redirect to "/users/sign_up/welcome/continuous_onboarding_getting_started?project_id=265"2158 when the `registration_verification` experiment is enabled2159DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2160 is expected to store the success path and redirect to the verification page2161 when setup_for_company is true2162DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2163 is expected to store the success path and redirect to the new trial page2164 when the skip_trial param is set2165DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2166 is expected to redirect to "/users/sign_up/welcome/continuous_onboarding_getting_started?project_id=265"2167 when the trial_onboarding_flow param is set2168DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2169 is expected to redirect to "/users/sign_up/welcome/continuous_onboarding_getting_started?project_id=265"2170 when in the trial onboarding flow2171 applies a trial2172 when failing to apply trial2173 is expected to render template new2174 learn gitlab project2175 trial: false, project_name: "Learn GitLab", template: "learn_gitlab_ultimate.tar.gz"2176DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2177 is expected to receive execute(*(any args)) 1 time2178 trial: true, project_name: "Learn GitLab - Ultimate trial", template: "learn_gitlab_ultimate.tar.gz"2179DEPRECATION WARNING: publish_to_database is deprecated and should not be used for reporting anymore (called from block in registration_verification_enabled? at /builds/gitlab-org/gitlab/ee/app/helpers/ee/registrations_helper.rb:16)2180 is expected to receive execute(*(any args)) 1 time2181 POST #import2182 with an unauthenticated user2183 is expected to respond with numeric status code redirect2184 is expected to redirect to "/users/sign_in"2185 with an authenticated user2186 behaves like hides email confirmation warning2187 with an unconfirmed email address present2188 is expected not to set confirm warning for "unconfirmed@gitlab.com"2189 without an unconfirmed email address present2190 is expected not to set confirm warning for "user934@example.org"2191 behaves like records a conversion event2192 records a conversion event for the required verification experiment2193 when a group can't be created2194 doesn't track for the combined_registration experiment2195 is expected to render template new2196 when there is no suggested path based from the group name2197 creates a group, and redirects2198 when group can be created2199 creates a group2200 passes create_event: true to the Groups::CreateService2201 tracks an event for the combined_registration experiment2202 redirects to the import url with a namespace_id parameter2203 PUT #exit2204 with an unauthenticated user2205 is expected to respond with numeric status code redirect2206 is expected to redirect to "/users/sign_in"2207 with an authenticated user2208 is expected to respond with numeric status code redirect2209 is expected to redirect to "http://test.host/"2210 when requires_credit_card_verification is true2211 sets requires_credit_card_verification to false2212 when the `exit_registration_verification` feature flag is disabled2213 is expected to respond with numeric status code not_found2214Projects::BoardsController2215 GET index2216 returns a list of project boards including milestones2217 behaves like redirects to last visited board2218 when multiple boards are disabled2219 renders first board2220 when multiple boards are enabled2221 redirects to latest visited board2222 behaves like pushes wip limits to frontend2223 self-hosted with correct license2224 is enabled for all groups if the license is correct2225 on .com2226 for group with correct plan2227 is enabled2228 for group with incorrect or no plan2229 is not enabled2230 GET recent2231 behaves like returns recently visited boards2232 returns last 4 visited boards2233 unauthenticated2234 returns a 3022235 GET show2236 behaves like multiple issue boards show2237 when multiple issue boards is enabled2238 lets user view board12239 lets user view board22240 when multiple issue boards is disabled2241 let user view the default shown board2242 renders 200 when project board is not the default2243 POST create2244 with the multiple issue boards available2245 with valid params2246 returns a successful 200 response2247 returns the created board2248 valid board is created2249 with invalid params2250 returns an unprocessable entity 422 response2251 with unauthorized user2252 returns a not found 404 response2253 PATCH update2254 with valid params2255 returns a successful 200 response2256 returns the updated board2257 updates board with valid params2258 with invalid params2259 returns an unprocessable entity 422 response2260 with invalid board id2261 returns a not found 404 response2262 with unauthorized user2263 returns a not found 404 response2264 DELETE destroy2265 with valid board id2266 redirects to the issue boards page2267 removes board from project2268 with invalid board id2269 returns a not found 404 response2270 with unauthorized user2271 returns a not found 404 response2272API::Deployments2273 GET /projects/:id/deployments/:id2274 matches the response schema2275 with multiple approval rules2276 has approval summary2277 POST /projects/:id/deployments2278 matches the response schema2279 when deploying to a protected environment that requires maintainer access2280 returns a 403 when the user is a developer2281 creates the deployment when the user is a maintainer2282 when deploying to a protected environment that requires developer access2283 returns a 403 when the user is a guest2284 creates the deployment when the user is a developer2285 PUT /projects/:id/deployments/:deployment_id2286 matches the response schema2287 when updating a deployment for a protected environment that requires maintainer access2288 returns a 403 when the user is a developer2289 updates the deployment when the user is a maintainer2290 when updating a deployment for a protected environment that requires developer access2291 returns a 403 when the user is a guest2292 updates the deployment when the user is a developer2293 POST /projects/:id/deployments/:deployment_id/approval2294 when user is authorized to read project2295 and Protected Environments feature is available2296 and user is authorized to update deployment2297 creates an approval2298 creates a rejection2299 creates an approval with a comment2300 with multiple approval rules2301 creates an approval2302 creates an approval when the user represents the group2303 does not create an approval when the user does not represent the group2304 and user is not authorized to update deployment2305 does not create an approval2306 with an invalid status2307 does not create an approval2308 with a deployment that does not belong to the project2309 does not create an approval2310 with a deployment that does not exist2311 does not create an approval2312 when Protected Environments feature is not available2313 does not create an approval2314 when user is not authorized to read project2315 does not create an approval2316Groups::Analytics::CycleAnalytics::SummaryController2317 GET "show"2318 passes the date filter to the query class2319 behaves like summary endpoint2320 succeeds2321 when valid parameters are given2322 succeeds2323 accepts optional `project_ids` array2324 succeeds2325 when `created_before` is missing2326 succeeds2327 when `created_after` is missing2328 succeeds2329 when `created_after` is invalid, falls back to default date2330 is expected to respond with numeric status code success2331 when `created_before` is invalid2332 renders `unprocessable_entity`2333 when `created_after` is later than `created_before`2334 renders `unprocessable_entity`2335 when the date range exceeds 180 days2336 renders `unprocessable_entity`2337 when `group_id` is not found2338 renders `not_found` when group is missing2339 when user has no lower access level than `reporter`2340 renders `forbidden` response2341 when feature is not available for the group2342 renders `forbidden` response2343 GET "time_summary"2344 passes the group to RequestParams2345 uses the aggregated VSA data collector2346 behaves like summary endpoint2347 succeeds2348 when valid parameters are given2349 succeeds2350 accepts optional `project_ids` array2351 succeeds2352 when `created_before` is missing2353 succeeds2354 when `created_after` is missing2355 succeeds2356 when `created_after` is invalid, falls back to default date2357 is expected to respond with numeric status code success2358 when `created_before` is invalid2359 renders `unprocessable_entity`2360 when `created_after` is later than `created_before`2361 renders `unprocessable_entity`2362 when the date range exceeds 180 days2363 renders `unprocessable_entity`2364 when `group_id` is not found2365 renders `not_found` when group is missing2366 when user has no lower access level than `reporter`2367 renders `forbidden` response2368 when feature is not available for the group2369 renders `forbidden` response2370 time series endpoints2371 GET "lead_times"2372 returns the daily average durations2373 behaves like summary endpoint2374 succeeds2375 when valid parameters are given2376 succeeds2377 accepts optional `project_ids` array2378 succeeds2379 when `created_before` is missing2380 succeeds2381 when `created_after` is missing2382 succeeds2383 when `created_after` is invalid, falls back to default date2384 is expected to respond with numeric status code success2385 when `created_before` is invalid2386 renders `unprocessable_entity`2387 when `created_after` is later than `created_before`2388 renders `unprocessable_entity`2389 when the date range exceeds 180 days2390 renders `unprocessable_entity`2391 when `group_id` is not found2392 renders `not_found` when group is missing2393 when user has no lower access level than `reporter`2394 renders `forbidden` response2395 when feature is not available for the group2396 renders `forbidden` response2397 GET "cycle_times"2398 returns the daily average durations2399 behaves like summary endpoint2400 succeeds2401 when valid parameters are given2402 succeeds2403 accepts optional `project_ids` array2404 succeeds2405 when `created_before` is missing2406 succeeds2407 when `created_after` is missing2408 succeeds2409 when `created_after` is invalid, falls back to default date2410 is expected to respond with numeric status code success2411 when `created_before` is invalid2412 renders `unprocessable_entity`2413 when `created_after` is later than `created_before`2414 renders `unprocessable_entity`2415 when the date range exceeds 180 days2416 renders `unprocessable_entity`2417 when `group_id` is not found2418 renders `not_found` when group is missing2419 when user has no lower access level than `reporter`2420 renders `forbidden` response2421 when feature is not available for the group2422 renders `forbidden` response2423API::ProtectedBranches2424 GET /projects/:id/protected_branches/:branch2425 when authenticated as a maintainer2426 behaves like protected branch2427 returns the protected branch2428 with per user/group access levels2429 returns access level details2430 when protected branch contains a wildcard2431 behaves like protected branch2432 returns the protected branch2433 with per user/group access levels2434 returns access level details2435 when protected branch contains a period2436 behaves like protected branch2437 returns the protected branch2438 with per user/group access levels2439 returns access level details2440 when authenticated as a guest2441 behaves like 403 response2442 returns 4032443 PATCH /projects/:id/protected_branches/:branch2444 when authenticated as a maintainer2445 when the feature is enabled2446 updates the protected branch2447 when the feature is disabled2448 does not change the protected branch2449 when authenticated as a guest2450 returns a 403 response2451 POST /projects/:id/protected_branches2452 when authenticated as a maintainer2453 protects a single branch2454 protects a single branch and only admins can unprotect2455 code_owner_approval_required2456 when feature is enabled2457 sets :code_owner_approval_required to true when the param is true2458 sets :code_owner_approval_required to false when the param is false2459 when feature is not enabled2460 sets :code_owner_approval_required to false when the param is false2461 with granular access2462 can protect a branch while allowing an individual user to push2463 can protect a branch while allowing an individual user to merge2464 can protect a branch while allowing an individual user to unprotect2465 can protect a branch while allowing a group to push2466 can protect a branch while allowing a group to merge2467 can protect a branch while allowing a group to unprotect2468 fails if users don't all have access to the project2469 fails if groups aren't all invited to the project2470 avoids creating default access levels unless necessary2471API::Discussions2472 when noteable is an Epic2473 behaves like discussions API2474 GET /groups/:id/epics/:noteable_id/discussions2475 returns an array of discussions2476 returns a 404 error when noteable id not found2477 returns 404 when not authorized2478 GET /groups/:id/epics/:noteable_id/discussions/:discussion_id2479 returns a discussion by id2480 returns a 404 error if discussion not found2481 POST /groups/:id/epics/:noteable_id/discussions2482 creates a new note2483 returns a 400 bad request error if body not given2484 returns a 401 unauthorized error if user not authenticated2485 tracks a Notes::CreateService event2486 with notes_create_service_tracking feature flag disabled2487 does not track any events2488 when an admin or owner makes the request2489 accepts the creation date to be set2490 when user does not have access to read the discussion2491 responds with 4042492 when a project is public with private repo access2493 when user is not a team member of private repo2494 creating a new note2495 raises 404 error2496 fetching a discussion2497 raises 404 error2498 POST /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes2499 adds a new note to the discussion2500 returns a 400 bad request error if body not given2501 when the discussion is an individual note2502 creates a new discussion2503 PUT /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id2504 returns modified note2505 returns a 404 error when note id not found2506 returns a 400 bad request error if body not given2507 DELETE /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id2508 deletes a note2509 returns a 404 error when note id not found2510 behaves like 412 response2511 for a modified ressource2512 returns 412 with a JSON error2513 for an unmodified ressource2514 returns 204 with an empty body2515Groups::GroupMembersController2516 GET #index2517 with members, invites and requests queries2518 records queries2519 avoids extra group_link database queries utilizing pre-loading2520 DELETE #leave2521 when member is not an owner2522 creates an audit event2523 when member is an owner2524 does not create an audit event2525 when member requested access2526 creates an audit event2527 with external authorization enabled2528 POST #override2529 is successful2530 when user has minimal access2531 is not successful2532 when minimal_access_role feature is available2533 is successful2534 POST request_access2535 when users with unconfirmed emails are allowed to log-in2536 when group has email domain feature enabled2537 for a user with an un-verified email belonging to the allowed domain2538 does not create a new access request2539 behaves like creates access request for a verified user with email belonging to the allowed domain2540 for a user with a verified email belonging to the allowed domain2541 behaves like creates a new access request2542 creates a new access request to the group2543 when group has email domain feature disabled2544 for a user with an un-verified email belonging to the allowed domain2545 behaves like creates a new access request2546 creates a new access request to the group2547 for a user with an un-verified email belonging to a domain different from the allowed domain2548 behaves like creates a new access request2549 creates a new access request to the group2550 behaves like creates access request for a verified user with email belonging to the allowed domain2551 for a user with a verified email belonging to the allowed domain2552 behaves like creates a new access request2553 creates a new access request to the group2554 when users with unconfirmed emails are not allowed to log-in2555 when group has email domain feature enabled2556 for a user with an un-verified email belonging to the allowed domain2557 behaves like does not create a new access request due to user pending confirmation2558 does not create a new access request due to user pending confirmation2559 behaves like creates access request for a verified user with email belonging to the allowed domain2560 for a user with a verified email belonging to the allowed domain2561 behaves like creates a new access request2562 creates a new access request to the group2563 when group has email domain feature disabled2564 for a user with an un-verified email belonging to the allowed domain2565 behaves like does not create a new access request due to user pending confirmation2566 does not create a new access request due to user pending confirmation2567 for a user with an un-verified email belonging to a domain different from the allowed domain2568 behaves like does not create a new access request due to user pending confirmation2569 does not create a new access request due to user pending confirmation2570 behaves like creates access request for a verified user with email belonging to the allowed domain2571 for a user with a verified email belonging to the allowed domain2572 behaves like creates a new access request2573 creates a new access request to the group2574 GET #export_csv2575 when feature is unlicensed2576 responds with :not_found2577 when feature is licensed2578 enqueues a worker job2579 current user is a group maintainer2580 returns a 4042581 current user is a group developer2582 returns a 4042583 current user is a group guest2584 returns a 4042585 POST #resend_invite2586 when user has minimal access2587 is not successful2588 when minimal_access_role feature is available2589 is successful2590Projects::PushRulesController2591 #update2592 updates the push rule2593 push rules unlicensed2594 returns 4042595 Updating reject_unsigned_commits rule2596 as an admin in admin mode2597 behaves like a setting with global default2598 when disabled2599 behaves like updateable setting2600 does not update the setting2601 when enabled2602 behaves like updateable setting2603 updates the setting2604 when global setting is enabled2605 behaves like updateable setting2606 updates the setting2607 as a maintainer user2608 behaves like a setting with global default2609 when disabled2610 behaves like updateable setting2611 does not update the setting2612 when enabled2613 behaves like updateable setting2614 updates the setting2615 when global setting is enabled2616 behaves like updateable setting2617 updates the setting2618 as a developer user2619 behaves like a setting with global default2620 when disabled2621 behaves like updateable setting2622 does not update the setting2623 when enabled2624 behaves like updateable setting2625 does not update the setting2626 when global setting is enabled2627 behaves like updateable setting2628 does not update the setting2629 Updating commit_committer_check rule2630 as an admin in admin mode2631 behaves like a setting with global default2632 when disabled2633 behaves like updateable setting2634 does not update the setting2635 when enabled2636 behaves like updateable setting2637 updates the setting2638 when global setting is enabled2639 behaves like updateable setting2640 updates the setting2641 as a maintainer user2642 behaves like a setting with global default2643 when disabled2644 behaves like updateable setting2645 does not update the setting2646 when enabled2647 behaves like updateable setting2648 updates the setting2649 when global setting is enabled2650 behaves like updateable setting2651 updates the setting2652 as a developer user2653 behaves like a setting with global default2654 when disabled2655 behaves like updateable setting2656 does not update the setting2657 when enabled2658 behaves like updateable setting2659 does not update the setting2660 when global setting is enabled2661 behaves like updateable setting2662 does not update the setting2663API::ProjectApprovalSettings2664 GET /projects/:id/approval_settings2665 when the request is correct2666 matches the response schema2667 when target_branch is specified2668 filters the rules returned by target branch2669 private group filtering2670 excludes private groups if user has no access2671 includes private groups if user has access2672 report_approver rules2673 includes report_approver rules2674 when project is archived2675 when user has normal permissions2676 returns 4032677 when user has project admin permissions2678 allows access2679 POST /projects/:id/approval_settings/rules2680 behaves like an API endpoint for creating project approval rule2681 when missing parameters2682 returns 400 status2683 when user is without access2684 returns 4032685 when the request is correct2686 returns 201 status2687 changes settings properly2688 when protected_branch_ids param is present2689 creates approval rule associated to specified protected branches2690 when applies_to_all_protected_branches param is present2691 returns a list of project protected branches in the response2692 with rule_type set to report_approver2693 without report_type2694 returns a error http status2695 when creating a approval rule for each report_type2696 rule_name: "License-Check", report_type: :license_scanning2697 specifies `report_rule` and `report_type`2698 rule_name: "Coverage-Check", report_type: :code_coverage2699 specifies `report_rule` and `report_type`2700 with valid scanners2701 returns 201 status2702 with valid severity_levels2703 returns 201 status2704 with vulnerabilities_allowed2705 returns 201 status2706 PUT /projects/:id/approval_settings/:approval_rule_id2707 behaves like an API endpoint for updating project approval rule2708 as a project admin2709 behaves like a user with access2710 sets approvers2711 when applies_to_all_protected_branches param is present2712 returns a list of project protected branches in the response2713 when protected_branch_ids param is present2714 associates approval rule to specified protected branches2715 with valid scanners2716 returns 200 status2717 with valid severity_levels2718 returns 200 status2719 when approver already exists2720 when sending json data2721 removes all approvers if empty params are given2722 with vulnerabilities_allowed2723 returns 200 status2724 as a global admin2725 behaves like a user with access2726 sets approvers2727 when applies_to_all_protected_branches param is present2728 returns a list of project protected branches in the response2729 when protected_branch_ids param is present2730 associates approval rule to specified protected branches2731 with valid scanners2732 returns 200 status2733 with valid severity_levels2734 returns 200 status2735 when approver already exists2736 when sending json data2737 removes all approvers if empty params are given2738 with vulnerabilities_allowed2739 returns 200 status2740 as a random user2741 returns 4032742 DELETE /projects/:id/approval_settings/rules/:approval_rule_id2743 behaves like an API endpoint for deleting project approval rule2744 destroys2745 when approval rule not found2746 returns not found2747 when user is not eligible to delete2748 returns forbidden2749API::GroupBoards2750 behaves like group and project boards2751 avoids N+1 queries2752 GET /groups/:id/boards2753 when unauthenticated2754 returns authentication error2755 when authenticated2756 returns the issue boards2757 GET /groups/:id/boards/:board_id2758 get a single board by id2759 PUT /groups/:id/boards/:board_id2760 updates the board name2761 updates the issue board booleans2762 GET /groups/:id/boards/:board_id/lists2763 returns issue board lists2764 returns 404 if board not found2765 GET /groups/:id/boards/:board_id/lists/:list_id2766 returns a list2767 returns 404 if list not found2768 POST /groups/:id/boards/lists2769 creates a new issue board list for labels2770 returns 400 when creating a new list if label_id is invalid2771 returns 403 for members with guest role2772 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position2773 updates a list2774 returns 404 error if list id not found2775 returns 403 for members with guest role2776 DELETE /groups/:id/boards/lists/:list_id2777 rejects a non member from deleting a list2778 rejects a user with guest role from deleting a list2779 returns 404 error if list id not found2780 when the user is parent owner2781 deletes the list if an admin requests it2782 behaves like 412 response2783 for a modified ressource2784 returns 412 with a JSON error2785 for an unmodified ressource2786 returns 204 with an empty body2787 behaves like multiple and scoped issue boards2788 multiple issue boards2789 POST /groups/:id/boards2790 creates a board2791 PUT /groups/:id/boards/:board_id2792 updates a board2793 does not remove missing attributes from the board2794 allows removing optional attributes2795 DELETE /groups/:id/boards/:board_id2796 deletes a board2797 with the scoped_issue_board-feature available2798 returns the milestone when the `scoped_issue_board` feature is enabled2799 hides the milestone when the `scoped_issue_board` feature is disabled2800 POST /groups/:id/boards/:board_id/lists2801 behaves like milestone board list2802 when milestone_id is sent2803 returns 400 if milestone is not found2804 returns 400 if milestone list feature is not available2805 creates a milestone list if milestone is found2806 behaves like assignee board list2807 when assignee_id is sent2808 returns 400 if user is not found2809 returns 400 if assignee list feature is not available2810 creates an assignee list if user is found2811 behaves like iteration board list2812 when iteration_id is sent2813 returns 400 if iteration is not found2814 returns 400 if not licensed2815 creates an iteration list if iteration is found2816Groups::PushRulesController2817 #show2818 when user is at least a maintainer2819 when push rules feature is disabled2820 returns 404 status2821 when push rules feature is enabled2822 returns 200 status2823 when user role is lower than maintainer2824 when push rules feature is disabled2825 returns 404 status2826 when push rules feature is enabled2827 returns 404 status2828 #update2829 push rules unlicensed2830 returns 404 status2831 push rules licensed2832 Updating reject_unsigned_commits rule2833 as an admin2834 when admin mode enabled2835 behaves like an updatable setting with global default2836 when reject_unsigned_commits not specified on global level2837 behaves like updateable setting2838 updates the setting2839 when global setting reject_unsigned_commits is enabled2840 behaves like updateable setting2841 updates the setting2842 when admin mode disabled2843 behaves like a not updatable setting with global default2844 when reject_unsigned_commits is disabled2845 behaves like not updateable setting2846 does not update the setting2847 when global setting reject_unsigned_commits is enabled2848 behaves like not updateable setting2849 does not update the setting2850 as a maintainer user2851 updates the push rule2852 when global setting reject_unsigned_commits is disabled2853 behaves like updateable setting2854 updates the setting2855 when global setting reject_unsigned_commits is enabled2856 behaves like not updateable setting2857 does not update the setting2858 as a developer user2859 behaves like a not updatable setting with global default2860 when reject_unsigned_commits is disabled2861 behaves like not updateable setting2862 does not update the setting2863 when global setting reject_unsigned_commits is enabled2864 behaves like not updateable setting2865 does not update the setting2866 Updating commit_committer_check rule2867 as an admin2868 when admin mode enabled2869 behaves like an updatable setting with global default2870 when commit_committer_check not specified on global level2871 behaves like updateable setting2872 updates the setting2873 when global setting commit_committer_check is enabled2874 behaves like updateable setting2875 updates the setting2876 when admin mode disabled2877 behaves like a not updatable setting with global default2878 when commit_committer_check is disabled2879 behaves like not updateable setting2880 does not update the setting2881 when global setting commit_committer_check is enabled2882 behaves like not updateable setting2883 does not update the setting2884 as a maintainer user2885 updates the push rule2886 when global setting commit_committer_check is disabled2887 behaves like updateable setting2888 updates the setting2889 when global setting commit_committer_check is enabled2890 behaves like not updateable setting2891 does not update the setting2892 as a developer user2893 behaves like a not updatable setting with global default2894 when commit_committer_check is disabled2895 behaves like not updateable setting2896 does not update the setting2897 when global setting commit_committer_check is enabled2898 behaves like not updateable setting2899 does not update the setting2900 when user role is lower than maintainer2901 push rules unlicensed2902 returns 404 status2903 push rules licensed2904 returns 404 status2905API::Internal::Base2906 POST /internal/post_receive2907 when the push was redirected from a Geo secondary to the primary2908 includes a message advising a redirection occurred2909 POST /internal/allowed2910 project alias2911 without premium license2912 project matches a project alias2913 does not allow access because project can't be found2914 with premium license2915 project matches a project alias2916 allows access2917 project doesn't match a project alias2918 does not allow access because project can't be found2919 smartcard session required2920 user with a smartcard session2921 allows access2922 user without a smartcard session2923 does not allow access2924 with the setting off2925 allows access2926 ip restriction2927 with or without check_ip parameter2928 check_ip_present: false, ip: nil, status: 2002929 modifies access2930 check_ip_present: true, ip: "150.168.0.1", status: 2002931 modifies access2932 check_ip_present: true, ip: "150.168.0.2", status: 4042933 modifies access2934 maintenance mode enabled2935 when action is git push2936 returns forbidden2937 when action is not git push2938 returns success2939 git audit streaming event2940 behaves like sends git audit streaming event2941 for public groups and projects2942 when user not logged in2943 sends the audit streaming event2944 for private groups and projects2945 when user logged in2946 sends the audit streaming event2947 with a namespace storage size limit2948 with a project2949 requests without changes2950 returns ok when the size limit has been exceeded2951 returns ok when the size is under the limit2952 requests with changes2953 rejects git push when the size limit has been exceeded2954 rejects git push when the push size would exceed the limit2955 accepts git push when the size is under the limit2956 with a snippet2957 rejects git push when the size limit has been exceeded2958 with a wiki2959 rejects git push when the size limit has been exceeded2960 POST /internal/lfs_authenticate2961 for a secondary node2962 returns the repository_http_path at the primary node2963 POST /internal/personal_access_token2964 with a max token lifetime on the instance2965 returns an error message when the expiry date exceeds the max token lifetime2966 returns a valid token when the expiry date does not exceed the max token lifetime2967 POST /internal/two_factor_otp_check2968 behaves like actor key validations2969 key does not exist2970 returns an error message2971 key without user2972 returns an error message2973 when the key is a deploy key2974 returns an error message2975 when the two factor is enabled2976 when the OTP is valid2977 registers a new OTP session and returns success2978 when the OTP is invalid2979 is not success2980 when the two factor is disabled2981 returns an error message2982 feature flag is disabled2983 when two-factor is enabled for the user2984 returns user two factor config2985 licensed feature is not available2986 when two-factor is enabled for the user2987 returns user two factor config2988 POST /internal/two_factor_manual_otp_check2989 behaves like actor key validations2990 key does not exist2991 returns an error message2992 key without user2993 returns an error message2994 when the key is a deploy key2995 returns an error message2996 when the two factor is enabled2997 when the OTP is valid2998 registers a new OTP session and returns success2999 when the OTP is invalid3000 is not success3001 when the two factor is disabled3002 returns an error message3003 feature flag is disabled3004 when two-factor is enabled for the user3005 returns user two factor config3006 licensed feature is not available3007 when two-factor is enabled for the user3008 returns user two factor config3009 POST /internal/two_factor_push_otp_check3010 behaves like actor key validations3011 key does not exist3012 returns an error message3013 key without user3014 returns an error message3015 when the key is a deploy key3016 returns an error message3017 when the two factor is enabled3018 when the OTP is valid3019 registers a new OTP session and returns success3020 when the OTP is invalid3021 is not success3022 when the two factor is disabled3023 returns an error message3024 feature flag is disabled3025 when two-factor is enabled for the user3026 returns user two factor config3027 licensed feature is not available3028 when two-factor is enabled for the user3029 returns user two factor config3030Groups::ContributionAnalyticsController3031 #authorize_read_contribution_analytics!3032 when feature is available to the group3033 when user is an auditor3034 allows access3035 when user has access to the group3036 when user has access to the feature3037 renders 2003038 when user does not have access to the feature3039 renders 4043040 #check_contribution_analytics_available!3041 when feature is not available to the group3042 renders 4043043 with contributions3044 sets instance variables properly3045 returns member contributions JSON when format is JSON3046 includes projects in subgroups3047 excludes projects outside of the group3048 does not cause N+1 queries when the format is JSON3049 with views3050 avoids a N+1 query in #show3051 GET #show3052 behaves like disabled when using an external authorization service3053 works when the feature is not enabled3054 renders a 404 with a message when the feature is enabled3055 behaves like tracking unique visits3056 tracks unique visit if the format is HTML3057 tracks unique visit if DNT is not enabled3058 does not track unique visit if DNT is enabled3059 does not track unique visit if the format is JSON3060API::ProjectApprovals3061 GET /projects/:id/approvals3062 only shows approver groups that are visible to the user3063 when the request is correct3064 returns expected boolean values for merge request related attributes3065 returns 200 status3066 matches the response schema3067 when user is an auditor3068 allows access3069 when project is archived3070 when user has normal permissions3071 returns 4033072 when user has project admin permissions3073 allows access3074 when user is an auditor3075 allows access3076 POST /projects/:id/approvals3077 as a project admin3078 behaves like a user with access3079 when missing parameters3080 returns 400 status3081 when the request is correct3082 returns 201 status3083 matches the response schema3084 changes settings properly3085 only shows approver groups that are visible to the current user3086 as a global admin3087 behaves like a user with access3088 when missing parameters3089 returns 400 status3090 when the request is correct3091 returns 201 status3092 matches the response schema3093 changes settings properly3094 only shows approver groups that are visible to the current user3095 updates merge requests settings3096 behaves like updates merge requests settings when possible3097 permission_value: false, param_value: false, final_value: false3098 changes settings properly3099 permission_value: false, param_value: true, final_value: false3100 changes settings properly3101 permission_value: true, param_value: false, final_value: false3102 changes settings properly3103 permission_value: true, param_value: true, final_value: true3104 changes settings properly3105 behaves like updates merge requests settings when possible3106 permission_value: false, param_value: false, final_value: false3107 changes settings properly3108 permission_value: false, param_value: true, final_value: false3109 changes settings properly3110 permission_value: true, param_value: false, final_value: false3111 changes settings properly3112 permission_value: true, param_value: true, final_value: true3113 changes settings properly3114 behaves like updates merge requests settings when possible3115 permission_value: false, param_value: false, final_value: false3116 changes settings properly3117 permission_value: false, param_value: true, final_value: false3118 changes settings properly3119 permission_value: true, param_value: false, final_value: false3120 changes settings properly3121 permission_value: true, param_value: true, final_value: true3122 changes settings properly3123 as a user without access3124 returns 4033125 as a auditor user making changes3126 returns 4033127getting the compliance violations for a group3128 when the user is unauthorized3129 returns nil3130 when the user is authorized3131 without any filters or sorting3132 finds all the compliance violations3133 filtering the results3134 when given an array of project IDs3135 finds all the compliance violations3136 when given merged at dates3137 merged_params: {"mergedBefore"=>"2022-07-02"}, result: lazy { violation_output }3138 finds all the compliance violations3139 merged_params: {"mergedAfter"=>"2022-07-02"}, result: lazy { violation2_output }3140 finds all the compliance violations3141 merged_params: {"mergedBefore"=>"2022-07-04", "mergedAfter"=>"2022-07-02"}, result: lazy { violation2_output }3142 finds all the compliance violations3143 sorting and pagination3144 sort_param: :SEVERITY_LEVEL_ASC, all_records: violation_ids_asc3145 behaves like sorted paginated query3146 behaves like requires variables3147 shared example requires variables to be set3149 when sorting3150 sorts correctly3151 when paginating3152 paginates correctly3153 sort_param: :SEVERITY_LEVEL_DESC, all_records: violation_ids_desc3154 behaves like sorted paginated query3155 behaves like requires variables3156 shared example requires variables to be set3158 when sorting3159 sorts correctly3160 when paginating3161 paginates correctly3162 sort_param: :VIOLATION_REASON_ASC, all_records: violation_ids_asc3163 behaves like sorted paginated query3164 behaves like requires variables3165 shared example requires variables to be set3167 when sorting3168 sorts correctly3169 when paginating3170 paginates correctly3171 sort_param: :VIOLATION_REASON_DESC, all_records: violation_ids_desc3172 behaves like sorted paginated query3173 behaves like requires variables3174 shared example requires variables to be set3176 when sorting3177 sorts correctly3178 when paginating3179 paginates correctly3180 sort_param: :MERGE_REQUEST_TITLE_ASC, all_records: violation_ids_asc3181 behaves like sorted paginated query3182 behaves like requires variables3183 shared example requires variables to be set3185 when sorting3186 sorts correctly3187 when paginating3188 paginates correctly3189 sort_param: :MERGE_REQUEST_TITLE_DESC, all_records: violation_ids_desc3190 behaves like sorted paginated query3191 behaves like requires variables3192 shared example requires variables to be set3194 when sorting3195 sorts correctly3196 when paginating3197 paginates correctly3198 sort_param: :MERGED_AT_ASC, all_records: violation_ids_asc3199 behaves like sorted paginated query3200 behaves like requires variables3201 shared example requires variables to be set3203 when sorting3204 sorts correctly3205 when paginating3206 paginates correctly3207 sort_param: :MERGED_AT_DESC, all_records: violation_ids_desc3208 behaves like sorted paginated query3209 behaves like requires variables3210 shared example requires variables to be set3212 when sorting3213 sorts correctly3214 when paginating3215 paginates correctly3216API::ProjectPushRule ProjectPushRule3217 GET /projects/:id/push_rule3218 authorized user3219 returns project push rule3220 the commit_committer_check feature is enabled3221 returns the commit_committer_check information3222 the reject_unsigned_commits feature is enabled3223 returns the reject_unsigned_commits information3224 the reject_unsigned_commits feature is not enabled3225 succeeds3226 does not return the reject_unsigned_commits information3227 push rules are not enabled3228 is forbidden3229 developer3230 does not have access to project push rule3231 POST /projects/:id/push_rule3232 adds push rule to project with no file size3233 returns 400 if no parameter is given3234 maintainer3235 is accepted3236 indicates that it belongs to the correct project3237 sets all given parameters3238 commit_committer_check not allowed by License3239 is forbidden to use this service3240 reject_unsigned_commits not allowed by License3241 is forbidden to use this service3242 commit_committer_check is not enabled3243 is forbidden to send the the :commit_committer_check parameter3244 without the :commit_committer_check parameter3245 sets all given parameters3246 reject_unsigned_commits is not enabled3247 is forbidden to send the the :reject_unsigned_commits parameter3248 without the :reject_unsigned_commits parameter3249 sets all given parameters3250 invalid params3251 returns an error3252 user with developer_access3253 does not add push rule to project3254 with existing push rule3255 returns an error response3256 PUT /projects/:id/push_rule3257 does not update push rule for unauthorized user3258 with existing push rule3259 setting deny_delete_tag and commit_message_regex3260 is successful3261 includes the expected settings3262 setting commit_committer_check3263 is successful3264 sets the commit_committer_check3265 the commit_committer_check feature is not enabled3266 is an error to provide this parameter3267 setting reject_unsigned_commits3268 is successful3269 sets the reject_unsigned_commits3270 the reject_unsigned_commits feature is not enabled3271 is an error to provide the this parameter3272 not providing parameters3273 is an error3274 invalid params3275 returns an error3276 without existing push rule3277 returns an error response3278 DELETE /projects/:id/push_rule3279 for existing push rule3280 maintainer3281 deletes push rule from project3282 user with developer_access3283 returns a 403 error3284 for non existing push rule3285 deletes push rule from project3286 returns a 403 error if not authorized3287Groups::Analytics::TasksByTypeController3288 GET #show3289 when valid parameters are given3290 succeeds3291 returns valid count3292 when `label_id` is missing3293 behaves like expects unprocessable_entity response3294 returns unprocessable_entity as response3295 behaves like parameter validation3296 when user access level is lower than reporter3297 returns forbidden as response3298 when license is missing3299 returns forbidden as response3300 when `created_after` parameter is invalid3301 behaves like expects unprocessable_entity response3302 returns unprocessable_entity as response3303 when `created_after` parameter is missing3304 behaves like expects unprocessable_entity response3305 returns unprocessable_entity as response3306 when `created_after` date is later than `created_before` date3307 behaves like expects unprocessable_entity response3308 returns unprocessable_entity as response3309 GET #top_labels3310 when valid parameters are given3311 succeeds3312 returns valid count3313 behaves like parameter validation3314 when user access level is lower than reporter3315 returns forbidden as response3316 when license is missing3317 returns forbidden as response3318 when `created_after` parameter is invalid3319 behaves like expects unprocessable_entity response3320 returns unprocessable_entity as response3321 when `created_after` parameter is missing3322 behaves like expects unprocessable_entity response3323 returns unprocessable_entity as response3324 when `created_after` date is later than `created_before` date3325 behaves like expects unprocessable_entity response3326 returns unprocessable_entity as response3327Projects::Security::DastSiteProfilesController3328 GET #new3329 behaves like a GET request3330 when the "Security & Compliance" feature is disabled3331 is expected to respond with numeric status code not_found3332 feature available3333 user authorized3334 can access page3335 user not authorized3336 sees a 404 error3337 feature not available3338 license doesnt't support the feature3339 sees a 404 error3340 GET #edit3341 behaves like a GET request3342 when the "Security & Compliance" feature is disabled3343 is expected to respond with numeric status code not_found3344 feature available3345 user authorized3346 can access page3347 user not authorized3348 sees a 404 error3349 feature not available3350 license doesnt't support the feature3351 sees a 404 error3352 feature available and user authorized3353 record exists3354 includes a serialized dast_profile in the response body3355 record does not exist3356 sees a 404 error3357API::ProjectImport3358 POST /projects/import3359/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3360 overrides the classification label3361 feature is disabled3362/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil3363 uses the default the classification label and ignores override param3364Projects::ProtectedEnvironmentsController3365 #POST create3366 with valid access and params3367 with valid params3368 creates a new ProtectedEnvironment3369 sets a flash3370 redirects to CI/CD settings3371 with invalid params3372 does not create a new ProtectedEnvironment3373 redirects to CI/CD settings3374 with invalid access3375 renders 4043376 #PUT update3377 when the user is authorized3378 finds the requested protected environment3379 updates the protected environment3380 is successful3381 when the user is not authorized3382 is not successful3383 #DELETE destroy3384 when the user is authorized3385 finds the requested protected environment3386 deletes the requested protected environment3387 redirects to CI/CD settings3388 when the user is not authorized3389 is not successful3390API::Ci::Triggers3391 POST /projects/:project_id/trigger/pipeline3392 when triggering a pipeline from a job token3393 without user3394 does not leak the presence of project when using valid token3395 for unreleated user3396 does not leak the presence of project when using valid token3397 for related user3398 with reporter permissions3399 forbids to create a pipeline3400 with developer permissions3401 creates a new pipeline3402 when project is not in the job token scope3403 forbids to create a pipeline3404 when build is complete3405 does not create a pipeline3406 when variables are defined3407 creates a new pipeline with a variable3408Projects::Security::PoliciesController3409 GET #edit3410 with authorized user3411 when feature is available3412 renders the edit page3413 does not contain any approver data3414 with scan result policy type3415 renders the edit page with approvers data3416 when type is missing3417 redirects to #index3418 when type is invalid3419 redirects to #index3420 when id does not exist3421 returns 4043422 when there is no policy configuration3423 redirects to #index3424 when policy yaml file does not exist3425 redirects to project page3426 when policy yaml is invalid3427 redirects to policy file3428 when feature is not available3429 returns 4043430 with unauthorized user3431 when feature is available3432 returns 4043433 with anonymous user3434 returns 3023435 GET #new3436 license: true, status: :ok3437 is expected to respond with numeric status code ok3438 license: false, status: :not_found3439 is expected to respond with numeric status code not_found3440 GET #index3441 license: true, status: :ok3442 is expected to respond with numeric status code ok3443 license: false, status: :not_found3444 is expected to respond with numeric status code not_found3445 GET #schema3446 returms JSON schema3447Projects::IssuesController3448 GET #show3449 exposes the escalation_policies licensed feature setting3450 with blocking issues3451 does not cause extra queries when multiple blocking issues are present3452 with test case3453 redirects to test cases show3454 behaves like seat count alert3455 when the namespace qualifies for the alert3456 sets the seat_count_data3457 when the feature flag is disabled3458 sets the seat_count_data to nil3459 when the namespace does not qualify for the alert3460 sets the seat_count_data to nil3461 GET #index3462 when viewing all issues3463 when the namespace qualifies for the alert3464 sets the seat_count_data3465 when the feature flag is disabled3466 sets the seat_count_data to nil3467 when the namespace does not qualify for the alert3468 sets the seat_count_data to nil3469 when listing epic issues3470 does not cause extra queries when there are other subepic issues3471API::ResourceLabelEvents3472 when eventable is an Epic3473 behaves like resource_label_events API3474 GET /groups/:id/epics/:noteable_id/resource_label_events3475 with local label reference3476 returns an array of resource label events3477 returns a 404 error when eventable id not found3478 returns 404 when not authorized3479 with cross-project label reference3480 returns cross references accessible by user3481 does not return cross references not accessible by user3482 GET /groups/:id/epics/:noteable_id/resource_label_events/:event_id3483 with local label reference3484 returns a resource label event by id3485 returns 404 when not authorized3486 returns a 404 error if resource label event not found3487 with cross-project label reference3488 returns a 404 error if cross-reference project is not accessible3489 pagination3490 returns the second page3491Update an external audit event destination3492 when feature is licensed3493 when current user is a group owner but destination belongs to another group3494 behaves like a mutation on an unauthorized resource3495 behaves like a mutation that returns top-level errors3496 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"3497 behaves like a mutation that does not update a destination3498 does not destroy the destination3499 does not audit the update3500 when current user is a group owner of a different group3501 behaves like a mutation on an unauthorized resource3502 behaves like a mutation that returns top-level errors3503 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"3504 behaves like a mutation that does not update a destination3505 does not destroy the destination3506 does not audit the update3507 when current user is a group owner3508 updates the destination3509 audits the update3510 when current user is a group maintainer3511 behaves like a mutation that does not update a destination3512 does not destroy the destination3513 does not audit the update3514 when current user is a group developer3515 behaves like a mutation that does not update a destination3516 does not destroy the destination3517 does not audit the update3518 when current user is a group guest3519 behaves like a mutation that does not update a destination3520 does not destroy the destination3521 does not audit the update3522 when feature is unlicensed3523 does not destroy the destination3524 behaves like a mutation on an unauthorized resource3525 behaves like a mutation that returns top-level errors3526 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"3527API::GroupRepositoryStorageMoves3528 behaves like repository_storage_moves API3529 GET /groups/:id/repository_storage_moves3530 behaves like get container repository storage move list3531 returns container repository storage moves3532 avoids N+1 queries3533 returns the most recently created first3534 permissions3535 is expected to be allowed for :admin3536 is expected to be denied for :user3537 non-existent container3538 returns not found3539 GET /groups/:id/repository_storage_moves/:repository_storage_move_id3540 behaves like get single container repository storage move3541 returns a container repository storage move3542 non-existent container repository storage move3543 returns not found3544 permissions3545 is expected to be allowed for :admin3546 is expected to be denied for :user3547 non-existent container3548 returns not found3549 GET /group_repository_storage_moves3550 behaves like get container repository storage move list3551 returns container repository storage moves3552 avoids N+1 queries3553 returns the most recently created first3554 permissions3555 is expected to be allowed for :admin3556 is expected to be denied for :user3557 GET /group_repository_storage_moves/:repository_storage_move_id3558 behaves like get single container repository storage move3559 returns a container repository storage move3560 non-existent container repository storage move3561 returns not found3562 permissions3563 is expected to be allowed for :admin3564 is expected to be denied for :user3565 POST /groups/:id/repository_storage_moves3566 schedules a container repository storage move3567 permissions3568 is expected to be allowed for :admin3569 is expected to be denied for :user3570 destination_storage_name is missing3571 schedules a container repository storage move3572 when container does not exist3573 returns not found3574 POST /group_repository_storage_moves3575 schedules the worker3576 source_storage_name is invalid3577 gives an error3578 destination_storage_name is missing3579 schedules the worker3580 destination_storage_name is invalid3581 gives an error3582 normal user3583 is expected to be denied for :user3584API::Geo3585 GET /geo/retrieve/:replicable_name/:replicable_id3586 valid requests3587 returns the file3588 allowed IPs3589 responds with 401 when IP is not allowed3590 responds with 200 when IP is allowed3591 invalid requests3592 responds with 401 with invalid auth header3593 responds with 401 with mismatched params in auth headers3594 responds with 404 when resource is not found3595 POST /geo/status3596 responds with 401 with invalid auth header3597 responds with 401 when the db_key_base is wrong3598 allowed IPs3599 responds with 401 when IP is not allowed3600 responds with 201 when IP is allowed3601 when requesting primary node with valid auth header3602 updates the status and responds with 2013603 ignores invalid attributes upon update3604 behaves like with terms enforced3605 responds with 2xx HTTP response code3606 /geo/proxy_git_ssh3607 POST /geo/proxy_git_ssh/info_refs_upload_pack3608 with all required params missing3609 responds with 4003610 with all required params3611 with an invalid secret_token3612 responds with 4013613 where an exception occurs3614 responds with 5003615 with a valid secret token3616 responds with 2003617 POST /geo/proxy_git_ssh/upload_pack3618 with all required params missing3619 responds with 4003620 with all required params3621 with an invalid secret_token3622 responds with 4013623 where an exception occurs3624 responds with 5003625 with a valid secret token3626 responds with 2013627 POST /geo/proxy_git_ssh/info_refs_receive_pack3628 with all required params missing3629 responds with 4003630 with all required params3631 with an invalid secret_token3632 responds with 4013633 where an exception occurs3634 responds with 5003635 with a valid secret token3636 responds with 2003637 POST /geo/proxy_git_ssh/receive_pack3638 with all required params missing3639 responds with 4003640 with all required params3641 with an invalid secret_token3642 responds with 4013643 where an exception occurs3644 responds with 5003645 with a valid secret token3646 responds with 2013647 GET /geo/proxy3648 rejects requests that bypassed gitlab-workhorse3649 with valid auth3650 when Geo is not being used3651 returns empty data3652 when this is a primary site3653 returns empty data3654 when this is a secondary site with unified URL3655 when a primary exists3656 returns the primary internal URL and extra proxy data3657 when a primary does not exist3658 returns empty data3659 when this is a secondary site with separate URLs3660 when a primary does not exist3661 returns empty data3662 when geo_secondary_proxy_separate_urls feature flag is disabled3663 returns empty data3664 when geo_secondary_proxy_separate_urls feature flag is enabled3665 returns the primary internal URL and extra proxy data3666 POST /geo/node_proxy/:id/graphql3667 denies access if not admin3668 requests the graphql endpoint with the post body and returns the output3669 returns empty output if remote fails3670 behaves like 404 response3671 returns 4043672API::GroupVariables3673 GET /groups/:id/variables/:key3674 when there are two variables with the same key on different environments3675 when filter[environment_scope] is not passed3676 returns 4093677 when filter[environment_scope] is passed3678 returns the variable3679 when wrong filter[environment_scope] is passed3680 returns not_found3681 when there is only one variable with provided key3682 returns not_found3683 POST /groups/:id/variables3684 scoped variables3685 :group_scoped_ci_variables licensed feature is available3686 creates a variable with the provided environment scope3687 a variable with the same key and scope exists already3688 does not create a variable3689 :group_scoped_ci_variables licensed feature is not available3690 creates a variable, but does not use the provided environment scope3691 a variable with the same key and scope exists already3692 does not create a variable3693 PUT /groups/:id/variables/:key3694 scoped variables3695 :group_scoped_ci_variables licensed feature is available3696 updates the variable3697 a variable with the same key and scope exists already3698 does not update the variable3699 :group_scoped_ci_variables licensed feature is not available3700 does not update the variable3701Groups::BillingsController3702 GET index3703 authorized3704 renders index with 200 status code3705 fetches subscription plans data from customers.gitlab.com3706 behaves like seat count alert3707 when the namespace qualifies for the alert3708 sets the seat_count_data3709 when the feature flag is disabled3710 sets the seat_count_data to nil3711 when the namespace does not qualify for the alert3712 sets the seat_count_data to nil3713 when CustomersDot is unavailable3714 renders a different partial3715 unauthorized3716 renders 404 when user is not an owner3717 renders 404 when it is not gitlab.com3718 POST refresh_seats3719 authorized3720 with feature flag on3721 refreshes subscription seats3722 renders 2003723 when update fails3724 renders 4003725 with feature flag off3726 renders 4003727 unauthorized3728 renders 404 when user is not an owner3729 renders 404 when it is not gitlab.com3730Groups::HooksController3731 with group_webhooks enabled3732 GET #index3733 is successful3734 POST #create3735 sets all parameters3736 alerts the user if the new hook is invalid3737 GET #edit3738 is successful3739 PATCH #update3740 valid params3741 is successful3742 invalid params3743 renders "edit" template3744 POST #test3745 when group does not have a project3746 redirects back3747 when group has a project3748 when "trigger" params is empty3749 defaults to "push_events"3750 when "trigger" params is set3751 uses it3752 when the endpoint receives requests above the limit3753 prevents making test requests3754 DELETE #destroy3755 behaves like Web hook destroyer3756 displays a message about synchronous delete3757 displays a message about async delete3758 displays an error if deletion failed3759 with group_webhooks disabled3760 GET #index3761 renders a 4043762getting Incident Management on-call shifts3763 returns the correct properties of the on-call shifts3764 behaves like a working graphql query3765 returns a successful response3766 performance3767 for past and future shifts3768 behaves like avoids N+1 queries for additional generated shift3769 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f03b6d8d9a0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3770 behaves like avoids N+1 queries for additional historical shift3771 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f039ba864e8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3772 behaves like avoids N+1 queries for additional participant3773 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0379a1a0f8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3774 behaves like adds only one query for each additional rotation with participants3775 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f03987a7248 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3776 for future shifts only3777 behaves like avoids N+1 queries for additional generated shift3778 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f037f308458 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3779 behaves like avoids N+1 queries for additional participant3780 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f037b7d1d80 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3781 behaves like avoids N+1 queries for additional rotation with participants3782 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0398bc2dc8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3783 for past shifts only3784 behaves like avoids N+1 queries for additional historical shift3785 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0397ad2bf8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3786 behaves like avoids N+1 queries for additional participant3787 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f03798732b8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3788 behaves like adds only one query for each additional rotation with participants3789 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f039df88278 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3790 without required argument starts_at3791 raises an exception3792 without required argument ends_at3793 raises an exception3794Destroy an external audit event destination3795 when feature is licensed3796 when current user is a group owner but destination belongs to another group3797 behaves like a mutation on an unauthorized resource3798 behaves like a mutation that returns top-level errors3799 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"3800 behaves like a mutation that does not destroy a destination3801 does not destroy the destination3802 does not audit the destruction3803 when current user is a group owner of a different group3804 behaves like a mutation on an unauthorized resource3805 behaves like a mutation that returns top-level errors3806 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"3807 behaves like a mutation that does not destroy a destination3808 does not destroy the destination3809 does not audit the destruction3810 when current user is a group owner3811 destroys the destination3812 audits the destruction3813 when current user is a group maintainer3814 behaves like a mutation that does not destroy a destination3815 does not destroy the destination3816 does not audit the destruction3817 when current user is a group developer3818 behaves like a mutation that does not destroy a destination3819 does not destroy the destination3820 does not audit the destruction3821 when current user is a group guest3822 behaves like a mutation that does not destroy a destination3823 does not destroy the destination3824 does not audit the destruction3825 when feature is unlicensed3826 behaves like a mutation on an unauthorized resource3827 behaves like a mutation that returns top-level errors3828 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"3829 behaves like a mutation that does not destroy a destination3830 does not destroy the destination3831 does not audit the destruction3832Projects::Integrations::Jira::IssuesController3833 GET #index3834 renders the "index" template3835 tracks usage3836 when jira_issues_integration licensed feature is not available3837 behaves like an action that returns a 4043838 returns 4043839 when jira integration is disabled3840 behaves like an action that returns a 4043841 returns 4043842 when jira integration does not exist3843 behaves like an action that returns a 4043844 returns 4043845 behaves like unauthorized when external service denies access3846 allows access when the authorization service allows it3847 allows access when the authorization service denies it3848 when project has moved3849 redirects to the new issue tracker from the old one3850 json request3851 returns a list of serialized jira issues3852 renders bad request for IntegrationError3853 renders bad request for RequestError3854 sets pagination headers3855 when parameters are passed3856 when there are no params3857 behaves like proper parameter values3858 properly set the values3859 when pagination params3860 behaves like proper parameter values3861 properly set the values3862 when state is closed3863 behaves like proper parameter values3864 properly set the values3865 when status param3866 behaves like proper parameter values3867 properly set the values3868 when labels param3869 behaves like proper parameter values3870 properly set the values3871 when author_username param3872 behaves like proper parameter values3873 properly set the values3874 when assignee_username param3875 behaves like proper parameter values3876 properly set the values3877 when invalid params3878 behaves like proper parameter values3879 properly set the values3880 GET #show3881 when jira_issues_integration licensed feature is not available3882 returns 404 status3883 when jira_issues_integration licensed feature is available3884 renders `show` template3885 returns JSON response3886 when the JSON fetched from Jira contains HTML3887 escapes the HTML in issue titles and references3888get list of epic boards3889 when the user does not have access to the epic board group3890 returns nil group3891 when user can access the epic board group3892 avoids N+1 queries3893 sorting and pagination3894 behaves like sorted paginated query3895 behaves like requires variables3896 shared example requires variables to be set3898 when sorting3899 sorts correctly3900 when paginating3901 paginates correctly3902 field values3903 returns the correct values for collapsed3904 returns the correct metadata values3905 when totalWeight not requested3906 does not required the value from the service3907Update an external audit event destination header3908 when feature is licensed3909 when current user is a group owner3910 updates the header with the correct attributes3911 when the header attributes are invalid3912 returns correct errors3913 returns the unmutated attribute values3914 behaves like a mutation that does not update a header3915 does not update a header key3916 does not update a header value3917 when streaming_audit_event_headers feature flag is disabled3918 behaves like a mutation that returns top-level errors3919 is expected to contain exactly "feature disabled"3920 behaves like a mutation that does not update a header3921 does not update a header key3922 does not update a header value3923 when current user is a group maintainer3924 behaves like a mutation that does not update a header3925 does not update a header key3926 does not update a header value3927 when current user is a group developer3928 behaves like a mutation that does not update a header3929 does not update a header key3930 does not update a header value3931 when current user is a group guest3932 behaves like a mutation that does not update a header3933 does not update a header key3934 does not update a header value3935 when feature is unlicensed3936 behaves like a mutation on an unauthorized resource3937 behaves like a mutation that returns top-level errors3938 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"3939 behaves like a mutation that does not update a header3940 does not update a header key3941 does not update a header value3942Mutations::Boards::Create3943 behaves like boards create mutation3944 when the user does not have permission3945 does not create the board3946 behaves like a mutation that returns a top-level access error3947 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"3948 when the user has permission3949 when the parent (project_path or group_path) param is given3950 when everything is ok3951 creates the board3952 returns the created board3953 when hide_backlog_list parameter is true3954 returns the board with correct hide_backlog_list field3955 when hide_closed_list parameter is true3956 returns the board with correct hide_closed_list field3957 when the Boards::CreateService returns an error response3958 does not create a board3959 returns an error3960 when neither project_path nor group_path param is given3961 does not create the board3962 behaves like a mutation that returns top-level errors3963 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"3964 when the user has permission to create a board3965 sets cadence_id on creation3966get list of epics for an epic board list3967 sorting and pagination3968 behaves like sorted paginated query3969 behaves like requires variables3970 shared example requires variables to be set3972 when sorting3973 sorts correctly3974 when paginating3975 paginates correctly3976 with filters3977 finds only epics matching the filter3978 when negated3979 finds only epics matching the negated filter3980RegistrationsController3981 #create3982 when require admin approval setting is enabled3983 behaves like blocked user by default3984 registers the user in blocked_pending_approval state3985 does not log in the user after sign up3986 shows flash message after signing up3987 when require admin approval setting is disabled3988 behaves like active user by default3989 registers the user in active state3990 does not show any flash message after signing up3991 when user signup cap feature is enabled3992 behaves like blocked user by default3993 registers the user in blocked_pending_approval state3994 does not log in the user after sign up3995 shows flash message after signing up3996 when user signup cap is set3997 behaves like blocked user by default3998 registers the user in blocked_pending_approval state3999 does not log in the user after sign up4000 shows flash message after signing up4001 when user signup cap is not set4002 when require admin approval setting is disabled4003 behaves like active user by default4004 registers the user in active state4005 does not show any flash message after signing up4006 when require admin approval setting is enabled4007 behaves like blocked user by default4008 registers the user in blocked_pending_approval state4009 does not log in the user after sign up4010 shows flash message after signing up4011 audit events4012 when licensed4013 when user registers for the instance4014 logs add email event and instance access request event4015 logs the audit event info4016 with invalid user4017 does not log registration failure4018 #destroy4019 on GitLab.com when the password is automatically set4020 redirects without deleting the account4021Projects::PathLocksController4022 GET #index4023 displays the lock paths4024 when the user does not have access4025 does not allow access4026 POST #toggle4027 when LFS is enabled4028 when locking a file4029 locks the file4030 locks the file in LFS4031 tries to create the PathLock only once4032 when locking a directory4033 locks the directory4034 does not locks the directory through LFS4035 when file does not exist4036 locks the file4037 does not lock the file in LFS4038 when unlocking a file4039 with files4040 unlocks the file4041 unlocks the file in LFS4042 when file does not exist4043 unlocks the file4044 does not unlock the file in LFS4045 when unlocking a directory4046 unlocks the directory4047 does not call the LFS unlock service4048 when LFS is not enabled4049 locks the file4050 doesn't lock the file in LFS4051 unlocks the file4052 when the user does not have access4053 does not allow access4054API::MergeTrains4055 GET /projects/:id/merge_trains4056 when there are two merge trains4057 returns merge trains sorted by id in descending order4058 does not have N+1 problem4059 when sort is specified4060 returns merge trains sorted by id in ascending order4061 when scope is specified4062 when scope is active4063 returns active merge trains4064 when scope is complete4065 returns complete merge trains4066 when user is guest4067 forbids the request4068Updating a DAST Profile4069 behaves like an on-demand scan mutation when user cannot run an on-demand scan4070 when a user does not have access to the project4071 behaves like a mutation that returns a top-level access error4072 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"4073 when a user does not have access to run a dast scan on the project4074 behaves like a mutation that returns a top-level access error4075 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"4076 behaves like an on-demand scan mutation when user can run an on-demand scan4077 returns an empty errors array4078 returns a non-nil dastProfile4079 returns a non-nil pipelineUrl4080 updates the dast_profile4081 when on demand scan licensed feature is not available4082 behaves like a mutation that returns a top-level access error4083 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"4084 when updating fails4085 returns an error4086API::Iterations4087 GET /groups/:id/iterations4088 excludes ancestor iterations when include_ancestors is set to false4089 behaves like iterations list4090 when user does not have access4091 returns 4044092 when user has access4093 returns a list of iterations4094 returns iterations filtered by title4095 returns 400 when param is invalid4096 filter by iteration state4097 returns `closed` state iterations4098 returns `current` state iterations4099 returns `current` state iterations4100 GET /projects/:id/iterations4101 return direct parent group iterations when include_ancestors is set to false4102 behaves like iterations list4103 when user does not have access4104 returns 4044105 when user has access4106 returns a list of iterations4107 returns iterations filtered by title4108 returns 400 when param is invalid4109 filter by iteration state4110 returns `closed` state iterations4111 returns `current` state iterations4112 returns `current` state iterations4113Setting weight of an issue4114 returns an error if the user is not allowed to update the issue4115 when weight is a number4116 updates the issue weight4117 when weight is null4118 updates the issue weight4119 when weight is not given4120 returns an error4121 when weight is not an integer4122 raises invalid value error4123Admin::LicensesController4124 Upload license4125 redirects back when no license is entered/uploaded4126 renders new with an alert when an invalid license is entered/uploaded4127 redirects to the subscription page when a valid license is entered/uploaded4128 when the license is for a cloud license4129 with offline cloud license4130 redirects to the subscription page when a valid license is entered/uploaded4131 with online cloud license4132 redirects back4133 Trials4134 redirects to the subscription page when a valid trial license is entered/uploaded4135 POST sync_seat_link4136 with a cloud license4137 returns a success response4138 without a cloud license4139 returns a failure response4140 DELETE destroy4141 with a cloud license4142 behaves like license removal4143 removes the license4144 with a legacy license4145 behaves like license removal4146 removes the license4147getting iterations4148 query for iterations by timeframe4149 without start date4150 returns error4151 without end date4152 returns error4153 with start and end date4154 does not have errors4155 query for iterations by cadence4156 with multiple cadences4157 returns iterations4158 searching by cadence title or iteration title and sorting by cadence and due date ASC4159 search: "two", ordered_expected_iterations: lazy { [past_iteration1, past_iteration2, upcoming_group_iteration] }4160 correctly returns ordered items4161 search: "iteration", ordered_expected_iterations: lazy { [closed_group_iteration, current_group_iteration, past_iteration1, past_iteration2, upcoming_group_iteration] }4162 correctly returns ordered items4163 query for iterations by state4164 with DEPRECATED `started` state4165 returns `current` iteration4166 with `current` state4167 returns `current` iteration4168 with `closed` state4169 returns `closed` iteration4170API::Ci::Jobs4171 GET /projects/:id/jobs/:job_id/artifacts4172 when using job_token to authenticate4173 when cross-project pipelines are enabled4174 user is developer4175 returns specific job artifacts4176 when anonymous user is accessing private artifacts4177 hides artifacts and rejects request4178 when cross-project pipeline are disabled4179 disallows access to the artifacts4180 when the job is not running4181 disallows access to the artifacts4182 GET /projects/:id/artifacts/:ref_name/download?job=name4183 when using job_token to authenticate4184 when cross-project pipelines are enabled4185 when user is developer4186 when artifacts are stored locally4187 returns specific job artifacts4188 when artifacts are stored remotely4189 returns location redirect4190 when user is admin, but not member4191 does not allow to see that artfiact is present4192Reposition and move epic between board lists4193 when epics are available4194 when user does not have permissions to admin the board4195 raises resource not available error4196 when user has permissions to admin the board4197 when required move params are missing4198 raises an error4199 moving an epic to another list4200 moves the epic to another list4201 repositioning an epic4202 when both move_before_id and move_after_id params are present4203 repositions the epic4204 when only move_before_id param is present4205 repositions the epic4206 when only move_after_id param is present4207 repositions the epic4208Unassigns scan execution policy project from a project/namespace4209 for project4210 behaves like unassigns security policy project4211 when licensed feature is available4212 when user is an owner of the container4213 when there is no security policy project assigned to the container4214 does not unassign the security policy project4215 when security policy project is assigned to the container4216 unassigns the security policy project4217 when user is not an owner4218 behaves like a mutation that returns top-level errors4219 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"4220 when feature is not licensed4221 behaves like a mutation that returns top-level errors4222 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"4223 for namespace4224 behaves like unassigns security policy project4225 when licensed feature is available4226 when user is an owner of the container4227 when there is no security policy project assigned to the container4228 does not unassign the security policy project4229 when security policy project is assigned to the container4230 unassigns the security policy project4231 when user is not an owner4232 behaves like a mutation that returns top-level errors4233 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"4234 when feature is not licensed4235 behaves like a mutation that returns top-level errors4236 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"4237Creating an iteration cadence4238 when the user does not have permission4239 does not create iteration cadence4240 behaves like a mutation that returns a top-level access error4241 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"4242 when the user has permission4243 when iterations feature is disabled4244 behaves like a mutation that returns top-level errors4245 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"4246 when iterations feature is enabled4247 creates the iteration cadence for a group4248 when creating a manual iteration cadence4249 behaves like a mutation that returns errors in the response4250 is expected to contain exactly "Manual iteration cadences are deprecated. Only automatic iteration cadences are allowed."4251 when iteration_cadences feature flag is disabled4252 behaves like a mutation that returns errors in the response4253 is expected to contain exactly "Operation not allowed"4254 when there are ActiveRecord validation errors4255 does not create the iteration cadence4256 behaves like a mutation that returns errors in the response4257 is expected to contain exactly "Iterations in advance can't be blank", "Start date can't be blank", and "Title can't be blank"4258 when required arguments are missing4259 returns error about required argument4260 does not create the iteration cadence4261Groups::ScimOauthController4262 when the feature is configured4263 POST #create4264 without token4265 creates a new SCIM token record4266 json4267 shows the token4268 shows the url4269 with token4270 does not create a new SCIM token record4271 updates the token4272 json4273 shows the token4274 shows the url4275Namespace.projects4276 sorting and pagination4277 when sorting by STORAGE4278 behaves like sorted paginated query4279 behaves like requires variables4280 shared example requires variables to be set4282 when sorting4283 sorts correctly4284 when paginating4285 paginates correctly4286Groups::RoadmapController4287 #show4288 when the user is signed in4289 when the user has access to the group4290 when epics feature is disabled4291 behaves like returns 404 status4292 is expected to respond with numeric status code not_found4293 when epics feature is enabled4294 returns 200 status4295 when roadmaps_sort is nil4296 stores roadmaps sorting param in user preference4297 defaults to sort_value_start_date_soon4298 when roadmaps_sort is present4299 update roadmaps_sort with current value4300 when the user does not have access to the group4301 behaves like returns 404 status4302 is expected to respond with numeric status code not_found4303 when user is not signed in4304 when epics feature is enabled4305 when anonymous users does not have access to the group4306 redirects to login page4307 when anonymous users have access to the group4308 stores epics sorting param in a cookie4309Update a compliance framework4310 feature is unlicensed4311 behaves like a mutation that returns top-level errors4312 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"4313 feature is licensed but disabled4314 behaves like a mutation that returns top-level errors4315 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"4316 feature is licensed4317 with valid params4318 returns an empty array of errors4319 returns the updated framework4320 pipeline configuration full path4321 when compliance pipeline configuration feature is available4322 updates the pipeline configuration path attribute4323 when compliance pipeline configuration feature is not available4324 returns an error4325 current_user is not permitted to update framework4326 behaves like a mutation that returns top-level errors4327 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"4328 with invalid params4329 returns an array of errors4330 does not update the framework4331Registrations::Verification4332 #require_verification4333 verification is not required4334 does not redirect4335 verification is required4336 redirects to the new users sign_up groups_project path4337 does not redirect on JS requests4338 does not redirect on POST requests4339 does not redirect when the experiment is inactive4340 #set_requires_verification4341 sets the requires_credit_card_verification attribute4342 when a credit card validation exists4343 does not change the requires_credit_card_verification attribute4344API::Ci::Minutes4345 POST /namespaces/:id/minutes4346 with insufficient access4347 returns an error4348 with admin user4349 when the namespace cannot be found4350 behaves like not found error4351 returns an error4352 when the additional pack does not exist4353 creates a new additional pack4354 when the additional pack already exists4355 does not create a new additional pack and does not update the existing pack4356 when submitting multiple packs4357 when duplicate packs4358 creates only one new pack4359 when the packs are unique4360 creates all the packs4361 when the additional pack cannot be saved4362 returns an error4363 PATCH /namespaces/:id/minutes/move/:target_id4364 when unauthorized4365 returns an error4366 when authorized4367 when the namespace cannot be found4368 behaves like not found error4369 returns an error4370 when the target namespace cannot be found4371 behaves like not found error4372 returns an error4373 when the namespace is not a top-level namespace4374 returns an error4375 when the target namespace is not a top-level namespace4376 returns an error4377 when the transfer is successful4378 moves the packs and returns an accepted response4379Emails::Projects4380 #user_escalation_rule_deleted_email4381 has the correct email content4382 #incident_escalation_fired_email4383 has expected X-GitLab alert headers4384 has expected subject4385 has expected content4386 behaves like an email with X-GitLab headers containing project details4387 has X-GitLab-Project headers4388 behaves like an email sent from GitLab4389 has the characteristics of an email sent from GitLab4390 behaves like it should not have Gmail Actions links4391 is expected not to have body including "ViewAction"4392 behaves like a user cannot unsubscribe through footer link4393 does not have a List-Unsubscribe header or a body link4394 with description4395 has expected content4396 with escalation status policy4397 has expected content4398Creating a DAST Site Profile4399 behaves like an on-demand scan mutation when user cannot run an on-demand scan4400 when a user does not have access to the project4401 behaves like a mutation that returns a top-level access error4402 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"4403 when a user does not have access to run a dast scan on the project4404 behaves like a mutation that returns a top-level access error4405 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"4406 behaves like an on-demand scan mutation when user can run an on-demand scan4407 returns an empty errors array4408 updates the dast_site_profile4409 when on demand scan licensed feature is not available4410 behaves like a mutation that returns a top-level access error4411 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"4412 when there is a validation error4413 behaves like a mutation that returns errors in the response4414 is expected to contain exactly "There was a validation error"4415 when the dast_site_profile does not exist4416 behaves like a mutation that returns top-level errors4417 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"4418 when wrong type of global id is passed4419 behaves like a mutation that returns top-level errors4420 is expected to eq ["Variable $dastSiteProfileUpdateInput of type DastSiteProfileUpdateInput! was provided invalid value for id (\"gid://gitlab/Project/580\" does not represent an instance of DastSiteProfile)"]4421Setting assignees of a merge request4422 adds the assignees to the merge request4423 with assignees already assigned4424 removes assignees not in the list4425 when passing append as true4426 does not remove users not in the list4427 performance4428 is scalable4429getting a list of compliance frameworks for a root namespace4430 when authenticated as the namespace owner4431 returns the groups compliance frameworks4432 when querying a specific framework ID4433 returns only a single compliance framework4434 when querying an invalid object ID4435 returns an error message4436 when querying a specific framework that current_user has no access to4437 does not return the framework4438 when querying multiple namespaces4439 avoids N+1 queries4440 responds with the expected list of compliance frameworks4441 when authenticated as a different user4442 does not return the namespaces compliance frameworks4443 when not authenticated4444 does not return the namespace's compliance frameworks4445Query.runner(id)4446 upgradeStatus4447 requested by non-paid user4448 with RunnerUpgradeCheck returning :available4449 behaves like runner details fetch operation returning expected upgradeStatus4450 retrieves expected fields4451 requested on an instance with runner_upgrade_management4452 with RunnerUpgradeCheck returning :not_available4453 behaves like runner details fetch operation returning expected upgradeStatus4454 retrieves expected fields4455 with RunnerUpgradeCheck returning :available4456 behaves like runner details fetch operation returning expected upgradeStatus4457 retrieves expected fields4458 with RunnerUpgradeCheck returning :recommended4459 behaves like runner details fetch operation returning expected upgradeStatus4460 retrieves expected fields4461 requested by paid user4462 with RunnerUpgradeCheck returning :not_available4463 behaves like runner details fetch operation returning expected upgradeStatus4464 retrieves expected fields4465 with RunnerUpgradeCheck returning :available4466 behaves like runner details fetch operation returning expected upgradeStatus4467 retrieves expected fields4468 with RunnerUpgradeCheck returning :recommended4469 behaves like runner details fetch operation returning expected upgradeStatus4470 retrieves expected fields4471Mutations::Analytics::DevopsAdoption::EnabledNamespaces::BulkEnable4472 creates the enabled_namespace for each passed namespace or returns existing enabled_namespace4473 when the user cannot manage enabled_namespaces at least for one namespace4474 behaves like a mutation that returns a top-level access error4475 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"4476 when the feature is not available4477 behaves like a mutation that returns a top-level access error4478 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"4479Creating a DAST Site Token4480 behaves like an on-demand scan mutation when user cannot run an on-demand scan4481 when a user does not have access to the project4482 behaves like a mutation that returns a top-level access error4483 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"4484 when a user does not have access to run a dast scan on the project4485 behaves like a mutation that returns a top-level access error4486 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"4487 behaves like an on-demand scan mutation when user can run an on-demand scan4488 returns an empty errors array4489 returns the dast_site_validation id4490 creates a new dast_site_validation4491 when on demand scan licensed feature is not available4492 behaves like a mutation that returns a top-level access error4493 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"4494Creating a DAST Site Token4495 behaves like an on-demand scan mutation when user cannot run an on-demand scan4496 when a user does not have access to the project4497 behaves like a mutation that returns a top-level access error4498 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"4499 when a user does not have access to run a dast scan on the project4500 behaves like a mutation that returns a top-level access error4501 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"4502 behaves like an on-demand scan mutation when user can run an on-demand scan4503 returns an empty errors array4504 returns the dast_site_token id4505 creates a new dast_site_token4506 when on demand scan licensed feature is not available4507 behaves like a mutation that returns a top-level access error4508 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"4509API::Dora::Metrics4510 GET /projects/:id/dora/metrics4511 metric: :deployment_frequency, value1: 1, value2: 24512 returns data4513 metric: :lead_time_for_changes, value1: 3, value2: 44514 returns data4515 metric: :time_to_restore_service, value1: 5, value2: 64516 returns data4517 metric: :change_failure_rate, value1: 7, value2: 44518 returns data4519 with multiple metrics4520 returns combined data4521 backwards compatibility for environment_tier4522 returns combined data4523 when user is guest4524 returns authorization error4525 GET /groups/:id/dora/metrics4526 metric: :deployment_frequency, value1: 1, value2: 24527 returns data4528 metric: :lead_time_for_changes, value1: 3, value2: 44529 returns data4530 metric: :time_to_restore_service, value1: 5, value2: 64531 returns data4532 metric: :change_failure_rate, value1: 7, value2: 44533 returns data4534 with multiple metrics4535 returns combined data4536 backwards compatibility for environment_tier4537 returns combined data4538 when user is guest4539 returns authorization error4540Projects::DeployKeysController4541 POST create4542 records an audit event4543 /enable/:id4544 with user with permission4545 records an audit event4546 returns 4044547 /disable/:id4548 with admin4549 records an audit event4550Query.project(fullPath).dastProfiles.dastProfileSchedule4551 when a user does not have access to the project4552 returns a null project4553 when a user does not have access to dast_profile4554 returns an empty dast_profile4555 when a user has access to dast_profile_schedule4556 returns a dast_profile_schedule4557 behaves like query dastProfiles.dastProfileSchedule shared examples4558 avoids N+1 queries4559Updating an existing HTTP Integration4560 updates the custom mapping params4561 behaves like updating an existing HTTP integration4562 updates the integration4563 behaves like validating the payload_example4564 validates the payload_example size4565 with invalid payloadExample attribute4566 responds with errors4567 behaves like validating the payload_attribute_mappings4568 with invalid payloadAttributeMapping attribute does not contain fieldName4569 responds with errors4570 with invalid payloadAttributeMapping attribute does not contain path4571 responds with errors4572 with invalid payloadAttributeMapping attribute does not contain type4573 responds with errors4574 when the integration already has custom mapping params4575 when the custom mappings attributes are blank4576 resets the custom mapping params4577 when the custom mappings attributes are nils4578 resets the custom mapping params4579 when the custom mappings attributes are not part of the mutation variables4580 does not reset the custom mapping attributes4581 with the custom mappings feature unavailable4582 behaves like ignoring the custom mapping4583 updates integration without the custom mapping params4584Set project compliance framework4585 #resolve4586 when feature is not available4587 behaves like a mutation that returns top-level errors4588 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"4589 when feature is available4590 behaves like a working GraphQL mutation4591 with a personal access token4592 behaves like prevents access to the mutation4593 does not resolve the mutation4594 behaves like allows access to the mutation4595 behaves like a working graphql query4596 returns a successful response4597 returns data4598 with an OAuth token4599 behaves like prevents access to the mutation4600 does not resolve the mutation4601 behaves like allows access to the mutation4602 behaves like a working graphql query4603 returns a successful response4604 returns data4605Create an external audit event destination header4606 when feature is licensed4607 when current user is a group owner4608 creates the header with the correct attributes4609 when the header attributes are invalid4610 returns correct errors4611 behaves like a mutation that does not create a header4612 does not create a header4613 when current user is a group maintainer4614 behaves like a mutation that does not create a header4615 does not create a header4616 when current user is a group developer4617 behaves like a mutation that does not create a header4618 does not create a header4619 when current user is a group guest4620 behaves like a mutation that does not create a header4621 does not create a header4622 when feature is unlicensed4623 behaves like a mutation on an unauthorized resource4624 behaves like a mutation that returns top-level errors4625 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"4626 behaves like a mutation that does not create a header4627 does not create a header4628Reposition and move issue within board lists4629 when user can admin issue4630 when user can read epic4631 updates issue position and epic4632 when user sets nil epic4633 updates issue position and epic is unassigned4634 when user can not read epic4635 does not set epic4636creating escalation policy4637 successfully creates the policy and rules4638 when rules are provided out of order4639 successfully creates the policy and reorders the rules4640 errors4641 user does not have permission4642 raises an error4643 no rules given4644 raises an error4645get list of epic boards4646 when the user does not have access to the epic board group4647 returns nil group4648 when user can access the epic board group4649 sorting and pagination4650 behaves like sorted paginated query4651 behaves like requires variables4652 shared example requires variables to be set4654 when sorting4655 sorts correctly4656 when paginating4657 paginates correctly4658 field values4659 returns the correct values for hiding board lists4660Destroy an external audit event destination header4661 when feature is licensed4662 when current user is a group owner4663 destroys the header4664 when header ID belongs to a different destination4665 behaves like a mutation that does not destroy a header4666 does not destroy the destination4667 when current user is a group maintainer4668 behaves like a mutation that does not destroy a header4669 does not destroy the destination4670 when current user is a group developer4671 behaves like a mutation that does not destroy a header4672 does not destroy the destination4673 when current user is a group guest4674 behaves like a mutation that does not destroy a header4675 does not destroy the destination4676 when feature is unlicensed4677 does not destroy the header4678 behaves like a mutation on an unauthorized resource4679 behaves like a mutation that returns top-level errors4680 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"4681Deleting a DAST Site Profile4682 behaves like an on-demand scan mutation when user cannot run an on-demand scan4683 when a user does not have access to the project4684 behaves like a mutation that returns a top-level access error4685 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"4686 when a user does not have access to run a dast scan on the project4687 behaves like a mutation that returns a top-level access error4688 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"4689 behaves like an on-demand scan mutation when user can run an on-demand scan4690 returns an empty errors array4691 deletes the dast_site_profile4692 when on demand scan licensed feature is not available4693 behaves like a mutation that returns a top-level access error4694 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"4695 when there is an issue deleting the dast_site_profile4696 behaves like a mutation that returns errors in the response4697 is expected to contain exactly "Name is weird"4698 when the dast_site_profile does not exist4699 behaves like a mutation that returns top-level errors4700 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"4701 when wrong type of global id is passed4702 behaves like a mutation that returns top-level errors4703 is expected to eq ["Variable $dastSiteProfileDeleteInput of type DastSiteProfileDeleteInput! was provided invalid value for id (\"gid://gitlab/DastSite/19\" does not represent an instance of DastSiteProfile)"]4704Boards::MilestonesController4705 GET index4706 with authorized user4707 with private group board4708 behaves like authorized board milestone listing4709 returns a list of all milestones of board parent4710 with private project board4711 behaves like authorized board milestone listing4712 returns a list of all milestones of board parent4713 with unauthorized user4714 with private group board4715 behaves like unauthorized board milestone listing4716 returns a forbidden 403 response4717 with private project board4718 behaves like unauthorized board milestone listing4719 returns a forbidden 403 response4720Assigns scan execution policy project to a project/namespace4721 for project4722 behaves like assigns security policy project4723 when licensed feature is available4724 when user is an owner of the container4725 assigns the security policy project4726 when user is not an owner4727 behaves like a mutation that returns top-level errors4728 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"4729 when policy_project_id is invalid4730 behaves like a mutation that returns top-level errors4731 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"4732 when feature is not licensed4733 behaves like a mutation that returns top-level errors4734 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"4735 for namespace4736 behaves like assigns security policy project4737 when licensed feature is available4738 when user is an owner of the container4739 assigns the security policy project4740 when user is not an owner4741 behaves like a mutation that returns top-level errors4742 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"4743 when policy_project_id is invalid4744 behaves like a mutation that returns top-level errors4745 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"4746 when feature is not licensed4747 behaves like a mutation that returns top-level errors4748 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"4749Projects::IterationsController4750 index4751 behaves like iterations license is not available4752 behaves like returning response status4753 returns not_found4754 behaves like user is unauthorized4755 behaves like returning response status4756 returns not_found4757 behaves like project is under user namespace4758 behaves like returning response status4759 returns not_found4760 when user is authorized4761 when iteration cadences is disabled4762 behaves like returning response status4763 returns success4764 when iteration cadences is enabled4765 redirects to the project iteration cadence index path4766 show4767 behaves like iterations license is not available4768 behaves like returning response status4769 returns not_found4770 behaves like user is unauthorized4771 behaves like returning response status4772 returns not_found4773 behaves like project is under user namespace4774 behaves like returning response status4775 returns not_found4776 when user is authorized4777 when iteration cadences is disabled4778 behaves like returning response status4779 returns success4780 when iteration cadences is enabled4781 when current user cannot view the requested iteration4782 behaves like returning response status4783 returns not_found4784 when current user can view the requested iteration4785 redirects to the project iteration cadence iteration show path4786API::CaptchaCheck4787 POST users/captcha_check4788 when the feature flag arkose_labs_login_challenge is disabled4789 does return not found status4790 when the feature flag arkose_labs_login_challenge is enabled4791 when the username is invalid4792 does return 200 OK status to prevent enumeration4793 when the username has a dot4794 does return 200 status4795 when the username is nil4796 does return 200 OK status to prevent enumeration4797 when the username is an array4798 does return 200 OK status to prevent enumeration4799 when the email is valid4800 returns status ok4801 when the email is unknown4802 returns 200 OK status to prevent enumeration4803 when the email is invalid4804 returns 200 OK status to prevent enumeration4805 when the user meets the criteria for the captcha check4806 does return true4807 when the user does not meets the criteria for the captcha check4808 does return true4809 when the user reach the rate limit4810 does return true4811Groups::SamlGroupLinksController4812 #index4813 behaves like checks authorization4814 renders 404 when the user is not authorized4815 when the SAML provider is enabled4816 responds with 2004817 #create4818 behaves like checks authorization4819 renders 404 when the user is not authorized4820 when the SAML provider is enabled4821 with valid parameters4822 responds with success4823 creates the group link4824 with missing parameters4825 displays an error4826 #destroy4827 behaves like checks authorization4828 renders 404 when the user is not authorized4829 when the SAML provider is enabled4830 with an existent group link4831 responds with success4832 removes the group link4833 with a non-existent group link4834 renders 4044835Projects::BlobController4836 POST create4837 redirects to blob4838 behaves like handling the codeowners interaction4839 redirects to blob4840 PUT update4841 behaves like handling the codeowners interaction4842 redirects to blob4843Querying a Milestone4844 burnupTimeSeries4845 with insufficient license4846 returns nil4847 when missing dates4848 explains why the report cannot be generated4849 when there are too many events4850 explains why the report cannot be generated4851 with correct license4852 returns burnup chart data4853 group milestones4854 behaves like milestones queried by timeframe4855 query for milestones by timeframe4856 without start4857 returns error4858 without end date4859 returns error4860 with start and end date4861 does not have errors4862 project milestones4863 behaves like milestones queried by timeframe4864 query for milestones by timeframe4865 without start4866 returns error4867 without end date4868 returns error4869 with start and end date4870 does not have errors4871Query.vulnerabilities.primaryIdentifier4872 returns a vulnerability identifiers4873Creating a Requirement4874 when the user does not have permission4875 does not create requirement4876 behaves like a mutation that returns a top-level access error4877 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"4878 when the user has permission4879 when requirements are disabled4880 behaves like a mutation that returns top-level errors4881 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"4882 when requirements are enabled4883DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4884DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4885 creates the requirement4886 when there are ActiveRecord validation errors4887 does not create the requirement4888 behaves like a mutation that returns errors in the response4889 is expected to contain exactly "Title can't be blank"4890BoardsResponses4891 #serialize_as_json4892 without milestone or iteration4893 serialises properly4894 with milestone4895 serialises properly4896 with iteration4897 serialises properly4898GitlabSubscriptions::SeatCountAlert4899 #generate_seat_count_alert_data4900 when the user is not authenticated4901 does not set the seat count data4902 when the user is authenticated4903 when the namespace is nil4904 does not set the seat count data4905 when the feature flag is disabled4906 does not set the seat count data4907 when supplied a project4908 sets the data based on the root ancestor4909 when supplied a top level group4910 sets the data based on that group4911 when supplied a subgroup4912 sets the data based on the root ancestor4913Groups::LdapSettingsController4914 PUT #update4915 as an owner4916 admin allows owners to modify ldap settings4917 changes the value of unlock_membership_to_ldap4918 ldap_settings_unlock_groups_by_owners is disabled4919 does not change the value of the unlock_membership_to_ldap4920 admin disallow owners to modify ldap settings4921 does not change the value of unlock_membership_to_ldap4922 as a maintainer4923 does not change the value of unlock_membership_to_ldap4924GeoInstrumentation4925 .track_geo_proxy_event4926 when the request is not proxied4927 does not track an event4928 when the request is proxied4929 when logged in4930 tracks a HLL event for unique geo proxied requests4931 when not logged in4932 does not track an event4933Querying a Board list4934 when the user has access to the list4935 is expected to include {"issuesCount" => 2, "title" => "foo"}4936 behaves like a working graphql query4937 returns a successful response4938 issue filters4939 when filtering by iteration arguments4940 is expected to include {"issuesCount" => 1, "title" => "foo"}4941 when the user does not have access to the list4942 is expected to be nil4943Projects::AutocompleteSourcesController4944 #epics4945 when epics feature is disabled4946 returns 404 status4947 when epics feature is enabled4948 #epics4949 returns the correct response4950 #vulnerabilities4951 when vulnerabilities feature is disabled4952 returns 404 status4953 when vulnerabilities feature is enabled4954 #vulnerabilities4955 returns the correct response4956Admin::EmailsController4957 GET #show4958 admin user4959 when `send_emails_from_admin_area` feature is enabled4960 responds with 2004961 when `send_emails_from_admin_area` feature is disabled4962 returns 4044963 when usage ping is enabled4964 responds 404 when feature is not activated4965 responds with 200 when feature is activated4966 non-admin user4967 returns 4044968 POST #create4969 admin user4970 when `send_emails_from_admin_area` feature is enabled4971 when emails from admin area are not rate limited4972 triggers the service to send emails4973 redirects to `admin_email_path` with success notice4974 when emails from admin area are rate limited4975 does not trigger the service to send emails4976 redirects to `admin_email_path`4977 when `send_emails_from_admin_area` feature is disabled4978 does not trigger the service to send emails4979 returns 4044980 when usage ping is enabled4981 when feature is activated4982 triggers the service to send emails4983 redirects to `admin_email_path` with success notice4984 when feature is deactivated4985 does not trigger the service to send emails4986 returns 4044987 non-admin user4988 returns 4044989Projects::IterationCadencesController4990 behaves like accessing iteration cadences4991 index4992 feature_flag_available: false, role: :developer, status: :not_found4993 behaves like returning response status4994 returns not_found4995 feature_flag_available: true, role: :none, status: :not_found4996 behaves like returning response status4997 returns not_found4998 feature_flag_available: true, role: :guest, status: :success4999 behaves like returning response status5000 returns success5001 feature_flag_available: true, role: :developer, status: :success5002 behaves like returning response status5003 returns success5004Create a milestone or assignee board list5005 the user is not allowed to read board lists5006 behaves like a mutation that returns a top-level access error5007 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"5008 when user has permissions to admin board lists5009 milestone list5010 creates the list5011 assignee list5012 creates the list5013Creating an External Issue Link5014 when the user does not have permission5015 does not destroy external issue link5016 behaves like a mutation that returns a top-level access error5017 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"5018 when the user has permission5019 when security_dashboard is disabled5020 behaves like a mutation that returns top-level errors5021 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"5022 when security_dashboard is enabled5023 destroys the external issue link5024Update of an existing epic board list5025 behaves like a GraphQL request to update board list5026 the user is not allowed to read board lists5027 behaves like a mutation that returns a top-level access error5028 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"5029 when user has permissions to admin board lists5030 updates the list position and collapsed state5031 when user has permissions to read board lists5032 updates the list collapsed state but not the list position5033Creating a DAST Site Profile5034 behaves like an on-demand scan mutation when user cannot run an on-demand scan5035 when a user does not have access to the project5036 behaves like a mutation that returns a top-level access error5037 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"5038 when a user does not have access to run a dast scan on the project5039 behaves like a mutation that returns a top-level access error5040 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"5041 behaves like an on-demand scan mutation when user can run an on-demand scan5042 returns an empty errors array5043 returns the dast_site_profile id5044 when on demand scan licensed feature is not available5045 behaves like a mutation that returns a top-level access error5046 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"5047Removing an issuable resource link5048 removes the issuable resource link5049 when feature flag is disabled5050 returns nil5051API::Ldap5052 GET /ldap/groups5053 when unauthenticated5054 returns authentication error5055 when authenticated as user5056 returns authentication error5057 when group owners are allowed to manage LDAP5058 returns an array of ldap groups5059 when authenticated as admin5060 returns an array of ldap groups5061 GET /ldap/ldapmain/groups5062 when unauthenticated5063 returns authentication error5064 when authenticated as user5065 returns authentication error5066 when group owners are allowed to manage LDAP5067 returns an array of ldap groups5068 when authenticated as admin5069 returns an array of ldap groups5070Admin::GroupsController5071 POST #reset_runner_minutes5072 when the reset is successful5073 redirects to group path5074 when the reset is not successful5075 redirects back to group edit page5076NamespaceCiCdSettingsUpdate5077 when unauthorized5078 when not a namespace member5079 behaves like unauthorized5080 returns an error5081 when a non-admin namespace member5082 behaves like unauthorized5083 returns an error5084 when authorized5085 updates allow_stale_runner_pruning?5086 does not update allow_stale_runner_pruning? if not specified5087 when bad arguments are provided5088 returns the errors5089Query.vulnerabilities.identifiers5090 returns a vulnerability identifiers5091Query.vulnerabilities.details5092 returns a vulnerability details5093EE::Emails::MergeRequests5094 #add_merge_request_approver_email5095 when email_author_in_body is set5096 has the correct body with the name of the person who added the approver5097 when email_author_in_body is not set5098 has the correct body without the name of the person who added the approver5099ProfilesController5100 PUT update5101 updating name5102 when `disable_name_update_for_users` feature is available5103 when the ability to update thier name is not disabled for users5104 behaves like a user can update their name5105 updates their name5106 behaves like a user can update their name5107 updates their name5108 when the ability to update their name is disabled for users5109 as a regular user5110 does not update their name5111 as an admin in admin mode5112 behaves like a user can update their name5113 updates their name5114 when `disable_name_update_for_users` feature is not available5115 behaves like a user can update their name5116 updates their name5117 behaves like a user can update their name5118 updates their name5119MergeRequestReviewer5120 when requesting information about MR interactions5121 when the user does not have any applicable rules5122 returns null data5123 when the user has interacted5124 returns appropriate data5125Query.project.mergeRequest.approvalState5126 when requesting information about approval state5127 when no approval rule is set to the MR5128 returns null data5129 when the MR has approval rules configured5130 returns appropriate data5131Exporting Requirements5132 when the user does not have permission5133 behaves like requirements export fails5134 does not schedule export job5135 behaves like a mutation that returns a top-level access error5136 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"5137 when the user has permission5138 when requirements are disabled5139 behaves like requirements export fails5140 does not schedule export job5141 behaves like a mutation that returns a top-level access error5142 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"5143 when requirements are enabled5144 schedules job to export requirements5145Projects::IncidentManagement::OncallSchedulesController5146 GET #index5147 with read permissions5148 renders index with 200 status code5149 with admin permissions5150 renders index with 200 status code5151 unauthorized5152 responds with 4045153 with unavailable feature5154 responds with 4045155getting merge request listings (EE) nested in a project5156 when requesting approval fields5157 exposes approval metadata5158Updating an on-call schedule5159 updates the on-call schedule5160API::IssueLinks5161 POST /links5162 when creating a blocked relationship5163 when feature is enabled5164 returns 201 status and contains the expected link response5165 when feature is disabled5166 returns 4035167Emails::NamespaceStorageUsageMailer5168 #notify_out_of_storage5169 creates an email message for a group5170 creates an email message for a namespace5171 #notify_limit_warning5172 creates an email message for a group5173 creates an email message for a namespace5174Admin::SessionsController5175 #create5176 when using two-factor authentication5177 when OTP authentication fails5178 behaves like an auditable failed authentication5179 log an audit event5180 when U2F authentication fails5181 behaves like an auditable failed authentication5182 log an audit event5183 when WebAuthn authentication fails5184 behaves like an auditable failed authentication5185 log an audit event5186Security::DashboardController5187 GET #show5188 behaves like Security::ApplicationController5189 when the user is authenticated5190 responds with success5191 and the instance does not have an Ultimate license5192 404s5193 when the user is not authenticated5194 redirects the user to the sign in page5195 when security dashboard feature5196 is enabled5197 is expected to render template instance_security5198 is disabled5199 is expected to respond with numeric status code not_found5200 is expected to render template errors/not_found5201Profiles::BillingsController5202 GET #index5203 renders index with 200 status code5204 fetch subscription plans data from customers.gitlab.com5205 when CustomersDot is unavailable5206 renders a different partial5207Updating an escalation policy5208 updates the escalation policy5209 when rules are provided out of order5210 successfully creates the policy and reorders the rules5211PasswordsController5212 #create5213 is expected to change `AuditEvent.count` by 15214Query.project(fullPath).scanResultPolicies5215 returns both user and group approvers5216InternalRedirect5217 #host_allowed?5218 allows redirecting to existing geo nodes5219Emails::GroupMemberships5220 #user_cap_reached5221 is expected to have subject of "Exported group membership list"5222 is expected to be delivered to ["user2026@example.org"]5223 contains one attachment5224SitemapController5225 #show5226 when not Gitlab.com?5227 returns :not_found5228 when Gitlab.com?5229 with an authenticated user5230 when the sitemap generation raises an error5231 returns an xml error5232 when the sitemap was created suscessfully5233 returns sitemap5234Oauth::ApplicationsController5235 project members5236 POST #create5237 logs the audit event5238Knapsack report was generated. Preview:5239{5240 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 185.53051346699976,5241 "ee/spec/requests/api/visual_review_discussions_spec.rb": 162.44343874700098,5242 "ee/spec/requests/git_http_geo_spec.rb": 84.94583899400095,5243 "ee/spec/requests/api/geo_nodes_spec.rb": 69.08663809300015,5244 "ee/spec/controllers/groups/epics_controller_spec.rb": 57.48296587200093,5245 "ee/spec/controllers/boards/lists_controller_spec.rb": 51.28902254900095,5246 "ee/spec/requests/api/protected_environments_spec.rb": 42.63738918799936,5247 "ee/spec/controllers/ee/groups_controller_spec.rb": 35.70986822499981,5248 "ee/spec/controllers/registrations/groups_projects_controller_spec.rb": 31.221554203000778,5249 "ee/spec/controllers/projects/boards_controller_spec.rb": 29.38914928399936,5250 "ee/spec/requests/api/deployments_spec.rb": 30.608380552999733,5251 "ee/spec/controllers/groups/analytics/cycle_analytics/summary_controller_spec.rb": 23.52104249399963,5252 "ee/spec/requests/api/protected_branches_spec.rb": 38.8733303959998,5253 "ee/spec/requests/api/discussions_spec.rb": 40.200678458000766,5254 "ee/spec/controllers/groups/group_members_controller_spec.rb": 25.045835889000955,5255 "ee/spec/controllers/projects/push_rules_controller_spec.rb": 29.053412371000377,5256 "ee/spec/requests/api/project_approval_settings_spec.rb": 17.923444482999912,5257 "ee/spec/requests/api/group_boards_spec.rb": 18.481648736998977,5258 "ee/spec/controllers/groups/push_rules_controller_spec.rb": 23.914505111000835,5259 "ee/spec/requests/api/internal/base_spec.rb": 18.25510636599938,5260 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 20.29130431900012,5261 "ee/spec/requests/api/project_approvals_spec.rb": 11.809090762999404,5262 "ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb": 20.300643566999497,5263 "ee/spec/requests/api/project_push_rule_spec.rb": 12.927786431999266,5264 "ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb": 17.413303924999127,5265 "ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb": 11.734476038998764,5266 "ee/spec/requests/api/project_import_spec.rb": 14.798695137998948,5267 "ee/spec/controllers/projects/protected_environments_controller_spec.rb": 13.415955541000585,5268 "ee/spec/requests/api/ci/triggers_spec.rb": 14.609005963999152,5269 "ee/spec/requests/projects/security/policies_controller_spec.rb": 9.708703024998613,5270 "ee/spec/requests/projects/issues_controller_spec.rb": 11.937741562000156,5271 "ee/spec/requests/api/resource_label_events_spec.rb": 10.85625052100113,5272 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb": 7.857263591999072,5273 "ee/spec/requests/api/group_repository_storage_moves_spec.rb": 5.619520361999093,5274 "ee/spec/requests/api/geo_spec.rb": 4.89389656899948,5275 "ee/spec/requests/api/group_variables_spec.rb": 9.251604720000614,5276 "ee/spec/controllers/groups/billings_controller_spec.rb": 7.573322004000147,5277 "ee/spec/controllers/groups/hooks_controller_spec.rb": 10.059662935000233,5278 "ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb": 8.811425791000147,5279 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb": 7.631165463000798,5280 "ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb": 5.3701144289989315,5281 "ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb": 7.9580317009986175,5282 "ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb": 6.337089107000793,5283 "ee/spec/requests/api/graphql/mutations/boards/create_spec.rb": 5.733631420000165,5284 "ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb": 9.366483946001608,5285 "ee/spec/controllers/ee/registrations_controller_spec.rb": 5.625051970999266,5286 "ee/spec/controllers/projects/path_locks_controller_spec.rb": 6.71687943500001,5287 "ee/spec/requests/api/merge_trains_spec.rb": 10.747859545999745,5288 "ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb": 6.599127307001254,5289 "ee/spec/requests/api/iterations_spec.rb": 3.2134572150007443,5290 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 5.608534244000111,5291 "ee/spec/controllers/admin/licenses_controller_spec.rb": 3.3493802590000996,5292 "ee/spec/requests/api/graphql/iterations/iterations_spec.rb": 4.188564600999598,5293 "ee/spec/requests/api/ci/jobs_spec.rb": 7.980378787000518,5294 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 6.30385033300081,5295 "ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb": 5.971841185999438,5296 "ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb": 3.6854963450005016,5297 "ee/spec/controllers/groups/scim_oauth_controller_spec.rb": 4.7046094039997115,5298 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 6.543401087999882,5299 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 3.683833806999246,5300 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb": 5.42753744699985,5301 "ee/spec/controllers/concerns/registrations/verification_spec.rb": 2.141077366999525,5302 "ee/spec/requests/api/ci/minutes_spec.rb": 2.1966178470011073,5303 "ee/spec/mailers/ee/emails/projects_spec.rb": 5.044259600001169,5304 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb": 4.286510342000838,5305 "ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb": 5.375597936999839,5306 "ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb": 4.808291425000789,5307 "ee/spec/requests/api/graphql/ci/runner_spec.rb": 4.3497115619993565,5308 "ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb": 2.939446106000105,5309 "ee/spec/requests/api/graphql/mutations/dast_site_validations/create_spec.rb": 4.493573093999657,5310 "ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb": 3.327207042999362,5311 "ee/spec/requests/api/dora/metrics_spec.rb": 3.0778116210003645,5312 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 6.5816898310004035,5313 "ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb": 5.789392059999955,5314 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb": 4.508221710999351,5315 "ee/spec/requests/api/graphql/mutations/projects/set_compliance_framework_spec.rb": 4.0466855079994275,5316 "ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb": 3.078411810000034,5317 "ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb": 3.676483486999132,5318 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 2.7926941640016594,5319 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.804856312000993,5320 "ee/spec/requests/api/graphql/audit_events/streaming/headers/destroy_spec.rb": 2.5484173010008817,5321 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/delete_spec.rb": 3.300705329000266,5322 "ee/spec/controllers/boards/milestones_controller_spec.rb": 3.006672683999568,5323 "ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb": 3.3013872989995434,5324 "ee/spec/controllers/projects/iterations_controller_spec.rb": 4.152338017998773,5325 "ee/spec/requests/api/captcha_check_spec.rb": 1.4966901679999864,5326 "ee/spec/controllers/groups/saml_group_links_controller_spec.rb": 2.3127143340007024,5327 "ee/spec/controllers/ee/projects/blob_controller_spec.rb": 4.483879766001337,5328 "ee/spec/requests/api/graphql/milestone_spec.rb": 3.078849989999071,5329 "ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb": 2.538681091999024,5330 "ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb": 3.1597615650007356,5331 "ee/spec/controllers/concerns/boards_responses_spec.rb": 2.457149007001135,5332 "ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb": 0.9597836190005182,5333 "ee/spec/controllers/groups/ldap_settings_controller_spec.rb": 2.5914550319994305,5334 "ee/spec/controllers/concerns/geo_instrumentation_spec.rb": 1.786205913998856,5335 "ee/spec/requests/api/graphql/boards/board_list_query_spec.rb": 2.2611386939988734,5336 "ee/spec/controllers/ee/projects/autocomplete_sources_controller_spec.rb": 2.0962059250014136,5337 "ee/spec/controllers/admin/emails_controller_spec.rb": 1.3638074929986033,5338 "ee/spec/controllers/projects/iteration_cadences_controller_spec.rb": 1.9040393919985945,5339 "ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb": 2.0445806449988595,5340 "ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb": 1.9717376780008635,5341 "ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb": 1.6252866640006687,5342 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/create_spec.rb": 2.730663006001123,5343 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb": 1.7601611689988204,5344 "ee/spec/requests/api/ldap_spec.rb": 0.9510122700012289,5345 "ee/spec/controllers/admin/groups_controller_spec.rb": 0.6801077020008961,5346 "ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb": 3.153553895999721,5347 "ee/spec/requests/api/graphql/vulnerabilities/identifiers_spec.rb": 2.398813957999664,5348 "ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb": 2.227129919998333,5349 "ee/spec/mailers/ee/emails/merge_requests_spec.rb": 2.162326392999603,5350 "ee/spec/controllers/profiles_controller_spec.rb": 0.9577157090006949,5351 "ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb": 2.168930391999311,5352 "ee/spec/requests/api/graphql/merge_requests/approval_state_spec.rb": 2.247334587000296,5353 "ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb": 2.0794811880005,5354 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 2.1422631370005547,5355 "ee/spec/requests/api/graphql/project/merge_requests_spec.rb": 1.7973809720006102,5356 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb": 0.8343164229991089,5357 "ee/spec/requests/api/issue_links_spec.rb": 1.3464972159999888,5358 "ee/spec/mailers/emails/namespace_storage_usage_mailer_spec.rb": 0.5580079050014319,5359 "ee/spec/controllers/ee/admin/sessions_controller_spec.rb": 1.2683546209991619,5360 "ee/spec/controllers/security/dashboard_controller_spec.rb": 0.9681748279999738,5361 "ee/spec/controllers/profiles/billings_controller_spec.rb": 0.7035911669991037,5362 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/update_spec.rb": 1.9432923139993363,5363 "ee/spec/controllers/passwords_controller_spec.rb": 0.9187001169993891,5364 "ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb": 1.7345467240011203,5365 "ee/spec/controllers/concerns/internal_redirect_spec.rb": 0.6805524709998281,5366 "ee/spec/mailers/emails/group_memberships_spec.rb": 0.7422319310007879,5367 "ee/spec/controllers/sitemap_controller_spec.rb": 0.4009617140000046,5368 "ee/spec/controllers/oauth/applications_controller_spec.rb": 0.65765889599970255369}5370Knapsack global time execution for tests: 25m 42s5371Finished in 25 minutes 46 seconds (files took 1 minute 5.82 seconds to load)53722083 examples, 0 failures5373RSpec exited with 0.5374No examples to retry, congrats!5376Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5377Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5379Uploading artifacts...5380coverage/: found 5 matching files and directories 5381crystalball/: found 2 matching files and directories 5382deprecations/: found 11 matching files and directories 5383knapsack/: found 3 matching files and directories 5384rspec/: found 8 matching files and directories 5385WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5386log/*.log: found 19 matching files and directories 5387WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673683146/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5388WARNING: Retrying... context=artifacts-uploader error=request redirected5389Uploading artifacts as "archive" to coordinator... 201 Created id=2673683146 responseStatus=201 Created token=ffyxPns85390Uploading artifacts...5391rspec/junit_rspec.xml: found 1 matching files and directories 5392WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673683146/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5393WARNING: Retrying... context=artifacts-uploader error=request redirected5394Uploading artifacts as "junit" to coordinator... 201 Created id=2673683146 responseStatus=201 Created token=ffyxPns85396Job succeeded