rspec-ee integration pg12 single-db 1/4
Passed Started
by
@leetickett

Lee Tickett
1Running with gitlab-runner 15.2.0~beta.17.g34ae4a68 (34ae4a68)2 on green-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org GaSD-S1F3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:ac3b8cd6a8b42e839456256bc514d6230b5a2538c738b3d522e1384a2a172b96 for postgres:12 with digest postgres@sha256:e6ffad42c91a4d5a29257a27ac4e160c3ae7196696b37bf2e80410024ed95951 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:09401fed2a421bf0019f96dcec70c85f82ec7b76beb1ae589547b0dc302d6b76 for redis:6.0-alpine with digest redis@sha256:217a9db40a914cc3f6206a143a4d750da0607500cc013a147a4979e08e40beff ...13Starting service elasticsearch:7.17.0 ...14Pulling docker image elasticsearch:7.17.0 ...15Using docker image sha256:6fe993d6e7ed5e00a18f9b146d867b77559bf9948e6596bbf880ddbefeec46f7 for elasticsearch:7.17.0 with digest elasticsearch@sha256:332c6d416808f6e9a2cbcbe0170d9a9bb14bfe772180d37de5084c223dd8948b ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...21Running on runner-gasd-s1f-project-278964-concurrent-0 via runner-gasd-s1f-private-1656912219-46ec4779...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: 115982, done. 28remote: Counting objects: 100% (115982/115982), done. 29remote: Compressing objects: 100% (81018/81018), done. 30remote: Total 115982 (delta 48513), reused 75495 (delta 30560), pack-reused 0 31Receiving objects: 100% (115982/115982), 108.44 MiB | 24.46 MiB/s, done.32Resolving deltas: 100% (48513/48513), done.34 * [new ref] refs/pipelines/579176392 -> refs/pipelines/57917639235Checking out 204b4379 as refs/merge-requests/91556/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 (2673336706)...47Downloading artifacts from coordinator... ok id=2673336706 responseStatus=200 OK token=fJocnS4g48Downloading artifacts for detect-tests (2673336715)...49Downloading artifacts from coordinator... ok id=2673336715 responseStatus=200 OK token=fJocnS4g50Downloading artifacts for retrieve-tests-metadata (2673336722)...51Downloading artifacts from coordinator... ok id=2673336722 responseStatus=200 OK token=fJocnS4g52Downloading artifacts for setup-test-env (2673336712)...53Downloading artifacts from coordinator... ok id=2673336712 responseStatus=200 OK token=fJocnS4g55Using docker image sha256:642191311550aaa03aba1d11d8d921042ead8ee5afeb833fc7e4e3f933b7ed04 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-101-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.17-node-16.14-postgresql-12@sha256:f0990c59018be757dd56365bb2cc6791d65f3f4bf99a431c3b26e3df08260f6a ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh623.2.3363Bundler version 2.2.3364Successfully installed bundler-2.3.15651 gem installed66production:development67Settings are listed in order of priority. The top value will be used.68clean69Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): true70frozen71Set via BUNDLE_FROZEN: true72install_flags73Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"74path75Set for your local app (/builds/gitlab-org/gitlab/.bundle/config): "/builds/gitlab-org/gitlab/vendor"76without77Set via BUNDLE_WITHOUT: [:production, :development]78$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check79Don't run Bundler as root. Bundler can ask for sudo if it is needed, and80installing your bundle as root will break this application for all non-root81users on this machine.82The Gemfile's dependencies are satisfied83==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.84$ bundle pristine pg85Installing pg 1.3.5 with native extensions86==> 'bundle pristine pg' succeeded in 8 seconds.87$ setup_db_user_only88CREATE ROLE89GRANT90==> 'setup_db_user_only' succeeded in 0 seconds.91$ bundle exec rake db:drop db:create db:schema:load db:migrate92Dropped database 'gitlabhq_test'93Dropped database 'gitlabhq_geo_test'94Created database 'gitlabhq_test'95Created database 'gitlabhq_geo_test'96==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 26 seconds.97$ setup_db_praefect98SELECT pg_catalog.set_config('search_path', '', false);99CREATE DATABASE praefect_test ENCODING 'UTF8';100==> 'setup_db_praefect' succeeded in 0 seconds.101$ run_timed_command "gem install knapsack --no-document"102$ gem install knapsack --no-document103Successfully installed knapsack-4.0.01041 gem installed105==> 'gem install knapsack --no-document' succeeded in 1 seconds.106$ run_timed_command "scripts/gitaly-test-spawn"107$ scripts/gitaly-test-spawn108find: ‘/builds/gitlab-org/gitlab/tmp/tests/gitaly/cmd’: No such file or directory109Don't run Bundler as root. Bundler can ask for sudo if it is needed, and110installing your bundle as root will break this application for all non-root111users on this machine.112Using abstract_type 0.0.7113Using concurrent-ruby 1.1.10114Using i18n 1.10.0115Using minitest 5.15.0116Using tzinfo 2.0.4117Using zeitwerk 2.5.4118Using activesupport 6.1.4.7119Using builder 3.2.4120Using erubi 1.10.0121Using mini_portile2 2.8.0122Using racc 1.6.0123Using nokogiri 1.13.6 (x86_64-linux)124Using rails-dom-testing 2.0.3125Using crass 1.0.6126Using loofah 2.16.0127Using rails-html-sanitizer 1.4.2128Using actionview 6.1.4.7129Using rack 2.2.3130Using rack-test 1.1.0131Using actionpack 6.1.4.7132Using ice_nine 0.11.2133Using thread_safe 0.3.6134Using memoizable 0.4.2135Using adamantium 0.2.0136Using public_suffix 4.0.6137Using addressable 2.7.0138Using ast 2.4.2139Using binding_ninja 0.2.3140Using bundler 2.3.15141Using charlock_holmes 0.7.7142Using coderay 1.1.2143Using equalizer 0.0.11144Using concord 0.1.5145Using diff-lcs 1.3146Using dotenv 2.7.6147Using escape_utils 1.2.1148Using factory_bot 5.0.2149Using multipart-post 2.1.1150Using faraday 1.0.1151Using ffi 1.15.3152Using json 2.5.1153Using gemojione 3.3.0154Using mini_mime 1.0.2155Using rugged 1.2.0156Using github-linguist 7.12.1157Using github-markup 1.7.0158Using mime-types-data 3.2020.1104159Using mime-types 3.3.1160Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1161Using rouge 3.27.0162Using sanitize 6.0.0163Using stringex 2.8.5164Using gitlab-gollum-lib 4.2.7.10.gitlab.2165Using google-protobuf 3.19.1 (x86_64-linux)166Using googleapis-common-protos-types 1.3.0167Using grpc 1.42.0 (x86_64-linux)168Using opentracing 0.5.0169Using thrift 0.15.0170Using jaeger-client 1.1.0171Using pg_query 2.1.1172Using redis 4.4.0173Using gitlab-labkit 0.23.0174Using rubyzip 2.3.2175Using thor 1.1.0176Using tomlrb 2.0.1177Using with_env 1.1.0178Using rexml 3.2.5179Using xml-simple 1.1.9180Using gitlab-license_finder 6.14.2.1181Using gitlab-markup 1.7.1182Using grpc-tools 1.42.0183Using sawyer 0.8.2184Using octokit 4.20.0185Using reverse_markdown 1.4.0186Using licensee 9.14.1187Using method_source 0.9.2188Using msgpack 1.3.3189Using optimist 3.0.1190Using parallel 1.19.2191Using parser 3.0.3.2192Using procto 0.0.3193Using unparser 0.4.7194Using proc_to_ast 0.1.0195Using pry 0.12.2196Using rainbow 3.0.0197Using rbtrace 0.4.14198Using rdoc 6.3.2199Using regexp_parser 1.8.1200Using rspec-support 3.8.0201Using rspec-core 3.8.0202Using rspec-expectations 3.8.3203Using rspec-mocks 3.8.0204Using rspec 3.8.0205Using rspec-parameterized 0.4.2206Using rubocop-ast 0.2.0207Using ruby-progressbar 1.10.1208Using unicode-display_width 1.7.0209Using rubocop 0.86.0210Using sentry-raven 3.0.4211Using timecop 0.9.1212Bundle complete! 22 Gemfile dependencies, 100 gems now installed.213Gems in the groups 'production' and 'development' were not installed.214Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`215Checking gitaly-ruby Gemfile...216Checking gitaly-ruby bundle...217The Gemfile's dependencies are satisfied218Trying to connect to gitaly: ..................................... OK219Trying to connect to gitaly2: ....................................................... OK220Starting Praefect with in-memory election strategyTrying to connect to praefect: ....... OK221==> 'scripts/gitaly-test-spawn' succeeded in 11 seconds.222$ source ./scripts/rspec_helpers.sh223$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"224SKIP_FLAKY_TESTS_AUTOMATICALLY: true225RETRY_FAILED_TESTS_IN_NEW_PROCESS: true226KNAPSACK_GENERATE_REPORT: true227FLAKY_RSPEC_GENERATE_REPORT: true228KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb229KNAPSACK_LOG_LEVEL: debug230KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg12_single-db_1_4_report.json231FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json232FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg12_single-db_1_4_report.json233NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg12_single-db_1_4_report.json234SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg12_single-db_1_4_report.txt235RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_integration_pg12_single-db_1_4_report.txt236CRYSTALBALL: 237Knapsack node specs:238ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb239ee/spec/requests/api/scim_spec.rb240ee/spec/controllers/operations_controller_spec.rb241ee/spec/requests/git_http_geo_spec.rb242ee/spec/controllers/admin/application_settings_controller_spec.rb243ee/spec/requests/api/wikis_spec.rb244ee/spec/requests/api/releases_spec.rb245ee/spec/controllers/projects/subscriptions_controller_spec.rb246ee/spec/requests/groups_controller_spec.rb247ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb248ee/spec/controllers/groups/epic_issues_controller_spec.rb249ee/spec/requests/api/graphql/group/epics_spec.rb250ee/spec/requests/api/group_boards_spec.rb251ee/spec/requests/api/group_push_rule_spec.rb252ee/spec/controllers/subscriptions_controller_spec.rb253ee/spec/requests/groups/epics/epic_links_controller_spec.rb254ee/spec/controllers/groups/contribution_analytics_controller_spec.rb255ee/spec/controllers/groups/audit_events_controller_spec.rb256ee/spec/controllers/projects/dependencies_controller_spec.rb257ee/spec/controllers/projects/audit_events_controller_spec.rb258ee/spec/requests/api/project_approval_rules_spec.rb259ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb260ee/spec/requests/api/project_approvals_spec.rb261ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb262ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb263ee/spec/requests/smartcard_controller_spec.rb264ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb265ee/spec/controllers/groups/saml_providers_controller_spec.rb266ee/spec/controllers/ee/projects/jobs_controller_spec.rb267ee/spec/requests/api/project_import_spec.rb268ee/spec/controllers/projects/protected_environments_controller_spec.rb269ee/spec/requests/api/award_emoji_spec.rb270ee/spec/requests/api/graphql/boards/boards_query_spec.rb271ee/spec/requests/api/graphql/iteration_spec.rb272ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb273ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb274ee/spec/controllers/subscriptions/groups_controller_spec.rb275ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb276ee/spec/requests/api/group_variables_spec.rb277ee/spec/requests/api/graphql/mutations/epics/update_spec.rb278ee/spec/controllers/oauth/geo_auth_controller_spec.rb279ee/spec/controllers/groups/billings_controller_spec.rb280ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb281ee/spec/requests/api/ci/variables_spec.rb282ee/spec/requests/repositories/git_http_controller_spec.rb283ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb284ee/spec/requests/api/merge_trains_spec.rb285ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb286ee/spec/controllers/groups/issues_analytics_controller_spec.rb287ee/spec/requests/projects/security/dast_scanner_profiles_controller_spec.rb288ee/spec/controllers/groups/scim_oauth_controller_spec.rb289ee/spec/requests/groups/protected_environments_controller_spec.rb290ee/spec/controllers/ee/registrations_controller_spec.rb291ee/spec/requests/groups/roadmap_controller_spec.rb292ee/spec/requests/api/ci/runner_spec.rb293ee/spec/requests/projects/audit_events_spec.rb294ee/spec/requests/api/license_spec.rb295ee/spec/requests/api/graphql/ci/runner_spec.rb296ee/spec/requests/api/ci/jobs_spec.rb297ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/create_spec.rb298ee/spec/requests/groups/group_members_controller_spec.rb299ee/spec/controllers/concerns/registrations/verification_spec.rb300ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb301ee/spec/controllers/admin/geo/settings_controller_spec.rb302ee/spec/controllers/admin/licenses_controller_spec.rb303ee/spec/controllers/projects/deploy_keys_controller_spec.rb304ee/spec/controllers/groups/roadmap_controller_spec.rb305ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb306ee/spec/requests/api/resource_weight_events_spec.rb307ee/spec/requests/api/graphql/namespace/projects_spec.rb308ee/spec/requests/api/graphql/boards/epic_list_query_spec.rb309ee/spec/requests/api/graphql/mutations/iterations/cadences/destroy_spec.rb310ee/spec/requests/api/dora/metrics_spec.rb311ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb312ee/spec/requests/groups/audit_events_spec.rb313ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb314ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb315ee/spec/controllers/groups/merge_requests_controller_spec.rb316ee/spec/requests/api/group_clusters_spec.rb317ee/spec/controllers/repositories/git_http_controller_spec.rb318ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb319ee/spec/controllers/ee/projects/blob_controller_spec.rb320ee/spec/controllers/admin/audit_logs_controller_spec.rb321ee/spec/requests/customers_dot/proxy_controller_spec.rb322ee/spec/requests/api/ci/runner/jobs_trace_spec.rb323ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb324ee/spec/controllers/projects/incident_management/escalation_policies_controller_spec.rb325ee/spec/requests/api/graphql/milestone_spec.rb326ee/spec/requests/groups/feature_discovery_moments_spec.rb327ee/spec/controllers/security/dashboard_controller_spec.rb328ee/spec/controllers/groups/security/dashboard_controller_spec.rb329ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb330ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb331ee/spec/controllers/projects/repositories_controller_spec.rb332ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb333ee/spec/requests/lfs_locks_api_spec.rb334ee/spec/controllers/concerns/boards_responses_spec.rb335ee/spec/requests/api/graphql/mutations/releases/create_spec.rb336ee/spec/requests/groups/clusters_controller_spec.rb337ee/spec/controllers/registrations/company_controller_spec.rb338ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb339ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb340ee/spec/requests/survey_responses_controller_spec.rb341ee/spec/requests/api/graphql/project/dast_site_profile_spec.rb342ee/spec/requests/projects/security/dast_configuration_controller_spec.rb343ee/spec/controllers/groups/iteration_cadences_controller_spec.rb344ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb345ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb346ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb347ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb348ee/spec/requests/admin/geo/nodes_controller_spec.rb349ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb350ee/spec/controllers/dashboard_controller_spec.rb351ee/spec/controllers/admin/dashboard_controller_spec.rb352ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb353ee/spec/requests/projects/mirrors_controller_spec.rb354ee/spec/controllers/profiles/slacks_controller_spec.rb355ee/spec/controllers/ee/root_controller_spec.rb356ee/spec/requests/api/issue_links_spec.rb357ee/spec/controllers/projects/imports_controller_spec.rb358ee/spec/controllers/users_controller_spec.rb359ee/spec/requests/api/ci/pipelines_spec.rb360ee/spec/mailers/emails/in_product_marketing_spec.rb361ee/spec/controllers/profiles/billings_controller_spec.rb362ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb363ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb364ee/spec/controllers/profiles/keys_controller_spec.rb365ee/spec/controllers/countries_controller_spec.rb366ee/spec/mailers/emails/epics_spec.rb367ee/spec/requests/api/search_spec.rb368Filter specs:369Running specs:370Running all node tests without filter371ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb372ee/spec/requests/api/scim_spec.rb373ee/spec/controllers/operations_controller_spec.rb374ee/spec/requests/git_http_geo_spec.rb375ee/spec/controllers/admin/application_settings_controller_spec.rb376ee/spec/requests/api/wikis_spec.rb377ee/spec/requests/api/releases_spec.rb378ee/spec/controllers/projects/subscriptions_controller_spec.rbKnapsack report generator started!379DEPRECATION 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 call380/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 here381 (called from new_client at /builds/gitlab-org/gitlab/config/initializers/00_connection_logger.rb:21)382Run options: exclude {:quarantine=>true, :level=>"migration"}383Test environment set up in 0.755364492 seconds384Groups::Analytics::CycleAnalytics::StagesController385 when params have only group_id386 when use_vsa_aggregated_tables FF is enabled387 behaves like Value Stream Analytics Stages controller388 GET #index389 succeeds390 returns correct start events391 does not include internal events392 succeeds for subgroups393 renders `forbidden` based on the response of the service object394 when `group_id` is not found395 renders `not_found` when group is missing396 when user has no lower access level than `reporter`397 renders `forbidden` response398 when feature is not available for the group399 renders `forbidden` response400 POST #create401 renders the validation errors402 when `group_id` is not found403 renders `not_found` when group is missing404 when user has no lower access level than `reporter`405 renders `forbidden` response406 when feature is not available for the group407 renders `forbidden` response408 when valid parameters are given409 creates the stage410 PUT #update411 renders the validation errors412 when `group_id` is not found413 renders `not_found` when group is missing414 when user has no lower access level than `reporter`415 renders `forbidden` response416 when feature is not available for the group417 renders `forbidden` response418 when valid parameters are given419 succeeds420 updates the name attribute421 hidden attribute422 updates the hidden attribute423 when positioning parameter is given424 moves the stage before the last place425 DELETE #destroy426 when `group_id` is not found427 renders `not_found` when group is missing428 when user has no lower access level than `reporter`429 renders `forbidden` response430 when feature is not available for the group431 renders `forbidden` response432 when persisted stage id is passed433 succeeds434 deletes the record435 when default stage id is passed436 fails with `forbidden` response437 data endpoints438 GET #median439 matches the response schema440 when valid parameters are given441 succeeds442 accepts optional `project_ids` array443 succeeds444 when `created_before` is missing445 succeeds446 when `created_after` is missing447 succeeds448 when `created_after` is invalid, falls back to default date449 is expected to respond with numeric status code success450 when `created_before` is invalid451 renders `unprocessable_entity`452 when `created_after` is later than `created_before`453 renders `unprocessable_entity`454 when the date range exceeds 180 days455 renders `unprocessable_entity`456 GET #average457 matches the response schema458 when valid parameters are given459 succeeds460 accepts optional `project_ids` array461 succeeds462 when `created_before` is missing463 succeeds464 when `created_after` is missing465 succeeds466 when `created_after` is invalid, falls back to default date467 is expected to respond with numeric status code success468 when `created_before` is invalid469 renders `unprocessable_entity`470 when `created_after` is later than `created_before`471 renders `unprocessable_entity`472 when the date range exceeds 180 days473 renders `unprocessable_entity`474 GET #records475 when valid parameters are given476 succeeds477 accepts optional `project_ids` array478 succeeds479 when `created_before` is missing480 succeeds481 when `created_after` is missing482 succeeds483 when `created_after` is invalid, falls back to default date484 is expected to respond with numeric status code success485 when `created_before` is invalid486 renders `unprocessable_entity`487 when `created_after` is later than `created_before`488 renders `unprocessable_entity`489 when the date range exceeds 180 days490 renders `unprocessable_entity`491 when `group_id` is not found492 renders `not_found` when group is missing493 when user has no lower access level than `reporter`494 renders `forbidden` response495 when feature is not available for the group496 renders `forbidden` response497 sort params498 accepts sort params499 pagination500 exposes pagination headers501 GET #average_duration_chart502 matches the response schema503 when valid parameters are given504 succeeds505 accepts optional `project_ids` array506 succeeds507 when `created_before` is missing508 succeeds509 when `created_after` is missing510 succeeds511 when `created_after` is invalid, falls back to default date512 is expected to respond with numeric status code success513 when `created_before` is invalid514 renders `unprocessable_entity`515 when `created_after` is later than `created_before`516 renders `unprocessable_entity`517 when the date range exceeds 180 days518 renders `unprocessable_entity`519 when `group_id` is not found520 renders `not_found` when group is missing521 when user has no lower access level than `reporter`522 renders `forbidden` response523 when feature is not available for the group524 renders `forbidden` response525 GET #count526 matches the response schema527 when valid parameters are given528 succeeds529 accepts optional `project_ids` array530 succeeds531 when `created_before` is missing532 succeeds533 when `created_after` is missing534 succeeds535 when `created_after` is invalid, falls back to default date536 is expected to respond with numeric status code success537 when `created_before` is invalid538 renders `unprocessable_entity`539 when `created_after` is later than `created_before`540 renders `unprocessable_entity`541 when the date range exceeds 180 days542 renders `unprocessable_entity`543 when `group_id` is not found544 renders `not_found` when group is missing545 when user has no lower access level than `reporter`546 renders `forbidden` response547 when feature is not available for the group548 renders `forbidden` response549 when use_vsa_aggregated_tables FF is disabled550 behaves like Value Stream Analytics Stages controller551 GET #index552 succeeds553 returns correct start events554 does not include internal events555 succeeds for subgroups556 renders `forbidden` based on the response of the service object557 when `group_id` is not found558 renders `not_found` when group is missing559 when user has no lower access level than `reporter`560 renders `forbidden` response561 when feature is not available for the group562 renders `forbidden` response563 POST #create564 renders the validation errors565 when `group_id` is not found566 renders `not_found` when group is missing567 when user has no lower access level than `reporter`568 renders `forbidden` response569 when feature is not available for the group570 renders `forbidden` response571 when valid parameters are given572 creates the stage573 PUT #update574 renders the validation errors575 when `group_id` is not found576 renders `not_found` when group is missing577 when user has no lower access level than `reporter`578 renders `forbidden` response579 when feature is not available for the group580 renders `forbidden` response581 when valid parameters are given582 succeeds583 updates the name attribute584 hidden attribute585 updates the hidden attribute586 when positioning parameter is given587 moves the stage before the last place588 DELETE #destroy589 when `group_id` is not found590 renders `not_found` when group is missing591 when user has no lower access level than `reporter`592 renders `forbidden` response593 when feature is not available for the group594 renders `forbidden` response595 when persisted stage id is passed596 succeeds597 deletes the record598 when default stage id is passed599 fails with `forbidden` response600 data endpoints601 GET #median602 matches the response schema603 when valid parameters are given604 succeeds605 accepts optional `project_ids` array606 succeeds607 when `created_before` is missing608 succeeds609 when `created_after` is missing610 succeeds611 when `created_after` is invalid, falls back to default date612 is expected to respond with numeric status code success613 when `created_before` is invalid614 renders `unprocessable_entity`615 when `created_after` is later than `created_before`616 renders `unprocessable_entity`617 when the date range exceeds 180 days618 renders `unprocessable_entity`619 GET #average620 matches the response schema621 when valid parameters are given622 succeeds623 accepts optional `project_ids` array624 succeeds625 when `created_before` is missing626 succeeds627 when `created_after` is missing628 succeeds629 when `created_after` is invalid, falls back to default date630 is expected to respond with numeric status code success631 when `created_before` is invalid632 renders `unprocessable_entity`633 when `created_after` is later than `created_before`634 renders `unprocessable_entity`635 when the date range exceeds 180 days636 renders `unprocessable_entity`637 GET #records638 when valid parameters are given639 succeeds640 accepts optional `project_ids` array641 succeeds642 when `created_before` is missing643 succeeds644 when `created_after` is missing645 succeeds646 when `created_after` is invalid, falls back to default date647 is expected to respond with numeric status code success648 when `created_before` is invalid649 renders `unprocessable_entity`650 when `created_after` is later than `created_before`651 renders `unprocessable_entity`652 when the date range exceeds 180 days653 renders `unprocessable_entity`654 when `group_id` is not found655 renders `not_found` when group is missing656 when user has no lower access level than `reporter`657 renders `forbidden` response658 when feature is not available for the group659 renders `forbidden` response660 sort params661 accepts sort params662 pagination663 exposes pagination headers664 GET #average_duration_chart665 matches the response schema666 when valid parameters are given667 succeeds668 accepts optional `project_ids` array669 succeeds670 when `created_before` is missing671 succeeds672 when `created_after` is missing673 succeeds674 when `created_after` is invalid, falls back to default date675 is expected to respond with numeric status code success676 when `created_before` is invalid677 renders `unprocessable_entity`678 when `created_after` is later than `created_before`679 renders `unprocessable_entity`680 when the date range exceeds 180 days681 renders `unprocessable_entity`682 when `group_id` is not found683 renders `not_found` when group is missing684 when user has no lower access level than `reporter`685 renders `forbidden` response686 when feature is not available for the group687 renders `forbidden` response688 GET #count689 matches the response schema690 when valid parameters are given691 succeeds692 accepts optional `project_ids` array693 succeeds694 when `created_before` is missing695 succeeds696 when `created_after` is missing697 succeeds698 when `created_after` is invalid, falls back to default date699 is expected to respond with numeric status code success700 when `created_before` is invalid701 renders `unprocessable_entity`702 when `created_after` is later than `created_before`703 renders `unprocessable_entity`704 when the date range exceeds 180 days705 renders `unprocessable_entity`706 when `group_id` is not found707 renders `not_found` when group is missing708 when user has no lower access level than `reporter`709 renders `forbidden` response710 when feature is not available for the group711 renders `forbidden` response712 when params have group_id and value_stream_id713 when use_vsa_aggregated_tables FF is enabled714 behaves like Value Stream Analytics Stages controller715 GET #index716 succeeds717 returns correct start events718 does not include internal events719 succeeds for subgroups720 renders `forbidden` based on the response of the service object721 when `group_id` is not found722 renders `not_found` when group is missing723 when user has no lower access level than `reporter`724 renders `forbidden` response725 when feature is not available for the group726 renders `forbidden` response727 POST #create728 renders the validation errors729 when `group_id` is not found730 renders `not_found` when group is missing731 when user has no lower access level than `reporter`732 renders `forbidden` response733 when feature is not available for the group734 renders `forbidden` response735 when valid parameters are given736 creates the stage737 PUT #update738 renders the validation errors739 when `group_id` is not found740 renders `not_found` when group is missing741 when user has no lower access level than `reporter`742 renders `forbidden` response743 when feature is not available for the group744 renders `forbidden` response745 when valid parameters are given746 succeeds747 updates the name attribute748 hidden attribute749 updates the hidden attribute750 when positioning parameter is given751 moves the stage before the last place752 DELETE #destroy753 when `group_id` is not found754 renders `not_found` when group is missing755 when user has no lower access level than `reporter`756 renders `forbidden` response757 when feature is not available for the group758 renders `forbidden` response759 when persisted stage id is passed760 succeeds761 deletes the record762 when default stage id is passed763 fails with `forbidden` response764 data endpoints765 GET #median766 matches the response schema767 when valid parameters are given768 succeeds769 accepts optional `project_ids` array770 succeeds771 when `created_before` is missing772 succeeds773 when `created_after` is missing774 succeeds775 when `created_after` is invalid, falls back to default date776 is expected to respond with numeric status code success777 when `created_before` is invalid778 renders `unprocessable_entity`779 when `created_after` is later than `created_before`780 renders `unprocessable_entity`781 when the date range exceeds 180 days782 renders `unprocessable_entity`783 GET #average784 matches the response schema785 when valid parameters are given786 succeeds787 accepts optional `project_ids` array788 succeeds789 when `created_before` is missing790 succeeds791 when `created_after` is missing792 succeeds793 when `created_after` is invalid, falls back to default date794 is expected to respond with numeric status code success795 when `created_before` is invalid796 renders `unprocessable_entity`797 when `created_after` is later than `created_before`798 renders `unprocessable_entity`799 when the date range exceeds 180 days800 renders `unprocessable_entity`801 GET #records802 when valid parameters are given803 succeeds804 accepts optional `project_ids` array805 succeeds806 when `created_before` is missing807 succeeds808 when `created_after` is missing809 succeeds810 when `created_after` is invalid, falls back to default date811 is expected to respond with numeric status code success812 when `created_before` is invalid813 renders `unprocessable_entity`814 when `created_after` is later than `created_before`815 renders `unprocessable_entity`816 when the date range exceeds 180 days817 renders `unprocessable_entity`818 when `group_id` is not found819 renders `not_found` when group is missing820 when user has no lower access level than `reporter`821 renders `forbidden` response822 when feature is not available for the group823 renders `forbidden` response824 sort params825 accepts sort params826 pagination827 exposes pagination headers828 GET #average_duration_chart829 matches the response schema830 when valid parameters are given831 succeeds832 accepts optional `project_ids` array833 succeeds834 when `created_before` is missing835 succeeds836 when `created_after` is missing837 succeeds838 when `created_after` is invalid, falls back to default date839 is expected to respond with numeric status code success840 when `created_before` is invalid841 renders `unprocessable_entity`842 when `created_after` is later than `created_before`843 renders `unprocessable_entity`844 when the date range exceeds 180 days845 renders `unprocessable_entity`846 when `group_id` is not found847 renders `not_found` when group is missing848 when user has no lower access level than `reporter`849 renders `forbidden` response850 when feature is not available for the group851 renders `forbidden` response852 GET #count853 matches the response schema854 when valid parameters are given855 succeeds856 accepts optional `project_ids` array857 succeeds858 when `created_before` is missing859 succeeds860 when `created_after` is missing861 succeeds862 when `created_after` is invalid, falls back to default date863 is expected to respond with numeric status code success864 when `created_before` is invalid865 renders `unprocessable_entity`866 when `created_after` is later than `created_before`867 renders `unprocessable_entity`868 when the date range exceeds 180 days869 renders `unprocessable_entity`870 when `group_id` is not found871 renders `not_found` when group is missing872 when user has no lower access level than `reporter`873 renders `forbidden` response874 when feature is not available for the group875 renders `forbidden` response876 when use_vsa_aggregated_tables FF is disabled877 behaves like Value Stream Analytics Stages controller878 GET #index879 succeeds880 returns correct start events881 does not include internal events882 succeeds for subgroups883 renders `forbidden` based on the response of the service object884 when `group_id` is not found885 renders `not_found` when group is missing886 when user has no lower access level than `reporter`887 renders `forbidden` response888 when feature is not available for the group889 renders `forbidden` response890 POST #create891 renders the validation errors892 when `group_id` is not found893 renders `not_found` when group is missing894 when user has no lower access level than `reporter`895 renders `forbidden` response896 when feature is not available for the group897 renders `forbidden` response898 when valid parameters are given899 creates the stage900 PUT #update901 renders the validation errors902 when `group_id` is not found903 renders `not_found` when group is missing904 when user has no lower access level than `reporter`905 renders `forbidden` response906 when feature is not available for the group907 renders `forbidden` response908 when valid parameters are given909 succeeds910 updates the name attribute911 hidden attribute912 updates the hidden attribute913 when positioning parameter is given914 moves the stage before the last place915 DELETE #destroy916 when `group_id` is not found917 renders `not_found` when group is missing918 when user has no lower access level than `reporter`919 renders `forbidden` response920 when feature is not available for the group921 renders `forbidden` response922 when persisted stage id is passed923 succeeds924 deletes the record925 when default stage id is passed926 fails with `forbidden` response927 data endpoints928 GET #median929 matches the response schema930 when valid parameters are given931 succeeds932 accepts optional `project_ids` array933 succeeds934 when `created_before` is missing935 succeeds936 when `created_after` is missing937 succeeds938 when `created_after` is invalid, falls back to default date939 is expected to respond with numeric status code success940 when `created_before` is invalid941 renders `unprocessable_entity`942 when `created_after` is later than `created_before`943 renders `unprocessable_entity`944 when the date range exceeds 180 days945 renders `unprocessable_entity`946 GET #average947 matches the response schema948 when valid parameters are given949 succeeds950 accepts optional `project_ids` array951 succeeds952 when `created_before` is missing953 succeeds954 when `created_after` is missing955 succeeds956 when `created_after` is invalid, falls back to default date957 is expected to respond with numeric status code success958 when `created_before` is invalid959 renders `unprocessable_entity`960 when `created_after` is later than `created_before`961 renders `unprocessable_entity`962 when the date range exceeds 180 days963 renders `unprocessable_entity`964 GET #records965 when valid parameters are given966 succeeds967 accepts optional `project_ids` array968 succeeds969 when `created_before` is missing970 succeeds971 when `created_after` is missing972 succeeds973 when `created_after` is invalid, falls back to default date974 is expected to respond with numeric status code success975 when `created_before` is invalid976 renders `unprocessable_entity`977 when `created_after` is later than `created_before`978 renders `unprocessable_entity`979 when the date range exceeds 180 days980 renders `unprocessable_entity`981 when `group_id` is not found982 renders `not_found` when group is missing983 when user has no lower access level than `reporter`984 renders `forbidden` response985 when feature is not available for the group986 renders `forbidden` response987 sort params988 accepts sort params989 pagination990 exposes pagination headers991 GET #average_duration_chart992 matches the response schema993 when valid parameters are given994 succeeds995 accepts optional `project_ids` array996 succeeds997 when `created_before` is missing998 succeeds999 when `created_after` is missing1000 succeeds1001 when `created_after` is invalid, falls back to default date1002 is expected to respond with numeric status code success1003 when `created_before` is invalid1004 renders `unprocessable_entity`1005 when `created_after` is later than `created_before`1006 renders `unprocessable_entity`1007 when the date range exceeds 180 days1008 renders `unprocessable_entity`1009 when `group_id` is not found1010 renders `not_found` when group is missing1011 when user has no lower access level than `reporter`1012 renders `forbidden` response1013 when feature is not available for the group1014 renders `forbidden` response1015 GET #count1016 matches the response schema1017 when valid parameters are given1018 succeeds1019 accepts optional `project_ids` array1020 succeeds1021 when `created_before` is missing1022 succeeds1023 when `created_after` is missing1024 succeeds1025 when `created_after` is invalid, falls back to default date1026 is expected to respond with numeric status code success1027 when `created_before` is invalid1028 renders `unprocessable_entity`1029 when `created_after` is later than `created_before`1030 renders `unprocessable_entity`1031 when the date range exceeds 180 days1032 renders `unprocessable_entity`1033 when `group_id` is not found1034 renders `not_found` when group is missing1035 when user has no lower access level than `reporter`1036 renders `forbidden` response1037 when feature is not available for the group1038 renders `forbidden` response1039API::Scim1040 user with an alphanumeric extern_uid1041 behaves like SCIM API endpoints1042 GET api/scim/v2/groups/:group/Users1043 responds with 404 for a non existent group1044 responds with 404 for a group with no SAML SSO configuration1045 responds with paginated users when there is no filter1046 responds with an error for unsupported filters1047 behaves like SCIM token authenticated1048 without token auth1049 responds with 4011050 existing user matches filter1051 responds with 2001052 sets default values as required by the specification1053 no user matches filter1054 responds with 2001055 GET api/scim/v2/groups/:group/Users/:id1056 responds with 404 for a non existent group1057 responds with 404 for a group with no SAML SSO configuration1058 responds with 404 if there is no user1059 behaves like SCIM token authenticated1060 without token auth1061 responds with 4011062 existing user1063 responds with 2001064 POST api/scim/v2/groups/:group/Users1065 responds with 404 for a non existent group1066 responds with 404 for a group with no SAML SSO configuration1067 behaves like SCIM token authenticated1068 without token auth1069 responds with 4011070 when a provisioning error occurs1071 behaves like filtered params in errors1072 does not expose the password in error response1073 does not expose the access token in error response1074 without an existing user1075 responds with 2011076 has the user external ID1077 has the email1078 created the user1079 created the member with access level set in saml_provider1080 created the identity1081 marks the user as provisioned by the group1082 existing user1083 responds with 2011084 has the user external ID1085 does not mark the user as provisioned1086 behaves like storing arguments in the application context for the API1087 places the expected params in the application context1088 with allowed domain setting switched on1089 with different domains1090 created the user1091 did not create member1092 with invalid user params1093 returns user error1094 with matching domains1095 created the user1096 created the member with access level set in saml_provider1097 PATCH api/scim/v2/groups/:group/Users/:id1098 responds with 404 for a non existent group1099 responds with 404 for a group with no SAML SSO configuration1100 responds with 404 if there is no user1101 deactivates the scim_identity1102 behaves like SCIM token authenticated1103 without token auth1104 responds with 4011105 with owner1106 responds with 4121107 returns the last group owner error1108 does not deactivate the identity1109 Reprovision user1110 activates the scim_identity1111 does not call reprovision service when identity is already active1112 existing user1113 extern UID1114 responds with 2041115 updates the extern_uid1116 user attributes1117 name1118 responds with 2041119 does not update the name1120 responds with an empty response1121 email1122 does not update the email1123 responds with 2041124 userName1125 responds with 2041126 does not update the username1127 responds with an empty response1128 DELETE /scim/v2/groups/:group/Users/:id1129 responds with 404 if there is no user1130 responds with 404 for a non existent group1131 responds with 404 for a group with no SAML SSO configuration1132 existing user1133 responds with 2041134 responds with an empty response1135 deactivates the identity1136 with owner1137 responds with 4121138 returns the last group owner error1139 does not deactivate the identity1140 user with an email extern_uid1141 behaves like SCIM API endpoints1142 GET api/scim/v2/groups/:group/Users1143 responds with 404 for a non existent group1144 responds with 404 for a group with no SAML SSO configuration1145 responds with paginated users when there is no filter1146 responds with an error for unsupported filters1147 behaves like SCIM token authenticated1148 without token auth1149 responds with 4011150 existing user matches filter1151 responds with 2001152 sets default values as required by the specification1153 no user matches filter1154 responds with 2001155 GET api/scim/v2/groups/:group/Users/:id1156 responds with 404 for a non existent group1157 responds with 404 for a group with no SAML SSO configuration1158 responds with 404 if there is no user1159 behaves like SCIM token authenticated1160 without token auth1161 responds with 4011162 existing user1163 responds with 2001164 POST api/scim/v2/groups/:group/Users1165 responds with 404 for a non existent group1166 responds with 404 for a group with no SAML SSO configuration1167 behaves like SCIM token authenticated1168 without token auth1169 responds with 4011170 when a provisioning error occurs1171 behaves like filtered params in errors1172 does not expose the password in error response1173 does not expose the access token in error response1174 without an existing user1175 responds with 2011176 has the user external ID1177 has the email1178 created the user1179 created the member with access level set in saml_provider1180 created the identity1181 marks the user as provisioned by the group1182 existing user1183 responds with 2011184 has the user external ID1185 does not mark the user as provisioned1186 behaves like storing arguments in the application context for the API1187 places the expected params in the application context1188 with allowed domain setting switched on1189 with different domains1190 created the user1191 did not create member1192 with invalid user params1193 returns user error1194 with matching domains1195 created the user1196 created the member with access level set in saml_provider1197 PATCH api/scim/v2/groups/:group/Users/:id1198 responds with 404 for a non existent group1199 responds with 404 for a group with no SAML SSO configuration1200 responds with 404 if there is no user1201 deactivates the scim_identity1202 behaves like SCIM token authenticated1203 without token auth1204 responds with 4011205 with owner1206 responds with 4121207 returns the last group owner error1208 does not deactivate the identity1209 Reprovision user1210 activates the scim_identity1211 does not call reprovision service when identity is already active1212 existing user1213 extern UID1214 responds with 2041215 updates the extern_uid1216 user attributes1217 name1218 responds with 2041219 does not update the name1220 responds with an empty response1221 email1222 does not update the email1223 responds with 2041224 userName1225 responds with 2041226 does not update the username1227 responds with an empty response1228 DELETE /scim/v2/groups/:group/Users/:id1229 responds with 404 if there is no user1230 responds with 404 for a non existent group1231 responds with 404 for a group with no SAML SSO configuration1232 existing user1233 responds with 2041234 responds with an empty response1235 deactivates the identity1236 with owner1237 responds with 4121238 returns the last group owner error1239 does not deactivate the identity1240OperationsController1241 GET #index1242 format html1243 renders index with 200 status code1244 behaves like unlicensed1245 renders 4041246 with an anonymous user1247 redirects to sign-in page1248 format json1249 behaves like unlicensed1250 renders 4041251 with added projects1252 returns a list of added projects1253 returns as many projects as are in the user's dashboard1254 returns a list of added projects1255 without sufficient access level1256 behaves like empty project list1257 returns an empty list1258 without projects1259 behaves like empty project list1260 returns an empty list1261 with an anonymous user1262 returns unauthorized response1263 GET #environments1264 format html1265 renders the view1266 behaves like unlicensed1267 renders 4041268 with an anonymous user1269 redirects to sign-in page1270 format json1271 behaves like unlicensed1272 renders 4041273 with an anonymous user1274 returns unauthorized response1275 with an authenticated user without sufficient access_level1276 returns an empty project list1277 with an authenticated developer1278 returns an empty project list1279 sets the polling interval header1280 returns an empty project list when the project is not in the developer's dashboard1281 with a project in the dashboard1282 returns a project without an environment1283 returns one project with one environment1284 returns multiple projects and environments1285 does not make N+1 queries with multiple environments1286 does not return environments that would be grouped into a folder1287 does not return environments that would be grouped into a folder even when there is only a single environment1288 returns an environment not in a folder1289 returns the last deployment for an environment1290 returns the last deployment's deployable1291 returns a failed deployment1292 does not return a project for which the operations dashboard feature is unavailable1293 returns seven projects when some projects do not have the dashboard feature available1294 returns a maximum of three environments for a project1295 returns a maximum of three environments for multiple projects1296 with environments pagination1297 pagination behaviour1298 with `per_page`1299 behaves like environments pagination1300 is expected to include pagination headers1301 with `page=1`1302 behaves like environments pagination1303 is expected to include pagination headers1304 with `page=2`1305 behaves like environments pagination1306 is expected to include pagination headers1307 N+1 queries1308 avoids N+1 database queries1309 with a pipeline1310 returns the last pipeline for an environment1311 returns the last pipeline details1312 returns an upstream pipeline1313 returns a downstream pipeline1314 POST #create1315 format json1316 behaves like unlicensed1317 renders 4041318 without added projects1319 adds projects to the dashboard1320 cannot add a project twice1321 does not add invalid project ids1322 with added project1323 does not add already added project1324 with an anonymous user1325 redirects to sign-in page1326 DELETE #destroy1327 behaves like unlicensed1328 renders 4041329 with added projects1330 removes a project successfully1331 without projects1332 cannot remove invalid project1333 with an anonymous user1334 redirects to sign-in page1335Git HTTP requests (Geo)1336 when current node is a secondary1337 GET info_refs1338 git pull1339 when the repository exists1340 but has not successfully synced1341 behaves like a Geo 302 redirect to Primary1342 valid Geo JWT token1343 returns a redirect response1344 when terms are enforced1345 behaves like a Geo 302 redirect to Primary1346 valid Geo JWT token1347 returns a redirect response1348 and has successfully synced1349 behaves like a Geo git request1350 post-dated Geo JWT token1351 is expected to respond with numeric status code unauthorized1352 expired Geo JWT token1353 is expected to respond with numeric status code unauthorized1354 invalid Geo JWT token1355 is expected to respond with numeric status code unauthorized1356 no Geo JWT token1357 is expected to respond with numeric status code unauthorized1358 Geo is unlicensed1359 is expected to respond with numeric status code forbidden1360 behaves like a Geo 200 git request1361 valid Geo JWT token1362 returns an OK response with JSON data1363 when terms are enforced1364 behaves like a Geo git request1365 post-dated Geo JWT token1366 is expected to respond with numeric status code unauthorized1367 expired Geo JWT token1368 is expected to respond with numeric status code unauthorized1369 invalid Geo JWT token1370 is expected to respond with numeric status code unauthorized1371 no Geo JWT token1372 is expected to respond with numeric status code unauthorized1373 Geo is unlicensed1374 is expected to respond with numeric status code forbidden1375 behaves like a Geo 200 git request1376 valid Geo JWT token1377 returns an OK response with JSON data1378 when the repository does not exist1379 behaves like a Geo 302 redirect to Primary1380 valid Geo JWT token1381 returns a redirect response1382 when terms are enforced1383 behaves like a Geo 302 redirect to Primary1384 valid Geo JWT token1385 returns a redirect response1386 when the project does not exist1387 behaves like a Geo 302 redirect to Primary1388 valid Geo JWT token1389 returns a redirect response1390 when terms are enforced1391 behaves like a Geo 302 redirect to Primary1392 valid Geo JWT token1393 returns a redirect response1394 git push1395 behaves like a Geo 302 redirect to Primary1396 valid Geo JWT token1397 returns a redirect response1398 POST git_upload_pack1399 when the repository exists1400 behaves like a Geo git request1401 post-dated Geo JWT token1402 is expected to respond with numeric status code unauthorized1403 expired Geo JWT token1404 is expected to respond with numeric status code unauthorized1405 invalid Geo JWT token1406 is expected to respond with numeric status code unauthorized1407 no Geo JWT token1408 is expected to respond with numeric status code unauthorized1409 Geo is unlicensed1410 is expected to respond with numeric status code forbidden1411 behaves like a Geo 200 git request1412 valid Geo JWT token1413 returns an OK response with JSON data1414 when terms are enforced1415 behaves like a Geo git request1416 post-dated Geo JWT token1417 is expected to respond with numeric status code unauthorized1418 expired Geo JWT token1419 is expected to respond with numeric status code unauthorized1420 invalid Geo JWT token1421 is expected to respond with numeric status code unauthorized1422 no Geo JWT token1423 is expected to respond with numeric status code unauthorized1424 Geo is unlicensed1425 is expected to respond with numeric status code forbidden1426 behaves like a Geo 200 git request1427 valid Geo JWT token1428 returns an OK response with JSON data1429 when the repository does not exist1430 behaves like a Geo 302 redirect to Primary1431 valid Geo JWT token1432 returns a redirect response1433 when terms are enforced1434 behaves like a Geo 302 redirect to Primary1435 valid Geo JWT token1436 returns a redirect response1437 git-lfs1438 Batch API1439 POST /namespace/repo.git/info/lfs/objects/batch1440 operation upload1441 with a valid git-lfs version1442 behaves like a Geo 302 redirect to Primary1443 valid Geo JWT token1444 returns a redirect response1445 with an invalid git-lfs version1446 description: "outdated", version: "git-lfs/2.4.1"1447 that is description: "outdated", version: "git-lfs/2.4.1"1448 is forbidden1449 description: "unknown", version: "git-lfs"1450 that is description: "unknown", version: "git-lfs"1451 is forbidden1452 operation download1453 when the repository exists1454 is handled by the secondary1455 when the repository does not exist1456 behaves like a Geo 302 redirect to Primary1457 valid Geo JWT token1458 returns a redirect response1459 description: "outdated", version: "git-lfs/2.4.1"1460 with an description: "outdated", version: "git-lfs/2.4.1" git-lfs version1461 is handled by the secondary1462 description: "unknown", version: "git-lfs"1463 with an description: "unknown", version: "git-lfs" git-lfs version1464 is handled by the secondary1465 Transfer API1466 GET /namespace/repo.git/gitlab-lfs/objects/<oid>1467 when the repository exists1468 behaves like a Geo 200 git-lfs request1469 valid Geo JWT token1470 returns an OK response with binary data1471 when the repository does not exist1472 behaves like a Geo 302 redirect to Primary1473 valid Geo JWT token1474 returns a redirect response1475 Locks API1476 description: "create", path: "info/lfs/locks", args: {}1477 POST description: "create", path: "info/lfs/locks", args: {}1478 behaves like a Geo 302 redirect to Primary1479 valid Geo JWT token1480 returns a redirect response1481 description: "verify", path: "info/lfs/locks/verify", args: {}1482 POST description: "verify", path: "info/lfs/locks/verify", args: {}1483 behaves like a Geo 302 redirect to Primary1484 valid Geo JWT token1485 returns a redirect response1486 description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1487 POST description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1488 behaves like a Geo 302 redirect to Primary1489 valid Geo JWT token1490 returns a redirect response1491 when current node is the primary1492 POST git_receive_pack1493 when HTTP redirected from a secondary node1494 stores the secondary node ID so the internal API post_receive request can generate the replication lag message1495 when proxying an SSH request from a secondary node1496 when gl_id is provided in JWT token1497 but is invalid1498 geo_gl_id: "key-999"1499 returns a 4031500 geo_gl_id: "key-1"1501 returns a 4031502 geo_gl_id: "key-999"1503 returns a 4031504 geo_gl_id: "junk"1505 returns a 4031506 geo_gl_id: "junk-1"1507 returns a 4031508 geo_gl_id: "kkey-1"1509 returns a 4031510 and is valid1511 but the user has no access1512 returns a 4041513 but the user does not have push access1514 returns a 4031515 and the user has push access1516 returns a 2001517 repository does not exist1518 is expected to respond with numeric status code not_found1519 invalid scope1520 invalid scope of Geo JWT token1521 is expected to respond with numeric status code unauthorized1522 returns correct error1523 Geo JWT token scopes for wiki and repository are not interchangeable1524 for a repository but using a wiki scope1525 is expected to respond with numeric status code unauthorized1526 returns correct error1527 for a wiki but using a repository scope1528 is expected to respond with numeric status code unauthorized1529 returns correct error1530 IP allowed settings1531 returns unauthorized error1532 returns success response1533Admin::ApplicationSettingsController1534 PUT #update1535 updates the EE specific application settings1536 updates repository_size_limit1537 does not accept negative repository_size_limit1538 does not accept invalid repository_size_limit1539 does not accept empty repository_size_limit1540 mirror settings1541 behaves like settings for licensed features1542 does not update settings when licensed feature is not available1543 updates settings when the feature is available1544 default project deletion protection1545 behaves like settings for licensed features1546 does not update settings when licensed feature is not available1547 updates settings when the feature is available1548 default delayed group deletion1549 behaves like settings for licensed features1550 does not update settings when licensed feature is not available1551 updates settings when the feature is available1552 default delayed project deletion1553 behaves like settings for licensed features1554 does not update settings when licensed feature is not available1555 updates settings when the feature is available1556 updating name disabled for users setting1557 behaves like settings for licensed features1558 does not update settings when licensed feature is not available1559 updates settings when the feature is available1560 updating `group_owners_can_manage_default_branch_protection` setting1561 behaves like settings for licensed features1562 does not update settings when licensed feature is not available1563 updates settings when the feature is available1564 updating npm packages request forwarding setting1565 behaves like settings for licensed features1566 does not update settings when licensed feature is not available1567 updates settings when the feature is available1568 updating password complexity settings1569 behaves like settings for licensed features1570 does not update settings when licensed feature is not available1571 updates settings when the feature is available1572 updating pypi packages request forwarding setting1573 behaves like settings for licensed features1574 does not update settings when licensed feature is not available1575 updates settings when the feature is available1576 updating `git_two_factor_session_expiry` setting1577 behaves like settings for licensed features1578 does not update settings when licensed feature is not available1579 updates settings when the feature is available1580 updating git abuse rate-limit settings1581 behaves like settings for licensed features1582 does not update settings when licensed feature is not available1583 updates settings when the feature is available1584 updating maintenance mode setting1585 behaves like settings for licensed features1586 does not update settings when licensed feature is not available1587 updates settings when the feature is available1588 project deletion delay1589 behaves like settings for licensed features1590 does not update settings when licensed feature is not available1591 updates settings when the feature is available1592 additional email footer1593 behaves like settings for licensed features1594 does not update settings when licensed feature is not available1595 updates settings when the feature is available1596 custom project templates settings1597 behaves like settings for licensed features1598 does not update settings when licensed feature is not available1599 updates settings when the feature is available1600 merge request approvers rules1601 behaves like settings for licensed features1602 does not update settings when licensed feature is not available1603 updates settings when the feature is available1604 globally allowed IPs1605 behaves like settings for licensed features1606 does not update settings when licensed feature is not available1607 updates settings when the feature is available1608 required instance ci template1609 behaves like settings for licensed features1610 does not update settings when licensed feature is not available1611 updates settings when the feature is available1612 when ApplicationSetting already has a required_instance_ci_template value1613 with a valid value1614 behaves like settings for licensed features1615 does not update settings when licensed feature is not available1616 updates settings when the feature is available1617 with an empty value1618 sets required_instance_ci_template as nil1619 without key1620 does not set required_instance_ci_template to nil1621 verify panel actions1622 behaves like renders correct panels1623 renders correct action on error1624 redirects to same panel on success1625 behaves like renders correct panels1626 renders correct action on error1627 redirects to same panel on success1628 maintenance mode settings1629 updates maintenance_mode setting1630 updates maintenance_mode_message setting1631 when update disables maintenance mode1632 removes maintenance_mode_message setting1633 when update does not disable maintenance mode1634 does not remove maintenance_mode_message1635 when updating maintenance_mode_message with empty string1636 removes maintenance_mode_message1637 #advanced_search1638 check search version is compatability1639 does not alert when version is compatible1640 alerts when version is incompatible1641 warning if not using index aliases1642 warns when NOT using index aliases1643 does NOT warn when using index aliases1644 does NOT blow up if elasticsearch is unreachable1645 advanced search settings1646 updates the advanced search settings1647 zero-downtime elasticsearch reindexing1648 assigns last elasticsearch reindexing task1649 elasticsearch_aws_secret_access_key setting is blank1650 does not update the elasticsearch_aws_secret_access_key setting1651 GET #seat_link_payload1652 when a non-admin user attempts a request1653 returns a 404 response1654 when an admin user attempts a request1655 returns HTML data1656 returns JSON data1657API::Wikis1658 GET /groups/:id/wikis1659 when group wiki is disabled1660 when user is guest1661 returns 404 Group Not Found1662 when user is developer1663 returns 403 Forbidden1664 when user is maintainer1665 returns 403 Forbidden1666 when wiki is available only for team members1667 when user is guest1668 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1669 when user is developer1670 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1671 when wiki has pages1672 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1673 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1674 when user is maintainer1675 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1676 when wiki has pages1677 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1678 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1679 when wiki is available for everyone with access1680 when user is guest1681 returns 404 Group Not Found1682 when user is developer1683 return the empty list of wiki pages1684 when wiki has pages1685 returns the list of wiki pages without content1686 returns the list of wiki pages with content1687 when user is maintainer1688 return the empty list of wiki pages1689 when wiki has pages1690 returns the list of wiki pages without content1691 returns the list of wiki pages with content1692 GET /groups/:id/wikis/:slug1693 when wiki is disabled1694 when user is guest1695 returns 404 Group Not Found1696 when user is developer1697 returns 403 Forbidden1698 when user is maintainer1699 returns 403 Forbidden1700 when wiki is available only for team members1701 when user is guest1702 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1703 when user is developer1704 behaves like returns wiki page1705 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1706 when render param is false1707 behaves like returns wiki page1708 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1709 when render param is true1710 behaves like returns wiki page1711 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1712 when wiki page has versions1713 when version param is not present1714 retrieves the last version (PENDING: Temporarily skipped with xcontext)1715 when version param is set1716 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1717 when version param is not valid or inexistent1718 behaves like wiki API 404 Wiki Page Not Found1719 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1720 when page does not exist1721 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1722 when user is maintainer1723 behaves like returns wiki page1724 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1725 when render param is false1726 behaves like returns wiki page1727 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1728 when render param is true1729 behaves like returns wiki page1730 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1731 when wiki page has versions1732 when version param is not present1733 retrieves the last version (PENDING: Temporarily skipped with xcontext)1734 when version param is set1735 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1736 when version param is not valid or inexistent1737 behaves like wiki API 404 Wiki Page Not Found1738 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1739 when page does not exist1740 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1741 when wiki is available for everyone with access1742 when user is guest1743 returns 404 Group Not Found1744 when user is developer1745 behaves like returns wiki page1746 is expected to eq "Page 5"1747 when render param is false1748 behaves like returns wiki page1749 is expected to eq "Page 6"1750 when render param is true1751 behaves like returns wiki page1752 is expected to eq "Page 7"1753 when wiki page has versions1754 when version param is not present1755 retrieves the last version1756 when version param is set1757 retrieves the specific page version1758 when version param is not valid or inexistent1759 behaves like wiki API 404 Wiki Page Not Found1760 returns 404 Wiki Page Not Found1761 when page does not exist1762 returns 404 Wiki Page Not Found1763 when user is maintainer1764 behaves like returns wiki page1765 is expected to eq "Page 11"1766 when render param is false1767 behaves like returns wiki page1768 is expected to eq "Page 12"1769 when render param is true1770 behaves like returns wiki page1771 is expected to eq "Page 13"1772 when wiki page has versions1773 when version param is not present1774 retrieves the last version1775 when version param is set1776 retrieves the specific page version1777 when version param is not valid or inexistent1778 behaves like wiki API 404 Wiki Page Not Found1779 returns 404 Wiki Page Not Found1780 when page does not exist1781 returns 404 Wiki Page Not Found1782 POST /groups/:id/wikis1783 when wiki is disabled1784 when user is guest1785 returns 404 Group Not Found1786 when user is developer1787 returns 403 Forbidden1788 when user is maintainer1789 returns 403 Forbidden1790 when wiki is available only for team members1791 when user is guest1792 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1793 when user is developer1794 creates the wiki page (PENDING: Temporarily skipped with xcontext)1795 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1796 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1797 when user is maintainer1798 creates the wiki page (PENDING: Temporarily skipped with xcontext)1799 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1800 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1801 when wiki is available for everyone with access1802 when user is guest1803 returns 404 Group Not Found1804 when user is developer1805 creates the wiki page1806 responds with validation error on empty title1807 responds with validation error on empty content1808 when user is maintainer1809 creates the wiki page1810 responds with validation error on empty title1811 responds with validation error on empty content1812 PUT /group/:id/wikis/:slug1813 when wiki is disabled1814 when user is guest1815 returns 404 Group Not Found1816 when user is developer1817 returns 403 Forbidden1818 when user is maintainer1819 returns 403 Forbidden1820 when wiki is available only for team members1821 when user is guest1822 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1823 when user is developer1824 updates the wiki page (PENDING: Temporarily skipped with xcontext)1825 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1826 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1827 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1828 when page does not exist1829 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1830 when user is maintainer1831 updates the wiki page (PENDING: Temporarily skipped with xcontext)1832 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1833 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1834 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1835 when page is not existing1836 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1837 when wiki is available for everyone with access1838 when user is guest1839 returns 404 Group Not Found1840 when user is developer1841 updates the wiki page1842 updates with wiki with missing title1843 updates with wiki with missing content1844 updates with wiki with missing format1845 when page does not exist1846 returns 404 Wiki Page Not Found1847 when user is maintainer1848 updates the wiki page1849 updates with wiki with missing title1850 updates with wiki with missing content1851 updates with wiki with missing format1852 when page does not exist1853 returns 404 Wiki Page Not Found1854 when user is owner of parent group1855 updates the wiki page1856 updates with wiki with missing title1857 updates with wiki with missing content1858 updates with wiki with missing format1859 DELETE /groups/:id/wikis/:slug1860 when wiki is disabled1861 when user is guest1862 returns 404 Group Not Found1863 when user is developer1864 returns 403 Forbidden1865 when user is maintainer1866 returns 403 Forbidden1867 when wiki is available only for team members1868 when user is guest1869 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1870 when user is developer1871 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)1872 when user is maintainer1873 returns 204 No Content (PENDING: Temporarily skipped with xcontext)1874 when wiki is available for everyone with access1875 when user is guest1876 returns 404 Group Not Found1877 when user is developer1878 returns 403 Forbidden1879 when user is maintainer1880 returns 204 No Content1881 when page does not exist1882 returns 404 Wiki Page Not Found1883 when user is owner of parent group1884 returns 204 No Content1885 POST /groups/:id/wikis/attachments1886 when wiki is disabled1887 when user is guest1888 returns 404 Group Not Found1889 when user is developer1890 returns 403 Forbidden1891 when user is maintainer1892 returns 403 Forbidden1893 when wiki is available only for team members1894 when user is guest1895 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1896 when user is developer1897 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1898 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1899 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1900 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1901 when user is maintainer1902 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1903 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1904 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1905 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1906 when wiki is available for everyone with access1907 when user is guest1908 returns 404 Group Not Found1909 when user is developer1910 pushes attachment to the wiki repository1911 responds with validation error on empty file1912 responds with validation error on invalid temp file1913 is backward compatible with regular multipart uploads1914 when user is maintainer1915 pushes attachment to the wiki repository1916 responds with validation error on empty file1917 responds with validation error on invalid temp file1918 is backward compatible with regular multipart uploads1919API::Releases1920 POST /projects/:id/releases1921 updates the AuditEvent1922 without milestone1923 with milestone1924 is expected to eq "New release"1925 with a group milestone1926 succesfully adds a group milestone1927 adds the milestone1928 fails to add a group milestone if project does not belong to this group1929 returns a 400 error as milestone not found1930 when valid group and project milestones are passed1931 adds the milestone1932 with a supergroup milestone1933 returns a 400 error as milestone not found1934 PUT /projects/:id/releases/:tag_name1935 creates an AuditEvent when a release is updated1936 with milestones1937 no existing milestones1938 add single milestone1939 behaves like update with milestones1940 is expected to eq "Milestones associated with release changed to v1.0"1941 add multiple milestones1942 behaves like update with milestones1943 is expected to eq "Milestones associated with release changed to v1.0, v2.0"1944 existing milestone1945 add milestone1946 behaves like update with milestones1947 is expected to eq "Milestones associated with release changed to v0.1, v1.0"1948 replace milestone1949 behaves like update with milestones1950 is expected to eq "Milestones associated with release changed to v1.0"1951 remove all milestones1952 behaves like update with milestones1953 is expected to eq "Milestones associated with release changed to [none]"1954 with group milestones1955 when a group milestone is passed1956 when there is no project milestone1957 adds the group milestone1958 when there is an existing project milestone1959 replaces the project milestone with the group milestone1960 POST /projects/:id/releases/:tag_name/evidence1961 accepts the request1962 accepts the request when using JOB-TOKEN auth1963 creates the Evidence1964 when tag_name is invalid1965 returns a 4041966 when user is a reporter1967 forbids the request1968 when user is a developer1969 accepts the request1970 when user is not a project member1971 forbids the request1972 when project is public1973 forbids the request1974Projects::SubscriptionsController1975 POST create1976 when user is authorized1977 when feature is available1978 when user is developer in upstream project1979 when project is public1980 when subscription count is below the limit1981 creates a new subscription1982 sets the flash1983 redirects to ci_cd settings1984 when subscription count is above the limit1985 does not create a new subscription1986 sets the flash1987 redirects to ci_cd settings1988 when project is not public1989 does not create a new subscription1990 sets the flash1991 redirects to ci_cd settings1992 when user is not developer in upstream project1993 does not create a new subscription1994 sets the flash1995 redirects to ci_cd settings1996 when feature is not available1997 does not create a new subscription1998 renders a not found response1999 when user is not authorized2000 does not create a new subscription2001 renders a not found response2002 DELETE destroy2003 when user is authorized2004 when feature is available2005 destroys the subscription2006 sets the flash2007 redirects to ci_cd settings2008 when feature is not available2009 does not destroy the subscription2010 renders a not found reseponse2011 when user is not authorized2012 does not destroy the subscription2013 renders a not found response2014GroupsController2015 PUT update2016 setting ip_restriction2017 top-level group2018 when ip_restriction does not exist2019 valid param2020 single IP subnet2021 behaves like creates ip restrictions2022 creates ip restrictions2023 multiple IP subnets2024 behaves like creates ip restrictions2025 creates ip restrictions2026 invalid param2027 adds error message2028 when ip_restriction already exists2029 ip restriction param set2030 valid param2031 single subnet2032 behaves like updates ip restrictions2033 updates ip restrictions2034 multiple subnets2035 a new subnet along with the existing one2036 behaves like updates ip restrictions2037 updates ip restrictions2038 completely new range of subnets2039 behaves like updates ip restrictions2040 updates ip restrictions2041 invalid param2042 not a valid subnet2043 behaves like does not update existing ip restrictions2044 does not change ip restriction records2045 adds error message2046 multiple IP subnets2047 any one of them being not a valid2048 behaves like does not update existing ip restrictions2049 does not change ip restriction records2050 adds error message2051 empty ip restriction param2052 deletes ip restriction2053 subgroup2054 does not create ip restriction2055 with empty ip restriction param2056 updates group setting2057 does not create ip restriction2058 feature is disabled2059 does not create ip restriction2060 setting email domain restrictions2061 top-level group2062 when email domain restriction does not exist2063 valid param2064 single domain2065 behaves like creates email domain restrictions2066 creates email domain restrictions2067 multiple domains2068 behaves like creates email domain restrictions2069 creates email domain restrictions2070 invalid param2071 adds error message2072 when email domain restrictions already exists2073 allowed email domain param set2074 valid param2075 single domain2076 behaves like updates allowed email domain restrictions2077 updates allowed email domain restrictions2078 multiple domains2079 a new domain along with the existing one2080 behaves like updates allowed email domain restrictions2081 updates allowed email domain restrictions2082 completely new set of domains2083 behaves like updates allowed email domain restrictions2084 updates allowed email domain restrictions2085 invalid param2086 not a valid domain2087 behaves like does not update existing email domain restrictions2088 does not change allowed_email_domains records2089 adds error message2090 multiple domains2091 any one of them being not a valid2092 behaves like does not update existing email domain restrictions2093 does not change allowed_email_domains records2094 adds error message2095 empty param2096 deletes all email domain restrictions2097 subgroup2098 does not create email domain restriction2099 feature is disabled2100 does not create email domain restrictions2101 PUT #transfer2102 does not transfer a group with a gitlab saas subscription2103 transfers a subgroup with a parent group with a gitlab saas subscription2104 DELETE #destroy2105 does not delete a group with a gitlab.com subscription2106 deletes a subgroup with a parent group with a gitlab.com subscription2107Groups::OmniauthCallbacksController2108 when request hasn't been validated by omniauth middleware2109 prevents authentication2110 valid credentials2111 when user used to be a member of a group2112 displays a flash message verifying group sign in2113 adds linked identity2114 adds group membership2115 when user was provisioned by other group2116 displays a flash message verifying group sign in2117 does not add linked identity2118 does not add group membership2119 when signed in2120 behaves like and identity already linked2121 displays a flash message verifying group sign in2122 uses existing linked identity2123 skips authenticity token based forgery protection2124 behaves like SAML session initiated2125 redirects to RelayState2126 logs group audit event for authentication2127 stores that a SAML session is active2128 with 2FA2129 stores that a SAML session is active2130 oauth linked with different NameID2131 displays warning to user2132 oauth already linked to another account2133 displays warning to user2134 and identity hasn't been linked2135 links the identity2136 displays a flash indicating the account has been linked2137 logs group audit event for being added to the group2138 when a default access level is specified in the SAML provider2139 sets the access level of the member as per the specified `default_membership_role`2140 behaves like SAML session initiated2141 redirects to RelayState2142 logs group audit event for authentication2143 stores that a SAML session is active2144 with IdP initiated request2145 redirects to account link page2146 lets the user know their account isn't linked yet2147 with enforced_group_managed_accounts enabled2148 redirects to group sign up2149 when not signed in2150 and identity hasn't been linked2151 redirects to group sign up page2152 when sign_up_on_sso feature flag is disabled2153 redirects to sign in page with flash notice2154 behaves like and identity already linked2155 displays a flash message verifying group sign in2156 uses existing linked identity2157 skips authenticity token based forgery protection2158 behaves like SAML session initiated2159 redirects to RelayState2160 logs group audit event for authentication2161 stores that a SAML session is active2162 with 2FA2163 stores that a SAML session is active2164 #failure2165 not signed in2166 doesn't disclose group existence2167 group doesn't exist2168 doesn't disclose group non-existence2169 with access2170 has descriptive error flash2171 redirects back go the SSO page2172 with access to SAML settings for the group2173 redirects to the settings page2174Groups::EpicIssuesController2175 GET #index2176 behaves like unlicensed epics action2177 returns 403 status2178 when epics feature is enabled2179 when user has access to epic2180 returns status 2002181 returns the correct json2182 when user does not have access to epic2183 returns 404 status2184 POST #create2185 behaves like unlicensed epics action2186 returns 403 status2187 when epics feature is enabled2188 when user has permissions to create requested association2189 returns correct response for the correct issue reference2190 creates a new EpicIssue record2191 when user does not have permissions to create requested association2192 returns correct response for the correct issue reference2193 does not create a new EpicIssue record2194 DELETE #destroy2195 behaves like unlicensed epics action2196 returns 403 status2197 when epics feature is enabled2198 when user has permissions to delete the link2199 returns status 2002200 destroys the link2201 when user does not have permissions to delete the link2202 returns status 4032203 does not destroy the link2204 when the epic from the association does not equal epic from the path2205 returns status 4042206 does not destroy the link2207 when the epic_issue record does not exists2208 returns status 4042209 PUT #update2210 behaves like unlicensed epics action2211 returns 403 status2212 when epics feature is enabled2213 when user has permissions to admin the epic2214 returns status 2002215 updates the issue position value2216 when user does not have permissions to admin the epic2217 returns status 4032218 when the epic from the association does not equal epic from the path2219 returns status 4042220 when the epic_issue record does not exists2221 returns status 4042222Epics through GroupQuery2223 Get list of epics from a group2224 when the request is correct2225 returns epics successfully2226 behaves like a working graphql query2227 returns a successful response2228 with multiple epics2229 sorts by created_at descending by default2230 has upvote/downvote information2231 with sort and pagination2232 with start_date_asc2233 behaves like sorted paginated query2234 behaves like requires variables2235 shared example requires variables to be set2237 when sorting2238 sorts correctly2239 when paginating2240 paginates correctly2241 when last and sort params are present2242 fetches last elements without error2243 with start_date_desc2244 behaves like sorted paginated query2245 behaves like requires variables2246 shared example requires variables to be set2248 when sorting2249 sorts correctly2250 when paginating2251 paginates correctly2252 when last and sort params are present2253 fetches last elements without error2254 with end_date_asc2255 behaves like sorted paginated query2256 behaves like requires variables2257 shared example requires variables to be set2259 when sorting2260 sorts correctly2261 when paginating2262 paginates correctly2263 when last and sort params are present2264 fetches last elements without error2265 with end_date_desc2266 behaves like sorted paginated query2267 behaves like requires variables2268 shared example requires variables to be set2270 when sorting2271 sorts correctly2272 when paginating2273 paginates correctly2274 when last and sort params are present2275 fetches last elements without error2276 with created_at_asc2277 behaves like sorted paginated query2278 behaves like requires variables2279 shared example requires variables to be set2281 when sorting2282 sorts correctly2283 when paginating2284 paginates correctly2285 when last and sort params are present2286 fetches last elements without error2287 with created_at_desc2288 behaves like sorted paginated query2289 behaves like requires variables2290 shared example requires variables to be set2292 when sorting2293 sorts correctly2294 when paginating2295 paginates correctly2296 when last and sort params are present2297 fetches last elements without error2298 with updated_at_asc2299 behaves like sorted paginated query2300 behaves like requires variables2301 shared example requires variables to be set2303 when sorting2304 sorts correctly2305 when paginating2306 paginates correctly2307 when last and sort params are present2308 fetches last elements without error2309 with updated_at_desc2310 behaves like sorted paginated query2311 behaves like requires variables2312 shared example requires variables to be set2314 when sorting2315 sorts correctly2316 when paginating2317 paginates correctly2318 when last and sort params are present2319 fetches last elements without error2320 can admin epics2321 when permission is absent2322 returns false for adminEpic2323 when permission is present2324 returns true for adminEpic2325 query performance2326 avoids n+1 queries when loading parent field2327 with negated filters2328 returns only matching epics2329 with top_level_hierarchy_only argument2330 returns only top level matching epics when set as `true`2331 returns all matching epics when set as `false2332 filter2333 with search params2334 returns only matching epics2335 when error requests2336 when epics feature is disabled2337 returns empty2338 when epics feature is enabled2339 returns a nil group for a user without permissions to see the group2340 Get epic from a group2341 when the request is correct2342 returns an epic successfully2343 behaves like a working graphql query2344 returns a successful response2345 N+1 query checks2346 when requesting `user_notes_count`2347 prevents N+1 queries2348 when requesting `user_discussions_count`2349 prevents N+1 queries2350 when requesting related epics fields2351 when requesting `blocked`2352 prevents N+1 queries2353 when requesting blocked_by_count2354 prevents N+1 queries2355 when requesting blocking_count2356 prevents N+1 queries2357 Get related epic links fields2358 returns correct field values2359API::GroupBoards2360 behaves like group and project boards2361 avoids N+1 queries2362 GET /groups/:id/boards2363 when unauthenticated2364 returns authentication error2365 when authenticated2366 returns the issue boards2367 GET /groups/:id/boards/:board_id2368 get a single board by id2369 PUT /groups/:id/boards/:board_id2370 updates the board name2371 updates the issue board booleans2372 GET /groups/:id/boards/:board_id/lists2373 returns issue board lists2374 returns 404 if board not found2375 GET /groups/:id/boards/:board_id/lists/:list_id2376 returns a list2377 returns 404 if list not found2378 POST /groups/:id/boards/lists2379 creates a new issue board list for labels2380 returns 400 when creating a new list if label_id is invalid2381 returns 403 for members with guest role2382 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position2383 updates a list2384 returns 404 error if list id not found2385 returns 403 for members with guest role2386 DELETE /groups/:id/boards/lists/:list_id2387 rejects a non member from deleting a list2388 rejects a user with guest role from deleting a list2389 returns 404 error if list id not found2390 when the user is parent owner2391 deletes the list if an admin requests it2392 behaves like 412 response2393 for a modified ressource2394 returns 412 with a JSON error2395 for an unmodified ressource2396 returns 204 with an empty body2397 behaves like multiple and scoped issue boards2398 multiple issue boards2399 POST /groups/:id/boards2400 creates a board2401 PUT /groups/:id/boards/:board_id2402 updates a board2403 does not remove missing attributes from the board2404 allows removing optional attributes2405 DELETE /groups/:id/boards/:board_id2406 deletes a board2407 with the scoped_issue_board-feature available2408 returns the milestone when the `scoped_issue_board` feature is enabled2409 hides the milestone when the `scoped_issue_board` feature is disabled2410 POST /groups/:id/boards/:board_id/lists2411 behaves like milestone board list2412 when milestone_id is sent2413 returns 400 if milestone is not found2414 returns 400 if milestone list feature is not available2415 creates a milestone list if milestone is found2416 behaves like assignee board list2417 when assignee_id is sent2418 returns 400 if user is not found2419 returns 400 if assignee list feature is not available2420 creates an assignee list if user is found2421 behaves like iteration board list2422 when iteration_id is sent2423 returns 400 if iteration is not found2424 returns 400 if not licensed2425 creates an iteration list if iteration is found2426API::GroupPushRule GroupPushRule2427 GET /groups/:id/push_rule2428 when unlicensed2429 behaves like not found when feature is unavailable2430 is expected to respond with numeric status code not_found2431 authorized user2432 when licensed2433 returns attributes as expected2434 matches response schema2435 when reject_unsigned_commits is unavailable2436 is expected not to have key "reject_unsigned_commits"2437 when commit_committer_check is unavailable2438 is expected not to have key "commit_committer_check"2439 permissions2440 behaves like allow access to api based on role2441 is expected to be allowed for :admin2442 is expected to be allowed for :owner2443 is expected to be denied for :developer2444 is expected to be denied for :reporter2445 is expected to be denied for :guest2446 is expected to be denied for :anonymous2447 when push rule does not exist2448 returns not found2449 POST /groups/:id/push_rule2450 when unlicensed2451 behaves like not found when feature is unavailable2452 is expected to respond with numeric status code not_found2453 authorized user2454 when licensed2455 is expected to respond with numeric status code created2456 is expected to change `PushRule.count` by 12457 creates record with appropriate attributes2458 when push rule exists2459 is expected to eq "Group push rule exists, try updating"2460 permissions2461 behaves like allow access to api based on role2462 is expected to be allowed for :admin2463 is expected to be allowed for :owner2464 is expected to be denied for :developer2465 is expected to be denied for :reporter2466 is expected to be denied for :guest2467 is expected to be denied for :anonymous2468 when no rule is specified2469 is expected to include "at least one parameter must be provided"2470 when reject_unsigned_commits is unavailable2471 returns forbidden2472 and reject_unsigned_commits is not set2473 returns created2474 when commit_committer_check is unavailable2475 is expected to respond with numeric status code forbidden2476 and commit_committer_check is not set2477 returns created2478 PUT /groups/:id/push_rule2479 when unlicensed2480 behaves like not found when feature is unavailable2481 is expected to respond with numeric status code not_found2482 authorized user2483 when licensed2484 is expected to respond with numeric status code ok2485 updates attributes as expected2486 when push rule does not exist for group2487 returns not found2488 permissions2489 behaves like allow access to api based on role2490 is expected to be allowed for :admin2491 is expected to be allowed for :owner2492 is expected to be denied for :developer2493 is expected to be denied for :reporter2494 is expected to be denied for :guest2495 is expected to be denied for :anonymous2496 when no rule is specified2497 is expected to include "at least one parameter must be provided"2498 when reject_unsigned_commits is unavailable2499 returns forbidden2500 and reject_unsigned_commits is not set2501 returns status ok2502 when commit_committer_check is unavailable2503 is expected to respond with numeric status code forbidden2504 and commit_committer_check is not set2505 returns status ok2506 DELETE /groups/:id/push_rule2507 authorized user2508 when licensed2509 with group push rule2510 is expected to equal nil2511 when push rule does not exist2512 returns not found2513 when unlicensed2514 behaves like not found when feature is unavailable2515 is expected to respond with numeric status code not_found2516 permissions2517 behaves like allow access to api based on role2518 is expected to be allowed for :admin2519 is expected to be allowed for :owner2520 is expected to be denied for :developer2521 is expected to be denied for :reporter2522 is expected to be denied for :guest2523 is expected to be denied for :anonymous2524SubscriptionsController2525 GET #new2526 behaves like unauthenticated subscription request2527 is expected to respond with numeric status code redirect2528 is expected to redirect to "/users/sign_up?redirect_from=checkout"2529 stores subscription URL for later2530 with authenticated user2531 is expected to render template layouts/minimal2532 is expected to render template new2533 when there are groups eligible for the subscription2534 assigns the eligible groups for the subscription2535 and request specify which group to use2536 assign requested group2537 request does not specify namespace2538 falls back to users namespace2539 when there are no eligible groups for the subscription2540 assigns eligible groups as an empty array if CustomerDot returns empty payload2541 assigns eligible groups as an empty array if user is not owner of any groups2542 GET #buy_minutes2543 with authenticated user2544 when the add-on plan cannot be found2545 is expected to respond with numeric status code not_found2546 when there are groups eligible for the addon2547 is expected to render template layouts/minimal2548 is expected to render template buy_minutes2549 assigns the group for the addon2550 GET #buy_storage2551 with authenticated user2552 when the add-on plan cannot be found2553 is expected to respond with numeric status code not_found2554 when there are groups eligible for the addon2555 is expected to render template layouts/minimal2556 is expected to render template buy_storage2557 assigns the group for the addon2558 GET #payment_form2559 with unauthorized user2560 is expected to respond with numeric status code redirect2561 is expected to redirect to "/users/sign_in"2562 with authorized user2563 is expected to respond with numeric status code ok2564 returns the data attribute of the client response in JSON format2565 GET #payment_method2566 with unauthorized user2567 is expected to respond with numeric status code redirect2568 is expected to redirect to "/users/sign_in"2569 with authorized user2570 is expected to respond with numeric status code ok2571 returns the data attribute of the client response in JSON format2572 GET #validate_payment_method2573 with unauthorized user2574 is expected to respond with numeric status code unauthorized2575 with authorized user2576 is expected to respond with numeric status code ok2577 is expected to be successful2578 POST #create2579 with unauthorized user2580 is expected to respond with numeric status code unauthorized2581 with authorized user2582 when setting up for a company2583 updates the setup_for_company attribute of the current user2584 creates a group based on the company2585 when not setting up for a company2586 does not update the setup_for_company attribute of the current user2587 creates a group based on the user2588 when an error occurs creating a group2589 returns the errors in json format2590 when invalid name is passed2591 returns the errors in json format2592 tracks errors2593 on successful creation of a subscription2594 is expected to respond with numeric status code ok2595 returns the group edit location in JSON format2596 on unsuccessful creation of a subscription2597 is expected to respond with numeric status code ok2598 returns the error message in JSON format2599 when selecting an existing group2600 when the selected group is eligible for a new subscription2601 does not create a group2602 returns the selected group location in JSON format2603 when having an explicit redirect2604 is expected to respond with numeric status code ok2605 returns the provided redirect path as location2606 tracks the creation of the subscriptions2607 purchasing an addon2608 tracks creation with add-on success message2609 when the selected group is ineligible for a new subscription2610 does not create a group2611 returns a 404 not found2612 when selected group is a sub group2613 is expected to respond with numeric status code not_found2614 when selecting a non existing group2615 is expected to respond with numeric status code not_found2616 when selecting a group without owner role2617 is expected to respond with numeric status code not_found2618Groups::Epics::EpicLinksController2619 GET #index2620 behaves like unlicensed subepics action2621 returns 403 status2622 when epics are enabled2623 when user has access to epic2624 returns the correct JSON response2625 when user does not have access to epic2626 returns 404 status2627 POST #create2628 behaves like unlicensed subepics action2629 returns 403 status2630 when subepics are enabled2631 when user has permissions to create requested association2632 returns correct response for the correct issue reference2633 updates a parent for the referenced epic2634 when user does not have permissions to create requested association2635 returns 403 status2636 does not update parent attribute2637 PUT #update2638 behaves like unlicensed subepics action2639 returns 403 status2640 when subepics are enabled2641 when user has permissions to reorder epics2642 returns status 2002643 updates the epic position2644 when move_before_id is not a sibling epic2645 returns status 4042646 when user does not have permissions to reorder epics2647 returns status 4032648 DELETE #destroy2649 behaves like unlicensed subepics action2650 returns 403 status2651 when epics are enabled2652 when user has permissions to update the parent epic2653 returns status 2002654 destroys the link2655 when user does not have permissions to update the parent epic2656 returns status 4042657 does not destroy the link2658 when the epic does not have any parent2659 returns status 4042660 when user has permissions to update the parent epic but epics feature is disabled2661 does not destroy the link2662Groups::ContributionAnalyticsController2663 #authorize_read_contribution_analytics!2664 when feature is available to the group2665 when user is an auditor2666 allows access2667 when user has access to the group2668 when user has access to the feature2669 renders 2002670 when user does not have access to the feature2671 renders 4042672 #check_contribution_analytics_available!2673 when feature is not available to the group2674 renders 4042675 with contributions2676 sets instance variables properly2677 returns member contributions JSON when format is JSON2678 includes projects in subgroups2679 excludes projects outside of the group2680 does not cause N+1 queries when the format is JSON2681 with views2682 avoids a N+1 query in #show2683 GET #show2684 behaves like disabled when using an external authorization service2685 works when the feature is not enabled2686 renders a 404 with a message when the feature is enabled2687 behaves like tracking unique visits2688 tracks unique visit if the format is HTML2689 tracks unique visit if DNT is not enabled2690 does not track unique visit if DNT is enabled2691 does not track unique visit if the format is JSON2692Groups::AuditEventsController2693 GET #index2694 when authorized owner2696 behaves like when audit_events feature is available2697 renders index with 200 status code2698 tracks search event2699 invokes AuditLogFinder with correct arguments2700 behaves like AuditLogFinder params2701 has the correct params2702 author2703 when no author entity type is specified2704 behaves like AuditLogFinder params2705 has the correct params2706 when the author entity type is specified2707 behaves like AuditLogFinder params2708 has the correct params2709 ordering2710 when no sort order is specified2711 behaves like orders by id descending2712 orders by id descending2713 when sorting by latest events first2714 behaves like orders by id descending2715 orders by id descending2716 when sorting by oldest events first2717 orders by id ascending2718 when sorting by an unsupported sort order2719 behaves like orders by id descending2720 orders by id descending2721 pagination2722 sets instance variables2723 paginates audit events, without casting a count query2724 when invalid date2725 created_before: "invalid-date", created_after: nil2726 returns an error2727 created_before: nil, created_after: true2728 returns an error2729 created_before: "2021-13-10", created_after: nil2730 returns an error2731 created_before: nil, created_after: "2021-02-31"2732 returns an error2733 created_before: "2021-03-31", created_after: "2021-02-31"2734 returns an error2735 when date range is greater than limit2736 behaves like a date range error is returned2737 created_after: "2021-01-01", created_before: "2021-02-02"2738 returns an error2739 created_after: "2022-01-31", created_before: nil2740 returns an error2741 behaves like tracking unique visits2742 tracks unique visit if the format is HTML2743 tracks unique visit if DNT is not enabled2744 does not track unique visit if DNT is enabled2745 does not track unique visit if the format is JSON2746 when authorized auditor2748 behaves like when audit_events feature is available2749 renders index with 200 status code2750 tracks search event2751 invokes AuditLogFinder with correct arguments2752 behaves like AuditLogFinder params2753 has the correct params2754 author2755 when no author entity type is specified2756 behaves like AuditLogFinder params2757 has the correct params2758 when the author entity type is specified2759 behaves like AuditLogFinder params2760 has the correct params2761 ordering2762 when no sort order is specified2763 behaves like orders by id descending2764 orders by id descending2765 when sorting by latest events first2766 behaves like orders by id descending2767 orders by id descending2768 when sorting by oldest events first2769 orders by id ascending2770 when sorting by an unsupported sort order2771 behaves like orders by id descending2772 orders by id descending2773 pagination2774 sets instance variables2775 paginates audit events, without casting a count query2776 when invalid date2777 created_before: "invalid-date", created_after: nil2778 returns an error2779 created_before: nil, created_after: true2780 returns an error2781 created_before: "2021-13-10", created_after: nil2782 returns an error2783 created_before: nil, created_after: "2021-02-31"2784 returns an error2785 created_before: "2021-03-31", created_after: "2021-02-31"2786 returns an error2787 when date range is greater than limit2788 behaves like a date range error is returned2789 created_after: "2021-01-01", created_before: "2021-02-02"2790 returns an error2791 created_after: "2022-01-31", created_before: nil2792 returns an error2793 behaves like tracking unique visits2794 tracks unique visit if the format is HTML2795 tracks unique visit if DNT is not enabled2796 does not track unique visit if DNT is enabled2797 does not track unique visit if the format is JSON2798 authorized as user without admin group permission2799 returns only events by current user2800 unauthorized2801 renders 4042802Projects::DependenciesController2803 GET #index2804 when the "Security & Compliance" feature is disabled2805 is expected to respond with numeric status code not_found2806 with authorized user2807 when feature is available2808 when requesting HTML2809 is expected to respond with numeric status code ok2810 renders the side navigation with the correct submenu set as active2811 with existing report2812 without pagination params2813 returns a hash with dependencies2814 returns status ok2815 returns job path2816 returns success code2817 with params2818 with sorting params2819 when sorted by packager2820 returns sorted list2821 return 20 dependencies2822 when sorted by severity2823 returns sorted list2824 with filter by vulnerable2825 with authorized user to see vulnerabilities2826 return vulnerable dependencies2827 returns vulnerability params2828 with pagination params2829 returns paginated list2830 with found license report2831 include license information to response2832 with a report of the wrong type2833 returns job_not_set_up status2834 returns a nil job_path2835 when report doesn't have dependency list field2836 returns dependencies with vulnerabilities2837 when job failed2838 returns job_failed status2839 when licensed feature is unavailable2840 returns 403 for a JSON request2841 returns a 404 for an HTML request2842 with unauthorized user2843 returns 403 for a JSON request2844 returns a 404 for an HTML request2845Projects::AuditEventsController2846 GET #index2847 when authorized as auditor2848 tracks search event2849 behaves like when audit_events feature is available2850 renders index with 200 status code2851 invokes AuditLogFinder with correct arguments2852 behaves like AuditLogFinder params2853 has the correct params2854 author2855 when no author entity type is specified2856 behaves like AuditLogFinder params2857 has the correct params2858 when the author entity type is specified2859 behaves like AuditLogFinder params2860 has the correct params2861 ordering2862 when no sort order is specified2863 behaves like orders by id descending2864 orders by id descending2865 when sorting by latest events first2866 behaves like orders by id descending2867 orders by id descending2868 when sorting by oldest events first2869 orders by id ascending2870 when sorting by an unsupported sort order2871 behaves like orders by id descending2872 orders by id descending2873 when invalid date2874 created_before: "invalid-date", created_after: nil2875 returns an error2876 created_before: nil, created_after: true2877 returns an error2878 created_before: "2021-13-10", created_after: nil2879 returns an error2880 created_before: nil, created_after: "2021-02-31"2881 returns an error2882 created_before: "2021-03-31", created_after: "2021-02-31"2883 returns an error2884 when date range is greater than limit2885 behaves like a date range error is returned2886 created_after: "2021-01-01", created_before: "2021-02-02"2887 returns an error2888 created_after: "2022-01-31", created_before: nil2889 returns an error2890 behaves like pagination2891 sets instance variables2892 paginates audit events, without casting a count query2893 behaves like when audit_events feature is not available2894 renders 4042895 when authorized as maintainer2896 tracks search event2897 behaves like when audit_events feature is available2898 renders index with 200 status code2899 invokes AuditLogFinder with correct arguments2900 behaves like AuditLogFinder params2901 has the correct params2902 author2903 when no author entity type is specified2904 behaves like AuditLogFinder params2905 has the correct params2906 when the author entity type is specified2907 behaves like AuditLogFinder params2908 has the correct params2909 ordering2910 when no sort order is specified2911 behaves like orders by id descending2912 orders by id descending2913 when sorting by latest events first2914 behaves like orders by id descending2915 orders by id descending2916 when sorting by oldest events first2917 orders by id ascending2918 when sorting by an unsupported sort order2919 behaves like orders by id descending2920 orders by id descending2921 when invalid date2922 created_before: "invalid-date", created_after: nil2923 returns an error2924 created_before: nil, created_after: true2925 returns an error2926 created_before: "2021-13-10", created_after: nil2927 returns an error2928 created_before: nil, created_after: "2021-02-31"2929 returns an error2930 created_before: "2021-03-31", created_after: "2021-02-31"2931 returns an error2932 when date range is greater than limit2933 behaves like a date range error is returned2934 created_after: "2021-01-01", created_before: "2021-02-02"2935 returns an error2936 created_after: "2022-01-31", created_before: nil2937 returns an error2938 behaves like pagination2939 sets instance variables2940 paginates audit events, without casting a count query2941 behaves like when audit_events feature is not available2942 renders 4042943 authorized as user without admin project permission2944 returns only events by current user2945 unauthorized2946 renders 4042947API::ProjectApprovalRules2948 GET /projects/:id/approval_rules/:approval_rule_id2949 when the request is correct2950 matches the response schema2951 when the user is not authorized2952 does not display rule information2953 GET /projects/:id/approval_rules2954 when the request is correct2955 matches the response schema2956 private group filtering2957 excludes private groups if user has no access2958 includes private groups if user has access2959 report_approver rules2960 includes report_approver rules2961 when project is archived2962 when user has normal permissions2963 returns 4032964 when user has project admin permissions2965 allows access2966 POST /projects/:id/approval_rules2967 behaves like an API endpoint for creating project approval rule2968 when missing parameters2969 returns 400 status2970 when user is without access2971 returns 4032972 when the request is correct2973 returns 201 status2974 changes settings properly2975 when protected_branch_ids param is present2976 creates approval rule associated to specified protected branches2977 when applies_to_all_protected_branches param is present2978 returns a list of project protected branches in the response2979 with rule_type set to report_approver2980 without report_type2981 returns a error http status2982 when creating a approval rule for each report_type2983 rule_name: "License-Check", report_type: :license_scanning2984 specifies `report_rule` and `report_type`2985 rule_name: "Coverage-Check", report_type: :code_coverage2986 specifies `report_rule` and `report_type`2987 with valid scanners2988 returns 201 status2989 with valid severity_levels2990 returns 201 status2991 with vulnerabilities_allowed2992 returns 201 status2993 PUT /projects/:id/approval_rules/:approval_rule_id2994 behaves like an API endpoint for updating project approval rule2995 as a project admin2996 behaves like a user with access2997 sets approvers2998 when applies_to_all_protected_branches param is present2999 returns a list of project protected branches in the response3000 when protected_branch_ids param is present3001 associates approval rule to specified protected branches3002 with valid scanners3003 returns 200 status3004 with valid severity_levels3005 returns 200 status3006 when approver already exists3007 when sending json data3008 removes all approvers if empty params are given3009 with vulnerabilities_allowed3010 returns 200 status3011 as a global admin3012 behaves like a user with access3013 sets approvers3014 when applies_to_all_protected_branches param is present3015 returns a list of project protected branches in the response3016 when protected_branch_ids param is present3017 associates approval rule to specified protected branches3018 with valid scanners3019 returns 200 status3020 with valid severity_levels3021 returns 200 status3022 when approver already exists3023 when sending json data3024 removes all approvers if empty params are given3025 with vulnerabilities_allowed3026 returns 200 status3027 as a random user3028 returns 4033029 DELETE /projects/:id/approval_rules/:approval_rule_id3030 behaves like an API endpoint for deleting project approval rule3031 destroys3032 when approval rule not found3033 returns not found3034 when user is not eligible to delete3035 returns forbidden3036Projects::MergeRequests::CreationsController3037 GET #new3038 default templates3039 when a template has been set via project settings3040 does not select a default template3041 when a template has not been set via project settings3042 selects a default template3043 POST #create3044 disables query limiting3045 the approvals_before_merge param3046 when it is less than the one in the target project3047 sets the param to the project value3048 creates the merge request3049 when it is equal to the one in the target project3050 sets the param to the correct value3051 creates the merge request3052 when it is greater than the one in the target project3053 saves the param in the merge request3054 creates the merge request3055 when the target project is a fork of a deleted project3056 uses the default from the target project3057 creates the merge request3058 overriding approvers per MR3059 enabled3060 does create approval rules3061 disabled3062 does not create approval rules3063API::ProjectApprovals3064 GET /projects/:id/approvals3065 only shows approver groups that are visible to the user3066 when the request is correct3067 returns expected boolean values for merge request related attributes3068 returns 200 status3069 matches the response schema3070 when user is an auditor3071 allows access3072 when project is archived3073 when user has normal permissions3074 returns 4033075 when user has project admin permissions3076 allows access3077 when user is an auditor3078 allows access3079 POST /projects/:id/approvals3080 as a project admin3081 behaves like a user with access3082 when missing parameters3083 returns 400 status3084 when the request is correct3085 returns 201 status3086 matches the response schema3087 changes settings properly3088 only shows approver groups that are visible to the current user3089 as a global admin3090 behaves like a user with access3091 when missing parameters3092 returns 400 status3093 when the request is correct3094 returns 201 status3095 matches the response schema3096 changes settings properly3097 only shows approver groups that are visible to the current user3098 updates merge requests settings3099 behaves like updates merge requests settings when possible3100 permission_value: false, param_value: false, final_value: false3101 changes settings properly3102 permission_value: false, param_value: true, final_value: false3103 changes settings properly3104 permission_value: true, param_value: false, final_value: false3105 changes settings properly3106 permission_value: true, param_value: true, final_value: true3107 changes settings properly3108 behaves like updates merge requests settings when possible3109 permission_value: false, param_value: false, final_value: false3110 changes settings properly3111 permission_value: false, param_value: true, final_value: false3112 changes settings properly3113 permission_value: true, param_value: false, final_value: false3114 changes settings properly3115 permission_value: true, param_value: true, final_value: true3116 changes settings properly3117 behaves like updates merge requests settings when possible3118 permission_value: false, param_value: false, final_value: false3119 changes settings properly3120 permission_value: false, param_value: true, final_value: false3121 changes settings properly3122 permission_value: true, param_value: false, final_value: false3123 changes settings properly3124 permission_value: true, param_value: true, final_value: true3125 changes settings properly3126 as a user without access3127 returns 4033128 as a auditor user making changes3129 returns 4033130Groups::Analytics::TasksByTypeController3131 GET #show3132 when valid parameters are given3133 succeeds3134 returns valid count3135 when `label_id` is missing3136 behaves like expects unprocessable_entity response3137 returns unprocessable_entity as response3138 behaves like parameter validation3139 when user access level is lower than reporter3140 returns forbidden as response3141 when license is missing3142 returns forbidden as response3143 when `created_after` parameter is invalid3144 behaves like expects unprocessable_entity response3145 returns unprocessable_entity as response3146 when `created_after` parameter is missing3147 behaves like expects unprocessable_entity response3148 returns unprocessable_entity as response3149 when `created_after` date is later than `created_before` date3150 behaves like expects unprocessable_entity response3151 returns unprocessable_entity as response3152 GET #top_labels3153 when valid parameters are given3154 succeeds3155 returns valid count3156 behaves like parameter validation3157 when user access level is lower than reporter3158 returns forbidden as response3159 when license is missing3160 returns forbidden as response3161 when `created_after` parameter is invalid3162 behaves like expects unprocessable_entity response3163 returns unprocessable_entity as response3164 when `created_after` parameter is missing3165 behaves like expects unprocessable_entity response3166 returns unprocessable_entity as response3167 when `created_after` date is later than `created_before` date3168 behaves like expects unprocessable_entity response3169 returns unprocessable_entity as response3170Projects::FeatureFlagIssuesController3171 GET #index3172 returns linked issues3173 does not return linked issues for a reporter3174 orders by feature_flag_issue id3175 returns the correct relation_path when the feature flag is linked to multiple issues3176 returns the correct relation_path when multiple feature flags are linked to an issue3177 returns the correct relation_path when there are multiple linked feature flags and issues3178 does not make N+1 queries3179 returns only issues readable by the user3180 when feature flag related issues feature is unlicensed3181 does not return linked issues3182 POST #create3183 creates a link between the feature flag and the issue3184 creates a link for the correct feature flag when there are multiple feature flags and projects3185 creates a cross project link for a project in the same namespace3186 creates a cross project link for a project in another namespace3187 does not create a link for a reporter3188 does not create a cross project link when the user is not a member of the issue's project3189 does not create a cross project link when the user is a guest of the issue's project3190 does not create a link when the user cannot read the issue3191 when feature flag related issues feature is unlicensed3192 does not create a link between the feature flag and the issue3193 DELETE #destroy3194 unlinks the issue from the feature flag3195 does not unlink the issue for a reporter3196 when feature flag related issues feature is unlicensed3197 does not unlink the issue3198SmartcardController3199 #auth3200 with smartcard_auth enabled3201 redirects to extract certificate3202 with provider param3203 forwards the provider param3204 with smartcard_auth disabled3205 renders 4043206 #extract_certificate3207 with smartcard_auth enabled3208 redirects to verify certificate3209 with provider param3210 forwards the provider param3211 missing NGINX client certificate header3212 renders unauthorized3213 request from different host / port3214 renders 4043215 with smartcard_auth disabled3216 renders 4043217 #verify_certificate3218 Smartcard::Certificate3219 behaves like a client certificate authentication3220 with smartcard_auth enabled3221 allows sign in3222 redirects to root3223 logs audit event3224 stores active session3225 user does not exist3226 signup allowed3227 creates user3228 signup disabled3229 renders 4013230 missing client certificate param3231 renders unauthorized3232 with smartcard_auth disabled3233 renders 4043234 user already exists3235 finds existing user3236 certificate header formats from NGINX3237 escaped format3238 behaves like valid certificate header3239 authenticates user3240 deprecated format3241 behaves like valid certificate header3242 authenticates user3243 Smartcard::LdapCertificate3244 sets correct parameters for LDAP search3245 behaves like a client certificate authentication3246 with smartcard_auth enabled3247 allows sign in3248 redirects to root3249 logs audit event3250 stores active session3251 user does not exist3252 signup allowed3253 creates user3254 signup disabled3255 renders 4013256 missing client certificate param3257 renders unauthorized3258 with smartcard_auth disabled3259 renders 4043260 user already exists3261 finds existing user3262 user has a different identity3263 doesn't login a user3264 doesn't create a new user entry either3265Creating an Iteration3266 when the user does not have permission3267 does not create iteration3268 behaves like a mutation that returns a top-level access error3269 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"3270 when the user has permission3271 when iterations are disabled3272 behaves like a mutation that returns top-level errors3273 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"3274 when iterations are enabled3275 with iterations_cadences FF disabled3276 behaves like iteration create request3277 when there are several iteration cadences in the group3278 when iteration cadence id is not provided3279 behaves like legacy iteration creation request3280 creates a new iteration in the default manual cadence3281 when iteration cadence id is provided3282 behaves like legacy iteration creation request3283 creates a new iteration in the default manual cadence3284 when there is only one iteration cadence in the group3285 when iteration cadence id is not provided3286 behaves like legacy iteration creation request3287 creates a new iteration in the default manual cadence3288 when iteration cadence id is provided3289 behaves like legacy iteration creation request3290 creates a new iteration in the default manual cadence3291 with iterations_cadences FF enabled3292 behaves like iteration create request3293 when there are several iteration cadences in the group3294 when iteration cadence id is not provided3295 behaves like legacy iteration creation request3296 creates a new iteration in the default manual cadence3297 when iteration cadence id is provided3298 behaves like legacy iteration creation request3299 creates a new iteration in the default manual cadence3300 when there is only one iteration cadence in the group3301 when iteration cadence id is not provided3302 behaves like legacy iteration creation request3303 creates a new iteration in the default manual cadence3304 when iteration cadence id is provided3305 behaves like legacy iteration creation request3306 creates a new iteration in the default manual cadence3307 when title is not given3308 creates an iteration3309 with iterations_cadences FF disabled3310 when title is not given3311 does not create the iteration3312 behaves like a mutation that returns top-level errors3313 is expected to contain exactly "Title can't be blank"3314 when there are ActiveRecord validation errors3315 does not create the iteration3316 behaves like a mutation that returns errors in the response3317 is expected to contain exactly "Start date can't be blank" and "Due date can't be blank"3318 when the list of attributes is empty3319 does not create the iteration3320 behaves like a mutation that returns top-level errors3321 is expected to contain exactly "The list of iteration attributes is empty"3322 when the params contains neither group nor project path3323 does not create the iteration3324 behaves like a mutation that returns top-level errors3325 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"3326 when the params contains both group and project path3327 does not create the iteration3328 behaves like a mutation that returns top-level errors3329 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"3330Groups::SamlProvidersController3331 when per group saml is unlicensed3332 behaves like configuration is prevented3333 GET #show3334 behaves like 404 status3335 returns 404 status3336 POST #create3337 behaves like 404 status3338 returns 404 status3339 PUT #update3340 behaves like 404 status3341 returns 404 status3342 when per group saml is unconfigured3343 behaves like configuration is prevented3344 GET #show3345 behaves like 404 status3346 returns 404 status3347 POST #create3348 behaves like 404 status3349 returns 404 status3350 PUT #update3351 behaves like 404 status3352 returns 404 status3353 when per group saml feature is enabled3354 GET #show3355 shows configuration page3356 has no SCIM token URL3357 has the SCIM token URL when it exists3358 not on a top level group3359 behaves like 404 status3360 returns 404 status3361 with unauthorized user3362 responds with 4043363 PUT #update3364 updates the settings3365 enabling group managed when owner has linked identity3366 group_managed_accounts feature flag enabled3367 updates the flags3368 group_managed_accounts feature flag disabled3369 does not update the setting3370 enabling group managed when owner has not linked identity3371 does not update the flags3372Projects::JobsController3373 GET #show3374 when requesting JSON3375 with shared runner that has quota3376 exposes quota information3377 with shared runner quota exceeded3378 exposes quota information3379 when shared runner has no quota3380 does not exposes quota information3381 when project is public3382 exposes quota information3383 the environment is protected3384 renders successfully3385 anonymous user3386 renders successfully3387API::ProjectImport3388 POST /projects/import3389/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 nil3390 overrides the classification label3391 feature is disabled3392/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 nil3393 uses the default the classification label and ignores override param3394Projects::ProtectedEnvironmentsController3395 #POST create3396 with valid access and params3397 with valid params3398 creates a new ProtectedEnvironment3399 sets a flash3400 redirects to CI/CD settings3401 with invalid params3402 does not create a new ProtectedEnvironment3403 redirects to CI/CD settings3404 with invalid access3405 renders 4043406 #PUT update3407 when the user is authorized3408 finds the requested protected environment3409 updates the protected environment3410 is successful3411 when the user is not authorized3412 is not successful3413 #DELETE destroy3414 when the user is authorized3415 finds the requested protected environment3416 deletes the requested protected environment3417 redirects to CI/CD settings3418 when the user is not authorized3419 is not successful3420API::AwardEmoji3421 GET /groups/:id/awardable/:awardable_id/award_emoji3422 on an epic3423 returns an array of award_emoji3424 returns a 404 error when epic id not found3425 GET /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji3426 returns an array of award emoji3427 GET /groups/:id/awardable/:awardable_id/award_emoji/:award_id3428 on an epic3429 returns the award emoji3430 returns a 404 error if the award is not found3431 GET /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id3432 returns an award emoji3433 POST /groups/:id/awardable/:awardable_id/award_emoji3434 on an epic3435 creates a new award emoji3436 returns a 400 bad request error if the name is not given3437 returns a 404 if the user is not authenticated3438 normalizes +1 as thumbsup award3439 when the emoji already has been awarded3440 returns a 404 status code3441 POST /groups/:id/awardable/:awardable_id/notes/:note_id/award_emoji3442 creates a new award emoji3443 marks Todos on the Noteable as done3444 normalizes +1 as thumbsup award3445 when the emoji already has been awarded3446 returns a 404 status code3447 DELETE /groups/:id/awardable/:awardable_id/award_emoji/:award_id3448 when the awardable is an Epic3449 deletes the award3450 returns a 404 error when the award emoji can not be found3451 behaves like 412 response3452 for a modified ressource3453 returns 412 with a JSON error3454 for an unmodified ressource3455 returns 204 with an empty body3456 DELETE /groups/:id/awardable/:awardable_id/award_emoji/:award_emoji_id3457 deletes the award3458 behaves like 412 response3459 for a modified ressource3460 returns 412 with a JSON error3461 for an unmodified ressource3462 returns 204 with an empty body3463get list of boards3464 for a project3465 behaves like a board epics query3466 returns open epics referenced by issues in the board3467 when board is scoped to a wildcard milestone3468 returns milestone global ID in the correct format3469 for a group3470 behaves like group and project boards query3471 behaves like a working graphql query3472 returns a successful response3473 when the user does not have access to the board parent3474 returns nil3475 when no permission to read board3476 does not return any boards3477 when user can read the board parent3478 does not create a default board3479 sorting and pagination3480 when using default sorting3481 when ascending3482 behaves like sorted paginated query3483 behaves like requires variables3484 shared example requires variables to be set3486 when sorting3487 sorts correctly3488 when paginating3489 paginates correctly3490 when querying for a single board3491 finds the correct board3492 behaves like a working graphql query3493 returns a successful response3494 behaves like a board epics query3495 returns open epics referenced by issues in the board3496 when board is scoped to a wildcard milestone3497 returns milestone global ID in the correct format3498Querying an Iteration3499 when the user has access to the iteration3500 is expected to include {"title" => nil}3501 behaves like a working graphql query3502 returns a successful response3503 when `report` field is included3504 when fullPath argument is not provided3505 current_user: group_member, expected_scope_count: 43506 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3507 current_user: project1_member, expected_scope_count: 43508 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3509 when fullPath argument is provided3510 when current user has authorized access to one or more projects under the namespace3511 scope: group, current_user: group_member, expected_scope_count: 43512 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3513 scope: group, current_user: project1_member, expected_scope_count: 43514 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3515 scope: project1, current_user: group_member, expected_scope_count: 23516 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 2}]}3517 scope: project1, current_user: project1_member, expected_scope_count: 23518 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 2}]}3519 scope: project2, current_user: project2_member, expected_scope_count: 13520 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3521 scope: project2, current_user: group_member, expected_scope_count: 13522 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3523 scope: subgroup, current_user: group_member, expected_scope_count: 13524 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3525 scope: subgroup, current_user: subgroup_member, expected_scope_count: 13526 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3527 when current user cannot access the given namespace3528 scope: other_group, current_user: group_member3529 raises an exception3530 scope: project1, current_user: subgroup_member3531 raises an exception3532 scope: project1, current_user: project2_member3533 raises an exception3534 scope: project2, current_user: project1_member3535 raises an exception3536 scope: subgroup, current_user: project1_member3537 raises an exception3538 when the user does not have access to the iteration3539 is expected to be nil3540 behaves like a working graphql query3541 returns a successful response3542 when ID argument is missing3543 raises an exception3544 scoped path3545 inside a project context3546 group-owned iteration3547 behaves like scoped path3548 is expected to include {"scopedPath" => "/group716/project320/-/iterations/12", "scopedUrl" => /\/group716\/project320\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3549 when given a raw model id (backward compatibility)3550 is expected to include {"scopedPath" => "/group716/project320/-/iterations/12", "scopedUrl" => /\/group716\/project320\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3551 inside a group context3552 group-owned iteration3553 behaves like scoped path3554 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3555 when given a raw model id (backward compatibility)3556 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3557 group-owned iteration3558 behaves like scoped path3559 is expected to include {"scopedPath" => "/groups/group716/group719/-/iterations/12", "scopedUrl" => /\/groups\/group716\/group719\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3560 when given a raw model id (backward compatibility)3561 is expected to include {"scopedPath" => "/groups/group716/group720/-/iterations/12", "scopedUrl" => /\/groups\/group716\/group720\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3562 root context3563 group-owned iteration3564 behaves like scoped path3565 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3566 when given a raw model id (backward compatibility)3567 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3568 project-owned iteration3569 behaves like scoped path3570 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3571 when given a raw model id (backward compatibility)3572 is expected to include {"scopedPath" => "/groups/group716/-/iterations/12", "scopedUrl" => /\/groups\/group716\/-\/iterations\/12$/, "webPath" => "/groups/group716/-/iterations/12", "webUrl" => /\/groups\/group716\/-\/iterations\/12$/}3573Update an external audit event destination header3574 when feature is licensed3575 when current user is a group owner3576 updates the header with the correct attributes3577 when the header attributes are invalid3578 returns correct errors3579 returns the unmutated attribute values3580 behaves like a mutation that does not update a header3581 does not update a header key3582 does not update a header value3583 when streaming_audit_event_headers feature flag is disabled3584 behaves like a mutation that returns top-level errors3585 is expected to contain exactly "feature disabled"3586 behaves like a mutation that does not update a header3587 does not update a header key3588 does not update a header value3589 when current user is a group maintainer3590 behaves like a mutation that does not update a header3591 does not update a header key3592 does not update a header value3593 when current user is a group developer3594 behaves like a mutation that does not update a header3595 does not update a header key3596 does not update a header value3597 when current user is a group guest3598 behaves like a mutation that does not update a header3599 does not update a header key3600 does not update a header value3601 when feature is unlicensed3602 behaves like a mutation on an unauthorized resource3603 behaves like a mutation that returns top-level errors3604 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"3605 behaves like a mutation that does not update a header3606 does not update a header key3607 does not update a header value3608getting Incident Management on-call shifts3609 returns the correct properties of the on-call shifts3610 behaves like a working graphql query3611 returns a successful response3612 performance3613 for past and future shifts3614 behaves like avoids N+1 queries for additional generated shift3615 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed4df911f8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3616 behaves like avoids N+1 queries for additional historical shift3617 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed563dac48 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3618 behaves like avoids N+1 queries for additional participant3619 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed5298e080 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3620 behaves like adds only one query for each additional rotation with participants3621 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed5e0605d8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=17>3622 for future shifts only3623 behaves like avoids N+1 queries for additional generated shift3624 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed4b5f4b10 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3625 behaves like avoids N+1 queries for additional participant3626 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed350d4ab0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3627 behaves like avoids N+1 queries for additional rotation with participants3628 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed4f3d6ac8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3629 for past shifts only3630 behaves like avoids N+1 queries for additional historical shift3631 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed31000250 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3632 behaves like avoids N+1 queries for additional participant3633 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed46fcc110 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3634 behaves like adds only one query for each additional rotation with participants3635 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed48921278 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=16>3636 without required argument starts_at3637 raises an exception3638 without required argument ends_at3639 raises an exception3640Subscriptions::GroupsController3641 GET #edit3642 with an unauthenticated user3643 is expected to respond with numeric status code redirect3644 is expected to redirect to "/users/sign_in"3645 with an authenticated user3646 is expected to respond with numeric status code ok3647 PUT #update3648 with an unauthenticated user3649 is expected to respond with numeric status code redirect3650 is expected to redirect to "/users/sign_in"3651 with an authenticated user who is not a group owner3652 is expected to respond with numeric status code ok3653 is expected to render template edit3654 does not update the name3655 with an authenticated user3656 updates the name3657 updates the path3658 updates the visibility_level3659 redirects to the group path3660 sets flash notice3661 with new_user param3662 sets flash notice3663 when the group cannot be saved3664 does not update the name3665 does not update the path3666 re-renders the edit template3667Destroy an external audit event destination3668 when feature is licensed3669 when current user is a group owner but destination belongs to another group3670 behaves like a mutation on an unauthorized resource3671 behaves like a mutation that returns top-level errors3672 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"3673 behaves like a mutation that does not destroy a destination3674 does not destroy the destination3675 does not audit the destruction3676 when current user is a group owner of a different group3677 behaves like a mutation on an unauthorized resource3678 behaves like a mutation that returns top-level errors3679 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"3680 behaves like a mutation that does not destroy a destination3681 does not destroy the destination3682 does not audit the destruction3683 when current user is a group owner3684 destroys the destination3685 audits the destruction3686 when current user is a group maintainer3687 behaves like a mutation that does not destroy a destination3688 does not destroy the destination3689 does not audit the destruction3690 when current user is a group developer3691 behaves like a mutation that does not destroy a destination3692 does not destroy the destination3693 does not audit the destruction3694 when current user is a group guest3695 behaves like a mutation that does not destroy a destination3696 does not destroy the destination3697 does not audit the destruction3698 when feature is unlicensed3699 behaves like a mutation on an unauthorized resource3700 behaves like a mutation that returns top-level errors3701 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"3702 behaves like a mutation that does not destroy a destination3703 does not destroy the destination3704 does not audit the destruction3705API::GroupVariables3706 GET /groups/:id/variables/:key3707 when there are two variables with the same key on different environments3708 when filter[environment_scope] is not passed3709 returns 4093710 when filter[environment_scope] is passed3711 returns the variable3712 when wrong filter[environment_scope] is passed3713 returns not_found3714 when there is only one variable with provided key3715 returns not_found3716 POST /groups/:id/variables3717 scoped variables3718 :group_scoped_ci_variables licensed feature is available3719 creates a variable with the provided environment scope3720 a variable with the same key and scope exists already3721 does not create a variable3722 :group_scoped_ci_variables licensed feature is not available3723 creates a variable, but does not use the provided environment scope3724 a variable with the same key and scope exists already3725 does not create a variable3726 PUT /groups/:id/variables/:key3727 scoped variables3728 :group_scoped_ci_variables licensed feature is available3729 updates the variable3730 a variable with the same key and scope exists already3731 does not update the variable3732 :group_scoped_ci_variables licensed feature is not available3733 does not update the variable3734Mutations::Epics::Update3735 when the user does not have permission3736 does not update the epic3737 behaves like a mutation that returns a top-level access error3738 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"3739 when the user has permission3740 when epics are disabled3741 behaves like a mutation that returns top-level errors3742 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"3743 when epics are enabled3744 updates the epic3745 when closing the epic3746 closes open epic3747 when reopening the epic3748 allows epic to be reopend3749 when changing labels of the epic3750 adds and removes labels correctly3751 when labels are added3752 adds labels correctly and keeps the title ordering3753 when there are ActiveRecord validation errors3754 does not update the epic3755 behaves like a mutation that returns errors in the response3756 is expected to contain exactly "Title can't be blank"3757 when the list of attributes is empty3758 behaves like a mutation that returns top-level errors3759 is expected to contain exactly "The list of epic attributes is empty"3760Oauth::GeoAuthController3761 GET auth3762 redirects to root_url when state is invalid3763 without a tampered header3764 behaves like a valid redirect to to primary node's oauth endpoint3765 redirects to primary node's oauth endpoint3766 with a tampered HOST header3767 behaves like a valid redirect to to primary node's oauth endpoint3768 redirects to primary node's oauth endpoint3769 with a tampered X-Forwarded-Host header3770 behaves like a valid redirect to to primary node's oauth endpoint3771 redirects to primary node's oauth endpoint3772 GET callback3773 redirection3774 redirects to login screen if state is invalid3775 with a valid state3776 does not display a flash message3777 without a tampered header3778 behaves like a valid redirect to redirect_url3779 redirects to primary node's oauth endpoint3780 with a tampered HOST header3781 behaves like a valid redirect to redirect_url3782 redirects to primary node's oauth endpoint3783 with a tampered X-Forwarded-Host header3784 behaves like a valid redirect to redirect_url3785 redirects to primary node's oauth endpoint3786 invalid credentials3787 handles invalid credentials error3788 non-existent remote user3789 handles non-existent remote user error3790 non-existent local user3791 handles non-existent local user error3792 GET logout3793 when access_token is valid3794 logs out and redirects to the root_url3795 when access_token is invalid3796 shows access token errors3797Groups::BillingsController3798 GET index3799 authorized3800 renders index with 200 status code3801 fetches subscription plans data from customers.gitlab.com3802 behaves like seat count alert3803 when the namespace qualifies for the alert3804 sets the seat_count_data3805 when the feature flag is disabled3806 sets the seat_count_data to nil3807 when the namespace does not qualify for the alert3808 sets the seat_count_data to nil3809 when CustomersDot is unavailable3810 renders a different partial3811 unauthorized3812 renders 404 when user is not an owner3813 renders 404 when it is not gitlab.com3814 POST refresh_seats3815 authorized3816 with feature flag on3817 refreshes subscription seats3818 renders 2003819 when update fails3820 renders 4003821 with feature flag off3822 renders 4003823 unauthorized3824 renders 404 when user is not an owner3825 renders 404 when it is not gitlab.com3826API::Internal::AppSec::Dast::SiteValidations3827 POST /internal/dast/site_validations/:id/transition3828 when a job token header is not set3829 returns 4013830 when user token is set3831 returns 400 and a contextual error message3832 when a job token header is set3833 when user does not have access to the site validation3834 returns 4033835 when site validation does not exist3836 returns 4043837 when site validation and job are associated with different projects3838 returns 4003839 when the job project belongs to the same job token scope3840 returns 400 and a contextual error message3841 when site validation exists3842 when the licensed feature is not available3843 returns 4033844 when user has access to the site validation3845 when the state transition is unknown3846 returns 400 and a contextual error message3847 when the state transition is invalid3848 returns 400 and a contextual error message3849 when the state transition is valid3850 updates the record3851 behaves like it transitions3852 returns 200 and the new state3853 calls the underlying transition method: #start3854 behaves like it transitions3855 returns 200 and the new state3856 calls the underlying transition method: #fail_op3857 behaves like it transitions3858 returns 200 and the new state3859 calls the underlying transition method: #retry3860 behaves like it transitions3861 returns 200 and the new state3862 calls the underlying transition method: #pass3863API::Ci::Variables3864 POST /projects/:id/variables3865 logs audit event3866 logs variable creation3867 PUT /projects/:id/variables/:key3868 logs audit event3869 logs variable protection update3870 DELETE /projects/:id/variables/:key3871 logs audit event3872 logs variable destruction3873Repositories::GitHttpController3874 POST #git_upload_pack3875 geo pulls a personal snippet3876 allows access3877 does not allow access if scope is wrong3878 GET #info_refs3879 smartcard session required3880 user with a smartcard session3881 allows access3882 user without a smartcard session3883 does not allow access3884 with the setting off3885 allows access3886 POST #git_receive_pack3887 when node is a primary Geo one3888 with projects3889 behaves like triggers Geo3890 executes ::Gitlab::Geo::GitPushHttp3891 returns 2003892 with a project wiki3893 behaves like triggers Geo3894 executes ::Gitlab::Geo::GitPushHttp3895 returns 2003896 with a group wiki3897 behaves like triggers Geo3898 executes ::Gitlab::Geo::GitPushHttp3899 returns 2003900 with a personal snippet3901 behaves like triggers Geo3902 executes ::Gitlab::Geo::GitPushHttp3903 returns 2003904 with a project snippet3905 behaves like triggers Geo3906 executes ::Gitlab::Geo::GitPushHttp3907 returns 2003908API::Analytics::ProjectDeploymentFrequency3909 when user has access to the project3910 returns `ok`3911 with params: from 2017 to 20193912 returns `bad_request` with expected message3913 with params: from 2019 to 20173914 returns `bad_request` with expected message3915 with params: from 2020/04/02 to request time3916 returns the expected deployment frequencies3917 with params: from 2020/02/01 to 2020/04/01 by all3918 returns the expected deployment frequencies3919 with params: from 2020/02/01 to 2020/04/01 by month3920 returns the expected deployment frequencies3921 with params: from 2020/02/01 to 2020/04/01 by day3922 returns the expected deployment frequencies3923 with params: invalid interval3924 returns `bad_request`3925 with params: missing from3926 returns `bad_request`3927 when user does not have access to the project3928 returns `not_found`3929 when feature is not available in plan3930 when user has access to the project3931 returns `forbidden`3932 when user does not have access to the project3933 returns `not_found`3934API::MergeTrains3935 GET /projects/:id/merge_trains3936 when there are two merge trains3937 returns merge trains sorted by id in descending order3938 does not have N+1 problem3939 when sort is specified3940 returns merge trains sorted by id in ascending order3941 when scope is specified3942 when scope is active3943 returns active merge trains3944 when scope is complete3945 returns complete merge trains3946 when user is guest3947 forbids the request3948Updating a DAST Profile3949 behaves like an on-demand scan mutation when user cannot run an on-demand scan3950 when a user does not have access to the project3951 behaves like a mutation that returns a top-level access error3952 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"3953 when a user does not have access to run a dast scan on the project3954 behaves like a mutation that returns a top-level access error3955 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"3956 behaves like an on-demand scan mutation when user can run an on-demand scan3957 returns an empty errors array3958 returns a non-nil dastProfile3959 returns a non-nil pipelineUrl3960 updates the dast_profile3961 when on demand scan licensed feature is not available3962 behaves like a mutation that returns a top-level access error3963 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"3964 when updating fails3965 returns an error3966Groups::IssuesAnalyticsController3967 behaves like issue analytics controller3968 GET #show3969 when issue analytics is not available for license3970 renders 4043971 when user does not have permission to read the resource3972 renders 4043973 when issue analytics is available for license3974 as HTML3975 renders show template3976 as JSON3977 renders new chart data as JSON3978 when new issue analytics data format is disabled3979 renders chart data as JSON3980 when user cannot view issues3981 does not count issues which user cannot view3982 GET #show3983 behaves like tracking unique visits3984 tracks unique visit if the format is HTML3985 tracks unique visit if DNT is not enabled3986 does not track unique visit if DNT is enabled3987 does not track unique visit if the format is JSON3988Projects::Security::DastScannerProfilesController3989 GET #new3990 behaves like a GET request3991 when the "Security & Compliance" feature is disabled3992 is expected to respond with numeric status code not_found3993 feature available3994 user authorized3995 can access page3996 user not authorized3997 sees a 404 error3998 feature not available3999 sees a 404 error4000 GET #edit4001 sets scanner_profile4002 behaves like a GET request4003 when the "Security & Compliance" feature is disabled4004 is expected to respond with numeric status code not_found4005 feature available4006 user authorized4007 can access page4008 user not authorized4009 sees a 404 error4010 feature not available4011 sees a 404 error4012 record does not exist4013 sees a 404 error4014Groups::ScimOauthController4015 when the feature is configured4016 POST #create4017 without token4018 creates a new SCIM token record4019 json4020 shows the token4021 shows the url4022 with token4023 does not create a new SCIM token record4024 updates the token4025 json4026 shows the token4027 shows the url4028Groups::ProtectedEnvironmentsController4029 #POST create4030 with valid params4031 creates a new ProtectedEnvironment4032 sets a flash4033 redirects to CI/CD settings4034 with invalid params4035 does not create a new ProtectedEnvironment4036 redirects to CI/CD settings4037 with invalid access4038 renders 4044039 #PUT update4040 updates the protected environment4041 with invalid params4042 returns unprocessable_entity4043 when the user is not authorized4044 renders 4044045 #DELETE destroy4046 finds the requested protected environment4047 deletes the requested protected environment4048 redirects to CI/CD settings4049 when destroy failed4050 sets a flash4051 when the user is not authorized4052 renders 4044053RegistrationsController4054 #create4055 when require admin approval setting is enabled4056 behaves like blocked user by default4057 registers the user in blocked_pending_approval state4058 does not log in the user after sign up4059 shows flash message after signing up4060 when require admin approval setting is disabled4061 behaves like active user by default4062 registers the user in active state4063 does not show any flash message after signing up4064 when user signup cap feature is enabled4065 behaves like blocked user by default4066 registers the user in blocked_pending_approval state4067 does not log in the user after sign up4068 shows flash message after signing up4069 when user signup cap is set4070 behaves like blocked user by default4071 registers the user in blocked_pending_approval state4072 does not log in the user after sign up4073 shows flash message after signing up4074 when user signup cap is not set4075 when require admin approval setting is disabled4076 behaves like active user by default4077 registers the user in active state4078 does not show any flash message after signing up4079 when require admin approval setting is enabled4080 behaves like blocked user by default4081 registers the user in blocked_pending_approval state4082 does not log in the user after sign up4083 shows flash message after signing up4084 audit events4085 when licensed4086 when user registers for the instance4087 logs add email event and instance access request event4088 logs the audit event info4089 with invalid user4090 does not log registration failure4091 #destroy4092 on GitLab.com when the password is automatically set4093 redirects without deleting the account4094Groups::RoadmapController4095 GET /groups/*namespace_id/-/roadmap4096 guest4097 renders without persisting layout4098 logged in4099 not specifying layout4100 renders without persisting layout4101 specifying invalid layout4102 renders without persisting layout4103 specifying layout4104 persists roadmap_layout if different than current layout4105API::Ci::Runner4106 /api/v4/jobs4107 POST /api/v4/jobs/request4108 secrets management4109 when secrets management feature is available4110 when job has secrets configured4111 when runner does not support secrets4112 sets "runner_unsupported" failure reason and does not expose the build at all4113 when runner supports secrets4114 returns secrets configuration4115 job does not have secrets configured4116 doesn not return secrets configuration4117 when secrets management feature is not available4118 job has secrets configured4119 does not return secrets configuration4120 GET api/v4/jobs/:id/artifacts4121 when a job has a cross-project dependency4122 when the job is created by a user with sufficient permission in upstream project4123 behaves like successful artifact download4124 downloads artifacts4125 and the upstream project has disabled public builds4126 behaves like successful artifact download4127 downloads artifacts4128 when the job is created by a user without sufficient permission in upstream project4129 behaves like forbidden request4130 responds with forbidden4131 and the upstream project has disabled public builds4132 behaves like forbidden request4133 responds with forbidden4134 when the upstream project is public and the job user does not have permission in the project4135 behaves like successful artifact download4136 downloads artifacts4137 and the upstream project has disabled public builds4138 behaves like forbidden request4139 responds with forbidden4140view audit events4141 GET /:namespace/:project/-/audit_events4142 returns 200 response4143 avoids N+1 DB queries4144API::License4145 GET /license4146 retrieves the license information if admin is logged in4147 denies access if not admin4148 POST /license4149 adds a new license if admin is logged in4150 denies access if not admin4151 returns 400 if the license cannot be saved4152 DELETE /license/:id4153 returns an error if the license doesn't exist4154 returns 403 if the user is not an admin4155 behaves like license removal4156 destroys a license and returns 2044157 with a cloud license4158 behaves like license removal4159 destroys a license and returns 2044160 GET /licenses4161 returns a collection of licenses4162 returns an empty array if no licenses exist4163 returns 403 if the user is not an admin4164Query.runner(id)4165 upgradeStatus4166 requested by non-paid user4167 with RunnerUpgradeCheck returning :available4168 behaves like runner details fetch operation returning expected upgradeStatus4169 retrieves expected fields4170 requested on an instance with runner_upgrade_management4171 with RunnerUpgradeCheck returning :not_available4172 behaves like runner details fetch operation returning expected upgradeStatus4173 retrieves expected fields4174 with RunnerUpgradeCheck returning :available4175 behaves like runner details fetch operation returning expected upgradeStatus4176 retrieves expected fields4177 with RunnerUpgradeCheck returning :recommended4178 behaves like runner details fetch operation returning expected upgradeStatus4179 retrieves expected fields4180 requested by paid user4181 with RunnerUpgradeCheck returning :not_available4182 behaves like runner details fetch operation returning expected upgradeStatus4183 retrieves expected fields4184 with RunnerUpgradeCheck returning :available4185 behaves like runner details fetch operation returning expected upgradeStatus4186 retrieves expected fields4187 with RunnerUpgradeCheck returning :recommended4188 behaves like runner details fetch operation returning expected upgradeStatus4189 retrieves expected fields4190API::Ci::Jobs4191 GET /projects/:id/jobs/:job_id/artifacts4192 when using job_token to authenticate4193 when cross-project pipelines are enabled4194 user is developer4195 returns specific job artifacts4196 when anonymous user is accessing private artifacts4197 hides artifacts and rejects request4198 when cross-project pipeline are disabled4199 disallows access to the artifacts4200 when the job is not running4201 disallows access to the artifacts4202 GET /projects/:id/artifacts/:ref_name/download?job=name4203 when using job_token to authenticate4204 when cross-project pipelines are enabled4205 when user is developer4206 when artifacts are stored locally4207 returns specific job artifacts4208 when artifacts are stored remotely4209 returns location redirect4210 when user is admin, but not member4211 does not allow to see that artfiact is present4212Creating a new on-call schedule4213 creates a new on-call rotation4214 without required argument project_path4215 behaves like an invalid argument to the mutation4216 behaves like a mutation that returns top-level errors4217 is expected to contain exactly (include "invalid value for projectPath")4218 without required argument schedule_iid4219 behaves like an invalid argument to the mutation4220 behaves like a mutation that returns top-level errors4221 is expected to contain exactly (include "invalid value for scheduleIid")4222 without required argument name4223 behaves like an invalid argument to the mutation4224 behaves like a mutation that returns top-level errors4225 is expected to contain exactly (include "invalid value for name")4226 without required argument starts_at4227 behaves like an invalid argument to the mutation4228 behaves like a mutation that returns top-level errors4229 is expected to contain exactly (include "invalid value for startsAt")4230 without required argument rotation_length4231 behaves like an invalid argument to the mutation4232 behaves like a mutation that returns top-level errors4233 is expected to contain exactly (include "invalid value for rotationLength")4234 without required argument participants4235 behaves like an invalid argument to the mutation4236 behaves like a mutation that returns top-level errors4237 is expected to contain exactly (include "invalid value for participants")4238 time is invalid4239 returns the on-call rotation with errors4240 date is invalid4241 returns the on-call rotation with errors4242Groups::GroupMembersController4243 PUT /groups/*group_id/-/group_members/:id4244 when group has email domain feature enabled4245 for a user with an email belonging to the allowed domain4246 returns error status4247 for a user with an un-verified email belonging to a domain different from the allowed domain4248 returns error status4249 returns error message4250Registrations::Verification4251 #require_verification4252 verification is not required4253 does not redirect4254 verification is required4255 redirects to the new users sign_up groups_project path4256 does not redirect on JS requests4257 does not redirect on POST requests4258 does not redirect when the experiment is inactive4259 #set_requires_verification4260 sets the requires_credit_card_verification attribute4261 when a credit card validation exists4262 does not change the requires_credit_card_verification attribute4263Mutations::Boards::Epics::Create4264 when the user does not have permission4265 behaves like a mutation that returns a top-level access error4266 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"4267 behaves like does not create an epic4268 is expected not to change `Board.count`4269 when the user has permission4270 when all arguments are given4271 when everything is ok4272 creates the epic4273 returns the created epic4274 when arguments are nil resulting in a top level error4275 behaves like does not create an epic4276 is expected not to change `Board.count`4277 behaves like a mutation that returns top-level errors4278 is expected to include /boardId \(Expected value to not be null\)/4279 when argument is blank resulting in an ActiveRecord error4280 returns an error4281 behaves like does not create an epic4282 is expected not to change `Board.count`4283 when arguments are missing4284 behaves like a mutation that returns top-level errors4285 is expected to include /boardId \(Expected value to not be null\)/4286 behaves like does not create an epic4287 is expected not to change `Board.count`4288Admin::Geo::SettingsController4289 #show4290 without a valid license4291 does not redirects to the 403 page4292 does show license alert4293 with a valid license4294 does not show license alert4295 #update4296 with a valid license4297 sets the geo node property in ApplicationSetting4298 redirects the update to the referer4299Admin::LicensesController4300 Upload license4301 redirects back when no license is entered/uploaded4302 renders new with an alert when an invalid license is entered/uploaded4303 redirects to the subscription page when a valid license is entered/uploaded4304 when the license is for a cloud license4305 with offline cloud license4306 redirects to the subscription page when a valid license is entered/uploaded4307 with online cloud license4308 redirects back4309 Trials4310 redirects to the subscription page when a valid trial license is entered/uploaded4311 POST sync_seat_link4312 with a cloud license4313 returns a success response4314 without a cloud license4315 returns a failure response4316 DELETE destroy4317 with a cloud license4318 behaves like license removal4319 removes the license4320 with a legacy license4321 behaves like license removal4322 removes the license4323Projects::DeployKeysController4324 POST create4325 records an audit event4326 /enable/:id4327 with user with permission4328 records an audit event4329 returns 4044330 /disable/:id4331 with admin4332 records an audit event4333Groups::RoadmapController4334 #show4335 when the user is signed in4336 when the user has access to the group4337 when epics feature is disabled4338 behaves like returns 404 status4339 is expected to respond with numeric status code not_found4340 when epics feature is enabled4341 returns 200 status4342 when roadmaps_sort is nil4343 stores roadmaps sorting param in user preference4344 defaults to sort_value_start_date_soon4345 when roadmaps_sort is present4346 update roadmaps_sort with current value4347 when the user does not have access to the group4348 behaves like returns 404 status4349 is expected to respond with numeric status code not_found4350 when user is not signed in4351 when epics feature is enabled4352 when anonymous users does not have access to the group4353 redirects to login page4354 when anonymous users have access to the group4355 stores epics sorting param in a cookie4356Setting weight of an issue4357 returns an error if the user is not allowed to update the issue4358 when weight is a number4359 updates the issue weight4360 when weight is null4361 updates the issue weight4362 when weight is not given4363 returns an error4364 when weight is not an integer4365 raises invalid value error4366API::ResourceWeightEvents4367 GET /projects/:id/issues/:noteable_id/resource_weight_events4368 returns an array of resource weight events4369 returns a 404 error when issue id not found4370 returns 404 when not authorized4371 GET /projects/:id/issues/:noteable_id/resource_weight_events/:event_id4372 returns a resource weight event by id4373 returns 404 when not authorized4374 returns a 404 error if resource weight event not found4375 pagination4376 returns the second page4377Namespace.projects4378 sorting and pagination4379 when sorting by STORAGE4380 behaves like sorted paginated query4381 behaves like requires variables4382 shared example requires variables to be set4384 when sorting4385 sorts correctly4386 when paginating4387 paginates correctly4388Querying an Epic board list4389 does not have an N+1 when querying title4390 when the user has access to the epic list4391 is expected to include {"id" => "gid://gitlab/Boards::EpicList/2"}4392 behaves like a working graphql query4393 returns a successful response4394 when the user does not have access to the list4395 is expected to be nil4396 when ID argument is missing4397 raises an exception4398 when list ID is not found4399 is expected to be nil4400Destroying an iteration cadence4401 when the user does not have permission4402 behaves like a mutation that returns a top-level access error4403 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"4404 when the user has permission4405 when iterations feature is disabled4406 behaves like a mutation that returns top-level errors4407 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"4408 when iterations feature is enabled4409 destroys the iteration cadence4410 when iteration_cadences feature flag is disabled4411 behaves like a mutation that returns errors in the response4412 is expected to contain exactly "Operation not allowed"4413 when required arguments are missing4414 returns error about required argument4415API::Dora::Metrics4416 GET /projects/:id/dora/metrics4417 metric: :deployment_frequency, value1: 1, value2: 24418 returns data4419 metric: :lead_time_for_changes, value1: 3, value2: 44420 returns data4421 metric: :time_to_restore_service, value1: 5, value2: 64422 returns data4423 metric: :change_failure_rate, value1: 7, value2: 44424 returns data4425 with multiple metrics4426 returns combined data4427 backwards compatibility for environment_tier4428 returns combined data4429 when user is guest4430 returns authorization error4431 GET /groups/:id/dora/metrics4432 metric: :deployment_frequency, value1: 1, value2: 24433 returns data4434 metric: :lead_time_for_changes, value1: 3, value2: 44435 returns data4436 metric: :time_to_restore_service, value1: 5, value2: 64437 returns data4438 metric: :change_failure_rate, value1: 7, value2: 44439 returns data4440 with multiple metrics4441 returns combined data4442 backwards compatibility for environment_tier4443 returns combined data4444 when user is guest4445 returns authorization error4446Updating a Requirement4447 when the user does not have permission4448 behaves like requirement update fails4449 does not update requirement4450 behaves like a mutation that returns a top-level access error4451 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"4452 when the user has permission4453 when requirements are disabled4454 behaves like requirement update fails4455 does not update requirement4456 behaves like a mutation that returns a top-level access error4457 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"4458 when requirements are enabled4459DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4460DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4461 updates the requirement4462 when there are ActiveRecord validation errors4463DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4464DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4465 does not update the requirement4466 behaves like a mutation that returns errors in the response4467DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4468DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.4469 is expected to contain exactly "Title can't be blank"4470 when there are no update params4471 behaves like a mutation that returns top-level errors4472 is expected to contain exactly "At least one of title, state, last_test_report_state, description is required"4473view audit events4474 GET /groups/:group/-/audit_events4475 returns 200 response4476 avoids N+1 DB queries4477Query.project(fullPath).dastProfiles.dastProfileSchedule4478 when a user does not have access to the project4479 returns a null project4480 when a user does not have access to dast_profile4481 returns an empty dast_profile4482 when a user has access to dast_profile_schedule4483 returns a dast_profile_schedule4484 behaves like query dastProfiles.dastProfileSchedule shared examples4485 avoids N+1 queries4486Exporting Requirements4487 when the user does not have permission4488 behaves like requirements export fails4489 does not schedule export job4490 behaves like a mutation that returns a top-level access error4491 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"4492 when the user has permission4493 when requirements are disabled4494 behaves like requirements export fails4495 does not schedule export job4496 behaves like a mutation that returns a top-level access error4497 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"4498 when requirements are enabled4499 schedules job to export requirements4500Groups::MergeRequestsController4501 POST #bulk_update4502 when group bulk edit feature is not enabled4503 returns 404 status4504 when group bulk edit feature is enabled4505 when user has permissions to bulk update merge requests4506 returns status 2004507 updates merge requests milestone4508 when user does not have permissions to bulk update merge requests4509 returns status 4044510 does not update merge requests milestone4511API::GroupClusters4512 POST /groups/:id/clusters/user4513 when user sets specific environment scope4514 creates a cluster with that specific environment4515 when does not set an specific environment scope4516 sets default environment4517 PUT /groups/:id/clusters/:cluster_id4518 With a GCP cluster4519 updates the environment scope4520 With an user cluster4521 updates the environment scope4522Repositories::GitHttpController4523 when repository container is a group wiki4524 behaves like Repositories::GitHttpController4525 HEAD #info_refs4526 returns 4034527 GET #info_refs4528 returns 401 for unauthenticated requests to public repositories when http protocol is disabled4529 calls the right access checker class with the right object4530 with authorized user4531 returns 2004532 updates the user activity4533 adds user info to the logs4534 POST #git_upload_pack4535 returns 2004536 git audit streaming event4537 behaves like sends git audit streaming event4538 for public groups and projects4539 when user not logged in4540 sends the audit streaming event4541 for private groups and projects4542 when user logged in4543 sends the audit streaming event4544Create a Compliance Framework4545 framework feature is unlicensed4546 behaves like a mutation that returns errors in the response4547 is expected to contain exactly "Not permitted to create framework"4548 pipeline configuration feature is unlicensed4549 behaves like a mutation that returns errors in the response4550 is expected to contain exactly "Pipeline configuration full path feature is not available"4551 feature is licensed4552 namespace is a personal namespace4553 current_user is namespace owner4554 does not create a new compliance framework4555 behaves like a mutation that returns errors in the response4556 is expected to contain exactly "Failed to create framework" and "Namespace must be a group, user namespaces are not supported."4557 namespace is a group4558 current_user is group owner4559 behaves like a mutation that creates a compliance framework4560 creates a new compliance framework4561 returns the newly created framework4562 current_user is not a group owner4563 current_user is group owner4564 does not create a new compliance framework4565 behaves like a mutation that returns errors in the response4566 is expected to contain exactly "Not permitted to create framework"4567Projects::BlobController4568 POST create4569 redirects to blob4570 behaves like handling the codeowners interaction4571 redirects to blob4572 PUT update4573 behaves like handling the codeowners interaction4574 redirects to blob4575Admin::AuditLogsController4576 GET #index4577 licensed4578 tracks search event4579 pagination4580 paginates audit events, without casting a count query4581 behaves like tracking unique visits4582 tracks unique visit if the format is HTML4583 tracks unique visit if DNT is not enabled4584 does not track unique visit if DNT is enabled4585 does not track unique visit if the format is JSON4586 when invalid date4587 created_before: "invalid-date", created_after: nil4588 returns an error4589 created_before: nil, created_after: true4590 returns an error4591 created_before: "2021-13-10", created_after: nil4592 returns an error4593 created_before: nil, created_after: "2021-02-31"4594 returns an error4595 created_before: "2021-03-31", created_after: "2021-02-31"4596 returns an error4597 when date range is greater than limit4598 behaves like a date range error is returned4599 created_after: "2021-01-01", created_before: "2021-02-02"4600 returns an error4601 created_after: "2022-01-31", created_before: nil4602 returns an error4603 by user4604 finds the user by id when provided with a entity_id4605 finds the user by username when provided with a entity_username4606CustomersDot::ProxyController4607 POST graphql4608 with user signed in4609 behaves like customersdot proxy4610 forwards request body to customers dot4611 responds with customers dot status4612 responds with customers dot response body4613 with no user signed in4614 behaves like customersdot proxy4615 forwards request body to customers dot4616 responds with customers dot status4617 responds with customers dot response body4618API::Ci::Runner4619 PATCH /api/v4/jobs/:id/trace4620 tracks CI minutes usage of running job4621 when CI minutes usage is exceeded4622 drops the job4623 when CI minutes usage is not exceeded4624 does not drop the job4625Query.project(fullPath).dastScannerProfiles4626 when a user does not have access to the project4627 project response4628 is expected to be nil4629 when the user can run a dast scan4630 dast scanner profiles4631 is expected to be empty4632 when a user has access to multiple projects4633 dast scanner profiles4634 returns only the dast_scanner_profile for the requested project4635 when a user has access dast_scanner_profiles4636 dast scanner profiles4637 is expected not to be empty4638 first dast scanner profile id4639 is expected to eq "gid://gitlab/DastScannerProfile/10"4640Projects::IncidentManagement::EscalationPoliciesController4641 GET #index4642 with read permissions4643 renders index with 200 status code4644 with admin permissions4645 renders index with 200 status code4646 unauthorized4647 responds with 4044648 with unavailable feature4649 responds with 4044650 with unavailable on-call schedules feature4651 responds with 4044652Querying a Milestone4653 burnupTimeSeries4654 with insufficient license4655 returns nil4656 when missing dates4657 explains why the report cannot be generated4658 when there are too many events4659 explains why the report cannot be generated4660 with correct license4661 returns burnup chart data4662 group milestones4663 behaves like milestones queried by timeframe4664 query for milestones by timeframe4665 without start4666 returns error4667 without end date4668 returns error4669 with start and end date4670 does not have errors4671 project milestones4672 behaves like milestones queried by timeframe4673 query for milestones by timeframe4674 without start4675 returns error4676 without end date4677 returns error4678 with start and end date4679 does not have errors4680learn about features4681 GET /groups/:group_id/-/discover_premium_and_ultimate4682 check_namespace_plan?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: true, examples_to_run: "renders the page"4683 behaves like renders the page4684 renders the view4685 check_namespace_plan?: false, group_is_eligible_for_trial?: true, user_can_admin_group?: true, examples_to_run: "returns 404"4686 behaves like returns 4044687 returns a 404 status4688 check_namespace_plan?: true, group_is_eligible_for_trial?: false, user_can_admin_group?: true, examples_to_run: "returns 404"4689 behaves like returns 4044690 returns a 404 status4691 check_namespace_plan?: true, group_is_eligible_for_trial?: true, user_can_admin_group?: false, examples_to_run: "returns 404"4692 behaves like returns 4044693 returns a 404 status4694Security::DashboardController4695 GET #show4696 behaves like Security::ApplicationController4697 when the user is authenticated4698 responds with success4699 and the instance does not have an Ultimate license4700 404s4701 when the user is not authenticated4702 redirects the user to the sign in page4703 when security dashboard feature4704 is enabled4705 is expected to render template instance_security4706 is disabled4707 is expected to respond with numeric status code not_found4708 is expected to render template errors/not_found4709Groups::Security::DashboardController4710 GET show4711 when security dashboard feature is enabled4712 and user is allowed to access group security dashboard4713 is expected to respond with numeric status code ok4714 when user is not allowed to access group security dashboard4715 is expected to respond with numeric status code ok4716 is expected to render template unavailable4717 when security dashboard feature is disabled4718 is expected to respond with numeric status code ok4719 is expected to render template unavailable4720Creating a DAST Site Token4721 behaves like an on-demand scan mutation when user cannot run an on-demand scan4722 when a user does not have access to the project4723 behaves like a mutation that returns a top-level access error4724 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"4725 when a user does not have access to run a dast scan on the project4726 behaves like a mutation that returns a top-level access error4727 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"4728 behaves like an on-demand scan mutation when user can run an on-demand scan4729 returns an empty errors array4730 deletes dast_site_validations where state=passed4731 when on demand scan licensed feature is not available4732 behaves like a mutation that returns a top-level access error4733 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"4734Query.project(fullPath).pipeline(iid).codeQualityReports4735 when pipeline has a code quality report4736 when user is member of the project4737 returns all the code quality degradations4738 returns all the queried fields4739 returns all the queried fields ordered by severity4740 when user is not a member of the project4741 returns no code quality degradations4742 when pipeline does not have a code quality report4743 returns an empty result4744Projects::RepositoriesController4745 GET archive4746 when unauthenticated for a public project4747 behaves like logs the audit event4748 logs the audit event4749 when group sets event destination4750 behaves like sends the streaming audit event4751 sends the streaming event with audit event type4752 when authenticated as a developer4753 behaves like logs the audit event4754 logs the audit event4755 when group sets event destination4756 behaves like sends the streaming audit event4757 sends the streaming event with audit event type4758Mutations::Boards::EpicBoards::Destroy4759 when the user does not have permission4760 does not destroy the board4761 behaves like a mutation that returns a top-level access error4762 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"4763 when the user has permission4764 when everything is ok4765 destroys the board4766 returns an empty board4767 when there is only 1 board for the parent4768 does not destroy the board4769 returns an error and not nil board4770Git LFS File Locking API4771 Create File Lock endpoint4772 with an exceeded namespace storage limit4773 does not create the lock4774 Listing File Locks endpoint4775 with an exceeded namespace storage limit4776 returns the list of locked files4777 List File Locks for verification endpoint4778 with an exceeded namespace storage limit4779 rejects the request4780 Delete File Lock endpoint4781 with an exceeded namespace storage limit4782 does not delete the lock4783BoardsResponses4784 #serialize_as_json4785 without milestone or iteration4786 serialises properly4787 with milestone4788 serialises properly4789 with iteration4790 serialises properly4791Creation of a new release4792 when the provided milestones include a group milestone4793 when the group milestone association feature is licensed4794 returns no errors4795 creates a release with both project and group milestone associations4796 when the group milestone association feature is not licensed4797 returns an error-as-data field with a message about an invalid license4798Groups::ClustersController4799 GET #environments4800 avoids N+1 database queries4801Registrations::CompanyController4802 #new4803 behaves like user authentication4804 when not authenticated4805 is expected to redirect to "/users/sign_in"4806 when authenticated4807 is expected to respond with numeric status code ok4808 behaves like a dot-com only feature4809 when not on gitlab.com4810 is expected to respond with numeric status code not_found4811 when on gitlab.com4812 is expected to respond with numeric status code ok4813 on render4814 is expected to render template layouts/minimal4815 is expected to render template new4816 #create4817 on success4818 trial_onboarding_flow: "true", redirect_query: {:trial_onboarding_flow=>true}4819 creates trial or lead and redirects to the correct path4820 trial_onboarding_flow: "false", redirect_query: {:skip_trial=>true}4821 creates trial or lead and redirects to the correct path4822 on failure4823 trial_onboarding_flow: "true"4824 renders company page :new4825 trial_onboarding_flow: "false"4826 renders company page :new4827Creating a new on-call schedule4828 create a new on-call schedule4829 without required argument project_path4830 behaves like an invalid argument to the mutation4831 behaves like a mutation that returns top-level errors4832 is expected to contain exactly (include "invalid value for projectPath")4833 without required argument name4834 behaves like an invalid argument to the mutation4835 behaves like a mutation that returns top-level errors4836 is expected to contain exactly (include "invalid value for name")4837 without required argument timezone4838 behaves like an invalid argument to the mutation4839 behaves like a mutation that returns top-level errors4840 is expected to contain exactly (include "invalid value for timezone")4841get list of epic boards4842 when the user does not have access to the epic board group4843 returns nil group4844 when user can access the epic board group4845 sorting and pagination4846 behaves like sorted paginated query4847 behaves like requires variables4848 shared example requires variables to be set4850 when sorting4851 sorts correctly4852 when paginating4853 paginates correctly4854 field values4855 returns the correct values for hiding board lists4856SurveyResponsesController4857 GET #index4858 tracking a snowplow event4859 does not track a survey_response event4860 when on GitLab.com4861 tracks a survey_response event4862 invite link4863 is expected to eq "https://calendly.com/d/n9wd-sy2b/gitlab-user-onboarding-research"4864 when not on gitlab.com4865 is expected to be nil4866 when the 'calendly_invite_link' feature flag is disabled4867 is expected to be nil4868 when the 'invite_link' parameter is not present in the URL4869 is expected to be nil4870 show incentive4871 is expected to equal true4872 when 'show_incentive' parameter is not present in the URL4873 is expected to equal nil4874 when invite link is not set4875 is expected to equal nil4876Query.project(fullPath).dastSiteProfile4877 when a user does not have access to the project4878 returns a null project4879 when a user does not have access to dast_site_profiles4880 returns a null dast_site_profile4881 when a user has access to dast_site_profiles4882 returns a dast_site_profile4883 when the wrong type of global id is supplied4884 returns a null dast_site_profile4885 when on demand scan licensed feature is not available4886 returns a null dast_site_profile4887 when there is no associated dast_site_validation4888 returns a none validation status4889Projects::Security::DastConfigurationController4890 GET #show4891 when the "Security & Compliance" feature is disabled4892 is expected to respond with numeric status code not_found4893 feature available4894 user authorized4895 can access page4896 user not authorized4897 sees a 404 error4898 feature not available4899 license doesn't support the feature4900 sees a 404 error4901Groups::IterationCadencesController4902 behaves like accessing iteration cadences4903 index4904 feature_flag_available: false, role: :developer, status: :not_found4905 behaves like returning response status4906 returns not_found4907 feature_flag_available: true, role: :none, status: :not_found4908 behaves like returning response status4909 returns not_found4910 feature_flag_available: true, role: :guest, status: :success4911 behaves like returning response status4912 returns success4913 feature_flag_available: true, role: :developer, status: :success4914 behaves like returning response status4915 returns success4916getting a compliance frameworks list for a project4917 when the project has no compliance framework assigned4918 is an empty array4919 when the project has a compliance framework assigned4920 includes its name4921getting Incident Management on-call shifts4922 returns the correct properties of the on-call shifts4923 behaves like a working graphql query4924 returns a successful response4925 performance4926 for additional participant4927 behaves like avoids N+1 queries4928 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed4fe5ab70 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=15>4929 for additional rotation with participants4930 behaves like avoids N+1 queries4931 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007fed6c8944d0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=15>4932GitlabSubscriptions::SeatCountAlert4933 #generate_seat_count_alert_data4934 when the user is not authenticated4935 does not set the seat count data4936 when the user is authenticated4937 when the namespace is nil4938 does not set the seat count data4939 when the feature flag is disabled4940 does not set the seat count data4941 when supplied a project4942 sets the data based on the root ancestor4943 when supplied a top level group4944 sets the data based on that group4945 when supplied a subgroup4946 sets the data based on the root ancestor4947Creating an issuable resource link4948 creates issuable resource link4949 returns error4950 when link is invalid4951 returns nil4952 when feature flag is disabled4953 returns nil4954Admin::Geo::NodesController4955 GET /geo/nodes4956 with a valid license4957 renders the Geo Nodes View4958 without a valid license4959 does show license alert4960 does not redirects to the 403 page4961Query.vulnerabilities.primaryIdentifier4962 returns a vulnerability identifiers4963DashboardController4964 signed in4965 GET issues4966 does not list test cases4967Admin::DashboardController4968 #index4969 allows an admin user to access the page4970 does not allow an auditor user to access the page4971 does not allow a regular user to access the page4972Query.project(fullPath).apiFuzzingCiConfiguration4973 when the user can read vulnerabilities for the project4974 returns scan modes and scan profiles4975 when the user cannot read vulnerabilities for the project4976 returns nil4977Projects::MirrorsController4978 updates the mirror URL4979 complains about passing an empty URL4980Profiles::SlacksController4981 GET edit4982 renders4983 assigns projects4984 assigns disabled_projects4985RootController4986 GET #index4987 when user is not logged in4988 on a Geo primary node4989 redirects to the sign-in page4990 when a custom home page URL is defined4991 redirects the user to the custom home page URL4992 on a Geo secondary node4993 redirects to the sign-in page4994 when a custom home page URL is defined4995 redirects to the sign-in page4996 with a user4997 who has customized their dashboard setting for operations4998 when licensed4999 redirects to operations dashboard5000 when unlicensed5001 renders the default dashboard5002API::IssueLinks5003 POST /links5004 when creating a blocked relationship5005 when feature is enabled5006 returns 201 status and contains the expected link response5007 when feature is disabled5008 returns 4035009Projects::ImportsController5010 POST #create5011 mirror user is not the current user5012 only assigns the current user5013UsersController5014 GET #available_project_templates5015 a user requests templates for themselves5016 responds successfully5017 a user requests templates for another user5018 responds with not found error5019 GET #available_group_templates5020 a user requests templates for themselves5021 responds successfully5022 a user requests templates for another user5023 responds with not found error5024API::Ci::Pipelines5025 DELETE /projects/:id/pipelines/:pipeline_id5026 authorized user5027 when audit events is enabled5028 does not log an audit event5029Emails::InProductMarketing5030 #account_validation_email5031 sends to the right user with a link to unsubscribe5032 has the correct subject and content5033Profiles::BillingsController5034 GET #index5035 renders index with 200 status code5036 fetch subscription plans data from customers.gitlab.com5037 when CustomersDot is unavailable5038 renders a different partial5039Removing an escalation policy5040 removes the escalation policy5041Query.project(fullPath).scanResultPolicies5042 returns both user and group approvers5043Profiles::KeysController5044 #create5045 logs the audit event5046CountriesController5047 GET #index5048 returns list of countries as json5049 does not include list of denied countries5050Emails::Epics5051 adds email methods to Notify5052Knapsack report was generated. Preview:5053{5054 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 153.73820157000046,5055 "ee/spec/requests/api/scim_spec.rb": 93.56910739499926,5056 "ee/spec/controllers/operations_controller_spec.rb": 79.43107966699972,5057 "ee/spec/requests/git_http_geo_spec.rb": 73.72924902999966,5058 "ee/spec/controllers/admin/application_settings_controller_spec.rb": 53.06719145700026,5059 "ee/spec/requests/api/wikis_spec.rb": 43.0028311290007,5060 "ee/spec/requests/api/releases_spec.rb": 46.44164070899933,5061 "ee/spec/controllers/projects/subscriptions_controller_spec.rb": 27.399415851999947,5062 "ee/spec/requests/groups_controller_spec.rb": 27.495598577000237,5063 "ee/spec/controllers/groups/omniauth_callbacks_controller_spec.rb": 22.270500150999396,5064 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 28.11322639700029,5065 "ee/spec/requests/api/graphql/group/epics_spec.rb": 24.887060364000718,5066 "ee/spec/requests/api/group_boards_spec.rb": 13.464259972000036,5067 "ee/spec/requests/api/group_push_rule_spec.rb": 19.84145868500036,5068 "ee/spec/controllers/subscriptions_controller_spec.rb": 11.517716745999678,5069 "ee/spec/requests/groups/epics/epic_links_controller_spec.rb": 17.01165991599919,5070 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 18.5184663,5071 "ee/spec/controllers/groups/audit_events_controller_spec.rb": 13.246605035999892,5072 "ee/spec/controllers/projects/dependencies_controller_spec.rb": 17.219700775999627,5073 "ee/spec/controllers/projects/audit_events_controller_spec.rb": 14.23025917599989,5074 "ee/spec/requests/api/project_approval_rules_spec.rb": 16.31248001699987,5075 "ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb": 20.534155563999775,5076 "ee/spec/requests/api/project_approvals_spec.rb": 11.933703500000775,5077 "ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb": 15.21234331100004,5078 "ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb": 9.945963384000606,5079 "ee/spec/requests/smartcard_controller_spec.rb": 5.78901782200046,5080 "ee/spec/requests/api/graphql/mutations/iterations/create_spec.rb": 10.231008275000022,5081 "ee/spec/controllers/groups/saml_providers_controller_spec.rb": 8.810905159999493,5082 "ee/spec/controllers/ee/projects/jobs_controller_spec.rb": 13.583112719999917,5083 "ee/spec/requests/api/project_import_spec.rb": 12.443247777000579,5084 "ee/spec/controllers/projects/protected_environments_controller_spec.rb": 10.383088073999716,5085 "ee/spec/requests/api/award_emoji_spec.rb": 9.032639834999827,5086 "ee/spec/requests/api/graphql/boards/boards_query_spec.rb": 8.540977668000778,5087 "ee/spec/requests/api/graphql/iteration_spec.rb": 10.949407316999896,5088 "ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb": 5.385272278999764,5089 "ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb": 6.616060067000035,5090 "ee/spec/controllers/subscriptions/groups_controller_spec.rb": 4.1922641990004195,5091 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb": 7.848311174999253,5092 "ee/spec/requests/api/group_variables_spec.rb": 6.828067452999676,5093 "ee/spec/requests/api/graphql/mutations/epics/update_spec.rb": 8.777814332000162,5094 "ee/spec/controllers/oauth/geo_auth_controller_spec.rb": 9.556342240000049,5095 "ee/spec/controllers/groups/billings_controller_spec.rb": 5.8059348320002755,5096 "ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb": 3.7119483119995493,5097 "ee/spec/requests/api/ci/variables_spec.rb": 4.63025000000016,5098 "ee/spec/requests/repositories/git_http_controller_spec.rb": 6.406194749999486,5099 "ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb": 3.6148547680004413,5100 "ee/spec/requests/api/merge_trains_spec.rb": 9.122612189000392,5101 "ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb": 6.470155875999808,5102 "ee/spec/controllers/groups/issues_analytics_controller_spec.rb": 4.296371002000342,5103 "ee/spec/requests/projects/security/dast_scanner_profiles_controller_spec.rb": 3.4401565489997665,5104 "ee/spec/controllers/groups/scim_oauth_controller_spec.rb": 3.370039975000509,5105 "ee/spec/requests/groups/protected_environments_controller_spec.rb": 3.154153187999327,5106 "ee/spec/controllers/ee/registrations_controller_spec.rb": 4.908566500999768,5107 "ee/spec/requests/groups/roadmap_controller_spec.rb": 4.868464013999983,5108 "ee/spec/requests/api/ci/runner_spec.rb": 4.770874440000625,5109 "ee/spec/requests/projects/audit_events_spec.rb": 4.943290498000351,5110 "ee/spec/requests/api/license_spec.rb": 3.1405340700002853,5111 "ee/spec/requests/api/graphql/ci/runner_spec.rb": 4.244504154999959,5112 "ee/spec/requests/api/ci/jobs_spec.rb": 5.706267087000015,5113 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/create_spec.rb": 3.251225572000294,5114 "ee/spec/requests/groups/group_members_controller_spec.rb": 3.0586140649993467,5115 "ee/spec/controllers/concerns/registrations/verification_spec.rb": 1.7234296839997114,5116 "ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb": 4.170353830999375,5117 "ee/spec/controllers/admin/geo/settings_controller_spec.rb": 4.893130011999347,5118 "ee/spec/controllers/admin/licenses_controller_spec.rb": 3.5978194690005694,5119 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 5.770987703999708,5120 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 4.106312085000354,5121 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 4.666629207000369,5122 "ee/spec/requests/api/resource_weight_events_spec.rb": 2.685043030000088,5123 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 5.241342739000174,5124 "ee/spec/requests/api/graphql/boards/epic_list_query_spec.rb": 2.0565704429991456,5125 "ee/spec/requests/api/graphql/mutations/iterations/cadences/destroy_spec.rb": 2.782027893999839,5126 "ee/spec/requests/api/dora/metrics_spec.rb": 3.1613164979999056,5127 "ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb": 4.342924139000388,5128 "ee/spec/requests/groups/audit_events_spec.rb": 3.404244112000015,5129 "ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb": 4.061950078000336,5130 "ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb": 1.392374547000145,5131 "ee/spec/controllers/groups/merge_requests_controller_spec.rb": 4.746898820999377,5132 "ee/spec/requests/api/group_clusters_spec.rb": 2.9372797539999738,5133 "ee/spec/controllers/repositories/git_http_controller_spec.rb": 3.8741153299997677,5134 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb": 3.136792589999459,5135 "ee/spec/controllers/ee/projects/blob_controller_spec.rb": 3.5547003020001284,5136 "ee/spec/controllers/admin/audit_logs_controller_spec.rb": 1.7595408520001001,5137 "ee/spec/requests/customers_dot/proxy_controller_spec.rb": 1.505342679000023,5138 "ee/spec/requests/api/ci/runner/jobs_trace_spec.rb": 1.5226432679992286,5139 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 2.2999115459997483,5140 "ee/spec/controllers/projects/incident_management/escalation_policies_controller_spec.rb": 2.00600270599989,5141 "ee/spec/requests/api/graphql/milestone_spec.rb": 2.472185764999267,5142 "ee/spec/requests/groups/feature_discovery_moments_spec.rb": 2.489084713000011,5143 "ee/spec/controllers/security/dashboard_controller_spec.rb": 0.9591510860000199,5144 "ee/spec/controllers/groups/security/dashboard_controller_spec.rb": 2.363980471999639,5145 "ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb": 1.5634163250006168,5146 "ee/spec/requests/api/graphql/project/pipeline/code_quality_reports_spec.rb": 2.629326444000071,5147 "ee/spec/controllers/projects/repositories_controller_spec.rb": 3.33809356600068,5148 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb": 2.070795020999867,5149 "ee/spec/requests/lfs_locks_api_spec.rb": 1.7028199460000906,5150 "ee/spec/controllers/concerns/boards_responses_spec.rb": 2.1885143429999516,5151 "ee/spec/requests/api/graphql/mutations/releases/create_spec.rb": 2.567838488000234,5152 "ee/spec/requests/groups/clusters_controller_spec.rb": 4.819362937999358,5153 "ee/spec/controllers/registrations/company_controller_spec.rb": 1.706231606000074,5154 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 2.4257254770000145,5155 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.7015384799997264,5156 "ee/spec/requests/survey_responses_controller_spec.rb": 1.1908068200000343,5157 "ee/spec/requests/api/graphql/project/dast_site_profile_spec.rb": 2.524083180999696,5158 "ee/spec/requests/projects/security/dast_configuration_controller_spec.rb": 2.3078948849997687,5159 "ee/spec/controllers/groups/iteration_cadences_controller_spec.rb": 1.5482668559998274,5160 "ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb": 1.6088048409992552,5161 "ee/spec/requests/api/graphql/project/incident_management/oncall_participants_spec.rb": 2.7791528030002155,5162 "ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb": 1.1248606440003641,5163 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb": 1.5347774369993203,5164 "ee/spec/requests/admin/geo/nodes_controller_spec.rb": 1.5700762350006698,5165 "ee/spec/requests/api/graphql/vulnerabilities/primary_identifier_spec.rb": 1.8593158250005217,5166 "ee/spec/controllers/dashboard_controller_spec.rb": 0.7874370679992353,5167 "ee/spec/controllers/admin/dashboard_controller_spec.rb": 0.7883755369994105,5168 "ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb": 0.9614826550005091,5169 "ee/spec/requests/projects/mirrors_controller_spec.rb": 1.373029647000294,5170 "ee/spec/controllers/profiles/slacks_controller_spec.rb": 0.7337775810001403,5171 "ee/spec/controllers/ee/root_controller_spec.rb": 1.1815382610002416,5172 "ee/spec/requests/api/issue_links_spec.rb": 2.2988481760003197,5173 "ee/spec/controllers/projects/imports_controller_spec.rb": 0.9635862850000194,5174 "ee/spec/controllers/users_controller_spec.rb": 0.4576667900000757,5175 "ee/spec/requests/api/ci/pipelines_spec.rb": 1.3670174979997682,5176 "ee/spec/mailers/emails/in_product_marketing_spec.rb": 1.1377237040005639,5177 "ee/spec/controllers/profiles/billings_controller_spec.rb": 0.42315399199924286,5178 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb": 0.785638457999994,5179 "ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb": 1.4545376119995126,5180 "ee/spec/controllers/profiles/keys_controller_spec.rb": 0.5065260569999737,5181 "ee/spec/controllers/countries_controller_spec.rb": 0.2510437119999551,5182 "ee/spec/mailers/emails/epics_spec.rb": 0.486401807999754965183}5184Knapsack global time execution for tests: 20m 59s5185Pending: (Failures listed here are expected and do not affect your suite's status)5186 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5187 # Temporarily skipped with xcontext5188 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835189 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 pages5190 # Temporarily skipped with xcontext5191 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385192 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 content5193 # Temporarily skipped with xcontext5194 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105195 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 content5196 # Temporarily skipped with xcontext5197 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235198 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 pages5199 # Temporarily skipped with xcontext5200 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385201 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 content5202 # Temporarily skipped with xcontext5203 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105204 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 content5205 # Temporarily skipped with xcontext5206 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235207 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5208 # Temporarily skipped with xcontext5209 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835210 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 5211 # Temporarily skipped with xcontext5212 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545213 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 5214 # Temporarily skipped with xcontext5215 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545216 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 5217 # Temporarily skipped with xcontext5218 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545219 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 version5220 # Temporarily skipped with xcontext5221 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955222 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 version5223 # Temporarily skipped with xcontext5224 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035225 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 Found5226 # Temporarily skipped with xcontext5227 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755228 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 Found5229 # Temporarily skipped with xcontext5230 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755231 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 5232 # Temporarily skipped with xcontext5233 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545234 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 5235 # Temporarily skipped with xcontext5236 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545237 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 5238 # Temporarily skipped with xcontext5239 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545240 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 version5241 # Temporarily skipped with xcontext5242 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955243 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 version5244 # Temporarily skipped with xcontext5245 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035246 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 Found5247 # Temporarily skipped with xcontext5248 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755249 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 Found5250 # Temporarily skipped with xcontext5251 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755252 23) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5253 # Temporarily skipped with xcontext5254 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835255 24) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page5256 # Temporarily skipped with xcontext5257 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175258 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 title5259 # Temporarily skipped with xcontext5260 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315261 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 content5262 # Temporarily skipped with xcontext5263 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315264 27) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page5265 # Temporarily skipped with xcontext5266 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175267 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 title5268 # Temporarily skipped with xcontext5269 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315270 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 content5271 # Temporarily skipped with xcontext5272 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315273 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5274 # Temporarily skipped with xcontext5275 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835276 31) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page5277 # Temporarily skipped with xcontext5278 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445279 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 title5280 # Temporarily skipped with xcontext5281 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565282 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 content5283 # Temporarily skipped with xcontext5284 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565285 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 format5286 # Temporarily skipped with xcontext5287 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565288 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 Found5289 # Temporarily skipped with xcontext5290 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755291 36) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page5292 # Temporarily skipped with xcontext5293 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445294 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 title5295 # Temporarily skipped with xcontext5296 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565297 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 content5298 # Temporarily skipped with xcontext5299 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565300 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 format5301 # Temporarily skipped with xcontext5302 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565303 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 Found5304 # Temporarily skipped with xcontext5305 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755306 41) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5307 # Temporarily skipped with xcontext5308 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835309 42) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden5310 # Temporarily skipped with xcontext5311 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1675312 43) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content5313 # Temporarily skipped with xcontext5314 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1915315 44) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found5316 # Temporarily skipped with xcontext5317 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835318 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 repository5319 # Temporarily skipped with xcontext5320 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975321 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 file5322 # Temporarily skipped with xcontext5323 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065324 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 file5325 # Temporarily skipped with xcontext5326 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165327 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 uploads5328 # Temporarily skipped with xcontext5329 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265330 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 repository5331 # Temporarily skipped with xcontext5332 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975333 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 file5334 # Temporarily skipped with xcontext5335 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065336 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 file5337 # Temporarily skipped with xcontext5338 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165339 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 uploads5340 # Temporarily skipped with xcontext5341 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265342Finished in 21 minutes 2 seconds (files took 46.16 seconds to load)53432128 examples, 0 failures, 52 pending5344RSpec exited with 0.5345No examples to retry, congrats!5347Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5348Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-10 due to policy5350Uploading artifacts...5351coverage/: found 5 matching files and directories 5352crystalball/: found 2 matching files and directories 5353WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 5354knapsack/: found 3 matching files and directories 5355rspec/: found 8 matching files and directories 5356WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 5357log/*.log: found 20 matching files and directories 5358WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337984/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5359WARNING: Retrying... context=artifacts-uploader error=request redirected5360Uploading artifacts as "archive" to coordinator... 201 Created id=2673337984 responseStatus=201 Created token=fJocnS4g5361Uploading artifacts...5362rspec/junit_rspec.xml: found 1 matching files and directories 5363WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/2673337984/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5364WARNING: Retrying... context=artifacts-uploader error=request redirected5365Uploading artifacts as "junit" to coordinator... 201 Created id=2673337984 responseStatus=201 Created token=fJocnS4g5367Job succeeded