rspec-ee integration pg12 4/4
Passed Started
by
@DylanGriffith

Dylan Griffith
1Running with gitlab-runner 14.4.0-rc1 (bc99a056)2 on blue-1.private.runners-manager.gitlab.com/gitlab.com/gitlab-org 1zzGUpzq3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:5c4789e9bb7bb119b87daeffe7ac587b6e6eff4072a1b43b11a5a4209ed7c265 for postgres:12 with digest postgres@sha256:03a821bf55c06afc5b1eca7d1ba2ca0fd13edbe0e2794a90d741f1fea31787af ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:a7a6051077c6c9cfc9ad478778271b49900cb5c4667e64a4128306d8f41a5396 for redis:5.0-alpine with digest redis@sha256:cb5840073dc475b45bf856eb666f5e4d19e3b1ae882e0f3a1396d399cfa23702 ...13Starting service elasticsearch:7.11.1 ...14Pulling docker image elasticsearch:7.11.1 ...15Using docker image sha256:bc3d45eba361de2bde57b25ada32b4de5dd5f5cb12cd3bd049212e90bdfd62a9 for elasticsearch:7.11.1 with digest elasticsearch@sha256:3a219f148b596e25c1b16bda46e1ca07db46826c0e1cde003c2d2f93f33d18e4 ...16Waiting for services to be up and running...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...19Using docker image sha256:b8b4629afe237f58781d0f297f9802abe7234c61d769cef19072e62e539b44db for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eafffa71075a6c3a6132f20dee186f63e8e6446d7fbde8f8a3aa5c1f8e66ba98 ...21Running on runner-1zzgupzq-project-278964-concurrent-0 via runner-1zzgupzq-private-1635267462-482a8e17...23$ eval "$CI_PRE_CLONE_SCRIPT"24Downloading archived master...25Connecting to storage.googleapis.com (172.217.203.128:443)26saving to '/tmp/gitlab.tar.gz'27gitlab.tar.gz 10% |*** | 37.0M 0:00:08 ETA28gitlab.tar.gz 49% |*************** | 170M 0:00:02 ETA29gitlab.tar.gz 92% |***************************** | 316M 0:00:00 ETA30gitlab.tar.gz 100% |********************************| 342M 0:00:00 ETA31'/tmp/gitlab.tar.gz' saved32Extracting tarball into /builds/gitlab-org/gitlab...33Fetching changes with git depth set to 20...34Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/35Created fresh repository.36remote: Enumerating objects: 127042, done. 37remote: Counting objects: 100% (127042/127042), done. 38remote: Compressing objects: 100% (85632/85632), done. 39remote: Total 127042 (delta 58018), reused 87454 (delta 36683), pack-reused 0 40Receiving objects: 100% (127042/127042), 124.85 MiB | 28.33 MiB/s, done.41Resolving deltas: 100% (58018/58018), done.43 * [new ref] e28bf2006022fa717b8e023304aaae32593982e4 -> refs/pipelines/39605215344 * [new branch] master -> origin/master45Checking out e28bf200 as master...46Skipping Git submodules setup48Checking cache for ruby-gems-v1-5...49cache.zip is up to date 50Successfully extracted cache51Checking cache for gitaly-ruby-gems-v1-5...52cache.zip is up to date 53Successfully extracted cache55Downloading artifacts for compile-test-assets (1718320136)...56Downloading artifacts from coordinator... ok id=1718320136 responseStatus=200 OK token=ransSmQE57Downloading artifacts for retrieve-tests-metadata (1718320147)...58Downloading artifacts from coordinator... ok id=1718320147 responseStatus=200 OK token=u5F8xuWx59Downloading artifacts for setup-test-env (1718320139)...60Downloading artifacts from coordinator... ok id=1718320139 responseStatus=200 OK token=GEzxAMiL62Using docker image sha256:b8b4629afe237f58781d0f297f9802abe7234c61d769cef19072e62e539b44db for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.patched-golang-1.16-git-2.33-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:eafffa71075a6c3a6132f20dee186f63e8e6446d7fbde8f8a3aa5c1f8e66ba98 ...63$ echo $FOSS_ONLY64$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb65$ export GOPATH=$CI_PROJECT_DIR/.go66$ mkdir -p $GOPATH67$ source scripts/utils.sh68$ source scripts/prepare_build.sh69Bundler version 2.1.470production:development71Settings are listed in order of priority. The top value will be used.72path73Set for the current user (/root/.bundle/config): "/builds/gitlab-org/gitlab/vendor"74clean75Set for the current user (/root/.bundle/config): "true"76without77Set via BUNDLE_WITHOUT: [:production, :development]78install_flags79Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"80$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check81The Gemfile's dependencies are satisfied82==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.83$ bundle pristine pg84Installing pg 1.2.3 with native extensions85==> 'bundle pristine pg' succeeded in 13 seconds.86$ setup_db_user_only87CREATE ROLE88GRANT89==> 'setup_db_user_only' succeeded in 0 seconds.90$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee91Dropped database 'gitlabhq_test'92Created database 'gitlabhq_test'93DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)94Dropped database 'gitlabhq_geo_test'95Created database 'gitlabhq_geo_test'96==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 29 seconds.97$ run_timed_command "gem install knapsack --no-document"98$ gem install knapsack --no-document99Successfully installed knapsack-4.0.01001 gem installed101==> 'gem install knapsack --no-document' succeeded in 1 seconds.102$ run_timed_command "scripts/gitaly-test-spawn"103$ scripts/gitaly-test-spawn104Don't run Bundler as root. Bundler can ask for sudo if it is needed, and105installing your bundle as root will break this application for all non-root106users on this machine.107Using abstract_type 0.0.7108Using concurrent-ruby 1.1.9109Using i18n 1.8.10110Using minitest 5.14.4111Using tzinfo 2.0.4112Using zeitwerk 2.4.2113Using activesupport 6.1.4.1114Using builder 3.2.4115Using erubi 1.10.0116Using mini_portile2 2.5.1117Using racc 1.5.2118Using nokogiri 1.11.7 (x86_64-linux)119Using rails-dom-testing 2.0.3120Using crass 1.0.6121Using loofah 2.12.0122Using rails-html-sanitizer 1.4.2123Using actionview 6.1.4.1124Using rack 2.2.3125Using rack-test 1.1.0126Using actionpack 6.1.4.1127Using ice_nine 0.11.2128Using thread_safe 0.3.6129Using memoizable 0.4.2130Using adamantium 0.2.0131Using public_suffix 4.0.6132Using addressable 2.7.0133Using ast 2.4.1134Using binding_ninja 0.2.3135Using bundler 2.1.4136Using charlock_holmes 0.7.7137Using coderay 1.1.2138Using equalizer 0.0.11139Using concord 0.1.5140Using diff-lcs 1.3141Using dotenv 2.7.6142Using escape_utils 1.2.1143Using factory_bot 5.0.2144Using multipart-post 2.1.1145Using faraday 1.0.1146Using ffi 1.15.3147Using json 2.5.1148Using gemojione 3.3.0149Using mini_mime 1.0.2150Using rugged 1.2.0151Using github-linguist 7.12.1152Using github-markup 1.7.0153Using mime-types-data 3.2020.1104154Using mime-types 3.3.1155Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1156Using rouge 3.26.0157Using nokogumbo 1.5.0158Using sanitize 4.6.6159Using stringex 2.8.5160Using gitlab-gollum-lib 4.2.7.10.gitlab.1161Using google-protobuf 3.17.3 (x86_64-linux)162Using googleapis-common-protos-types 1.1.0163Using grpc 1.30.2 (x86_64-linux)164Using opentracing 0.5.0165Using thrift 0.15.0166Using jaeger-client 1.1.0167Using pg_query 2.1.1168Using redis 4.4.0169Using gitlab-labkit 0.21.2170Using gitlab-markup 1.7.1171Using grpc-tools 1.30.2172Using sawyer 0.8.2173Using octokit 4.20.0174Using reverse_markdown 1.4.0175Using thor 1.1.0176Using licensee 9.14.1177Using method_source 0.9.2178Using msgpack 1.3.3179Using optimist 3.0.1180Using parallel 1.19.2181Using parser 2.7.2.0182Using procto 0.0.3183Using unparser 0.4.7184Using proc_to_ast 0.1.0185Using pry 0.12.2186Using rainbow 3.0.0187Using rbtrace 0.4.14188Using rdoc 6.3.2189Using regexp_parser 1.8.1190Using rexml 3.2.4191Using rspec-support 3.8.0192Using rspec-core 3.8.0193Using rspec-expectations 3.8.3194Using rspec-mocks 3.8.0195Using rspec 3.8.0196Using rspec-parameterized 0.4.2197Using rubocop-ast 0.2.0198Using ruby-progressbar 1.10.1199Using unicode-display_width 1.7.0200Using rubocop 0.86.0201Using sentry-raven 3.0.4202Using timecop 0.9.1203Bundle complete! 21 Gemfile dependencies, 96 gems now installed.204Gems in the groups production and development were not installed.205Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`206Checking gitaly-ruby Gemfile...207Checking gitaly-ruby bundle...208The Gemfile's dependencies are satisfied209Trying to connect to gitaly: ................................................. OK210Trying to connect to gitaly2: ........................................................................ OK211Trying to connect to praefect: ........ OK212==> 'scripts/gitaly-test-spawn' succeeded in 15 seconds.213$ source ./scripts/rspec_helpers.sh214$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"215KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{controllers,mailers,requests}{,/**/}*_spec.rb216Knapsack node specs:217ee/spec/requests/api/vulnerabilities_spec.rb218ee/spec/requests/api/projects_spec.rb219ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb220ee/spec/controllers/groups/epics_controller_spec.rb221ee/spec/controllers/operations_controller_spec.rb222ee/spec/requests/api/graphql/geo/registries_spec.rb223ee/spec/controllers/boards/lists_controller_spec.rb224ee/spec/mailers/notify_spec.rb225ee/spec/requests/api/wikis_spec.rb226ee/spec/requests/api/namespaces_spec.rb227ee/spec/controllers/groups/clusters_controller_spec.rb228ee/spec/requests/api/group_push_rule_spec.rb229ee/spec/controllers/trials_controller_spec.rb230ee/spec/controllers/projects/boards_controller_spec.rb231ee/spec/requests/api/protected_branches_spec.rb232ee/spec/controllers/projects/settings/operations_controller_spec.rb233ee/spec/requests/api/vulnerability_issue_links_spec.rb234ee/spec/requests/api/graphql/group_query_spec.rb235ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb236ee/spec/requests/api/merge_requests_spec.rb237ee/spec/requests/git_http_spec.rb238ee/spec/controllers/groups/epic_links_controller_spec.rb239ee/spec/requests/search_controller_spec.rb240ee/spec/requests/api/managed_licenses_spec.rb241ee/spec/controllers/subscriptions_controller_spec.rb242ee/spec/controllers/groups/epic_boards_controller_spec.rb243ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb244ee/spec/controllers/projects/mirrors_controller_spec.rb245ee/spec/controllers/projects/security/network_policies_controller_spec.rb246ee/spec/requests/api/project_import_spec.rb247ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb248ee/spec/requests/api/deployments_spec.rb249ee/spec/controllers/ee/projects/jobs_controller_spec.rb250ee/spec/requests/api/graphql/mutations/epics/update_spec.rb251ee/spec/controllers/projects/approver_groups_controller_spec.rb252ee/spec/requests/repositories/git_http_controller_spec.rb253ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb254ee/spec/requests/api/geo_replication_spec.rb255ee/spec/controllers/projects/path_locks_controller_spec.rb256ee/spec/controllers/autocomplete_controller_spec.rb257ee/spec/requests/api/merge_trains_spec.rb258ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb259ee/spec/requests/user_activity_spec.rb260ee/spec/requests/api/graphql/boards/board_lists_query_spec.rb261ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb262ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb263ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb264ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb265ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb266ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb267ee/spec/requests/rack_attack_spec.rb268ee/spec/controllers/admin/emails_controller_spec.rb269ee/spec/requests/projects/analytics/code_reviews_controller_spec.rb270ee/spec/requests/api/elasticsearch_indexed_namespaces_spec.rb271ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb272ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb273ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb274ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb275ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/create_spec.rb276ee/spec/mailers/emails/requirements_spec.rb277ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb278ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb279ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb280ee/spec/controllers/groups/roadmap_controller_spec.rb281ee/spec/requests/groups/audit_events_spec.rb282ee/spec/controllers/boards/milestones_controller_spec.rb283ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb284ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb285ee/spec/controllers/projects/security/scanned_resources_controller_spec.rb286ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb287ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb288ee/spec/requests/api/graphql/group/epic/notes_spec.rb289ee/spec/controllers/admin/geo/settings_controller_spec.rb290ee/spec/controllers/groups/todos_controller_spec.rb291ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb292ee/spec/requests/api/graphql/milestone_spec.rb293ee/spec/controllers/repositories/git_http_controller_spec.rb294ee/spec/requests/projects/security/dast_profiles_controller_spec.rb295ee/spec/controllers/ee/dashboard/projects_controller_spec.rb296ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb297ee/spec/controllers/groups/seat_usage_controller_spec.rb298ee/spec/requests/api/graphql/mutations/projects/lock_path_spec.rb299ee/spec/controllers/ee/projects/autocomplete_sources_controller_spec.rb300ee/spec/requests/api/repositories_spec.rb301ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb302ee/spec/controllers/projects/settings/repository_controller_spec.rb303ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb304ee/spec/requests/api/graphql/mutations/releases/update_spec.rb305ee/spec/controllers/groups/security/dashboard_controller_spec.rb306ee/spec/controllers/ee/admin/sessions_controller_spec.rb307ee/spec/requests/groups/group_members_controller_spec.rb308ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb309ee/spec/requests/api/graphql/vulnerabilities/external_issue_links_spec.rb310ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb311ee/spec/mailers/emails/user_cap_spec.rb312ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb313ee/spec/controllers/admin/audit_logs_controller_spec.rb314ee/spec/requests/api/graphql/project/dast_profile_spec.rb315ee/spec/requests/api/internal/base_spec.rb316ee/spec/requests/api/graphql/dora/dora_spec.rb317ee/spec/requests/api/graphql/mutations/boards/epic_boards/create_spec.rb318ee/spec/requests/api/ldap_spec.rb319ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb320ee/spec/controllers/groups/ldaps_controller_spec.rb321ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb322ee/spec/controllers/ee/sent_notifications_controller_spec.rb323ee/spec/controllers/security/vulnerabilities_controller_spec.rb324ee/spec/controllers/projects/imports_controller_spec.rb325ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb326ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb327ee/spec/controllers/groups/usage_quotas_controller_spec.rb328ee/spec/mailers/ee/emails/issues_spec.rb329ee/spec/requests/api/ci/pipelines_spec.rb330ee/spec/requests/admin/subscriptions_controller_spec.rb331ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb332ee/spec/controllers/sitemap_controller_spec.rb333ee/spec/controllers/admin/dashboard_controller_spec.rb334ee/spec/requests/rack_attack_global_spec.rb335ee/spec/controllers/oauth/applications_controller_spec.rb336ee/spec/controllers/admin/impersonations_controller_spec.rb337Filter specs:338Running specs:339Running all node tests without filter340ee/spec/requests/api/vulnerabilities_spec.rb341ee/spec/requests/api/projects_spec.rb342ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb343ee/spec/controllers/groups/epics_controller_spec.rb344ee/spec/controllers/operations_controller_spec.rb345ee/spec/requests/api/graphql/geo/registries_spec.rb346ee/spec/controllers/boards/lists_controller_spec.rb347ee/spec/mailers/notify_spec.rb348ee/spec/requests/api/wikis_spec.rb349ee/spec/requests/api/namespaces_spec.rb350ee/spec/controllers/groups/clusters_controller_spec.rb351ee/spec/requests/api/group_push_rule_spec.rb352ee/spec/controllers/trials_controller_spec.rb353ee/spec/controllers/projects/boards_controller_spec.rb354ee/spec/requests/api/protected_branches_spec.rb355ee/spec/controllers/projects/settings/operations_controller_spec.rb356ee/spec/requests/api/vulnerability_issue_links_spec.rb357ee/spec/requests/api/graphql/group_query_spec.rb358ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rbKnapsack report generator started!359Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}360==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.184510119 seconds...361Test environment set up in 2.511394871 seconds362API::Vulnerabilities363 GET /projects/:id/vulnerabilities364 with an authorized user with proper permissions365 returns all vulnerabilities of a project366 with pagination367 paginates the vulnerabilities according to the pagination params368 behaves like forbids access to vulnerability API endpoint in case of disabled features369 when security dashboard feature is not available370 responds with 403 Forbidden371 permissions372 is expected to be allowed for :admin373 is expected to be allowed for :owner374 is expected to be allowed for :maintainer375 is expected to be allowed for :developer376 is expected to be allowed for :auditor377 is expected to be denied for :reporter378 is expected to be denied for :guest379 is expected to be denied for :anonymous380 GET /vulnerabilities/:id381 with an authorized user with proper permissions382 returns the desired vulnerability383 returns the desired findings384 behaves like responds with "not found" for an unknown vulnerability ID385 is expected to respond with numeric status code not_found386 behaves like forbids access to vulnerability API endpoint in case of disabled features387 when security dashboard feature is not available388 responds with 403 Forbidden389 permissions390 is expected to be allowed for :admin391 is expected to be allowed for :owner392 is expected to be allowed for :maintainer393 is expected to be allowed for :developer394 is expected to be allowed for :auditor395 is expected to be denied for :reporter396 is expected to be denied for :guest397 is expected to be denied for :anonymous398 POST /projects/:id/vulnerabilities399 with an authorized user with proper permissions400 creates a vulnerability from finding and attaches it to the vulnerability401 when finding id is unknown402 responds with expected error403 when a vulnerability already exists for a specific finding404 rejects creation of a new vulnerability from this finding405 behaves like forbids access to vulnerability API endpoint in case of disabled features406 when security dashboard feature is not available407 responds with 403 Forbidden408 permissions409 is expected to be allowed for :admin410 is expected to be allowed for :owner411 is expected to be allowed for :maintainer412 is expected to be allowed for :developer413 is expected to be denied for :auditor414 is expected to be denied for :reporter415 is expected to be denied for :guest416 is expected to be denied for :anonymous417 POST /vulnerabilities:id/dismiss418 with an authorized user with proper permissions419 dismisses a vulnerability and its associated findings420 behaves like responds with "not found" for an unknown vulnerability ID421 is expected to respond with numeric status code not_found422 when there is a dismissal error423 responds with error424 if a vulnerability is already dismissed425 responds with 304 Not Modified426 behaves like forbids access to vulnerability API endpoint in case of disabled features427 when security dashboard feature is not available428 responds with 403 Forbidden429 permissions430 is expected to be allowed for :admin431 is expected to be allowed for :owner432 is expected to be allowed for :maintainer433 is expected to be allowed for :developer434 is expected to be denied for :auditor435 is expected to be denied for :reporter436 is expected to be denied for :guest437 is expected to be denied for :anonymous438 POST /vulnerabilities/:id/resolve439 with an authorized user with proper permissions440 resolves a vulnerability and its associated findings441 behaves like responds with "not found" for an unknown vulnerability ID442 is expected to respond with numeric status code not_found443 when the vulnerability is already resolved444 responds with 304 Not Modified response445 behaves like forbids access to vulnerability API endpoint in case of disabled features446 when security dashboard feature is not available447 responds with 403 Forbidden448 permissions449 is expected to be allowed for :admin450 is expected to be allowed for :owner451 is expected to be allowed for :maintainer452 is expected to be allowed for :developer453 is expected to be denied for :auditor454 is expected to be denied for :reporter455 is expected to be denied for :guest456 is expected to be denied for :anonymous457 POST /vulnerabilities/:id/confirm458 with an authorized user with proper permissions459 confirms a vulnerability and its associated findings460 behaves like responds with "not found" for an unknown vulnerability ID461 is expected to respond with numeric status code not_found462 when the vulnerability is already confirmed463 responds with 304 Not Modified response464 behaves like forbids access to vulnerability API endpoint in case of disabled features465 when security dashboard feature is not available466 responds with 403 Forbidden467 permissions468 is expected to be allowed for :admin469 is expected to be allowed for :owner470 is expected to be allowed for :maintainer471 is expected to be allowed for :developer472 is expected to be denied for :auditor473 is expected to be denied for :reporter474 is expected to be denied for :guest475 is expected to be denied for :anonymous476 POST /vulnerabilities:id/revert477 with an authorized user with proper permissions478 reverts a vulnerability and its associated findings to detected state479 behaves like responds with "not found" for an unknown vulnerability ID480 is expected to respond with numeric status code not_found481 when there is a revert error482 responds with error483 if a vulnerability is already in detected state484 responds with 304 Not Modified485 behaves like forbids access to vulnerability API endpoint in case of disabled features486 when security dashboard feature is not available487 responds with 403 Forbidden488 permissions489 is expected to be allowed for :admin490 is expected to be allowed for :owner491 is expected to be allowed for :maintainer492 is expected to be allowed for :developer493 is expected to be denied for :auditor494 is expected to be denied for :reporter495 is expected to be denied for :guest496 is expected to be denied for :anonymous497API::Projects498 GET /projects499 does not break on license checks500 filters by verification flags501 filters by :repository_verification_failed502 filters by :wiki_verification_failed503 when there are several projects owned by groups504 avoids N+1 queries505 GET /projects/:id506 with external authorization507 when the user has access to the project508 includes the label in the response509 when the external service denies access510 returns a 404511 it does not return the label when the feature is not available512 does not include the label in the response513 with ip restriction514 when the group_ip_restriction feature is not available515 returns 200516 when the group_ip_restriction feature is available517 returns 404 for request from ip not in the range518 returns 200 for request from ip in the range519 compliance_frameworks attribute520 when compliance_framework feature is available521 when project has a compliance framework522 exposes framework names as array of strings523 when project has no compliance framework524 returns an empty array525 project soft-deletion526 marked_for_deletion_at attribute527 exposed when the feature is available528 not exposed when the feature is not available529 marked_for_deletion_on attribute530 exposed when the feature is available531 not exposed when the feature is not available532 issuable default templates533 when feature is available534 returns issuable default templates535 when user does not have permission to see issues536 does not return issue default templates537 when user does not have permission to see merge requests538 does not return merge request default templates539 issuable default templates feature not available540 does not return issuable default templates541 merge pipelines feature is available542 returns merge pipelines enabled flag543 merge pipelines feature not available544 does not return merge pipelines enabled flag545 merge trains feature is available546 returns merge trains enabled flag547 merge trains feature not available548 does not return merge trains enabled flag549 GET /projects/:id/users550 when unauthenticated551 behaves like project users response552 returns the project users553 when the gitlab_employee_badge flag is off554 does not expose the is_gitlab_employee attribute on the user555 when the gitlab_employee_badge flag is on but we are not on gitlab.com556 does not expose the is_gitlab_employee attribute on the user557 when the gitlab_employee_badge flag is on and we are on gitlab.com558 exposes the is_gitlab_employee attribute on the user559 when authenticated560 valid request561 behaves like project users response562 returns the project users563 when the gitlab_employee_badge flag is off564 does not expose the is_gitlab_employee attribute on the user565 when the gitlab_employee_badge flag is on but we are not on gitlab.com566 does not expose the is_gitlab_employee attribute on the user567 when the gitlab_employee_badge flag is on and we are on gitlab.com568 exposes the is_gitlab_employee attribute on the user569 POST /projects/user/:id570 with templates571 behaves like creates projects with templates572 creates a project using a template573 returns a 400 error for an invalid template name574 returns a 400 error for an invalid template ID575 behaves like creates projects with templates576 creates a project using a template577 returns a 400 error for an invalid template name578 returns a 400 error for an invalid template ID579 behaves like creates projects with templates580 creates a project using a template581 returns a 400 error for an invalid template name582 returns a 400 error for an invalid template ID583 behaves like creates projects with templates584 creates a project using a template585 returns a 400 error for an invalid template name586 returns a 400 error for an invalid template ID587 POST /projects588 with templates589 behaves like creates projects with templates590 creates a project using a template591 returns a 400 error for an invalid template name592 returns a 400 error for an invalid template ID593 behaves like creates projects with templates594 creates a project using a template595 returns a 400 error for an invalid template name596 returns a 400 error for an invalid template ID597 behaves like creates projects with templates598 creates a project using a template599 returns a 400 error for an invalid template name600 returns a 400 error for an invalid template ID601 behaves like creates projects with templates602 creates a project using a template603 returns a 400 error for an invalid template name604 returns a 400 error for an invalid template ID605 when importing with mirror attributes606 creates new project with pull mirroring set up607 creates project without mirror settings when repository mirroring feature is disabled608 when pull mirroring is not available609 ignores the mirroring options610 creates project with mirror settings611 GET projects/:id/audit_events612 behaves like inaccessable by reporter role and lower613 for reporter614 returns 403 response615 for guest616 returns 403 response617 for anonymous618 returns 403 response619 when authenticated, as a member620 returns only events authored by current user621 when authenticated, as a project owner622 audit events feature is not available623 behaves like 403 response624 returns 403625 audit events feature is available626 returns 200 response627 includes the correct pagination headers628 does not include audit events of a different project629 parameters630 created_before parameter631 returns audit events created before the given parameter632 created_after parameter633 returns audit events created after the given parameter634 response schema635 matches the response schema636 GET projects/:id/audit_events/:audit_event_id637 behaves like inaccessable by reporter role and lower638 for reporter639 returns 403 response640 for guest641 returns 403 response642 for anonymous643 returns 403 response644 when authenticated, as a guest645 behaves like 403 response646 returns 403647 when authenticated, as a member648 returns 200 response649 existing audit event of a different user650 behaves like 404 response651 returns 404652 when authenticated, as a project owner653 audit events feature is not available654 behaves like 403 response655 returns 403656 audit events feature is available657 existent audit event658 returns 200 response659 response schema660 matches the response schema661 invalid audit_event_id662 behaves like 400 response663 returns 400664 non existent audit event665 non existent audit event of a project666 behaves like 404 response667 returns 404668 existing audit event of a different project669 behaves like 404 response670 returns 404671 PUT /projects/:id672 issuable default templates feature is available673 when updating issues_template674 updates the content675 when updating merge_requests_template676 updates the content677 issuable default templates feature not available678 when updating issues_template679 does not update the content680 when updating merge_requests_template681 does not update the content682 merge pipelines feature is available683 updates the content684 when user does not have permission685 does not update the content686 merge pipelines feature feature not available687 does not update the content688 merge trains feature is available689 updates the content690 when user does not have permission691 does not update the content692 merge trains feature feature not available693 does not update the content694 when updating external classification695 updates the classification label696 when updating mirror related attributes697 updates mirror related attributes698 updates project without mirror attributes when the project is unable to set up repository mirroring699 renders an API error when mirror user is invalid700 returns 403 when the user does not have access to mirror settings701 when pull mirroring is not available702 does not update mirror related attributes703 updates mirror related attributes when user is admin704 when import_url is not a valid git endpoint705 disallows creating a project with an import_url that is not reachable706 updating approvals_before_merge attribute707 when authenticated as project owner708 updates approvals_before_merge709 POST /projects/:id/restore710 feature is available711 restores project712 returns error if project is already being deleted713 feature is not available714 returns error715 DELETE /projects/:id716 when feature is available717 delayed project removal is enabled for group718 returns error if project cannot be marked for deletion719 behaves like marks project for deletion720 is expected to be truthy721 when instance setting is set to 0 days722 deletes project right away723 delayed project removal is disabled for group724 behaves like deletes project immediately725 is expected to eq true726 for projects in user namespace727 behaves like deletes project immediately728 is expected to eq true729 when feature is not available730 behaves like deletes project immediately731 is expected to eq true732 POST /projects/:id/fork733 when project namespace has prohibit_outer_forks enabled734 and target namespace is outer735 renders 404736 and target namespace is inner to project namespace737 forks the project738Groups::Analytics::CycleAnalytics::StagesController739 when params have only group_id740 behaves like Value Stream Analytics Stages controller741 GET #index742 succeeds743 returns correct start events744 does not include internal events745 succeeds for subgroups746 renders `forbidden` based on the response of the service object747 when `group_id` is not found748 renders `not_found` when group is missing749 when user has no lower access level than `reporter`750 renders `forbidden` response751 when feature is not available for the group752 renders `forbidden` response753 POST #create754 renders the validation errors755 when `group_id` is not found756 renders `not_found` when group is missing757 when user has no lower access level than `reporter`758 renders `forbidden` response759 when feature is not available for the group760 renders `forbidden` response761 when valid parameters are given762 creates the stage763 PUT #update764 renders the validation errors765 when `group_id` is not found766 renders `not_found` when group is missing767 when user has no lower access level than `reporter`768 renders `forbidden` response769 when feature is not available for the group770 renders `forbidden` response771 when valid parameters are given772 succeeds773 updates the name attribute774 hidden attribute775 updates the hidden attribute776 when positioning parameter is given777 moves the stage before the last place778 DELETE #destroy779 when `group_id` is not found780 renders `not_found` when group is missing781 when user has no lower access level than `reporter`782 renders `forbidden` response783 when feature is not available for the group784 renders `forbidden` response785 when persisted stage id is passed786 succeeds787 deletes the record788 when default stage id is passed789 fails with `forbidden` response790 data endpoints791 GET #median792 matches the response schema793 when valid parameters are given794 succeeds795 accepts optional `project_ids` array796 succeeds797 when `created_before` is missing798 succeeds799 when `created_after` is missing800 succeeds801 when `created_after` is invalid, falls back to default date802 is expected to respond with numeric status code success803 when `created_before` is invalid804 renders `unprocessable_entity`805 when `created_after` is later than `created_before`806 renders `unprocessable_entity`807 when the date range exceeds 180 days808 renders `unprocessable_entity`809 GET #average810 matches the response schema811 when valid parameters are given812 succeeds813 accepts optional `project_ids` array814 succeeds815 when `created_before` is missing816 succeeds817 when `created_after` is missing818 succeeds819 when `created_after` is invalid, falls back to default date820 is expected to respond with numeric status code success821 when `created_before` is invalid822 renders `unprocessable_entity`823 when `created_after` is later than `created_before`824 renders `unprocessable_entity`825 when the date range exceeds 180 days826 renders `unprocessable_entity`827 GET #records828 when valid parameters are given829 succeeds830 accepts optional `project_ids` array831 succeeds832 when `created_before` is missing833 succeeds834 when `created_after` is missing835 succeeds836 when `created_after` is invalid, falls back to default date837 is expected to respond with numeric status code success838 when `created_before` is invalid839 renders `unprocessable_entity`840 when `created_after` is later than `created_before`841 renders `unprocessable_entity`842 when the date range exceeds 180 days843 renders `unprocessable_entity`844 when `group_id` is not found845 renders `not_found` when group is missing846 when user has no lower access level than `reporter`847 renders `forbidden` response848 when feature is not available for the group849 renders `forbidden` response850 sort params851 accepts sort params852 pagination853 exposes pagination headers854 GET #average_duration_chart855 matches the response schema856 when valid parameters are given857 succeeds858 accepts optional `project_ids` array859 succeeds860 when `created_before` is missing861 succeeds862 when `created_after` is missing863 succeeds864 when `created_after` is invalid, falls back to default date865 is expected to respond with numeric status code success866 when `created_before` is invalid867 renders `unprocessable_entity`868 when `created_after` is later than `created_before`869 renders `unprocessable_entity`870 when the date range exceeds 180 days871 renders `unprocessable_entity`872 when `group_id` is not found873 renders `not_found` when group is missing874 when user has no lower access level than `reporter`875 renders `forbidden` response876 when feature is not available for the group877 renders `forbidden` response878 GET #count879 matches the response schema880 when valid parameters are given881 succeeds882 accepts optional `project_ids` array883 succeeds884 when `created_before` is missing885 succeeds886 when `created_after` is missing887 succeeds888 when `created_after` is invalid, falls back to default date889 is expected to respond with numeric status code success890 when `created_before` is invalid891 renders `unprocessable_entity`892 when `created_after` is later than `created_before`893 renders `unprocessable_entity`894 when the date range exceeds 180 days895 renders `unprocessable_entity`896 when `group_id` is not found897 renders `not_found` when group is missing898 when user has no lower access level than `reporter`899 renders `forbidden` response900 when feature is not available for the group901 renders `forbidden` response902 when params have group_id and value_stream_id903 behaves like Value Stream Analytics Stages controller904 GET #index905 succeeds906 returns correct start events907 does not include internal events908 succeeds for subgroups909 renders `forbidden` based on the response of the service object910 when `group_id` is not found911 renders `not_found` when group is missing912 when user has no lower access level than `reporter`913 renders `forbidden` response914 when feature is not available for the group915 renders `forbidden` response916 POST #create917 renders the validation errors918 when `group_id` is not found919 renders `not_found` when group is missing920 when user has no lower access level than `reporter`921 renders `forbidden` response922 when feature is not available for the group923 renders `forbidden` response924 when valid parameters are given925 creates the stage926 PUT #update927 renders the validation errors928 when `group_id` is not found929 renders `not_found` when group is missing930 when user has no lower access level than `reporter`931 renders `forbidden` response932 when feature is not available for the group933 renders `forbidden` response934 when valid parameters are given935 succeeds936 updates the name attribute937 hidden attribute938 updates the hidden attribute939 when positioning parameter is given940 moves the stage before the last place941 DELETE #destroy942 when `group_id` is not found943 renders `not_found` when group is missing944 when user has no lower access level than `reporter`945 renders `forbidden` response946 when feature is not available for the group947 renders `forbidden` response948 when persisted stage id is passed949 succeeds950 deletes the record951 when default stage id is passed952 fails with `forbidden` response953 data endpoints954 GET #median955 matches the response schema956 when valid parameters are given957 succeeds958 accepts optional `project_ids` array959 succeeds960 when `created_before` is missing961 succeeds962 when `created_after` is missing963 succeeds964 when `created_after` is invalid, falls back to default date965 is expected to respond with numeric status code success966 when `created_before` is invalid967 renders `unprocessable_entity`968 when `created_after` is later than `created_before`969 renders `unprocessable_entity`970 when the date range exceeds 180 days971 renders `unprocessable_entity`972 GET #average973 matches the response schema974 when valid parameters are given975 succeeds976 accepts optional `project_ids` array977 succeeds978 when `created_before` is missing979 succeeds980 when `created_after` is missing981 succeeds982 when `created_after` is invalid, falls back to default date983 is expected to respond with numeric status code success984 when `created_before` is invalid985 renders `unprocessable_entity`986 when `created_after` is later than `created_before`987 renders `unprocessable_entity`988 when the date range exceeds 180 days989 renders `unprocessable_entity`990 GET #records991 when valid parameters are given992 succeeds993 accepts optional `project_ids` array994 succeeds995 when `created_before` is missing996 succeeds997 when `created_after` is missing998 succeeds999 when `created_after` is invalid, falls back to default date1000 is expected to respond with numeric status code success1001 when `created_before` is invalid1002 renders `unprocessable_entity`1003 when `created_after` is later than `created_before`1004 renders `unprocessable_entity`1005 when the date range exceeds 180 days1006 renders `unprocessable_entity`1007 when `group_id` is not found1008 renders `not_found` when group is missing1009 when user has no lower access level than `reporter`1010 renders `forbidden` response1011 when feature is not available for the group1012 renders `forbidden` response1013 sort params1014 accepts sort params1015 pagination1016 exposes pagination headers1017 GET #average_duration_chart1018 matches the response schema1019 when valid parameters are given1020 succeeds1021 accepts optional `project_ids` array1022 succeeds1023 when `created_before` is missing1024 succeeds1025 when `created_after` is missing1026 succeeds1027 when `created_after` is invalid, falls back to default date1028 is expected to respond with numeric status code success1029 when `created_before` is invalid1030 renders `unprocessable_entity`1031 when `created_after` is later than `created_before`1032 renders `unprocessable_entity`1033 when the date range exceeds 180 days1034 renders `unprocessable_entity`1035 when `group_id` is not found1036 renders `not_found` when group is missing1037 when user has no lower access level than `reporter`1038 renders `forbidden` response1039 when feature is not available for the group1040 renders `forbidden` response1041 GET #count1042 matches the response schema1043 when valid parameters are given1044 succeeds1045 accepts optional `project_ids` array1046 succeeds1047 when `created_before` is missing1048 succeeds1049 when `created_after` is missing1050 succeeds1051 when `created_after` is invalid, falls back to default date1052 is expected to respond with numeric status code success1053 when `created_before` is invalid1054 renders `unprocessable_entity`1055 when `created_after` is later than `created_before`1056 renders `unprocessable_entity`1057 when the date range exceeds 180 days1058 renders `unprocessable_entity`1059 when `group_id` is not found1060 renders `not_found` when group is missing1061 when user has no lower access level than `reporter`1062 renders `forbidden` response1063 when feature is not available for the group1064 renders `forbidden` response1065Groups::EpicsController1066 when epics feature is disabled1067 GET #index1068 behaves like 404 status1069 returns 404 status1070 GET #new1071 behaves like 404 status1072 returns 404 status1073 GET #show1074 behaves like 404 status1075 returns 404 status1076 PUT #update1077 behaves like 404 status1078 returns 404 status1079 when epics feature is enabled1080 GET #index1081 returns index1082 when there is no logged in user1083 stores sorting param in a cookie1084 when there is a logged in user1085 when epics_sort is nil1086 stores sorting param in user preferences1087 when epics_sort is present1088 update epics_sort with current value1089 behaves like issuable list with anonymous search disabled1090 when disable_anonymous_search is enabled1091 shows a flash message1092 when search param is not given1093 does not show a flash message1094 when user is signed-in1095 does not show a flash message1096 when format is not HTML1097 does not show a flash message1098 when disable_anonymous_search is disabled1099 does not show a flash message1100 with page param1101 redirects to last_page if page number is larger than number of pages1102 renders the specified page1103 behaves like disabled when using an external authorization service1104 works when the feature is not enabled1105 renders a 404 with a message when the feature is enabled1106 when epic has multiple labels1107 does not cause N+1 queries1108 when format is JSON1109 returns a list of epics1110 does not use pagination1111 returns correct epic attributes1112 with parent_id filter1113 returns child epics of the given parent1114 using label_name filter1115 returns all epics with given label1116 GET #discussions1117 when issue note is returned1118 project default namespace1119 behaves like issue link presence1120 the link to the issue is included1121 project group namespace1122 behaves like issue link presence1123 the link to the issue is included1124 setting notes filter1125 behaves like issuable notes filter1126 sets discussion filter1127 expires notes e-tag cache for issuable if filter changed1128 does not expires notes e-tag cache for issuable if filter did not change1129 does not set notes filter when database is in read-only mode1130 does not set notes filter when persist_filter param is false1131 returns only user comments1132 returns only activity notes1133 when filter is set to "only_comments"1134 does not merge label event notes1135 GET #new1136 renders template1137 with unauthorized user1138 returns a not found 404 response1139 GET #show1140 when format is HTML1141 renders template1142 logs the view with Gitlab::Search::RecentEpics1143 with unauthorized user1144 returns a not found 404 response1145 behaves like disabled when using an external authorization service1146 works when the feature is not enabled1147 renders a 404 with a message when the feature is enabled1148 when format is JSON1149 returns epic1150 with unauthorized user1151 returns a not found 404 response1152 PUT #update1153 with correct basic params1154 returns status 2001155 updates the epic correctly1156 when state_event param is close1157 allows epic to be closed1158 when state_event param is reopen1159 allows epic to be reopened1160 GET #realtime_changes1161 returns epic1162 with unauthorized user1163 returns a not found 404 response1164 behaves like disabled when using an external authorization service1165 works when the feature is not enabled1166 renders a 404 with a message when the feature is enabled1167 #create1168 when user has permissions to create an epic1169 when all required parameters are passed1170 returns 200 response1171 creates a new epic1172 assigns labels to the new epic1173 returns the correct json1174 behaves like disabled when using an external authorization service1175 works when the feature is not enabled1176 renders a 404 with a message when the feature is enabled1177 when required parameter is missing1178 returns 422 response1179 does not create a new epic1180 when the endpoint receives requests above the limit1181 prevents from creating more epics1182 logs the event on auth.log1183 with unauthorized user1184 returns a not found 404 response1185 DELETE #destroy1186 rejects a developer to destroy an epic1187 deletes the epic1188 POST #bulk_update1189 with correct params1190 when group bulk edit feature is disabled1191 returns status 4041192 does not update merge requests milestone1193 when group bulk edit feature is enabled1194 returns status 2001195 updates epics labels1196 behaves like DescriptionDiffActions1198 when license is available1199 GET description_diff1200 returns the diff with the previous version1201 returns the diff with the previous version of the specified start_version_id1202 when description version is from another issuable1203 returns 4041204 when start_version_id is from another issuable1205 returns 4041206 when start_version_id is deleted1207 returns 4041208 when description version is deleted1209 returns 4041210 DELETE description_diff1211 returns 2001212 when start_version_id is present1213 returns 2001214 when version is already deleted1215 returns 4041216 when user cannot admin issuable1217 returns 4041218 when license is not available1219 GET description_diff1220 returns 4041221 DELETE description_diff1222 returns 4041223OperationsController1224 GET #index1225 format html1226 renders index with 200 status code1227 behaves like unlicensed1228 renders 4041229 with an anonymous user1230 redirects to sign-in page1231 format json1232 behaves like unlicensed1233 renders 4041234 with added projects1235 returns a list of added projects1236 returns as many projects as are in the user's dashboard1237 returns a list of added projects1238 without sufficient access level1239 behaves like empty project list1240 returns an empty list1241 without projects1242 behaves like empty project list1243 returns an empty list1244 with an anonymous user1245 returns unauthorized response1246 GET #environments1247 format html1248 renders the view1249 behaves like unlicensed1250 renders 4041251 with an anonymous user1252 redirects to sign-in page1253 format json1254 behaves like unlicensed1255 renders 4041256 with an anonymous user1257 returns unauthorized response1258 with an authenticated user without sufficient access_level1259 returns an empty project list1260 with an authenticated developer1261 returns an empty project list1262 sets the polling interval header1263 returns an empty project list when the project is not in the developer's dashboard1264 with a project in the dashboard1265 returns a project without an environment1266 returns one project with one environment1267 returns multiple projects and environments1268 does not return environments that would be grouped into a folder1269 does not return environments that would be grouped into a folder even when there is only a single environment1270 returns an environment not in a folder1271 returns the last deployment for an environment1272 returns the last deployment's deployable1273 returns a failed deployment1274 does not return a project for which the operations dashboard feature is unavailable1275 returns seven projects when some projects do not have the dashboard feature available1276 returns a maximum of three environments for a project1277 returns a maximum of three environments for multiple projects1278 with environments pagination1279 pagination behaviour1280 with `per_page`1281 behaves like environments pagination1282 is expected to include pagination headers1283 with `page=1`1284 behaves like environments pagination1285 is expected to include pagination headers1286 with `page=2`1287 behaves like environments pagination1288 is expected to include pagination headers1289 N+1 queries1290 avoids N+1 database queries1291 with a pipeline1292 returns the last pipeline for an environment1293 returns the last pipeline details1294 returns an upstream pipeline1295 returns a downstream pipeline1296 POST #create1297 format json1298 behaves like unlicensed1299 renders 4041300 without added projects1301 adds projects to the dashboard1302 cannot add a project twice1303 does not add invalid project ids1304 with added project1305 does not add already added project1306 with an anonymous user1307 redirects to sign-in page1308 DELETE #destroy1309 behaves like unlicensed1310 renders 4041311 with added projects1312 removes a project successfully1313 without projects1314 cannot remove invalid project1315 with an anonymous user1316 redirects to sign-in page1317Boards::ListsController1318 GET index1319 returns a successful 200 response1320 returns a list of board lists1321 with unauthorized user1322 returns a forbidden 403 response1323 POST create1324 with valid params1325 for label lists1326 returns a successful 200 response1327 for iteration lists1328 when iteration_board_lists is disabled1329 returns an error1330 when license is available1331 returns a successful 200 response1332 when license is unavailable1333 returns an error1334 with max issue count1335 with licensed wip limits1336 returns the created list1337 without licensed wip limits1338 ignores max issue count1339 with max issue weight1340 with licensed wip limits1341 returns the created list1342 without licensed wip limits1343 ignores max issue count1344 with limit metric1345 with licensed wip limits1346 fails with an unknown limit metric1347 behaves like a limit metric response1348 returns the created list with expected limit_metric1349 behaves like a limit metric response1350 returns the created list with expected limit_metric1351 behaves like a limit metric response1352 returns the created list with expected limit_metric1353 behaves like a limit metric response1354 returns the created list with expected limit_metric1355 behaves like a limit metric response1356 returns the created list with expected limit_metric1357 without licensed wip limits1358 ignores limit metric setting1359 with invalid params1360 when label is empty1361 returns an unprocessable entity 422 response1362 when label that does not belongs to group1363 returns an unprocessable entity 422 response1364 with unauthorized user1365 returns a forbidden 403 response1366 PATCH update1367 when updating max limits1368 returns a successful 200 response when max issue count should be updated1369 does not overwrite existing weight when max issue count is provided1370 does not overwrite existing count when max issue weight is provided1371 fails if negative max_issue_count is provided1372 fails if negative max_issue_weight is provided1373 multiple fields update behavior1374 behaves like a list update request1375 updates fields as expected1376 behaves like a list update request1377 updates fields as expected1378 behaves like a list update request1379 updates fields as expected1380 behaves like a list update request1381 updates fields as expected1382 behaves like a list update request1383 updates fields as expected1384 behaves like a list update request1385 updates fields as expected1386 behaves like a list update request1387 updates fields as expected1388 behaves like a list update request1389 updates fields as expected1390 behaves like a list update request1391 updates fields as expected1392 behaves like a list update request1393 updates fields as expected1394 behaves like a list update request1395 updates fields as expected1396 behaves like a list update request1397 updates fields as expected1398 behaves like a list update request1399 updates fields as expected1400 behaves like a list update request1401 updates fields as expected1402 when wip limits are not licensed1403 fails to update max issue count with expected status1404 fails to update max issue weight with expected status1405 with valid position1406 returns a successful 200 response1407 moves the list to the desired position1408 with invalid position1409 returns an unprocessable entity 422 response1410 with invalid list id1411 returns a not found 404 response1412 with unauthorized user1413 returns a 422 unprocessable entity response1414 DELETE destroy1415 with valid list id1416 returns a successful 200 response1417 removes list from board1418 with invalid list id1419 returns a not found 404 response1420 with unauthorized user1421 returns a forbidden 403 response1422Notify1423 for a project1424 for merge requests1425 that are new with approver1426 contains the approvers list1427 that are approved1428 is sent as the last approver1429 has the correct subject1430 contains the new status1431 contains a link to the merge request1432 contains the names of all of the approvers1433 contains the names of all assignees1434 behaves like a multiple recipients email1435 is sent to the given recipient1436 behaves like an answer to an existing thread with reply-by-email enabled1437 has X-GitLab-Project headers1438 has X-GitLab-*-ID header1439 has X-GitLab-*-IID header if model has iid defined1440 has X-GitLab-Project headers1441 has X-GitLab-*-ID header1442 has X-GitLab-*-IID header if model has iid defined1443 has the characteristics of a threaded reply1444 when reply-by-email is enabled with incoming address with %{key}1445 has a Reply-To header1446 when reply-by-email is enabled with incoming address without %{key}1447 has X-GitLab-Project headers1448 has X-GitLab-*-ID header1449 has X-GitLab-*-IID header if model has iid defined1450 has the characteristics of a threaded reply1451 has a Reply-To header1452 behaves like it should show Gmail Actions View Merge request link1453 is expected to have body including "View Merge request"1454 behaves like it should have Gmail Actions links1455 is expected to have body including "ViewAction"1456 behaves like an unsubscribeable thread1457 has a List-Unsubscribe header in the correct format, and a body link1458 behaves like an unsubscribeable thread with incoming address without %{key}1459 has a List-Unsubscribe header in the correct format, and a body link1460 when merge request has no assignee1461 does not show the assignee1462 that are unapproved1463 is sent as the last unapprover1464 has the correct subject1465 contains the new status1466 contains a link to the merge request1467 contains the names of all of the approvers1468 contains the names of all assignees1469 behaves like a multiple recipients email1470 is sent to the given recipient1471 behaves like an answer to an existing thread with reply-by-email enabled1472 has X-GitLab-Project headers1473 has X-GitLab-*-ID header1474 has X-GitLab-*-IID header if model has iid defined1475 has X-GitLab-Project headers1476 has X-GitLab-*-ID header1477 has X-GitLab-*-IID header if model has iid defined1478 has the characteristics of a threaded reply1479 when reply-by-email is enabled with incoming address with %{key}1480 has a Reply-To header1481 when reply-by-email is enabled with incoming address without %{key}1482 has X-GitLab-Project headers1483 has X-GitLab-*-ID header1484 has X-GitLab-*-IID header if model has iid defined1485 has the characteristics of a threaded reply1486 has a Reply-To header1487 behaves like it should show Gmail Actions View Merge request link1488 is expected to have body including "View Merge request"1489 behaves like it should have Gmail Actions links1490 is expected to have body including "ViewAction"1491 behaves like an unsubscribeable thread1492 has a List-Unsubscribe header in the correct format, and a body link1493 behaves like an unsubscribeable thread with incoming address without %{key}1494 has a List-Unsubscribe header in the correct format, and a body link1495 for merge requests without assignee1496 that are unapproved1497 contains the new status1498 for a group1499 for epics1500 that are new1501 has the correct subject and body1502 contains a link to epic author1503 contains a link to the epic1504 behaves like an epic email starting a new thread with reply-by-email enabled1505 has the characteristics of a threaded email1506 when reply-by-email is enabled with incoming address with %{key}1507 has a Reply-To header1508 when reply-by-email is enabled with incoming address without %{key}1509 has the characteristics of a threaded email1510 has a Reply-To header1511 behaves like it should show Gmail Actions View Epic link1512 is expected to have body including "View Epic"1513 behaves like it should have Gmail Actions links1514 is expected to have body including "ViewAction"1515 behaves like an unsubscribeable thread1516 has a List-Unsubscribe header in the correct format, and a body link1517 behaves like an unsubscribeable thread with incoming address without %{key}1518 has a List-Unsubscribe header in the correct format, and a body link1519 behaves like having group identification headers1520 has specific group headers1521 got deleted before notification1522 does not send email1523 that changed status1524 behaves like epic notifications with reply1525 has the characteristics of a threaded reply1526 has a Reply-To header1527 has the correct subject and body1528 behaves like having group identification headers1529 has specific group headers1530 behaves like it should show Gmail Actions View Epic link1531 is expected to have body including "View Epic"1532 behaves like it should have Gmail Actions links1533 is expected to have body including "ViewAction"1534 behaves like an unsubscribeable thread1535 has a List-Unsubscribe header in the correct format, and a body link1536 behaves like an unsubscribeable thread with incoming address without %{key}1537 has a List-Unsubscribe header in the correct format, and a body link1538 for epic notes1539 behaves like epic notifications with reply1540 has the characteristics of a threaded reply1541 has a Reply-To header1542 has the correct subject and body1543 behaves like having group identification headers1544 has specific group headers1545 behaves like it should show Gmail Actions View Epic link1546 is expected to have body including "View Epic"1547 behaves like it should have Gmail Actions links1548 is expected to have body including "ViewAction"1549 behaves like an unsubscribeable thread1550 has a List-Unsubscribe header in the correct format, and a body link1551 behaves like an unsubscribeable thread with incoming address without %{key}1552 has a List-Unsubscribe header in the correct format, and a body link1553 behaves like a note email1554 is sent to the given recipient as the author1555 contains the message from the note1556 contains a link to note author1557 behaves like it should have Gmail Actions links1558 is expected to have body including "ViewAction"1559 mirror was hard failed1560 has the correct subject and body1561 behaves like an email sent from GitLab1562 has the characteristics of an email sent from GitLab1563 behaves like it should not have Gmail Actions links1564 is expected not to have body including "ViewAction"1565 behaves like a user cannot unsubscribe through footer link1566 does not have a List-Unsubscribe header or a body link1567 mirror was disabled1568 has the correct subject and body1569 behaves like an email sent from GitLab1570 has the characteristics of an email sent from GitLab1571 behaves like it should not have Gmail Actions links1572 is expected not to have body including "ViewAction"1573 behaves like a user cannot unsubscribe through footer link1574 does not have a List-Unsubscribe header or a body link1575 user was deleted1576 does not send email1577 mirror user changed1578 has the correct subject and body1579 behaves like an email sent from GitLab1580 has the characteristics of an email sent from GitLab1581 behaves like it should not have Gmail Actions links1582 is expected not to have body including "ViewAction"1583 behaves like a user cannot unsubscribe through footer link1584 does not have a List-Unsubscribe header or a body link1585 new user was created via saml1586 delivers mail to user email1587 contains all the useful information1588 behaves like an email sent from GitLab1589 has the characteristics of an email sent from GitLab1590 behaves like it should not have Gmail Actions links1591 is expected not to have body including "ViewAction"1592 behaves like a user cannot unsubscribe through footer link1593 does not have a List-Unsubscribe header or a body link1594 behaves like appearance header and footer enabled1595 contains header and footer1596 behaves like appearance header and footer not enabled1597 does not contain header and footer1598API::Wikis1599 GET /groups/:id/wikis1600 when group wiki is disabled1601 when user is guest1602 returns 404 Group Not Found1603 when user is developer1604 returns 403 Forbidden1605 when user is maintainer1606 returns 403 Forbidden1607 when wiki is available only for team members1608 when user is guest1609 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1610 when user is developer1611 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1612 when wiki has pages1613 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1614 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1615 when user is maintainer1616 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1617 when wiki has pages1618 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1619 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1620 when wiki is available for everyone with access1621 when user is guest1622 returns 404 Group Not Found1623 when user is developer1624 return the empty list of wiki pages1625 when wiki has pages1626 returns the list of wiki pages without content1627 returns the list of wiki pages with content1628 when user is maintainer1629 return the empty list of wiki pages1630 when wiki has pages1631 returns the list of wiki pages without content1632 returns the list of wiki pages with content1633 GET /groups/:id/wikis/:slug1634 when wiki is disabled1635 when user is guest1636 returns 404 Group Not Found1637 when user is developer1638 returns 403 Forbidden1639 when user is maintainer1640 returns 403 Forbidden1641 when wiki is available only for team members1642 when user is guest1643 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1644 when user is developer1645 returns the wiki page (PENDING: Temporarily skipped with xcontext)1646 when page does not exist1647 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1648 when user is maintainer1649 returns the wiki page (PENDING: Temporarily skipped with xcontext)1650 when page does not exist1651 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1652 when wiki is available for everyone with access1653 when user is guest1654 returns 404 Group Not Found1655 when user is developer1656 returns the wiki page1657 when page does not exist1658 returns 404 Wiki Page Not Found1659 when user is maintainer1660 returns the wiki page1661 when page does not exist1662 returns 404 Wiki Page Not Found1663 POST /groups/:id/wikis1664 when wiki is disabled1665 when user is guest1666 returns 404 Group Not Found1667 when user is developer1668 returns 403 Forbidden1669 when user is maintainer1670 returns 403 Forbidden1671 when wiki is available only for team members1672 when user is guest1673 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1674 when user is developer1675 creates the wiki page (PENDING: Temporarily skipped with xcontext)1676 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1677 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1678 when user is maintainer1679 creates the wiki page (PENDING: Temporarily skipped with xcontext)1680 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1681 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1682 when wiki is available for everyone with access1683 when user is guest1684 returns 404 Group Not Found1685 when user is developer1686 creates the wiki page1687 responds with validation error on empty title1688 responds with validation error on empty content1689 when user is maintainer1690 creates the wiki page1691 responds with validation error on empty title1692 responds with validation error on empty content1693 PUT /group/:id/wikis/:slug1694 when wiki is disabled1695 when user is guest1696 returns 404 Group Not Found1697 when user is developer1698 returns 403 Forbidden1699 when user is maintainer1700 returns 403 Forbidden1701 when wiki is available only for team members1702 when user is guest1703 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1704 when user is developer1705 updates the wiki page (PENDING: Temporarily skipped with xcontext)1706 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1707 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1708 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1709 when page does not exist1710 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1711 when user is maintainer1712 updates the wiki page (PENDING: Temporarily skipped with xcontext)1713 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1714 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1715 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1716 when page is not existing1717 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1718 when wiki is available for everyone with access1719 when user is guest1720 returns 404 Group Not Found1721 when user is developer1722 updates the wiki page1723 updates with wiki with missing title1724 updates with wiki with missing content1725 updates with wiki with missing format1726 when page does not exist1727 returns 404 Wiki Page Not Found1728 when user is maintainer1729 updates the wiki page1730 updates with wiki with missing title1731 updates with wiki with missing content1732 updates with wiki with missing format1733 when page does not exist1734 returns 404 Wiki Page Not Found1735 when user is owner of parent group1736 updates the wiki page1737 updates with wiki with missing title1738 updates with wiki with missing content1739 updates with wiki with missing format1740 DELETE /groups/:id/wikis/:slug1741 when wiki is disabled1742 when user is guest1743 returns 404 Group Not Found1744 when user is developer1745 returns 403 Forbidden1746 when user is maintainer1747 returns 403 Forbidden1748 when wiki is available only for team members1749 when user is guest1750 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1751 when user is developer1752 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)1753 when user is maintainer1754 returns 204 No Content (PENDING: Temporarily skipped with xcontext)1755 when wiki is available for everyone with access1756 when user is guest1757 returns 404 Group Not Found1758 when user is developer1759 returns 403 Forbidden1760 when user is maintainer1761 returns 204 No Content1762 when page does not exist1763 returns 404 Wiki Page Not Found1764 when user is owner of parent group1765 returns 204 No Content1766 POST /groups/:id/wikis/attachments1767 when wiki is disabled1768 when user is guest1769 returns 404 Group Not Found1770 when user is developer1771 returns 403 Forbidden1772 when user is maintainer1773 returns 403 Forbidden1774 when wiki is available only for team members1775 when user is guest1776 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1777 when user is developer1778 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1779 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1780 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1781 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1782 when user is maintainer1783 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1784 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1785 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1786 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1787 when wiki is available for everyone with access1788 when user is guest1789 returns 404 Group Not Found1790 when user is developer1791 pushes attachment to the wiki repository1792 responds with validation error on empty file1793 responds with validation error on invalid temp file1794 is backward compatible with regular multipart uploads1795 when user is maintainer1796 pushes attachment to the wiki repository1797 responds with validation error on empty file1798 responds with validation error on invalid temp file1799 is backward compatible with regular multipart uploads1800API::Namespaces1801 GET /namespaces1802 when authenticated as admin1803 returns correct attributes1804 when authenticated as a regular user1805 returns correct attributes when user can admin group1806 returns correct attributes when user cannot admin group1807 when passing the requested hosted plan1808 without a requested plan1809 counts guest members1810 when requesting an invalid plan1811 counts guest members1812 when requesting bronze plan1813 counts guest members1814 when requesting premium plan1815 counts guest members1816 when requesting gold plan1817 does not count guest members1818 with gitlab subscription1819 includes max_seats_used1820 includes seats_in_use1821 avoids additional N+1 database queries1822 traversal_sync_ids feature flag is false1823 is expected not to exceed all query limit #<ActiveRecord::QueryRecorder:0x00007f406a211ce8 @data={"unknown:unknown"=>{:count=>55, :occurrences=...skip_cached=false, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=55>1824 traversal_sync_ids feature flag is true1825 is expected not to exceed all query limit #<ActiveRecord::QueryRecorder:0x00007f404e7a3e48 @data={"unknown:unknown"=>{:count=>55, :occurrences=...skip_cached=false, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=55>1826 without gitlab subscription1827 does not include max_seats_used1828 does not include seats_in_use1829 PUT /namespaces/:id1830 when authenticated as admin1831 updates namespace using full_path when full_path contains dots1832 updates namespace using id1833 expires the CI minutes CachedQuota1834 when current CI minutes notification level is set1835 resets the current CI minutes notification level1836 when request has extra_shared_runners_minutes_limit param1837 updates the extra shared runners minutes limit1838 expires the CI minutes CachedQuota1839 updates pending builds data since adding extra minutes the quota is not used up anymore1840 when current CI minutes notification level is set1841 resets the current CI minutes notification level1842 when neither minutes limit params is provided1843 does not expire the CI minutes CachedQuota1844 when current CI minutes notification level is set1845 does not reset the current CI minutes notification level1846 when not authenticated as admin1847 retuns 4031848 when namespace not found1849 returns 4041850 when project namespace is passed1851 returns 4041852 when invalid params1853 attr: :shared_runners_minutes_limit1854 returns validation error for1855 attr: :additional_purchased_storage_size1856 returns validation error for1857 attr: :additional_purchased_storage_ends_on1858 returns validation error for1859 when namespace has a value for last_ci_minutes_notification_at1860 resets that value when assigning extra CI minutes1861 when namespace has a value for last_ci_minutes_usage_notification_level1862 resets that value when assigning extra CI minutes1863 when customer purchases extra CI minutes1864 ticks instance runners1865 when passing attributes for gitlab_subscription1866 creates the gitlab_subscription record1867 updates the gitlab_subscription record1868 when params are invalid1869 returns a 400 error1870 POST :id/gitlab_subscription1871 when authenticated as a regular user1872 returns an unauthorized error1873 when authenticated as an admin1874 fails when some attrs are missing1875 fails when the record is invalid1876 creates a subscription for the Group1877 sets the trial_starts_on to the start_date1878 creates a subscription using full_path when the namespace path contains dots1879 when namespace does not exist1880 creates a subscription using full_path when the namespace path contains dots1881 when creating subscription for project namespace1882 creates a subscription using full_path when the namespace path contains dots1883 GET :id/gitlab_subscription1884 with a regular user1885 returns an unauthorized error1886 with the owner of the Group1887 has access to the object1888 is successful using full_path when namespace path contains dots1889 returns data in a proper format1890 when namespace is a project namespace1891 returns a 404 error1892 PUT :id/gitlab_subscription1893 when authenticated as a regular user1894 returns an unauthorized error1895 when authenticated as an admin1896 when namespace does not have a subscription1897 returns a 404 error1898 when namespace is a project namespace1899 returns a 404 error1900 when params are invalid1901 returns a 400 error1902 when params are valid1903 updates the subscription for the Group1904 is successful using full_path when namespace path contains dots1905 does not clear out existing data because of defaults1906 updates the timestamp when the attributes are the same1907 setting the trial expiration date1908 when the attr has a future date1909 updates the trial expiration date1910Groups::ClustersController1911 behaves like cluster metrics1912 GET #metrics1913 functionality1914 can query Prometheus1915 queries cluster metrics1916 when response has content1917 returns prometheus query response1918 when response has no content1919 returns prometheus query response1920 without Prometheus1921 returns not found1922 cannot query Prometheus1923 returns not found1924 security1925 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2041926 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2041927 is expected to be denied for developer. Expected: 401,404 Got: 4041928 is expected to be denied for reporter. Expected: 401,404 Got: 4041929 is expected to be denied for guest. Expected: 401,404 Got: 4041930 is expected to be denied for user. Expected: 401,404 Got: 4041931 is expected to be denied for external. Expected: 401,404 Got: 4041932 when admin mode is enabled1933 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2041934 when admin mode is disabled1935 is expected to be denied for admin. Expected: 401,404 Got: 4041936 GET environments1937 functionality1938 responds successfully1939 security1940 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2001941 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2001942 is expected to be denied for developer. Expected: 401,404 Got: 4041943 is expected to be denied for reporter. Expected: 401,404 Got: 4041944 is expected to be denied for guest. Expected: 401,404 Got: 4041945 is expected to be denied for user. Expected: 401,404 Got: 4041946 is expected to be denied for external. Expected: 401,404 Got: 4041947 when admin mode is enabled1948 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2001949 when admin mode is disabled1950 is expected to be denied for admin. Expected: 401,404 Got: 4041951 GET show1952 expires etag cache to force reload environments list1953API::GroupPushRule GroupPushRule1954 GET /groups/:id/push_rule1955 when unlicensed1956 behaves like not found when feature is unavailable1957 is expected to respond with numeric status code not_found1958 authorized user1959 when licensed1960 returns attributes as expected1961 matches response schema1962 when reject_unsigned_commits is unavailable1963 is expected not to have key "reject_unsigned_commits"1964 when commit_committer_check is unavailable1965 is expected not to have key "commit_committer_check"1966 permissions1967 behaves like allow access to api based on role1968 is expected to be allowed for :admin1969 is expected to be allowed for :owner1970 is expected to be denied for :developer1971 is expected to be denied for :reporter1972 is expected to be denied for :guest1973 is expected to be denied for :anonymous1974 when push rule does not exist1975 returns not found1976 POST /groups/:id/push_rule1977 when unlicensed1978 behaves like not found when feature is unavailable1979 is expected to respond with numeric status code not_found1980 authorized user1981 when licensed1982 is expected to respond with numeric status code created1983 is expected to change `PushRule.count` by 11984 creates record with appropriate attributes1985 when push rule exists1986 is expected to eq "Group push rule exists, try updating"1987 permissions1988 behaves like allow access to api based on role1989 is expected to be allowed for :admin1990 is expected to be allowed for :owner1991 is expected to be denied for :developer1992 is expected to be denied for :reporter1993 is expected to be denied for :guest1994 is expected to be denied for :anonymous1995 when no rule is specified1996 is expected to include "at least one parameter must be provided"1997 when reject_unsigned_commits is unavailable1998 returns forbidden1999 and reject_unsigned_commits is not set2000 returns created2001 when commit_committer_check is unavailable2002 is expected to respond with numeric status code forbidden2003 and commit_committer_check is not set2004 returns created2005 PUT /groups/:id/push_rule2006 when unlicensed2007 behaves like not found when feature is unavailable2008 is expected to respond with numeric status code not_found2009 authorized user2010 when licensed2011 is expected to respond with numeric status code ok2012 updates attributes as expected2013 when push rule does not exist for group2014 returns not found2015 permissions2016 behaves like allow access to api based on role2017 is expected to be allowed for :admin2018 is expected to be allowed for :owner2019 is expected to be denied for :developer2020 is expected to be denied for :reporter2021 is expected to be denied for :guest2022 is expected to be denied for :anonymous2023 when no rule is specified2024 is expected to include "at least one parameter must be provided"2025 when reject_unsigned_commits is unavailable2026 returns forbidden2027 and reject_unsigned_commits is not set2028 returns status ok2029 when commit_committer_check is unavailable2030 is expected to respond with numeric status code forbidden2031 and commit_committer_check is not set2032 returns status ok2033 DELETE /groups/:id/push_rule2034 authorized user2035 when licensed2036 with group push rule2037 is expected to equal nil2038 when push rule does not exist2039 returns not found2040 when unlicensed2041 behaves like not found when feature is unavailable2042 is expected to respond with numeric status code not_found2043 permissions2044 behaves like allow access to api based on role2045 is expected to be allowed for :admin2046 is expected to be allowed for :owner2047 is expected to be denied for :developer2048 is expected to be denied for :reporter2049 is expected to be denied for :guest2050 is expected to be denied for :anonymous2051TrialsController2052 #new2053 calls record_experiment_user for the experiments2054 when the trial_registration_with_reassurance experiment is active2055 tracks a "render" event2056 behaves like an authenticated endpoint2057 when not authenticated2058 is expected to redirect to "http://test.host/-/trial_registrations/new"2059 when authenticated2060 is expected to respond with numeric status code ok2061 behaves like a dot-com only feature2062 when not on gitlab.com and not in development environment2063 is expected to respond with numeric status code not_found2064 when on gitlab.com or in dev environment2065 is expected to respond with numeric status code ok2066 #create_lead2067 behaves like an authenticated endpoint2068 when not authenticated2069 is expected to redirect to "http://test.host/-/trial_registrations/new"2070 when authenticated2071 is expected to respond with numeric status code ok2072 behaves like a dot-com only feature2073 when not on gitlab.com and not in development environment2074 is expected to respond with numeric status code not_found2075 when on gitlab.com or in dev environment2076 is expected to respond with numeric status code ok2077 on success2078 is expected to redirect to "http://test.host/-/trials/select"2079 coming from about.gitlab.com2080 redirects to trial onboarding2081 when user has 1 trial eligible namespace2082 when the ApplyTrialService is successful2083 applies a trial to the namespace2084 tracks for the combined_registration experiment2085 is expected to redirect to "http://test.host/namespace-test?trial=true"2086 when the ApplyTrialService is unsuccessful2087 is expected to render template select2088 on failure2089 is expected to render template new2090 request params to Lead Service2091 sends appropriate request params2092 #create_hand_raise_lead2093 calls the CreateHandRaiseLeadService with correct parameters2094 behaves like a dot-com only feature2095 when not on gitlab.com and not in development environment2096 is expected to respond with numeric status code not_found2097 when on gitlab.com or in dev environment2098 is expected to respond with numeric status code ok2099 when not authenticated2100 is expected to respond with numeric status code not_found2101 when in_app_hand_raise_pql feature flag is disabled2102 is expected to respond with numeric status code not_found2103 when cannot find the namespace2104 returns 4042105 when CreateHandRaiseLeadService fails2106 returns 4032107 #select2108 behaves like an authenticated endpoint2109 when not authenticated2110 is expected to redirect to "http://test.host/-/trial_registrations/new"2111 when authenticated2112 is expected to respond with numeric status code ok2113 behaves like a dot-com only feature2114 when not on gitlab.com and not in development environment2115 is expected to respond with numeric status code not_found2116 when on gitlab.com or in dev environment2117 is expected to respond with numeric status code ok2118 when the trial_registration_with_reassurance experiment is active2119 tracks a "render" event2120 #apply2121 calls the ApplyTrialService with correct parameters2122 behaves like an authenticated endpoint2123 when not authenticated2124 is expected to redirect to "http://test.host/-/trial_registrations/new"2125 when authenticated2126 is expected to respond with numeric status code ok2127 behaves like a dot-com only feature2128 when not on gitlab.com and not in development environment2129 is expected to respond with numeric status code not_found2130 when on gitlab.com or in dev environment2131 is expected to respond with numeric status code ok2132 on success2133 is expected to redirect to "/namespace-test?trial=true"2134 calls the record conversion method for the experiments2135 calls tracking event for combined_registration experiment2136 when the trial_registration_with_reassurance experiment is active2137 tracks an "apply_trial" event2138 redirect trial user to feature2139 segment: :control, glm_content: "discover-group-security", redirect: :group_url2140 is expected to redirect to "http://test.host/namespace-test?trial=true"2141 records the subject2142 segment: :candidate, glm_content: "discover-group-security", redirect: :group_security_dashboard_url2143 is expected to redirect to "http://test.host/groups/namespace-test/-/security/dashboard?trial=true"2144 records the subject2145 segment: :control, glm_content: "discover-project-security", redirect: :group_url2146 is expected to redirect to "http://test.host/namespace-test?trial=true"2147 records the subject2148 segment: :candidate, glm_content: "discover-project-security", redirect: :group_security_dashboard_url2149 is expected to redirect to "http://test.host/groups/namespace-test/-/security/dashboard?trial=true"2150 records the subject2151 with a new Group2152 creates the Group2153 with an old namespace2154 does not track for the force_company_trial experiment2155 on failure2156 is expected to render template select2157 does not call the record conversion method for the experiments2158 with a new Group2159 is expected to render template select2160 does not create the Group2161 #extend_reactivate2162 calls the ExtendReactivateTrialService with correct parameters2163 behaves like an authenticated endpoint2164 when not authenticated2165 is expected to redirect to "http://test.host/-/trial_registrations/new"2166 when authenticated2167 is expected to respond with numeric status code ok2168 behaves like a dot-com only feature2169 when not on gitlab.com and not in development environment2170 is expected to respond with numeric status code not_found2171 when on gitlab.com or in dev environment2172 is expected to respond with numeric status code ok2173 on success2174 is expected to respond with numeric status code ok2175 on failure2176 when user is not namespace owner2177 returns 4032178 when cannot find the namespace2179 returns 4042180 when trial extension type is neither EXTEND nor REACTIVATE2181 returns 4032182 when trial extension type is EXTEND2183 returns 403 if the namespace cannot extend2184 when trial extension type is REACTIVATE2185 returns 403 if the namespace cannot reactivate2186 when ExtendReactivateTrialService fails2187 returns 4032188 confirm email warning2189 with an unconfirmed email address present2190 is expected not to set confirm warning for "unconfirmed@gitlab.com"2191 without an unconfirmed email address present2192 is expected not to set confirm warning for "user1267@example.org"2193Projects::BoardsController2194 GET index2195 returns a list of project boards including milestones2196 behaves like redirects to last visited board2197 when multiple boards are disabled2198 renders first board2199 when multiple boards are enabled2200 redirects to latest visited board2201 behaves like pushes wip limits to frontend2202 self-hosted with correct license2203 is enabled for all groups if the license is correct2204 on .com2205 for group with correct plan2206 is enabled2207 for group with incorrect or no plan2208 is not enabled2209 GET recent2210 behaves like returns recently visited boards2211 returns last 4 visited boards2212 unauthenticated2213 returns a 3022214 GET show2215 behaves like multiple issue boards show2216 when multiple issue boards is enabled2217 lets user view board12218 lets user view board22219 when multiple issue boards is disabled2220 let user view the default shown board2221 renders 200 when project board is not the default2222 POST create2223 with the multiple issue boards available2224 with valid params2225 returns a successful 200 response2226 returns the created board2227 valid board is created2228 with invalid params2229 returns an unprocessable entity 422 response2230 with unauthorized user2231 returns a not found 404 response2232 PATCH update2233 with valid params2234 returns a successful 200 response2235 returns the updated board2236 updates board with valid params2237 with invalid params2238 returns an unprocessable entity 422 response2239 with invalid board id2240 returns a not found 404 response2241 with unauthorized user2242 returns a not found 404 response2243 DELETE destroy2244 with valid board id2245 redirects to the issue boards page2246 removes board from project2247 with invalid board id2248 returns a not found 404 response2249 with unauthorized user2250 returns a not found 404 response2251API::ProtectedBranches2252 GET /projects/:id/protected_branches/:branch2253 when authenticated as a maintainer2254 behaves like protected branch2255 returns the protected branch2256 with per user/group access levels2257 returns access level details2258 when protected branch contains a wildcard2259 behaves like protected branch2260 returns the protected branch2261 with per user/group access levels2262 returns access level details2263 when protected branch contains a period2264 behaves like protected branch2265 returns the protected branch2266 with per user/group access levels2267 returns access level details2268 when authenticated as a guest2269 behaves like 403 response2270 returns 4032271 PATCH /projects/:id/protected_branches/:branch2272 when authenticated as a maintainer2273 when the feature is enabled2274 updates the protected branch2275 when the feature is disabled2276 does not change the protected branch2277 when authenticated as a guest2278 returns a 403 response2279 POST /projects/:id/protected_branches2280 when authenticated as a maintainer2281 protects a single branch2282 protects a single branch and only admins can unprotect2283 code_owner_approval_required2284 when feature is enabled2285 sets :code_owner_approval_required to true when the param is true2286 sets :code_owner_approval_required to false when the param is false2287 when feature is not enabled2288 sets :code_owner_approval_required to false when the param is false2289 with granular access2290 can protect a branch while allowing an individual user to push2291 can protect a branch while allowing an individual user to merge2292 can protect a branch while allowing an individual user to unprotect2293 can protect a branch while allowing a group to push2294 can protect a branch while allowing a group to merge2295 can protect a branch while allowing a group to unprotect2296 fails if users don't all have access to the project2297 fails if groups aren't all invited to the project2298 avoids creating default access levels unless necessary2299Projects::Settings::OperationsController2300 GET show2301 with a license2302 with maintainer role2303 behaves like user with read access2304 renders ok2305 behaves like user with read access2306 renders ok2307 behaves like user with read access2308 renders ok2309 without maintainer role2310 behaves like user without read access2311 returns 4042312 behaves like user without read access2313 returns 4042314 behaves like user without read access2315 returns 4042316 behaves like user without read access2317 returns 4042318 behaves like user without read access2319 returns 4042320 behaves like user without read access2321 returns 4042322 behaves like user without read access2323 returns 4042324 behaves like user without read access2325 returns 4042326 behaves like user without read access2327 returns 4042328 when user not logged in2329 behaves like user without read access2330 returns 4042331 behaves like user needs to login2332 redirects for private project2333 behaves like user needs to login2334 redirects for private project2335 without license2336 behaves like user with read access2337 renders ok2338 behaves like user with read access2339 renders ok2340 behaves like user with read access2341 renders ok2342 PATCH update2343 with a license2344 with non maintainer roles2345 with guest role2346 behaves like user without write access2347 does not create status_page_setting2348 behaves like user without write access2349 does not create status_page_setting2350 behaves like user without write access2351 does not create status_page_setting2352 with reporter role2353 behaves like user without write access2354 does not create status_page_setting2355 behaves like user without write access2356 does not create status_page_setting2357 behaves like user without write access2358 does not create status_page_setting2359 with developer role2360 behaves like user without write access2361 does not create status_page_setting2362 behaves like user without write access2363 does not create status_page_setting2364 behaves like user without write access2365 does not create status_page_setting2366 with anonymous user2367 behaves like user without write access2368 does not create status_page_setting2369 behaves like user without write access2370 does not create status_page_setting2371 behaves like user without write access2372 does not create status_page_setting2373 without existing status page setting2374 is expected to be a kind of StatusPage::ProjectSetting(project_id: integer, created_at: datetime_with_timezone, updated_at: datet...ws_secret_key: string, encrypted_aws_secret_key_iv: string, status_page_url: text, aws_secret_key: )2375 with existing status page setting2376 updates the fields2377 respects the model validations2378 deletes the setting if keys removed2379 indident management settings2380 without existing incident management setting2381 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )2382 behaves like can set the sla timer settings2383 updates the sla settings2384 with existing incident management setting2385 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )2386 behaves like can set the sla timer settings2387 updates the sla settings2388 without a license2389 cannot update sla timer settings2390 behaves like user without write access2391 does not create status_page_setting2392 behaves like user without write access2393 does not create status_page_setting2394 behaves like user without write access2395 does not create status_page_setting2396API::VulnerabilityIssueLinks2397 GET /vulnerabilities/:id/issue_links2398 with an authorized user with proper permissions2399 when linked issue is not confidential and available for the user2400 gets the list of visible issue links2401 when there is an additional confidential issue linked2402 gets the list of visible issue links2403 does not return confidential issue in the response2404 when link is created to issue in the inaccessible project2405 gets the list of visible issue links2406 does not return issue from inaccessible project2407 behaves like responds with "not found" for an unknown vulnerability ID2408 is expected to respond with numeric status code not_found2409 behaves like forbids access to vulnerability API endpoint in case of disabled features2410 when security dashboard feature is not available2411 responds with 403 Forbidden2412 permissions2413 is expected to be allowed for :admin2414 is expected to be allowed for :owner2415 is expected to be allowed for :maintainer2416 is expected to be allowed for :developer2417 is expected to be allowed for :auditor2418 is expected to be denied for :reporter2419 is expected to be denied for :guest2420 is expected to be denied for :anonymous2421 POST /vulnerabilities/:id/issue_links2422 with an authorized user with proper permissions2423 with valid params2424 creates a new vulnerability-issue link2425 when issue is from different project2426 when target_project_id is invalid2427 responds with "not found" and specific error message2428 when user does not have access to the project2429 responds with "not found" and specific error message2430 when user is authorized with proper permissions to the project2431 creates a new vulnerability-issue link2432 with unknown issue ID2433 responds with "not found" and specific error message2434 when a link between these issue and vulnerability already exists2435 responds with "conflict" status code and specific error message2436 when a "created" link for a vulnerability already exists2437 responds with "conflict" status code and specific error message2438 when trying to relate a confidential issue of the same project2439 creates a new vulnerability-issue link2440 behaves like responds with "not found" for an unknown vulnerability ID2441 is expected to respond with numeric status code not_found2442 behaves like forbids access to vulnerability API endpoint in case of disabled features2443 when security dashboard feature is not available2444 responds with 403 Forbidden2445 permissions2446 is expected to be allowed for :admin2447 is expected to be allowed for :owner2448 is expected to be allowed for :maintainer2449 is expected to be allowed for :developer2450 is expected to be denied for :auditor2451 is expected to be denied for :reporter2452 is expected to be denied for :guest2453 is expected to be denied for :anonymous2454 DELETE /vulnerabilities/:id/issue_links/:issue_link_id2455 with an authorized user with proper permissions2456 with valid params2457 deletes the specified vulnerability-issue link2458 with unknown issue link ID2459 responds with "not found" and specific error message2460 behaves like responds with "not found" for an unknown vulnerability ID2461 is expected to respond with numeric status code not_found2462 behaves like forbids access to vulnerability API endpoint in case of disabled features2463 when security dashboard feature is not available2464 responds with 403 Forbidden2465 permissions2466 is expected to be allowed for :admin2467 is expected to be allowed for :owner2468 is expected to be allowed for :maintainer2469 is expected to be allowed for :developer2470 is expected to be denied for :auditor2471 is expected to be denied for :reporter2472 is expected to be denied for :guest2473 is expected to be denied for :anonymous2474getting group information2475 Query group(fullPath)2476 when Group SSO is enforced2477 returns null data when not authorized2478 allows access via session2479 allows access via bearer token2480 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount2481 finds vulnerability grades for only projects that were added to instance security dashboard2482 returns a successful response2483 when loading multiple epics2484 can lookahead to eliminate N+1 queries2485 when loading release statistics2486 when the group is private2487 behaves like correct access to release statistics2488 when the user is not logged in2489 behaves like no access to release statistics2490 returns data about release utilization within the group2491 when the user is not a member of the group2492 behaves like no access to release statistics2493 returns data about release utilization within the group2494 when the user is at least a guest2495 behaves like full access to release statistics2496 when there are no releases2497 returns 0 for both statistics2498 when there are some releases2499 returns data about release utilization within the group2500 when the group is public2501 behaves like correct access to release statistics2502 when the user is not logged in2503 behaves like no access to release statistics2504 returns data about release utilization within the group2505 when the user is not a member of the group2506 behaves like no access to release statistics2507 returns data about release utilization within the group2508 when the user is at least a guest2509 behaves like full access to release statistics2510 when there are no releases2511 returns 0 for both statistics2512 when there are some releases2513 returns data about release utilization within the group2514 pagination2515 when default sorting2516 behaves like sorted paginated query2517 behaves like requires variables2518 shared example requires variables to be set2520 when sorting2521 sorts correctly2522 when paginating2523 paginates correctly2524getting a requirement list for a project2525 when user has access to the project2526 returns requirements successfully2527 behaves like a working graphql query2528 returns a successful response2529 when limiting the number of results2530 behaves like a working graphql query2531 returns a successful response2532 query performance with test reports2533 avoids N+1 queries2534 filtering2535 behaves like a working graphql query2536 returns a successful response2537 when given single author param2538 returns filtered requirements2539 when given multiple author param2540 returns filtered requirements2541 when given search param2542 returns filtered requirements2543 when given author and search params2544 returns filtered requirements2545 when given lastTestReportState2546 returns filtered requirements2547 for MISSING status2548 returns filtered requirements2549 sorting and pagination2550 when sorting by created_at2551 when ascending2552 behaves like sorted paginated query2553 behaves like requires variables2554 shared example requires variables to be set2556 when sorting2557 sorts correctly2558 when paginating2559 paginates correctly2560 when descending2561 behaves like sorted paginated query2562 behaves like requires variables2563 shared example requires variables to be set2565 when sorting2566 sorts correctly2567 when paginating2568 paginates correctly2569 when the user does not have access to the requirement2570 returns nil2571 when requirements feature is not available2572 returns nil2573API::MergeRequests2574 PUT /projects/:id/merge_requests2575 multiple assignees2576 when licensed2577 creates merge request with multiple assignees2578 when not licensed2579 creates merge request with a single assignee2580 when updating existing approval rules2581 is successful2582 POST /projects/:id/merge_requests2583 multiple assignees2584 when licensed2585 creates merge request with multiple assignees2586 when not licensed2587 creates merge request with a single assignee2588 between branches projects2589 returns merge_request2590 the approvals_before_merge param2591 when the target project has disable_overriding_approvers_per_merge_request set to true2592 does not set approvals_before_merge2593 when the target project has disable_overriding_approvers_per_merge_request set to false2594 sets approvals_before_merge2595 PUT /projects/:id/merge_requests/:merge_request_iid/merge2596 returns 405 if merge request was not approved2597 returns 200 if merge request was approved2598 DELETE /projects/:id/merge_requests/:merge_request_iid2599 when the merge request is on the merge train2600 removes train ref2601 when authenticated2602 filter merge requests by assignee ID2603 returns merge requests with given assignee ID2604 filter merge requests by approver IDs2605 with specified approver id2606 returns an array of merge requests which have specified the user as an approver2607 with specified None as a param2608 returns an array of merge requests with no approvers2609 with specified Any as a param2610 returns an array of merge requests with any approver2611 with any other string as a param2612 returns a validation error2613 filter merge requests by approval IDs2614 with specified approved_by id2615 returns an array of merge requests which have specified the user as an approver2616 with multiple specified approved_by ids2617 when approved by all users2618 returns an array of merge requests which have specified the user as an approver2619 when not approved by all users2620 does not return any merge request2621 with specified None as a param2622 returns an array of merge requests with no approvers2623 with specified Any as a param2624 returns an array of merge requests with any approver2625 with any other string as a param2626 returns a validation error2627Git HTTP requests2628 User with no identities2629 when Kerberos token is provided2630 when authentication fails because of invalid Kerberos token2631 responds with status 401 Unauthorized2632 when authentication fails because of unknown Kerberos identity2633 responds with status 401 Unauthorized2634 when authentication succeeds2635 when the user has access to the project2636 complies with RFC45592637 when the user is blocked2638 responds with status 403 Forbidden2639 when the user isn't blocked2640 responds with status 200 OK2641 updates the user last activity2642 when the user doesn't have access to the project2643 responds with status 404 Not Found2644 complies with RFC45592645 when license is not provided2646 behaves like pulls are allowed2647 is expected to eq "application/vnd.gitlab-workhorse+json"2648 behaves like pushes are allowed2649 is expected to eq "application/vnd.gitlab-workhorse+json"2650 when SSO is enforced2651 behaves like pulls are allowed2652 is expected to eq "application/vnd.gitlab-workhorse+json"2653 when user cannot use password-based login2654 with feature flag switched off2655 behaves like pulls are allowed2656 is expected to eq "application/vnd.gitlab-workhorse+json"2657 behaves like pushes are allowed2658 is expected to eq "application/vnd.gitlab-workhorse+json"2659 with feature flag switched on2660 responds with status 401 Unauthorized for pull action2661 responds with status 401 Unauthorized for push action2662 when username and personal access token are provided2663 behaves like pulls are allowed2664 is expected to eq "application/vnd.gitlab-workhorse+json"2665 behaves like pushes are allowed2666 is expected to eq "application/vnd.gitlab-workhorse+json"2667 when user has 2FA enabled2668 when username and personal access token are provided2669 rejects the push attempt for read_repository scope2670 accepts the push attempt for write_repository scope2671 accepts the pull attempt for read_repository scope2672 accepts the pull attempt for api scope2673 accepts the push attempt for api scope2674 behaves like pulls are allowed2675 is expected to eq "application/vnd.gitlab-workhorse+json"2676 behaves like pushes are allowed2677 is expected to eq "application/vnd.gitlab-workhorse+json"2678Groups::EpicLinksController2679 GET #index2680 behaves like unlicensed subepics action2681 returns 403 status2682 when epics are enabled2683 when user has access to epic2684 returns the correct JSON response2685 when user does not have access to epic2686 returns 404 status2687 POST #create2688 behaves like unlicensed subepics action2689 returns 403 status2690 when subepics are enabled2691 when user has permissions to create requested association2692 returns correct response for the correct issue reference2693 updates a parent for the referenced epic2694 when user does not have permissions to create requested association2695 returns 403 status2696 does not update parent attribute2697 PUT #update2698 behaves like unlicensed subepics action2699 returns 403 status2700 when subepics are enabled2701 when user has permissions to reorder epics2702 returns status 2002703 updates the epic position2704 when move_before_id is not a sibling epic2705 returns status 4042706 when user does not have permissions to reorder epics2707 returns status 4032708 DELETE #destroy2709 behaves like unlicensed subepics action2710 returns 403 status2711 when epics are enabled2712 when user has permissions to update the parent epic2713 returns status 2002714 destroys the link2715 when user does not have permissions to update the parent epic2716 returns status 4042717 does not destroy the link2718 when the epic does not have any parent2719 returns status 4042720 when user has permissions to update the parent epic but epics feature is disabled2721 does not destroy the link2722SearchController2723 GET /search2724 when elasticsearch is enabled2725 for issues scope2726 behaves like an efficient database result2727 avoids N+1 database queries2728 for merge_request scope2729 behaves like an efficient database result2730 avoids N+1 database queries2731 for project scope2732 behaves like an efficient database result2733 avoids N+1 database queries2734 for notes scope2735 behaves like an efficient database result2736 avoids N+1 database queries2737API::ManagedLicenses2738 GET /projects/:id/managed_licenses2739 with license management not available2740 returns a forbidden status2741 with an authorized user with proper permissions2742 returns project managed licenses2743 with authorized user without read permissions2744 returns project managed licenses to users with read permissions2745 with unauthorized user2746 returns project managed licenses for public project2747 responses with 404 Not Found for not existing project2748 when project is private2749 responses with 404 Not Found2750 GET /projects/:id/managed_licenses/:managed_license_id2751 authorized user with proper permissions2752 returns project managed license details2753 returns project managed license details using the license name as key2754 responds with 404 Not Found if requesting non-existing managed license2755 authorized user with read permissions2756 returns project managed license details2757 unauthorized user2758 does not return project managed license details2759 POST /projects/:id/managed_licenses2760 authorized user with proper permissions2761 creates managed license2762 does not allow to duplicate managed license name2763 authorized user with read permissions2764 does not create managed license2765 authorized user without permissions2766 does not create managed license2767 unauthorized user2768 does not create managed license2769 PATCH /projects/:id/managed_licenses/:managed_license_id2770 authorized user with proper permissions2771 updates managed license data2772 responds with 404 Not Found if requesting non-existing managed license2773 authorized user with read permissions2774 does not update managed license2775 authorized user without permissions2776 does not update managed license2777 unauthorized user2778 does not update managed license2779 DELETE /projects/:id/managed_licenses/:managed_license_id2780 authorized user with proper permissions2781 deletes managed license2782 responds with 404 Not Found if requesting non-existing managed license2783 authorized user with read permissions2784 does not delete managed license2785 authorized user without permissions2786 does not delete managed license2787 unauthorized user2788 does not delete managed license2789SubscriptionsController2790 GET #new2791 behaves like unauthenticated subscription request2792 is expected to respond with numeric status code redirect2793 is expected to redirect to "/users/sign_up?redirect_from=checkout"2794 stores subscription URL for later2795 with authenticated user2796 is expected to render template layouts/checkout2797 is expected to render template new2798 when there are groups eligible for the subscription2799 assigns the eligible groups for the subscription2800 when there are no eligible groups for the subscription2801 assigns eligible groups as an empty array2802 GET #buy_minutes2803 with authenticated user2804 when the add-on plan cannot be found2805 is expected to respond with numeric status code not_found2806 when there are groups eligible for the addon2807 is expected to render template layouts/checkout2808 is expected to render template buy_minutes2809 assigns the group for the addon2810 with :new_route_ci_minutes_purchase disabled2811 is expected to respond with numeric status code not_found2812 GET #buy_storage2813 with authenticated user2814 when the add-on plan cannot be found2815 is expected to respond with numeric status code not_found2816 when there are groups eligible for the addon2817 is expected to render template layouts/checkout2818 is expected to render template buy_storage2819 assigns the group for the addon2820 with :new_route_storage_purchase disabled2821 is expected to respond with numeric status code not_found2822 GET #payment_form2823 with unauthorized user2824 is expected to respond with numeric status code redirect2825 is expected to redirect to "/users/sign_in"2826 with authorized user2827 is expected to respond with numeric status code ok2828 returns the data attribute of the client response in JSON format2829 GET #payment_method2830 with unauthorized user2831 is expected to respond with numeric status code redirect2832 is expected to redirect to "/users/sign_in"2833 with authorized user2834 is expected to respond with numeric status code ok2835 returns the data attribute of the client response in JSON format2836 POST #create2837 with unauthorized user2838 is expected to respond with numeric status code unauthorized2839 with authorized user2840 when setting up for a company2841 updates the setup_for_company attribute of the current user2842 creates a group based on the company2843 when not setting up for a company2844 does not update the setup_for_company attribute of the current user2845 creates a group based on the user2846 when an error occurs creating a group2847 returns the errors in json format2848 when invalid name is passed2849 returns the errors in json format2850 on successful creation of a subscription2851 is expected to respond with numeric status code ok2852 returns the group edit location in JSON format2853 on unsuccessful creation of a subscription2854 is expected to respond with numeric status code ok2855 returns the error message in JSON format2856 when selecting an existing group2857 when the selected group is eligible for a new subscription2858 does not create a group2859 returns the selected group location in JSON format2860 tracks for the force_company_trial experiment2861 when having an explicit redirect2862 is expected to respond with numeric status code ok2863 returns the provided redirect path as location2864 when the selected group is ineligible for a new subscription2865 does not create a group2866 returns a 404 not found2867 when selected group is a sub group2868 is expected to respond with numeric status code not_found2869 when selecting a non existing group2870 is expected to respond with numeric status code not_found2871Groups::EpicBoardsController2872 GET index2873 with epics disabled2874 does not create a new board when group does not have one2875 returns a not found 404 response2876 with authorized user2877 creates a new board when group does not have one2878 returns correct response2879 with multiple boards2880 redirects to latest visited board2881 with unauthorized user2882 does not create a new board when group does not have one2883 returns a not found 404 response2884 with non-logged-in user and public group2885 creates a new board when group does not have one2886 returns a 200 response2887 json request2888 is not supported2889 behaves like pushes wip limits to frontend2890 self-hosted with correct license2891 is enabled for all groups if the license is correct2892 on .com2893 for group with correct plan2894 is enabled2895 for group with incorrect or no plan2896 is not enabled2897 behaves like tracking unique hll events2898 tracks unique event2899 GET show2900 with epics disabled2901 returns a not found 404 response2902 json request2903 is not supported2904 when format is HTML2905 renders template2906 with unauthorized user2907 returns a not found 404 response2908 when group is public2909 when user is signed out2910 does not save visit2911 when user is signed in2912 saves the visit2913 when epic board does not belong to group2914 returns a not found 404 response2915 behaves like disabled when using an external authorization service2916 works when the feature is not enabled2917 renders a 404 with a message when the feature is enabled2918 behaves like tracking unique hll events2919 tracks unique event2920Projects::MergeRequests::CreationsController2921 POST #create2922 disables query limiting2923 the approvals_before_merge param2924 when it is less than the one in the target project2925 sets the param to the project value2926 creates the merge request2927 when it is equal to the one in the target project2928 sets the param to the correct value2929 creates the merge request2930 when it is greater than the one in the target project2931 saves the param in the merge request2932 creates the merge request2933 when the target project is a fork of a deleted project2934 uses the default from the target project2935 creates the merge request2936 overriding approvers per MR2937 enabled2938 does create approval rules2939 disabled2940 does not create approval rules2941Projects::MirrorsController2942 setting up a remote mirror2943 when the current project is a mirror2944 allows to create a remote mirror2945 when the current project has a remote mirror2946 mirror_user is unset2947 sets up a pull mirror with the mirror user set to the signed-in user2948 mirror_user is not the current user2949 sets up a pull mirror with the mirror user set to the signed-in user2950 setting up a mirror2951 when mirrors are disabled2952 when user is admin2953 creates a new mirror2954 when user is not an admin2955 does not create a new mirror2956 when mirrors are enabled2957 when project does not have a mirror2958 allows to create a mirror2959 when project has a mirror2960 is able to disable the mirror2961 forcing an update on a pull mirror2962 forces update2963 #update2964 JSON2965 processes a successful update2966 processes an unsuccessful update2967 preserves the import_data object when the ID isn't in the request2968 sets ssh_known_hosts_verified_at and verified_by when the update sets known hosts2969 unsets ssh_known_hosts_verified_at and verified_by when the update unsets known hosts2970 only allows the current user to be the mirror user2971 with a valid URL for a pull2972 processes a successful update2973 with a invalid URL for a pull2974 processes an unsuccessful update2975Projects::Security::NetworkPoliciesController2976 GET #summary2977 when the "Security & Compliance" feature is disabled2978 is expected to respond with numeric status code not_found2979 with authorized user2980 sets a polling interval header2981 with prometheus configured2982 returns network policies summary2983 with additional parameters2984 queries with requested arguments2985 with invalid Time range2986 queries with default arguments2987 with nil results2988 responds with accepted2989 without prometheus configured2990 returns not found2991 with unauthorized user2992 returns unauthorized2993 GET #index2994 when the "Security & Compliance" feature is disabled2995 is expected to respond with numeric status code not_found2996 with authorized user2997 responds with policies2998 with an error service response2999 responds with bad_request3000 with unauthorized user3001 returns unauthorized3002 POST #create3003 when the "Security & Compliance" feature is disabled3004 is expected to respond with numeric status code not_found3005 with authorized user3006 responds with success3007 with an error service response3008 responds with bad_request3009 with unauthorized user3010 returns unauthorized3011 PUT #update3012 when the "Security & Compliance" feature is disabled3013 is expected to respond with numeric status code not_found3014 with authorized user3015 responds with success3016 with an error service response3017 responds with bad_request3018 with unauthorized user3019 returns unauthorized3020 DELETE #destroy3021 when the "Security & Compliance" feature is disabled3022 is expected to respond with numeric status code not_found3023 with authorized user3024 responds with success3025 with an error service response3026 responds with bad_request3027 with unauthorized user3028 returns unauthorized3029API::ProjectImport3030 POST /projects/import3031/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 nil3032 overrides the classification label3033 feature is disabled3034/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 nil3035 uses the default the classification label and ignores override param3036Projects::FeatureFlagIssuesController3037 GET #index3038 returns linked issues3039 does not return linked issues for a reporter3040 orders by feature_flag_issue id3041 returns the correct relation_path when the feature flag is linked to multiple issues3042 returns the correct relation_path when multiple feature flags are linked to an issue3043 returns the correct relation_path when there are multiple linked feature flags and issues3044 does not make N+1 queries3045 returns only issues readable by the user3046 when feature flag related issues feature is unlicensed3047 does not return linked issues3048 POST #create3049 creates a link between the feature flag and the issue3050 creates a link for the correct feature flag when there are multiple feature flags and projects3051 creates a cross project link for a project in the same namespace3052 creates a cross project link for a project in another namespace3053 does not create a link for a reporter3054 does not create a cross project link when the user is not a member of the issue's project3055 does not create a cross project link when the user is a guest of the issue's project3056 does not create a link when the user cannot read the issue3057 when feature flag related issues feature is unlicensed3058 does not create a link between the feature flag and the issue3059 DELETE #destroy3060 unlinks the issue from the feature flag3061 does not unlink the issue for a reporter3062 when feature flag related issues feature is unlicensed3063 does not unlink the issue3064API::Deployments3065 POST /projects/:id/deployments3066 when deploying to a protected environment that requires maintainer access3067 returns a 403 when the user is a developer3068 creates the deployment when the user is a maintainer3069 when deploying to a protected environment that requires developer access3070 returns a 403 when the user is a guest3071 creates the deployment when the user is a developer3072 PUT /projects/:id/deployments/:deployment_id3073 when updating a deployment for a protected environment that requires maintainer access3074 returns a 403 when the user is a developer3075 updates the deployment when the user is a maintainer3076 when updating a deployment for a protected environment that requires developer access3077 returns a 403 when the user is a guest3078 updates the deployment when the user is a developer3079Projects::JobsController3080 GET #show3081 when requesting JSON3082 with shared runner that has quota3083 exposes quota information3084 with shared runner quota exceeded3085 exposes quota information3086 when shared runner has no quota3087 does not exposes quota information3088 when project is public3089 exposes quota information3090 the environment is protected3091 renders successfully3092 anonymous user3093 renders successfully3094Mutations::Epics::Update3095 when the user does not have permission3096 does not update the epic3097 behaves like a mutation that returns a top-level access error3098 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3099 when the user has permission3100 when epics are disabled3101 behaves like a mutation that returns top-level errors3102 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3103 when epics are enabled3104 updates the epic3105 when closing the epic3106 closes open epic3107 when reopening the epic3108 allows epic to be reopend3109 when changing labels of the epic3110 adds and removes labels correctly3111 when there are ActiveRecord validation errors3112 does not update the epic3113 behaves like a mutation that returns errors in the response3114 is expected to contain exactly "Title can't be blank"3115 when the list of attributes is empty3116 behaves like a mutation that returns top-level errors3117 is expected to eq ["The list of epic attributes is empty"]3118Projects::ApproverGroupsController3119 #destroy3120 on a merge request3121 when the user cannot update approvers because they do not have access3122 returns a 4043123 does not destroy any approver groups3124 when the user cannot update approvers because of the project setting3125 returns a 4043126 does not destroy any approver groups3127 when the user can update approvers3128 destroys the provided approver group3129 on a project3130 when the user cannot update approvers because they do not have access3131 returns a 4043132 does not destroy any approver groups3133 when the user can update approvers3134 destroys the provided approver3135Repositories::GitHttpController3136 POST #git_upload_pack3137 geo pulls a personal snippet3138 allows access3139 does not allow access if scope is wrong3140 GET #info_refs3141 smartcard session required3142 user with a smartcard session3143 allows access3144 user without a smartcard session3145 does not allow access3146 with the setting off3147 allows access3148 POST #git_receive_pack3149 when node is a primary Geo one3150 with projects3151 behaves like triggers Geo3152 executes ::Gitlab::Geo::GitPushHttp3153 returns 2003154 with a project wiki3155 behaves like triggers Geo3156 executes ::Gitlab::Geo::GitPushHttp3157 returns 2003158 with a group wiki3159 behaves like triggers Geo3160 executes ::Gitlab::Geo::GitPushHttp3161 returns 2003162 with a personal snippet3163 behaves like triggers Geo3164 executes ::Gitlab::Geo::GitPushHttp3165 returns 2003166 with a project snippet3167 behaves like triggers Geo3168 executes ::Gitlab::Geo::GitPushHttp3169 returns 2003170getting test reports of a requirement3171 when user can read requirement3172 returns test reports successfully3173 behaves like a working graphql query3174 returns a successful response3175 with pagination3176 behaves like sorted paginated query3177 behaves like requires variables3178 shared example requires variables to be set3180 when sorting3181 sorts correctly3182 when paginating3183 paginates correctly3184 behaves like sorted paginated query3185 behaves like requires variables3186 shared example requires variables to be set3188 when sorting3189 sorts correctly3190 when paginating3191 paginates correctly3192 when the user does not have access to the requirement3193 returns nil3194Projects::PathLocksController3195 GET #index3196 displays the lock paths3197 when the user does not have access3198 does not allow access3199 POST #toggle3200 when LFS is enabled3201 when locking a file3202 locks the file3203 locks the file in LFS3204 tries to create the PathLock only once3205 when locking a directory3206 locks the directory3207 does not locks the directory through LFS3208 when file does not exist3209 locks the file3210 does not lock the file in LFS3211 when unlocking a file3212 with files3213 unlocks the file3214 unlocks the file in LFS3215 when file does not exist3216 unlocks the file3217 does not unlock the file in LFS3218 when unlocking a directory3219 unlocks the directory3220 does not call the LFS unlock service3221 when LFS is not enabled3222 locks the file3223 doesn't lock the file in LFS3224 unlocks the file3225 when the user does not have access3226 does not allow access3227AutocompleteController3228 GET users3229 project members3230 GET #users that can push to protected branches3231 returns authorized users3232 GET #users that can push code3233 returns authorized users3234 GET #users that can push to protected branches, including the current user3235 returns authorized users3236 groups3237 while fetching all groups belonging to a project3238 returns groups invited to the project that the user can see3239 while fetching all groups belonging to a project the current user cannot access3240 is expected to be not found3241 while fetching all groups belonging to an invalid project ID3242 is expected to be not found3243 GET project_routes3244 as admin3245 while searching for a project by namespace3246 returns the matching routes3247 while searching for a project by path3248 returns the matching routes3249 as project owner3250 while searching for a project by namespace3251 returns the matching routes3252 while searching for a project by path3253 returns the matching routes3254 while searching for nothing3255 returns the matching routes3256 GET namespace_routes3257 as admin3258 while searching for a namespace by group path3259 returns the matching routes3260 while searching for a namespace by user path3261 returns the matching routes3262 as a user3263 while searching for a namespace by path3264 returns the matching routes3265 as group member3266 while searching for a namespace by path3267 returns the matching routes3268 while searching for nothing3269 returns the matching routes3270API::MergeTrains3271 GET /projects/:id/merge_trains3272 when there are two merge trains3273 returns merge trains sorted by id in descending order3274 does not have N+1 problem3275 when sort is specified3276 returns merge trains sorted by id in ascending order3277 when scope is specified3278 when scope is active3279 returns active merge trains3280 when scope is complete3281 returns complete merge trains3282 when user is guest3283 forbids the request3284Creating a new HTTP Integration3285 stores the custom mapping params3286 behaves like creating a new HTTP integration3287 creates a new integration3288 without required argument project_path3289 behaves like an invalid argument to the mutation3290 behaves like a mutation that returns top-level errors3291 is expected to contain exactly (include "invalid value for projectPath")3292 without required argument active3293 behaves like an invalid argument to the mutation3294 behaves like a mutation that returns top-level errors3295 is expected to contain exactly (include "invalid value for active")3296 without required argument name3297 behaves like an invalid argument to the mutation3298 behaves like a mutation that returns top-level errors3299 is expected to contain exactly (include "invalid value for name")3300 with the custom mappings feature unavailable3301 behaves like ignoring the custom mapping3302 creates integration without the custom mapping params3303 behaves like validating the payload_example3304 validates the payload_example size3305 with invalid payloadExample attribute3306 responds with errors3307 behaves like validating the payload_attribute_mappings3308 with invalid payloadAttributeMapping attribute does not contain fieldName3309 responds with errors3310 with invalid payloadAttributeMapping attribute does not contain path3311 responds with errors3312 with invalid payloadAttributeMapping attribute does not contain type3313 responds with errors3314Update of user activity3315 behaves like updating of user activity3316 without an authenticated user3317 does not set the last activity cookie3318 with an authenticated user3319 with a POST request3320 does not set the last activity cookie3321 on GET to /group/project/-/integrations/jira/issues3322 updates the last activity date3323 when calling it twice3324 updates last_activity_on just once3325 when last_activity_on is nil3326 updates the last activity date3327 when last_activity_on is stale3328 updates the last activity date3329 when last_activity_on is up to date3330 does not try to update it3331get board lists3332 for a project3333 behaves like group and project board lists query3334 when user can read the board3335 sorting and pagination3336 when using default sorting3337 when ascending3338 behaves like sorted paginated query3339 behaves like requires variables3340 shared example requires variables to be set3342 when sorting3343 sorts correctly3344 when paginating3345 paginates correctly3346 limit metric settings3347 returns the expected limit metric settings3348 total issue count and weight3349 returns total count and weight of issues matching issue filters3350 for a group3351 behaves like group and project board lists query3352 when user can read the board3353 sorting and pagination3354 when using default sorting3355 when ascending3356 behaves like sorted paginated query3357 behaves like requires variables3358 shared example requires variables to be set3360 when sorting3361 sorts correctly3362 when paginating3363 paginates correctly3364 limit metric settings3365 returns the expected limit metric settings3366 total issue count and weight3367 returns total count and weight of issues matching issue filters3368Reposition and move epic between board lists3369 when epics are available3370 when user does not have permissions to admin the board3371 raises resource not available error3372 when user has permissions to admin the board3373 when required move params are missing3374 raises an error3375 moving an epic to another list3376 moves the epic to another list3377 repositioning an epic3378 when both move_before_id and move_after_id params are present3379 repositions the epic3380 when only move_before_id param is present3381 repositions the epic3382 when only move_after_id param is present3383 repositions the epic3384get list of epics for an epic board list3385 sorting and pagination3386 behaves like sorted paginated query3387 behaves like requires variables3388 shared example requires variables to be set3390 when sorting3391 sorts correctly3392 when paginating3393 paginates correctly3394 with filters3395 finds only epics matching the filter3396 when negated3397 finds only epics matching the negated filter3398Projects::Security::ApiFuzzingConfigurationController3399 when the "Security & Compliance" feature is disabled3400 is expected to respond with numeric status code not_found3401 GET #show3402 behaves like SecurityDashboardsPermissions3403 access for all actions3404 when security dashboard feature is disabled3405 returns 4043406 when security dashboard feature is enabled3407 when user has guest access3408 denies access3409 when user has developer access3410 grants access3411 with authorized user3412 renders the show template3413 renders the side navigation with the correct submenu set as active3414 with unauthorized user3415 returns a 4033416getting Alert Management HTTP Integrations3417 with integrations3418 without project permissions3419 is expected to be nil3420 behaves like a working graphql query3421 returns a successful response3422 with developer permissions3423 is expected to eq []3424 behaves like a working graphql query3425 returns a successful response3426 with maintainer permissions3427 when no extra params given3428 is expected to eq 23429 returns the correct properties of the integrations3430 behaves like a working graphql query3431 returns a successful response3432 when HTTP Integration ID is given3433 is expected to be one3434 returns the correct properties of the integration3435 behaves like a working graphql query3436 returns a successful response3437 behaves like GraphQL query with several integrations requested3438 when several HTTP integrations requested3439 returns the correct properties of the integrations3440 batches queries3441Updating an Iteration3442 when the user does not have permission3443 does not update iteration3444 behaves like a mutation that returns a top-level access error3445 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3446 when the user has permission3447 when iterations are disabled3448 behaves like a mutation that returns top-level errors3449 is expected to include "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3450 when iterations are enabled3451 updates the iteration3452 when updating dates3453 updates the iteration with date in the past3454 does not update the iteration title3455 when another iteration with given dates overlap3456 behaves like a mutation that returns errors in the response3457 is expected to contain exactly "Dates cannot overlap with other existing Iterations within this iterations cadence"3458 with iterations_cadences FF disabled3459 behaves like a mutation that returns errors in the response3460 is expected to contain exactly "Dates cannot overlap with other existing Iterations within this group"3461 when given a raw model id (backward compatibility)3462 updates the iteration3463 when the list of attributes is empty3464 does not update the iteration3465 behaves like a mutation that returns top-level errors3466 is expected to eq ["The list of iteration attributes is empty"]3467Updating a DAST Profile3468 behaves like an on-demand scan mutation when user cannot run an on-demand scan3469 when a user does not have access to the project3470 behaves like a mutation that returns a top-level access error3471 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3472 when a user does not have access to run a dast scan on the project3473 behaves like a mutation that returns a top-level access error3474 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3475 behaves like an on-demand scan mutation when user can run an on-demand scan3476 returns an empty errors array3477 returns a non-nil dastProfile3478 returns a non-nil pipelineUrl3479 updates the dast_profile3480 when on demand scan licensed feature is not available3481 behaves like a mutation that returns a top-level access error3482 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3483 when updating fails3484 returns an error3485Rack Attack EE throttles3486 requests to prometheus alert notify endpoint with oauth token3487 behaves like incident management rate limiting3488 limits set3489 when the throttle is enabled3490 rejects requests over the rate limit3491 allows requests after throttling and then waiting for the next period3492 when the throttle is disabled3493 allows requests over the rate limit3494 requests to generic alert notify endpoint with oauth token3495 behaves like incident management rate limiting3496 limits set3497 when the throttle is enabled3498 rejects requests over the rate limit3499 allows requests after throttling and then waiting for the next period3500 when the throttle is disabled3501 allows requests over the rate limit3502 requests to AlertManagement::HttpIntegration notify endpoint with oauth token3503 behaves like incident management rate limiting3504 limits set3505 when the throttle is enabled3506 rejects requests over the rate limit3507 allows requests after throttling and then waiting for the next period3508 when the throttle is disabled3509 allows requests over the rate limit3510Admin::EmailsController3511 GET #show3512 admin user3513 when `send_emails_from_admin_area` feature is enabled3514 responds with 2003515 when `send_emails_from_admin_area` feature is disabled3516 returns 4043517 when usage ping is enabled3518 responds 404 when feature is not activated3519 responds with 200 when feature is activated3520 non-admin user3521 returns 4043522 POST #create3523 admin user3524 when `send_emails_from_admin_area` feature is enabled3525 when emails from admin area are not rate limited3526 triggers the service to send emails3527 redirects to `admin_email_path` with success notice3528 when emails from admin area are rate limited3529 does not trigger the service to send emails3530 redirects to `admin_email_path`3531 when `send_emails_from_admin_area` feature is disabled3532 does not trigger the service to send emails3533 returns 4043534 when usage ping is enabled3535 when feature is activated3536 triggers the service to send emails3537 redirects to `admin_email_path` with success notice3538 when feature is deactivated3539 does not trigger the service to send emails3540 returns 4043541 non-admin user3542 returns 4043543Projects::Analytics::CodeReviewsController3544 GET /*namespace_id/:project_id/analytics/code_reviews3545 for reporter+3546 with code_review_analytics included in plan3547 is success3548 without code_review_analytics in plan3549 is not found3550 for guests3551 is not found3552Projects::Analytics::CodeReviewsController3553 behaves like tracking unique visits3554 tracks unique visit if the format is HTML3555 tracks unique visit if DNT is not enabled3556 does not track unique visit if DNT is enabled3557 does not track unique visit if the format is JSON3558API::ElasticsearchIndexedNamespaces3559 PUT /elasticsearch_indexed_namespaces/rollout3560 prohibits non-admin3561 invokes ElasticNamespaceRolloutWorker rollout3562 when parameters are incorrect3563 percentage: -1, plan: "ultimate"3564 errs3565 percentage: 101, plan: "ultimate"3566 errs3567 percentage: nil, plan: "ultimate"3568 errs3569 percentage: 1, plan: nil3570 errs3571 percentage: 1, plan: "foobar"3572 errs3573 PUT /elasticsearch_indexed_namespaces/rollback3574 prohibits non-admin3575 invokes ElasticNamespaceRolloutWorker rollback3576 when parameters are incorrect3577 percentage: -1, plan: "ultimate"3578 errs3579 percentage: 101, plan: "ultimate"3580 errs3581 percentage: nil, plan: "ultimate"3582 errs3583 percentage: 1, plan: nil3584 errs3585 percentage: 1, plan: "foobar"3586 errs3587API::Analytics::ProjectDeploymentFrequency3588 when user has access to the project3589 returns `ok`3590 with params: from 2017 to 20193591 returns `bad_request` with expected message3592 with params: from 2019 to 20173593 returns `bad_request` with expected message3594 with params: from 2020/04/02 to request time3595 returns the expected deployment frequencies3596 with params: from 2020/02/01 to 2020/04/01 by all3597 returns the expected deployment frequencies3598 with params: from 2020/02/01 to 2020/04/01 by month3599 returns the expected deployment frequencies3600 with params: from 2020/02/01 to 2020/04/01 by day3601 returns the expected deployment frequencies3602 with params: invalid interval3603 returns `bad_request`3604 with params: missing from3605 returns `bad_request`3606 when user does not have access to the project3607 returns `not_found`3608 when feature is not available in plan3609 when user has access to the project3610 returns `forbidden`3611 when user does not have access to the project3612 returns `not_found`3613getting compliance frameworks for a collection of projects3614 querying a single project3615 avoids N+1 queries3616 contains the expected compliance framework3617 projects can have a compliance framework3618 contains the correct number of compliance frameworks3619 projects that share the same compliance framework3620 shares the same compliance framework id3621Projects::Security::VulnerabilityReportController3622 when the "Security & Compliance" feature is disabled3623 is expected to respond with numeric status code not_found3624 behaves like SecurityDashboardsPermissions3625 access for all actions3626 when security dashboard feature is disabled3627 returns 4043628 when security dashboard feature is enabled3629 when user has guest access3630 denies access3631 when user has developer access3632 grants access3633 GET #index3634 when project has no vulnerabilities3635 renders empty state3636 when project has vulnerabilities3637 renders dashboard with vulnerability metadata3638get list of epic boards3639 when the user does not have access to the epic board group3640 returns nil group3641 when user can access the epic board group3642 sorting and pagination3643 behaves like sorted paginated query3644 behaves like requires variables3645 shared example requires variables to be set3647 when sorting3648 sorts correctly3649 when paginating3650 paginates correctly3651 field values3652 returns the correct values for hiding board lists3653Creating a new on-call schedule3654 creates a new on-call rotation3655 without required argument project_path3656 behaves like an invalid argument to the mutation3657 behaves like a mutation that returns top-level errors3658 is expected to contain exactly (include "invalid value for projectPath")3659 without required argument schedule_iid3660 behaves like an invalid argument to the mutation3661 behaves like a mutation that returns top-level errors3662 is expected to contain exactly (include "invalid value for scheduleIid")3663 without required argument name3664 behaves like an invalid argument to the mutation3665 behaves like a mutation that returns top-level errors3666 is expected to contain exactly (include "invalid value for name")3667 without required argument starts_at3668 behaves like an invalid argument to the mutation3669 behaves like a mutation that returns top-level errors3670 is expected to contain exactly (include "invalid value for startsAt")3671 without required argument rotation_length3672 behaves like an invalid argument to the mutation3673 behaves like a mutation that returns top-level errors3674 is expected to contain exactly (include "invalid value for rotationLength")3675 without required argument participants3676 behaves like an invalid argument to the mutation3677 behaves like a mutation that returns top-level errors3678 is expected to contain exactly (include "invalid value for participants")3679 time is invalid3680 returns the on-call rotation with errors3681 date is invalid3682 returns the on-call rotation with errors3683Emails::Requirements3684 #import_requirements_csv_email3685 shows number of successful requirements imported3686 shows error when file is invalid3687 shows line numbers with errors3688 with header and footer3689 behaves like appearance header and footer enabled3690 contains header and footer3691 behaves like appearance header and footer not enabled3692 does not contain header and footer3693 #requirements_csv_email3694 is expected to eq "project881 | Exported requirements"3695 is expected to contain exactly "user1993@example.org"3696 is expected to have text "Your CSV export of 10 requirements from project"3697 is expected to have text "Your CSV export of 10 requirements from project"3698 when truncated3699 is expected to have text "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15 MB."3700Setting weight of an issue3701 returns an error if the user is not allowed to update the issue3702 when weight is a number3703 updates the issue weight3704 when weight is null3705 updates the issue weight3706 when weight is not given3707 returns an error3708 when weight is not an integer3709 raises invalid value error3710Mutations::Boards::Epics::Create3711 when the user does not have permission3712 behaves like a mutation that returns a top-level access error3713 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3714 behaves like does not create an epic3715 is expected not to change `Board.count`3716 when the user has permission3717 when all arguments are given3718 when everything is ok3719 creates the epic3720 returns the created epic3721 when arguments are nil resulting in a top level error3722 behaves like does not create an epic3723 is expected not to change `Board.count`3724 behaves like a mutation that returns top-level errors3725 is expected to include /boardId \(Expected value to not be null\)/3726 when argument is blank resulting in an ActiveRecord error3727 returns an error3728 behaves like does not create an epic3729 is expected not to change `Board.count`3730 when arguments are missing3731 behaves like a mutation that returns top-level errors3732 is expected to include /boardId \(Expected value to not be null\)/3733 behaves like does not create an epic3734 is expected not to change `Board.count`3735Running a DAST Profile3736 behaves like an on-demand scan mutation when user cannot run an on-demand scan3737 when a user does not have access to the project3738 behaves like a mutation that returns a top-level access error3739 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3740 when a user does not have access to run a dast scan on the project3741 behaves like a mutation that returns a top-level access error3742 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3743 behaves like an on-demand scan mutation when user can run an on-demand scan3744 returns an empty errors array3745 returns a pipeline_url containing the correct path3746 when on demand scan licensed feature is not available3747 behaves like a mutation that returns a top-level access error3748 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3749 when pipeline creation fails3750 behaves like a mutation that returns errors in the response3751 is expected to contain exactly "full error messages"3752Groups::RoadmapController3753 #show3754 when the user is signed in3755 when the user has access to the group3756 when epics feature is disabled3757 behaves like returns 404 status3758 is expected to respond with numeric status code not_found3759 when epics feature is enabled3760 returns 200 status3761 when roadmaps_sort is nil3762 stores roadmaps sorting param in user preference3763 defaults to sort_value_start_date_soon3764 when roadmaps_sort is present3765 update roadmaps_sort with current value3766 when the user does not have access to the group3767 behaves like returns 404 status3768 is expected to respond with numeric status code not_found3769 when user is not signed in3770 when epics feature is enabled3771 when anonymous users does not have access to the group3772 redirects to login page3773 when anonymous users have access to the group3774 stores epics sorting param in a cookie3775view audit events3776 GET /groups/:group/-/audit_events3777 returns 200 response3778 avoids N+1 DB queries3779Boards::MilestonesController3780 GET index3781 with authorized user3782 with private group board3783 behaves like authorized board milestone listing3784 returns a list of all milestones of board parent3785 with private project board3786 behaves like authorized board milestone listing3787 returns a list of all milestones of board parent3788 with unauthorized user3789 with private group board3790 behaves like unauthorized board milestone listing3791 returns a forbidden 403 response3792 with private project board3793 behaves like unauthorized board milestone listing3794 returns a forbidden 403 response3795Updating an existing HTTP Integration3796 updates the custom mapping params3797 behaves like updating an existing HTTP integration3798 updates the integration3799 behaves like validating the payload_example3800 validates the payload_example size3801 with invalid payloadExample attribute3802 responds with errors3803 behaves like validating the payload_attribute_mappings3804 with invalid payloadAttributeMapping attribute does not contain fieldName3805 responds with errors3806 with invalid payloadAttributeMapping attribute does not contain path3807 responds with errors3808 with invalid payloadAttributeMapping attribute does not contain type3809 responds with errors3810 when the integration already has custom mapping params3811 when the custom mappings attributes are blank3812 resets the custom mapping params3813 when the custom mappings attributes are nils3814 resets the custom mapping params3815 when the custom mappings attributes are not part of the mutation variables3816 does not reset the custom mapping attributes3817 with the custom mappings feature unavailable3818 behaves like ignoring the custom mapping3819 updates integration without the custom mapping params3820Reposition and move issue within board lists3821 when user can admin epic3822 updates issue position and epic3823 when user sets nil epic3824 updates issue position and epic is unassigned3825 when user can not admin epic3826 fails with error3827Projects::Security::ScannedResourcesController3828 GET index3829 when the "Security & Compliance" feature is disabled3830 is expected to respond with numeric status code not_found3831 when DAST security scan is found3832 returns the CSV data3833 when pipeline_id is from a dangling pipeline3834 returns the CSV data3835 when the pipeline id is missing3836 raises an error when pipeline_id param is missing3837Query.project(fullPath).dastScannerProfiles3838 when a user does not have access to the project3839 project response3840 is expected to be nil3841 when the user can run a dast scan3842 dast scanner profiles3843 is expected to be empty3844 when a user has access to multiple projects3845 dast scanner profiles3846 returns only the dast_scanner_profile for the requested project3847 when a user has access dast_scanner_profiles3848 dast scanner profiles3849 is expected not to be empty3850 first dast scanner profile id3851 is expected to eq "gid://gitlab/DastScannerProfile/3"3852Update list limit metrics3853 returns an error if the list cannot be found3854 updates the list limit metrics for limit metric all_metrics3855 updates the list limit metrics for limit metric issue_count3856 updates the list limit metrics for limit metric issue_weights3857 the current_user is not allowed to update the issue3858 returns an error3859 the list_id is not a valid ListID3860 behaves like an invalid argument to the mutation3861 behaves like a mutation that returns top-level errors3862 is expected to contain exactly (include "invalid value for listId")3863getting notes for an epic3864 behaves like exposing regular notes on a noteable in GraphQL3865 for regular notes3866 includes the note3867 behaves like a working graphql query3868 returns a successful response3869 for discussions3870 includes all discussion notes3871 behaves like a working graphql query3872 returns a successful response3873Groups::TodosController3874 POST create3875 when epic is not confidential3876 when epics are available3877 behaves like todos actions3878 when authorized3879 creates todo3880 returns todo path and pending count3881 when not authorized for project/group3882 does not create todo for resource that user has no access to3883 does not create todo when user is not logged in3884 when epics are not available3885 behaves like todo for inaccessible resource3886 does not create todo because resource can not be found3887 when the user can not access confidential epic in public group3888 behaves like todo for inaccessible resource3889 does not create todo because resource can not be found3890getting a list of compliance frameworks for a root namespace3891 when authenticated as the namespace owner3892 returns the groups compliance frameworks3893 when querying a specific framework ID3894 returns only a single compliance framework3895 when querying an invalid object ID3896 returns an error message3897 when querying a specific framework that current_user has no access to3898 does not return the framework3899 when querying multiple namespaces3900 avoids N+1 queries3901 responds with the expected list of compliance frameworks3902 when authenticated as a different user3903 does not return the namespaces compliance frameworks3904 when not authenticated3905 does not return the namespace's compliance frameworks3906Querying a Milestone3907 burnupTimeSeries3908 with insufficient license3909 returns an error3910 with correct license3911 returns burnup chart data3912 group milestones3913 behaves like milestones queried by timeframe3914 query for milestones by timeframe3915 without start3916 returns error3917 without end date3918 returns error3919 with start and end date3920 does not have errors3921 project milestones3922 behaves like milestones queried by timeframe3923 query for milestones by timeframe3924 without start3925 returns error3926 without end date3927 returns error3928 with start and end date3929 does not have errors3930Repositories::GitHttpController3931 when repository container is a group wiki3932 behaves like Repositories::GitHttpController3933 HEAD #info_refs3934 returns 4033935 GET #info_refs3936 returns 401 for unauthenticated requests to public repositories when http protocol is disabled3937 calls the right access checker class with the right object3938 with authorized user3939 returns 2003940 updates the user activity3941 adds user info to the logs3942 POST #git_upload_pack3943 returns 2003944Projects::Security::DastProfilesController3945 GET #index3946 when the "Security & Compliance" feature is disabled3947 is expected to respond with numeric status code not_found3948 feature available3949 user authorized3950 can access page3951 user not authorized3952 sees a 404 error3953 feature not available3954 license doesnt't support the feature3955 sees a 404 error3956Dashboard::ProjectsController3957 #removed3958 when licensed3959 for admin users3960 returns success3961 paginates the records3962 accounts total removable projects3963 for non-admin users3964 behaves like returns not found3965 is expected to respond with numeric status code not_found3966 when not licensed3967 behaves like returns not found3968 is expected to respond with numeric status code not_found3969Create a milestone or assignee board list3970 the user is not allowed to read board lists3971 behaves like a mutation that returns a top-level access error3972 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]3973 when user has permissions to admin board lists3974 milestone list3975 creates the list3976 assignee list3977 creates the list3978Groups::SeatUsageController3979 GET show3980 when authorized3981 when html format3982 redirects to /groups/%{group_id}/-/seat_usage3983 responds with 404 Not Found if the group is not top-level group3984 when csv format3985 responds with 404 Not Found if the group is not top-level group3986 when the group is a top-level group3987 when export is successful3988 streams the csv with 200 status code3989 when export fails3990 sets alert message and redirects3991 when unauthorized3992 when html format3993 renders 403 when user is not an owner3994 when csv format3995 renders 403 when user is not an owner3996Lock/unlock project's file path3997 when the user does not have permission3998 does not create requirement3999 behaves like a mutation that returns a top-level access error4000 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]4001 when the user has permission4002 creates the path lock4003 when there are validation errors4004 behaves like a mutation that returns errors in the response4005 is expected to contain exactly "You have no permissions"4006Projects::AutocompleteSourcesController4007 #epics4008 when epics feature is disabled4009 returns 404 status4010 when epics feature is enabled4011 #epics4012 returns the correct response4013 #vulnerabilities4014 when vulnerabilities feature is disabled4015 returns 404 status4016 when vulnerabilities feature is enabled4017 #vulnerabilities4018 returns the correct response4019API::Repositories4020 GET /projects/:id/repository/archive(.:format)?:sha4021 when unauthenticated and project is public4022 behaves like an auditable and successful request4023 logs the audit event4024 sends the archive4025 when authenticated as a developer4026 behaves like an auditable and successful request4027 logs the audit event4028 sends the archive4029Creating a new on-call schedule4030 create a new on-call schedule4031 without required argument project_path4032 behaves like an invalid argument to the mutation4033 behaves like a mutation that returns top-level errors4034 is expected to contain exactly (include "invalid value for projectPath")4035 without required argument name4036 behaves like an invalid argument to the mutation4037 behaves like a mutation that returns top-level errors4038 is expected to contain exactly (include "invalid value for name")4039 without required argument timezone4040 behaves like an invalid argument to the mutation4041 behaves like a mutation that returns top-level errors4042 is expected to contain exactly (include "invalid value for timezone")4043Projects::Settings::RepositoryController4044 GET show4045 push rule4046 is created4047 is connected to project_settings4048 unlicensed4049 is not created4050Query.project(fullPath).pipeline(iid).securityReportFindings4051 when `sast` and `dast` features are enabled4052 when user is member of the project4053 returns all the vulnerability findings4054 returns all the queried fields4055 when user is not a member of the project4056 returns no vulnerability findings4057 when `sast` and `dast` both features are disabled4058 returns no vulnerability findings4059Updating an existing release4060 when the provided milestones include a group milestone4061 when the group milestone association feature is licensed4062 returns no errors4063 updates a release with both project and group milestone associations4064 when the group milestone association feature is not licensed4065 returns an error-as-data field with a message about an invalid license4066Groups::Security::DashboardController4067 GET show4068 when security dashboard feature is enabled4069 and user is allowed to access group security dashboard4070 is expected to respond with numeric status code ok4071 when user is not allowed to access group security dashboard4072 is expected to respond with numeric status code ok4073 is expected to render template unavailable4074 when security dashboard feature is disabled4075 is expected to respond with numeric status code ok4076 is expected to render template unavailable4077Admin::SessionsController4078 #create4079 when using two-factor authentication4080 when OTP authentication fails4081 behaves like an auditable failed authentication4082 log an audit event4083 when U2F authentication fails4084 behaves like an auditable failed authentication4085 log an audit event4086 when WebAuthn authentication fails4087 behaves like an auditable failed authentication4088 log an audit event4089Groups::GroupMembersController4090 PUT /groups/*group_id/-/group_members/:id4091 when group has email domain feature enabled4092 for a user with an email belonging to the allowed domain4093 returns error status4094 for a user with an un-verified email belonging to a domain different from the allowed domain4095 returns error status4096 returns error message4097creating escalation policy4098 successfully creates the policy and rules4099 when rules are provided out of order4100 successfully creates the policy and reorders the rules4101 errors4102 user does not have permission4103 raises an error4104 no rules given4105 raises an error4106Query.vulnerabilities.externalIssueLinks4107 when queried for the first time with reactive caching4108 schedules a background job to fetch data from Jira4109 returns null as value for externalIssue4110 when queried without reactive caching4111 returns a list of all VulnerabilityExternalIssueLink4112MergeRequestReviewer4113 when requesting information about MR interactions4114 when the user does not have any applicable rules4115 returns null data4116 when the user has interacted4117 returns appropriate data4118Emails::UserCap4119 #user_cap_reached4120 is expected to have subject of "Important information about usage on your GitLab instance"4121 is expected to be delivered to ["user2179@example.org"]4122 is expected to have body including "Your GitLab instance has reached the maximum allowed"4123 is expected to have body including "user cap"4124Groups::Security::VulnerabilitiesController4125 GET index4126 when security dashboard feature is enabled4127 and user is allowed to access group security vulnerabilities4128 is expected to respond with numeric status code ok4129 when user is not allowed to access group security vulnerabilities4130 is expected to respond with numeric status code ok4131 is expected to render template unavailable4132 when security dashboard feature is disabled4133 is expected to respond with numeric status code ok4134 is expected to render template unavailable4135Admin::AuditLogsController4136 GET #index4137 licensed4138 tracks search event4139 pagination4140 paginates audit events, without casting a count query4141 behaves like tracking unique visits4142 tracks unique visit if the format is HTML4143 tracks unique visit if DNT is not enabled4144 does not track unique visit if DNT is enabled4145 does not track unique visit if the format is JSON4146Query.project(fullPath).dastProfile4147 when a user does not have access to the project4148 returns a null project4149 when a user does not have access to the dast_profile4150 returns a null dast_profile4151 when a user has access to the dast_profile4152 returns a dast_profile4153 when on demand scan licensed feature is not available4154 returns a null dast_profile4155API::Internal::Base4156 POST /internal/allowed4157 project alias4158 without premium license4159 project matches a project alias4160 does not allow access because project can't be found4161 with premium license4162 project matches a project alias4163 allows access4164 project doesn't match a project alias4165 does not allow access because project can't be found4166 smartcard session required4167 user with a smartcard session4168 allows access4169 user without a smartcard session4170 does not allow access4171 with the setting off4172 allows access4173 ip restriction4174 with or without check_ip parameter4175 check_ip_present: false, ip: nil, status: 2004176 modifies access4177 check_ip_present: true, ip: "150.168.0.1", status: 2004178 modifies access4179 check_ip_present: true, ip: "150.168.0.2", status: 4044180 modifies access4181 maintenance mode enabled4182 when action is git push4183 returns forbidden4184 when action is not git push4185 returns success4186 POST /internal/personal_access_token4187 with a max token lifetime on the instance4188 returns an error message when the expiry date exceeds the max token lifetime4189 returns a valid token when the expiry date does not exceed the max token lifetime4190 POST /internal/two_factor_otp_check4191 behaves like actor key validations4192 key does not exist4193 returns an error message4194 key without user4195 returns an error message4196 when the key is a deploy key4197 returns an error message4198 when the two factor is enabled4199 when the OTP is valid4200 registers a new OTP session and returns success4201 when the OTP is invalid4202 is not success4203 when the two factor is disabled4204 returns an error message4205 feature flag is disabled4206 when two-factor is enabled for the user4207 returns user two factor config4208 licensed feature is not available4209 when two-factor is enabled for the user4210 returns user two factor config4211Query.[project|group](fullPath).dora.metrics4212 when querying for project-level metrics4213 returns the expected project-level DORA metrics4214 when querying for group-level metrics4215 returns the expected group-level DORA metrics4216Mutations::Boards::EpicBoards::Create4217 when the user does not have permission4218 behaves like a mutation that returns a top-level access error4219 is expected to eq ["The resource that you are attempting to access does not exist or you don't have permission to perform this action"]4220 when the user has permission4221 returns the created board4222 when create fails4223 returns an error4224API::Ldap4225 GET /ldap/groups4226 when unauthenticated4227 returns authentication error4228 when authenticated as user4229 returns authentication error4230 when group owners are allowed to manage LDAP4231 returns an array of ldap groups4232 when authenticated as admin4233 returns an array of ldap groups4234 GET /ldap/ldapmain/groups4235 when unauthenticated4236 returns authentication error4237 when authenticated as user4238 returns authentication error4239 when group owners are allowed to manage LDAP4240 returns an array of ldap groups4241 when authenticated as admin4242 returns an array of ldap groups4243getting Incident Management escalation policies4244 includes expected data4245 avoids N+1 queries4246 with multiple rules4247 orders rules by time and status4248Groups::LdapsController4249 POST #sync4250 transitions to the pending state4251 notifies user that the group is already pending4252 returns an error if the group does not validate4253Query.vulnerabilities.details4254 returns a vulnerability details4255SentNotificationsController4256 Unsubscribing from an epic4257 unsubscribes the user4258 sets the flash message4259 redirects to the merge request page4260Security::VulnerabilitiesController4261 GET #index4262 behaves like Security::ApplicationController4263 when the user is authenticated4264 responds with success4265 and the instance does not have an Ultimate license4266 404s4267 and the security dashboard feature is disabled4268 404s4269 when the user is not authenticated4270 redirects the user to the sign in page4271 when security dashboard feature4272 is enabled4273 is expected to render template instance_security4274 is disabled4275 is expected to respond with numeric status code not_found4276 is expected to render template errors/not_found4277Projects::ImportsController4278 POST #create4279 mirror user is not the current user4280 only assigns the current user4281getting a compliance frameworks list for a project4282 when the project has no compliance framework assigned4283 is an empty array4284 when the project has a compliance framework assigned4285 includes its name4286Projects::MergeRequests::ContentController4287 user has access to the project4288 GET cached_widget4289 renders widget MR entity as json4290Groups::UsageQuotasController4291 Pushing the `additionalRepoStorageByNamespace` feature flag to the frontend4292 when additional_repo_storage_by_namespace_enabled is false4293 is disabled4294 when additional_repo_storage_by_namespace_enabled is true4295 is enabled4296Emails::Issues4297 iterations4298 #changed_iteration_issue_email4299 shows the iteration it was changed to4300 #removed_iteration_issue_email4301 says iteration was removed4302API::Ci::Pipelines4303 DELETE /projects/:id/pipelines/:pipeline_id4304 authorized user4305 when audit events is enabled4306 does not log an audit event4307Admin::SubscriptionsController4308 GET /subscriptions4309 when the user is not admin4310 responds with 4044311 when the user an admin4312 renders the Activation Form4313CreateApiFuzzingCiConfiguration4314 returns a YAML snippet that can be used to configure API fuzzing scans for the project4315SitemapController4316 #show4317 when not Gitlab.com?4318 returns :not_found4319 when Gitlab.com?4320 with an authenticated user4321 when the sitemap generation raises an error4322 returns an xml error4323 when the sitemap was created suscessfully4324 returns sitemap4325Admin::DashboardController4326 #index4327unknown OID 28: failed to recognize type of 'relfrozenxid'. It will be treated as String.4328unknown OID 1034: failed to recognize type of 'relacl'. It will be treated as String.4329unknown OID 194: failed to recognize type of 'relpartbound'. It will be treated as String.4330 allows an admin user to access the page4331 does not allow an auditor user to access the page4332 does not allow a regular user to access the page4333Rack Attack global throttles4334 when the request is from Geo secondary4335 allows requests over the rate limit4336Oauth::ApplicationsController4337 project members4338 POST #create4339 logs the audit event4340Admin::ImpersonationsController4341 DELETE destroy4342 when signed in4343 when impersonating4344 creates an AuditEvent record4345Knapsack report was generated. Preview:4346{4347 "ee/spec/requests/api/vulnerabilities_spec.rb": 124.02327824099848,4348 "ee/spec/requests/api/projects_spec.rb": 98.71889942599955,4349 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 83.47948143100075,4350 "ee/spec/controllers/groups/epics_controller_spec.rb": 75.68053416899966,4351 "ee/spec/controllers/operations_controller_spec.rb": 65.92215028899955,4352 "ee/spec/controllers/boards/lists_controller_spec.rb": 46.32361910899999,4353 "ee/spec/mailers/notify_spec.rb": 48.14133162200051,4354 "ee/spec/requests/api/wikis_spec.rb": 40.185780293999414,4355 "ee/spec/requests/api/namespaces_spec.rb": 38.422290816000896,4356 "ee/spec/controllers/groups/clusters_controller_spec.rb": 34.783044809002604,4357 "ee/spec/requests/api/group_push_rule_spec.rb": 25.91319366099924,4358 "ee/spec/controllers/trials_controller_spec.rb": 24.374309007998818,4359 "ee/spec/controllers/projects/boards_controller_spec.rb": 28.043734120001318,4360 "ee/spec/requests/api/protected_branches_spec.rb": 26.17252532999919,4361 "ee/spec/controllers/projects/settings/operations_controller_spec.rb": 20.420721443999355,4362 "ee/spec/requests/api/vulnerability_issue_links_spec.rb": 26.436540393999167,4363 "ee/spec/requests/api/graphql/group_query_spec.rb": 20.192431731000397,4364 "ee/spec/requests/api/graphql/project/requirements_management/requirements_spec.rb": 21.521576998002274,4365 "ee/spec/requests/api/merge_requests_spec.rb": 21.871089088999724,4366 "ee/spec/requests/git_http_spec.rb": 15.677548610998201,4367 "ee/spec/controllers/groups/epic_links_controller_spec.rb": 16.76242083300167,4368 "ee/spec/requests/search_controller_spec.rb": 24.406355024999357,4369 "ee/spec/requests/api/managed_licenses_spec.rb": 10.93146321599852,4370 "ee/spec/controllers/subscriptions_controller_spec.rb": 7.353453574000014,4371 "ee/spec/controllers/groups/epic_boards_controller_spec.rb": 8.500451957999758,4372 "ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb": 11.565014117000828,4373 "ee/spec/controllers/projects/mirrors_controller_spec.rb": 11.30011140499846,4374 "ee/spec/controllers/projects/security/network_policies_controller_spec.rb": 6.925681479999184,4375 "ee/spec/requests/api/project_import_spec.rb": 13.142028335998475,4376 "ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb": 9.089947335000033,4377 "ee/spec/requests/api/deployments_spec.rb": 7.675173578001704,4378 "ee/spec/controllers/ee/projects/jobs_controller_spec.rb": 10.877571380999143,4379 "ee/spec/requests/api/graphql/mutations/epics/update_spec.rb": 7.00853017999907,4380 "ee/spec/controllers/projects/approver_groups_controller_spec.rb": 8.018657650998648,4381 "ee/spec/requests/repositories/git_http_controller_spec.rb": 5.251407140996889,4382 "ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb": 4.314979581999069,4383 "ee/spec/controllers/projects/path_locks_controller_spec.rb": 5.039089673999115,4384 "ee/spec/controllers/autocomplete_controller_spec.rb": 4.150524299999233,4385 "ee/spec/requests/api/merge_trains_spec.rb": 6.64629519999653,4386 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb": 2.6917885490001936,4387 "ee/spec/requests/user_activity_spec.rb": 7.060680334998324,4388 "ee/spec/requests/api/graphql/boards/board_lists_query_spec.rb": 7.451610103002167,4389 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 5.122798984997644,4390 "ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb": 9.65924361299767,4391 "ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb": 5.203953235999506,4392 "ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb": 2.9876232160022482,4393 "ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb": 3.7691162420014734,4394 "ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb": 4.8455458150019695,4395 "ee/spec/requests/rack_attack_spec.rb": 4.096170815999358,4396 "ee/spec/controllers/admin/emails_controller_spec.rb": 1.4197805559997505,4397 "ee/spec/requests/projects/analytics/code_reviews_controller_spec.rb": 5.375335247001203,4398 "ee/spec/requests/api/elasticsearch_indexed_namespaces_spec.rb": 1.592902216998482,4399 "ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb": 3.772393020997697,4400 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 4.117115154000203,4401 "ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb": 4.165017388000706,4402 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.405905839998013,4403 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/create_spec.rb": 3.2644824760027404,4404 "ee/spec/mailers/emails/requirements_spec.rb": 4.301165574001061,4405 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 4.608623579999403,4406 "ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb": 4.717423759000667,4407 "ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb": 3.298913162001554,4408 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 3.790662579001946,4409 "ee/spec/requests/groups/audit_events_spec.rb": 2.9204493739998725,4410 "ee/spec/controllers/boards/milestones_controller_spec.rb": 3.1560654069980956,4411 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb": 3.687980160000734,4412 "ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb": 3.4086376400009613,4413 "ee/spec/controllers/projects/security/scanned_resources_controller_spec.rb": 1.6287998539992259,4414 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 2.7197994849993847,4415 "ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 2.087791173998994,4416 "ee/spec/requests/api/graphql/group/epic/notes_spec.rb": 3.913745605001168,4417 "ee/spec/controllers/groups/todos_controller_spec.rb": 2.254020076001325,4418 "ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb": 2.7677027699974133,4419 "ee/spec/requests/api/graphql/milestone_spec.rb": 1.9871906049993413,4420 "ee/spec/controllers/repositories/git_http_controller_spec.rb": 1.6189793150006153,4421 "ee/spec/requests/projects/security/dast_profiles_controller_spec.rb": 3.745148964000691,4422 "ee/spec/controllers/ee/dashboard/projects_controller_spec.rb": 1.6184404640007415,4423 "ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb": 2.2410595969995484,4424 "ee/spec/controllers/groups/seat_usage_controller_spec.rb": 3.5307080279999354,4425 "ee/spec/requests/api/graphql/mutations/projects/lock_path_spec.rb": 1.79431714599923,4426 "ee/spec/controllers/ee/projects/autocomplete_sources_controller_spec.rb": 1.879083936000825,4427 "ee/spec/requests/api/repositories_spec.rb": 2.882138067998312,4428 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 1.6414018319992465,4429 "ee/spec/controllers/projects/settings/repository_controller_spec.rb": 2.3857571110020217,4430 "ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb": 3.1895325250006863,4431 "ee/spec/requests/api/graphql/mutations/releases/update_spec.rb": 2.4443437150002865,4432 "ee/spec/controllers/groups/security/dashboard_controller_spec.rb": 1.957496468003228,4433 "ee/spec/controllers/ee/admin/sessions_controller_spec.rb": 0.9494336470015696,4434 "ee/spec/requests/groups/group_members_controller_spec.rb": 2.7604437509980926,4435 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 1.855213499002275,4436 "ee/spec/requests/api/graphql/vulnerabilities/external_issue_links_spec.rb": 2.1824609040013456,4437 "ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb": 1.540308724001079,4438 "ee/spec/mailers/emails/user_cap_spec.rb": 0.4086726659988926,4439 "ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb": 1.579216838999855,4440 "ee/spec/controllers/admin/audit_logs_controller_spec.rb": 1.210654719001468,4441 "ee/spec/requests/api/graphql/project/dast_profile_spec.rb": 1.541930493000109,4442 "ee/spec/requests/api/internal/base_spec.rb": 5.504331304000516,4443 "ee/spec/requests/api/graphql/dora/dora_spec.rb": 1.5483838020008989,4444 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/create_spec.rb": 1.3569548220002616,4445 "ee/spec/requests/api/ldap_spec.rb": 1.0083370009997452,4446 "ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb": 1.6484804620013165,4447 "ee/spec/controllers/groups/ldaps_controller_spec.rb": 1.4559561630012468,4448 "ee/spec/requests/api/graphql/vulnerabilities/details_spec.rb": 1.8217267719992378,4449 "ee/spec/controllers/ee/sent_notifications_controller_spec.rb": 1.3102818080005818,4450 "ee/spec/controllers/security/vulnerabilities_controller_spec.rb": 1.176670632998139,4451 "ee/spec/controllers/projects/imports_controller_spec.rb": 1.4479899030011438,4452 "ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb": 1.2568432840016612,4453 "ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb": 1.3513306839995494,4454 "ee/spec/controllers/groups/usage_quotas_controller_spec.rb": 0.8867782239976805,4455 "ee/spec/mailers/ee/emails/issues_spec.rb": 0.8835956850016373,4456 "ee/spec/requests/api/ci/pipelines_spec.rb": 1.1055721500015352,4457 "ee/spec/requests/admin/subscriptions_controller_spec.rb": 0.9866986630004249,4458 "ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb": 0.8820003140026529,4459 "ee/spec/controllers/sitemap_controller_spec.rb": 0.3020648469973821,4460 "ee/spec/controllers/admin/dashboard_controller_spec.rb": 0.855305788001715,4461 "ee/spec/requests/rack_attack_global_spec.rb": 0.55453660999774,4462 "ee/spec/controllers/oauth/applications_controller_spec.rb": 0.4563094400000409,4463 "ee/spec/controllers/admin/impersonations_controller_spec.rb": 0.492795616999501364464}4465Knapsack global time execution for tests: 21m 08s4466Pending: (Failures listed here are expected and do not affect your suite's status)4467 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4468 # Temporarily skipped with xcontext4469 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234470 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 pages4471 # Temporarily skipped with xcontext4472 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384473 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 content4474 # Temporarily skipped with xcontext4475 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104476 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 content4477 # Temporarily skipped with xcontext4478 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234479 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 pages4480 # Temporarily skipped with xcontext4481 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384482 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 content4483 # Temporarily skipped with xcontext4484 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104485 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 content4486 # Temporarily skipped with xcontext4487 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234488 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4489 # Temporarily skipped with xcontext4490 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234491 9) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns the wiki page4492 # Temporarily skipped with xcontext4493 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:474494 10) 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 Found4495 # Temporarily skipped with xcontext4496 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154497 11) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns the wiki page4498 # Temporarily skipped with xcontext4499 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:474500 12) 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 Found4501 # Temporarily skipped with xcontext4502 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154503 13) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4504 # Temporarily skipped with xcontext4505 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234506 14) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page4507 # Temporarily skipped with xcontext4508 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:584509 15) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty title4510 # Temporarily skipped with xcontext4511 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714512 16) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty content4513 # Temporarily skipped with xcontext4514 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714515 17) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page4516 # Temporarily skipped with xcontext4517 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:584518 18) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty title4519 # Temporarily skipped with xcontext4520 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714521 19) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty content4522 # Temporarily skipped with xcontext4523 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714524 20) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4525 # Temporarily skipped with xcontext4526 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234527 21) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page4528 # Temporarily skipped with xcontext4529 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:844530 22) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing title4531 # Temporarily skipped with xcontext4532 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964533 23) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing content4534 # Temporarily skipped with xcontext4535 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964536 24) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing format4537 # Temporarily skipped with xcontext4538 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964539 25) 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 Found4540 # Temporarily skipped with xcontext4541 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154542 26) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page4543 # Temporarily skipped with xcontext4544 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:844545 27) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing title4546 # Temporarily skipped with xcontext4547 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964548 28) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing content4549 # Temporarily skipped with xcontext4550 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964551 29) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing format4552 # Temporarily skipped with xcontext4553 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964554 30) 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 Found4555 # Temporarily skipped with xcontext4556 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154557 31) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4558 # Temporarily skipped with xcontext4559 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234560 32) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden4561 # Temporarily skipped with xcontext4562 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1074563 33) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content4564 # Temporarily skipped with xcontext4565 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314566 34) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found4567 # Temporarily skipped with xcontext4568 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234569 35) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer pushes attachment to the wiki repository4570 # Temporarily skipped with xcontext4571 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1374572 36) 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 file4573 # Temporarily skipped with xcontext4574 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1464575 37) 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 file4576 # Temporarily skipped with xcontext4577 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564578 38) 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 uploads4579 # Temporarily skipped with xcontext4580 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1664581 39) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer pushes attachment to the wiki repository4582 # Temporarily skipped with xcontext4583 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1374584 40) 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 file4585 # Temporarily skipped with xcontext4586 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1464587 41) 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 file4588 # Temporarily skipped with xcontext4589 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564590 42) 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 uploads4591 # Temporarily skipped with xcontext4592 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1664593Finished in 21 minutes 13 seconds (files took 57.66 seconds to load)45941888 examples, 0 failures, 42 pending4595Tue 26 Oct 2021 09:43:39 PM UTC4597Not uploading cache ruby-gems-v1-5 due to policy4598Not uploading cache gitaly-ruby-gems-v1-5 due to policy4600Uploading artifacts...4601coverage/: found 5 matching files and directories 4602WARNING: crystalball/: no matching files 4603WARNING: deprecations/: no matching files 4604knapsack/: found 3 matching files and directories 4605rspec_flaky/: found 4 matching files and directories 4606rspec_profiling/: found 1 matching files and directories 4607WARNING: tmp/capybara/: no matching files 4608tmp/memory_test/: found 2 matching files and directories 4609log/*.log: found 18 matching files and directories 4610Uploading artifacts as "archive" to coordinator... ok id=1718320327 responseStatus=201 Created token=Wgyezsfx4611Uploading artifacts...4612junit_rspec.xml: found 1 matching files and directories 4613Uploading artifacts as "junit" to coordinator... ok id=1718320327 responseStatus=201 Created token=Wgyezsfx4615Job succeeded