rspec-ee integration pg12 2/4
Passed Started
by
@splattael
Peter Leitzen
1Running with gitlab-runner 15.1.0~beta.20.g62206bb2 (62206bb2)2 on blue-2.shared-gitlab-org.runners-manager.gitlab.com/default NL4gfoBe3 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:1c23a0bd0711f9f7944305c4b25ce8e4301c16167671a7873aad77579270806d 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:d0052322332df372b949caf19e910c0ce6859c1e7ed29ff609ebec91b1dead87 ...21Running on runner-nl4gfobe-project-278964-concurrent-0 via runner-nl4gfobe-shared-gitlab-org-1656525109-1890e61e...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: 108133, done. 28remote: Counting objects: 100% (108133/108133), done. 29remote: Compressing objects: 100% (78029/78029), done. 30remote: Total 108133 (delta 41970), reused 69319 (delta 25782), pack-reused 0 31Receiving objects: 100% (108133/108133), 107.22 MiB | 23.81 MiB/s, done.32Resolving deltas: 100% (41970/41970), done.34 * [new ref] refs/pipelines/576349587 -> refs/pipelines/57634958735Checking out ab4209a5 as refs/merge-requests/91088/merge...36Skipping Git submodules setup37$ git remote set-url origin "${CI_REPOSITORY_URL}"39Checking cache for ruby-gems-debian-bullseye-ruby-2.7-10...40cache.zip is up to date 41Successfully extracted cache42Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-10...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (2658553241)...47Downloading artifacts from coordinator... ok id=2658553241 responseStatus=200 OK token=J8SJP2zo48Downloading artifacts for detect-tests (2658553263)...49Downloading artifacts from coordinator... ok id=2658553263 responseStatus=200 OK token=J8SJP2zo50Downloading artifacts for retrieve-tests-metadata (2658553268)...51Downloading artifacts from coordinator... ok id=2658553268 responseStatus=200 OK token=J8SJP2zo52Downloading artifacts for setup-test-env (2658553255)...53Downloading artifacts from coordinator... ok id=2658553255 responseStatus=200 OK token=J8SJP2zo55Using docker image sha256:1c23a0bd0711f9f7944305c4b25ce8e4301c16167671a7873aad77579270806d 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:d0052322332df372b949caf19e910c0ce6859c1e7ed29ff609ebec91b1dead87 ...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 10 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 41 seconds.100$ setup_db_praefect101SELECT pg_catalog.set_config('search_path', '', false);102CREATE DATABASE praefect_test ENCODING 'UTF8';103==> 'setup_db_praefect' succeeded in 0 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 1 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.21.2177Using 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_2_4_report.json234FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json235FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg12_2_4_report.json236NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg12_2_4_report.json237SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg12_2_4_report.txt238RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_integration_pg12_2_4_report.txt239CRYSTALBALL: 240Knapsack node specs:241ee/spec/requests/api/vulnerabilities_spec.rb242ee/spec/requests/api/visual_review_discussions_spec.rb243ee/spec/requests/api/epics_spec.rb244ee/spec/controllers/projects_controller_spec.rb245ee/spec/requests/api/notes_spec.rb246ee/spec/requests/api/wikis_spec.rb247ee/spec/controllers/ee/groups_controller_spec.rb248ee/spec/controllers/projects/licenses_controller_spec.rb249ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb250ee/spec/controllers/projects/subscriptions_controller_spec.rb251ee/spec/requests/groups_controller_spec.rb252ee/spec/requests/api/deployments_spec.rb253ee/spec/requests/api/epic_links_spec.rb254ee/spec/requests/api/merge_requests_spec.rb255ee/spec/requests/lfs_http_spec.rb256ee/spec/requests/api/group_hooks_spec.rb257ee/spec/requests/groups/epics/epic_links_controller_spec.rb258ee/spec/requests/git_http_spec.rb259ee/spec/requests/api/internal/base_spec.rb260ee/spec/requests/api/project_approval_rules_spec.rb261ee/spec/controllers/groups/contribution_analytics_controller_spec.rb262ee/spec/requests/api/related_epic_links_spec.rb263ee/spec/controllers/groups/epics/notes_controller_spec.rb264ee/spec/controllers/projects/security/configuration_controller_spec.rb265ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb266ee/spec/requests/ee/projects/environments_controller_spec.rb267ee/spec/requests/api/award_emoji_spec.rb268ee/spec/controllers/projects/mirrors_controller_spec.rb269ee/spec/controllers/groups/boards_controller_spec.rb270ee/spec/requests/api/geo_spec.rb271ee/spec/controllers/admin/clusters_controller_spec.rb272ee/spec/controllers/projects/approvers_controller_spec.rb273ee/spec/controllers/registrations/groups_controller_spec.rb274ee/spec/requests/projects/issues_controller_spec.rb275ee/spec/controllers/groups/issues_controller_spec.rb276ee/spec/controllers/projects/approver_groups_controller_spec.rb277ee/spec/requests/api/graphql/vulnerabilities/location_spec.rb278ee/spec/controllers/oauth/geo_auth_controller_spec.rb279ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb280ee/spec/requests/api/project_clusters_spec.rb281ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb282ee/spec/requests/jwt_controller_spec.rb283ee/spec/requests/user_activity_spec.rb284ee/spec/requests/api/group_variables_spec.rb285ee/spec/requests/api/resource_iteration_events_spec.rb286ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb287ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb288ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb289ee/spec/requests/repositories/git_http_controller_spec.rb290ee/spec/requests/api/ci/jobs_spec.rb291ee/spec/controllers/ee/projects/variables_controller_spec.rb292ee/spec/requests/api/graphql/namespace/projects_spec.rb293ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb294ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb295ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb296ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb297ee/spec/requests/api/graphql/group/epic/epic_issues_spec.rb298ee/spec/requests/api/graphql/mutations/epics/create_spec.rb299ee/spec/requests/api/graphql/project/dast_site_profiles_spec.rb300ee/spec/controllers/projects/environments_controller_spec.rb301ee/spec/controllers/security/projects_controller_spec.rb302ee/spec/requests/api/graphql/project/pipelines/dast_profile_spec.rb303ee/spec/requests/api/templates_spec.rb304ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb305ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb306ee/spec/controllers/trial_registrations_controller_spec.rb307ee/spec/requests/groups/usage_quotas_spec.rb308ee/spec/requests/api/group_clusters_spec.rb309ee/spec/controllers/admin/geo/settings_controller_spec.rb310ee/spec/controllers/admin/geo/nodes_controller_spec.rb311ee/spec/controllers/projects/pages_controller_spec.rb312ee/spec/requests/api/graphql/project/code_coverage_summary_spec.rb313ee/spec/controllers/admin/emails_controller_spec.rb314ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb315ee/spec/requests/api/graphql/current_user/groups_query_spec.rb316ee/spec/requests/api/dora/metrics_spec.rb317ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb318ee/spec/controllers/projects/incident_management/escalation_policies_controller_spec.rb319ee/spec/requests/api/graphql/mutations/boards/epic_lists/destroy_spec.rb320ee/spec/requests/groups/clusters_controller_spec.rb321ee/spec/requests/api/features_spec.rb322ee/spec/requests/api/graphql/vulnerabilities/description_spec.rb323ee/spec/controllers/projects/settings/slacks_controller_spec.rb324ee/spec/controllers/admin/users_controller_spec.rb325ee/spec/requests/projects/audit_events_spec.rb326ee/spec/controllers/projects/runners_controller_spec.rb327ee/spec/requests/survey_responses_controller_spec.rb328ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb329ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb330ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb331ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb332ee/spec/controllers/projects/security/scanned_resources_controller_spec.rb333ee/spec/requests/api/graphql/mutations/notes/create/note_spec.rb334ee/spec/requests/api/graphql/mutations/issues/set_escalation_policy_spec.rb335ee/spec/controllers/admin/push_rules_controller_spec.rb336ee/spec/requests/api/graphql/mutations/releases/update_spec.rb337ee/spec/requests/api/graphql/ci/minutes/usage_spec.rb338ee/spec/requests/admin/audit_events_spec.rb339ee/spec/requests/lfs_locks_api_spec.rb340ee/spec/controllers/groups/iteration_cadences_controller_spec.rb341ee/spec/mailers/emails/group_memberships_spec.rb342ee/spec/requests/api/ldap_spec.rb343ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb344ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb345ee/spec/requests/api/graphql/group/external_audit_event_destinations_spec.rb346ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb347ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb348ee/spec/controllers/admin/groups_controller_spec.rb349ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb350ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb351ee/spec/requests/api/graphql/vulnerabilities/scanner_spec.rb352ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb353ee/spec/requests/api/graphql/group/ci_cd_settings_spec.rb354ee/spec/mailers/ee/emails/issues_spec.rb355ee/spec/requests/admin/user_permission_exports_controller_spec.rb356ee/spec/controllers/groups/runners_controller_spec.rb357ee/spec/controllers/security/dashboard_controller_spec.rb358ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb359ee/spec/controllers/ee/sent_notifications_controller_spec.rb360ee/spec/controllers/admin/dashboard_controller_spec.rb361ee/spec/controllers/dashboard_controller_spec.rb362ee/spec/controllers/users_controller_spec.rb363ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb364ee/spec/mailers/emails/user_cap_spec.rb365ee/spec/requests/groups/contribution_analytics_spec.rb366ee/spec/requests/rack_attack_global_spec.rb367ee/spec/controllers/admin/impersonations_controller_spec.rb368ee/spec/mailers/devise_mailer_spec.rb369ee/spec/controllers/countries_controller_spec.rb370ee/spec/requests/search_controller_spec.rb371Filter specs:372Running specs:373Running all node tests without filter374ee/spec/requests/api/vulnerabilities_spec.rb375ee/spec/requests/api/visual_review_discussions_spec.rb376ee/spec/requests/api/epics_spec.rb377ee/spec/controllers/projects_controller_spec.rb378ee/spec/requests/api/notes_spec.rb379ee/spec/requests/api/wikis_spec.rb380ee/spec/controllers/ee/groups_controller_spec.rb381ee/spec/controllers/projects/licenses_controller_spec.rb382ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb383ee/spec/controllers/projects/subscriptions_controller_spec.rb384ee/spec/requests/groups_controller_spec.rb385ee/spec/requests/api/deployments_spec.rb386ee/spec/requests/api/epic_links_spec.rbKnapsack report generator started!387DEPRECATION 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 call388/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 here389 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)390Run options: exclude {:quarantine=>true, :level=>"migration"}391==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.057845967 seconds...392Test environment set up in 0.706292559 seconds393API::Vulnerabilities394 GET /projects/:id/vulnerabilities395 with an authorized user with proper permissions396 returns all vulnerabilities of a project397 with pagination398 paginates the vulnerabilities according to the pagination params399 behaves like forbids access to vulnerability API endpoint in case of disabled features400 when security dashboard feature is not available401 responds with 403 Forbidden402 permissions403 is expected to be allowed for :admin404 is expected to be allowed for :owner405 is expected to be allowed for :maintainer406 is expected to be allowed for :developer407 is expected to be allowed for :auditor408 is expected to be denied for :reporter409 is expected to be denied for :guest410 is expected to be denied for :anonymous411 GET /vulnerabilities/:id412 with an authorized user with proper permissions413 returns the desired vulnerability414 returns the desired findings415 behaves like responds with "not found" for an unknown vulnerability ID416 is expected to respond with numeric status code not_found417 behaves like forbids access to vulnerability API endpoint in case of disabled features418 when security dashboard feature is not available419 responds with 403 Forbidden420 permissions421 is expected to be allowed for :admin422 is expected to be allowed for :owner423 is expected to be allowed for :maintainer424 is expected to be allowed for :developer425 is expected to be allowed for :auditor426 is expected to be denied for :reporter427 is expected to be denied for :guest428 is expected to be denied for :anonymous429 POST /projects/:id/vulnerabilities430 with an authorized user with proper permissions431 creates a vulnerability from finding and attaches it to the vulnerability432 when finding id is unknown433 responds with expected error434 when a vulnerability already exists for a specific finding435 rejects creation of a new vulnerability from this finding436 behaves like forbids access to vulnerability API endpoint in case of disabled features437 when security dashboard feature is not available438 responds with 403 Forbidden439 permissions440 is expected to be allowed for :admin441 is expected to be allowed for :owner442 is expected to be allowed for :maintainer443 is expected to be allowed for :developer444 is expected to be denied for :auditor445 is expected to be denied for :reporter446 is expected to be denied for :guest447 is expected to be denied for :anonymous448 POST /vulnerabilities:id/dismiss449 with an authorized user with proper permissions450 dismisses a vulnerability and its associated findings451 behaves like responds with "not found" for an unknown vulnerability ID452 is expected to respond with numeric status code not_found453 when there is a dismissal error454 responds with error455 if a vulnerability is already dismissed456 responds with 304 Not Modified457 behaves like forbids access to vulnerability API endpoint in case of disabled features458 when security dashboard feature is not available459 responds with 403 Forbidden460 permissions461 is expected to be allowed for :admin462 is expected to be allowed for :owner463 is expected to be allowed for :maintainer464 is expected to be allowed for :developer465 is expected to be denied for :auditor466 is expected to be denied for :reporter467 is expected to be denied for :guest468 is expected to be denied for :anonymous469 POST /vulnerabilities/:id/resolve470 with an authorized user with proper permissions471 resolves a vulnerability and its associated findings472 behaves like responds with "not found" for an unknown vulnerability ID473 is expected to respond with numeric status code not_found474 when the vulnerability is already resolved475 responds with 304 Not Modified response476 behaves like forbids access to vulnerability API endpoint in case of disabled features477 when security dashboard feature is not available478 responds with 403 Forbidden479 permissions480 is expected to be allowed for :admin481 is expected to be allowed for :owner482 is expected to be allowed for :maintainer483 is expected to be allowed for :developer484 is expected to be denied for :auditor485 is expected to be denied for :reporter486 is expected to be denied for :guest487 is expected to be denied for :anonymous488 POST /vulnerabilities/:id/confirm489 with an authorized user with proper permissions490 confirms a vulnerability and its associated findings491 behaves like responds with "not found" for an unknown vulnerability ID492 is expected to respond with numeric status code not_found493 when the vulnerability is already confirmed494 responds with 304 Not Modified response495 behaves like forbids access to vulnerability API endpoint in case of disabled features496 when security dashboard feature is not available497 responds with 403 Forbidden498 permissions499 is expected to be allowed for :admin500 is expected to be allowed for :owner501 is expected to be allowed for :maintainer502 is expected to be allowed for :developer503 is expected to be denied for :auditor504 is expected to be denied for :reporter505 is expected to be denied for :guest506 is expected to be denied for :anonymous507 POST /vulnerabilities:id/revert508 with an authorized user with proper permissions509 reverts a vulnerability and its associated findings to detected state510 behaves like responds with "not found" for an unknown vulnerability ID511 is expected to respond with numeric status code not_found512 when there is a revert error513 responds with error514 if a vulnerability is already in detected state515 responds with 304 Not Modified516 behaves like forbids access to vulnerability API endpoint in case of disabled features517 when security dashboard feature is not available518 responds with 403 Forbidden519 permissions520 is expected to be allowed for :admin521 is expected to be allowed for :owner522 is expected to be allowed for :maintainer523 is expected to be allowed for :developer524 is expected to be denied for :auditor525 is expected to be denied for :reporter526 is expected to be denied for :guest527 is expected to be denied for :anonymous528API::VisualReviewDiscussions529 when project is public530 behaves like accepting request without authentication531 behaves like handling merge request feedback532 creates a new note533 tracks a visual review feedback event534 with notes_create_service_tracking feature flag disabled535 does not track any events536 the API response537 responds with a status 201 Created538 returns the persisted note body539 returns the name of the Visual Review Bot assigned as the author540 returns the id of the merge request as the parent noteable_id541 returns a current time stamp instead of the provided one542 with no message body543 returns a 400 bad request error if body not given544 with an invalid project ID545 does not create a new note546 the API response547 responds with a status 404548 with an invalid merge request IID549 does not create a new note550 the API response551 responds with a status 404552 when anonymous_visual_review_feedback feature flag is disabled553 does not create a new note554 the API response555 responds 403556 returns error messaging specifying that the feature is disabled557 behaves like accepting request with authentication558 behaves like handling merge request feedback559 creates a new note560 tracks a visual review feedback event561 with notes_create_service_tracking feature flag disabled562 does not track any events563 the API response564 responds with a status 201 Created565 returns the persisted note body including user details566 returns the name of the Visual Review Bot assigned as the author567 returns the id of the merge request as the parent noteable_id568 returns a current time stamp instead of the provided one569 with no message body570 returns a 400 bad request error if body not given571 with an invalid project ID572 does not create a new note573 the API response574 responds with a status 404575 with an invalid merge request IID576 does not create a new note577 the API response578 responds with a status 404579 when anonymous_visual_review_feedback feature flag is disabled580 does not create a new note581 the API response582 responds 403583 returns error messaging specifying that the feature is disabled584 when project is private585 behaves like accepting request with authentication586 behaves like handling merge request feedback587 creates a new note588 tracks a visual review feedback event589 with notes_create_service_tracking feature flag disabled590 does not track any events591 the API response592 responds with a status 201 Created593 returns the persisted note body including user details594 returns the name of the Visual Review Bot assigned as the author595 returns the id of the merge request as the parent noteable_id596 returns a current time stamp instead of the provided one597 with no message body598 returns a 400 bad request error if body not given599 with an invalid project ID600 does not create a new note601 the API response602 responds with a status 404603 with an invalid merge request IID604 does not create a new note605 the API response606 responds with a status 404607 when anonymous_visual_review_feedback feature flag is disabled608 does not create a new note609 the API response610 responds 403611 returns error messaging specifying that the feature is disabled612 behaves like rejecting request without authentication613 returns a 404 project not found614 and authenticated user has no project access615 returns a 404 project not found616 when project is internal617 behaves like accepting request with authentication618 behaves like handling merge request feedback619 creates a new note620 tracks a visual review feedback event621 with notes_create_service_tracking feature flag disabled622 does not track any events623 the API response624 responds with a status 201 Created625 returns the persisted note body including user details626 returns the name of the Visual Review Bot assigned as the author627 returns the id of the merge request as the parent noteable_id628 returns a current time stamp instead of the provided one629 with no message body630 returns a 400 bad request error if body not given631 with an invalid project ID632 does not create a new note633 the API response634 responds with a status 404635 with an invalid merge request IID636 does not create a new note637 the API response638 responds with a status 404639 when anonymous_visual_review_feedback feature flag is disabled640 does not create a new note641 the API response642 responds 403643 returns error messaging specifying that the feature is disabled644 behaves like rejecting request without authentication645 returns a 404 project not found646 and authenticated user has no project access647 behaves like handling merge request feedback648 creates a new note649 tracks a visual review feedback event650 with notes_create_service_tracking feature flag disabled651 does not track any events652 the API response653 responds with a status 201 Created654 returns the persisted note body including user details655 returns the name of the Visual Review Bot assigned as the author656 returns the id of the merge request as the parent noteable_id657 returns a current time stamp instead of the provided one658 with no message body659 returns a 400 bad request error if body not given660 with an invalid project ID661 does not create a new note662 the API response663 responds with a status 404664 with an invalid merge request IID665 does not create a new note666 the API response667 responds with a status 404668 when anonymous_visual_review_feedback feature flag is disabled669 does not create a new note670 the API response671 responds 403672 returns error messaging specifying that the feature is disabled673API::Epics674 GET /groups/:id/epics675 behaves like error requests676 when epics feature is disabled677 returns 403 forbidden error678 when epics feature is enabled679 returns 404 not found error for a user without permissions to see the group680 when the request is correct681 returns 200 status682 matches the response schema683 avoids N+1 queries684 with_label_details685 avoids N+1 queries686 returns labels with details687 with a parent epic688 returns parent_id and parent_iid689 with multiple epics690 returns epics not authored by the given author id691 returns epics not authored by the given author username692 does not allow filtering by negating author_id and author_username together693 returns epics without the given label694 returns epics authored by the given author id695 returns epics authored by the given author username696 does not allow filtering by author_id and author_username together697 returns epics reacted to by current user698 returns epics matching given status699 returns all epics when state set to all700 returns epics matching given confidentiality701 has upvote/downvote information702 sorts by created_at descending by default703 sorts ascending when requested704 sorts by updated_at descending when requested705 sorts by updated_at ascending when requested706 sorts by title descending when requested707 sorts by title ascending when requested708 returns an array of labeled epics709 returns an array of labeled epics with labels param as array710 returns an array of labeled epics when all labels matches711 returns an array of labeled epics when all labels matches with labels param as array712 returns an empty array if no epic matches labels713 returns an empty array if no epic matches labels with labels param as array714 returns an array of labeled epics matching given state715 returns an array of labeled epics matching given state with labels param as array716 returns an empty array if no epic matches labels and state filters717 returns an array of epics with any label718 returns an array of epics with any label with labels param as array719 returns an array of epics with no label720 returns an array of epics with no label with labels param as array721 with search param722 returns issues matching given search string for title723 returns issues matching given search string for description724 behaves like issuable anonymous search725 with anonymous user726 with disable_anonymous_search disabled727 returns issuables matching given search string for title728 returns issuables matching given search string for description729 with disable_anonymous_search enabled730 returns 422 error731 #to_reference732 exposes reference path733 referencing from parent group734 exposes full reference path735 behaves like can admin epics736 when permission is absent737 returns epic with extra date fields738 when permission is present739 returns epic with extra date fields740 filtering before a specific date741 returns epics created before a specific date742 returns epics updated before a specific date743 filtering after a specific date744 returns epics created after a specific date745 returns epics updated after a specific date746 with hierarchy params747 excludes descendant group epics748 includes ancestor group epics749 with pagination params750 when viewing the first page751 behaves like paginated API endpoint752 returns the correct page753 viewing the second page754 behaves like paginated API endpoint755 returns the correct page756 GET /groups/:id/epics/:epic_iid757 behaves like error requests758 when epics feature is disabled759 returns 403 forbidden error760 when epics feature is enabled761 returns 404 not found error for a user without permissions to see the group762 when the request is correct763 returns 200 status764 matches the response schema765 exposes subscribed field766 exposes closed_at attribute767 exposes full reference path768 exposes links769 with a parent epic770 exposes parent link771 behaves like can admin epics772 when permission is absent773 returns epic with extra date fields774 when permission is present775 returns epic with extra date fields776 POST /groups/:id/epics777 behaves like error requests778 when epics feature is disabled779 returns 403 forbidden error780 when epics feature is enabled781 returns 404 not found error for a user without permissions to see the group782 when epics feature is enabled783 creates a new epic with labels param as array784 creates a new epic with no labels785 when required parameter is missing786 returns 400787 when the request is correct788 returns 201 status789 matches the response schema790 exposes parent information791 creates a new epic792 when we specify a color by hex code793 sets the color correctly794 when we specify a color by name795 sets the color correctly796 when deprecated start_date and end_date params are present797 updates start_date_fixed and due_date_fixed798 with rate limiter799 prevents users from creating more epics800 setting created_at801 sets the creation time on the new epic if the user is an admin802 sets the creation time on the new epic if the user is a group owner803 ignores the given creation time if the user is another user804 PUT /groups/:id/epics/:epic_iid805 behaves like error requests806 when epics feature is disabled807 returns 403 forbidden error808 when epics feature is enabled809 returns 404 not found error for a user without permissions to see the group810 when epics feature is enabled811 when a user does not have permissions to create an epic812 returns 403 forbidden error813 when no param sent814 returns 400815 when the request is correct816 clears labels when labels param is nil817 with basic params818 returns 200 status819 matches the response schema820 updates the epic821 with labels822 updates the epic with labels param as array823 when adding labels, keeps existing labels and adds new824 when removing labels, only removes those specified825 when removing all labels, keeps no labels826 when state_event is close827 allows epic to be closed828 when state_event is reopen829 allows epic to be reopend830 setting updated_at831 ignores the given update time when run by another user832 sets the update time on the epic when run by an admin833 sets the update time on the epic when run by a group owner834 when deprecated start_date and end_date params are present835 updates start_date_fixed and due_date_fixed836 when updating start_date_is_fixed by itself837 updates start_date_is_fixed838 DELETE /groups/:id/epics/:epic_iid839 behaves like error requests840 when epics feature is disabled841 returns 403 forbidden error842 when epics feature is enabled843 returns 404 not found error for a user without permissions to see the group844 when epics feature is enabled845 when a user does not have permissions to destroy an epic846 returns 403 forbidden error847 when the request is correct848 returns 204 status849 removes an epic850ProjectsController851 GET show852 additional repo storage by namespace853 when automatic_purchased_storage_allocation setting is enabled854 includes the CTA for additional purchased storage855 when automatic_purchased_storage_allocation setting is disabled856 does not include the CTA for additional purchased storage857 with automatic_purchased_storage_allocation set to true858 does not show over size limit warning when above_size_limit859 with automatic_purchased_storage_allocation set to false860 shows the over size limit warning message if above_size_limit861 does not show an over size warning if not above_size_limit862 namespace storage limit863 behaves like namespace storage limit alert864 does render865 when alert_level is error866 does not render a dismiss button867 when cookie is set868 does not render alert869 behaves like seat count alert870 when the namespace qualifies for the alert871 sets the seat_count_data872 when the feature flag is disabled873 sets the seat_count_data to nil874 when the namespace does not qualify for the alert875 sets the seat_count_data to nil876 GET edit877 does not allow an auditor user to access the page878 POST create879 with licensed repository mirrors880 has mirror enabled in new project881 with unlicensed repository mirrors882 has mirror disabled in new project883 built in project templates884 creates one audit event885 custom project templates886 when licensed887 object storage888/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 nil889/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 nil890 creates the project from project template891 when unlicensed892 does not create the project from project template893 PUT #update894 updates EE attributes895 updates Merge Request Approvers attributes896 updates Issuable Default Templates attributes897 updates cve_id_request_enabled898 when merge_pipelines_enabled param is specified899 updates the attribute900 when license is not sufficient901 does not update the attribute902 when merge_trains_enabled param is specified903 updates the attribute904 when license is not sufficient905 does not update the attribute906 when auto_rollback_enabled param is specified907 updates the attribute908 when license is not sufficient909 does not update the attribute910 repository mirrors911 when licensed912 updates repository mirror attributes913 ignores mirror_user_id914 when unlicensed915 does not update repository mirror attributes916 merge request approvers settings917 :disable_overriding_approvers_per_merge_request918 behaves like merge request approvers rules919 can_modify: true, param_value: true, final_value: true920 updates project if needed921 can_modify: true, param_value: false, final_value: false922 updates project if needed923 can_modify: false, param_value: true, final_value: nil924 updates project if needed925 can_modify: false, param_value: false, final_value: nil926 updates project if needed927 :merge_requests_author_approval928 behaves like merge request approvers rules929 can_modify: true, param_value: true, final_value: true930 updates project if needed931 can_modify: true, param_value: false, final_value: false932 updates project if needed933 can_modify: false, param_value: true, final_value: nil934 updates project if needed935 can_modify: false, param_value: false, final_value: nil936 updates project if needed937 :merge_requests_disable_committers_approval938 behaves like merge request approvers rules939 can_modify: true, param_value: true, final_value: true940 updates project if needed941 can_modify: true, param_value: false, final_value: false942 updates project if needed943 can_modify: false, param_value: true, final_value: nil944 updates project if needed945 can_modify: false, param_value: false, final_value: nil946 updates project if needed947 compliance framework settings948 when unlicensed949 behaves like no compliance framework is set950 does not change compliance framework for project951 when licensed952 current_user is a project owner953 sets the compliance framework954 #download_export955 when project export is enabled956 logs the audit event957 when project export is disabled958 does not log an audit event959 Archive & Unarchive actions960 POST #archive961 for a user with the ability to archive a project962 logs the audit event963 for a user that does not have the ability to archive a project964 does not log the audit event965 POST #unarchive966 for a user with the ability to unarchive a project967 logs the audit event968 for a user that does not have the ability to unarchive a project969 does not log the audit event970 DELETE #destroy971 feature is available972 when feature is enabled for group973 does not mark project for deletion because of error974 behaves like marks project for deletion975 is expected to redirect to "/group136/project494-deleted-498"976 when instance setting is set to 0 days977 deletes project right away978 when project is already marked for deletion979 when permanently_delete param is set980 deletes project right away981 when permanently_delete param is not set982 does nothing983 when feature is disabled for group984 behaves like deletes project right away985 is expected to redirect to "/dashboard/projects"986 when feature is not available for the project987 behaves like marks free project for deletion988 is expected to redirect to "/dashboard/projects"989 for projects in user namespace990 when feature is enabled at instance level991 behaves like marks project for deletion992 is expected to redirect to "/user342/project500-deleted-504"993 when feature is not enabled at instance level994 behaves like deletes project right away995 is expected to redirect to "/dashboard/projects"996 feature is not available997 behaves like deletes project right away998 is expected to redirect to "/dashboard/projects"999 POST #restore1000 restores project deletion1001 does not restore project because of error1002API::Notes1003 when noteable is an Epic1004 behaves like noteable API with confidential notes1005 behaves like noteable API1006 GET /groups/:id/epics/:noteable_id/notes1007 returns an array of notes1008 returns a 404 error when noteable id not found1009 returns 404 when not authorized1010 sorting1011 sorts by ascending order when requested1012 sorts by updated_at in descending order when requested1013 sorts by updated_at in ascending order when requested1014 without sort params1015 sorts by created_at in descending order by default1016 fetches notes using parent path as id paremeter1017 2 notes with equal created_at1018 page breaks first page correctly1019 page breaks second page correctly1020 GET /groups/:id/epics/:noteable_id/notes/:note_id1021 returns a note by id1022 returns a 404 error if note not found1023 POST /groups/:id/epics/:noteable_id/notes1024 creates a new note1025 returns a 400 bad request error if body not given1026 returns a 401 unauthorized error if user not authenticated1027 creates an activity event when a note is created1028 setting created_at1029 by an admin1030 sets the creation time on the new note1031 by a group owner1032 sets the creation time on the new note1033 by another user1034 ignores the given creation time1035 when the user is posting an award emoji on a noteable created by someone else1036 creates a new note1037 when the user is posting an award emoji on their own noteable1038 creates a new note1039 when user does not have access to read the noteable1040 responds with 4041041 when request exceeds the rate limit1042 prevents user from creating more notes1043 allows user in allow-list to create notes1044 PUT /groups/:id/epics/:noteable_id/notes/:note_id1045 returns a 404 error when note id not found1046 returns a 400 bad request error if body is empty1047 when only body param is present1048 updates the note text1049 when confidential param is present1050 does not allow to change confidentiality1051 DELETE /groups/:id/epics/:noteable_id/notes/:note_id1052 deletes a note1053 returns a 404 error when note id not found1054 behaves like 412 response1055 for a modified ressource1056 returns 412 with a JSON error1057 for an unmodified ressource1058 returns 204 with an empty body1059 POST /groups/:id/epics/:noteable_id/notes1060 creates a confidential note if confidential is set to true1061 when issue was promoted to epic1062 when user is reporter1063 returns previous issue system notes1064 when user is guest1065 does not return previous issue system notes1066API::Wikis1067 GET /groups/:id/wikis1068 when group wiki is disabled1069 when user is guest1070 returns 404 Group Not Found1071 when user is developer1072 returns 403 Forbidden1073 when user is maintainer1074 returns 403 Forbidden1075 when wiki is available only for team members1076 when user is guest1077 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1078 when user is developer1079 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1080 when wiki has pages1081 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1082 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1083 when user is maintainer1084 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1085 when wiki has pages1086 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1087 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1088 when wiki is available for everyone with access1089 when user is guest1090 returns 404 Group Not Found1091 when user is developer1092 return the empty list of wiki pages1093 when wiki has pages1094 returns the list of wiki pages without content1095 returns the list of wiki pages with content1096 when user is maintainer1097 return the empty list of wiki pages1098 when wiki has pages1099 returns the list of wiki pages without content1100 returns the list of wiki pages with content1101 GET /groups/:id/wikis/:slug1102 when wiki is disabled1103 when user is guest1104 returns 404 Group Not Found1105 when user is developer1106 returns 403 Forbidden1107 when user is maintainer1108 returns 403 Forbidden1109 when wiki is available only for team members1110 when user is guest1111 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1112 when user is developer1113 behaves like returns wiki page1114 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1115 when render param is false1116 behaves like returns wiki page1117 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1118 when render param is true1119 behaves like returns wiki page1120 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1121 when wiki page has versions1122 when version param is not present1123 retrieves the last version (PENDING: Temporarily skipped with xcontext)1124 when version param is set1125 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1126 when version param is not valid or inexistent1127 behaves like wiki API 404 Wiki Page Not Found1128 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1129 when page does not exist1130 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1131 when user is maintainer1132 behaves like returns wiki page1133 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1134 when render param is false1135 behaves like returns wiki page1136 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1137 when render param is true1138 behaves like returns wiki page1139 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1140 when wiki page has versions1141 when version param is not present1142 retrieves the last version (PENDING: Temporarily skipped with xcontext)1143 when version param is set1144 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1145 when version param is not valid or inexistent1146 behaves like wiki API 404 Wiki Page Not Found1147 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1148 when page does not exist1149 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1150 when wiki is available for everyone with access1151 when user is guest1152 returns 404 Group Not Found1153 when user is developer1154 behaves like returns wiki page1155 is expected to eq "Page 5"1156 when render param is false1157 behaves like returns wiki page1158 is expected to eq "Page 6"1159 when render param is true1160 behaves like returns wiki page1161 is expected to eq "Page 7"1162 when wiki page has versions1163 when version param is not present1164 retrieves the last version1165 when version param is set1166 retrieves the specific page version1167 when version param is not valid or inexistent1168 behaves like wiki API 404 Wiki Page Not Found1169 returns 404 Wiki Page Not Found1170 when page does not exist1171 returns 404 Wiki Page Not Found1172 when user is maintainer1173 behaves like returns wiki page1174 is expected to eq "Page 11"1175 when render param is false1176 behaves like returns wiki page1177 is expected to eq "Page 12"1178 when render param is true1179 behaves like returns wiki page1180 is expected to eq "Page 13"1181 when wiki page has versions1182 when version param is not present1183 retrieves the last version1184 when version param is set1185 retrieves the specific page version1186 when version param is not valid or inexistent1187 behaves like wiki API 404 Wiki Page Not Found1188 returns 404 Wiki Page Not Found1189 when page does not exist1190 returns 404 Wiki Page Not Found1191 POST /groups/:id/wikis1192 when wiki is disabled1193 when user is guest1194 returns 404 Group Not Found1195 when user is developer1196 returns 403 Forbidden1197 when user is maintainer1198 returns 403 Forbidden1199 when wiki is available only for team members1200 when user is guest1201 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1202 when user is developer1203 creates the wiki page (PENDING: Temporarily skipped with xcontext)1204 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1205 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1206 when user is maintainer1207 creates the wiki page (PENDING: Temporarily skipped with xcontext)1208 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1209 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1210 when wiki is available for everyone with access1211 when user is guest1212 returns 404 Group Not Found1213 when user is developer1214 creates the wiki page1215 responds with validation error on empty title1216 responds with validation error on empty content1217 when user is maintainer1218 creates the wiki page1219 responds with validation error on empty title1220 responds with validation error on empty content1221 PUT /group/:id/wikis/:slug1222 when wiki is disabled1223 when user is guest1224 returns 404 Group Not Found1225 when user is developer1226 returns 403 Forbidden1227 when user is maintainer1228 returns 403 Forbidden1229 when wiki is available only for team members1230 when user is guest1231 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1232 when user is developer1233 updates the wiki page (PENDING: Temporarily skipped with xcontext)1234 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1235 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1236 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1237 when page does not exist1238 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1239 when user is maintainer1240 updates the wiki page (PENDING: Temporarily skipped with xcontext)1241 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1242 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1243 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1244 when page is not existing1245 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1246 when wiki is available for everyone with access1247 when user is guest1248 returns 404 Group Not Found1249 when user is developer1250 updates the wiki page1251 updates with wiki with missing title1252 updates with wiki with missing content1253 updates with wiki with missing format1254 when page does not exist1255 returns 404 Wiki Page Not Found1256 when user is maintainer1257 updates the wiki page1258 updates with wiki with missing title1259 updates with wiki with missing content1260 updates with wiki with missing format1261 when page does not exist1262 returns 404 Wiki Page Not Found1263 when user is owner of parent group1264 updates the wiki page1265 updates with wiki with missing title1266 updates with wiki with missing content1267 updates with wiki with missing format1268 DELETE /groups/:id/wikis/:slug1269 when wiki is disabled1270 when user is guest1271 returns 404 Group Not Found1272 when user is developer1273 returns 403 Forbidden1274 when user is maintainer1275 returns 403 Forbidden1276 when wiki is available only for team members1277 when user is guest1278 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1279 when user is developer1280 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)1281 when user is maintainer1282 returns 204 No Content (PENDING: Temporarily skipped with xcontext)1283 when wiki is available for everyone with access1284 when user is guest1285 returns 404 Group Not Found1286 when user is developer1287 returns 403 Forbidden1288 when user is maintainer1289 returns 204 No Content1290 when page does not exist1291 returns 404 Wiki Page Not Found1292 when user is owner of parent group1293 returns 204 No Content1294 POST /groups/:id/wikis/attachments1295 when wiki is disabled1296 when user is guest1297 returns 404 Group Not Found1298 when user is developer1299 returns 403 Forbidden1300 when user is maintainer1301 returns 403 Forbidden1302 when wiki is available only for team members1303 when user is guest1304 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1305 when user is developer1306 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1307 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1308 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1309 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1310 when user is maintainer1311 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1312 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1313 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1314 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1315 when wiki is available for everyone with access1316 when user is guest1317 returns 404 Group Not Found1318 when user is developer1319 pushes attachment to the wiki repository1320 responds with validation error on empty file1321 responds with validation error on invalid temp file1322 is backward compatible with regular multipart uploads1323 when user is maintainer1324 pushes attachment to the wiki repository1325 responds with validation error on empty file1326 responds with validation error on invalid temp file1327 is backward compatible with regular multipart uploads1328GroupsController1329 GET #show1330 behaves like namespace storage limit alert1331 does render1332 when alert_level is error1333 does not render a dismiss button1334 when cookie is set1335 does not render alert1336 behaves like seat count alert1337 when the namespace qualifies for the alert1338 sets the seat_count_data1339 when the feature flag is disabled1340 sets the seat_count_data to nil1341 when the namespace does not qualify for the alert1342 sets the seat_count_data to nil1343 GET #activity1344 when authorized1345 when group events are available1346 includes events from group and subgroups1347 when group events are not available1348 does not include events from group and subgroups1349 when unauthorized1350 includes only events visible to user1351 POST #restore1352 when authenticated user can admin the group1353 delayed deletion feature is available1354 success1355 restores the group1356 renders success notice upon restoring1357 failure1358 does not restore the group1359 redirects to group edit page1360 delayed deletion feature is not available1361 returns 4041362 when authenticated user cannot admin the group1363 returns 4041364 DELETE #destroy1365 when authenticated user can admin the group1366 delayed deletion feature is available1367 success1368 marks the group for delayed deletion1369 does not immediately delete the group1370 redirects to group path with notice about delayed deletion1371 failure1372 does not mark the group for deletion1373 redirects to group edit page1374 when group is already marked for deletion1375 when permanently_remove param is set1376 deletes the group immediately1377 when permanently_remove param is not set1378 does nothing1379 delayed deletion feature is not available1380 immediately schedules a group destroy1381 redirects to root page with alert about immediate deletion1382 when authenticated user cannot admin the group1383 returns 4041384 POST #create1385 authorization1386 allows an auditor with "can_create_group" set to true to create a group1387 behaves like GroupInviteMembers1388 when inviting members1389 without valid emails in the params1390 no invites generated by default1391 does not track the event1392 with valid emails in the params1393 adds users with developer access and ignores blank and invalid emails1394 tracks the event1395 when creating a group with `default_branch_protection` attribute1396 authenticated as an admin1397 feature_enabled: false, setting_enabled: false, default_branch_protection: 01398 behaves like creates the group with the expected `default_branch_protection` value1399 creates the group with the expected `default_branch_protection` value1400 feature_enabled: false, setting_enabled: true, default_branch_protection: 01401 behaves like creates the group with the expected `default_branch_protection` value1402 creates the group with the expected `default_branch_protection` value1403 feature_enabled: true, setting_enabled: false, default_branch_protection: 01404 behaves like creates the group with the expected `default_branch_protection` value1405 creates the group with the expected `default_branch_protection` value1406 feature_enabled: false, setting_enabled: false, default_branch_protection: 01407 behaves like creates the group with the expected `default_branch_protection` value1408 creates the group with the expected `default_branch_protection` value1409 authenticated a normal user1410 feature_enabled: false, setting_enabled: false, default_branch_protection: 01411 behaves like creates the group with the expected `default_branch_protection` value1412 creates the group with the expected `default_branch_protection` value1413 feature_enabled: false, setting_enabled: true, default_branch_protection: 01414 behaves like creates the group with the expected `default_branch_protection` value1415 creates the group with the expected `default_branch_protection` value1416 feature_enabled: true, setting_enabled: false, default_branch_protection: 21417 behaves like creates the group with the expected `default_branch_protection` value1418 creates the group with the expected `default_branch_protection` value1419 feature_enabled: false, setting_enabled: false, default_branch_protection: 01420 behaves like creates the group with the expected `default_branch_protection` value1421 creates the group with the expected `default_branch_protection` value1422 PUT #update1423 when max_pages_size param is specified1424 when user is an admin with admin mode enabled1425 updates max_pages_size1426 when user is an admin with admin mode disabled1427 does not update max_pages_size1428 when user is not an admin1429 does not update max_pages_size1430 when `max_personal_access_token_lifetime` is specified1431 without `personal_access_token_expiration_policy` licensed1432 does not update the attribute1433 doesn't call the update lifetime service1434 with personal_access_token_expiration_policy licensed1435 when `max_personal_access_token_lifetime` is updated to a non-null value1436 updates the attribute1437 executes the update lifetime service1438 when `max_personal_access_token_lifetime` is updated to null value1439 updates the attribute1440 doesn't call the update lifetime service1441 when `default_branch_protection` is specified1442 authenticated as admin1443 feature_enabled: false, setting_enabled: false, default_branch_protection: 01444 behaves like updates the attribute1445 updates the attribute1446 feature_enabled: false, setting_enabled: true, default_branch_protection: 01447 behaves like updates the attribute1448 updates the attribute1449 feature_enabled: true, setting_enabled: false, default_branch_protection: 01450 behaves like updates the attribute1451 updates the attribute1452 feature_enabled: false, setting_enabled: false, default_branch_protection: 01453 behaves like updates the attribute1454 updates the attribute1455 authenticated as group owner1456 feature_enabled: false, setting_enabled: false, default_branch_protection: 01457 behaves like updates the attribute1458 updates the attribute1459 feature_enabled: false, setting_enabled: true, default_branch_protection: 01460 behaves like updates the attribute1461 updates the attribute1462 feature_enabled: true, setting_enabled: false, default_branch_protection: 21463 behaves like updates the attribute1464 updates the attribute1465 feature_enabled: false, setting_enabled: false, default_branch_protection: 01466 behaves like updates the attribute1467 updates the attribute1468 when `delayed_project_removal` and `lock_delayed_project_removal` params are specified1469 when feature is available1470 allows storing of settings1471 when feature is not available1472 does not allow storing of settings1473 when `prevent_forking_outside_group` is specified1474 authenticated as group owner1475 feature_enabled: false, prevent_forking_outside_group: false, result: nil1476 behaves like updates the attribute if needed1477 updates the attribute1478 feature_enabled: false, prevent_forking_outside_group: true, result: nil1479 behaves like updates the attribute if needed1480 updates the attribute1481 feature_enabled: true, prevent_forking_outside_group: false, result: false1482 behaves like updates the attribute if needed1483 updates the attribute1484 feature_enabled: true, prevent_forking_outside_group: true, result: true1485 behaves like updates the attribute if needed1486 updates the attribute1487 when `new_user_signups_cap` is specified1488 authenticated as group owner1489 new_user_signups_cap: nil, result: nil, status: :found1490 behaves like updates the attribute1491 updates the attribute1492 new_user_signups_cap: 10, result: 10, status: :found1493 behaves like updates the attribute1494 updates the attribute1495 when group feature setting `wiki_access_level` is specified1496 updates the attribute1497 when group wiki licensed feature is not enabled for the group1498 does not update the attribute1499Projects::LicensesController1500 GET #index1501 when the "Security & Compliance" feature is disabled1502 is expected to respond with numeric status code not_found1503 with authorized user1504 when feature is available1505 with reporter1506 counts usage of the feature1507 when requesting HTML1508 returns the necessary licenses app data1509 with existing report1510 returns success code1511 returns a hash with licenses1512 returns status ok1513 includes the pagination headers1514 with pagination params1515 return only 1 license1516 when software policies are applied to some of the most recently detected licenses1517 when loading all policies1518 is expected to respond with numeric status code ok1519 is expected to equal 41520 sorts by name by default1521 includes a policy for an unclassified and known license that was detected in the scan report1522 includes a policy for a denied license found in the scan report1523 includes a policy for an allowed license NOT found in the latest scan report1524 includes an entry for an unclassified and unknown license found in the scan report1525 when loading software policies that match licenses detected in the most recent license scan report1526 is expected to respond with numeric status code ok1527 only includes policies for licenses detected in the most recent scan report1528 includes an unclassified policy for a known license detected in the scan report1529 includes a classified license for a known license detected in the scan report1530 includes an unclassified and unknown license discovered in the scan report1531 when loading `allowed` software policies only1532 is expected to respond with numeric status code ok1533 is expected to equal 11534 includes only `allowed` policies1535 when loading `allowed` and `denied` software policies1536 is expected to respond with numeric status code ok1537 is expected to equal 21538 includes `denied` policies1539 includes `allowed` policies1540 when loading policies ordered by `classification` in `ascending` order1541 is expected to respond with numeric status code ok1542 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1543 when loading policies ordered by `classification` in `descending` order1544 is expected to respond with numeric status code ok1545 is expected to eq ["denied", "unclassified", "unclassified", "allowed"]1546 without existing report1547 returns status job_not_set_up1548 with maintainer1549 responds to an HTML request1550 when feature is not available1551 returns 4041552 with unauthorized user1553 returns 4041554 POST #create1555 when the "Security & Compliance" feature is disabled1556 is expected to respond with numeric status code not_found1557 when authenticated1558 when the current user is not a member of the project1559 is expected to respond with numeric status code not_found1560 when the current user is a member of the project but not authorized to create policies1561 is expected to respond with numeric status code not_found1562 when authorized as a maintainer1563 when creating a policy for a software license by the software license database id1564 is expected to respond with numeric status code created1565 creates a new policy1566 returns the proper JSON response1567 when creating a policy for a software license by the software license SPDX identifier1568 is expected to respond with numeric status code created1569 creates a new policy1570 returns the proper JSON response1571 when the parameters are invalid1572 is expected to respond with numeric status code unprocessable_entity1573 is expected to eq {"errors"=>{"software_license"=>["can't be blank"]}}1574 PATCH #update1575 when the "Security & Compliance" feature is disabled1576 is expected to respond with numeric status code not_found1577 when authenticated1578 when the current user is not a member of the project1579 is expected to respond with numeric status code not_found1580 when the current user is a member of the project but not authorized to update policies1581 is expected to respond with numeric status code not_found1582 when authorized as a maintainer1583 when updating a software license policy1584 is expected to respond with numeric status code ok1585 is expected to be denied1586 generates the proper JSON response1587 when the parameters are invalid1588 is expected to respond with numeric status code unprocessable_entity1589 is expected to eq {"errors"=>{"classification"=>["is invalid"]}}1590 when unauthenticated1591 is expected to redirect to "/users/sign_in"1592Projects::VulnerabilityFeedbackController1593 GET #index1594 @vulnerability_feedback1595 returns a successful 200 response1596 returns project feedbacks list1597 when the pipeline has been set to another project1598 does not present the pipeline1599 with filter params1600 returns project feedbacks list filtered on category1601 returns project feedbacks list filtered on feedback_type1602 returns project feedbacks list filtered on category and feedback_type1603 with unauthorized user for given project1604 returns a 404 response1605 POST #create1606 with valid params1607 returns the created feedback1608 when id of a vulnerability is not provided1609 creates no vulnerability issue link for related vulnerability1610 when security dashboard feature enabled1611 when id of a vulnerability is provided1612 creates vulnerability issue link for related vulnerability1613 with invalid params1614 returns a forbidden 403 response when feedbback_type is nil1615 returns a forbidden 403 response when feedbback_type is invalid1616 with unauthorized user for feedback creation1617 for issue feedback1618 returns a forbidden 403 response1619 for merge_request feedback1620 returns a forbidden 403 response1621 for dismissal feedback1622 returns a forbidden 403 response1623 with unauthorized user for given project1624 returns a 404 response1625 with pipeline in another project1626 returns a 422 response1627 with nonexistent pipeline_id1628 returns a 422 response1629 with nil pipeline_id1630 returns a successful response1631 PATCH #update1632 with valid params1633 returns the updated feedback1634 returns a successful 200 response1635 updates the comment attributes1636 with invalid params1637 returns a not found 404 response for invalid vulnerability feedback id1638 with unauthorized user for feedback update1639 returns a forbidden 403 response1640 with unauthorized user for given project1641 returns a 404 response1642 DELETE #destroy1643 with valid params1644 returns a successful 204 response1645 with invalid params1646 returns a not found 404 response for invalid vulnerability feedback id1647 with unauthorized user for feedback deletion1648 returns a forbidden 403 response1649 with unauthorized user for given project1650 returns a 404 response1651 for issue feedback1652 returns a forbidden 403 response1653 for merge_request feedback1654 returns a forbidden 403 response1655Projects::SubscriptionsController1656 POST create1657 when user is authorized1658 when feature is available1659 when user is developer in upstream project1660 when project is public1661 when subscription count is below the limit1662 creates a new subscription1663 sets the flash1664 redirects to ci_cd settings1665 when subscription count is above the limit1666 does not create a new subscription1667 sets the flash1668 redirects to ci_cd settings1669 when project is not public1670 does not create a new subscription1671 sets the flash1672 redirects to ci_cd settings1673 when user is not developer in upstream project1674 does not create a new subscription1675 sets the flash1676 redirects to ci_cd settings1677 when feature is not available1678 does not create a new subscription1679 renders a not found response1680 when user is not authorized1681 does not create a new subscription1682 renders a not found response1683 DELETE destroy1684 when user is authorized1685 when feature is available1686 destroys the subscription1687 sets the flash1688 redirects to ci_cd settings1689 when feature is not available1690 does not destroy the subscription1691 renders a not found reseponse1692 when user is not authorized1693 does not destroy the subscription1694 renders a not found response1695GroupsController1696 PUT update1697 setting ip_restriction1698 top-level group1699 when ip_restriction does not exist1700 valid param1701 single IP subnet1702 behaves like creates ip restrictions1703 creates ip restrictions1704 multiple IP subnets1705 behaves like creates ip restrictions1706 creates ip restrictions1707 invalid param1708 adds error message1709 when ip_restriction already exists1710 ip restriction param set1711 valid param1712 single subnet1713 behaves like updates ip restrictions1714 updates ip restrictions1715 multiple subnets1716 a new subnet along with the existing one1717 behaves like updates ip restrictions1718 updates ip restrictions1719 completely new range of subnets1720 behaves like updates ip restrictions1721 updates ip restrictions1722 invalid param1723 not a valid subnet1724 behaves like does not update existing ip restrictions1725 does not change ip restriction records1726 adds error message1727 multiple IP subnets1728 any one of them being not a valid1729 behaves like does not update existing ip restrictions1730 does not change ip restriction records1731 adds error message1732 empty ip restriction param1733 deletes ip restriction1734 subgroup1735 does not create ip restriction1736 with empty ip restriction param1737 updates group setting1738 does not create ip restriction1739 feature is disabled1740 does not create ip restriction1741 setting email domain restrictions1742 top-level group1743 when email domain restriction does not exist1744 valid param1745 single domain1746 behaves like creates email domain restrictions1747 creates email domain restrictions1748 multiple domains1749 behaves like creates email domain restrictions1750 creates email domain restrictions1751 invalid param1752 adds error message1753 when email domain restrictions already exists1754 allowed email domain param set1755 valid param1756 single domain1757 behaves like updates allowed email domain restrictions1758 updates allowed email domain restrictions1759 multiple domains1760 a new domain along with the existing one1761 behaves like updates allowed email domain restrictions1762 updates allowed email domain restrictions1763 completely new set of domains1764 behaves like updates allowed email domain restrictions1765 updates allowed email domain restrictions1766 invalid param1767 not a valid domain1768 behaves like does not update existing email domain restrictions1769 does not change allowed_email_domains records1770 adds error message1771 multiple domains1772 any one of them being not a valid1773 behaves like does not update existing email domain restrictions1774 does not change allowed_email_domains records1775 adds error message1776 empty param1777 deletes all email domain restrictions1778 subgroup1779 does not create email domain restriction1780 feature is disabled1781 does not create email domain restrictions1782 PUT #transfer1783 does not transfer a group with a gitlab saas subscription1784 transfers a subgroup with a parent group with a gitlab saas subscription1785 DELETE #destroy1786 does not delete a group with a gitlab.com subscription1787 deletes a subgroup with a parent group with a gitlab.com subscription1788API::Deployments1789 GET /projects/:id/deployments/:id1790 matches the response schema1791 with multiple approval rules1792 has approval summary1793 POST /projects/:id/deployments1794 matches the response schema1795 when deploying to a protected environment that requires maintainer access1796 returns a 403 when the user is a developer1797 creates the deployment when the user is a maintainer1798 when deploying to a protected environment that requires developer access1799 returns a 403 when the user is a guest1800 creates the deployment when the user is a developer1801 PUT /projects/:id/deployments/:deployment_id1802 matches the response schema1803 when updating a deployment for a protected environment that requires maintainer access1804 returns a 403 when the user is a developer1805 updates the deployment when the user is a maintainer1806 when updating a deployment for a protected environment that requires developer access1807 returns a 403 when the user is a guest1808 updates the deployment when the user is a developer1809 POST /projects/:id/deployments/:deployment_id/approval1810 when user is authorized to read project1811 and Protected Environments feature is available1812 and user is authorized to update deployment1813 creates an approval1814 creates a rejection1815 creates an approval with a comment1816 with multiple approval rules1817 creates an approval1818 creates an approval when the user represents the group1819 does not create an approval when the user does not represent the group1820 and user is not authorized to update deployment1821 does not create an approval1822 with an invalid status1823 does not create an approval1824 with a deployment that does not belong to the project1825 does not create an approval1826 with a deployment that does not exist1827 does not create an approval1828 when Protected Environments feature is not available1829 does not create an approval1830 when user is not authorized to read project1831 does not create an approval1832API::EpicLinks1833 GET /groups/:id/epics/:epic_iid/epics1834 behaves like user does not have access1835 returns 403 when subepics feature is disabled1836 returns 404 not found error for a user without permissions to see the group1837 unauthenticated user1838 returns 401 unauthorized error1839 when subepics feature is enabled1840 returns 200 status1841 POST /groups/:id/epics/:epic_iid/epics/child_epic_id1842 behaves like user does not have access1843 returns 403 when subepics feature is disabled1844 returns 404 not found error for a user without permissions to see the group1845 unauthenticated user1846 returns 401 unauthorized error1847 when subepics feature is enabled1848 when user is guest1849 returns 4031850 when user is developer1851 returns 201 status1852 when target epic cannot be read1853 returns 404 status1854 POST /groups/:id/epics/:epic_iid/epics1855 behaves like user does not have access1856 returns 403 when subepics feature is disabled1857 returns 404 not found error for a user without permissions to see the group1858 unauthenticated user1859 returns 401 unauthorized error1860 when subepics feature is enabled1861 when user is guest1862 returns 4031863 when user is developer1864 returns 201 status1865 does apply the confidential parameter if set1866 when the parent epic is confidential1867 copies the confidentiality status from the parent epic1868 does not allow creating a non-confidential sub-epic1869 and epic has errors1870 returns 400 error1871 PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id1872 behaves like user does not have access1873 returns 403 when subepics feature is disabled1874 returns 404 not found error for a user without permissions to see the group1875 unauthenticated user1876 returns 401 unauthorized error1877 when subepics are enabled1878 when user has permissions to reorder epics1879 returns status 2001880 when user does not have permissions to reorder epics1881 returns status 4031882 DELETE /groups/:id/epics/:epic_iid/epics1883 behaves like user does not have access1884 returns 403 when subepics feature is disabled1885 returns 404 not found error for a user without permissions to see the group1886 unauthenticated user1887 returns 401 unauthorized error1888 when epics feature is enabled1889 when user is guest1890 returns 4031891 when user is developer1892 returns 200 status1893 when epics feature is disabled1894 when user is developer1895 returns 403 status1896API::MergeRequests1897 PUT /projects/:id/merge_requests1898 multiple assignees1899 when licensed1900 creates merge request with multiple assignees1901 when not licensed1902 creates merge request with a single assignee1903 when updating existing approval rules1904 is successful1905 POST /projects/:id/merge_requests1906 multiple assignees1907 when licensed1908 creates merge request with multiple assignees1909 when not licensed1910 creates merge request with a single assignee1911 between branches projects1912 returns merge_request1913 the approvals_before_merge param1914 when the target project has disable_overriding_approvers_per_merge_request set to true1915 does not set approvals_before_merge1916 when the target project has disable_overriding_approvers_per_merge_request set to false1917 sets approvals_before_merge1918 PUT /projects/:id/merge_requests/:merge_request_iid/merge1919 returns 405 if merge request was not approved1920 returns 200 if merge request was approved1921 DELETE /projects/:id/merge_requests/:merge_request_iid1922 when the merge request is on the merge train1923 removes train ref1924 when authenticated1925 filter merge requests by assignee ID1926 returns merge requests with given assignee ID1927 filter merge requests by approver IDs1928 with specified approver id1929 returns an array of merge requests which have specified the user as an approver1930 with specified None as a param1931 returns an array of merge requests with no approvers1932 with specified Any as a param1933 returns an array of merge requests with any approver1934 with any other string as a param1935 returns a validation error1936 filter merge requests by approval IDs1937 with specified approved_by id1938 returns an array of merge requests which have specified the user as an approver1939 with multiple specified approved_by ids1940 when approved by all users1941 returns an array of merge requests which have specified the user as an approver1942 when not approved by all users1943 does not return any merge request1944 with specified None as a param1945 returns an array of merge requests with no approvers1946 with specified Any as a param1947 returns an array of merge requests with any approver1948 with any other string as a param1949 returns a validation error1950Git LFS API and storage1951 with group wikis1952 behaves like LFS http requests1953 when LFS is disabled globally1954 download request1955 behaves like LFS http 501 response1956 behaves like LFS http expected response code and message1957 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."1958 upload request1959 behaves like LFS http 501 response1960 behaves like LFS http expected response code and message1961 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."1962 unauthenticated1963 download request1964 behaves like LFS http 401 response1965 behaves like LFS http expected response code and message1966 is expected to match "text/plain"1967 upload request1968 behaves like LFS http 401 response1969 behaves like LFS http expected response code and message1970 is expected to match "text/plain"1971 without access1972 download request1973 behaves like LFS http 404 response1974 behaves like LFS http expected response code and message1975 is expected to match "application/vnd.git-lfs+json"1976 upload request1977 behaves like LFS http 404 response1978 behaves like LFS http expected response code and message1979 is expected to match "application/vnd.git-lfs+json"1980 with guest access1981 download request1982 behaves like LFS http 404 response1983 behaves like LFS http expected response code and message1984 is expected to match "application/vnd.git-lfs+json"1985 upload request1986 behaves like LFS http 404 response1987 behaves like LFS http expected response code and message1988 is expected to match "application/vnd.git-lfs+json"1989 with download permission1990 download request1991 behaves like LFS http 200 blob response1992 behaves like LFS http 404 response1993 behaves like LFS http expected response code and message1994 is expected to match "application/vnd.git-lfs+json"1995 when container does not exist1996 behaves like LFS http 404 response1997 behaves like LFS http expected response code and message1998 is expected to match "application/vnd.git-lfs+json"1999 upload request2000 behaves like LFS http 403 response2001 behaves like LFS http 404 response2002 behaves like LFS http expected response code and message2003 is expected to match "application/vnd.git-lfs+json"2004 with upload permission2005 upload request2006 behaves like LFS http 200 response2007 behaves like LFS http 404 response2008 behaves like LFS http expected response code and message2009 is expected to match "application/vnd.git-lfs+json"2010 deprecated API2011 when fetching LFS object using deprecated API2012 behaves like deprecated request2013 behaves like LFS http expected response code and message2014 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."2015 when handling LFS request using deprecated API2016 behaves like deprecated request2017 behaves like LFS http expected response code and message2018 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."2019 when handling lfs batch request2020 upload2021 when request is authenticated2022 when user has project push access2023 when pushing a lfs object that does not exist2024 behaves like pushes new LFS objects2025 and project is above the repository size limit2026 responds with status 4062027 and project will go over the repository size limit2028 responds with status 4062029 when the namespace storage limit is exceeded2030 responds with status 4062031 when the push size would exceed the namespace storage limit2032 responds with status 4062033 when pushing to a subgroup project2034 when the namespace storage limit is exceeded2035 responds with status 4062036 when Geo is not enabled2037 when custom_http_clone_url_root is not configured2038 returns hrefs based on external_url2039 when custom_http_clone_url_root is configured2040 returns hrefs based on custom_http_clone_url_root2041 when this site is a Geo primary site2042 when custom_http_clone_url_root is not configured2043 returns hrefs based on the Geo primary site URL2044 when custom_http_clone_url_root is configured2045 returns hrefs based on the Geo primary site URL2046 when deploy key has project push access2047 behaves like pushes new LFS objects2048 and project is above the repository size limit2049 responds with status 4062050 and project will go over the repository size limit2051 responds with status 4062052 when the namespace storage limit is exceeded2053 responds with status 4062054 when the push size would exceed the namespace storage limit2055 responds with status 4062056 when pushing a lfs object2057 to one project2058 when user is authenticated2059 when user has push access to the project2060 when project has repository size limit enabled2061 responds with status 200 when the push will stay under the limit2062 when namespace storage limits are enabled2063 responds with status 200 when the push is under the limit2064API::GroupHooks2065 behaves like web-hook API endpoints2066 GET /groups/:id/hooks2067 authorized user2068 returns all hooks2069 when user is forbidden2070 prevents access to hooks2071 when user is unauthorized2072 prevents access to hooks2073 the hook has URL variables2074 returns the names of the url variables2075 GET /groups/:id/hooks/:hook_id2076 authorized user2077 returns a project hook2078 returns a 404 error if hook id is not available2079 the hook is disabled2080 has the correct alert status2081 the hook is backed-off2082 has the correct alert status2083 when user is forbidden2084 does not access an existing hook2085 when user is unauthorized2086 does not access an existing hook2087 POST /groups/:id/hooks2088WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.2089WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.2090WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.2091WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.2092WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.2093WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.2094WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.2095WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.2096WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.2097WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.2098WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.2099WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.2100WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.2101 adds hook2102 adds the token without including it in the response2103 returns a 400 error if url not given2104 returns a 400 error if no parameters are provided2105WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.2106WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.2107WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.2108WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.2109WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.2110WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.2111WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.2112WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.2113WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.2114WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.2115WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.2116WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.2117WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.2118 sets default values for events2119 returns a 422 error if token not valid2120 returns a 422 error if url not valid2121 PUT /groups/:id/hooks/:hook_id2122 updates an existing hook2123 updates the URL variables2124 adds the token without including it in the response2125 returns 404 error if hook id not found2126 returns 400 error if no parameters are provided2127 returns a 422 error if url is not valid2128 returns a 422 error if token is not valid2129 DELETE /projects/:id/hooks/:hook_id2130 deletes hook from project2131 returns a 404 error when deleting non existent hook2132 returns a 404 error if hook id not given2133 returns forbidden if a user attempts to delete hooks they do not own2134 behaves like 412 response2135 for a modified ressource2136 returns 412 with a JSON error2137 for an unmodified ressource2138 returns 204 with an empty body2139 PUT /groups/:id/hooks/:hook_id/url_variables/:key2140 sets the variable2141 overwrites existing values2142 returns a 404 error when editing non existent hook2143 returns a 422 error when the key is illegal2144 returns a 422 error when the value is illegal2145 DELETE /groups/:id/hooks/:hook_id/url_variables/:key2146 unsets the variable2147 returns 404 for keys that do not exist2148 returns a 404 error when deleting a variable from a non existent hook2149 behaves like web-hook API endpoints with branch-filter2150 POST /projects/:id/hooks2151 returns a 422 error if branch filter is not valid2152Groups::Epics::EpicLinksController2153 GET #index2154 behaves like unlicensed subepics action2155 returns 403 status2156 when epics are enabled2157 when user has access to epic2158 returns the correct JSON response2159 when user does not have access to epic2160 returns 404 status2161 POST #create2162 behaves like unlicensed subepics action2163 returns 403 status2164 when subepics are enabled2165 when user has permissions to create requested association2166 returns correct response for the correct issue reference2167 updates a parent for the referenced epic2168 when user does not have permissions to create requested association2169 returns 403 status2170 does not update parent attribute2171 PUT #update2172 behaves like unlicensed subepics action2173 returns 403 status2174 when subepics are enabled2175 when user has permissions to reorder epics2176 returns status 2002177 updates the epic position2178 when move_before_id is not a sibling epic2179 returns status 4042180 when user does not have permissions to reorder epics2181 returns status 4032182 DELETE #destroy2183 behaves like unlicensed subepics action2184 returns 403 status2185 when epics are enabled2186 when user has permissions to update the parent epic2187 returns status 2002188 destroys the link2189 when user does not have permissions to update the parent epic2190 returns status 4042191 does not destroy the link2192 when the epic does not have any parent2193 returns status 4042194 when user has permissions to update the parent epic but epics feature is disabled2195 does not destroy the link2196Git HTTP requests2197 User with no identities2198 when Kerberos token is provided2199 when authentication fails because of invalid Kerberos token2200 responds with status 401 Unauthorized2201 when authentication fails because of unknown Kerberos identity2202 responds with status 401 Unauthorized2203 when authentication succeeds2204 when the user has access to the project2205 complies with RFC45592206 when the user is blocked2207 responds with status 403 Forbidden2208 when the user isn't blocked2209 responds with status 200 OK2210 updates the user last activity2211 when the user doesn't have access to the project2212 responds with status 404 Not Found2213 complies with RFC45592214 when license is not provided2215 behaves like pulls are allowed2216 is expected to eq "application/vnd.gitlab-workhorse+json"2217 behaves like pushes are allowed2218 is expected to eq "application/vnd.gitlab-workhorse+json"2219 when SSO is enforced2220 behaves like pulls are allowed2221 is expected to eq "application/vnd.gitlab-workhorse+json"2222 when user cannot use password-based login2223 with feature flag switched off2224 behaves like pulls are allowed2225 is expected to eq "application/vnd.gitlab-workhorse+json"2226 behaves like pushes are allowed2227 is expected to eq "application/vnd.gitlab-workhorse+json"2228 with feature flag switched on2229 responds with status 401 Unauthorized for pull action2230 responds with status 401 Unauthorized for push action2231 when username and personal access token are provided2232 behaves like pulls are allowed2233 is expected to eq "application/vnd.gitlab-workhorse+json"2234 behaves like pushes are allowed2235 is expected to eq "application/vnd.gitlab-workhorse+json"2236 when user has 2FA enabled2237 when username and personal access token are provided2238 rejects the push attempt for read_repository scope2239 accepts the push attempt for write_repository scope2240 accepts the pull attempt for read_repository scope2241 accepts the pull attempt for api scope2242 accepts the push attempt for api scope2243 behaves like pulls are allowed2244 is expected to eq "application/vnd.gitlab-workhorse+json"2245 behaves like pushes are allowed2246 is expected to eq "application/vnd.gitlab-workhorse+json"2247 when namespace storage limits are enforced2248 behaves like pushes are allowed2249 is expected to eq "application/vnd.gitlab-workhorse+json"2250 when the limit has been exceeded2251 behaves like pushes are allowed2252 is expected to eq "application/vnd.gitlab-workhorse+json"2253API::Internal::Base2254 POST /internal/post_receive2255 when the push was redirected from a Geo secondary to the primary2256 includes a message advising a redirection occurred2257 POST /internal/allowed2258 project alias2259 without premium license2260 project matches a project alias2261 does not allow access because project can't be found2262 with premium license2263 project matches a project alias2264 allows access2265 project doesn't match a project alias2266 does not allow access because project can't be found2267 smartcard session required2268 user with a smartcard session2269 allows access2270 user without a smartcard session2271 does not allow access2272 with the setting off2273 allows access2274 ip restriction2275 with or without check_ip parameter2276 check_ip_present: false, ip: nil, status: 2002277 modifies access2278 check_ip_present: true, ip: "150.168.0.1", status: 2002279 modifies access2280 check_ip_present: true, ip: "150.168.0.2", status: 4042281 modifies access2282 maintenance mode enabled2283 when action is git push2284 returns forbidden2285 when action is not git push2286 returns success2287 git audit streaming event2288 behaves like sends git audit streaming event2289 for public groups and projects2290 when user not logged in2291 sends the audit streaming event2292 for private groups and projects2293 when user logged in2294 sends the audit streaming event2295 with a namespace storage size limit2296 with a project2297 requests without changes2298 returns ok when the size limit has been exceeded2299 returns ok when the size is under the limit2300 requests with changes2301 rejects git push when the size limit has been exceeded2302 rejects git push when the push size would exceed the limit2303 accepts git push when the size is under the limit2304 with a snippet2305 rejects git push when the size limit has been exceeded2306 with a wiki2307 rejects git push when the size limit has been exceeded2308 POST /internal/lfs_authenticate2309 for a secondary node2310 returns the repository_http_path at the primary node2311 POST /internal/personal_access_token2312 with a max token lifetime on the instance2313 returns an error message when the expiry date exceeds the max token lifetime2314 returns a valid token when the expiry date does not exceed the max token lifetime2315 POST /internal/two_factor_otp_check2316 behaves like actor key validations2317 key does not exist2318 returns an error message2319 key without user2320 returns an error message2321 when the key is a deploy key2322 returns an error message2323 when the two factor is enabled2324 when the OTP is valid2325 registers a new OTP session and returns success2326 when the OTP is invalid2327 is not success2328 when the two factor is disabled2329 returns an error message2330 feature flag is disabled2331 when two-factor is enabled for the user2332 returns user two factor config2333 licensed feature is not available2334 when two-factor is enabled for the user2335 returns user two factor config2336 POST /internal/two_factor_manual_otp_check2337 behaves like actor key validations2338 key does not exist2339 returns an error message2340 key without user2341 returns an error message2342 when the key is a deploy key2343 returns an error message2344 when the two factor is enabled2345 when the OTP is valid2346 registers a new OTP session and returns success2347 when the OTP is invalid2348 is not success2349 when the two factor is disabled2350 returns an error message2351 feature flag is disabled2352 when two-factor is enabled for the user2353 returns user two factor config2354 licensed feature is not available2355 when two-factor is enabled for the user2356 returns user two factor config2357 POST /internal/two_factor_push_otp_check2358 behaves like actor key validations2359 key does not exist2360 returns an error message2361 key without user2362 returns an error message2363 when the key is a deploy key2364 returns an error message2365 when the two factor is enabled2366 when the OTP is valid2367 registers a new OTP session and returns success2368 when the OTP is invalid2369 is not success2370 when the two factor is disabled2371 returns an error message2372 feature flag is disabled2373 when two-factor is enabled for the user2374 returns user two factor config2375 licensed feature is not available2376 when two-factor is enabled for the user2377 returns user two factor config2378API::ProjectApprovalRules2379 GET /projects/:id/approval_rules/:approval_rule_id2380 when the request is correct2381 matches the response schema2382 when the user is not authorized2383 does not display rule information2384 GET /projects/:id/approval_rules2385 when the request is correct2386 matches the response schema2387 private group filtering2388 excludes private groups if user has no access2389 includes private groups if user has access2390 report_approver rules2391 includes report_approver rules2392 when project is archived2393 when user has normal permissions2394 returns 4032395 when user has project admin permissions2396 allows access2397 POST /projects/:id/approval_rules2398 behaves like an API endpoint for creating project approval rule2399 when missing parameters2400 returns 400 status2401 when user is without access2402 returns 4032403 when the request is correct2404 returns 201 status2405 changes settings properly2406 when protected_branch_ids param is present2407 creates approval rule associated to specified protected branches2408 with rule_type set to report_approver2409 without report_type2410 returns a error http status2411 when creating a approval rule for each report_type2412 rule_name: "License-Check", report_type: :license_scanning2413 specifies `report_rule` and `report_type`2414 rule_name: "Coverage-Check", report_type: :code_coverage2415 specifies `report_rule` and `report_type`2416 with valid scanners2417 returns 201 status2418 with valid severity_levels2419 returns 201 status2420 with vulnerabilities_allowed2421 returns 201 status2422 PUT /projects/:id/approval_rules/:approval_rule_id2423 behaves like an API endpoint for updating project approval rule2424 as a project admin2425 behaves like a user with access2426 sets approvers2427 when protected_branch_ids param is present2428 associates approval rule to specified protected branches2429 with valid scanners2430 returns 200 status2431 with valid severity_levels2432 returns 200 status2433 when approver already exists2434 when sending json data2435 removes all approvers if empty params are given2436 with vulnerabilities_allowed2437 returns 200 status2438 as a global admin2439 behaves like a user with access2440 sets approvers2441 when protected_branch_ids param is present2442 associates approval rule to specified protected branches2443 with valid scanners2444 returns 200 status2445 with valid severity_levels2446 returns 200 status2447 when approver already exists2448 when sending json data2449 removes all approvers if empty params are given2450 with vulnerabilities_allowed2451 returns 200 status2452 as a random user2453 returns 4032454 DELETE /projects/:id/approval_rules/:approval_rule_id2455 behaves like an API endpoint for deleting project approval rule2456 destroys2457 when approval rule not found2458 returns not found2459 when user is not eligible to delete2460 returns forbidden2461Groups::ContributionAnalyticsController2462 #authorize_read_contribution_analytics!2463 when feature is available to the group2464 when user is an auditor2465 allows access2466 when user has access to the group2467 when user has access to the feature2468 renders 2002469 when user does not have access to the feature2470 renders 4042471 #check_contribution_analytics_available!2472 when feature is not available to the group2473 renders 4042474 with contributions2475 sets instance variables properly2476 returns member contributions JSON when format is JSON2477 includes projects in subgroups2478 excludes projects outside of the group2479 does not cause N+1 queries when the format is JSON2480 with views2481 avoids a N+1 query in #show2482 GET #show2483 behaves like disabled when using an external authorization service2484 works when the feature is not enabled2485 renders a 404 with a message when the feature is enabled2486 behaves like tracking unique visits2487 tracks unique visit if the format is HTML2488 tracks unique visit if DNT is not enabled2489 does not track unique visit if DNT is enabled2490 does not track unique visit if the format is JSON2491API::RelatedEpicLinks2492 GET /related_epics2493 when user cannot read epics2494 returns 4042495 when user can read epics2496 returns related epics2497 returns multiple links without N + 12498 behaves like a not available endpoint2499 when epics feature is not available2500 is expected to eq 4032501 when related_epics feature is not available2502 is expected to eq 4032503 POST /related_epics2504 when unauthenticated2505 returns 4012506 when user can not access source epic2507 behaves like not found resource2508 returns 4042509 when user can only read source epic2510 behaves like forbidden resource2511 returns 4032512 when user can manage source epic2513 behaves like not found resource2514 returns 4042515 when user is guest in target group2516 behaves like forbidden resource2517 returns 4032518 when target epic is confidential2519 behaves like forbidden resource2520 returns 4032521 when user can relate epics2522 returns 201 status and contains the expected link response2523 returns 201 when sending full path of target group2524 behaves like a not available endpoint2525 when epics feature is not available2526 is expected to eq 4032527 when related_epics feature is not available2528 is expected to eq 4032529 when target epic is not found2530 behaves like not found resource2531 returns 4042532 DELETE /related_epics2533 when unauthenticated2534 returns 4012535 when user can not access source epic2536 behaves like not found resource2537 returns 4042538 when user can only read source epic2539 behaves like forbidden resource2540 returns 4032541 when user can manage source epic2542 behaves like not found resource2543 returns 4042544 when user is guest in target group2545 behaves like not found resource2546 returns 4042547 when related_epic_link_id belongs to a different epic2548 behaves like not found resource2549 returns 4042550 when user can relate epics2551 returns 200 status and contains the expected link response2552 behaves like a not available endpoint2553 when epics feature is not available2554 is expected to eq 4032555 when related_epics feature is not available2556 is expected to eq 4032557Groups::Epics::NotesController2558 GET index2559 responds with array of notes2560 with cross-reference system note that is not visible to the current user2561 does not return any note2562 POST create2563 returns status 302 for html2564 returns status 200 for json2565 when epic was promoted from issue2566 creates reply note for discussion2567 behaves like create notes request exceeding rate limit2568 allows user in allow-list to create notes, even if the case is different2569 when rate limiter enabled2570 logs request and declines it when endpoint called more than the threshold2571 when rate limiter is disabled2572 does not log request and does not block the request2573 PUT update2574 updates the note2575 DELETE destroy2576 user is the author of a note2577 returns status 2002578 deletes the note2579 user is not the author of the note2580 returns status 4042581 POST toggle_award_emoji2582 toggles the award emoji2583 removes the already awarded emoji2584Projects::Security::ConfigurationController2585 GET #show2586 user_role: :guest, security_dashboard_enabled: false, status: :forbidden, selector: nil2587 responds with the correct status2588 when the "Security & Compliance" feature is disabled2589 is expected to respond with numeric status code not_found2590 user_role: :guest, security_dashboard_enabled: true, status: :forbidden, selector: nil2591 responds with the correct status2592 when the "Security & Compliance" feature is disabled2593 is expected to respond with numeric status code not_found2594 user_role: :developer, security_dashboard_enabled: false, status: :ok, selector: "#js-security-configuration"2595 responds with the correct status2596 when the "Security & Compliance" feature is disabled2597 is expected to respond with numeric status code not_found2598 user_role: :developer, security_dashboard_enabled: true, status: :ok, selector: "#js-security-configuration"2599 responds with the correct status2600 when the "Security & Compliance" feature is disabled2601 is expected to respond with numeric status code not_found2602 with developer and security dashboard feature enabled2603 responds in json format when requested2604 renders data on the project's security configuration2605 when the latest pipeline used Auto DevOps2606 reports that Auto DevOps is enabled2607 POST #auto_fix2608 with feature enabled2609 with sufficient permissions2610 with setup feature param2611 processes request and updates setting2612 without setup feature param2613 processes request and updates setting2614 without processable feature2615 does not pass validation2616 without sufficient permissions2617 is expected to respond with numeric status code not_found2618 with feature disabled2619 is expected to respond with numeric status code not_found2620Projects::Security::Vulnerabilities::NotesController2621 GET index2622 responds with array of notes2623 when the "Security & Compliance" feature is disabled2624 is expected to respond with numeric status code not_found2625 behaves like SecurityDashboardsPermissions2626 access for all actions2627 when security dashboard feature is disabled2628 returns 4042629 when security dashboard feature is enabled2630 when user has guest access2631 denies access2632 when user has developer access2633 grants access2634 POST create2635 when the "Security & Compliance" feature is disabled2636 is expected to respond with numeric status code not_found2637 when note is empty2638 does not create new note2639 returns status 4222640 when note is provided2641 creates new note2642 returns status 2002643 when user has no permission to create a note2644 does not create new note2645 returns status 4032646 when replying to the discussion2647 creates new note in reply to discussion2648 returns status 2002649 when return_discussion param is set2650 returns discussion JSON when the return_discussion param is set2651 behaves like create notes request exceeding rate limit2652 allows user in allow-list to create notes, even if the case is different2653 when rate limiter enabled2654 logs request and declines it when endpoint called more than the threshold2655 when rate limiter is disabled2656 does not log request and does not block the request2657 PUT update2658 when the "Security & Compliance" feature is disabled2659 is expected to respond with numeric status code not_found2660 when user is not an author of the note2661 returns status 4042662 when user is an author of the note2663 when note is provided2664 updates note2665 returns status 2002666 DELETE destroy2667 when the "Security & Compliance" feature is disabled2668 is expected to respond with numeric status code not_found2669 when user is not an author of the note2670 does not delete the note2671 returns status 4042672 when user is an author of the note2673 deletes the note2674 returns status 2002675 POST toggle_award_emoji2676 creates the award emoji2677 when the "Security & Compliance" feature is disabled2678 is expected to respond with numeric status code not_found2679 when award emoji was already created2680 deletes the award emoji2681Projects::EnvironmentsController2682 GET #show2683 avoids N+1 queries2684API::AwardEmoji2685 GET /groups/:id/awardable/:awardable_id/award_emoji2686 on an epic2687 returns an array of award_emoji2688 returns a 404 error when epic id not found2689 GET /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji2690 returns an array of award emoji2691 GET /groups/:id/awardable/:awardable_id/award_emoji/:award_id2692 on an epic2693 returns the award emoji2694 returns a 404 error if the award is not found2695 GET /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id2696 returns an award emoji2697 POST /groups/:id/awardable/:awardable_id/award_emoji2698 on an epic2699 creates a new award emoji2700 returns a 400 bad request error if the name is not given2701 returns a 404 if the user is not authenticated2702 normalizes +1 as thumbsup award2703 when the emoji already has been awarded2704 returns a 404 status code2705 POST /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji2706 creates a new award emoji2707 marks Todos on the Noteable as done2708 normalizes +1 as thumbsup award2709 when the emoji already has been awarded2710 returns a 404 status code2711 DELETE /groups/:id/awardable/:awardable_id/award_emoji/:award_id2712 when the awardable is an Epic2713 deletes the award2714 returns a 404 error when the award emoji can not be found2715 behaves like 412 response2716 for a modified ressource2717 returns 412 with a JSON error2718 for an unmodified ressource2719 returns 204 with an empty body2720 DELETE /groups/:id/awardable/:awardable_id/award_emoji/:award_emoji_id2721 deletes the award2722 behaves like 412 response2723 for a modified ressource2724 returns 412 with a JSON error2725 for an unmodified ressource2726 returns 204 with an empty body2727Projects::MirrorsController2728 setting up a remote mirror2729 when the current project is a mirror2730 allows to create a remote mirror2731 when the current project has a remote mirror2732 mirror_user is unset2733 sets up a pull mirror with the mirror user set to the signed-in user2734 mirror_user is not the current user2735 sets up a pull mirror with the mirror user set to the signed-in user2736 setting up a mirror2737 when mirrors are disabled2738 when user is admin2739 creates a new mirror2740 when user is not an admin2741 does not create a new mirror2742 when mirrors are enabled2743 when project does not have a mirror2744 allows to create a mirror2745 when project has a mirror2746 is able to disable the mirror2747 forcing an update on a pull mirror2748 forces update2749 #update2750 JSON2751 processes a successful update2752 processes an unsuccessful update2753 preserves the import_data object when the ID isn't in the request2754 sets ssh_known_hosts_verified_at and verified_by when the update sets known hosts2755 unsets ssh_known_hosts_verified_at and verified_by when the update unsets known hosts2756 only allows the current user to be the mirror user2757 with a valid URL for a pull2758 processes a successful update2759 with a invalid URL for a pull2760 processes an unsuccessful update2761 with an invalid port for a pull2762 processes an unsuccessful update2763Groups::BoardsController2764 GET index2765 creates a new board when group does not have one2766 when format is JSON2767 returns a list of group boards2768 with unauthorized user2769 returns a not found 404 response2770 behaves like redirects to last visited board2771 when multiple boards are disabled2772 renders first board2773 when multiple boards are enabled2774 redirects to latest visited board2775 behaves like pushes wip limits to frontend2776 self-hosted with correct license2777 is enabled for all groups if the license is correct2778 on .com2779 for group with correct plan2780 is enabled2781 for group with incorrect or no plan2782 is not enabled2783 GET recent2784 behaves like returns recently visited boards2785 returns last 4 visited boards2786 unauthenticated2787 returns a 4012788 GET show2789 for multiple issue boards2790 behaves like multiple issue boards show2791 when multiple issue boards is enabled2792 lets user view board12793 lets user view board22794 when multiple issue boards is disabled2795 let user view the default shown board2796 renders 200 when project board is not the default2797API::Geo2798 GET /geo/retrieve/:replicable_name/:replicable_id2799 valid requests2800 returns the file2801 allowed IPs2802 responds with 401 when IP is not allowed2803 responds with 200 when IP is allowed2804 invalid requests2805 responds with 401 with invalid auth header2806 responds with 401 with mismatched params in auth headers2807 responds with 404 when resource is not found2808 POST /geo/status2809 responds with 401 with invalid auth header2810 responds with 401 when the db_key_base is wrong2811 allowed IPs2812 responds with 401 when IP is not allowed2813 responds with 201 when IP is allowed2814 when requesting primary node with valid auth header2815 updates the status and responds with 2012816 ignores invalid attributes upon update2817 behaves like with terms enforced2818 responds with 2xx HTTP response code2819 /geo/proxy_git_ssh2820 POST /geo/proxy_git_ssh/info_refs_upload_pack2821 with all required params missing2822 responds with 4002823 with all required params2824 with an invalid secret_token2825 responds with 4012826 where an exception occurs2827 responds with 5002828 with a valid secret token2829 responds with 2002830 POST /geo/proxy_git_ssh/upload_pack2831 with all required params missing2832 responds with 4002833 with all required params2834 with an invalid secret_token2835 responds with 4012836 where an exception occurs2837 responds with 5002838 with a valid secret token2839 responds with 2012840 POST /geo/proxy_git_ssh/info_refs_receive_pack2841 with all required params missing2842 responds with 4002843 with all required params2844 with an invalid secret_token2845 responds with 4012846 where an exception occurs2847 responds with 5002848 with a valid secret token2849 responds with 2002850 POST /geo/proxy_git_ssh/receive_pack2851 with all required params missing2852 responds with 4002853 with all required params2854 with an invalid secret_token2855 responds with 4012856 where an exception occurs2857 responds with 5002858 with a valid secret token2859 responds with 2012860 GET /geo/proxy2861 rejects requests that bypassed gitlab-workhorse2862 with valid auth2863 when Geo is not being used2864 returns empty data2865 when this is a primary site2866 returns empty data2867 when this is a secondary site with unified URL2868 when a primary exists2869 returns the primary internal URL and extra proxy data2870 when a primary does not exist2871 returns empty data2872 when this is a secondary site with separate URLs2873 when a primary does not exist2874 returns empty data2875 when geo_secondary_proxy_separate_urls feature flag is disabled2876 returns empty data2877 when geo_secondary_proxy_separate_urls feature flag is enabled2878 returns the primary internal URL and extra proxy data2879 POST /geo/node_proxy/:id/graphql2880 denies access if not admin2881 requests the graphql endpoint with the post body and returns the output2882 returns empty output if remote fails2883 behaves like 404 response2884 returns 4042885Admin::ClustersController2886 behaves like cluster metrics2887 GET #metrics2888 functionality2889 can query Prometheus2890 queries cluster metrics2891 when response has content2892 returns prometheus query response2893 when response has no content2894 returns prometheus query response2895 without Prometheus2896 returns not found2897 cannot query Prometheus2898 returns not found2899 GET environments2900 functionality2901 responds successfully2902 security2903 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002904 is expected to be denied for user. Expected: 401,404 Got: 4042905 is expected to be denied for external. Expected: 401,404 Got: 4042906 GET show2907 expires etag cache to force reload environments list2908Projects::ApproversController2909 #destroy2910 on a merge request2911 when the user cannot update approvers because they do not have access2912 returns a 4042913 does not destroy any approvers2914 when the user cannot update approvers because of the project setting2915 returns a 4042916 does not destroy any approvers2917 when the user can update approvers2918 destroys the provided approver2919 on a project2920 when the user cannot update approvers because they do not have access2921 returns a 4042922 does not destroy any approvers2923 when the user can update approvers2924 destroys the provided approver2925Registrations::GroupsController2926 GET #new2927 behaves like Registrations::GroupsController GET #new2928 with an unauthenticated user2929 is expected to respond with numeric status code redirect2930 is expected to redirect to "/users/sign_in"2931 with an authenticated user2932 when on .com2933 is expected to respond with numeric status code ok2934 is expected to render template new2935 assigns the group variable to a new Group with the default group visibility2936 tracks an event for the combined_registration experiment2937 user without the ability to create a group2938 is expected to respond with numeric status code not_found2939 when not on .com2940 is expected to respond with numeric status code not_found2941 behaves like hides email confirmation warning2942 with an unconfirmed email address present2943 is expected not to set confirm warning for "unconfirmed@gitlab.com"2944 without an unconfirmed email address present2945 is expected not to set confirm warning for "user1867@example.org"2946 POST #create2947 with an unauthenticated user2948 is expected to respond with numeric status code redirect2949 is expected to redirect to "/users/sign_in"2950 with an authenticated user2951 when on .com2952 behaves like hides email confirmation warning2953 with an unconfirmed email address present2954 is expected not to set confirm warning for "unconfirmed@gitlab.com"2955 without an unconfirmed email address present2956 is expected not to set confirm warning for "user1870@example.org"2957 when group can be created2958 creates a group2959 passes group_params to Groups::CreateService2960 when the user is `setup_for_company: true`2961 passes `setup_for_company: true` to the Groups::CreateService2962 when in trial onboarding - apply_trial_for_trial_onboarding_flow2963 when trial can be applied2964 with redirection to projects page2965 is expected to redirect to "/users/sign_up/projects/new?namespace_id=3175&trial=false&trial_onboarding_flow=true"2966 when failing to apply trial2967 is expected to render template new2968 when not in the trial onboarding - registration_onboarding_flow2969 when trial_during_signup - trial_during_signup_flow2970 when a user chooses a trial - create_lead_and_apply_trial_flow2971 when successfully creating a lead and applying trial2972 tracks for the combined_registration experiment2973 with redirection to projects page2974 is expected to redirect to "/users/sign_up/projects/new?namespace_id=3176&trial=true"2975 when failing to create a lead and apply trial2976 is expected to render template new2977 when user chooses no trial2978 redirects user to projects page2979 does not call trial creation methods2980 when the group cannot be created2981 does not create a group2982 does not call call the successful flow2983 is expected to respond with numeric status code ok2984 is expected to render template new2985 when not on .com2986 is expected to respond with numeric status code not_found2987Projects::IssuesController2988 GET #show2989 exposes the escalation_policies licensed feature setting2990 with blocking issues2991 does not cause extra queries when multiple blocking issues are present2992 with test case2993 redirects to test cases show2994 behaves like seat count alert2995 when the namespace qualifies for the alert2996 sets the seat_count_data2997 when the feature flag is disabled2998 sets the seat_count_data to nil2999 when the namespace does not qualify for the alert3000 sets the seat_count_data to nil3001 GET #index3002 when viewing all issues3003 when the namespace qualifies for the alert3004 sets the seat_count_data3005 when the feature flag is disabled3006 sets the seat_count_data to nil3007 when the namespace does not qualify for the alert3008 sets the seat_count_data to nil3009 when listing epic issues3010 does not cause extra queries when there are other subepic issues3011Groups::IssuesController3012 POST #bulk_update3013 when group bulk edit feature is not enabled3014 returns 404 status3015 when group bulk edit feature is enabled3016 when user has permissions to bulk update issues3017 returns status 2003018 updates issues milestone and epic3019 when params are incorrect3020 returns 422 status3021 when user does not have permissions to bulk update issues3022 returns status 4043023 does not update issues milestone or epic3024Projects::ApproverGroupsController3025 #destroy3026 on a merge request3027 when the user cannot update approvers because they do not have access3028 returns a 4043029 does not destroy any approver groups3030 when the user cannot update approvers because of the project setting3031 returns a 4043032 does not destroy any approver groups3033 when the user can update approvers3034 destroys the provided approver group3035 on a project3036 when the user cannot update approvers because they do not have access3037 returns a 4043038 does not destroy any approver groups3039 when the user can update approvers3040 destroys the provided approver3041Query.vulnerabilities.location3042 when the vulnerability was found by a container scan3043 returns a container location3044 when the vulnerability was found by a generic scanner3045 returns a generic location3046 when the vulnerability was found by a cluster image scan3047 returns a cluster image scanning location3048 when the vulnerability was found by a dependency scan3049 returns a location in a dependency3050 when the vulnerability was found by a SAST scan3051 returns the file and line numbers where the vulnerability is located3052 when the vulnerability was found by a secret detection scan3053 returns the file and line numbers where the vulnerability is located3054 when the vulnerability was found by a DAST scan3055 returns the URL where the vulnerability was found3056Oauth::GeoAuthController3057 GET auth3058 redirects to root_url when state is invalid3059 without a tampered header3060 behaves like a valid redirect to to primary node's oauth endpoint3061 redirects to primary node's oauth endpoint3062 with a tampered HOST header3063 behaves like a valid redirect to to primary node's oauth endpoint3064 redirects to primary node's oauth endpoint3065 with a tampered X-Forwarded-Host header3066 behaves like a valid redirect to to primary node's oauth endpoint3067 redirects to primary node's oauth endpoint3068 GET callback3069 redirection3070 redirects to login screen if state is invalid3071 with a valid state3072 does not display a flash message3073 without a tampered header3074 behaves like a valid redirect to redirect_url3075 redirects to primary node's oauth endpoint3076 with a tampered HOST header3077 behaves like a valid redirect to redirect_url3078 redirects to primary node's oauth endpoint3079 with a tampered X-Forwarded-Host header3080 behaves like a valid redirect to redirect_url3081 redirects to primary node's oauth endpoint3082 invalid credentials3083 handles invalid credentials error3084 non-existent remote user3085 handles non-existent remote user error3086 non-existent local user3087 handles non-existent local user error3088 GET logout3089 when access_token is valid3090 logs out and redirects to the root_url3091 when access_token is invalid3092 shows access token errors3093Groups::Analytics::CycleAnalyticsController3094 GET show3095 when the license is available3096 succeeds3097 increments usage counter3098 renders `show` template when feature flag is enabled3099 when the initial, default value stream is requested3100 renders the default in memory value stream3101 when invalid name is given3102 renders 404 error3103 tracking events3104 tracks redis hll event3105 tracks snowplow event3106 when the license is missing3107 renders 403 error3108 when non-existent group is given3109 renders 404 error3110 with group and value stream params3111 builds request params with group and value stream3112 GET use_aggregated_backend3113 when the license is not available3114 renders 403 error3115 when the license is available3116 succeeds3117 when non-existent group is given3118 renders 404 error3119 when the aggregation record is already created3120 succeeds3121API::ProjectClusters3122 POST /projects/:id/clusters/user3123 when user sets specific environment scope3124 creates a cluster with that specific environment3125 when does not set an specific environment scope3126 sets default environment3127 when another cluster exists3128 responds with 2013129 allows multiple clusters to be associated to project3130 PUT /projects/:id/clusters/:cluster_id3131 With a GCP cluster3132 updates the environment scope3133 With an user cluster3134 updates the environment scope3135Projects::Integrations::Jira::IssuesController3136 GET #index3137 renders the "index" template3138 tracks usage3139 when jira_issues_integration licensed feature is not available3140 behaves like an action that returns a 4043141 returns 4043142 when jira integration is disabled3143 behaves like an action that returns a 4043144 returns 4043145 when jira integration does not exist3146 behaves like an action that returns a 4043147 returns 4043148 behaves like unauthorized when external service denies access3149 allows access when the authorization service allows it3150 allows access when the authorization service denies it3151 when project has moved3152 redirects to the new issue tracker from the old one3153 json request3154 returns a list of serialized jira issues3155 renders bad request for IntegrationError3156 renders bad request for RequestError3157 sets pagination headers3158 when parameters are passed3159 when there are no params3160 behaves like proper parameter values3161 properly set the values3162 when pagination params3163 behaves like proper parameter values3164 properly set the values3165 when state is closed3166 behaves like proper parameter values3167 properly set the values3168 when status param3169 behaves like proper parameter values3170 properly set the values3171 when labels param3172 behaves like proper parameter values3173 properly set the values3174 when author_username param3175 behaves like proper parameter values3176 properly set the values3177 when assignee_username param3178 behaves like proper parameter values3179 properly set the values3180 when invalid params3181 behaves like proper parameter values3182 properly set the values3183 GET #show3184 when jira_issues_integration licensed feature is not available3185 returns 404 status3186 when jira_issues_integration licensed feature is available3187 renders `show` template3188 returns JSON response3189 when the JSON fetched from Jira contains HTML3190 escapes the HTML in issue titles and references3191JwtController3192 with IP restriction3193 group with restriction3194 address is within the range3195 behaves like successful JWT auth3196 allows access3197 with project deploy token3198 behaves like successful JWT auth with token3199 read: true, write: false, expected_actions: ["pull"]3200 behaves like successful JWT auth3201 allows access3202 read: false, write: true, expected_actions: ["push"]3203 behaves like successful JWT auth3204 allows access3205 read: true, write: true, expected_actions: ["push", "pull"]3206 behaves like successful JWT auth3207 allows access3208 with group deploy token3209 behaves like successful JWT auth with token3210 read: true, write: false, expected_actions: ["pull"]3211 behaves like successful JWT auth3212 allows access3213 read: false, write: true, expected_actions: ["push"]3214 behaves like successful JWT auth3215 allows access3216 read: true, write: true, expected_actions: ["push", "pull"]3217 behaves like successful JWT auth3218 allows access3219 address is outside the range3220 behaves like unsuccessful JWT auth3221 denies access3222 with deploy token credentials3223 with project deploy token3224 behaves like unsuccessful JWT auth3225 denies access3226 behaves like allowing access if the root group is in the feature flag3227 logs the ip restriction3228 behaves like successful JWT auth with token3229 read: true, write: false, expected_actions: ["pull"]3230 behaves like successful JWT auth3231 allows access3232 read: false, write: true, expected_actions: ["push"]3233 behaves like successful JWT auth3234 allows access3235 read: true, write: true, expected_actions: ["push", "pull"]3236 behaves like successful JWT auth3237 allows access3238 with group deploy token3239 behaves like unsuccessful JWT auth3240 denies access3241 behaves like allowing access if the root group is in the feature flag3242 logs the ip restriction3243 behaves like successful JWT auth with token3244 read: true, write: false, expected_actions: ["pull"]3245 behaves like successful JWT auth3246 allows access3247 read: false, write: true, expected_actions: ["push"]3248 behaves like successful JWT auth3249 allows access3250 read: true, write: true, expected_actions: ["push", "pull"]3251 behaves like successful JWT auth3252 allows access3253 authenticating against container registry3254 when Group SSO is enforced3255 behaves like successful JWT auth3256 allows access3257Update of user activity3258 behaves like updating of user activity3259 without an authenticated user3260 does not set the last activity cookie3261 with an authenticated user3262 with a POST request3263 does not set the last activity cookie3264 on GET to /group/project/-/integrations/jira/issues3265 updates the last activity date3266 when calling it twice3267 updates last_activity_on just once3268 when last_activity_on is nil3269 updates the last activity date3270 when last_activity_on is stale3271 updates the last activity date3272 when last_activity_on is up to date3273 does not try to update it3274API::GroupVariables3275 GET /groups/:id/variables/:key3276 when there are two variables with the same key on different environments3277 when filter[environment_scope] is not passed3278 returns 4093279 when filter[environment_scope] is passed3280 returns the variable3281 when wrong filter[environment_scope] is passed3282 returns not_found3283 when there is only one variable with provided key3284 returns not_found3285 POST /groups/:id/variables3286 scoped variables3287 :group_scoped_ci_variables licensed feature is available3288 creates a variable with the provided environment scope3289 a variable with the same key and scope exists already3290 does not create a variable3291 :group_scoped_ci_variables licensed feature is not available3292 creates a variable, but does not use the provided environment scope3293 a variable with the same key and scope exists already3294 does not create a variable3295 PUT /groups/:id/variables/:key3296 scoped variables3297 :group_scoped_ci_variables licensed feature is available3298 updates the variable3299 a variable with the same key and scope exists already3300 does not update the variable3301 :group_scoped_ci_variables licensed feature is not available3302 does not update the variable3303API::ResourceIterationEvents3304 when eventable is an Issue3305 behaves like resource_iteration_events API3306 GET /projects/:id/issues/:noteable_id/resource_iteration_events3307 returns an array of resource iteration events3308 returns a 404 error when eventable id not found3309 returns 404 when not authorized3310 GET /projects/:id/issues/:noteable_id/resource_iteration_events/:event_id3311 returns a resource iteration event by id3312 returns 404 when not authorized3313 returns a 404 error if resource iteration event not found3314 pagination3315 returns the second page3316get list of epic boards3317 when the user does not have access to the epic board group3318 returns nil group3319 when user can access the epic board group3320 avoids N+1 queries3321 sorting and pagination3322 behaves like sorted paginated query3323 behaves like requires variables3324 shared example requires variables to be set3326 when sorting3327 sorts correctly3328 when paginating3329 paginates correctly3330 field values3331 returns the correct values for collapsed3332 returns the correct metadata values3333 when totalWeight not requested3334 does not required the value from the service3335Groups::DependencyProxyForContainersController3336 GET #manifest3337 behaves like when sso is enabled for the group3338 group owner3339 behaves like a successful manifest pull3340 sends a file3341 returns Content-Disposition: attachment3342 group reporter3343 when git check is enforced3344 returns not found3345 with an active session3346 behaves like a successful manifest pull3347 sends a file3348 returns Content-Disposition: attachment3349 when git check is not enforced3350 behaves like a successful manifest pull3351 sends a file3352 returns Content-Disposition: attachment3353 GET #blob3354 behaves like when sso is enabled for the group3355 group owner3356 behaves like a successful blob pull3357 sends a file3358 returns Content-Disposition: attachment3359 group reporter3360 when git check is enforced3361 returns not found3362 with an active session3363 behaves like a successful blob pull3364 sends a file3365 returns Content-Disposition: attachment3366 when git check is not enforced3367 behaves like a successful blob pull3368 sends a file3369 returns Content-Disposition: attachment3370Mutations::Boards::Epics::Create3371 when the user does not have permission3372 behaves like a mutation that returns a top-level access error3373 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"3374 behaves like does not create an epic3375 is expected not to change `Board.count`3376 when the user has permission3377 when all arguments are given3378 when everything is ok3379 creates the epic3380 returns the created epic3381 when arguments are nil resulting in a top level error3382 behaves like does not create an epic3383 is expected not to change `Board.count`3384 behaves like a mutation that returns top-level errors3385 is expected to include /boardId \(Expected value to not be null\)/3386 when argument is blank resulting in an ActiveRecord error3387 returns an error3388 behaves like does not create an epic3389 is expected not to change `Board.count`3390 when arguments are missing3391 behaves like a mutation that returns top-level errors3392 is expected to include /boardId \(Expected value to not be null\)/3393 behaves like does not create an epic3394 is expected not to change `Board.count`3395Repositories::GitHttpController3396 POST #git_upload_pack3397 geo pulls a personal snippet3398 allows access3399 does not allow access if scope is wrong3400 GET #info_refs3401 smartcard session required3402 user with a smartcard session3403 allows access3404 user without a smartcard session3405 does not allow access3406 with the setting off3407 allows access3408 POST #git_receive_pack3409 when node is a primary Geo one3410 with projects3411 behaves like triggers Geo3412 executes ::Gitlab::Geo::GitPushHttp3413 returns 2003414 with a project wiki3415 behaves like triggers Geo3416 executes ::Gitlab::Geo::GitPushHttp3417 returns 2003418 with a group wiki3419 behaves like triggers Geo3420 executes ::Gitlab::Geo::GitPushHttp3421 returns 2003422 with a personal snippet3423 behaves like triggers Geo3424 executes ::Gitlab::Geo::GitPushHttp3425 returns 2003426 with a project snippet3427 behaves like triggers Geo3428 executes ::Gitlab::Geo::GitPushHttp3429 returns 2003430API::Ci::Jobs3431 GET /projects/:id/jobs/:job_id/artifacts3432 when using job_token to authenticate3433 when cross-project pipelines are enabled3434 user is developer3435 returns specific job artifacts3436 when anonymous user is accessing private artifacts3437 hides artifacts and rejects request3438 when cross-project pipeline are disabled3439 disallows access to the artifacts3440 when the job is not running3441 disallows access to the artifacts3442 GET /projects/:id/artifacts/:ref_name/download?job=name3443 when using job_token to authenticate3444 when cross-project pipelines are enabled3445 when user is developer3446 when artifacts are stored locally3447 returns specific job artifacts3448 when artifacts are stored remotely3449 returns location redirect3450 when user is admin, but not member3451 does not allow to see that artfiact is present3452Projects::VariablesController3453 PATCH #update3454 when creating variable3455 logs audit event3456 logs variable creation3457 when updating variable protection3458 logs audit event3459 logs variable protection update3460 when destroying variable3461 logs audit event3462 logs variable destruction3463Namespace.projects3464 sorting and pagination3465 when sorting by STORAGE3466 behaves like sorted paginated query3467 behaves like requires variables3468 shared example requires variables to be set3470 when sorting3471 sorts correctly3472 when paginating3473 paginates correctly3474Projects::Security::VulnerabilityReportController3475 when the "Security & Compliance" feature is disabled3476 is expected to respond with numeric status code not_found3477 behaves like SecurityDashboardsPermissions3478 access for all actions3479 when security dashboard feature is disabled3480 returns 4043481 when security dashboard feature is enabled3482 when user has guest access3483 denies access3484 when user has developer access3485 grants access3486 GET #index3487 when project has no vulnerabilities3488 renders empty state3489 when project has vulnerabilities3490 renders dashboard with vulnerability metadata3491Projects::RequirementsManagement::RequirementsController3492 GET #index3493 private project3494 with authorized user3495 when feature is available3496 renders the index template3497 when feature is not available3498 behaves like response with 404 status3499 returns 4043500 with unauthorized user3501 when feature is available3502 behaves like response with 404 status3503 returns 4043504 with anonymous user3505 returns 3023506 public project3507 with requirements disabled3508 behaves like response with 404 status3509 returns 4043510 with requirements visible to project members3511 with authorized user3512 renders the index template3513 with unauthorized user3514 behaves like response with 404 status3515 returns 4043516 with requirements visible to everyone3517 with anonymous user3518 renders the index template3519Creating an iteration cadence3520 when the user does not have permission3521 does not create iteration cadence3522 behaves like a mutation that returns a top-level access error3523 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"3524 when the user has permission3525 when iterations feature is disabled3526 behaves like a mutation that returns top-level errors3527 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"3528 when iterations feature is enabled3529 creates the iteration cadence for a group3530 when creating a manual iteration cadence3531 behaves like a mutation that returns errors in the response3532 is expected to contain exactly "Manual iteration cadences are deprecated. Only automatic iteration cadences are allowed."3533 when iteration_cadences feature flag is disabled3534 behaves like a mutation that returns errors in the response3535 is expected to contain exactly "Operation not allowed"3536 when there are ActiveRecord validation errors3537 does not create the iteration cadence3538 behaves like a mutation that returns errors in the response3539 is expected to contain exactly "Iterations in advance can't be blank", "Start date can't be blank", and "Title can't be blank"3540 when required arguments are missing3541 returns error about required argument3542 does not create the iteration cadence3543Add an issue to an Epic3544 when epics feature is disabled3545 behaves like mutation without access3546 does not add issue to the epic3547 behaves like a mutation that returns a top-level access error3548 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"3549 when epics feature is enabled3550 when the user is a group member3551 adds the issue to the epic3552 when the user is not a group member3553 behaves like mutation without access3554 does not add issue to the epic3555 behaves like a mutation that returns a top-level access error3556 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"3557Getting issues for an epic3558 when epics are enabled3559 does not return inaccessible issues3560 when user has access to the issue project3561 returns issues in this project3562 pagination3563 behaves like sorted paginated query3564 behaves like requires variables3565 shared example requires variables to be set3567 when sorting3568 sorts correctly3569 when paginating3570 paginates correctly3571 when user is guest3572 filters out confidential issues3573 when issues from multiple epics are queried3574 returns issues for each epic3575 does limited number of N+1 queries3576 when epics are disabled3577 does not find the epic3578Creating an Epic3579 when the user does not have permission3580 does not create epic3581 behaves like a mutation that returns a top-level access error3582 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"3583 when the user has permission3584 when epics are disabled3585 behaves like a mutation that returns top-level errors3586 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"3587 when epics are enabled3588 creates the epic3589 when using a named color3590 sets the color correctly3591 the color is invalid3592 reports a coercion error3593 when there are ActiveRecord validation errors3594 does not create the epic3595 behaves like a mutation that returns errors in the response3596 is expected to contain exactly "Title can't be blank"3597 when the list of attributes is empty3598 does not create the epic3599 behaves like a mutation that returns top-level errors3600 is expected to contain exactly "The list of epic attributes is empty"3601Query.project(fullPath).dastSiteProfiles3602 when a user does not have access to the project3603 returns a null project3604 when a user does not have access to dast_site_profiles3605 returns an empty edges array3606 when a user has access dast_site_profiles3607 returns populated edges array3608 returns a populated edges array containing a dast_site_profile associated with the project3609 avoids N+1 queries3610 when there are fewer dast_site_profiles than the page limit3611 indicates there are no more pages available3612 when there are more dast_site_profiles than the page limit3613 indicates there are more pages available3614 when on demand scan licensed feature is not available3615 returns an empty edges array3616Projects::EnvironmentsController3617 GET #show3618 deployment approvals3619 preloads approvals their authors3620 #GET terminal3621 when environment is protected3622 when user does not have access to it3623 responds with access denied3624 when user has access to it3625 is successful3626 when environment is not protected3627 is successful3628 POST #cancel_auto_stop3629 when environment is set as auto-stop3630 behaves like successful response for #cancel_auto_stop3631 when request is html3632 redirects to show page3633 expires etag caching3634 when request is js3635 responds as ok3636 expires etag caching3637 when the environment is protected3638 shows not found3639Security::ProjectsController3640 GET #index3641 behaves like Security::ApplicationController3642 when the user is authenticated3643 responds with success3644 and the instance does not have an Ultimate license3645 404s3646 when the user is not authenticated3647 redirects the user to the sign in page3648 with an authenticated user3649 returns the current user's security dashboard projects3650 sets a polling interval header3651 POST #create3652 behaves like Security::ApplicationController3653 when the user is authenticated3654 responds with success3655 and the instance does not have an Ultimate license3656 404s3657 when the user is not authenticated3658 redirects the user to the sign in page3659 with an authenticated user3660 adds the given projects to the current user's security dashboard3661 when given a project that is already added to the dashboard3662 does not add the same project twice and returns the duplicate IDs in the response3663 when given an invalid project ID3664 does not error and includes them in the response3665 with an authenticated auditor3666 allows them to add projects to the dashboard3667 DELETE #destroy3668 with an authenticated user3669 removes the project from the current user's security dashboard3670 and the instance does not have an Ultimate license3671 404s3672 when given a project not on the current user's security dashboard3673 does nothing and returns 2043674 when the user is not authenticated3675 redirects the user to the sign in page3676Query.project(fullPath).pipelines.dastProfile3677 when feature is not licensed3678 does not return dast profile data3679 when feature is licensed3680 when user is not member of the project3681 does not return dast profile data3682 when user is member of the project3683 returns the dast profile data3684 avoids N+1 queries3685API::Templates3686 GET /templates/dockerfiles3687 includes the custom template in the response3688 excludes the custom template when the feature is disabled3689 GET /templates/dockerfiles/custom3690 returns the custom template3691 returns 404 when the feature is disabled3692 GET /templates/gitignores3693 includes the custom template in the response3694 excludes the custom template when the feature is disabled3695 GET /templates/gitignores/custom3696 returns the custom template3697 returns 404 when the feature is disabled3698 GET /templates/gitlab_ci_ymls3699 includes the custom template in the response3700 excludes the custom template when the feature is disabled3701 GET /templates/gitlab_ci_ymls/custom3702 returns the custom template3703 returns 404 when the feature is disabled3704 GET /templates/licenses3705 includes the custom template in the response3706 excludes the custom template when the feature is disabled3707 GET /templates/licenses/custom3708 returns the custom template3709 returns 404 when the feature is disabled3710Mutations::Boards::EpicBoards::Destroy3711 when the user does not have permission3712 does not destroy the board3713 behaves like a mutation that returns a top-level access error3714 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"3715 when the user has permission3716 when everything is ok3717 destroys the board3718 returns an empty board3719 when there is only 1 board for the parent3720 does not destroy the board3721 returns an error and not nil board3722Creating a DAST Site Profile3723 behaves like an on-demand scan mutation when user cannot run an on-demand scan3724 when a user does not have access to the project3725 behaves like a mutation that returns a top-level access error3726 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"3727 when a user does not have access to run a dast scan on the project3728 behaves like a mutation that returns a top-level access error3729 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"3730 behaves like an on-demand scan mutation when user can run an on-demand scan3731 returns an empty errors array3732 updates the dast_site_profile3733 when on demand scan licensed feature is not available3734 behaves like a mutation that returns a top-level access error3735 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"3736 when there is a validation error3737 behaves like a mutation that returns errors in the response3738 is expected to contain exactly "There was a validation error"3739 when the dast_site_profile does not exist3740 behaves like a mutation that returns top-level errors3741 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"3742 when wrong type of global id is passed3743 behaves like a mutation that returns top-level errors3744 is expected to eq ["Variable $dastSiteProfileUpdateInput of type DastSiteProfileUpdateInput! was provided invalid value for id (\"gid://gitlab/Project/901\" does not represent an instance of DastSiteProfile)"]3745TrialRegistrationsController3746 #new3747 a dot-com only feature3748 behaves like a dot-com only feature3749 when not on gitlab.com and not in development environment3750 is expected to respond with numeric status code not_found3751 when on gitlab.com or in dev environment3752 is expected to respond with numeric status code ok3753 when customer is not authenticated3754 is expected to render template new3755 when customer is authenticated3756 when about_your_company_registration_flow is disabled3757 is expected to redirect to "http://test.host/-/trials/new"3758 when there are additional query params3759 is expected to redirect to "http://test.host/-/trials/new?glm_content=some_content&glm_source=some_source"3760 when about_your_company_registration_flow is enabled3761 is expected to redirect to "/users/sign_up/company/new?trial=true"3762 #create3763 marks the account as unconfirmed3764 behaves like a dot-com only feature3765 when not on gitlab.com and not in development environment3766 is expected to respond with numeric status code not_found3767 when on gitlab.com or in dev environment3768 is expected to respond with numeric status code found3769 derivation of name3770 sets name from first and last name3771 applying the onboarding=true parameter3772 adds the parameter3773view usage quotas3774 GET /groups/:group/-/usage_quotas3775 when storage size is over limit3776 does not display storage alert3777 free_user_cap feature flag3778 when disabled3779 is expected to have pushed frontend feature flags {:freeUserCap=>false}3780 when enabled3781 is expected to have pushed frontend feature flags {:freeUserCap=>true}3782 preview_free_user_cap feature flag3783 when disabled3784 is expected to have pushed frontend feature flags {:previewFreeUserCap=>false}3785 when enabled3786 is expected to have pushed frontend feature flags {:previewFreeUserCap=>true}3787API::GroupClusters3788 POST /groups/:id/clusters/user3789 when user sets specific environment scope3790 creates a cluster with that specific environment3791 when does not set an specific environment scope3792 sets default environment3793 PUT /groups/:id/clusters/:cluster_id3794 With a GCP cluster3795 updates the environment scope3796 With an user cluster3797 updates the environment scope3798Admin::Geo::SettingsController3799 #show3800 without a valid license3801 does not redirects to the 403 page3802 does show license alert3803 with a valid license3804 does not show license alert3805 #update3806 with a valid license3807 sets the geo node property in ApplicationSetting3808 redirects the update to the referer3809Admin::Geo::NodesController3810 #index3811 with valid license3812 does not show license alert3813 without valid license3814 does show license alert3815 does not redirects to the 403 page3816 #create3817 without add-on license3818 behaves like unlicensed geo action3819 redirects to the 403 page3820 with add-on license3821 delegates the create of the Geo node to Geo::NodeCreateService3822 #update3823 without add-on license3824 behaves like unlicensed geo action3825 redirects to the 403 page3826 with add-on license3827 updates the node3828 delegates the update of the Geo node to Geo::NodeUpdateService3829Projects::PagesController3830 when max_pages_size param is specified3831 when user is an admin3832 when admin mode is enabled3833 updates max_pages_size3834 when admin mode is disabled3835 does not update max_pages_size3836 when user is not an admin3837 does not update max_pages_size3838Getting code coverage summary in a project3839 behaves like a working graphql query3840 returns a successful response3841 when project has coverage3842 for the default branch3843 contains code coverage summary data3844 not for the default branch3845 returns nil3846 when project does not have coverage3847 returns nil3848Admin::EmailsController3849 GET #show3850 admin user3851 when `send_emails_from_admin_area` feature is enabled3852 responds with 2003853 when `send_emails_from_admin_area` feature is disabled3854 returns 4043855 when usage ping is enabled3856 responds 404 when feature is not activated3857 responds with 200 when feature is activated3858 non-admin user3859 returns 4043860 POST #create3861 admin user3862 when `send_emails_from_admin_area` feature is enabled3863 when emails from admin area are not rate limited3864 triggers the service to send emails3865 redirects to `admin_email_path` with success notice3866 when emails from admin area are rate limited3867 does not trigger the service to send emails3868 redirects to `admin_email_path`3869 when `send_emails_from_admin_area` feature is disabled3870 does not trigger the service to send emails3871 returns 4043872 when usage ping is enabled3873 when feature is activated3874 triggers the service to send emails3875 redirects to `admin_email_path` with success notice3876 when feature is deactivated3877 does not trigger the service to send emails3878 returns 4043879 non-admin user3880 returns 4043881Running a DAST Profile3882 behaves like an on-demand scan mutation when user cannot run an on-demand scan3883 when a user does not have access to the project3884 behaves like a mutation that returns a top-level access error3885 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"3886 when a user does not have access to run a dast scan on the project3887 behaves like a mutation that returns a top-level access error3888 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"3889 behaves like an on-demand scan mutation when user can run an on-demand scan3890 returns an empty errors array3891 returns a pipeline_url containing the correct path3892 when on demand scan licensed feature is not available3893 behaves like a mutation that returns a top-level access error3894 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"3895 when pipeline creation fails3896 behaves like a mutation that returns errors in the response3897 is expected to contain exactly "full error messages"3898Query current user groups3899 when permission_scope is CREATE_PROJECTS3900 behaves like a working graphql query3901 returns a successful response3902 when ip_restrictions feature is enabled3903 when check_namespace_plan setting is enabled3904 behaves like no N + 1 DB queries3905 avoids N+1 queries3906 when check_namespace_plan setting is disabled3907 behaves like no N + 1 DB queries3908 avoids N+1 queries3909API::Dora::Metrics3910 GET /projects/:id/dora/metrics3911 metric: :deployment_frequency, value1: 1, value2: 23912 returns data3913 metric: :lead_time_for_changes, value1: 3, value2: 43914 returns data3915 metric: :time_to_restore_service, value1: 5, value2: 63916 returns data3917 metric: :change_failure_rate, value1: 7, value2: 43918 returns data3919 with multiple metrics3920 returns combined data3921 backwards compatibility for environment_tier3922 returns combined data3923 when user is guest3924 returns authorization error3925 GET /groups/:id/dora/metrics3926 metric: :deployment_frequency, value1: 1, value2: 23927 returns data3928 metric: :lead_time_for_changes, value1: 3, value2: 43929 returns data3930 metric: :time_to_restore_service, value1: 5, value2: 63931 returns data3932 metric: :change_failure_rate, value1: 7, value2: 43933 returns data3934 with multiple metrics3935 returns combined data3936 backwards compatibility for environment_tier3937 returns combined data3938 when user is guest3939 returns authorization error3940Setting the epic of an issue3941 returns an error if the user is not allowed to update the issue3942 returns an error if issue can not be updated3943 promotes the issue to epic3944 when epic has to be in a different group3945 when user cannot create epic in new group3946 does not promote the issue to epic3947 when user can create epic in new group3948 promotes the issue to epic3949Projects::IncidentManagement::EscalationPoliciesController3950 GET #index3951 with read permissions3952 renders index with 200 status code3953 with admin permissions3954 renders index with 200 status code3955 unauthorized3956 responds with 4043957 with unavailable feature3958 responds with 4043959 with unavailable on-call schedules feature3960 responds with 4043961Destroy an epic board list3962 behaves like board lists destroy request3963 when the user does not have permission3964 does not destroy the list3965 returns an error3966 when the user has permission3967 when given id is not for a list3968 returns an error3969 when list does not exist3970 returns a top level error3971 when everything is ok3972 destroys the list3973 returns an empty list3974 when the list is not destroyable3975 behaves like does not destroy the list and returns an error3976 does not destroy the list3977 returns an error and not nil list3978Groups::ClustersController3979 GET #environments3980 avoids N+1 database queries3981API::Features3982 POST /feature3983 when running on a Geo primary node3984 creates Geo cache invalidation event3985 when licensed feature name is given3986 returns bad request3987 when force=1 is set3988 allows to change state3989 DELETE /feature/:name3990 when running on a Geo primary node3991 creates Geo cache invalidation event3992Query.vulnerabilities.description3993 when vulnerability has no description and finding has description3994 returns finding information3995 when vulnerability has description and finding has description3996 returns finding information3997Projects::Settings::SlacksController3998 GET show3999 when valid CSRF token is provided4000 calls service and redirects with no alerts if result is successful4001 calls service and redirects with the alert if there is error4002 when no CSRF token is provided4003 returns 4034004Admin::UsersController4005 GET #index4006 eager loads obstacles to user deletion4007 POST update4008 updating name4009 when `disable_name_update_for_users` feature is available4010 when the ability to update their name is disabled for users4011 behaves like admin can update the name of a user4012 updates the name4013 when the ability to update their name is not disabled for users4014 behaves like admin can update the name of a user4015 updates the name4016 when `disable_name_update_for_users` feature is not available4017 behaves like admin can update the name of a user4018 updates the name4019 POST #reset_runner_minutes4020 when the reset is successful4021 redirects to group path4022 when the reset is not successful4023 redirects back to group edit page4024 POST #impersonate4025 enqueues a new worker4026view audit events4027 GET /:namespace/:project/-/audit_events4028 returns 200 response4029 avoids N+1 DB queries4030Projects::RunnersController4031 #toggle_shared_runners4032 when shared runners are off4033 when user has valid credit card4034 permits enabling and disabling shared runners4035 when user does not have valid credit card4036 does not permit enabling shared runners4037SurveyResponsesController4038 GET #index4039 tracking a snowplow event4040 does not track a survey_response event4041 when on GitLab.com4042 tracks a survey_response event4043 invite link4044 is expected to eq "https://calendly.com/d/n9wd-sy2b/gitlab-user-onboarding-research"4045 when not on gitlab.com4046 is expected to be nil4047 when the 'calendly_invite_link' feature flag is disabled4048 is expected to be nil4049 when the 'invite_link' parameter is not present in the URL4050 is expected to be nil4051 show incentive4052 is expected to equal true4053 when 'show_incentive' parameter is not present in the URL4054 is expected to equal nil4055 when invite link is not set4056 is expected to equal nil4057Reposition and move issue within board lists4058 when user can admin issue4059 when user can read epic4060 updates issue position and epic4061 when user sets nil epic4062 updates issue position and epic is unassigned4063 when user can not read epic4064 does not set epic4065NamespaceCiCdSettingsUpdate4066 when unauthorized4067 when not a namespace member4068 behaves like unauthorized4069 returns an error4070 when a non-admin namespace member4071 behaves like unauthorized4072 returns an error4073 when authorized4074 updates allow_stale_runner_pruning?4075 does not update allow_stale_runner_pruning? if not specified4076 when bad arguments are provided4077 returns the errors4078Delete a DAST Scanner Profile4079 behaves like an on-demand scan mutation when user cannot run an on-demand scan4080 when a user does not have access to the project4081 behaves like a mutation that returns a top-level access error4082 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"4083 when a user does not have access to run a dast scan on the project4084 behaves like a mutation that returns a top-level access error4085 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"4086 behaves like an on-demand scan mutation when user can run an on-demand scan4087 returns an empty errors array4088 deletes the dast_scanner_profile4089 when on demand scan licensed feature is not available4090 behaves like a mutation that returns a top-level access error4091 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"4092 when the dast_scanner_profile does not exist4093 behaves like a mutation that returns top-level errors4094 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"4095Creating an issuable resource link4096 creates issuable resource link4097 returns error4098 when link is invalid4099 returns nil4100 when feature flag is disabled4101 returns nil4102Projects::Security::ScannedResourcesController4103 GET index4104 when the "Security & Compliance" feature is disabled4105 is expected to respond with numeric status code not_found4106 when DAST security scan is found4107 returns the CSV data4108 when pipeline_id is from a dangling pipeline4109 returns the CSV data4110 when the pipeline id is missing4111 raises an error when pipeline_id param is missing4112Adding a Note to an Epic4113 when the user does not have permission4114 behaves like a Note mutation when the user does not have permission4115 behaves like a Note mutation that does not create a Note4116 is expected not to change `Note.count`4117 behaves like a mutation that returns top-level errors4118 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"4119 when the user has permission4120 behaves like a Note mutation with confidential notes4121 returns a Note with confidentiality enabled4122 behaves like a Note mutation that creates a Note4123 is expected to change `Note.count` by 14124Setting the escalation policy of an issue4125 sets given escalation_policy to the escalation status for the issue4126 when user does not have permission to edit the escalation status4127 behaves like a mutation that returns a top-level access error4128 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"4129 with non-incident issue is provided4130 behaves like a mutation that returns top-level errors4131 is expected to contain exactly "Feature unavailable for provided issue"4132 when escalation_policy_id is nil4133 removes existing escalation policy4134Admin::PushRulesController4135 #update4136 updates sample push rule4137 links push rule with application settings4138 push rules unlicensed4139 returns 4044140 #show4141 returns 2004142 push rules unlicensed4143 returns 4044144Updating an existing release4145 when the provided milestones include a group milestone4146 when the group milestone association feature is licensed4147 returns no errors4148 updates a release with both project and group milestone associations4149 when the group milestone association feature is not licensed4150 returns an error-as-data field with a message about an invalid license4151Query.ciMinutesUsage4152 when no namespace_id is provided4153 returns usage data by month for the current user4154 does not create N+1 queries4155 when namespace_id is provided4156 when group is root4157 when user is an owner4158 returns the usage data4159 when user is not an owner4160 does not return usage data4161 when group is a subgroup4162 does not return usage data4163view audit events4164 GET /audit_events4165 when admin mode is enabled4166 returns 200 response4167 avoids N+1 DB queries4168 when admin mode is disabled4169 redirects to admin mode enable4170Git LFS File Locking API4171 Create File Lock endpoint4172 with an exceeded namespace storage limit4173 does not create the lock4174 Listing File Locks endpoint4175 with an exceeded namespace storage limit4176 returns the list of locked files4177 List File Locks for verification endpoint4178 with an exceeded namespace storage limit4179 rejects the request4180 Delete File Lock endpoint4181 with an exceeded namespace storage limit4182 does not delete the lock4183Groups::IterationCadencesController4184 behaves like accessing iteration cadences4185 index4186 feature_flag_available: false, role: :developer, status: :not_found4187 behaves like returning response status4188 returns not_found4189 feature_flag_available: true, role: :none, status: :not_found4190 behaves like returning response status4191 returns not_found4192 feature_flag_available: true, role: :guest, status: :success4193 behaves like returning response status4194 returns success4195 feature_flag_available: true, role: :developer, status: :success4196 behaves like returning response status4197 returns success4198Emails::GroupMemberships4199 #user_cap_reached4200 is expected to have subject of "Exported group membership list"4201 is expected to be delivered to ["user2373@example.org"]4202 contains one attachment4203API::Ldap4204 GET /ldap/groups4205 when unauthenticated4206 returns authentication error4207 when authenticated as user4208 returns authentication error4209 when group owners are allowed to manage LDAP4210 returns an array of ldap groups4211 when authenticated as admin4212 returns an array of ldap groups4213 GET /ldap/ldapmain/groups4214 when unauthenticated4215 returns authentication error4216 when authenticated as user4217 returns authentication error4218 when group owners are allowed to manage LDAP4219 returns an array of ldap groups4220 when authenticated as admin4221 returns an array of ldap groups4222getting Incident Management on-call shifts4223 updating name only4224 updates the rotation4225 removing participants4226 updates the rotation and removes participants4227 adding participants4228 updates the rotation and adds participants4229 errors4230 user cannot be found4231 raises an error4232parse alert payload fields4233 is expected to eq [{"label"=>"title", "path"=>["title"], "type"=>"STRING"}, {"label"=>"started_at", "path"=>["started_a...", "path"=>["arr", 1], "type"=>"STRING"}, {"label"=>"arr[0]", "path"=>["arr", 0], "type"=>"STRING"}]4234 behaves like a working graphql query4235 returns a successful response4236 without user permission4237 behaves like query with error4238 returns an error4239 without license4240 behaves like query with error4241 returns an error4242 with invalid payload JSON4243 behaves like query with error4244 returns an error4245 with non-Hash JSON4246 behaves like query with error4247 returns an error4248getting a list of external audit event destinations for a group4249 when authenticated as the group owner4250 returns the groups external audit event destinations4251 when authenticated as a group maintainer4252 behaves like a request that returns no destinations4253 returns no destinations4254 when authenticated as a group developer4255 behaves like a request that returns no destinations4256 returns no destinations4257 when authenticated as a group guest4258 behaves like a request that returns no destinations4259 returns no destinations4260 when not authenticated4261 behaves like a request that returns no destinations4262 returns no destinations4263Update board epic user preferences4264 returns an error if user can not access the board4265 when user can access the board4266 returns an error if user can not access the epic4267 when user can access the epic4268 updates user preferences4269Update of an existing epic board list4270 behaves like a GraphQL request to update board list4271 the user is not allowed to read board lists4272 behaves like a mutation that returns a top-level access error4273 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"4274 when user has permissions to admin board lists4275 updates the list position and collapsed state4276 when user has permissions to read board lists4277 updates the list collapsed state but not the list position4278Admin::GroupsController4279 POST #reset_runner_minutes4280 when the reset is successful4281 redirects to group path4282 when the reset is not successful4283 redirects back to group edit page4284Creating a new on-call schedule4285 create a new on-call schedule4286 without required argument project_path4287 behaves like an invalid argument to the mutation4288 behaves like a mutation that returns top-level errors4289 is expected to contain exactly (include "invalid value for projectPath")4290 without required argument name4291 behaves like an invalid argument to the mutation4292 behaves like a mutation that returns top-level errors4293 is expected to contain exactly (include "invalid value for name")4294 without required argument timezone4295 behaves like an invalid argument to the mutation4296 behaves like a mutation that returns top-level errors4297 is expected to contain exactly (include "invalid value for timezone")4298Removing an on-call schedule4299 removes the on-call schedule4300Query.vulnerabilities.scanner4301 returns a vulnerability scanner4302MergeRequestReviewer4303 when requesting information about MR interactions4304 when the user does not have any applicable rules4305 returns null data4306 when the user has interacted4307 returns appropriate data4308Ci/Cd settings through GroupQuery4309 when group has no associated ci_cd_settings4310 returns false for allowStaleRunnerPruning4311 when group has associated ci_cd_settings4312 with allow_stale_runner_pruning set to false4313 returns false for allowStaleRunnerPruning4314 with allow_stale_runner_pruning set to true4315 returns true for allowStaleRunnerPruning4316Emails::Issues4317 iterations4318 #changed_iteration_issue_email4319 shows the iteration it was changed to4320 when iteration_cadences FF enabled4321 shows the iteration it was changed to4322 #removed_iteration_issue_email4323 says iteration was removed4324Admin::UserPermissionExportsController4325 #index4326 when user is authorized4327 when successful4328 responds with :ok4329 invokes the Export Service4330 has the appropriate data4331 when Export fails4332 responds appropriately4333 when user is unauthorised4334 responds with :not_found4335Groups::RunnersController4336 #index4337 enables runner_upgrade_management_for_namespace licensed feature4338 #show4339 enables runner_upgrade_management_for_namespace licensed feature4340Security::DashboardController4341 GET #show4342 behaves like Security::ApplicationController4343 when the user is authenticated4344 responds with success4345 and the instance does not have an Ultimate license4346 404s4347 when the user is not authenticated4348 redirects the user to the sign in page4349 when security dashboard feature4350 is enabled4351 is expected to render template instance_security4352 is disabled4353 is expected to respond with numeric status code not_found4354 is expected to render template errors/not_found4355OmniauthCallbacksController4356 when sign in fails4357 audits provider failed login when licensed4358 does not audit provider failed login when unlicensed4359SentNotificationsController4360 Unsubscribing from an epic4361 unsubscribes the user4362 sets the flash message4363 redirects to the merge request page4364Admin::DashboardController4365 #index4366 allows an admin user to access the page4367 does not allow an auditor user to access the page4368 does not allow a regular user to access the page4369DashboardController4370 signed in4371 GET issues4372 does not list test cases4373UsersController4374 GET #available_project_templates4375 a user requests templates for themselves4376 responds successfully4377 a user requests templates for another user4378 responds with not found error4379 GET #available_group_templates4380 a user requests templates for themselves4381 responds successfully4382 a user requests templates for another user4383 responds with not found error4384Updating an on-call schedule4385 updates the on-call schedule4386Emails::UserCap4387 #user_cap_reached4388 is expected to have subject of "Important information about usage on your GitLab instance"4389 is expected to be delivered to ["user2446@example.org"]4390 is expected to have body including "Your GitLab instance has reached the maximum allowed"4391 is expected to have body including "user cap"4392contribution analytics4393 redirects from -/analytics to -/analytics/value_stream_analytics4394Rack Attack global throttles4395 when the request is from Geo secondary4396 allows requests over the rate limit4397Admin::ImpersonationsController4398 DELETE destroy4399 when signed in4400 when impersonating4401 enqueues a new worker4402DeviseMailer4403 #confirmation_instructions4404 includes the additonal custom text4405CountriesController4406 GET #index4407 returns list of countries as json4408 does not include list of denied countries4409Knapsack report was generated. Preview:4410{4411 "ee/spec/requests/api/vulnerabilities_spec.rb": 175.39350716399986,4412 "ee/spec/requests/api/visual_review_discussions_spec.rb": 125.84438236500046,4413 "ee/spec/requests/api/epics_spec.rb": 92.58624249899913,4414 "ee/spec/controllers/projects_controller_spec.rb": 83.26649411500148,4415 "ee/spec/requests/api/notes_spec.rb": 61.89005820800048,4416 "ee/spec/requests/api/wikis_spec.rb": 39.378871859000355,4417 "ee/spec/controllers/ee/groups_controller_spec.rb": 34.05147026499981,4418 "ee/spec/controllers/projects/licenses_controller_spec.rb": 31.0426380659992,4419 "ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb": 42.35632902500038,4420 "ee/spec/controllers/projects/subscriptions_controller_spec.rb": 34.100421872999505,4421 "ee/spec/requests/groups_controller_spec.rb": 32.39544134099924,4422 "ee/spec/requests/api/deployments_spec.rb": 28.051715696001338,4423 "ee/spec/requests/api/epic_links_spec.rb": 24.74437117799971,4424 "ee/spec/requests/api/merge_requests_spec.rb": 20.19489121999868,4425 "ee/spec/requests/lfs_http_spec.rb": 21.587107635001303,4426 "ee/spec/requests/api/group_hooks_spec.rb": 16.800955447000888,4427 "ee/spec/requests/groups/epics/epic_links_controller_spec.rb": 22.256273338000028,4428 "ee/spec/requests/git_http_spec.rb": 20.380115363001096,4429 "ee/spec/requests/api/internal/base_spec.rb": 13.207142680999823,4430 "ee/spec/requests/api/project_approval_rules_spec.rb": 13.81629239600079,4431 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 20.125989152998955,4432 "ee/spec/requests/api/related_epic_links_spec.rb": 13.657805931999974,4433 "ee/spec/controllers/groups/epics/notes_controller_spec.rb": 17.197688010001002,4434 "ee/spec/controllers/projects/security/configuration_controller_spec.rb": 13.695247051000479,4435 "ee/spec/controllers/projects/security/vulnerabilities/notes_controller_spec.rb": 14.521831267999005,4436 "ee/spec/requests/ee/projects/environments_controller_spec.rb": 13.351055854998776,4437 "ee/spec/requests/api/award_emoji_spec.rb": 8.612452745001065,4438 "ee/spec/controllers/projects/mirrors_controller_spec.rb": 15.248380678998728,4439 "ee/spec/controllers/groups/boards_controller_spec.rb": 9.834356336001292,4440 "ee/spec/requests/api/geo_spec.rb": 3.831179835999137,4441 "ee/spec/controllers/admin/clusters_controller_spec.rb": 10.652346982000381,4442 "ee/spec/controllers/projects/approvers_controller_spec.rb": 9.684489311999641,4443 "ee/spec/controllers/registrations/groups_controller_spec.rb": 6.157231393999609,4444 "ee/spec/requests/projects/issues_controller_spec.rb": 11.855663764999917,4445 "ee/spec/controllers/groups/issues_controller_spec.rb": 9.742281539000032,4446 "ee/spec/controllers/projects/approver_groups_controller_spec.rb": 9.24441982999997,4447 "ee/spec/requests/api/graphql/vulnerabilities/location_spec.rb": 11.23670311999922,4448 "ee/spec/controllers/oauth/geo_auth_controller_spec.rb": 8.798774427001263,4449 "ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb": 9.7471401290004,4450 "ee/spec/requests/api/project_clusters_spec.rb": 8.483306500000253,4451 "ee/spec/controllers/projects/integrations/jira/issues_controller_spec.rb": 6.42521409300025,4452 "ee/spec/requests/jwt_controller_spec.rb": 8.386929693000639,4453 "ee/spec/requests/user_activity_spec.rb": 8.06018243699873,4454 "ee/spec/requests/api/group_variables_spec.rb": 7.640183964000244,4455 "ee/spec/requests/api/resource_iteration_events_spec.rb": 8.36956178500077,4456 "ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb": 7.124568733999695,4457 "ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb": 6.346597186000508,4458 "ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb": 4.255039838999437,4459 "ee/spec/requests/repositories/git_http_controller_spec.rb": 5.080132826000408,4460 "ee/spec/requests/api/ci/jobs_spec.rb": 6.107279116000427,4461 "ee/spec/controllers/ee/projects/variables_controller_spec.rb": 5.8116857779987185,4462 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 5.935032142000637,4463 "ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb": 5.646837732998392,4464 "ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb": 4.032614309000564,4465 "ee/spec/requests/api/graphql/mutations/iterations/cadences/create_spec.rb": 4.3685722749996785,4466 "ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb": 3.9929908300000534,4467 "ee/spec/requests/api/graphql/group/epic/epic_issues_spec.rb": 3.8970243139992817,4468 "ee/spec/requests/api/graphql/mutations/epics/create_spec.rb": 3.835016455999721,4469 "ee/spec/requests/api/graphql/project/dast_site_profiles_spec.rb": 4.791992477999884,4470 "ee/spec/controllers/projects/environments_controller_spec.rb": 4.082448635999754,4471 "ee/spec/controllers/security/projects_controller_spec.rb": 2.602340794999691,4472 "ee/spec/requests/api/graphql/project/pipelines/dast_profile_spec.rb": 3.1876404029990226,4473 "ee/spec/requests/api/templates_spec.rb": 2.006102559000283,4474 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb": 2.7936537379991933,4475 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb": 4.62021522500072,4476 "ee/spec/controllers/trial_registrations_controller_spec.rb": 2.0333791289995133,4477 "ee/spec/requests/groups/usage_quotas_spec.rb": 5.019605918001616,4478 "ee/spec/requests/api/group_clusters_spec.rb": 4.331633387000693,4479 "ee/spec/controllers/admin/geo/settings_controller_spec.rb": 5.388343814000109,4480 "ee/spec/controllers/admin/geo/nodes_controller_spec.rb": 3.672775012000784,4481 "ee/spec/controllers/projects/pages_controller_spec.rb": 2.899613813999167,4482 "ee/spec/requests/api/graphql/project/code_coverage_summary_spec.rb": 4.682129433000227,4483 "ee/spec/controllers/admin/emails_controller_spec.rb": 1.9964236600008007,4484 "ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb": 3.7592530100009753,4485 "ee/spec/requests/api/graphql/current_user/groups_query_spec.rb": 4.538706677998562,4486 "ee/spec/requests/api/dora/metrics_spec.rb": 3.80084068799988,4487 "ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb": 3.6079394959997444,4488 "ee/spec/controllers/projects/incident_management/escalation_policies_controller_spec.rb": 3.005190189000132,4489 "ee/spec/requests/api/graphql/mutations/boards/epic_lists/destroy_spec.rb": 4.01050547900013,4490 "ee/spec/requests/groups/clusters_controller_spec.rb": 3.477513211000769,4491 "ee/spec/requests/api/features_spec.rb": 0.9734924309996131,4492 "ee/spec/requests/api/graphql/vulnerabilities/description_spec.rb": 4.34106258599968,4493 "ee/spec/controllers/projects/settings/slacks_controller_spec.rb": 2.7606929689991375,4494 "ee/spec/controllers/admin/users_controller_spec.rb": 2.4407172320006794,4495 "ee/spec/requests/projects/audit_events_spec.rb": 5.618108614000448,4496 "ee/spec/controllers/projects/runners_controller_spec.rb": 2.7784417889997712,4497 "ee/spec/requests/survey_responses_controller_spec.rb": 0.7480855300000258,4498 "ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb": 2.628964994000853,4499 "ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb": 1.9587699619987688,4500 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb": 2.1255767439997726,4501 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb": 1.6394495849999657,4502 "ee/spec/controllers/projects/security/scanned_resources_controller_spec.rb": 1.4643228610002552,4503 "ee/spec/requests/api/graphql/mutations/notes/create/note_spec.rb": 2.1824026529993716,4504 "ee/spec/requests/api/graphql/mutations/issues/set_escalation_policy_spec.rb": 2.9505747910006903,4505 "ee/spec/controllers/admin/push_rules_controller_spec.rb": 2.216783492000104,4506 "ee/spec/requests/api/graphql/mutations/releases/update_spec.rb": 2.587773475999711,4507 "ee/spec/requests/api/graphql/ci/minutes/usage_spec.rb": 3.2680073989995435,4508 "ee/spec/requests/admin/audit_events_spec.rb": 2.2593948899993848,4509 "ee/spec/requests/lfs_locks_api_spec.rb": 2.3444203559993184,4510 "ee/spec/controllers/groups/iteration_cadences_controller_spec.rb": 1.1278482750003604,4511 "ee/spec/mailers/emails/group_memberships_spec.rb": 0.7327926899997692,4512 "ee/spec/requests/api/ldap_spec.rb": 0.7711410689989862,4513 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb": 3.2037858919993596,4514 "ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb": 1.7471292699992773,4515 "ee/spec/requests/api/graphql/group/external_audit_event_destinations_spec.rb": 2.2987093179999647,4516 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.661947592998331,4517 "ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb": 1.9794366109999828,4518 "ee/spec/controllers/admin/groups_controller_spec.rb": 0.5111632090010971,4519 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 1.2167338809995272,4520 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb": 0.6573803240007692,4521 "ee/spec/requests/api/graphql/vulnerabilities/scanner_spec.rb": 2.058842377000474,4522 "ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb": 1.5585912079986883,4523 "ee/spec/requests/api/graphql/group/ci_cd_settings_spec.rb": 0.5118026489999465,4524 "ee/spec/mailers/ee/emails/issues_spec.rb": 1.3191102259988838,4525 "ee/spec/requests/admin/user_permission_exports_controller_spec.rb": 0.4906842799991864,4526 "ee/spec/controllers/groups/runners_controller_spec.rb": 0.7766661290006596,4527 "ee/spec/controllers/security/dashboard_controller_spec.rb": 0.716851630999372,4528 "ee/spec/controllers/ee/omniauth_callbacks_controller_spec.rb": 0.3928765239998029,4529 "ee/spec/controllers/ee/sent_notifications_controller_spec.rb": 1.7008514219996869,4530 "ee/spec/controllers/admin/dashboard_controller_spec.rb": 0.6249512449994654,4531 "ee/spec/controllers/dashboard_controller_spec.rb": 1.0382519079994381,4532 "ee/spec/controllers/users_controller_spec.rb": 0.7831887590000406,4533 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/update_spec.rb": 1.2672638590011047,4534 "ee/spec/mailers/emails/user_cap_spec.rb": 0.5379810390004423,4535 "ee/spec/requests/groups/contribution_analytics_spec.rb": 0.7826631879997876,4536 "ee/spec/requests/rack_attack_global_spec.rb": 0.7455907399998978,4537 "ee/spec/controllers/admin/impersonations_controller_spec.rb": 0.48571306000121695,4538 "ee/spec/mailers/devise_mailer_spec.rb": 0.4170889039996837,4539 "ee/spec/controllers/countries_controller_spec.rb": 0.213308960999711424540}4541Knapsack global time execution for tests: 23m 44s4542Pending: (Failures listed here are expected and do not affect your suite's status)4543 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4544 # Temporarily skipped with xcontext4545 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834546 2) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer return the empty list of wiki pages4547 # Temporarily skipped with xcontext4548 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384549 3) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages without content4550 # Temporarily skipped with xcontext4551 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104552 4) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages with content4553 # Temporarily skipped with xcontext4554 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234555 5) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer return the empty list of wiki pages4556 # Temporarily skipped with xcontext4557 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384558 6) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages without content4559 # Temporarily skipped with xcontext4560 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104561 7) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages with content4562 # Temporarily skipped with xcontext4563 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234564 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4565 # Temporarily skipped with xcontext4566 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834567 9) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer behaves like returns wiki page 4568 # Temporarily skipped with xcontext4569 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544570 10) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is false behaves like returns wiki page 4571 # Temporarily skipped with xcontext4572 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544573 11) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is true behaves like returns wiki page 4574 # Temporarily skipped with xcontext4575 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544576 12) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is not present retrieves the last version4577 # Temporarily skipped with xcontext4578 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:954579 13) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set retrieves the specific page version4580 # Temporarily skipped with xcontext4581 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1034582 14) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found4583 # Temporarily skipped with xcontext4584 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754585 15) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found4586 # Temporarily skipped with xcontext4587 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754588 16) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer behaves like returns wiki page 4589 # Temporarily skipped with xcontext4590 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544591 17) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is false behaves like returns wiki page 4592 # Temporarily skipped with xcontext4593 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544594 18) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is true behaves like returns wiki page 4595 # Temporarily skipped with xcontext4596 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:544597 19) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is not present retrieves the last version4598 # Temporarily skipped with xcontext4599 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:954600 20) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set retrieves the specific page version4601 # Temporarily skipped with xcontext4602 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1034603 21) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found4604 # Temporarily skipped with xcontext4605 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754606 22) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page does not exist returns 404 Wiki Page Not Found4607 # Temporarily skipped with xcontext4608 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754609 23) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4610 # Temporarily skipped with xcontext4611 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834612 24) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page4613 # Temporarily skipped with xcontext4614 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1174615 25) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty title4616 # Temporarily skipped with xcontext4617 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314618 26) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty content4619 # Temporarily skipped with xcontext4620 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314621 27) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page4622 # Temporarily skipped with xcontext4623 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1174624 28) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty title4625 # Temporarily skipped with xcontext4626 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314627 29) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty content4628 # Temporarily skipped with xcontext4629 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314630 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4631 # Temporarily skipped with xcontext4632 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834633 31) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page4634 # Temporarily skipped with xcontext4635 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1444636 32) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing title4637 # Temporarily skipped with xcontext4638 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564639 33) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing content4640 # Temporarily skipped with xcontext4641 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564642 34) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing format4643 # Temporarily skipped with xcontext4644 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564645 35) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found4646 # Temporarily skipped with xcontext4647 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754648 36) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page4649 # Temporarily skipped with xcontext4650 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1444651 37) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing title4652 # Temporarily skipped with xcontext4653 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564654 38) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing content4655 # Temporarily skipped with xcontext4656 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564657 39) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing format4658 # Temporarily skipped with xcontext4659 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564660 40) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page is not existing returns 404 Wiki Page Not Found4661 # Temporarily skipped with xcontext4662 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1754663 41) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4664 # Temporarily skipped with xcontext4665 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834666 42) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden4667 # Temporarily skipped with xcontext4668 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1674669 43) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content4670 # Temporarily skipped with xcontext4671 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1914672 44) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found4673 # Temporarily skipped with xcontext4674 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1834675 45) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer pushes attachment to the wiki repository4676 # Temporarily skipped with xcontext4677 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1974678 46) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on empty file4679 # Temporarily skipped with xcontext4680 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2064681 47) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on invalid temp file4682 # Temporarily skipped with xcontext4683 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2164684 48) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer is backward compatible with regular multipart uploads4685 # Temporarily skipped with xcontext4686 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2264687 49) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer pushes attachment to the wiki repository4688 # Temporarily skipped with xcontext4689 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1974690 50) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on empty file4691 # Temporarily skipped with xcontext4692 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2064693 51) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on invalid temp file4694 # Temporarily skipped with xcontext4695 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2164696 52) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer is backward compatible with regular multipart uploads4697 # Temporarily skipped with xcontext4698 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2264699Finished in 23 minutes 48 seconds (files took 1 minute 14.49 seconds to load)47001798 examples, 0 failures, 52 pending4701RSpec exited with 0.4702No examples to retry, congrats!4704Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy4705Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy4707Uploading artifacts...4708coverage/: found 5 matching files and directories 4709crystalball/: found 2 matching files and directories 4710WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 4711knapsack/: found 3 matching files and directories 4712rspec/: found 8 matching files and directories 4713WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 4714log/*.log: found 21 matching files and directories 4715WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2658553593/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com4716WARNING: Retrying... context=artifacts-uploader error=request redirected4717Uploading artifacts as "archive" to coordinator... 201 Created id=2658553593 responseStatus=201 Created token=J8SJP2zo4718Uploading artifacts...4719rspec/junit_rspec.xml: found 1 matching files and directories 4720WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2658553593/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com4721WARNING: Retrying... context=artifacts-uploader error=request redirected4722Uploading artifacts as "junit" to coordinator... 201 Created id=2658553593 responseStatus=201 Created token=J8SJP2zo4724Job succeeded